diff --git a/package.json b/package.json index f2d88bd0..85326d76 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "build:dev": "webpack --config webpack.dev.js", "test": "jest --config=jest.config.js", "profile": "webpack --profile --json > stats.json --config webpack.prod.js", - "profile:dev": "webpack --profile --json > stats.json --config webpack.dev.js" + "profile:dev": "webpack --profile --json > stats.json --config webpack.dev.js", + "whybundled": "npm run profile; whybundled stats.json" }, "author": "", "license": "ISC", diff --git a/public/b728a346dae6ae3292c0.worker.js b/public/608dbdcf64455bd4cc24.worker.js similarity index 100% rename from public/b728a346dae6ae3292c0.worker.js rename to public/608dbdcf64455bd4cc24.worker.js diff --git a/public/b728a346dae6ae3292c0.worker.js.gz b/public/608dbdcf64455bd4cc24.worker.js.gz similarity index 100% rename from public/b728a346dae6ae3292c0.worker.js.gz rename to public/608dbdcf64455bd4cc24.worker.js.gz diff --git a/public/9ec5bf231b8216403a20.worker.js.gz b/public/9ec5bf231b8216403a20.worker.js.gz deleted file mode 100644 index 5bd82c4e..00000000 Binary files a/public/9ec5bf231b8216403a20.worker.js.gz and /dev/null differ diff --git a/public/assets/img/msg-tail-left-blur.svg b/public/assets/img/msg-tail-left-blur.svg new file mode 100644 index 00000000..97f87a81 --- /dev/null +++ b/public/assets/img/msg-tail-left-blur.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/img/msg-tail-right-blur.svg b/public/assets/img/msg-tail-right-blur.svg new file mode 100644 index 00000000..718dcd00 --- /dev/null +++ b/public/assets/img/msg-tail-right-blur.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/b601bf8645daa9db7023.worker.js b/public/b601bf8645daa9db7023.worker.js new file mode 100644 index 00000000..e9880bec --- /dev/null +++ b/public/b601bf8645daa9db7023.worker.js @@ -0,0 +1,13 @@ +!function(e){var t={};function a(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,a),s.l=!0,s.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)a.d(n,s,function(t){return e[t]}.bind(null,s));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=19)}([function(e,t,a){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const n=a(5);var s=Date.now();function i(e){return new n.BigInteger(e.toString(16),16)}function r(e){return new n.BigInteger(e,10)}function p(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function o(e,t){for(var a=atob(e),n=a.length,s=Math.ceil(n/1024),i=new Array(s),r=0;r{s.append(e)}),a=s.getBlob(n)}return a}function m(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function y(e){return new Uint8Array(e).buffer}function c(e){return void 0!==e.buffer?e:new Uint8Array(e)}function l(e,t){var a=e.byteLength||e.length,n=t.byteLength||t.length,s=new Uint8Array(a+n);return s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),s.set(t instanceof ArrayBuffer?new Uint8Array(t):t,a),s.buffer}function u(e){var t=r(e).divideAndRemainder(i(4294967296));return[t[0].intValue(),t[1].intValue()]}function g(e){for(var t=e.words,a=e.sigBytes,n=[],s=0;s>>2]>>>24-s%4*8&255);return n}t.dT=function(){return"["+((Date.now()-s)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=i,t.bigStringInt=r,t.bytesToHex=function(e){e=e||[];for(var t=[],a=0;a>>t&24),2!==t&&n-i!=1||(a+=String.fromCharCode(p(s>>>18&63),p(s>>>12&63),p(s>>>6&63),p(63&s)),s=0);return a.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=p,t.base64ToBlob=o,t.dataUrlToBlob=function(e){var t=e.split(",");return o(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=d,t.blobSafeMimeType=m,t.bytesCmp=function(e,t){var a=e.length;if(a!=t.length)return!1;for(var n=0;nt);)a=a.slice(1);return a},t.bytesToArrayBuffer=y,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:y(e)},t.convertToUint8Array=c,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],a=0,n=(e=c(e)).length;at+=e.byteLength||e.length);var a=new Uint8Array(t);let n=0;return e.forEach(e=>{a.set(e instanceof ArrayBuffer?new Uint8Array(e):e,n),n+=e.byteLength||e.length}),a},t.longToInts=u,t.bytesFromWords=g,t.bytesFromWordss=function(e){for(var t=[],a=0;a<4*e.length;a++)t.push(e[a>>>2]>>>24-a%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var a,n=t.length,s=[];for(a=0;a>>2]|=t[a]<<24-a%4*8;return new Uint32Array(s)},t.longToBytes=function(e){return g({words:u(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return i(e).shiftLeft(32).add(i(t)).toString(10)},t.addPadding=function(e,t=16,a,s=!1,i=!1){let r=t-(e.byteLength||e.length)%t;if(r>0&&(ri(a(13))).then(e=>{Object.assign(this.utils,{"sha1-hash":e.sha1HashSync,"sha256-hash":e.sha256HashSync,pbkdf2:e.hash_pbkdf2,"aes-encrypt":e.aesEncryptSync,"aes-decrypt":e.aesDecryptSync,"rsa-encrypt":e.rsaEncrypt,factorize:e.pqPrimeFactorization,"mod-pow":e.bytesModPow,gzipUncompress:e.gzipUncompress})}),Promise.resolve().then(()=>i(a(26))).then(e=>{this.utils.computeSRP=e.computeSRP})])}finalizeTask(e,t){let a=this.awaiting[e];void 0!==a&&(this.debug&&console.log(p.dT(),"CW done",a.taskName,t),a.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.debug&&console.log(p.dT(),"CW start",e,t),Promise.resolve(this.utils[e](...t))}releasePending(){this.webWorker&&(this.pending.forEach(e=>{this.webWorker.postMessage(e)}),this.pending.length=0)}}const m=new d;t.default=m},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=a(4),s=a(11);class i{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var a=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),a=1==e.length);var n,s,i,r=[],p=!0,o=this.storageGetPrefix();for(s=0;s{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(a,n)}catch(e){this.useLs=!1}else s[a]=n;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var a,n,s=this.storageGetPrefix();for(a=0;a{},n.Modes.test&&this.setPrefix("t_"),s.isWorker||(this.configStorage=new i)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((a,n)=>{if(s.isWorker){const n=this.taskID++;this.tasks[n]=a;const i={useLs:!0,task:e,taskID:n,args:t};s.notifySomeone(i)}else{let n=Array.prototype.slice.call(t);n.push(e=>{a(e)}),this.configStorage[e].apply(this.configStorage,n)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,a){(function(){var t;function a(e,t,a){null!=e&&("number"==typeof e?this.fromNumber(e,t,a):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function n(){return new a(null)}var s="undefined"!=typeof navigator;s&&"Microsoft Internet Explorer"==navigator.appName?(a.prototype.am=function(e,t,a,n,s,i){for(var r=32767&t,p=t>>15;--i>=0;){var o=32767&this[e],d=this[e++]>>15,m=p*o+d*r;s=((o=r*o+((32767&m)<<15)+a[n]+(1073741823&s))>>>30)+(m>>>15)+p*d+(s>>>30),a[n++]=1073741823&o}return s},t=30):s&&"Netscape"!=navigator.appName?(a.prototype.am=function(e,t,a,n,s,i){for(;--i>=0;){var r=t*this[e++]+a[n]+s;s=Math.floor(r/67108864),a[n++]=67108863&r}return s},t=26):(a.prototype.am=function(e,t,a,n,s,i){for(var r=16383&t,p=t>>14;--i>=0;){var o=16383&this[e],d=this[e++]>>14,m=p*o+d*r;s=((o=r*o+((16383&m)<<14)+a[n]+s)>>28)+(m>>14)+p*d,a[n++]=268435455&o}return s},t=28),a.prototype.DB=t,a.prototype.DM=(1<>>16)&&(e=t,a+=16),0!=(t=e>>8)&&(e=t,a+=8),0!=(t=e>>4)&&(e=t,a+=4),0!=(t=e>>2)&&(e=t,a+=2),0!=(t=e>>1)&&(e=t,a+=1),a}function c(e){this.m=e}function l(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function b(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function v(){}function w(e){return e}function P(e){this.r2=n(),this.q3=n(),a.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}c.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},c.prototype.revert=function(e){return e},c.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},c.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},c.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},l.prototype.convert=function(e){var t=n();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(a.ZERO)>0&&this.m.subTo(t,t),t},l.prototype.revert=function(e){var t=n();return e.copyTo(t),this.reduce(t),t},l.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[a=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[a]>=e.DV;)e[a]-=e.DV,e[++a]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},l.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},l.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},a.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},a.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},a.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(256==t)n=8;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)return void this.fromRadix(e,t);n=2}this.t=0,this.s=0;for(var s=e.length,i=!1,r=0;--s>=0;){var p=8==n?255&e[s]:d(e,s);p<0?"-"==e.charAt(s)&&(i=!0):(i=!1,0==r?this[this.t++]=p:r+n>this.DB?(this[this.t-1]|=(p&(1<>this.DB-r):this[this.t-1]|=p<=this.DB&&(r-=this.DB))}8==n&&0!=(128&e[0])&&(this.s=-1,r>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},a.prototype.dlShiftTo=function(e,t){var a;for(a=this.t-1;a>=0;--a)t[a+e]=this[a];for(a=e-1;a>=0;--a)t[a]=0;t.t=this.t+e,t.s=this.s},a.prototype.drShiftTo=function(e,t){for(var a=e;a=0;--a)t[a+r+1]=this[a]>>s|p,p=(this[a]&i)<=0;--a)t[a]=0;t[r]=p,t.t=this.t+r+1,t.s=this.s,t.clamp()},a.prototype.rShiftTo=function(e,t){t.s=this.s;var a=Math.floor(e/this.DB);if(a>=this.t)t.t=0;else{var n=e%this.DB,s=this.DB-n,i=(1<>n;for(var r=a+1;r>n;n>0&&(t[this.t-a-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;a>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[a++]=this.DV+n:n>0&&(t[a++]=n),t.t=a,t.clamp()},a.prototype.multiplyTo=function(e,t){var n=this.abs(),s=e.abs(),i=n.t;for(t.t=i+s.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[a]=0;for(a=0;a=t.DV&&(e[a+t.t]-=t.DV,e[a+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(a,t[a],e,2*a,0,1)),e.s=0,e.clamp()},a.prototype.divRemTo=function(e,t,s){var i=e.abs();if(!(i.t<=0)){var r=this.abs();if(r.t0?(i.lShiftTo(m,p),r.lShiftTo(m,s)):(i.copyTo(p),r.copyTo(s));var c=p.t,l=p[c-1];if(0!=l){var u=l*(1<1?p[c-2]>>this.F2:0),g=this.FV/u,h=(1<=0&&(s[s.t++]=1,s.subTo(v,s)),a.ONE.dlShiftTo(c,v),v.subTo(p,p);p.t=0;){var w=s[--_]==l?this.DM:Math.floor(s[_]*g+(s[_-1]+f)*h);if((s[_]+=p.am(0,w,s,b,0,c))0&&s.rShiftTo(m,s),o<0&&a.ZERO.subTo(s,s)}}},a.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},a.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},a.prototype.exp=function(e,t){if(e>4294967295||e<1)return a.ONE;var s=n(),i=n(),r=t.convert(this),p=y(e)-1;for(r.copyTo(s);--p>=0;)if(t.sqrTo(s,i),(e&1<0)t.mulTo(i,r,s);else{var o=s;s=i,i=o}return t.revert(s)},a.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var a,n=(1<0)for(p>p)>0&&(s=!0,i=o(a));r>=0;)p>(p+=this.DB-t)):(a=this[r]>>(p-=t)&n,p<=0&&(p+=this.DB,--r)),a>0&&(s=!0),s&&(i+=o(a));return s?i:"0"},a.prototype.negate=function(){var e=n();return a.ZERO.subTo(this,e),e},a.prototype.abs=function(){return this.s<0?this.negate():this},a.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var a=this.t;if(0!=(t=a-e.t))return this.s<0?-t:t;for(;--a>=0;)if(0!=(t=this[a]-e[a]))return t;return 0},a.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)},a.prototype.mod=function(e){var t=n();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(a.ZERO)>0&&e.subTo(t,t),t},a.prototype.modPowInt=function(e,t){var a;return a=e<256||t.isEven()?new c(t):new l(t),this.exp(e,a)},a.ZERO=m(0),a.ONE=m(1),v.prototype.convert=w,v.prototype.revert=w,v.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a)},v.prototype.sqrTo=function(e,t){e.squareTo(t)},P.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=n();return e.copyTo(t),this.reduce(t),t},P.prototype.revert=function(e){return e},P.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},P.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},P.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var S,k,I,M=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],A=(1<<26)/M[M.length-1];function C(){var e;e=(new Date).getTime(),k[I++]^=255&e,k[I++]^=e>>8&255,k[I++]^=e>>16&255,k[I++]^=e>>24&255,I>=E&&(I-=E)}if(a.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},a.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),a=Math.pow(e,t),s=m(a),i=n(),r=n(),p="";for(this.divRemTo(s,i,r);i.signum()>0;)p=(a+r.intValue()).toString(e).substr(1)+p,i.divRemTo(s,i,r);return r.intValue().toString(e)+p},a.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var n=this.chunkSize(t),s=Math.pow(t,n),i=!1,r=0,p=0,o=0;o=n&&(this.dMultiply(s),this.dAddOffset(p,0),r=0,p=0))}r>0&&(this.dMultiply(Math.pow(t,r)),this.dAddOffset(p,0)),i&&a.ZERO.subTo(this,this)},a.prototype.fromNumber=function(e,t,n){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,n),this.testBit(e-1)||this.bitwiseTo(a.ONE.shiftLeft(e-1),g,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(a.ONE.shiftLeft(e-1),this);else{var s=new Array,i=7&e;s.length=1+(e>>3),t.nextBytes(s),i>0?s[0]&=(1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;a>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[a++]=n:n<-1&&(t[a++]=this.DV+n),t.t=a,t.clamp()},a.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},a.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},a.prototype.multiplyLowerTo=function(e,t,a){var n,s=Math.min(this.t+e.t,t);for(a.s=0,a.t=s;s>0;)a[--s]=0;for(n=a.t-this.t;s=0;)a[n]=0;for(n=Math.max(t-this.t,0);n0)if(0==t)a=this[0]%e;else for(var n=this.t-1;n>=0;--n)a=(t*a+this[n])%e;return a},a.prototype.millerRabin=function(e){var t=this.subtract(a.ONE),s=t.getLowestSetBit();if(s<=0)return!1;var i=t.shiftRight(s);(e=e+1>>1)>M.length&&(e=M.length);for(var r=n(),p=0;p>24},a.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},a.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},a.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var a,n=this.DB-e*this.DB%8,s=0;if(e-- >0)for(n>n)!=(this.s&this.DM)>>n&&(t[s++]=a|this.s<=0;)n<8?(a=(this[e]&(1<>(n+=this.DB-8)):(a=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&a)&&(a|=-256),0==s&&(128&this.s)!=(128&a)&&++s,(s>0||a!=this.s)&&(t[s++]=a);return t},a.prototype.equals=function(e){return 0==this.compareTo(e)},a.prototype.min=function(e){return this.compareTo(e)<0?this:e},a.prototype.max=function(e){return this.compareTo(e)>0?this:e},a.prototype.and=function(e){var t=n();return this.bitwiseTo(e,u,t),t},a.prototype.or=function(e){var t=n();return this.bitwiseTo(e,g,t),t},a.prototype.xor=function(e){var t=n();return this.bitwiseTo(e,h,t),t},a.prototype.andNot=function(e){var t=n();return this.bitwiseTo(e,f,t),t},a.prototype.not=function(){for(var e=n(),t=0;t=this.t?0!=this.s:0!=(this[t]&1<1){var g=n();for(s.sqrTo(p[1],g);o<=u;)p[o]=n(),s.mulTo(g,p[o-2],p[o]),o+=2}var h,f,_=e.t-1,b=!0,v=n();for(i=y(e[_])-1;_>=0;){for(i>=d?h=e[_]>>i-d&u:(h=(e[_]&(1<0&&(h|=e[_-1]>>this.DB+i-d)),o=a;0==(1&h);)h>>=1,--o;if((i-=o)<0&&(i+=this.DB,--_),b)p[h].copyTo(r),b=!1;else{for(;o>1;)s.sqrTo(r,v),s.sqrTo(v,r),o-=2;o>0?s.sqrTo(r,v):(f=r,r=v,v=f),s.mulTo(v,p[h],r)}for(;_>=0&&0==(e[_]&1<=0?(n.subTo(s,n),t&&i.subTo(p,i),r.subTo(o,r)):(s.subTo(n,s),t&&p.subTo(i,p),o.subTo(r,o))}return 0!=s.compareTo(a.ONE)?a.ZERO:o.compareTo(e)>=0?o.subtract(e):o.signum()<0?(o.addTo(e,o),o.signum()<0?o.add(e):o):o},a.prototype.pow=function(e){return this.exp(e,new v)},a.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),a=e.s<0?e.negate():e.clone();if(t.compareTo(a)<0){var n=t;t=a,a=n}var s=t.getLowestSetBit(),i=a.getLowestSetBit();if(i<0)return t;for(s0&&(t.rShiftTo(i,t),a.rShiftTo(i,a));t.signum()>0;)(s=t.getLowestSetBit())>0&&t.rShiftTo(s,t),(s=a.getLowestSetBit())>0&&a.rShiftTo(s,a),t.compareTo(a)>=0?(t.subTo(a,t),t.rShiftTo(1,t)):(a.subTo(t,a),a.rShiftTo(1,a));return i>0&&a.lShiftTo(i,a),a},a.prototype.isProbablePrime=function(e){var t,a=this.abs();if(1==a.t&&a[0]<=M[M.length-1]){for(t=0;t>>8,k[I++]=255&T;I=0,C()}function R(){if(null==S){for(C(),(S=new U).init(k),I=0;I + * https://github.com/zhukov/webogram/blob/master/LICENSE + */var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TLSerialization=t.TLDeserialization=void 0;const s=a(0),i=n(a(12)),r=a(13),p=+i.default.API.constructors.find(e=>"boolFalse"==e.predicate).id>>>0,o=+i.default.API.constructors.find(e=>"boolTrue"==e.predicate).id>>>0,d=+i.default.API.constructors.find(e=>"vector"==e.predicate).id>>>0,m=+i.default.MTProto.constructors.find(e=>"gzip_packed"==e.predicate).id>>>0;t.TLSerialization=class{constructor(e={}){this.maxLength=2048,this.offset=0,this.mtproto=!1,this.debug=!1,this.maxLength=e.startMaxLength||2048,this.mtproto=e.mtproto||!1,this.createBuffer()}createBuffer(){this.buffer=new ArrayBuffer(this.maxLength),this.intView=new Int32Array(this.buffer),this.byteView=new Uint8Array(this.buffer)}getArray(){let e=new ArrayBuffer(this.offset),t=new Int32Array(e);return t.set(this.intView.subarray(0,this.offset/4)),t}getBuffer(){return this.getArray().buffer}getBytes(e){if(e){let e=new ArrayBuffer(this.offset),t=new Uint8Array(e);return t.set(this.byteView.subarray(0,this.offset)),t}let t=[];for(var a=0;a>>",e.toString(16),e,t),this.checkLength(4),this.intView[this.offset/4]=e,this.offset+=4}storeInt(e,t){this.writeInt(e,(t||"")+":int")}storeBool(e,t){e?this.writeInt(o,(t||"")+":bool"):this.writeInt(p,(t||"")+":bool")}storeLongP(e,t,a){this.writeInt(t,(a||"")+":long[low]"),this.writeInt(e,(a||"")+":long[high]")}storeLong(e,t){if(Array.isArray(e))return 2==e.length?this.storeLongP(e[0],e[1],t):this.storeIntBytes(e,64,t);"string"!=typeof e&&(e=e?e.toString():"0");var a=s.bigStringInt(e).divideAndRemainder(s.bigint(4294967296));this.writeInt(a[1].intValue(),(t||"")+":long[low]"),this.writeInt(a[0].intValue(),(t||"")+":long[high]")}storeDouble(e,t){var a=new ArrayBuffer(8),n=new Int32Array(a);new Float64Array(a)[0]=e,this.writeInt(n[0],(t||"")+":double[low]"),this.writeInt(n[1],(t||"")+":double[high]")}storeString(e,t){this.debug&&console.log(">>>",e,(t||"")+":string"),void 0===e&&(e="");var a=unescape(encodeURIComponent(e));this.checkLength(a.length+8);var n=a.length;n<=253?this.byteView[this.offset++]=n:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&n,this.byteView[this.offset++]=(65280&n)>>8,this.byteView[this.offset++]=(16711680&n)>>16);for(var s=0;s>>",s.bytesToHex(e),(t||"")+":bytes");var a=e.byteLength||e.length;for(this.checkLength(a+8),a<=253?this.byteView[this.offset++]=a:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&a,this.byteView[this.offset++]=(65280&a)>>8,this.byteView[this.offset++]=(16711680&a)>>16),this.byteView.set(e,this.offset),this.offset+=a;this.offset%4;)this.byteView[this.offset++]=0}storeIntBytes(e,t,a){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n=e.length;if(t%32||8*n!=t)throw new Error("Invalid bits: "+t+", "+e.length);this.debug&&console.log(">>>",s.bytesToHex(e),(a||"")+":int"+t),this.checkLength(n),this.byteView.set(e,this.offset),this.offset+=n}storeRawBytes(e,t){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var a=e.length;this.debug&&console.log(">>>",s.bytesToHex(e),t||""),this.checkLength(a),this.byteView.set(e,this.offset),this.offset+=a}storeMethod(e,t){var a,n,s,r,p,o=this.mtproto?i.default.MTProto:i.default.API,d=!1;for(s=0;sthis.byteView.byteLength)throw new Error("Invalid raw bytes length: "+e+", buffer len: "+this.byteView.byteLength);if(t){let t=new Uint8Array(e);return t.set(this.byteView.subarray(this.offset,this.offset+e)),this.offset+=e,t}for(var n=[],i=0;i0)for(var p=e.substr(7,e.length-8),o=0;o=97&&e.charAt(0)<=122){for(o=0;ofetch(this.url,{method:"POST",body:e}).then(e=>{if(200!=e.status)throw e.arrayBuffer().then(e=>{console.log("not 200",new TextDecoder("utf-8").decode(new Uint8Array(i.bytesFromArrayBuffer(e))))}),e;return e.arrayBuffer().then(e=>new Uint8Array(i.bytesFromArrayBuffer(e)))})}}t.default=r},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiManager=void 0;const i=s(a(3)),r=a(0),p=s(a(6)),o=a(29),d=s(a(30)),m=a(4),y=s(a(8)),c=s(a(9)),l=a(1);class u{constructor(){this.cachedNetworkers={},this.cachedUploadNetworkers={},this.cachedExportPromise={},this.gettingNetworkers={},this.baseDcID=0,this.telegramMeNotified=!1,this.log=l.logger("API")}telegramMeNotify(e){this.telegramMeNotified!==e&&(this.telegramMeNotified=e,o.telegramMeWebService.setAuthorized(this.telegramMeNotified))}setUserAuth(e){var t=Object.assign({dcID:this.baseDcID},e);i.default.set({dc:this.baseDcID,user_auth:t}),this.telegramMeNotify(!0)}setBaseDcID(e){this.baseDcID=e}logOut(){return n(this,void 0,void 0,(function*(){let e=[],t=m.Modes.test?"t_dc":"dc";for(let a=1;a<=5;a++)e.push(t+a+"_auth_key");let a=yield i.default.get(e),n=[];for(let e=0;e{i.default.remove("dc","user_auth","stickerSets"),this.baseDcID=0,this.telegramMeNotify(!1),this.mtpClearStorage()},t=>{e.push("dc","user_auth","stickerSets"),i.default.remove(e),this.baseDcID=0,t.handled=!0,this.telegramMeNotify(!1),this.mtpClearStorage()})}))}mtpClearStorage(){for(var e=["user_auth","t_user_auth","dc","t_dc"],t=1;t<=5;t++)e.push("dc"+t+"_auth_key"),e.push("dc"+t+"_auth_keyID"),e.push("dc"+t+"_server_salt"),e.push("t_dc"+t+"_auth_key"),e.push("t_dc"+t+"_auth_keyID"),e.push("t_dc"+t+"_server_salt");i.default.noPrefix(),i.default.get(e).then(t=>{i.default.clear().then(()=>{var a={};return e.forEach((e,n)=>{var s=t[n];!1!==s&&void 0!==s&&(a[e]=s)}),i.default.noPrefix(),i.default.set(a)})})}getNetworker(e,t){return n(this,void 0,void 0,(function*(){const a=(t.fileUpload||t.fileDownload)&&(y.default.chooseServer(e,!0)instanceof c.default||m.Modes.multipleConnections),s=a?this.cachedUploadNetworkers:this.cachedNetworkers;if(!e)throw new Error("get Networker without dcID");if(void 0!==s[e])return s[e];const o=e+"-"+ +a;if(this.gettingNetworkers[o])return this.gettingNetworkers[o];const l="dc"+e+"_auth_key",u="dc"+e+"_auth_keyID",g="dc"+e+"_server_salt";return this.gettingNetworkers[o]=i.default.get([l,u,g]).then(([a,m,y])=>n(this,void 0,void 0,(function*(){let n;if(a&&512==a.length){y&&16==y.length||(y="AAAAAAAAAAAAAAAA");const s=r.bytesFromHex(a),i=new Uint8Array(r.bytesFromHex(m)),o=r.bytesFromHex(y);n=p.default.getNetworker(e,s,i,o,t)}else try{const a=yield d.default.auth(e),s={[l]:r.bytesToHex(a.authKey),[u]:a.authKeyID.hex,[g]:r.bytesToHex(a.serverSalt)};i.default.set(s),n=p.default.getNetworker(e,a.authKey,a.authKeyID,a.serverSalt,t)}catch(e){throw this.log("Get networker error",e,e.stack),delete this.gettingNetworkers[o],e}return delete this.gettingNetworkers[o],s[e]=n})))}))}invokeApi(e,t={},a={}){return new Promise((n,s)=>{let p=t=>{t?r.isObject(t)||(t={message:t}):t={type:"ERROR_EMPTY"},s(t),a.ignoreErrors||(406==t.code&&(t.handled=!0),a.noErrorBox||(t.input=e,t.stack=y||t.originalError&&t.originalError.stack||t.stack||(new Error).stack,setTimeout(()=>{t.handled||(401==t.code&&this.logOut(),t.handled=!0)},100)))};var o,d,y=(new Error).stack||"empty stack",c=s=>(d=s).wrapApiCall(e,t,a).then(n,r=>{if(this.log.error("Error",r.code,r.type,this.baseDcID,o),401==r.code&&this.baseDcID==o)i.default.remove("dc","user_auth"),this.telegramMeNotify(!1),p(r);else if(401==r.code&&this.baseDcID&&o!=this.baseDcID){if(void 0===this.cachedExportPromise[o]){let e=new Promise((e,t)=>{this.invokeApi("auth.exportAuthorization",{dc_id:o},{noErrorBox:!0}).then(a=>{this.invokeApi("auth.importAuthorization",{id:a.id,bytes:a.bytes},{dcID:o,noErrorBox:!0}).then(e,t)},t)});this.cachedExportPromise[o]=e}this.cachedExportPromise[o].then(()=>{(d=s).wrapApiCall(e,t,a).then(n,p)},p)}else if(303==r.code){var m=r.type.match(/^(PHONE_MIGRATE_|NETWORK_MIGRATE_|USER_MIGRATE_)(\d+)/)[2];m!=o&&(a.dcID?a.dcID=m:i.default.set({dc:this.baseDcID=m}),this.getNetworker(m,a).then(s=>{s.wrapApiCall(e,t,a).then(n,p)},p))}else if(a.rawError||420!=r.code)if(a.rawError||500!=r.code&&"MSG_WAIT_FAILED"!=r.type)p(r);else{var y=Date.now();if(a.stopTime){if(y>=a.stopTime)return p(r)}else a.stopTime=y+1e3*(void 0!==a.timeout?a.timeout:10);a.waitTime=a.waitTime?Math.min(60,1.5*a.waitTime):1,setTimeout(()=>{c(d)},1e3*a.waitTime)}else{var l=r.type.match(/^FLOOD_WAIT_(\d+)/)[1]||10;if(l>(void 0!==a.timeout?a.timeout:60))return p(r);setTimeout(()=>{c(d)},1e3*l)}});(o=a.dcID||this.baseDcID)?this.getNetworker(o,a).then(c,p):i.default.get("dc").then(e=>{this.getNetworker(this.baseDcID=o=e||m.App.baseDcID,a).then(c,p)})})}getUserID(){return i.default.get("user_auth").then(e=>(this.telegramMeNotify(e&&e.id>0||!1),e.id||0))}}t.ApiManager=u,t.default=new u},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const n=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(a=>{a.length&&a.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},s=(...e)=>{self.postMessage(...e)},i=()=>{};t.notifySomeone=t.isServiceWorker?n.bind(null,!1):t.isWebWorker?s:i,t.notifyAll=t.isServiceWorker?n.bind(null,!0):t.isWebWorker?s:i},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={MTProto:{constructors:[{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"85337187",predicate:"resPQ",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"pq",type:"bytes"},{name:"server_public_key_fingerprints",type:"Vector"}],type:"ResPQ"},{id:2211011308,predicate:"p_q_inner_data",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"}],type:"P_Q_inner_data"},{id:2851430293,predicate:"p_q_inner_data_dc",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"dc",type:"int"}],type:"P_Q_inner_data"},{id:"1013613780",predicate:"p_q_inner_data_temp",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"expires_in",type:"int"}],type:"P_Q_inner_data"},{id:"1459478408",predicate:"p_q_inner_data_temp_dc",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"dc",type:"int"},{name:"expires_in",type:"int"}],type:"P_Q_inner_d"},{id:"2043348061",predicate:"server_DH_params_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash",type:"int128"}],type:"Server_DH_Params"},{id:3504867164,predicate:"server_DH_params_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_answer",type:"bytes"}],type:"Server_DH_Params"},{id:3045658042,predicate:"server_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"g",type:"int"},{name:"dh_prime",type:"bytes"},{name:"g_a",type:"bytes"},{name:"server_time",type:"int"}],type:"Server_DH_inner_data"},{id:"1715713620",predicate:"client_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"retry_id",type:"long"},{name:"g_b",type:"bytes"}],type:"Client_DH_Inner_Data"},{id:"1003222836",predicate:"dh_gen_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash1",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"1188831161",predicate:"dh_gen_retry",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash2",type:"int128"}],type:"Set_client_DH_params_answer"},{id:2795351554,predicate:"dh_gen_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash3",type:"int128"}],type:"Set_client_DH_params_answer"},{id:4082920705,predicate:"rpc_result",params:[{name:"req_msg_id",type:"long"},{name:"result",type:"Object"}],type:"RpcResult"},{id:"558156313",predicate:"rpc_error",params:[{name:"error_code",type:"int"},{name:"error_message",type:"string"}],type:"RpcError"},{id:"1579864942",predicate:"rpc_answer_unknown",params:[],type:"RpcDropAnswer"},{id:3447252358,predicate:"rpc_answer_dropped_running",params:[],type:"RpcDropAnswer"},{id:2755319991,predicate:"rpc_answer_dropped",params:[{name:"msg_id",type:"long"},{name:"seq_no",type:"int"},{name:"bytes",type:"int"}],type:"RpcDropAnswer"},{id:"155834844",predicate:"future_salt",params:[{name:"valid_since",type:"int"},{name:"valid_until",type:"int"},{name:"salt",type:"long"}],type:"FutureSalt"},{id:2924480661,predicate:"future_salts",params:[{name:"req_msg_id",type:"long"},{name:"now",type:"int"},{name:"salts",type:"vector"}],type:"FutureSalts"},{id:"880243653",predicate:"pong",params:[{name:"msg_id",type:"long"},{name:"ping_id",type:"long"}],type:"Pong"},{id:2663516424,predicate:"new_session_created",params:[{name:"first_msg_id",type:"long"},{name:"unique_id",type:"long"},{name:"server_salt",type:"long"}],type:"NewSession"},{id:"1945237724",predicate:"msg_container",params:[{name:"messages",type:"vector<%Message>"}],type:"MessageContainer"},{id:"1538843921",predicate:"message",params:[{name:"msg_id",type:"long"},{name:"seqno",type:"int"},{name:"bytes",type:"int"},{name:"body",type:"Object"}],type:"Message"},{id:3764405938,predicate:"msg_copy",params:[{name:"orig_message",type:"Message"}],type:"MessageCopy"},{id:"812830625",predicate:"gzip_packed",params:[{name:"packed_data",type:"bytes"}],type:"Object"},{id:"1658238041",predicate:"msgs_ack",params:[{name:"msg_ids",type:"Vector"}],type:"MsgsAck"},{id:2817521681,predicate:"bad_msg_notification",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"}],type:"BadMsgNotification"},{id:3987424379,predicate:"bad_server_salt",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"},{name:"new_server_salt",type:"long"}],type:"BadMsgNotification"},{id:"2105940488",predicate:"msg_resend_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgResendReq"},{id:2249243371,predicate:"msg_resend_ans_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgResendReq"},{id:3664378706,predicate:"msgs_state_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgsStateReq"},{id:"81704317",predicate:"msgs_state_info",params:[{name:"req_msg_id",type:"long"},{name:"info",type:"bytes"}],type:"MsgsStateInfo"},{id:2361446705,predicate:"msgs_all_info",params:[{name:"msg_ids",type:"Vector"},{name:"info",type:"bytes"}],type:"MsgsAllInfo"},{id:"661470918",predicate:"msg_detailed_info",params:[{name:"msg_id",type:"long"},{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:2157819615,predicate:"msg_new_detailed_info",params:[{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:"1973679973",predicate:"bind_auth_key_inner",params:[{name:"nonce",type:"long"},{name:"temp_auth_key_id",type:"long"},{name:"perm_auth_key_id",type:"long"},{name:"temp_session_id",type:"long"},{name:"expires_at",type:"int"}],type:"BindAuthKeyInner"},{id:4133544404,predicate:"destroy_auth_key_ok",params:[],type:"DestroyAuthKeyRes"},{id:"178201177",predicate:"destroy_auth_key_none",params:[],type:"DestroyAuthKeyRes"},{id:3926956819,predicate:"destroy_auth_key_fail",params:[],type:"DestroyAuthKeyRes"},{id:3793765884,predicate:"destroy_session_ok",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"1658015945",predicate:"destroy_session_none",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"}],methods:[{id:"1615239032",method:"req_pq",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:3195965169,method:"req_pq_multi",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:3608339646,method:"req_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"public_key_fingerprint",type:"long"},{name:"encrypted_data",type:"bytes"}],type:"Server_DH_Params"},{id:4110704415,method:"set_client_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_data",type:"bytes"}],type:"Set_client_DH_params_answer"},{id:"1491380032",method:"rpc_drop_answer",params:[{name:"req_msg_id",type:"long"}],type:"RpcDropAnswer"},{id:3105996036,method:"get_future_salts",params:[{name:"num",type:"int"}],type:"FutureSalts"},{id:"2059302892",method:"ping",params:[{name:"ping_id",type:"long"}],type:"Pong"},{id:4081220492,method:"ping_delay_disconnect",params:[{name:"ping_id",type:"long"},{name:"disconnect_delay",type:"int"}],type:"Pong"},{id:2459514271,method:"http_wait",params:[{name:"max_delay",type:"int"},{name:"wait_after",type:"int"},{name:"max_wait",type:"int"}],type:"HttpWait"},{id:3510849888,method:"destroy_auth_key",params:[],type:"DestroyAuthKeyRes"},{id:3880853798,method:"destroy_session",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"}]},API:{constructors:[{id:3162085175,predicate:"boolFalse",params:[],type:"Bool"},{id:2574415285,predicate:"boolTrue",params:[],type:"Bool"},{id:1072550713,predicate:"true",params:[],type:"True"},{id:481674261,predicate:"vector",params:[],type:"Vector t"},{id:3300522427,predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:1450380236,predicate:"null",params:[],type:"Null"},{id:2134579434,predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:2107670217,predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:396093539,predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:2072935910,predicate:"inputPeerUser",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputPeer"},{id:548253432,predicate:"inputPeerChannel",params:[{name:"channel_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputPeer"},{id:398123750,predicate:"inputPeerUserFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"user_id",type:"int"}],type:"InputPeer"},{id:2627073979,predicate:"inputPeerChannelFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"channel_id",type:"int"}],type:"InputPeer"},{id:3112732367,predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:4156666175,predicate:"inputUserSelf",params:[],type:"InputUser"},{id:3626575894,predicate:"inputUser",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputUser"},{id:756118935,predicate:"inputUserFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"user_id",type:"int"}],type:"InputUser"},{id:4086478836,predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:4113560191,predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:4199484341,predicate:"inputFileBig",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"}],type:"InputFile"},{id:2523198847,predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:505969924,predicate:"inputMediaUploadedPhoto",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"stickers",type:"flags.0?Vector"},{name:"ttl_seconds",type:"flags.1?int"}],type:"InputMedia"},{id:3015312949,predicate:"inputMediaPhoto",params:[{name:"flags",type:"#"},{name:"id",type:"InputPhoto"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:4190388548,predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:4171988475,predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"}],type:"InputMedia"},{id:1530447553,predicate:"inputMediaUploadedDocument",params:[{name:"flags",type:"#"},{name:"nosound_video",type:"flags.3?true"},{name:"file",type:"InputFile"},{name:"thumb",type:"flags.2?InputFile"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"},{name:"stickers",type:"flags.0?Vector"},{name:"ttl_seconds",type:"flags.1?int"}],type:"InputMedia"},{id:598418386,predicate:"inputMediaDocument",params:[{name:"flags",type:"#"},{name:"id",type:"InputDocument"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:3242007569,predicate:"inputMediaVenue",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"}],type:"InputMedia"},{id:1212395773,predicate:"inputMediaGifExternal",params:[{name:"url",type:"string"},{name:"q",type:"string"}],type:"InputMedia"},{id:3854302746,predicate:"inputMediaPhotoExternal",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:4216511641,predicate:"inputMediaDocumentExternal",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:3544138739,predicate:"inputMediaGame",params:[{name:"id",type:"InputGame"}],type:"InputMedia"},{id:4108359363,predicate:"inputMediaInvoice",params:[{name:"flags",type:"#"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"flags.0?InputWebDocument"},{name:"invoice",type:"Invoice"},{name:"payload",type:"bytes"},{name:"provider",type:"string"},{name:"provider_data",type:"DataJSON"},{name:"start_param",type:"string"}],type:"InputMedia"},{id:3461251837,predicate:"inputMediaGeoLive",params:[{name:"flags",type:"#"},{name:"stopped",type:"flags.0?true"},{name:"geo_point",type:"InputGeoPoint"},{name:"period",type:"flags.1?int"}],type:"InputMedia"},{id:261416433,predicate:"inputMediaPoll",params:[{name:"flags",type:"#"},{name:"poll",type:"Poll"},{name:"correct_answers",type:"flags.0?Vector"},{name:"solution",type:"flags.1?string"},{name:"solution_entities",type:"flags.1?Vector"}],type:"InputMedia"},{id:3866083195,predicate:"inputMediaDice",params:[{name:"emoticon",type:"string"}],type:"InputMedia"},{id:480546647,predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:2457621940,predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputChatPhoto"},{id:2303962423,predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputChatPhoto"},{id:3837862870,predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:4088900809,predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:483901197,predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:1001634122,predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputPhoto"},{id:3755650017,predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputFileLocation"},{id:4112735573,predicate:"inputEncryptedFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:3134223748,predicate:"inputDocumentFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"thumb_size",type:"string"}],type:"InputFileLocation"},{id:3418877480,predicate:"inputSecureFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:700340377,predicate:"inputTakeoutFileLocation",params:[],type:"InputFileLocation"},{id:1075322878,predicate:"inputPhotoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"thumb_size",type:"string"}],type:"InputFileLocation"},{id:3627312883,predicate:"inputPhotoLegacyFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:668375447,predicate:"inputPeerPhotoFileLocation",params:[{name:"flags",type:"#"},{name:"big",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"InputFileLocation"},{id:230353641,predicate:"inputStickerSetThumb",params:[{name:"stickerset",type:"InputStickerSet"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"InputFileLocation"},{id:2645671021,predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:3134252475,predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:3185435954,predicate:"peerChannel",params:[{name:"channel_id",type:"int"}],type:"Peer"},{id:2861972229,predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:1086091090,predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:8322574,predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:3403786975,predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:172975040,predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:2921222285,predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:1384777335,predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:1258941372,predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:3016663268,predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:276907596,predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:537022650,predicate:"userEmpty",params:[{name:"id",type:"int"}],type:"User"},{id:2474924225,predicate:"user",params:[{name:"flags",type:"#"},{name:"self",type:"flags.10?true"},{name:"contact",type:"flags.11?true"},{name:"mutual_contact",type:"flags.12?true"},{name:"deleted",type:"flags.13?true"},{name:"bot",type:"flags.14?true"},{name:"bot_chat_history",type:"flags.15?true"},{name:"bot_nochats",type:"flags.16?true"},{name:"verified",type:"flags.17?true"},{name:"restricted",type:"flags.18?true"},{name:"min",type:"flags.20?true"},{name:"bot_inline_geo",type:"flags.21?true"},{name:"support",type:"flags.23?true"},{name:"scam",type:"flags.24?true"},{name:"id",type:"int"},{name:"access_hash",type:"flags.0?long"},{name:"first_name",type:"flags.1?string"},{name:"last_name",type:"flags.2?string"},{name:"username",type:"flags.3?string"},{name:"phone",type:"flags.4?string"},{name:"photo",type:"flags.5?UserProfilePhoto"},{name:"status",type:"flags.6?UserStatus"},{name:"bot_info_version",type:"flags.14?int"},{name:"restriction_reason",type:"flags.18?Vector"},{name:"bot_inline_placeholder",type:"flags.19?string"},{name:"lang_code",type:"flags.22?string"}],type:"User"},{id:1326562017,predicate:"userProfilePhotoEmpty",params:[],type:"UserProfilePhoto"},{id:3973537164,predicate:"userProfilePhoto",params:[{name:"photo_id",type:"long"},{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"},{name:"dc_id",type:"int"}],type:"UserProfilePhoto"},{id:164646985,predicate:"userStatusEmpty",params:[],type:"UserStatus"},{id:3988339017,predicate:"userStatusOnline",params:[{name:"expires",type:"int"}],type:"UserStatus"},{id:9203775,predicate:"userStatusOffline",params:[{name:"was_online",type:"int"}],type:"UserStatus"},{id:3798942449,predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:129960444,predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:2011940674,predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:2611140608,predicate:"chatEmpty",params:[{name:"id",type:"int"}],type:"Chat"},{id:1004149726,predicate:"chat",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"kicked",type:"flags.1?true"},{name:"left",type:"flags.2?true"},{name:"deactivated",type:"flags.5?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"version",type:"int"},{name:"migrated_to",type:"flags.6?InputChannel"},{name:"admin_rights",type:"flags.14?ChatAdminRights"},{name:"default_banned_rights",type:"flags.18?ChatBannedRights"}],type:"Chat"},{id:120753115,predicate:"chatForbidden",params:[{name:"id",type:"int"},{name:"title",type:"string"}],type:"Chat"},{id:3541734942,predicate:"channel",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"left",type:"flags.2?true"},{name:"broadcast",type:"flags.5?true"},{name:"verified",type:"flags.7?true"},{name:"megagroup",type:"flags.8?true"},{name:"restricted",type:"flags.9?true"},{name:"signatures",type:"flags.11?true"},{name:"min",type:"flags.12?true"},{name:"scam",type:"flags.19?true"},{name:"has_link",type:"flags.20?true"},{name:"has_geo",type:"flags.21?true"},{name:"slowmode_enabled",type:"flags.22?true"},{name:"id",type:"int"},{name:"access_hash",type:"flags.13?long"},{name:"title",type:"string"},{name:"username",type:"flags.6?string"},{name:"photo",type:"ChatPhoto"},{name:"date",type:"int"},{name:"version",type:"int"},{name:"restriction_reason",type:"flags.9?Vector"},{name:"admin_rights",type:"flags.14?ChatAdminRights"},{name:"banned_rights",type:"flags.15?ChatBannedRights"},{name:"default_banned_rights",type:"flags.18?ChatBannedRights"},{name:"participants_count",type:"flags.17?int"}],type:"Chat"},{id:681420594,predicate:"channelForbidden",params:[{name:"flags",type:"#"},{name:"broadcast",type:"flags.5?true"},{name:"megagroup",type:"flags.8?true"},{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"until_date",type:"flags.16?int"}],type:"Chat"},{id:461151667,predicate:"chatFull",params:[{name:"flags",type:"#"},{name:"can_set_username",type:"flags.7?true"},{name:"has_scheduled",type:"flags.8?true"},{name:"id",type:"int"},{name:"about",type:"string"},{name:"participants",type:"ChatParticipants"},{name:"chat_photo",type:"flags.2?Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"exported_invite",type:"ExportedChatInvite"},{name:"bot_info",type:"flags.3?Vector"},{name:"pinned_msg_id",type:"flags.6?int"},{name:"folder_id",type:"flags.11?int"}],type:"ChatFull"},{id:4041631530,predicate:"channelFull",params:[{name:"flags",type:"#"},{name:"can_view_participants",type:"flags.3?true"},{name:"can_set_username",type:"flags.6?true"},{name:"can_set_stickers",type:"flags.7?true"},{name:"hidden_prehistory",type:"flags.10?true"},{name:"can_view_stats",type:"flags.12?true"},{name:"can_set_location",type:"flags.16?true"},{name:"has_scheduled",type:"flags.19?true"},{name:"id",type:"int"},{name:"about",type:"string"},{name:"participants_count",type:"flags.0?int"},{name:"admins_count",type:"flags.1?int"},{name:"kicked_count",type:"flags.2?int"},{name:"banned_count",type:"flags.2?int"},{name:"online_count",type:"flags.13?int"},{name:"read_inbox_max_id",type:"int"},{name:"read_outbox_max_id",type:"int"},{name:"unread_count",type:"int"},{name:"chat_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"exported_invite",type:"ExportedChatInvite"},{name:"bot_info",type:"Vector"},{name:"migrated_from_chat_id",type:"flags.4?int"},{name:"migrated_from_max_id",type:"flags.4?int"},{name:"pinned_msg_id",type:"flags.5?int"},{name:"stickerset",type:"flags.8?StickerSet"},{name:"available_min_id",type:"flags.9?int"},{name:"folder_id",type:"flags.11?int"},{name:"linked_chat_id",type:"flags.14?int"},{name:"location",type:"flags.15?ChannelLocation"},{name:"slowmode_seconds",type:"flags.17?int"},{name:"slowmode_next_send_date",type:"flags.18?int"},{name:"stats_dc",type:"flags.12?int"},{name:"pts",type:"int"}],type:"ChatFull"},{id:3369552190,predicate:"chatParticipant",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:3658699658,predicate:"chatParticipantCreator",params:[{name:"user_id",type:"int"}],type:"ChatParticipant"},{id:3805733942,predicate:"chatParticipantAdmin",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:4237298731,predicate:"chatParticipantsForbidden",params:[{name:"flags",type:"#"},{name:"chat_id",type:"int"},{name:"self_participant",type:"flags.0?ChatParticipant"}],type:"ChatParticipants"},{id:1061556205,predicate:"chatParticipants",params:[{name:"chat_id",type:"int"},{name:"participants",type:"Vector"},{name:"version",type:"int"}],type:"ChatParticipants"},{id:935395612,predicate:"chatPhotoEmpty",params:[],type:"ChatPhoto"},{id:1197267925,predicate:"chatPhoto",params:[{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"},{name:"dc_id",type:"int"}],type:"ChatPhoto"},{id:2212879956,predicate:"messageEmpty",params:[{name:"id",type:"int"}],type:"Message"},{id:1160515173,predicate:"message",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"post",type:"flags.14?true"},{name:"from_scheduled",type:"flags.18?true"},{name:"legacy",type:"flags.19?true"},{name:"edit_hide",type:"flags.21?true"},{name:"id",type:"int"},{name:"from_id",type:"flags.8?int"},{name:"to_id",type:"Peer"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"flags.9?MessageMedia"},{name:"reply_markup",type:"flags.6?ReplyMarkup"},{name:"entities",type:"flags.7?Vector"},{name:"views",type:"flags.10?int"},{name:"edit_date",type:"flags.15?int"},{name:"post_author",type:"flags.16?string"},{name:"grouped_id",type:"flags.17?long"},{name:"restriction_reason",type:"flags.22?Vector"}],type:"Message"},{id:2652479990,predicate:"messageService",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"post",type:"flags.14?true"},{name:"legacy",type:"flags.19?true"},{name:"id",type:"int"},{name:"from_id",type:"flags.8?int"},{name:"to_id",type:"Peer"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"Message"},{id:1038967584,predicate:"messageMediaEmpty",params:[],type:"MessageMedia"},{id:1766936791,predicate:"messageMediaPhoto",params:[{name:"flags",type:"#"},{name:"photo",type:"flags.0?Photo"},{name:"ttl_seconds",type:"flags.2?int"}],type:"MessageMedia"},{id:1457575028,predicate:"messageMediaGeo",params:[{name:"geo",type:"GeoPoint"}],type:"MessageMedia"},{id:3421653312,predicate:"messageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"user_id",type:"int"}],type:"MessageMedia"},{id:2676290718,predicate:"messageMediaUnsupported",params:[],type:"MessageMedia"},{id:2628808919,predicate:"messageMediaDocument",params:[{name:"flags",type:"#"},{name:"document",type:"flags.0?Document"},{name:"ttl_seconds",type:"flags.2?int"}],type:"MessageMedia"},{id:2737690112,predicate:"messageMediaWebPage",params:[{name:"webpage",type:"WebPage"}],type:"MessageMedia"},{id:784356159,predicate:"messageMediaVenue",params:[{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"}],type:"MessageMedia"},{id:4256272392,predicate:"messageMediaGame",params:[{name:"game",type:"Game"}],type:"MessageMedia"},{id:2220168007,predicate:"messageMediaInvoice",params:[{name:"flags",type:"#"},{name:"shipping_address_requested",type:"flags.1?true"},{name:"test",type:"flags.3?true"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"flags.0?WebDocument"},{name:"receipt_msg_id",type:"flags.2?int"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"start_param",type:"string"}],type:"MessageMedia"},{id:2084316681,predicate:"messageMediaGeoLive",params:[{name:"geo",type:"GeoPoint"},{name:"period",type:"int"}],type:"MessageMedia"},{id:1272375192,predicate:"messageMediaPoll",params:[{name:"poll",type:"Poll"},{name:"results",type:"PollResults"}],type:"MessageMedia"},{id:1065280907,predicate:"messageMediaDice",params:[{name:"value",type:"int"},{name:"emoticon",type:"string"}],type:"MessageMedia"},{id:3064919984,predicate:"messageActionEmpty",params:[],type:"MessageAction"},{id:2791541658,predicate:"messageActionChatCreate",params:[{name:"title",type:"string"},{name:"users",type:"Vector"}],type:"MessageAction"},{id:3047280218,predicate:"messageActionChatEditTitle",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:2144015272,predicate:"messageActionChatEditPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageAction"},{id:2514746351,predicate:"messageActionChatDeletePhoto",params:[],type:"MessageAction"},{id:1217033015,predicate:"messageActionChatAddUser",params:[{name:"users",type:"Vector"}],type:"MessageAction"},{id:2997787404,predicate:"messageActionChatDeleteUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:4171036136,predicate:"messageActionChatJoinedByLink",params:[{name:"inviter_id",type:"int"}],type:"MessageAction"},{id:2513611922,predicate:"messageActionChannelCreate",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:1371385889,predicate:"messageActionChatMigrateTo",params:[{name:"channel_id",type:"int"}],type:"MessageAction"},{id:2958420718,predicate:"messageActionChannelMigrateFrom",params:[{name:"title",type:"string"},{name:"chat_id",type:"int"}],type:"MessageAction"},{id:2495428845,predicate:"messageActionPinMessage",params:[],type:"MessageAction"},{id:2679813636,predicate:"messageActionHistoryClear",params:[],type:"MessageAction"},{id:2460428406,predicate:"messageActionGameScore",params:[{name:"game_id",type:"long"},{name:"score",type:"int"}],type:"MessageAction"},{id:2402399015,predicate:"messageActionPaymentSentMe",params:[{name:"flags",type:"#"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"payload",type:"bytes"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping_option_id",type:"flags.1?string"},{name:"charge",type:"PaymentCharge"}],type:"MessageAction"},{id:1080663248,predicate:"messageActionPaymentSent",params:[{name:"currency",type:"string"},{name:"total_amount",type:"long"}],type:"MessageAction"},{id:2162236031,predicate:"messageActionPhoneCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.2?true"},{name:"call_id",type:"long"},{name:"reason",type:"flags.0?PhoneCallDiscardReason"},{name:"duration",type:"flags.1?int"}],type:"MessageAction"},{id:1200788123,predicate:"messageActionScreenshotTaken",params:[],type:"MessageAction"},{id:4209418070,predicate:"messageActionCustomAction",params:[{name:"message",type:"string"}],type:"MessageAction"},{id:2884218878,predicate:"messageActionBotAllowed",params:[{name:"domain",type:"string"}],type:"MessageAction"},{id:455635795,predicate:"messageActionSecureValuesSentMe",params:[{name:"values",type:"Vector"},{name:"credentials",type:"SecureCredentialsEncrypted"}],type:"MessageAction"},{id:3646710100,predicate:"messageActionSecureValuesSent",params:[{name:"types",type:"Vector"}],type:"MessageAction"},{id:4092747638,predicate:"messageActionContactSignUp",params:[],type:"MessageAction"},{id:739712882,predicate:"dialog",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.2?true"},{name:"unread_mark",type:"flags.3?true"},{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"read_inbox_max_id",type:"int"},{name:"read_outbox_max_id",type:"int"},{name:"unread_count",type:"int"},{name:"unread_mentions_count",type:"int"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"pts",type:"flags.0?int"},{name:"draft",type:"flags.1?DraftMessage"},{name:"folder_id",type:"flags.4?int"}],type:"Dialog"},{id:1908216652,predicate:"dialogFolder",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.2?true"},{name:"folder",type:"Folder"},{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"unread_muted_peers_count",type:"int"},{name:"unread_unmuted_peers_count",type:"int"},{name:"unread_muted_messages_count",type:"int"},{name:"unread_unmuted_messages_count",type:"int"}],type:"Dialog"},{id:590459437,predicate:"photoEmpty",params:[{name:"id",type:"long"}],type:"Photo"},{id:3497329829,predicate:"photo",params:[{name:"flags",type:"#"},{name:"has_stickers",type:"flags.0?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"date",type:"int"},{name:"sizes",type:"Vector"},{name:"dc_id",type:"int"}],type:"Photo"},{id:236446268,predicate:"photoSizeEmpty",params:[{name:"type",type:"string"}],type:"PhotoSize"},{id:2009052699,predicate:"photoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"PhotoSize"},{id:3920049402,predicate:"photoCachedSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:3769678894,predicate:"photoStrippedSize",params:[{name:"type",type:"string"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:286776671,predicate:"geoPointEmpty",params:[],type:"GeoPoint"},{id:43446532,predicate:"geoPoint",params:[{name:"long",type:"double"},{name:"lat",type:"double"},{name:"access_hash",type:"long"}],type:"GeoPoint"},{id:1577067778,predicate:"auth.sentCode",params:[{name:"flags",type:"#"},{name:"type",type:"auth.SentCodeType"},{name:"phone_code_hash",type:"string"},{name:"next_type",type:"flags.1?auth.CodeType"},{name:"timeout",type:"flags.2?int"}],type:"auth.SentCode"},{id:3439659286,predicate:"auth.authorization",params:[{name:"flags",type:"#"},{name:"tmp_sessions",type:"flags.0?int"},{name:"user",type:"User"}],type:"auth.Authorization"},{id:1148485274,predicate:"auth.authorizationSignUpRequired",params:[{name:"flags",type:"#"},{name:"terms_of_service",type:"flags.0?help.TermsOfService"}],type:"auth.Authorization"},{id:3751189549,predicate:"auth.exportedAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.ExportedAuthorization"},{id:3099351820,predicate:"inputNotifyPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputNotifyPeer"},{id:423314455,predicate:"inputNotifyUsers",params:[],type:"InputNotifyPeer"},{id:1251338318,predicate:"inputNotifyChats",params:[],type:"InputNotifyPeer"},{id:2983951486,predicate:"inputNotifyBroadcasts",params:[],type:"InputNotifyPeer"},{id:2621249934,predicate:"inputPeerNotifySettings",params:[{name:"flags",type:"#"},{name:"show_previews",type:"flags.0?Bool"},{name:"silent",type:"flags.1?Bool"},{name:"mute_until",type:"flags.2?int"},{name:"sound",type:"flags.3?string"}],type:"InputPeerNotifySettings"},{id:2941295904,predicate:"peerNotifySettings",params:[{name:"flags",type:"#"},{name:"show_previews",type:"flags.0?Bool"},{name:"silent",type:"flags.1?Bool"},{name:"mute_until",type:"flags.2?int"},{name:"sound",type:"flags.3?string"}],type:"PeerNotifySettings"},{id:2172921549,predicate:"peerSettings",params:[{name:"flags",type:"#"},{name:"report_spam",type:"flags.0?true"},{name:"add_contact",type:"flags.1?true"},{name:"block_contact",type:"flags.2?true"},{name:"share_contact",type:"flags.3?true"},{name:"need_contacts_exception",type:"flags.4?true"},{name:"report_geo",type:"flags.5?true"}],type:"PeerSettings"},{id:2755118061,predicate:"wallPaper",params:[{name:"id",type:"long"},{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"default",type:"flags.1?true"},{name:"pattern",type:"flags.3?true"},{name:"dark",type:"flags.4?true"},{name:"access_hash",type:"long"},{name:"slug",type:"string"},{name:"document",type:"Document"},{name:"settings",type:"flags.2?WallPaperSettings"}],type:"WallPaper"},{id:2331249445,predicate:"wallPaperNoFile",params:[{name:"flags",type:"#"},{name:"default",type:"flags.1?true"},{name:"dark",type:"flags.4?true"},{name:"settings",type:"flags.2?WallPaperSettings"}],type:"WallPaper"},{id:1490799288,predicate:"inputReportReasonSpam",params:[],type:"ReportReason"},{id:505595789,predicate:"inputReportReasonViolence",params:[],type:"ReportReason"},{id:777640226,predicate:"inputReportReasonPornography",params:[],type:"ReportReason"},{id:2918469347,predicate:"inputReportReasonChildAbuse",params:[],type:"ReportReason"},{id:3782503690,predicate:"inputReportReasonOther",params:[{name:"text",type:"string"}],type:"ReportReason"},{id:2609510714,predicate:"inputReportReasonCopyright",params:[],type:"ReportReason"},{id:3688169197,predicate:"inputReportReasonGeoIrrelevant",params:[],type:"ReportReason"},{id:3992026130,predicate:"userFull",params:[{name:"flags",type:"#"},{name:"blocked",type:"flags.0?true"},{name:"phone_calls_available",type:"flags.4?true"},{name:"phone_calls_private",type:"flags.5?true"},{name:"can_pin_message",type:"flags.7?true"},{name:"has_scheduled",type:"flags.12?true"},{name:"user",type:"User"},{name:"about",type:"flags.1?string"},{name:"settings",type:"PeerSettings"},{name:"profile_photo",type:"flags.2?Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"bot_info",type:"flags.3?BotInfo"},{name:"pinned_msg_id",type:"flags.6?int"},{name:"common_chats_count",type:"int"},{name:"folder_id",type:"flags.11?int"}],type:"UserFull"},{id:4178692500,predicate:"contact",params:[{name:"user_id",type:"int"},{name:"mutual",type:"Bool"}],type:"Contact"},{id:3489825848,predicate:"importedContact",params:[{name:"user_id",type:"int"},{name:"client_id",type:"long"}],type:"ImportedContact"},{id:1444661369,predicate:"contactBlocked",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ContactBlocked"},{id:3546811489,predicate:"contactStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"ContactStatus"},{id:3075189202,predicate:"contacts.contactsNotModified",params:[],type:"contacts.Contacts"},{id:3941105218,predicate:"contacts.contacts",params:[{name:"contacts",type:"Vector"},{name:"saved_count",type:"int"},{name:"users",type:"Vector"}],type:"contacts.Contacts"},{id:2010127419,predicate:"contacts.importedContacts",params:[{name:"imported",type:"Vector"},{name:"popular_invites",type:"Vector"},{name:"retry_contacts",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.ImportedContacts"},{id:471043349,predicate:"contacts.blocked",params:[{name:"blocked",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Blocked"},{id:2416444065,predicate:"contacts.blockedSlice",params:[{name:"count",type:"int"},{name:"blocked",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Blocked"},{id:364538944,predicate:"messages.dialogs",params:[{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Dialogs"},{id:1910543603,predicate:"messages.dialogsSlice",params:[{name:"count",type:"int"},{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Dialogs"},{id:4041467286,predicate:"messages.dialogsNotModified",params:[{name:"count",type:"int"}],type:"messages.Dialogs"},{id:2356252295,predicate:"messages.messages",params:[{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:3371027998,predicate:"messages.messagesSlice",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"count",type:"int"},{name:"next_rate",type:"flags.0?int"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:2569416247,predicate:"messages.channelMessages",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"pts",type:"int"},{name:"count",type:"int"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:1951620897,predicate:"messages.messagesNotModified",params:[{name:"count",type:"int"}],type:"messages.Messages"},{id:1694474197,predicate:"messages.chats",params:[{name:"chats",type:"Vector"}],type:"messages.Chats"},{id:2631405892,predicate:"messages.chatsSlice",params:[{name:"count",type:"int"},{name:"chats",type:"Vector"}],type:"messages.Chats"},{id:3856126364,predicate:"messages.chatFull",params:[{name:"full_chat",type:"ChatFull"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.ChatFull"},{id:3025955281,predicate:"messages.affectedHistory",params:[{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:1474492012,predicate:"inputMessagesFilterEmpty",params:[],type:"MessagesFilter"},{id:2517214492,predicate:"inputMessagesFilterPhotos",params:[],type:"MessagesFilter"},{id:2680163941,predicate:"inputMessagesFilterVideo",params:[],type:"MessagesFilter"},{id:1458172132,predicate:"inputMessagesFilterPhotoVideo",params:[],type:"MessagesFilter"},{id:2665345416,predicate:"inputMessagesFilterDocument",params:[],type:"MessagesFilter"},{id:2129714567,predicate:"inputMessagesFilterUrl",params:[],type:"MessagesFilter"},{id:4291323271,predicate:"inputMessagesFilterGif",params:[],type:"MessagesFilter"},{id:1358283666,predicate:"inputMessagesFilterVoice",params:[],type:"MessagesFilter"},{id:928101534,predicate:"inputMessagesFilterMusic",params:[],type:"MessagesFilter"},{id:975236280,predicate:"inputMessagesFilterChatPhotos",params:[],type:"MessagesFilter"},{id:2160695144,predicate:"inputMessagesFilterPhoneCalls",params:[{name:"flags",type:"#"},{name:"missed",type:"flags.0?true"}],type:"MessagesFilter"},{id:2054952868,predicate:"inputMessagesFilterRoundVoice",params:[],type:"MessagesFilter"},{id:3041516115,predicate:"inputMessagesFilterRoundVideo",params:[],type:"MessagesFilter"},{id:3254314650,predicate:"inputMessagesFilterMyMentions",params:[],type:"MessagesFilter"},{id:3875695885,predicate:"inputMessagesFilterGeo",params:[],type:"MessagesFilter"},{id:3764575107,predicate:"inputMessagesFilterContacts",params:[],type:"MessagesFilter"},{id:522914557,predicate:"updateNewMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1318109142,predicate:"updateMessageID",params:[{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"Update"},{id:2718806245,predicate:"updateDeleteMessages",params:[{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1548249383,predicate:"updateUserTyping",params:[{name:"user_id",type:"int"},{name:"action",type:"SendMessageAction"}],type:"Update"},{id:2590370335,predicate:"updateChatUserTyping",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"action",type:"SendMessageAction"}],type:"Update"},{id:125178264,predicate:"updateChatParticipants",params:[{name:"participants",type:"ChatParticipants"}],type:"Update"},{id:469489699,predicate:"updateUserStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"Update"},{id:2805148531,predicate:"updateUserName",params:[{name:"user_id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"username",type:"string"}],type:"Update"},{id:2503031564,predicate:"updateUserPhoto",params:[{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"photo",type:"UserProfilePhoto"},{name:"previous",type:"Bool"}],type:"Update"},{id:314359194,predicate:"updateNewEncryptedMessage",params:[{name:"message",type:"EncryptedMessage"},{name:"qts",type:"int"}],type:"Update"},{id:386986326,predicate:"updateEncryptedChatTyping",params:[{name:"chat_id",type:"int"}],type:"Update"},{id:3030575245,predicate:"updateEncryption",params:[{name:"chat",type:"EncryptedChat"},{name:"date",type:"int"}],type:"Update"},{id:956179895,predicate:"updateEncryptedMessagesRead",params:[{name:"chat_id",type:"int"},{name:"max_date",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:3930787420,predicate:"updateChatParticipantAdd",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:1851755554,predicate:"updateChatParticipantDelete",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:2388564083,predicate:"updateDcOptions",params:[{name:"dc_options",type:"Vector"}],type:"Update"},{id:2163009562,predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:3200411887,predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:3957614617,predicate:"updateServiceNotification",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"inbox_date",type:"flags.1?int"},{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"entities",type:"Vector"}],type:"Update"},{id:3996854058,predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector"}],type:"Update"},{id:314130811,predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:2627162079,predicate:"updateReadHistoryInbox",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"peer",type:"Peer"},{name:"max_id",type:"int"},{name:"still_unread_count",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:791617983,predicate:"updateReadHistoryOutbox",params:[{name:"peer",type:"Peer"},{name:"max_id",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2139689491,predicate:"updateWebPage",params:[{name:"webpage",type:"WebPage"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1757493555,predicate:"updateReadMessagesContents",params:[{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:3942934523,predicate:"updateChannelTooLong",params:[{name:"flags",type:"#"},{name:"channel_id",type:"int"},{name:"pts",type:"flags.0?int"}],type:"Update"},{id:3067369046,predicate:"updateChannel",params:[{name:"channel_id",type:"int"}],type:"Update"},{id:1656358105,predicate:"updateNewChannelMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:856380452,predicate:"updateReadChannelInbox",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"channel_id",type:"int"},{name:"max_id",type:"int"},{name:"still_unread_count",type:"int"},{name:"pts",type:"int"}],type:"Update"},{id:3279233481,predicate:"updateDeleteChannelMessages",params:[{name:"channel_id",type:"int"},{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2560699211,predicate:"updateChannelMessageViews",params:[{name:"channel_id",type:"int"},{name:"id",type:"int"},{name:"views",type:"int"}],type:"Update"},{id:3062896985,predicate:"updateChatParticipantAdmin",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"is_admin",type:"Bool"},{name:"version",type:"int"}],type:"Update"},{id:1753886890,predicate:"updateNewStickerSet",params:[{name:"stickerset",type:"messages.StickerSet"}],type:"Update"},{id:196268545,predicate:"updateStickerSetsOrder",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"order",type:"Vector"}],type:"Update"},{id:1135492588,predicate:"updateStickerSets",params:[],type:"Update"},{id:2473931806,predicate:"updateSavedGifs",params:[],type:"Update"},{id:1417832080,predicate:"updateBotInlineQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"query",type:"string"},{name:"geo",type:"flags.0?GeoPoint"},{name:"offset",type:"string"}],type:"Update"},{id:239663460,predicate:"updateBotInlineSend",params:[{name:"flags",type:"#"},{name:"user_id",type:"int"},{name:"query",type:"string"},{name:"geo",type:"flags.0?GeoPoint"},{name:"id",type:"string"},{name:"msg_id",type:"flags.1?InputBotInlineMessageID"}],type:"Update"},{id:457133559,predicate:"updateEditChannelMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2555978869,predicate:"updateChannelPinnedMessage",params:[{name:"channel_id",type:"int"},{name:"id",type:"int"}],type:"Update"},{id:3879028705,predicate:"updateBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"peer",type:"Peer"},{name:"msg_id",type:"int"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:3825430691,predicate:"updateEditMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:4191320666,predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:634833351,predicate:"updateReadChannelOutbox",params:[{name:"channel_id",type:"int"},{name:"max_id",type:"int"}],type:"Update"},{id:3995842921,predicate:"updateDraftMessage",params:[{name:"peer",type:"Peer"},{name:"draft",type:"DraftMessage"}],type:"Update"},{id:1461528386,predicate:"updateReadFeaturedStickers",params:[],type:"Update"},{id:2588027936,predicate:"updateRecentStickers",params:[],type:"Update"},{id:2720652550,predicate:"updateConfig",params:[],type:"Update"},{id:861169551,predicate:"updatePtsChanged",params:[],type:"Update"},{id:1081547008,predicate:"updateChannelWebPage",params:[{name:"channel_id",type:"int"},{name:"webpage",type:"WebPage"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1852826908,predicate:"updateDialogPinned",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.0?true"},{name:"folder_id",type:"flags.1?int"},{name:"peer",type:"DialogPeer"}],type:"Update"},{id:4195302562,predicate:"updatePinnedDialogs",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.1?int"},{name:"order",type:"flags.0?Vector"}],type:"Update"},{id:2199371971,predicate:"updateBotWebhookJSON",params:[{name:"data",type:"DataJSON"}],type:"Update"},{id:2610053286,predicate:"updateBotWebhookJSONQuery",params:[{name:"query_id",type:"long"},{name:"data",type:"DataJSON"},{name:"timeout",type:"int"}],type:"Update"},{id:3771582784,predicate:"updateBotShippingQuery",params:[{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"payload",type:"bytes"},{name:"shipping_address",type:"PostAddress"}],type:"Update"},{id:1563376297,predicate:"updateBotPrecheckoutQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"payload",type:"bytes"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping_option_id",type:"flags.1?string"},{name:"currency",type:"string"},{name:"total_amount",type:"long"}],type:"Update"},{id:2869914398,predicate:"updatePhoneCall",params:[{name:"phone_call",type:"PhoneCall"}],type:"Update"},{id:1180041828,predicate:"updateLangPackTooLong",params:[{name:"lang_code",type:"string"}],type:"Update"},{id:1442983757,predicate:"updateLangPack",params:[{name:"difference",type:"LangPackDifference"}],type:"Update"},{id:3843135853,predicate:"updateFavedStickers",params:[],type:"Update"},{id:2307472197,predicate:"updateChannelReadMessagesContents",params:[{name:"channel_id",type:"int"},{name:"messages",type:"Vector"}],type:"Update"},{id:1887741886,predicate:"updateContactsReset",params:[],type:"Update"},{id:1893427255,predicate:"updateChannelAvailableMessages",params:[{name:"channel_id",type:"int"},{name:"available_min_id",type:"int"}],type:"Update"},{id:3781450179,predicate:"updateDialogUnreadMark",params:[{name:"flags",type:"#"},{name:"unread",type:"flags.0?true"},{name:"peer",type:"DialogPeer"}],type:"Update"},{id:1279515160,predicate:"updateUserPinnedMessage",params:[{name:"user_id",type:"int"},{name:"id",type:"int"}],type:"Update"},{id:3775771465,predicate:"updateChatPinnedMessage",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:2896258427,predicate:"updateMessagePoll",params:[{name:"flags",type:"#"},{name:"poll_id",type:"long"},{name:"poll",type:"flags.0?Poll"},{name:"results",type:"PollResults"}],type:"Update"},{id:1421875280,predicate:"updateChatDefaultBannedRights",params:[{name:"peer",type:"Peer"},{name:"default_banned_rights",type:"ChatBannedRights"},{name:"version",type:"int"}],type:"Update"},{id:422972864,predicate:"updateFolderPeers",params:[{name:"folder_peers",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1786671974,predicate:"updatePeerSettings",params:[{name:"peer",type:"Peer"},{name:"settings",type:"PeerSettings"}],type:"Update"},{id:3031420848,predicate:"updatePeerLocated",params:[{name:"peers",type:"Vector"}],type:"Update"},{id:967122427,predicate:"updateNewScheduledMessage",params:[{name:"message",type:"Message"}],type:"Update"},{id:2424728814,predicate:"updateDeleteScheduledMessages",params:[{name:"peer",type:"Peer"},{name:"messages",type:"Vector"}],type:"Update"},{id:2182544291,predicate:"updateTheme",params:[{name:"theme",type:"Theme"}],type:"Update"},{id:2267003193,predicate:"updateGeoLiveViewed",params:[{name:"peer",type:"Peer"},{name:"msg_id",type:"int"}],type:"Update"},{id:1448076945,predicate:"updateLoginToken",params:[],type:"Update"},{id:1123585836,predicate:"updateMessagePollVote",params:[{name:"poll_id",type:"long"},{name:"user_id",type:"int"},{name:"options",type:"Vector"}],type:"Update"},{id:654302845,predicate:"updateDialogFilter",params:[{name:"flags",type:"#"},{name:"id",type:"int"},{name:"filter",type:"flags.0?DialogFilter"}],type:"Update"},{id:2782339333,predicate:"updateDialogFilterOrder",params:[{name:"order",type:"Vector"}],type:"Update"},{id:889491791,predicate:"updateDialogFilters",params:[],type:"Update"},{id:643940105,predicate:"updatePhoneCallSignalingData",params:[{name:"phone_call_id",type:"long"},{name:"data",type:"bytes"}],type:"Update"},{id:2775329342,predicate:"updates.state",params:[{name:"pts",type:"int"},{name:"qts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"},{name:"unread_count",type:"int"}],type:"updates.State"},{id:1567990072,predicate:"updates.differenceEmpty",params:[{name:"date",type:"int"},{name:"seq",type:"int"}],type:"updates.Difference"},{id:16030880,predicate:"updates.difference",params:[{name:"new_messages",type:"Vector"},{name:"new_encrypted_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"state",type:"updates.State"}],type:"updates.Difference"},{id:2835028353,predicate:"updates.differenceSlice",params:[{name:"new_messages",type:"Vector"},{name:"new_encrypted_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"intermediate_state",type:"updates.State"}],type:"updates.Difference"},{id:1258196845,predicate:"updates.differenceTooLong",params:[{name:"pts",type:"int"}],type:"updates.Difference"},{id:3809980286,predicate:"updatesTooLong",params:[],type:"Updates"},{id:2437922577,predicate:"updateShortMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"id",type:"int"},{name:"user_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:377562760,predicate:"updateShortChatMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"chat_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:2027216577,predicate:"updateShort",params:[{name:"update",type:"Update"},{name:"date",type:"int"}],type:"Updates"},{id:1918567619,predicate:"updatesCombined",params:[{name:"updates",type:"Vector"},{name:"users",type:"Vector"},{name:"chats",type:"Vector"},{name:"date",type:"int"},{name:"seq_start",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:1957577280,predicate:"updates",params:[{name:"updates",type:"Vector"},{name:"users",type:"Vector"},{name:"chats",type:"Vector"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:301019932,predicate:"updateShortSentMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"id",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"media",type:"flags.9?MessageMedia"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:2378853029,predicate:"photos.photos",params:[{name:"photos",type:"Vector"},{name:"users",type:"Vector"}],type:"photos.Photos"},{id:352657236,predicate:"photos.photosSlice",params:[{name:"count",type:"int"},{name:"photos",type:"Vector"},{name:"users",type:"Vector"}],type:"photos.Photos"},{id:539045032,predicate:"photos.photo",params:[{name:"photo",type:"Photo"},{name:"users",type:"Vector"}],type:"photos.Photo"},{id:157948117,predicate:"upload.file",params:[{name:"type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.File"},{id:4052539972,predicate:"upload.fileCdnRedirect",params:[{name:"dc_id",type:"int"},{name:"file_token",type:"bytes"},{name:"encryption_key",type:"bytes"},{name:"encryption_iv",type:"bytes"},{name:"file_hashes",type:"Vector"}],type:"upload.File"},{id:414687501,predicate:"dcOption",params:[{name:"flags",type:"#"},{name:"ipv6",type:"flags.0?true"},{name:"media_only",type:"flags.1?true"},{name:"tcpo_only",type:"flags.2?true"},{name:"cdn",type:"flags.3?true"},{name:"static",type:"flags.4?true"},{name:"id",type:"int"},{name:"ip_address",type:"string"},{name:"port",type:"int"},{name:"secret",type:"flags.10?bytes"}],type:"DcOption"},{id:856375399,predicate:"config",params:[{name:"flags",type:"#"},{name:"phonecalls_enabled",type:"flags.1?true"},{name:"default_p2p_contacts",type:"flags.3?true"},{name:"preload_featured_stickers",type:"flags.4?true"},{name:"ignore_phone_entities",type:"flags.5?true"},{name:"revoke_pm_inbox",type:"flags.6?true"},{name:"blocked_mode",type:"flags.8?true"},{name:"pfs_enabled",type:"flags.13?true"},{name:"date",type:"int"},{name:"expires",type:"int"},{name:"test_mode",type:"Bool"},{name:"this_dc",type:"int"},{name:"dc_options",type:"Vector"},{name:"dc_txt_domain_name",type:"string"},{name:"chat_size_max",type:"int"},{name:"megagroup_size_max",type:"int"},{name:"forwarded_count_max",type:"int"},{name:"online_update_period_ms",type:"int"},{name:"offline_blur_timeout_ms",type:"int"},{name:"offline_idle_timeout_ms",type:"int"},{name:"online_cloud_timeout_ms",type:"int"},{name:"notify_cloud_delay_ms",type:"int"},{name:"notify_default_delay_ms",type:"int"},{name:"push_chat_period_ms",type:"int"},{name:"push_chat_limit",type:"int"},{name:"saved_gifs_limit",type:"int"},{name:"edit_time_limit",type:"int"},{name:"revoke_time_limit",type:"int"},{name:"revoke_pm_time_limit",type:"int"},{name:"rating_e_decay",type:"int"},{name:"stickers_recent_limit",type:"int"},{name:"stickers_faved_limit",type:"int"},{name:"channels_read_media_period",type:"int"},{name:"tmp_sessions",type:"flags.0?int"},{name:"pinned_dialogs_count_max",type:"int"},{name:"pinned_infolder_count_max",type:"int"},{name:"call_receive_timeout_ms",type:"int"},{name:"call_ring_timeout_ms",type:"int"},{name:"call_connect_timeout_ms",type:"int"},{name:"call_packet_timeout_ms",type:"int"},{name:"me_url_prefix",type:"string"},{name:"autoupdate_url_prefix",type:"flags.7?string"},{name:"gif_search_username",type:"flags.9?string"},{name:"venue_search_username",type:"flags.10?string"},{name:"img_search_username",type:"flags.11?string"},{name:"static_maps_provider",type:"flags.12?string"},{name:"caption_length_max",type:"int"},{name:"message_length_max",type:"int"},{name:"webfile_dc_id",type:"int"},{name:"suggested_lang_code",type:"flags.2?string"},{name:"lang_pack_version",type:"flags.2?int"},{name:"base_lang_pack_version",type:"flags.2?int"}],type:"Config"},{id:2384074613,predicate:"nearestDc",params:[{name:"country",type:"string"},{name:"this_dc",type:"int"},{name:"nearest_dc",type:"int"}],type:"NearestDc"},{id:497489295,predicate:"help.appUpdate",params:[{name:"flags",type:"#"},{name:"can_not_skip",type:"flags.0?true"},{name:"id",type:"int"},{name:"version",type:"string"},{name:"text",type:"string"},{name:"entities",type:"Vector"},{name:"document",type:"flags.1?Document"},{name:"url",type:"flags.2?string"}],type:"help.AppUpdate"},{id:3294258486,predicate:"help.noAppUpdate",params:[],type:"help.AppUpdate"},{id:415997816,predicate:"help.inviteText",params:[{name:"message",type:"string"}],type:"help.InviteText"},{id:2877210784,predicate:"encryptedChatEmpty",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:1006044124,predicate:"encryptedChatWaiting",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"}],type:"EncryptedChat"},{id:3363328638,predicate:"encryptedChatRequested",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:4199992886,predicate:"encryptedChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:332848423,predicate:"encryptedChatDiscarded",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:4047615457,predicate:"inputEncryptedChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputEncryptedChat"},{id:3256830334,predicate:"encryptedFileEmpty",params:[],type:"EncryptedFile"},{id:1248893260,predicate:"encryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"key_fingerprint",type:"int"}],type:"EncryptedFile"},{id:406307684,predicate:"inputEncryptedFileEmpty",params:[],type:"InputEncryptedFile"},{id:1690108678,predicate:"inputEncryptedFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:1511503333,predicate:"inputEncryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputEncryptedFile"},{id:767652808,predicate:"inputEncryptedFileBigUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:3977822488,predicate:"encryptedMessage",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"},{name:"file",type:"EncryptedFile"}],type:"EncryptedMessage"},{id:594758406,predicate:"encryptedMessageService",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"}],type:"EncryptedMessage"},{id:3236054581,predicate:"messages.dhConfigNotModified",params:[{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:740433629,predicate:"messages.dhConfig",params:[{name:"g",type:"int"},{name:"p",type:"bytes"},{name:"version",type:"int"},{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:1443858741,predicate:"messages.sentEncryptedMessage",params:[{name:"date",type:"int"}],type:"messages.SentEncryptedMessage"},{id:2492727090,predicate:"messages.sentEncryptedFile",params:[{name:"date",type:"int"},{name:"file",type:"EncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:1928391342,predicate:"inputDocumentEmpty",params:[],type:"InputDocument"},{id:448771445,predicate:"inputDocument",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputDocument"},{id:922273905,predicate:"documentEmpty",params:[{name:"id",type:"long"}],type:"Document"},{id:512177195,predicate:"document",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"date",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumbs",type:"flags.0?Vector"},{name:"video_thumbs",type:"flags.1?Vector"},{name:"dc_id",type:"int"},{name:"attributes",type:"Vector"}],type:"Document"},{id:398898678,predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"},{id:2681474008,predicate:"notifyPeer",params:[{name:"peer",type:"Peer"}],type:"NotifyPeer"},{id:3033021260,predicate:"notifyUsers",params:[],type:"NotifyPeer"},{id:3221737155,predicate:"notifyChats",params:[],type:"NotifyPeer"},{id:3591563503,predicate:"notifyBroadcasts",params:[],type:"NotifyPeer"},{id:381645902,predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:4250847477,predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:2710034031,predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:3916839660,predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3576656887,predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:4082227115,predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3520285222,predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:2852968932,predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:393186209,predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:1653390447,predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:3714748232,predicate:"sendMessageGamePlayAction",params:[],type:"SendMessageAction"},{id:2297593788,predicate:"sendMessageRecordRoundAction",params:[],type:"SendMessageAction"},{id:608050278,predicate:"sendMessageUploadRoundAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3004386717,predicate:"contacts.found",params:[{name:"my_results",type:"Vector"},{name:"results",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Found"},{id:1335282456,predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:3187344422,predicate:"inputPrivacyKeyChatInvite",params:[],type:"InputPrivacyKey"},{id:4206550111,predicate:"inputPrivacyKeyPhoneCall",params:[],type:"InputPrivacyKey"},{id:3684593874,predicate:"inputPrivacyKeyPhoneP2P",params:[],type:"InputPrivacyKey"},{id:2765966344,predicate:"inputPrivacyKeyForwards",params:[],type:"InputPrivacyKey"},{id:1461304012,predicate:"inputPrivacyKeyProfilePhoto",params:[],type:"InputPrivacyKey"},{id:55761658,predicate:"inputPrivacyKeyPhoneNumber",params:[],type:"InputPrivacyKey"},{id:3508640733,predicate:"inputPrivacyKeyAddedByPhone",params:[],type:"InputPrivacyKey"},{id:3157175088,predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:1343122938,predicate:"privacyKeyChatInvite",params:[],type:"PrivacyKey"},{id:1030105979,predicate:"privacyKeyPhoneCall",params:[],type:"PrivacyKey"},{id:961092808,predicate:"privacyKeyPhoneP2P",params:[],type:"PrivacyKey"},{id:1777096355,predicate:"privacyKeyForwards",params:[],type:"PrivacyKey"},{id:2517966829,predicate:"privacyKeyProfilePhoto",params:[],type:"PrivacyKey"},{id:3516589165,predicate:"privacyKeyPhoneNumber",params:[],type:"PrivacyKey"},{id:1124062251,predicate:"privacyKeyAddedByPhone",params:[],type:"PrivacyKey"},{id:218751099,predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:407582158,predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:320652927,predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector"}],type:"InputPrivacyRule"},{id:195371015,predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:3597362889,predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:2417034343,predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector"}],type:"InputPrivacyRule"},{id:1283572154,predicate:"inputPrivacyValueAllowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"InputPrivacyRule"},{id:3626197935,predicate:"inputPrivacyValueDisallowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"InputPrivacyRule"},{id:4294843308,predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:1698855810,predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:1297858060,predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector"}],type:"PrivacyRule"},{id:4169726490,predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:2339628899,predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:209668535,predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector"}],type:"PrivacyRule"},{id:415136107,predicate:"privacyValueAllowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"PrivacyRule"},{id:2897086096,predicate:"privacyValueDisallowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"PrivacyRule"},{id:1352683077,predicate:"account.privacyRules",params:[{name:"rules",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"account.PrivacyRules"},{id:3100684255,predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:1815593308,predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:297109817,predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:1662637586,predicate:"documentAttributeSticker",params:[{name:"flags",type:"#"},{name:"mask",type:"flags.1?true"},{name:"alt",type:"string"},{name:"stickerset",type:"InputStickerSet"},{name:"mask_coords",type:"flags.0?MaskCoords"}],type:"DocumentAttribute"},{id:250621158,predicate:"documentAttributeVideo",params:[{name:"flags",type:"#"},{name:"round_message",type:"flags.0?true"},{name:"supports_streaming",type:"flags.1?true"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:2555574726,predicate:"documentAttributeAudio",params:[{name:"flags",type:"#"},{name:"voice",type:"flags.10?true"},{name:"duration",type:"int"},{name:"title",type:"flags.0?string"},{name:"performer",type:"flags.1?string"},{name:"waveform",type:"flags.2?bytes"}],type:"DocumentAttribute"},{id:358154344,predicate:"documentAttributeFilename",params:[{name:"file_name",type:"string"}],type:"DocumentAttribute"},{id:2550256375,predicate:"documentAttributeHasStickers",params:[],type:"DocumentAttribute"},{id:4050950690,predicate:"messages.stickersNotModified",params:[],type:"messages.Stickers"},{id:3831077821,predicate:"messages.stickers",params:[{name:"hash",type:"int"},{name:"stickers",type:"Vector"}],type:"messages.Stickers"},{id:313694676,predicate:"stickerPack",params:[{name:"emoticon",type:"string"},{name:"documents",type:"Vector"}],type:"StickerPack"},{id:3898999491,predicate:"messages.allStickersNotModified",params:[],type:"messages.AllStickers"},{id:3992797279,predicate:"messages.allStickers",params:[{name:"hash",type:"int"},{name:"sets",type:"Vector"}],type:"messages.AllStickers"},{id:2228326789,predicate:"messages.affectedMessages",params:[{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"messages.AffectedMessages"},{id:3943987176,predicate:"webPageEmpty",params:[{name:"id",type:"long"}],type:"WebPage"},{id:3313949212,predicate:"webPagePending",params:[{name:"id",type:"long"},{name:"date",type:"int"}],type:"WebPage"},{id:3902555570,predicate:"webPage",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"url",type:"string"},{name:"display_url",type:"string"},{name:"hash",type:"int"},{name:"type",type:"flags.0?string"},{name:"site_name",type:"flags.1?string"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"photo",type:"flags.4?Photo"},{name:"embed_url",type:"flags.5?string"},{name:"embed_type",type:"flags.5?string"},{name:"embed_width",type:"flags.6?int"},{name:"embed_height",type:"flags.6?int"},{name:"duration",type:"flags.7?int"},{name:"author",type:"flags.8?string"},{name:"document",type:"flags.9?Document"},{name:"cached_page",type:"flags.10?Page"},{name:"attributes",type:"flags.12?Vector"}],type:"WebPage"},{id:1930545681,predicate:"webPageNotModified",params:[{name:"flags",type:"#"},{name:"cached_page_views",type:"flags.0?int"}],type:"WebPage"},{id:2902578717,predicate:"authorization",params:[{name:"flags",type:"#"},{name:"current",type:"flags.0?true"},{name:"official_app",type:"flags.1?true"},{name:"password_pending",type:"flags.2?true"},{name:"hash",type:"long"},{name:"device_model",type:"string"},{name:"platform",type:"string"},{name:"system_version",type:"string"},{name:"api_id",type:"int"},{name:"app_name",type:"string"},{name:"app_version",type:"string"},{name:"date_created",type:"int"},{name:"date_active",type:"int"},{name:"ip",type:"string"},{name:"country",type:"string"},{name:"region",type:"string"}],type:"Authorization"},{id:307276766,predicate:"account.authorizations",params:[{name:"authorizations",type:"Vector"}],type:"account.Authorizations"},{id:2904965624,predicate:"account.password",params:[{name:"flags",type:"#"},{name:"has_recovery",type:"flags.0?true"},{name:"has_secure_values",type:"flags.1?true"},{name:"has_password",type:"flags.2?true"},{name:"current_algo",type:"flags.2?PasswordKdfAlgo"},{name:"srp_B",type:"flags.2?bytes"},{name:"srp_id",type:"flags.2?long"},{name:"hint",type:"flags.3?string"},{name:"email_unconfirmed_pattern",type:"flags.4?string"},{name:"new_algo",type:"PasswordKdfAlgo"},{name:"new_secure_algo",type:"SecurePasswordKdfAlgo"},{name:"secure_random",type:"bytes"}],type:"account.Password"},{id:2589733861,predicate:"account.passwordSettings",params:[{name:"flags",type:"#"},{name:"email",type:"flags.0?string"},{name:"secure_settings",type:"flags.1?SecureSecretSettings"}],type:"account.PasswordSettings"},{id:3258394569,predicate:"account.passwordInputSettings",params:[{name:"flags",type:"#"},{name:"new_algo",type:"flags.0?PasswordKdfAlgo"},{name:"new_password_hash",type:"flags.0?bytes"},{name:"hint",type:"flags.0?string"},{name:"email",type:"flags.1?string"},{name:"new_secure_settings",type:"flags.2?SecureSecretSettings"}],type:"account.PasswordInputSettings"},{id:326715557,predicate:"auth.passwordRecovery",params:[{name:"email_pattern",type:"string"}],type:"auth.PasswordRecovery"},{id:2743383929,predicate:"receivedNotifyMessage",params:[{name:"id",type:"int"},{name:"flags",type:"int"}],type:"ReceivedNotifyMessage"},{id:1776236393,predicate:"chatInviteEmpty",params:[],type:"ExportedChatInvite"},{id:4230874556,predicate:"chatInviteExported",params:[{name:"link",type:"string"}],type:"ExportedChatInvite"},{id:1516793212,predicate:"chatInviteAlready",params:[{name:"chat",type:"Chat"}],type:"ChatInvite"},{id:3754096014,predicate:"chatInvite",params:[{name:"flags",type:"#"},{name:"channel",type:"flags.0?true"},{name:"broadcast",type:"flags.1?true"},{name:"public",type:"flags.2?true"},{name:"megagroup",type:"flags.3?true"},{name:"title",type:"string"},{name:"photo",type:"Photo"},{name:"participants_count",type:"int"},{name:"participants",type:"flags.4?Vector"}],type:"ChatInvite"},{id:4290128789,predicate:"inputStickerSetEmpty",params:[],type:"InputStickerSet"},{id:2649203305,predicate:"inputStickerSetID",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputStickerSet"},{id:2250033312,predicate:"inputStickerSetShortName",params:[{name:"short_name",type:"string"}],type:"InputStickerSet"},{id:42402760,predicate:"inputStickerSetAnimatedEmoji",params:[],type:"InputStickerSet"},{id:3867103758,predicate:"inputStickerSetDice",params:[{name:"emoticon",type:"string"}],type:"InputStickerSet"},{id:4004802343,predicate:"stickerSet",params:[{name:"flags",type:"#"},{name:"archived",type:"flags.1?true"},{name:"official",type:"flags.2?true"},{name:"masks",type:"flags.3?true"},{name:"animated",type:"flags.5?true"},{name:"installed_date",type:"flags.0?int"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"short_name",type:"string"},{name:"thumb",type:"flags.4?PhotoSize"},{name:"thumb_dc_id",type:"flags.4?int"},{name:"count",type:"int"},{name:"hash",type:"int"}],type:"StickerSet"},{id:3054118054,predicate:"messages.stickerSet",params:[{name:"set",type:"StickerSet"},{name:"packs",type:"Vector"},{name:"documents",type:"Vector"}],type:"messages.StickerSet"},{id:3262826695,predicate:"botCommand",params:[{name:"command",type:"string"},{name:"description",type:"string"}],type:"BotCommand"},{id:2565348666,predicate:"botInfo",params:[{name:"user_id",type:"int"},{name:"description",type:"string"},{name:"commands",type:"Vector"}],type:"BotInfo"},{id:2734311552,predicate:"keyboardButton",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:629866245,predicate:"keyboardButtonUrl",params:[{name:"text",type:"string"},{name:"url",type:"string"}],type:"KeyboardButton"},{id:1748655686,predicate:"keyboardButtonCallback",params:[{name:"text",type:"string"},{name:"data",type:"bytes"}],type:"KeyboardButton"},{id:2976541737,predicate:"keyboardButtonRequestPhone",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:4235815743,predicate:"keyboardButtonRequestGeoLocation",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:90744648,predicate:"keyboardButtonSwitchInline",params:[{name:"flags",type:"#"},{name:"same_peer",type:"flags.0?true"},{name:"text",type:"string"},{name:"query",type:"string"}],type:"KeyboardButton"},{id:1358175439,predicate:"keyboardButtonGame",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:2950250427,predicate:"keyboardButtonBuy",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:280464681,predicate:"keyboardButtonUrlAuth",params:[{name:"flags",type:"#"},{name:"text",type:"string"},{name:"fwd_text",type:"flags.0?string"},{name:"url",type:"string"},{name:"button_id",type:"int"}],type:"KeyboardButton"},{id:3492708308,predicate:"inputKeyboardButtonUrlAuth",params:[{name:"flags",type:"#"},{name:"request_write_access",type:"flags.0?true"},{name:"text",type:"string"},{name:"fwd_text",type:"flags.1?string"},{name:"url",type:"string"},{name:"bot",type:"InputUser"}],type:"KeyboardButton"},{id:3150401885,predicate:"keyboardButtonRequestPoll",params:[{name:"flags",type:"#"},{name:"quiz",type:"flags.0?Bool"},{name:"text",type:"string"}],type:"KeyboardButton"},{id:2002815875,predicate:"keyboardButtonRow",params:[{name:"buttons",type:"Vector"}],type:"KeyboardButtonRow"},{id:2688441221,predicate:"replyKeyboardHide",params:[{name:"flags",type:"#"},{name:"selective",type:"flags.2?true"}],type:"ReplyMarkup"},{id:4094724768,predicate:"replyKeyboardForceReply",params:[{name:"flags",type:"#"},{name:"single_use",type:"flags.1?true"},{name:"selective",type:"flags.2?true"}],type:"ReplyMarkup"},{id:889353612,predicate:"replyKeyboardMarkup",params:[{name:"flags",type:"#"},{name:"resize",type:"flags.0?true"},{name:"single_use",type:"flags.1?true"},{name:"selective",type:"flags.2?true"},{name:"rows",type:"Vector"}],type:"ReplyMarkup"},{id:1218642516,predicate:"replyInlineMarkup",params:[{name:"rows",type:"Vector"}],type:"ReplyMarkup"},{id:3146955413,predicate:"messageEntityUnknown",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:4194588573,predicate:"messageEntityMention",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1868782349,predicate:"messageEntityHashtag",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1827637959,predicate:"messageEntityBotCommand",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1859134776,predicate:"messageEntityUrl",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1692693954,predicate:"messageEntityEmail",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:3177253833,predicate:"messageEntityBold",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:2188348256,predicate:"messageEntityItalic",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:681706865,predicate:"messageEntityCode",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1938967520,predicate:"messageEntityPre",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"language",type:"string"}],type:"MessageEntity"},{id:1990644519,predicate:"messageEntityTextUrl",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"url",type:"string"}],type:"MessageEntity"},{id:892193368,predicate:"messageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"int"}],type:"MessageEntity"},{id:546203849,predicate:"inputMessageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"InputUser"}],type:"MessageEntity"},{id:2607407947,predicate:"messageEntityPhone",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1280209983,predicate:"messageEntityCashtag",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:2622389899,predicate:"messageEntityUnderline",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:3204879316,predicate:"messageEntityStrike",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:34469328,predicate:"messageEntityBlockquote",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1981704948,predicate:"messageEntityBankCard",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:4002160262,predicate:"inputChannelEmpty",params:[],type:"InputChannel"},{id:2951442734,predicate:"inputChannel",params:[{name:"channel_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputChannel"},{id:707290417,predicate:"inputChannelFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"channel_id",type:"int"}],type:"InputChannel"},{id:2131196633,predicate:"contacts.resolvedPeer",params:[{name:"peer",type:"Peer"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.ResolvedPeer"},{id:182649427,predicate:"messageRange",params:[{name:"min_id",type:"int"},{name:"max_id",type:"int"}],type:"MessageRange"},{id:1041346555,predicate:"updates.channelDifferenceEmpty",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"pts",type:"int"},{name:"timeout",type:"flags.1?int"}],type:"updates.ChannelDifference"},{id:2763835134,predicate:"updates.channelDifferenceTooLong",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"timeout",type:"flags.1?int"},{name:"dialog",type:"Dialog"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"updates.ChannelDifference"},{id:543450958,predicate:"updates.channelDifference",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"pts",type:"int"},{name:"timeout",type:"flags.1?int"},{name:"new_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"updates.ChannelDifference"},{id:2496933607,predicate:"channelMessagesFilterEmpty",params:[],type:"ChannelMessagesFilter"},{id:3447183703,predicate:"channelMessagesFilter",params:[{name:"flags",type:"#"},{name:"exclude_new_messages",type:"flags.1?true"},{name:"ranges",type:"Vector"}],type:"ChannelMessagesFilter"},{id:367766557,predicate:"channelParticipant",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ChannelParticipant"},{id:2737347181,predicate:"channelParticipantSelf",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChannelParticipant"},{id:2156729764,predicate:"channelParticipantCreator",params:[{name:"flags",type:"#"},{name:"user_id",type:"int"},{name:"rank",type:"flags.0?string"}],type:"ChannelParticipant"},{id:3435051951,predicate:"channelParticipantAdmin",params:[{name:"flags",type:"#"},{name:"can_edit",type:"flags.0?true"},{name:"self",type:"flags.1?true"},{name:"user_id",type:"int"},{name:"inviter_id",type:"flags.1?int"},{name:"promoted_by",type:"int"},{name:"date",type:"int"},{name:"admin_rights",type:"ChatAdminRights"},{name:"rank",type:"flags.2?string"}],type:"ChannelParticipant"},{id:470789295,predicate:"channelParticipantBanned",params:[{name:"flags",type:"#"},{name:"left",type:"flags.0?true"},{name:"user_id",type:"int"},{name:"kicked_by",type:"int"},{name:"date",type:"int"},{name:"banned_rights",type:"ChatBannedRights"}],type:"ChannelParticipant"},{id:3728686201,predicate:"channelParticipantsRecent",params:[],type:"ChannelParticipantsFilter"},{id:3026225513,predicate:"channelParticipantsAdmins",params:[],type:"ChannelParticipantsFilter"},{id:2746567045,predicate:"channelParticipantsKicked",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:2966521435,predicate:"channelParticipantsBots",params:[],type:"ChannelParticipantsFilter"},{id:338142689,predicate:"channelParticipantsBanned",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:106343499,predicate:"channelParticipantsSearch",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:3144345741,predicate:"channelParticipantsContacts",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:4117684904,predicate:"channels.channelParticipants",params:[{name:"count",type:"int"},{name:"participants",type:"Vector"},{name:"users",type:"Vector"}],type:"channels.ChannelParticipants"},{id:4028055529,predicate:"channels.channelParticipantsNotModified",params:[],type:"channels.ChannelParticipants"},{id:3503927651,predicate:"channels.channelParticipant",params:[{name:"participant",type:"ChannelParticipant"},{name:"users",type:"Vector"}],type:"channels.ChannelParticipant"},{id:2013922064,predicate:"help.termsOfService",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"id",type:"DataJSON"},{name:"text",type:"string"},{name:"entities",type:"Vector"},{name:"min_age_confirm",type:"flags.1?int"}],type:"help.TermsOfService"},{id:372165663,predicate:"foundGif",params:[{name:"url",type:"string"},{name:"thumb_url",type:"string"},{name:"content_url",type:"string"},{name:"content_type",type:"string"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"FoundGif"},{id:2624914441,predicate:"foundGifCached",params:[{name:"url",type:"string"},{name:"photo",type:"Photo"},{name:"document",type:"Document"}],type:"FoundGif"},{id:1158290442,predicate:"messages.foundGifs",params:[{name:"next_offset",type:"int"},{name:"results",type:"Vector"}],type:"messages.FoundGifs"},{id:3892468898,predicate:"messages.savedGifsNotModified",params:[],type:"messages.SavedGifs"},{id:772213157,predicate:"messages.savedGifs",params:[{name:"hash",type:"int"},{name:"gifs",type:"Vector"}],type:"messages.SavedGifs"},{id:864077702,predicate:"inputBotInlineMessageMediaAuto",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1036876423,predicate:"inputBotInlineMessageText",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:3249626469,predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1098628881,predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:2800599037,predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1262639204,predicate:"inputBotInlineMessageGame",params:[{name:"flags",type:"#"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:2294256409,predicate:"inputBotInlineResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"url",type:"flags.3?string"},{name:"thumb",type:"flags.4?InputWebDocument"},{name:"content",type:"flags.5?InputWebDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:2832753831,predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:4294507972,predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:1336154098,predicate:"inputBotInlineResultGame",params:[{name:"id",type:"string"},{name:"short_name",type:"string"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:1984755728,predicate:"botInlineMessageMediaAuto",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:2357159394,predicate:"botInlineMessageText",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:3072515685,predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:2324063644,predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:416402882,predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:295067450,predicate:"botInlineResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"url",type:"flags.3?string"},{name:"thumb",type:"flags.4?WebDocument"},{name:"content",type:"flags.5?WebDocument"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:400266251,predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:2491197512,predicate:"messages.botResults",params:[{name:"flags",type:"#"},{name:"gallery",type:"flags.0?true"},{name:"query_id",type:"long"},{name:"next_offset",type:"flags.1?string"},{name:"switch_pm",type:"flags.2?InlineBotSwitchPM"},{name:"results",type:"Vector"},{name:"cache_time",type:"int"},{name:"users",type:"Vector"}],type:"messages.BotResults"},{id:1571494644,predicate:"exportedMessageLink",params:[{name:"link",type:"string"},{name:"html",type:"string"}],type:"ExportedMessageLink"},{id:893020267,predicate:"messageFwdHeader",params:[{name:"flags",type:"#"},{name:"from_id",type:"flags.0?int"},{name:"from_name",type:"flags.5?string"},{name:"date",type:"int"},{name:"channel_id",type:"flags.1?int"},{name:"channel_post",type:"flags.2?int"},{name:"post_author",type:"flags.3?string"},{name:"saved_from_peer",type:"flags.4?Peer"},{name:"saved_from_msg_id",type:"flags.4?int"},{name:"psa_type",type:"flags.6?string"}],type:"MessageFwdHeader"},{id:1923290508,predicate:"auth.codeTypeSms",params:[],type:"auth.CodeType"},{id:1948046307,predicate:"auth.codeTypeCall",params:[],type:"auth.CodeType"},{id:577556219,predicate:"auth.codeTypeFlashCall",params:[],type:"auth.CodeType"},{id:1035688326,predicate:"auth.sentCodeTypeApp",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:3221273506,predicate:"auth.sentCodeTypeSms",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:1398007207,predicate:"auth.sentCodeTypeCall",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:2869151449,predicate:"auth.sentCodeTypeFlashCall",params:[{name:"pattern",type:"string"}],type:"auth.SentCodeType"},{id:911761060,predicate:"messages.botCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"has_url",type:"flags.3?true"},{name:"native_ui",type:"flags.4?true"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"messages.BotCallbackAnswer"},{id:649453030,predicate:"messages.messageEditData",params:[{name:"flags",type:"#"},{name:"caption",type:"flags.0?true"}],type:"messages.MessageEditData"},{id:2299280777,predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:1008755359,predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:863093588,predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:3989684315,predicate:"topPeer",params:[{name:"peer",type:"Peer"},{name:"rating",type:"double"}],type:"TopPeer"},{id:2875595611,predicate:"topPeerCategoryBotsPM",params:[],type:"TopPeerCategory"},{id:344356834,predicate:"topPeerCategoryBotsInline",params:[],type:"TopPeerCategory"},{id:104314861,predicate:"topPeerCategoryCorrespondents",params:[],type:"TopPeerCategory"},{id:3172442442,predicate:"topPeerCategoryGroups",params:[],type:"TopPeerCategory"},{id:371037736,predicate:"topPeerCategoryChannels",params:[],type:"TopPeerCategory"},{id:511092620,predicate:"topPeerCategoryPhoneCalls",params:[],type:"TopPeerCategory"},{id:2822794409,predicate:"topPeerCategoryForwardUsers",params:[],type:"TopPeerCategory"},{id:4226728176,predicate:"topPeerCategoryForwardChats",params:[],type:"TopPeerCategory"},{id:4219683473,predicate:"topPeerCategoryPeers",params:[{name:"category",type:"TopPeerCategory"},{name:"count",type:"int"},{name:"peers",type:"Vector"}],type:"TopPeerCategoryPeers"},{id:3727060725,predicate:"contacts.topPeersNotModified",params:[],type:"contacts.TopPeers"},{id:1891070632,predicate:"contacts.topPeers",params:[{name:"categories",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.TopPeers"},{id:3039597469,predicate:"contacts.topPeersDisabled",params:[],type:"contacts.TopPeers"},{id:453805082,predicate:"draftMessageEmpty",params:[{name:"flags",type:"#"},{name:"date",type:"flags.0?int"}],type:"DraftMessage"},{id:4253970719,predicate:"draftMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"},{name:"date",type:"int"}],type:"DraftMessage"},{id:3336309862,predicate:"messages.featuredStickersNotModified",params:[{name:"count",type:"int"}],type:"messages.FeaturedStickers"},{id:3064709953,predicate:"messages.featuredStickers",params:[{name:"hash",type:"int"},{name:"count",type:"int"},{name:"sets",type:"Vector"},{name:"unread",type:"Vector"}],type:"messages.FeaturedStickers"},{id:186120336,predicate:"messages.recentStickersNotModified",params:[],type:"messages.RecentStickers"},{id:586395571,predicate:"messages.recentStickers",params:[{name:"hash",type:"int"},{name:"packs",type:"Vector"},{name:"stickers",type:"Vector"},{name:"dates",type:"Vector"}],type:"messages.RecentStickers"},{id:1338747336,predicate:"messages.archivedStickers",params:[{name:"count",type:"int"},{name:"sets",type:"Vector"}],type:"messages.ArchivedStickers"},{id:946083368,predicate:"messages.stickerSetInstallResultSuccess",params:[],type:"messages.StickerSetInstallResult"},{id:904138920,predicate:"messages.stickerSetInstallResultArchive",params:[{name:"sets",type:"Vector"}],type:"messages.StickerSetInstallResult"},{id:1678812626,predicate:"stickerSetCovered",params:[{name:"set",type:"StickerSet"},{name:"cover",type:"Document"}],type:"StickerSetCovered"},{id:872932635,predicate:"stickerSetMultiCovered",params:[{name:"set",type:"StickerSet"},{name:"covers",type:"Vector"}],type:"StickerSetCovered"},{id:2933316530,predicate:"maskCoords",params:[{name:"n",type:"int"},{name:"x",type:"double"},{name:"y",type:"double"},{name:"zoom",type:"double"}],type:"MaskCoords"},{id:1251549527,predicate:"inputStickeredMediaPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputStickeredMedia"},{id:70813275,predicate:"inputStickeredMediaDocument",params:[{name:"id",type:"InputDocument"}],type:"InputStickeredMedia"},{id:3187238203,predicate:"game",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"short_name",type:"string"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"Photo"},{name:"document",type:"flags.0?Document"}],type:"Game"},{id:53231223,predicate:"inputGameID",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputGame"},{id:3274827786,predicate:"inputGameShortName",params:[{name:"bot_id",type:"InputUser"},{name:"short_name",type:"string"}],type:"InputGame"},{id:1493171408,predicate:"highScore",params:[{name:"pos",type:"int"},{name:"user_id",type:"int"},{name:"score",type:"int"}],type:"HighScore"},{id:2587622809,predicate:"messages.highScores",params:[{name:"scores",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.HighScores"},{id:3695018575,predicate:"textEmpty",params:[],type:"RichText"},{id:1950782688,predicate:"textPlain",params:[{name:"text",type:"string"}],type:"RichText"},{id:1730456516,predicate:"textBold",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3641877916,predicate:"textItalic",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3240501956,predicate:"textUnderline",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:2616769429,predicate:"textStrike",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:1816074681,predicate:"textFixed",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:1009288385,predicate:"textUrl",params:[{name:"text",type:"RichText"},{name:"url",type:"string"},{name:"webpage_id",type:"long"}],type:"RichText"},{id:3730443734,predicate:"textEmail",params:[{name:"text",type:"RichText"},{name:"email",type:"string"}],type:"RichText"},{id:2120376535,predicate:"textConcat",params:[{name:"texts",type:"Vector"}],type:"RichText"},{id:3983181060,predicate:"textSubscript",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3355139585,predicate:"textSuperscript",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:55281185,predicate:"textMarked",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:483104362,predicate:"textPhone",params:[{name:"text",type:"RichText"},{name:"phone",type:"string"}],type:"RichText"},{id:136105807,predicate:"textImage",params:[{name:"document_id",type:"long"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"RichText"},{id:894777186,predicate:"textAnchor",params:[{name:"text",type:"RichText"},{name:"name",type:"string"}],type:"RichText"},{id:324435594,predicate:"pageBlockUnsupported",params:[],type:"PageBlock"},{id:1890305021,predicate:"pageBlockTitle",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:2415565343,predicate:"pageBlockSubtitle",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3132089824,predicate:"pageBlockAuthorDate",params:[{name:"author",type:"RichText"},{name:"published_date",type:"int"}],type:"PageBlock"},{id:3218105580,predicate:"pageBlockHeader",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:4046173921,predicate:"pageBlockSubheader",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:1182402406,predicate:"pageBlockParagraph",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3228621118,predicate:"pageBlockPreformatted",params:[{name:"text",type:"RichText"},{name:"language",type:"string"}],type:"PageBlock"},{id:1216809369,predicate:"pageBlockFooter",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3676352904,predicate:"pageBlockDivider",params:[],type:"PageBlock"},{id:3456972720,predicate:"pageBlockAnchor",params:[{name:"name",type:"string"}],type:"PageBlock"},{id:3840442385,predicate:"pageBlockList",params:[{name:"items",type:"Vector"}],type:"PageBlock"},{id:641563686,predicate:"pageBlockBlockquote",params:[{name:"text",type:"RichText"},{name:"caption",type:"RichText"}],type:"PageBlock"},{id:1329878739,predicate:"pageBlockPullquote",params:[{name:"text",type:"RichText"},{name:"caption",type:"RichText"}],type:"PageBlock"},{id:391759200,predicate:"pageBlockPhoto",params:[{name:"flags",type:"#"},{name:"photo_id",type:"long"},{name:"caption",type:"PageCaption"},{name:"url",type:"flags.0?string"},{name:"webpage_id",type:"flags.0?long"}],type:"PageBlock"},{id:2089805750,predicate:"pageBlockVideo",params:[{name:"flags",type:"#"},{name:"autoplay",type:"flags.0?true"},{name:"loop",type:"flags.1?true"},{name:"video_id",type:"long"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:972174080,predicate:"pageBlockCover",params:[{name:"cover",type:"PageBlock"}],type:"PageBlock"},{id:2826014149,predicate:"pageBlockEmbed",params:[{name:"flags",type:"#"},{name:"full_width",type:"flags.0?true"},{name:"allow_scrolling",type:"flags.3?true"},{name:"url",type:"flags.1?string"},{name:"html",type:"flags.2?string"},{name:"poster_photo_id",type:"flags.4?long"},{name:"w",type:"flags.5?int"},{name:"h",type:"flags.5?int"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:4065961995,predicate:"pageBlockEmbedPost",params:[{name:"url",type:"string"},{name:"webpage_id",type:"long"},{name:"author_photo_id",type:"long"},{name:"author",type:"string"},{name:"date",type:"int"},{name:"blocks",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:1705048653,predicate:"pageBlockCollage",params:[{name:"items",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:52401552,predicate:"pageBlockSlideshow",params:[{name:"items",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:4011282869,predicate:"pageBlockChannel",params:[{name:"channel",type:"Chat"}],type:"PageBlock"},{id:2151899626,predicate:"pageBlockAudio",params:[{name:"audio_id",type:"long"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:504660880,predicate:"pageBlockKicker",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3209554562,predicate:"pageBlockTable",params:[{name:"flags",type:"#"},{name:"bordered",type:"flags.0?true"},{name:"striped",type:"flags.1?true"},{name:"title",type:"RichText"},{name:"rows",type:"Vector"}],type:"PageBlock"},{id:2592793057,predicate:"pageBlockOrderedList",params:[{name:"items",type:"Vector"}],type:"PageBlock"},{id:1987480557,predicate:"pageBlockDetails",params:[{name:"flags",type:"#"},{name:"open",type:"flags.0?true"},{name:"blocks",type:"Vector"},{name:"title",type:"RichText"}],type:"PageBlock"},{id:370236054,predicate:"pageBlockRelatedArticles",params:[{name:"title",type:"RichText"},{name:"articles",type:"Vector"}],type:"PageBlock"},{id:2756656886,predicate:"pageBlockMap",params:[{name:"geo",type:"GeoPoint"},{name:"zoom",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:2246320897,predicate:"phoneCallDiscardReasonMissed",params:[],type:"PhoneCallDiscardReason"},{id:3767910816,predicate:"phoneCallDiscardReasonDisconnect",params:[],type:"PhoneCallDiscardReason"},{id:1471006352,predicate:"phoneCallDiscardReasonHangup",params:[],type:"PhoneCallDiscardReason"},{id:4210550985,predicate:"phoneCallDiscardReasonBusy",params:[],type:"PhoneCallDiscardReason"},{id:2104790276,predicate:"dataJSON",params:[{name:"data",type:"string"}],type:"DataJSON"},{id:3408489464,predicate:"labeledPrice",params:[{name:"label",type:"string"},{name:"amount",type:"long"}],type:"LabeledPrice"},{id:3272254296,predicate:"invoice",params:[{name:"flags",type:"#"},{name:"test",type:"flags.0?true"},{name:"name_requested",type:"flags.1?true"},{name:"phone_requested",type:"flags.2?true"},{name:"email_requested",type:"flags.3?true"},{name:"shipping_address_requested",type:"flags.4?true"},{name:"flexible",type:"flags.5?true"},{name:"phone_to_provider",type:"flags.6?true"},{name:"email_to_provider",type:"flags.7?true"},{name:"currency",type:"string"},{name:"prices",type:"Vector"}],type:"Invoice"},{id:3926049406,predicate:"paymentCharge",params:[{name:"id",type:"string"},{name:"provider_charge_id",type:"string"}],type:"PaymentCharge"},{id:512535275,predicate:"postAddress",params:[{name:"street_line1",type:"string"},{name:"street_line2",type:"string"},{name:"city",type:"string"},{name:"state",type:"string"},{name:"country_iso2",type:"string"},{name:"post_code",type:"string"}],type:"PostAddress"},{id:2426158996,predicate:"paymentRequestedInfo",params:[{name:"flags",type:"#"},{name:"name",type:"flags.0?string"},{name:"phone",type:"flags.1?string"},{name:"email",type:"flags.2?string"},{name:"shipping_address",type:"flags.3?PostAddress"}],type:"PaymentRequestedInfo"},{id:3452074527,predicate:"paymentSavedCredentialsCard",params:[{name:"id",type:"string"},{name:"title",type:"string"}],type:"PaymentSavedCredentials"},{id:475467473,predicate:"webDocument",params:[{name:"url",type:"string"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"WebDocument"},{id:4190682310,predicate:"webDocumentNoProxy",params:[{name:"url",type:"string"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"WebDocument"},{id:2616017741,predicate:"inputWebDocument",params:[{name:"url",type:"string"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"InputWebDocument"},{id:3258570374,predicate:"inputWebFileLocation",params:[{name:"url",type:"string"},{name:"access_hash",type:"long"}],type:"InputWebFileLocation"},{id:2669814217,predicate:"inputWebFileGeoPointLocation",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"access_hash",type:"long"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"zoom",type:"int"},{name:"scale",type:"int"}],type:"InputWebFileLocation"},{id:568808380,predicate:"upload.webFile",params:[{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"file_type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.WebFile"},{id:1062645411,predicate:"payments.paymentForm",params:[{name:"flags",type:"#"},{name:"can_save_credentials",type:"flags.2?true"},{name:"password_missing",type:"flags.3?true"},{name:"bot_id",type:"int"},{name:"invoice",type:"Invoice"},{name:"provider_id",type:"int"},{name:"url",type:"string"},{name:"native_provider",type:"flags.4?string"},{name:"native_params",type:"flags.4?DataJSON"},{name:"saved_info",type:"flags.0?PaymentRequestedInfo"},{name:"saved_credentials",type:"flags.1?PaymentSavedCredentials"},{name:"users",type:"Vector"}],type:"payments.PaymentForm"},{id:3510966403,predicate:"payments.validatedRequestedInfo",params:[{name:"flags",type:"#"},{name:"id",type:"flags.0?string"},{name:"shipping_options",type:"flags.1?Vector"}],type:"payments.ValidatedRequestedInfo"},{id:1314881805,predicate:"payments.paymentResult",params:[{name:"updates",type:"Updates"}],type:"payments.PaymentResult"},{id:3628142905,predicate:"payments.paymentVerificationNeeded",params:[{name:"url",type:"string"}],type:"payments.PaymentResult"},{id:1342771681,predicate:"payments.paymentReceipt",params:[{name:"flags",type:"#"},{name:"date",type:"int"},{name:"bot_id",type:"int"},{name:"invoice",type:"Invoice"},{name:"provider_id",type:"int"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping",type:"flags.1?ShippingOption"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"credentials_title",type:"string"},{name:"users",type:"Vector"}],type:"payments.PaymentReceipt"},{id:4220511292,predicate:"payments.savedInfo",params:[{name:"flags",type:"#"},{name:"has_saved_credentials",type:"flags.1?true"},{name:"saved_info",type:"flags.0?PaymentRequestedInfo"}],type:"payments.SavedInfo"},{id:3238965967,predicate:"inputPaymentCredentialsSaved",params:[{name:"id",type:"string"},{name:"tmp_password",type:"bytes"}],type:"InputPaymentCredentials"},{id:873977640,predicate:"inputPaymentCredentials",params:[{name:"flags",type:"#"},{name:"save",type:"flags.0?true"},{name:"data",type:"DataJSON"}],type:"InputPaymentCredentials"},{id:178373535,predicate:"inputPaymentCredentialsApplePay",params:[{name:"payment_data",type:"DataJSON"}],type:"InputPaymentCredentials"},{id:3389379854,predicate:"inputPaymentCredentialsAndroidPay",params:[{name:"payment_token",type:"DataJSON"},{name:"google_transaction_id",type:"string"}],type:"InputPaymentCredentials"},{id:3680828724,predicate:"account.tmpPassword",params:[{name:"tmp_password",type:"bytes"},{name:"valid_until",type:"int"}],type:"account.TmpPassword"},{id:3055631583,predicate:"shippingOption",params:[{name:"id",type:"string"},{name:"title",type:"string"},{name:"prices",type:"Vector"}],type:"ShippingOption"},{id:4288717974,predicate:"inputStickerSetItem",params:[{name:"flags",type:"#"},{name:"document",type:"InputDocument"},{name:"emoji",type:"string"},{name:"mask_coords",type:"flags.0?MaskCoords"}],type:"InputStickerSetItem"},{id:506920429,predicate:"inputPhoneCall",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoneCall"},{id:1399245077,predicate:"phoneCallEmpty",params:[{name:"id",type:"long"}],type:"PhoneCall"},{id:462375633,predicate:"phoneCallWaiting",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"protocol",type:"PhoneCallProtocol"},{name:"receive_date",type:"flags.0?int"}],type:"PhoneCall"},{id:2280307539,predicate:"phoneCallRequested",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_hash",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"PhoneCall"},{id:2575058250,predicate:"phoneCallAccepted",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_b",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"PhoneCall"},{id:2269294207,predicate:"phoneCall",params:[{name:"flags",type:"#"},{name:"p2p_allowed",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"},{name:"protocol",type:"PhoneCallProtocol"},{name:"connections",type:"Vector"},{name:"start_date",type:"int"}],type:"PhoneCall"},{id:1355435489,predicate:"phoneCallDiscarded",params:[{name:"flags",type:"#"},{name:"need_rating",type:"flags.2?true"},{name:"need_debug",type:"flags.3?true"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"reason",type:"flags.0?PhoneCallDiscardReason"},{name:"duration",type:"flags.1?int"}],type:"PhoneCall"},{id:2639009728,predicate:"phoneConnection",params:[{name:"id",type:"long"},{name:"ip",type:"string"},{name:"ipv6",type:"string"},{name:"port",type:"int"},{name:"peer_tag",type:"bytes"}],type:"PhoneConnection"},{id:4236742600,predicate:"phoneCallProtocol",params:[{name:"flags",type:"#"},{name:"udp_p2p",type:"flags.0?true"},{name:"udp_reflector",type:"flags.1?true"},{name:"min_layer",type:"int"},{name:"max_layer",type:"int"},{name:"library_versions",type:"Vector"}],type:"PhoneCallProtocol"},{id:3968000320,predicate:"phone.phoneCall",params:[{name:"phone_call",type:"PhoneCall"},{name:"users",type:"Vector"}],type:"phone.PhoneCall"},{id:4004045934,predicate:"upload.cdnFileReuploadNeeded",params:[{name:"request_token",type:"bytes"}],type:"upload.CdnFile"},{id:2845821519,predicate:"upload.cdnFile",params:[{name:"bytes",type:"bytes"}],type:"upload.CdnFile"},{id:3380800186,predicate:"cdnPublicKey",params:[{name:"dc_id",type:"int"},{name:"public_key",type:"string"}],type:"CdnPublicKey"},{id:1462101002,predicate:"cdnConfig",params:[{name:"public_keys",type:"Vector"}],type:"CdnConfig"},{id:3402727926,predicate:"langPackString",params:[{name:"key",type:"string"},{name:"value",type:"string"}],type:"LangPackString"},{id:1816636575,predicate:"langPackStringPluralized",params:[{name:"flags",type:"#"},{name:"key",type:"string"},{name:"zero_value",type:"flags.0?string"},{name:"one_value",type:"flags.1?string"},{name:"two_value",type:"flags.2?string"},{name:"few_value",type:"flags.3?string"},{name:"many_value",type:"flags.4?string"},{name:"other_value",type:"string"}],type:"LangPackString"},{id:695856818,predicate:"langPackStringDeleted",params:[{name:"key",type:"string"}],type:"LangPackString"},{id:4085629430,predicate:"langPackDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"},{name:"version",type:"int"},{name:"strings",type:"Vector"}],type:"LangPackDifference"},{id:4006239459,predicate:"langPackLanguage",params:[{name:"flags",type:"#"},{name:"official",type:"flags.0?true"},{name:"rtl",type:"flags.2?true"},{name:"beta",type:"flags.3?true"},{name:"name",type:"string"},{name:"native_name",type:"string"},{name:"lang_code",type:"string"},{name:"base_lang_code",type:"flags.1?string"},{name:"plural_code",type:"string"},{name:"strings_count",type:"int"},{name:"translated_count",type:"int"},{name:"translations_url",type:"string"}],type:"LangPackLanguage"},{id:3873421349,predicate:"channelAdminLogEventActionChangeTitle",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1427671598,predicate:"channelAdminLogEventActionChangeAbout",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1783299128,predicate:"channelAdminLogEventActionChangeUsername",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1129042607,predicate:"channelAdminLogEventActionChangePhoto",params:[{name:"prev_photo",type:"Photo"},{name:"new_photo",type:"Photo"}],type:"ChannelAdminLogEventAction"},{id:460916654,predicate:"channelAdminLogEventActionToggleInvites",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:648939889,predicate:"channelAdminLogEventActionToggleSignatures",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:3924306968,predicate:"channelAdminLogEventActionUpdatePinned",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:1889215493,predicate:"channelAdminLogEventActionEditMessage",params:[{name:"prev_message",type:"Message"},{name:"new_message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:1121994683,predicate:"channelAdminLogEventActionDeleteMessage",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:405815507,predicate:"channelAdminLogEventActionParticipantJoin",params:[],type:"ChannelAdminLogEventAction"},{id:4170676210,predicate:"channelAdminLogEventActionParticipantLeave",params:[],type:"ChannelAdminLogEventAction"},{id:3810276568,predicate:"channelAdminLogEventActionParticipantInvite",params:[{name:"participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:3872931198,predicate:"channelAdminLogEventActionParticipantToggleBan",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:3580323600,predicate:"channelAdminLogEventActionParticipantToggleAdmin",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:2982398631,predicate:"channelAdminLogEventActionChangeStickerSet",params:[{name:"prev_stickerset",type:"InputStickerSet"},{name:"new_stickerset",type:"InputStickerSet"}],type:"ChannelAdminLogEventAction"},{id:1599903217,predicate:"channelAdminLogEventActionTogglePreHistoryHidden",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:771095562,predicate:"channelAdminLogEventActionDefaultBannedRights",params:[{name:"prev_banned_rights",type:"ChatBannedRights"},{name:"new_banned_rights",type:"ChatBannedRights"}],type:"ChannelAdminLogEventAction"},{id:2399639107,predicate:"channelAdminLogEventActionStopPoll",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:2725218331,predicate:"channelAdminLogEventActionChangeLinkedChat",params:[{name:"prev_value",type:"int"},{name:"new_value",type:"int"}],type:"ChannelAdminLogEventAction"},{id:241923758,predicate:"channelAdminLogEventActionChangeLocation",params:[{name:"prev_value",type:"ChannelLocation"},{name:"new_value",type:"ChannelLocation"}],type:"ChannelAdminLogEventAction"},{id:1401984889,predicate:"channelAdminLogEventActionToggleSlowMode",params:[{name:"prev_value",type:"int"},{name:"new_value",type:"int"}],type:"ChannelAdminLogEventAction"},{id:995769920,predicate:"channelAdminLogEvent",params:[{name:"id",type:"long"},{name:"date",type:"int"},{name:"user_id",type:"int"},{name:"action",type:"ChannelAdminLogEventAction"}],type:"ChannelAdminLogEvent"},{id:3985307469,predicate:"channels.adminLogResults",params:[{name:"events",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"channels.AdminLogResults"},{id:3926948580,predicate:"channelAdminLogEventsFilter",params:[{name:"flags",type:"#"},{name:"join",type:"flags.0?true"},{name:"leave",type:"flags.1?true"},{name:"invite",type:"flags.2?true"},{name:"ban",type:"flags.3?true"},{name:"unban",type:"flags.4?true"},{name:"kick",type:"flags.5?true"},{name:"unkick",type:"flags.6?true"},{name:"promote",type:"flags.7?true"},{name:"demote",type:"flags.8?true"},{name:"info",type:"flags.9?true"},{name:"settings",type:"flags.10?true"},{name:"pinned",type:"flags.11?true"},{name:"edit",type:"flags.12?true"},{name:"delete",type:"flags.13?true"}],type:"ChannelAdminLogEventsFilter"},{id:1558266229,predicate:"popularContact",params:[{name:"client_id",type:"long"},{name:"importers",type:"int"}],type:"PopularContact"},{id:2660214483,predicate:"messages.favedStickersNotModified",params:[],type:"messages.FavedStickers"},{id:4085198614,predicate:"messages.favedStickers",params:[{name:"hash",type:"int"},{name:"packs",type:"Vector"},{name:"stickers",type:"Vector"}],type:"messages.FavedStickers"},{id:1189204285,predicate:"recentMeUrlUnknown",params:[{name:"url",type:"string"}],type:"RecentMeUrl"},{id:2377921334,predicate:"recentMeUrlUser",params:[{name:"url",type:"string"},{name:"user_id",type:"int"}],type:"RecentMeUrl"},{id:2686132985,predicate:"recentMeUrlChat",params:[{name:"url",type:"string"},{name:"chat_id",type:"int"}],type:"RecentMeUrl"},{id:3947431965,predicate:"recentMeUrlChatInvite",params:[{name:"url",type:"string"},{name:"chat_invite",type:"ChatInvite"}],type:"RecentMeUrl"},{id:3154794460,predicate:"recentMeUrlStickerSet",params:[{name:"url",type:"string"},{name:"set",type:"StickerSetCovered"}],type:"RecentMeUrl"},{id:235081943,predicate:"help.recentMeUrls",params:[{name:"urls",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"help.RecentMeUrls"},{id:482797855,predicate:"inputSingleMedia",params:[{name:"flags",type:"#"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"},{name:"message",type:"string"},{name:"entities",type:"flags.0?Vector"}],type:"InputSingleMedia"},{id:3402187762,predicate:"webAuthorization",params:[{name:"hash",type:"long"},{name:"bot_id",type:"int"},{name:"domain",type:"string"},{name:"browser",type:"string"},{name:"platform",type:"string"},{name:"date_created",type:"int"},{name:"date_active",type:"int"},{name:"ip",type:"string"},{name:"region",type:"string"}],type:"WebAuthorization"},{id:3981887996,predicate:"account.webAuthorizations",params:[{name:"authorizations",type:"Vector"},{name:"users",type:"Vector"}],type:"account.WebAuthorizations"},{id:2792792866,predicate:"inputMessageID",params:[{name:"id",type:"int"}],type:"InputMessage"},{id:3134751637,predicate:"inputMessageReplyTo",params:[{name:"id",type:"int"}],type:"InputMessage"},{id:2257003832,predicate:"inputMessagePinned",params:[],type:"InputMessage"},{id:4239064759,predicate:"inputDialogPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputDialogPeer"},{id:1684014375,predicate:"inputDialogPeerFolder",params:[{name:"folder_id",type:"int"}],type:"InputDialogPeer"},{id:3849174789,predicate:"dialogPeer",params:[{name:"peer",type:"Peer"}],type:"DialogPeer"},{id:1363483106,predicate:"dialogPeerFolder",params:[{name:"folder_id",type:"int"}],type:"DialogPeer"},{id:223655517,predicate:"messages.foundStickerSetsNotModified",params:[],type:"messages.FoundStickerSets"},{id:1359533640,predicate:"messages.foundStickerSets",params:[{name:"hash",type:"int"},{name:"sets",type:"Vector"}],type:"messages.FoundStickerSets"},{id:1648543603,predicate:"fileHash",params:[{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"bytes"}],type:"FileHash"},{id:1968737087,predicate:"inputClientProxy",params:[{name:"address",type:"string"},{name:"port",type:"int"}],type:"InputClientProxy"},{id:3811614591,predicate:"help.termsOfServiceUpdateEmpty",params:[{name:"expires",type:"int"}],type:"help.TermsOfServiceUpdate"},{id:686618977,predicate:"help.termsOfServiceUpdate",params:[{name:"expires",type:"int"},{name:"terms_of_service",type:"help.TermsOfService"}],type:"help.TermsOfServiceUpdate"},{id:859091184,predicate:"inputSecureFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"file_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"InputSecureFile"},{id:1399317950,predicate:"inputSecureFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputSecureFile"},{id:1679398724,predicate:"secureFileEmpty",params:[],type:"SecureFile"},{id:3760683618,predicate:"secureFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"date",type:"int"},{name:"file_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureFile"},{id:2330640067,predicate:"secureData",params:[{name:"data",type:"bytes"},{name:"data_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureData"},{id:2103482845,predicate:"securePlainPhone",params:[{name:"phone",type:"string"}],type:"SecurePlainData"},{id:569137759,predicate:"securePlainEmail",params:[{name:"email",type:"string"}],type:"SecurePlainData"},{id:2636808675,predicate:"secureValueTypePersonalDetails",params:[],type:"SecureValueType"},{id:1034709504,predicate:"secureValueTypePassport",params:[],type:"SecureValueType"},{id:115615172,predicate:"secureValueTypeDriverLicense",params:[],type:"SecureValueType"},{id:2698015819,predicate:"secureValueTypeIdentityCard",params:[],type:"SecureValueType"},{id:2577698595,predicate:"secureValueTypeInternalPassport",params:[],type:"SecureValueType"},{id:3420659238,predicate:"secureValueTypeAddress",params:[],type:"SecureValueType"},{id:4231435598,predicate:"secureValueTypeUtilityBill",params:[],type:"SecureValueType"},{id:2299755533,predicate:"secureValueTypeBankStatement",params:[],type:"SecureValueType"},{id:2340959368,predicate:"secureValueTypeRentalAgreement",params:[],type:"SecureValueType"},{id:2581823594,predicate:"secureValueTypePassportRegistration",params:[],type:"SecureValueType"},{id:3926060083,predicate:"secureValueTypeTemporaryRegistration",params:[],type:"SecureValueType"},{id:3005262555,predicate:"secureValueTypePhone",params:[],type:"SecureValueType"},{id:2386339822,predicate:"secureValueTypeEmail",params:[],type:"SecureValueType"},{id:411017418,predicate:"secureValue",params:[{name:"flags",type:"#"},{name:"type",type:"SecureValueType"},{name:"data",type:"flags.0?SecureData"},{name:"front_side",type:"flags.1?SecureFile"},{name:"reverse_side",type:"flags.2?SecureFile"},{name:"selfie",type:"flags.3?SecureFile"},{name:"translation",type:"flags.6?Vector"},{name:"files",type:"flags.4?Vector"},{name:"plain_data",type:"flags.5?SecurePlainData"},{name:"hash",type:"bytes"}],type:"SecureValue"},{id:3676426407,predicate:"inputSecureValue",params:[{name:"flags",type:"#"},{name:"type",type:"SecureValueType"},{name:"data",type:"flags.0?SecureData"},{name:"front_side",type:"flags.1?InputSecureFile"},{name:"reverse_side",type:"flags.2?InputSecureFile"},{name:"selfie",type:"flags.3?InputSecureFile"},{name:"translation",type:"flags.6?Vector"},{name:"files",type:"flags.4?Vector"},{name:"plain_data",type:"flags.5?SecurePlainData"}],type:"InputSecureValue"},{id:3978218928,predicate:"secureValueHash",params:[{name:"type",type:"SecureValueType"},{name:"hash",type:"bytes"}],type:"SecureValueHash"},{id:3903065049,predicate:"secureValueErrorData",params:[{name:"type",type:"SecureValueType"},{name:"data_hash",type:"bytes"},{name:"field",type:"string"},{name:"text",type:"string"}],type:"SecureValueError"},{id:12467706,predicate:"secureValueErrorFrontSide",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2257201829,predicate:"secureValueErrorReverseSide",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:3845639894,predicate:"secureValueErrorSelfie",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2054162547,predicate:"secureValueErrorFile",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:1717706985,predicate:"secureValueErrorFiles",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"Vector"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2258466191,predicate:"secureValueError",params:[{name:"type",type:"SecureValueType"},{name:"hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2702460784,predicate:"secureValueErrorTranslationFile",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:878931416,predicate:"secureValueErrorTranslationFiles",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"Vector"},{name:"text",type:"string"}],type:"SecureValueError"},{id:871426631,predicate:"secureCredentialsEncrypted",params:[{name:"data",type:"bytes"},{name:"hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureCredentialsEncrypted"},{id:2905480408,predicate:"account.authorizationForm",params:[{name:"flags",type:"#"},{name:"required_types",type:"Vector"},{name:"values",type:"Vector"},{name:"errors",type:"Vector"},{name:"users",type:"Vector"},{name:"privacy_policy_url",type:"flags.0?string"}],type:"account.AuthorizationForm"},{id:2166326607,predicate:"account.sentEmailCode",params:[{name:"email_pattern",type:"string"},{name:"length",type:"int"}],type:"account.SentEmailCode"},{id:1722786150,predicate:"help.deepLinkInfoEmpty",params:[],type:"help.DeepLinkInfo"},{id:1783556146,predicate:"help.deepLinkInfo",params:[{name:"flags",type:"#"},{name:"update_app",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"}],type:"help.DeepLinkInfo"},{id:289586518,predicate:"savedPhoneContact",params:[{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"date",type:"int"}],type:"SavedContact"},{id:1304052993,predicate:"account.takeout",params:[{name:"id",type:"long"}],type:"account.Takeout"},{id:3562713238,predicate:"passwordKdfAlgoUnknown",params:[],type:"PasswordKdfAlgo"},{id:982592842,predicate:"passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow",params:[{name:"salt1",type:"bytes"},{name:"salt2",type:"bytes"},{name:"g",type:"int"},{name:"p",type:"bytes"}],type:"PasswordKdfAlgo"},{id:4883767,predicate:"securePasswordKdfAlgoUnknown",params:[],type:"SecurePasswordKdfAlgo"},{id:3153255840,predicate:"securePasswordKdfAlgoPBKDF2HMACSHA512iter100000",params:[{name:"salt",type:"bytes"}],type:"SecurePasswordKdfAlgo"},{id:2252807570,predicate:"securePasswordKdfAlgoSHA512",params:[{name:"salt",type:"bytes"}],type:"SecurePasswordKdfAlgo"},{id:354925740,predicate:"secureSecretSettings",params:[{name:"secure_algo",type:"SecurePasswordKdfAlgo"},{name:"secure_secret",type:"bytes"},{name:"secure_secret_id",type:"long"}],type:"SecureSecretSettings"},{id:2558588504,predicate:"inputCheckPasswordEmpty",params:[],type:"InputCheckPasswordSRP"},{id:3531600002,predicate:"inputCheckPasswordSRP",params:[{name:"srp_id",type:"long"},{name:"A",type:"bytes"},{name:"M1",type:"bytes"}],type:"InputCheckPasswordSRP"},{id:2191366618,predicate:"secureRequiredType",params:[{name:"flags",type:"#"},{name:"native_names",type:"flags.0?true"},{name:"selfie_required",type:"flags.1?true"},{name:"translation_required",type:"flags.2?true"},{name:"type",type:"SecureValueType"}],type:"SecureRequiredType"},{id:41187252,predicate:"secureRequiredTypeOneOf",params:[{name:"types",type:"Vector"}],type:"SecureRequiredType"},{id:3216634967,predicate:"help.passportConfigNotModified",params:[],type:"help.PassportConfig"},{id:2694370991,predicate:"help.passportConfig",params:[{name:"hash",type:"int"},{name:"countries_langs",type:"DataJSON"}],type:"help.PassportConfig"},{id:488313413,predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"JSONValue"}],type:"InputAppEvent"},{id:3235781593,predicate:"jsonObjectValue",params:[{name:"key",type:"string"},{name:"value",type:"JSONValue"}],type:"JSONObjectValue"},{id:1064139624,predicate:"jsonNull",params:[],type:"JSONValue"},{id:3342098026,predicate:"jsonBool",params:[{name:"value",type:"Bool"}],type:"JSONValue"},{id:736157604,predicate:"jsonNumber",params:[{name:"value",type:"double"}],type:"JSONValue"},{id:3072226938,predicate:"jsonString",params:[{name:"value",type:"string"}],type:"JSONValue"},{id:4148447075,predicate:"jsonArray",params:[{name:"value",type:"Vector"}],type:"JSONValue"},{id:2579616925,predicate:"jsonObject",params:[{name:"value",type:"Vector"}],type:"JSONValue"},{id:878078826,predicate:"pageTableCell",params:[{name:"flags",type:"#"},{name:"header",type:"flags.0?true"},{name:"align_center",type:"flags.3?true"},{name:"align_right",type:"flags.4?true"},{name:"valign_middle",type:"flags.5?true"},{name:"valign_bottom",type:"flags.6?true"},{name:"text",type:"flags.7?RichText"},{name:"colspan",type:"flags.1?int"},{name:"rowspan",type:"flags.2?int"}],type:"PageTableCell"},{id:3770729957,predicate:"pageTableRow",params:[{name:"cells",type:"Vector"}],type:"PageTableRow"},{id:1869903447,predicate:"pageCaption",params:[{name:"text",type:"RichText"},{name:"credit",type:"RichText"}],type:"PageCaption"},{id:3106911949,predicate:"pageListItemText",params:[{name:"text",type:"RichText"}],type:"PageListItem"},{id:635466748,predicate:"pageListItemBlocks",params:[{name:"blocks",type:"Vector"}],type:"PageListItem"},{id:1577484359,predicate:"pageListOrderedItemText",params:[{name:"num",type:"string"},{name:"text",type:"RichText"}],type:"PageListOrderedItem"},{id:2564655414,predicate:"pageListOrderedItemBlocks",params:[{name:"num",type:"string"},{name:"blocks",type:"Vector"}],type:"PageListOrderedItem"},{id:3012615176,predicate:"pageRelatedArticle",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"webpage_id",type:"long"},{name:"title",type:"flags.0?string"},{name:"description",type:"flags.1?string"},{name:"photo_id",type:"flags.2?long"},{name:"author",type:"flags.3?string"},{name:"published_date",type:"flags.4?int"}],type:"PageRelatedArticle"},{id:2556788493,predicate:"page",params:[{name:"flags",type:"#"},{name:"part",type:"flags.0?true"},{name:"rtl",type:"flags.1?true"},{name:"v2",type:"flags.2?true"},{name:"url",type:"string"},{name:"blocks",type:"Vector"},{name:"photos",type:"Vector"},{name:"documents",type:"Vector"},{name:"views",type:"flags.3?int"}],type:"Page"},{id:2349199817,predicate:"help.supportName",params:[{name:"name",type:"string"}],type:"help.SupportName"},{id:4088278765,predicate:"help.userInfoEmpty",params:[],type:"help.UserInfo"},{id:32192344,predicate:"help.userInfo",params:[{name:"message",type:"string"},{name:"entities",type:"Vector"},{name:"author",type:"string"},{name:"date",type:"int"}],type:"help.UserInfo"},{id:1823064809,predicate:"pollAnswer",params:[{name:"text",type:"string"},{name:"option",type:"bytes"}],type:"PollAnswer"},{id:2262925665,predicate:"poll",params:[{name:"id",type:"long"},{name:"flags",type:"#"},{name:"closed",type:"flags.0?true"},{name:"public_voters",type:"flags.1?true"},{name:"multiple_choice",type:"flags.2?true"},{name:"quiz",type:"flags.3?true"},{name:"question",type:"string"},{name:"answers",type:"Vector"},{name:"close_period",type:"flags.4?int"},{name:"close_date",type:"flags.5?int"}],type:"Poll"},{id:997055186,predicate:"pollAnswerVoters",params:[{name:"flags",type:"#"},{name:"chosen",type:"flags.0?true"},{name:"correct",type:"flags.1?true"},{name:"option",type:"bytes"},{name:"voters",type:"int"}],type:"PollAnswerVoters"},{id:3135029667,predicate:"pollResults",params:[{name:"flags",type:"#"},{name:"min",type:"flags.0?true"},{name:"results",type:"flags.1?Vector"},{name:"total_voters",type:"flags.2?int"},{name:"recent_voters",type:"flags.3?Vector"},{name:"solution",type:"flags.4?string"},{name:"solution_entities",type:"flags.4?Vector"}],type:"PollResults"},{id:4030849616,predicate:"chatOnlines",params:[{name:"onlines",type:"int"}],type:"ChatOnlines"},{id:1202287072,predicate:"statsURL",params:[{name:"url",type:"string"}],type:"StatsURL"},{id:1605510357,predicate:"chatAdminRights",params:[{name:"flags",type:"#"},{name:"change_info",type:"flags.0?true"},{name:"post_messages",type:"flags.1?true"},{name:"edit_messages",type:"flags.2?true"},{name:"delete_messages",type:"flags.3?true"},{name:"ban_users",type:"flags.4?true"},{name:"invite_users",type:"flags.5?true"},{name:"pin_messages",type:"flags.7?true"},{name:"add_admins",type:"flags.9?true"}],type:"ChatAdminRights"},{id:2668758040,predicate:"chatBannedRights",params:[{name:"flags",type:"#"},{name:"view_messages",type:"flags.0?true"},{name:"send_messages",type:"flags.1?true"},{name:"send_media",type:"flags.2?true"},{name:"send_stickers",type:"flags.3?true"},{name:"send_gifs",type:"flags.4?true"},{name:"send_games",type:"flags.5?true"},{name:"send_inline",type:"flags.6?true"},{name:"embed_links",type:"flags.7?true"},{name:"send_polls",type:"flags.8?true"},{name:"change_info",type:"flags.10?true"},{name:"invite_users",type:"flags.15?true"},{name:"pin_messages",type:"flags.17?true"},{name:"until_date",type:"int"}],type:"ChatBannedRights"},{id:3861952889,predicate:"inputWallPaper",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputWallPaper"},{id:1913199744,predicate:"inputWallPaperSlug",params:[{name:"slug",type:"string"}],type:"InputWallPaper"},{id:2217196460,predicate:"inputWallPaperNoFile",params:[],type:"InputWallPaper"},{id:471437699,predicate:"account.wallPapersNotModified",params:[],type:"account.WallPapers"},{id:1881892265,predicate:"account.wallPapers",params:[{name:"hash",type:"int"},{name:"wallpapers",type:"Vector"}],type:"account.WallPapers"},{id:3737042563,predicate:"codeSettings",params:[{name:"flags",type:"#"},{name:"allow_flashcall",type:"flags.0?true"},{name:"current_number",type:"flags.1?true"},{name:"allow_app_hash",type:"flags.4?true"}],type:"CodeSettings"},{id:84438264,predicate:"wallPaperSettings",params:[{name:"flags",type:"#"},{name:"blur",type:"flags.1?true"},{name:"motion",type:"flags.2?true"},{name:"background_color",type:"flags.0?int"},{name:"second_background_color",type:"flags.4?int"},{name:"intensity",type:"flags.3?int"},{name:"rotation",type:"flags.4?int"}],type:"WallPaperSettings"},{id:3762434803,predicate:"autoDownloadSettings",params:[{name:"flags",type:"#"},{name:"disabled",type:"flags.0?true"},{name:"video_preload_large",type:"flags.1?true"},{name:"audio_preload_next",type:"flags.2?true"},{name:"phonecalls_less_data",type:"flags.3?true"},{name:"photo_size_max",type:"int"},{name:"video_size_max",type:"int"},{name:"file_size_max",type:"int"},{name:"video_upload_maxbitrate",type:"int"}],type:"AutoDownloadSettings"},{id:1674235686,predicate:"account.autoDownloadSettings",params:[{name:"low",type:"AutoDownloadSettings"},{name:"medium",type:"AutoDownloadSettings"},{name:"high",type:"AutoDownloadSettings"}],type:"account.AutoDownloadSettings"},{id:3585325561,predicate:"emojiKeyword",params:[{name:"keyword",type:"string"},{name:"emoticons",type:"Vector"}],type:"EmojiKeyword"},{id:594408994,predicate:"emojiKeywordDeleted",params:[{name:"keyword",type:"string"},{name:"emoticons",type:"Vector"}],type:"EmojiKeyword"},{id:1556570557,predicate:"emojiKeywordsDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"},{name:"version",type:"int"},{name:"keywords",type:"Vector"}],type:"EmojiKeywordsDifference"},{id:2775937949,predicate:"emojiURL",params:[{name:"url",type:"string"}],type:"EmojiURL"},{id:3019592545,predicate:"emojiLanguage",params:[{name:"lang_code",type:"string"}],type:"EmojiLanguage"},{id:3162490573,predicate:"fileLocationToBeDeprecated",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"FileLocation"},{id:4283715173,predicate:"folder",params:[{name:"flags",type:"#"},{name:"autofill_new_broadcasts",type:"flags.0?true"},{name:"autofill_public_groups",type:"flags.1?true"},{name:"autofill_new_correspondents",type:"flags.2?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"flags.3?ChatPhoto"}],type:"Folder"},{id:4224893590,predicate:"inputFolderPeer",params:[{name:"peer",type:"InputPeer"},{name:"folder_id",type:"int"}],type:"InputFolderPeer"},{id:3921323624,predicate:"folderPeer",params:[{name:"peer",type:"Peer"},{name:"folder_id",type:"int"}],type:"FolderPeer"},{id:3896830975,predicate:"messages.searchCounter",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"filter",type:"MessagesFilter"},{name:"count",type:"int"}],type:"messages.SearchCounter"},{id:2463316494,predicate:"urlAuthResultRequest",params:[{name:"flags",type:"#"},{name:"request_write_access",type:"flags.0?true"},{name:"bot",type:"User"},{name:"domain",type:"string"}],type:"UrlAuthResult"},{id:2408320590,predicate:"urlAuthResultAccepted",params:[{name:"url",type:"string"}],type:"UrlAuthResult"},{id:2849430303,predicate:"urlAuthResultDefault",params:[],type:"UrlAuthResult"},{id:3216354699,predicate:"channelLocationEmpty",params:[],type:"ChannelLocation"},{id:547062491,predicate:"channelLocation",params:[{name:"geo_point",type:"GeoPoint"},{name:"address",type:"string"}],type:"ChannelLocation"},{id:3393592157,predicate:"peerLocated",params:[{name:"peer",type:"Peer"},{name:"expires",type:"int"},{name:"distance",type:"int"}],type:"PeerLocated"},{id:4176226379,predicate:"peerSelfLocated",params:[{name:"expires",type:"int"}],type:"PeerLocated"},{id:3497176244,predicate:"restrictionReason",params:[{name:"platform",type:"string"},{name:"reason",type:"string"},{name:"text",type:"string"}],type:"RestrictionReason"},{id:1012306921,predicate:"inputTheme",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputTheme"},{id:4119399921,predicate:"inputThemeSlug",params:[{name:"slug",type:"string"}],type:"InputTheme"},{id:42930452,predicate:"theme",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"default",type:"flags.1?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"slug",type:"string"},{name:"title",type:"string"},{name:"document",type:"flags.2?Document"},{name:"settings",type:"flags.3?ThemeSettings"},{name:"installs_count",type:"int"}],type:"Theme"},{id:4095653410,predicate:"account.themesNotModified",params:[],type:"account.Themes"},{id:2137482273,predicate:"account.themes",params:[{name:"hash",type:"int"},{name:"themes",type:"Vector"}],type:"account.Themes"},{id:1654593920,predicate:"auth.loginToken",params:[{name:"expires",type:"int"},{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:110008598,predicate:"auth.loginTokenMigrateTo",params:[{name:"dc_id",type:"int"},{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:957176926,predicate:"auth.loginTokenSuccess",params:[{name:"authorization",type:"auth.Authorization"}],type:"auth.LoginToken"},{id:1474462241,predicate:"account.contentSettings",params:[{name:"flags",type:"#"},{name:"sensitive_enabled",type:"flags.0?true"},{name:"sensitive_can_change",type:"flags.1?true"}],type:"account.ContentSettings"},{id:2837970629,predicate:"messages.inactiveChats",params:[{name:"dates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.InactiveChats"},{id:3282117730,predicate:"baseThemeClassic",params:[],type:"BaseTheme"},{id:4225242760,predicate:"baseThemeDay",params:[],type:"BaseTheme"},{id:3081969320,predicate:"baseThemeNight",params:[],type:"BaseTheme"},{id:1834973166,predicate:"baseThemeTinted",params:[],type:"BaseTheme"},{id:1527845466,predicate:"baseThemeArctic",params:[],type:"BaseTheme"},{id:3176168657,predicate:"inputThemeSettings",params:[{name:"flags",type:"#"},{name:"base_theme",type:"BaseTheme"},{name:"accent_color",type:"int"},{name:"message_top_color",type:"flags.0?int"},{name:"message_bottom_color",type:"flags.0?int"},{name:"wallpaper",type:"flags.1?InputWallPaper"},{name:"wallpaper_settings",type:"flags.1?WallPaperSettings"}],type:"InputThemeSettings"},{id:2618595402,predicate:"themeSettings",params:[{name:"flags",type:"#"},{name:"base_theme",type:"BaseTheme"},{name:"accent_color",type:"int"},{name:"message_top_color",type:"flags.0?int"},{name:"message_bottom_color",type:"flags.0?int"},{name:"wallpaper",type:"flags.1?WallPaper"}],type:"ThemeSettings"},{id:1421174295,predicate:"webPageAttributeTheme",params:[{name:"flags",type:"#"},{name:"documents",type:"flags.0?Vector"},{name:"settings",type:"flags.1?ThemeSettings"}],type:"WebPageAttribute"},{id:2727236953,predicate:"messageUserVote",params:[{name:"user_id",type:"int"},{name:"option",type:"bytes"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:909603888,predicate:"messageUserVoteInputOption",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:244310238,predicate:"messageUserVoteMultiple",params:[{name:"user_id",type:"int"},{name:"options",type:"Vector"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:136574537,predicate:"messages.votesList",params:[{name:"flags",type:"#"},{name:"count",type:"int"},{name:"votes",type:"Vector"},{name:"users",type:"Vector"},{name:"next_offset",type:"flags.0?string"}],type:"messages.VotesList"},{id:4117234314,predicate:"bankCardOpenUrl",params:[{name:"url",type:"string"},{name:"name",type:"string"}],type:"BankCardOpenUrl"},{id:1042605427,predicate:"payments.bankCardData",params:[{name:"title",type:"string"},{name:"open_urls",type:"Vector"}],type:"payments.BankCardData"},{id:1949890536,predicate:"dialogFilter",params:[{name:"flags",type:"#"},{name:"contacts",type:"flags.0?true"},{name:"non_contacts",type:"flags.1?true"},{name:"groups",type:"flags.2?true"},{name:"broadcasts",type:"flags.3?true"},{name:"bots",type:"flags.4?true"},{name:"exclude_muted",type:"flags.11?true"},{name:"exclude_read",type:"flags.12?true"},{name:"exclude_archived",type:"flags.13?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"emoticon",type:"flags.25?string"},{name:"pinned_peers",type:"Vector"},{name:"include_peers",type:"Vector"},{name:"exclude_peers",type:"Vector"}],type:"DialogFilter"},{id:2004110666,predicate:"dialogFilterSuggested",params:[{name:"filter",type:"DialogFilter"},{name:"description",type:"string"}],type:"DialogFilterSuggested"},{id:3057118639,predicate:"statsDateRangeDays",params:[{name:"min_date",type:"int"},{name:"max_date",type:"int"}],type:"StatsDateRangeDays"},{id:3410210014,predicate:"statsAbsValueAndPrev",params:[{name:"current",type:"double"},{name:"previous",type:"double"}],type:"StatsAbsValueAndPrev"},{id:3419287520,predicate:"statsPercentValue",params:[{name:"part",type:"double"},{name:"total",type:"double"}],type:"StatsPercentValue"},{id:1244130093,predicate:"statsGraphAsync",params:[{name:"token",type:"string"}],type:"StatsGraph"},{id:3202127906,predicate:"statsGraphError",params:[{name:"error",type:"string"}],type:"StatsGraph"},{id:2393138358,predicate:"statsGraph",params:[{name:"flags",type:"#"},{name:"json",type:"DataJSON"},{name:"zoom_token",type:"flags.0?string"}],type:"StatsGraph"},{id:2907687357,predicate:"messageInteractionCounters",params:[{name:"msg_id",type:"int"},{name:"views",type:"int"},{name:"forwards",type:"int"}],type:"MessageInteractionCounters"},{id:3187114900,predicate:"stats.broadcastStats",params:[{name:"period",type:"StatsDateRangeDays"},{name:"followers",type:"StatsAbsValueAndPrev"},{name:"views_per_post",type:"StatsAbsValueAndPrev"},{name:"shares_per_post",type:"StatsAbsValueAndPrev"},{name:"enabled_notifications",type:"StatsPercentValue"},{name:"growth_graph",type:"StatsGraph"},{name:"followers_graph",type:"StatsGraph"},{name:"mute_graph",type:"StatsGraph"},{name:"top_hours_graph",type:"StatsGraph"},{name:"interactions_graph",type:"StatsGraph"},{name:"iv_interactions_graph",type:"StatsGraph"},{name:"views_by_source_graph",type:"StatsGraph"},{name:"new_followers_by_source_graph",type:"StatsGraph"},{name:"languages_graph",type:"StatsGraph"},{name:"recent_message_interactions",type:"Vector"}],type:"stats.BroadcastStats"},{id:2566302837,predicate:"help.promoDataEmpty",params:[{name:"expires",type:"int"}],type:"help.PromoData"},{id:2352576831,predicate:"help.promoData",params:[{name:"flags",type:"#"},{name:"proxy",type:"flags.0?true"},{name:"expires",type:"int"},{name:"peer",type:"Peer"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"psa_type",type:"flags.1?string"},{name:"psa_message",type:"flags.2?string"}],type:"help.PromoData"},{id:1130084743,predicate:"videoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"VideoSize"}],methods:[{id:3416209197,method:"invokeAfterMsg",params:[{name:"msg_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:1036301552,method:"invokeAfterMsgs",params:[{name:"msg_ids",type:"Vector"},{name:"query",type:"!X"}],type:"X"},{id:3251461801,method:"initConnection",params:[{name:"flags",type:"#"},{name:"api_id",type:"int"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"system_lang_code",type:"string"},{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"proxy",type:"flags.0?InputClientProxy"},{name:"params",type:"flags.1?JSONValue"},{name:"query",type:"!X"}],type:"X"},{id:3667594509,method:"invokeWithLayer",params:[{name:"layer",type:"int"},{name:"query",type:"!X"}],type:"X"},{id:3214170551,method:"invokeWithoutUpdates",params:[{name:"query",type:"!X"}],type:"X"},{id:911373810,method:"invokeWithMessagesRange",params:[{name:"range",type:"MessageRange"},{name:"query",type:"!X"}],type:"X"},{id:2896821550,method:"invokeWithTakeout",params:[{name:"takeout_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:2792825935,method:"auth.sendCode",params:[{name:"phone_number",type:"string"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:2163139623,method:"auth.signUp",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"auth.Authorization"},{id:3168081281,method:"auth.signIn",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"auth.Authorization"},{id:1461180992,method:"auth.logOut",params:[],type:"Bool"},{id:2678787354,method:"auth.resetAuthorizations",params:[],type:"Bool"},{id:3854565325,method:"auth.exportAuthorization",params:[{name:"dc_id",type:"int"}],type:"auth.ExportedAuthorization"},{id:3824129555,method:"auth.importAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.Authorization"},{id:3453233669,method:"auth.bindTempAuthKey",params:[{name:"perm_auth_key_id",type:"long"},{name:"nonce",type:"long"},{name:"expires_at",type:"int"},{name:"encrypted_message",type:"bytes"}],type:"Bool"},{id:1738800940,method:"auth.importBotAuthorization",params:[{name:"flags",type:"int"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"bot_auth_token",type:"string"}],type:"auth.Authorization"},{id:3515567382,method:"auth.checkPassword",params:[{name:"password",type:"InputCheckPasswordSRP"}],type:"auth.Authorization"},{id:3633822822,method:"auth.requestPasswordRecovery",params:[],type:"auth.PasswordRecovery"},{id:1319464594,method:"auth.recoverPassword",params:[{name:"code",type:"string"}],type:"auth.Authorization"},{id:1056025023,method:"auth.resendCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"auth.SentCode"},{id:520357240,method:"auth.cancelCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{id:2387124616,method:"auth.dropTempAuthKeys",params:[{name:"except_auth_keys",type:"Vector"}],type:"Bool"},{id:2981369111,method:"auth.exportLoginToken",params:[{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"except_ids",type:"Vector"}],type:"auth.LoginToken"},{id:2511101156,method:"auth.importLoginToken",params:[{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:3902057805,method:"auth.acceptLoginToken",params:[{name:"token",type:"bytes"}],type:"Authorization"},{id:1754754159,method:"account.registerDevice",params:[{name:"flags",type:"#"},{name:"no_muted",type:"flags.0?true"},{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"app_sandbox",type:"Bool"},{name:"secret",type:"bytes"},{name:"other_uids",type:"Vector"}],type:"Bool"},{id:813089983,method:"account.unregisterDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"other_uids",type:"Vector"}],type:"Bool"},{id:2227067795,method:"account.updateNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"},{name:"settings",type:"InputPeerNotifySettings"}],type:"Bool"},{id:313765169,method:"account.getNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"}],type:"PeerNotifySettings"},{id:3682473799,method:"account.resetNotifySettings",params:[],type:"Bool"},{id:2018596725,method:"account.updateProfile",params:[{name:"flags",type:"#"},{name:"first_name",type:"flags.0?string"},{name:"last_name",type:"flags.1?string"},{name:"about",type:"flags.2?string"}],type:"User"},{id:1713919532,method:"account.updateStatus",params:[{name:"offline",type:"Bool"}],type:"Bool"},{id:2864387939,method:"account.getWallPapers",params:[{name:"hash",type:"int"}],type:"account.WallPapers"},{id:2920848735,method:"account.reportPeer",params:[{name:"peer",type:"InputPeer"},{name:"reason",type:"ReportReason"}],type:"Bool"},{id:655677548,method:"account.checkUsername",params:[{name:"username",type:"string"}],type:"Bool"},{id:1040964988,method:"account.updateUsername",params:[{name:"username",type:"string"}],type:"User"},{id:3671837008,method:"account.getPrivacy",params:[{name:"key",type:"InputPrivacyKey"}],type:"account.PrivacyRules"},{id:3388480744,method:"account.setPrivacy",params:[{name:"key",type:"InputPrivacyKey"},{name:"rules",type:"Vector"}],type:"account.PrivacyRules"},{id:1099779595,method:"account.deleteAccount",params:[{name:"reason",type:"string"}],type:"Bool"},{id:150761757,method:"account.getAccountTTL",params:[],type:"AccountDaysTTL"},{id:608323678,method:"account.setAccountTTL",params:[{name:"ttl",type:"AccountDaysTTL"}],type:"Bool"},{id:2186758885,method:"account.sendChangePhoneCode",params:[{name:"phone_number",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1891839707,method:"account.changePhone",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"User"},{id:954152242,method:"account.updateDeviceLocked",params:[{name:"period",type:"int"}],type:"Bool"},{id:3810574680,method:"account.getAuthorizations",params:[],type:"account.Authorizations"},{id:3749180348,method:"account.resetAuthorization",params:[{name:"hash",type:"long"}],type:"Bool"},{id:1418342645,method:"account.getPassword",params:[],type:"account.Password"},{id:2631199481,method:"account.getPasswordSettings",params:[{name:"password",type:"InputCheckPasswordSRP"}],type:"account.PasswordSettings"},{id:2778402863,method:"account.updatePasswordSettings",params:[{name:"password",type:"InputCheckPasswordSRP"},{name:"new_settings",type:"account.PasswordInputSettings"}],type:"Bool"},{id:457157256,method:"account.sendConfirmPhoneCode",params:[{name:"hash",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1596029123,method:"account.confirmPhone",params:[{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"Bool"},{id:1151208273,method:"account.getTmpPassword",params:[{name:"password",type:"InputCheckPasswordSRP"},{name:"period",type:"int"}],type:"account.TmpPassword"},{id:405695855,method:"account.getWebAuthorizations",params:[],type:"account.WebAuthorizations"},{id:755087855,method:"account.resetWebAuthorization",params:[{name:"hash",type:"long"}],type:"Bool"},{id:1747789204,method:"account.resetWebAuthorizations",params:[],type:"Bool"},{id:2995305597,method:"account.getAllSecureValues",params:[],type:"Vector"},{id:1936088002,method:"account.getSecureValue",params:[{name:"types",type:"Vector"}],type:"Vector"},{id:2308956957,method:"account.saveSecureValue",params:[{name:"value",type:"InputSecureValue"},{name:"secure_secret_id",type:"long"}],type:"SecureValue"},{id:3095444555,method:"account.deleteSecureValue",params:[{name:"types",type:"Vector"}],type:"Bool"},{id:3094063329,method:"account.getAuthorizationForm",params:[{name:"bot_id",type:"int"},{name:"scope",type:"string"},{name:"public_key",type:"string"}],type:"account.AuthorizationForm"},{id:3875699860,method:"account.acceptAuthorization",params:[{name:"bot_id",type:"int"},{name:"scope",type:"string"},{name:"public_key",type:"string"},{name:"value_hashes",type:"Vector"},{name:"credentials",type:"SecureCredentialsEncrypted"}],type:"Bool"},{id:2778945273,method:"account.sendVerifyPhoneCode",params:[{name:"phone_number",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1305716726,method:"account.verifyPhone",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"Bool"},{id:1880182943,method:"account.sendVerifyEmailCode",params:[{name:"email",type:"string"}],type:"account.SentEmailCode"},{id:3971627483,method:"account.verifyEmail",params:[{name:"email",type:"string"},{name:"code",type:"string"}],type:"Bool"},{id:4032514052,method:"account.initTakeoutSession",params:[{name:"flags",type:"#"},{name:"contacts",type:"flags.0?true"},{name:"message_users",type:"flags.1?true"},{name:"message_chats",type:"flags.2?true"},{name:"message_megagroups",type:"flags.3?true"},{name:"message_channels",type:"flags.4?true"},{name:"files",type:"flags.5?true"},{name:"file_max_size",type:"flags.5?int"}],type:"account.Takeout"},{id:489050862,method:"account.finishTakeoutSession",params:[{name:"flags",type:"#"},{name:"success",type:"flags.0?true"}],type:"Bool"},{id:2413762848,method:"account.confirmPasswordEmail",params:[{name:"code",type:"string"}],type:"Bool"},{id:2055154197,method:"account.resendPasswordEmail",params:[],type:"Bool"},{id:3251361206,method:"account.cancelPasswordEmail",params:[],type:"Bool"},{id:2668087080,method:"account.getContactSignUpNotification",params:[],type:"Bool"},{id:3488890721,method:"account.setContactSignUpNotification",params:[{name:"silent",type:"Bool"}],type:"Bool"},{id:1398240377,method:"account.getNotifyExceptions",params:[{name:"flags",type:"#"},{name:"compare_sound",type:"flags.1?true"},{name:"peer",type:"flags.0?InputNotifyPeer"}],type:"Updates"},{id:4237155306,method:"account.getWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"}],type:"WallPaper"},{id:3716494945,method:"account.uploadWallPaper",params:[{name:"file",type:"InputFile"},{name:"mime_type",type:"string"},{name:"settings",type:"WallPaperSettings"}],type:"WallPaper"},{id:1817860919,method:"account.saveWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"},{name:"unsave",type:"Bool"},{name:"settings",type:"WallPaperSettings"}],type:"Bool"},{id:4276967273,method:"account.installWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"},{name:"settings",type:"WallPaperSettings"}],type:"Bool"},{id:3141244932,method:"account.resetWallPapers",params:[],type:"Bool"},{id:1457130303,method:"account.getAutoDownloadSettings",params:[],type:"account.AutoDownloadSettings"},{id:1995661875,method:"account.saveAutoDownloadSettings",params:[{name:"flags",type:"#"},{name:"low",type:"flags.0?true"},{name:"high",type:"flags.1?true"},{name:"settings",type:"AutoDownloadSettings"}],type:"Bool"},{id:473805619,method:"account.uploadTheme",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"thumb",type:"flags.0?InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"Document"},{id:2217919007,method:"account.createTheme",params:[{name:"flags",type:"#"},{name:"slug",type:"string"},{name:"title",type:"string"},{name:"document",type:"flags.2?InputDocument"},{name:"settings",type:"flags.3?InputThemeSettings"}],type:"Theme"},{id:1555261397,method:"account.updateTheme",params:[{name:"flags",type:"#"},{name:"format",type:"string"},{name:"theme",type:"InputTheme"},{name:"slug",type:"flags.0?string"},{name:"title",type:"flags.1?string"},{name:"document",type:"flags.2?InputDocument"},{name:"settings",type:"flags.3?InputThemeSettings"}],type:"Theme"},{id:4065792108,method:"account.saveTheme",params:[{name:"theme",type:"InputTheme"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:2061776695,method:"account.installTheme",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"format",type:"flags.1?string"},{name:"theme",type:"flags.1?InputTheme"}],type:"Bool"},{id:2375906347,method:"account.getTheme",params:[{name:"format",type:"string"},{name:"theme",type:"InputTheme"},{name:"document_id",type:"long"}],type:"Theme"},{id:676939512,method:"account.getThemes",params:[{name:"format",type:"string"},{name:"hash",type:"int"}],type:"account.Themes"},{id:3044323691,method:"account.setContentSettings",params:[{name:"flags",type:"#"},{name:"sensitive_enabled",type:"flags.0?true"}],type:"Bool"},{id:2342210990,method:"account.getContentSettings",params:[],type:"account.ContentSettings"},{id:1705865692,method:"account.getMultiWallPapers",params:[{name:"wallpapers",type:"Vector"}],type:"Vector"},{id:227648840,method:"users.getUsers",params:[{name:"id",type:"Vector"}],type:"Vector"},{id:3392185777,method:"users.getFullUser",params:[{name:"id",type:"InputUser"}],type:"UserFull"},{id:2429064373,method:"users.setSecureValueErrors",params:[{name:"id",type:"InputUser"},{name:"errors",type:"Vector"}],type:"Bool"},{id:749357634,method:"contacts.getContactIDs",params:[{name:"hash",type:"int"}],type:"Vector"},{id:3299038190,method:"contacts.getStatuses",params:[],type:"Vector"},{id:3223553183,method:"contacts.getContacts",params:[{name:"hash",type:"int"}],type:"contacts.Contacts"},{id:746589157,method:"contacts.importContacts",params:[{name:"contacts",type:"Vector"}],type:"contacts.ImportedContacts"},{id:157945344,method:"contacts.deleteContacts",params:[{name:"id",type:"Vector"}],type:"Updates"},{id:269745566,method:"contacts.deleteByPhones",params:[{name:"phones",type:"Vector"}],type:"Bool"},{id:858475004,method:"contacts.block",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:3846242493,method:"contacts.unblock",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:4118557967,method:"contacts.getBlocked",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"contacts.Blocked"},{id:301470424,method:"contacts.search",params:[{name:"q",type:"string"},{name:"limit",type:"int"}],type:"contacts.Found"},{id:4181511075,method:"contacts.resolveUsername",params:[{name:"username",type:"string"}],type:"contacts.ResolvedPeer"},{id:3566742965,method:"contacts.getTopPeers",params:[{name:"flags",type:"#"},{name:"correspondents",type:"flags.0?true"},{name:"bots_pm",type:"flags.1?true"},{name:"bots_inline",type:"flags.2?true"},{name:"phone_calls",type:"flags.3?true"},{name:"forward_users",type:"flags.4?true"},{name:"forward_chats",type:"flags.5?true"},{name:"groups",type:"flags.10?true"},{name:"channels",type:"flags.15?true"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"contacts.TopPeers"},{id:451113900,method:"contacts.resetTopPeerRating",params:[{name:"category",type:"TopPeerCategory"},{name:"peer",type:"InputPeer"}],type:"Bool"},{id:2274703345,method:"contacts.resetSaved",params:[],type:"Bool"},{id:2196890527,method:"contacts.getSaved",params:[],type:"Vector"},{id:2232729050,method:"contacts.toggleTopPeers",params:[{name:"enabled",type:"Bool"}],type:"Bool"},{id:3908330448,method:"contacts.addContact",params:[{name:"flags",type:"#"},{name:"add_phone_privacy_exception",type:"flags.0?true"},{name:"id",type:"InputUser"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"phone",type:"string"}],type:"Updates"},{id:4164002319,method:"contacts.acceptContact",params:[{name:"id",type:"InputUser"}],type:"Updates"},{id:3544759364,method:"contacts.getLocated",params:[{name:"flags",type:"#"},{name:"background",type:"flags.1?true"},{name:"geo_point",type:"InputGeoPoint"},{name:"self_expires",type:"flags.0?int"}],type:"Updates"},{id:1673946374,method:"messages.getMessages",params:[{name:"id",type:"Vector"}],type:"messages.Messages"},{id:2699967347,method:"messages.getDialogs",params:[{name:"flags",type:"#"},{name:"exclude_pinned",type:"flags.0?true"},{name:"folder_id",type:"flags.1?int"},{name:"offset_date",type:"int"},{name:"offset_id",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.Dialogs"},{id:3703276128,method:"messages.getHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"offset_date",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:2249518952,method:"messages.search",params:[{name:"flags",type:"#"},{name:"peer",type:"InputPeer"},{name:"q",type:"string"},{name:"from_id",type:"flags.0?InputUser"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset_id",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:238054714,method:"messages.readHistory",params:[{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedMessages"},{id:469850889,method:"messages.deleteHistory",params:[{name:"flags",type:"#"},{name:"just_clear",type:"flags.0?true"},{name:"revoke",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedHistory"},{id:3851326930,method:"messages.deleteMessages",params:[{name:"flags",type:"#"},{name:"revoke",type:"flags.0?true"},{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:94983360,method:"messages.receivedMessages",params:[{name:"max_id",type:"int"}],type:"Vector"},{id:2743230032,method:"messages.setTyping",params:[{name:"peer",type:"InputPeer"},{name:"action",type:"SendMessageAction"}],type:"Bool"},{id:1376532592,method:"messages.sendMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"message",type:"string"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:881978281,method:"messages.sendMedia",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"media",type:"InputMedia"},{name:"message",type:"string"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:3657360910,method:"messages.forwardMessages",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"with_my_score",type:"flags.8?true"},{name:"grouped",type:"flags.9?true"},{name:"from_peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"random_id",type:"Vector"},{name:"to_peer",type:"InputPeer"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:3474297563,method:"messages.reportSpam",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:913498268,method:"messages.getPeerSettings",params:[{name:"peer",type:"InputPeer"}],type:"PeerSettings"},{id:3179460184,method:"messages.report",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"reason",type:"ReportReason"}],type:"Bool"},{id:1013621127,method:"messages.getChats",params:[{name:"id",type:"Vector"}],type:"messages.Chats"},{id:998448230,method:"messages.getFullChat",params:[{name:"chat_id",type:"int"}],type:"messages.ChatFull"},{id:3695519829,method:"messages.editChatTitle",params:[{name:"chat_id",type:"int"},{name:"title",type:"string"}],type:"Updates"},{id:3394009560,method:"messages.editChatPhoto",params:[{name:"chat_id",type:"int"},{name:"photo",type:"InputChatPhoto"}],type:"Updates"},{id:4188056073,method:"messages.addChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"fwd_limit",type:"int"}],type:"Updates"},{id:3764461334,method:"messages.deleteChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"}],type:"Updates"},{id:164303470,method:"messages.createChat",params:[{name:"users",type:"Vector"},{name:"title",type:"string"}],type:"Updates"},{id:651135312,method:"messages.getDhConfig",params:[{name:"version",type:"int"},{name:"random_length",type:"int"}],type:"messages.DhConfig"},{id:4132286275,method:"messages.requestEncryption",params:[{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:1035731989,method:"messages.acceptEncryption",params:[{name:"peer",type:"InputEncryptedChat"},{name:"g_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:3990430661,method:"messages.discardEncryption",params:[{name:"chat_id",type:"int"}],type:"Bool"},{id:2031374829,method:"messages.setEncryptedTyping",params:[{name:"peer",type:"InputEncryptedChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:2135648522,method:"messages.readEncryptedHistory",params:[{name:"peer",type:"InputEncryptedChat"},{name:"max_date",type:"int"}],type:"Bool"},{id:2843174771,method:"messages.sendEncrypted",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:2593135462,method:"messages.sendEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"},{name:"file",type:"InputEncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:852769188,method:"messages.sendEncryptedService",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:1436924774,method:"messages.receivedQueue",params:[{name:"max_qts",type:"int"}],type:"Vector"},{id:1259113487,method:"messages.reportEncryptedSpam",params:[{name:"peer",type:"InputEncryptedChat"}],type:"Bool"},{id:916930423,method:"messages.readMessageContents",params:[{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:71126828,method:"messages.getStickers",params:[{name:"emoticon",type:"string"},{name:"hash",type:"int"}],type:"messages.Stickers"},{id:479598769,method:"messages.getAllStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:2338894028,method:"messages.getWebPagePreview",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"}],type:"MessageMedia"},{id:234312524,method:"messages.exportChatInvite",params:[{name:"peer",type:"InputPeer"}],type:"ExportedChatInvite"},{id:1051570619,method:"messages.checkChatInvite",params:[{name:"hash",type:"string"}],type:"ChatInvite"},{id:1817183516,method:"messages.importChatInvite",params:[{name:"hash",type:"string"}],type:"Updates"},{id:639215886,method:"messages.getStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"messages.StickerSet"},{id:3348096096,method:"messages.installStickerSet",params:[{name:"stickerset",type:"InputStickerSet"},{name:"archived",type:"Bool"}],type:"messages.StickerSetInstallResult"},{id:4184757726,method:"messages.uninstallStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"Bool"},{id:3873403768,method:"messages.startBot",params:[{name:"bot",type:"InputUser"},{name:"peer",type:"InputPeer"},{name:"random_id",type:"long"},{name:"start_param",type:"string"}],type:"Updates"},{id:3301483869,method:"messages.getMessagesViews",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"increment",type:"Bool"}],type:"Vector"},{id:2850463534,method:"messages.editChatAdmin",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"is_admin",type:"Bool"}],type:"Bool"},{id:363051235,method:"messages.migrateChat",params:[{name:"chat_id",type:"int"}],type:"Updates"},{id:3211928996,method:"messages.searchGlobal",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"q",type:"string"},{name:"offset_rate",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:2016638777,method:"messages.reorderStickerSets",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"order",type:"Vector"}],type:"Bool"},{id:864953444,method:"messages.getDocumentByHash",params:[{name:"sha256",type:"bytes"},{name:"size",type:"int"},{name:"mime_type",type:"string"}],type:"Document"},{id:3214571371,method:"messages.searchGifs",params:[{name:"q",type:"string"},{name:"offset",type:"int"}],type:"messages.FoundGifs"},{id:2210348370,method:"messages.getSavedGifs",params:[{name:"hash",type:"int"}],type:"messages.SavedGifs"},{id:846868683,method:"messages.saveGif",params:[{name:"id",type:"InputDocument"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:1364105629,method:"messages.getInlineBotResults",params:[{name:"flags",type:"#"},{name:"bot",type:"InputUser"},{name:"peer",type:"InputPeer"},{name:"geo_point",type:"flags.0?InputGeoPoint"},{name:"query",type:"string"},{name:"offset",type:"string"}],type:"messages.BotResults"},{id:3948847622,method:"messages.setInlineBotResults",params:[{name:"flags",type:"#"},{name:"gallery",type:"flags.0?true"},{name:"private",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"results",type:"Vector"},{name:"cache_time",type:"int"},{name:"next_offset",type:"flags.2?string"},{name:"switch_pm",type:"flags.3?InlineBotSwitchPM"}],type:"Bool"},{id:570955184,method:"messages.sendInlineBotResult",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"hide_via",type:"flags.11?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"random_id",type:"long"},{name:"query_id",type:"long"},{name:"id",type:"string"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:4255550774,method:"messages.getMessageEditData",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"}],type:"messages.MessageEditData"},{id:1224152952,method:"messages.editMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"message",type:"flags.11?string"},{name:"media",type:"flags.14?InputMedia"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.15?int"}],type:"Updates"},{id:2203418042,method:"messages.editInlineBotMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"message",type:"flags.11?string"},{name:"media",type:"flags.14?InputMedia"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"}],type:"Bool"},{id:2164957164,method:"messages.getBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"game",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"data",type:"flags.0?bytes"}],type:"messages.BotCallbackAnswer"},{id:3582923530,method:"messages.setBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"Bool"},{id:3832593661,method:"messages.getPeerDialogs",params:[{name:"peers",type:"Vector"}],type:"messages.PeerDialogs"},{id:3157909835,method:"messages.saveDraft",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"}],type:"Bool"},{id:1782549861,method:"messages.getAllDrafts",params:[],type:"Updates"},{id:766298703,method:"messages.getFeaturedStickers",params:[{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:1527873830,method:"messages.readFeaturedStickers",params:[{name:"id",type:"Vector"}],type:"Bool"},{id:1587647177,method:"messages.getRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"hash",type:"int"}],type:"messages.RecentStickers"},{id:958863608,method:"messages.saveRecentSticker",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"id",type:"InputDocument"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:2308530221,method:"messages.clearRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"}],type:"Bool"},{id:1475442322,method:"messages.getArchivedStickers",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"offset_id",type:"long"},{name:"limit",type:"int"}],type:"messages.ArchivedStickers"},{id:1706608543,method:"messages.getMaskStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:3428542412,method:"messages.getAttachedStickers",params:[{name:"media",type:"InputStickeredMedia"}],type:"Vector"},{id:2398678208,method:"messages.setGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Updates"},{id:363700068,method:"messages.setInlineGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Bool"},{id:3894568093,method:"messages.getGameHighScores",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"}],type:"messages.HighScores"},{id:258170395,method:"messages.getInlineGameHighScores",params:[{name:"id",type:"InputBotInlineMessageID"},{name:"user_id",type:"InputUser"}],type:"messages.HighScores"},{id:218777796,method:"messages.getCommonChats",params:[{name:"user_id",type:"InputUser"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Chats"},{id:3953659888,method:"messages.getAllChats",params:[{name:"except_ids",type:"Vector"}],type:"messages.Chats"},{id:852135825,method:"messages.getWebPage",params:[{name:"url",type:"string"},{name:"hash",type:"int"}],type:"WebPage"},{id:2805064279,method:"messages.toggleDialogPin",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.0?true"},{name:"peer",type:"InputDialogPeer"}],type:"Bool"},{id:991616823,method:"messages.reorderPinnedDialogs",params:[{name:"flags",type:"#"},{name:"force",type:"flags.0?true"},{name:"folder_id",type:"int"},{name:"order",type:"Vector"}],type:"Bool"},{id:3602468338,method:"messages.getPinnedDialogs",params:[{name:"folder_id",type:"int"}],type:"messages.PeerDialogs"},{id:3858133754,method:"messages.setBotShippingResults",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"error",type:"flags.0?string"},{name:"shipping_options",type:"flags.1?Vector"}],type:"Bool"},{id:163765653,method:"messages.setBotPrecheckoutResults",params:[{name:"flags",type:"#"},{name:"success",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"error",type:"flags.0?string"}],type:"Bool"},{id:1369162417,method:"messages.uploadMedia",params:[{name:"peer",type:"InputPeer"},{name:"media",type:"InputMedia"}],type:"MessageMedia"},{id:3380473888,method:"messages.sendScreenshotNotification",params:[{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"int"},{name:"random_id",type:"long"}],type:"Updates"},{id:567151374,method:"messages.getFavedStickers",params:[{name:"hash",type:"int"}],type:"messages.FavedStickers"},{id:3120547163,method:"messages.faveSticker",params:[{name:"id",type:"InputDocument"},{name:"unfave",type:"Bool"}],type:"Bool"},{id:1180140658,method:"messages.getUnreadMentions",params:[{name:"peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"}],type:"messages.Messages"},{id:251759059,method:"messages.readMentions",params:[{name:"peer",type:"InputPeer"}],type:"messages.AffectedHistory"},{id:3150207753,method:"messages.getRecentLocations",params:[{name:"peer",type:"InputPeer"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:3422621899,method:"messages.sendMultiMedia",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"multi_media",type:"Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:1347929239,method:"messages.uploadEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"file",type:"InputEncryptedFile"}],type:"EncryptedFile"},{id:3266826379,method:"messages.searchStickerSets",params:[{name:"flags",type:"#"},{name:"exclude_featured",type:"flags.0?true"},{name:"q",type:"string"},{name:"hash",type:"int"}],type:"messages.FoundStickerSets"},{id:486505992,method:"messages.getSplitRanges",params:[],type:"Vector"},{id:3263617423,method:"messages.markDialogUnread",params:[{name:"flags",type:"#"},{name:"unread",type:"flags.0?true"},{name:"peer",type:"InputDialogPeer"}],type:"Bool"},{id:585256482,method:"messages.getDialogUnreadMarks",params:[],type:"Vector"},{id:2119757468,method:"messages.clearAllDrafts",params:[],type:"Bool"},{id:3534419948,method:"messages.updatePinnedMessage",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"}],type:"Updates"},{id:283795844,method:"messages.sendVote",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"options",type:"Vector"}],type:"Updates"},{id:1941660731,method:"messages.getPollResults",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"}],type:"Updates"},{id:1848369232,method:"messages.getOnlines",params:[{name:"peer",type:"InputPeer"}],type:"ChatOnlines"},{id:2167155430,method:"messages.getStatsURL",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"params",type:"string"}],type:"StatsURL"},{id:3740665751,method:"messages.editChatAbout",params:[{name:"peer",type:"InputPeer"},{name:"about",type:"string"}],type:"Bool"},{id:2777049921,method:"messages.editChatDefaultBannedRights",params:[{name:"peer",type:"InputPeer"},{name:"banned_rights",type:"ChatBannedRights"}],type:"Updates"},{id:899735650,method:"messages.getEmojiKeywords",params:[{name:"lang_code",type:"string"}],type:"EmojiKeywordsDifference"},{id:352892591,method:"messages.getEmojiKeywordsDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"}],type:"EmojiKeywordsDifference"},{id:1318675378,method:"messages.getEmojiKeywordsLanguages",params:[{name:"lang_codes",type:"Vector"}],type:"Vector"},{id:3585149990,method:"messages.getEmojiURL",params:[{name:"lang_code",type:"string"}],type:"EmojiURL"},{id:1932455680,method:"messages.getSearchCounters",params:[{name:"peer",type:"InputPeer"},{name:"filters",type:"Vector"}],type:"Vector"},{id:3812578835,method:"messages.requestUrlAuth",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"button_id",type:"int"}],type:"UrlAuthResult"},{id:4146719384,method:"messages.acceptUrlAuth",params:[{name:"flags",type:"#"},{name:"write_allowed",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"button_id",type:"int"}],type:"UrlAuthResult"},{id:1336717624,method:"messages.hidePeerSettingsBar",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:3804391515,method:"messages.getScheduledHistory",params:[{name:"peer",type:"InputPeer"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:3183150180,method:"messages.getScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"messages.Messages"},{id:3174597898,method:"messages.sendScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"Updates"},{id:1504586518,method:"messages.deleteScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"Updates"},{id:3094231054,method:"messages.getPollVotes",params:[{name:"flags",type:"#"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"option",type:"flags.0?bytes"},{name:"offset",type:"flags.1?string"},{name:"limit",type:"int"}],type:"messages.VotesList"},{id:3037016042,method:"messages.toggleStickerSets",params:[{name:"flags",type:"#"},{name:"uninstall",type:"flags.0?true"},{name:"archive",type:"flags.1?true"},{name:"unarchive",type:"flags.2?true"},{name:"stickersets",type:"Vector"}],type:"Bool"},{id:4053719405,method:"messages.getDialogFilters",params:[],type:"Vector"},{id:2728186924,method:"messages.getSuggestedDialogFilters",params:[],type:"Vector"},{id:450142282,method:"messages.updateDialogFilter",params:[{name:"flags",type:"#"},{name:"id",type:"int"},{name:"filter",type:"flags.0?DialogFilter"}],type:"Bool"},{id:3311649252,method:"messages.updateDialogFiltersOrder",params:[{name:"order",type:"Vector"}],type:"Bool"},{id:1608974939,method:"messages.getOldFeaturedStickers",params:[{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:3990128682,method:"updates.getState",params:[],type:"updates.State"},{id:630429265,method:"updates.getDifference",params:[{name:"flags",type:"#"},{name:"pts",type:"int"},{name:"pts_total_limit",type:"flags.0?int"},{name:"date",type:"int"},{name:"qts",type:"int"}],type:"updates.Difference"},{id:51854712,method:"updates.getChannelDifference",params:[{name:"flags",type:"#"},{name:"force",type:"flags.0?true"},{name:"channel",type:"InputChannel"},{name:"filter",type:"ChannelMessagesFilter"},{name:"pts",type:"int"},{name:"limit",type:"int"}],type:"updates.ChannelDifference"},{id:4038807890,method:"photos.updateProfilePhoto",params:[{name:"id",type:"InputPhoto"}],type:"UserProfilePhoto"},{id:1328726168,method:"photos.uploadProfilePhoto",params:[{name:"file",type:"InputFile"}],type:"photos.Photo"},{id:2278522671,method:"photos.deletePhotos",params:[{name:"id",type:"Vector"}],type:"Vector"},{id:2446144168,method:"photos.getUserPhotos",params:[{name:"user_id",type:"InputUser"},{name:"offset",type:"int"},{name:"max_id",type:"long"},{name:"limit",type:"int"}],type:"photos.Photos"},{id:3003426337,method:"upload.saveFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:2975505148,method:"upload.getFile",params:[{name:"flags",type:"#"},{name:"precise",type:"flags.0?true"},{name:"cdn_supported",type:"flags.1?true"},{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.File"},{id:3732629309,method:"upload.saveBigFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"file_total_parts",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:619086221,method:"upload.getWebFile",params:[{name:"location",type:"InputWebFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.WebFile"},{id:536919235,method:"upload.getCdnFile",params:[{name:"file_token",type:"bytes"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.CdnFile"},{id:2603046056,method:"upload.reuploadCdnFile",params:[{name:"file_token",type:"bytes"},{name:"request_token",type:"bytes"}],type:"Vector"},{id:1302676017,method:"upload.getCdnFileHashes",params:[{name:"file_token",type:"bytes"},{name:"offset",type:"int"}],type:"Vector"},{id:3338819889,method:"upload.getFileHashes",params:[{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"}],type:"Vector"},{id:3304659051,method:"help.getConfig",params:[],type:"Config"},{id:531836966,method:"help.getNearestDc",params:[],type:"NearestDc"},{id:1378703997,method:"help.getAppUpdate",params:[{name:"source",type:"string"}],type:"help.AppUpdate"},{id:1295590211,method:"help.getInviteText",params:[],type:"help.InviteText"},{id:2631862477,method:"help.getSupport",params:[],type:"help.Support"},{id:2417028975,method:"help.getAppChangelog",params:[{name:"prev_app_version",type:"string"}],type:"Updates"},{id:3961704397,method:"help.setBotUpdatesStatus",params:[{name:"pending_updates_count",type:"int"},{name:"message",type:"string"}],type:"Bool"},{id:1375900482,method:"help.getCdnConfig",params:[],type:"CdnConfig"},{id:1036054804,method:"help.getRecentMeUrls",params:[{name:"referer",type:"string"}],type:"help.RecentMeUrls"},{id:749019089,method:"help.getTermsOfServiceUpdate",params:[],type:"help.TermsOfServiceUpdate"},{id:4000511898,method:"help.acceptTermsOfService",params:[{name:"id",type:"DataJSON"}],type:"Bool"},{id:1072547679,method:"help.getDeepLinkInfo",params:[{name:"path",type:"string"}],type:"help.DeepLinkInfo"},{id:2559656208,method:"help.getAppConfig",params:[],type:"JSONValue"},{id:1862465352,method:"help.saveAppLog",params:[{name:"events",type:"Vector"}],type:"Bool"},{id:3328290056,method:"help.getPassportConfig",params:[{name:"hash",type:"int"}],type:"help.PassportConfig"},{id:3546343212,method:"help.getSupportName",params:[],type:"help.SupportName"},{id:59377875,method:"help.getUserInfo",params:[{name:"user_id",type:"InputUser"}],type:"help.UserInfo"},{id:1723407216,method:"help.editUserInfo",params:[{name:"user_id",type:"InputUser"},{name:"message",type:"string"},{name:"entities",type:"Vector"}],type:"help.UserInfo"},{id:3231151137,method:"help.getPromoData",params:[],type:"help.PromoData"},{id:505748629,method:"help.hidePromoData",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:3423619383,method:"channels.readHistory",params:[{name:"channel",type:"InputChannel"},{name:"max_id",type:"int"}],type:"Bool"},{id:2227305806,method:"channels.deleteMessages",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:3507345179,method:"channels.deleteUserHistory",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"}],type:"messages.AffectedHistory"},{id:4261967888,method:"channels.reportSpam",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"id",type:"Vector"}],type:"Bool"},{id:2911672867,method:"channels.getMessages",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"messages.Messages"},{id:306054633,method:"channels.getParticipants",params:[{name:"channel",type:"InputChannel"},{name:"filter",type:"ChannelParticipantsFilter"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"channels.ChannelParticipants"},{id:1416484774,method:"channels.getParticipant",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"}],type:"channels.ChannelParticipant"},{id:176122811,method:"channels.getChannels",params:[{name:"id",type:"Vector"}],type:"messages.Chats"},{id:141781513,method:"channels.getFullChannel",params:[{name:"channel",type:"InputChannel"}],type:"messages.ChatFull"},{id:1029681423,method:"channels.createChannel",params:[{name:"flags",type:"#"},{name:"broadcast",type:"flags.0?true"},{name:"megagroup",type:"flags.1?true"},{name:"title",type:"string"},{name:"about",type:"string"},{name:"geo_point",type:"flags.2?InputGeoPoint"},{name:"address",type:"flags.2?string"}],type:"Updates"},{id:3543959810,method:"channels.editAdmin",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"admin_rights",type:"ChatAdminRights"},{name:"rank",type:"string"}],type:"Updates"},{id:1450044624,method:"channels.editTitle",params:[{name:"channel",type:"InputChannel"},{name:"title",type:"string"}],type:"Updates"},{id:4046346185,method:"channels.editPhoto",params:[{name:"channel",type:"InputChannel"},{name:"photo",type:"InputChatPhoto"}],type:"Updates"},{id:283557164,method:"channels.checkUsername",params:[{name:"channel",type:"InputChannel"},{name:"username",type:"string"}],type:"Bool"},{id:890549214,method:"channels.updateUsername",params:[{name:"channel",type:"InputChannel"},{name:"username",type:"string"}],type:"Bool"},{id:615851205,method:"channels.joinChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:4164332181,method:"channels.leaveChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:429865580,method:"channels.inviteToChannel",params:[{name:"channel",type:"InputChannel"},{name:"users",type:"Vector"}],type:"Updates"},{id:3222347747,method:"channels.deleteChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:3468128611,method:"channels.exportMessageLink",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"int"},{name:"grouped",type:"Bool"}],type:"ExportedMessageLink"},{id:527021574,method:"channels.toggleSignatures",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:4172297903,method:"channels.getAdminedPublicChannels",params:[{name:"flags",type:"#"},{name:"by_location",type:"flags.0?true"},{name:"check_limit",type:"flags.1?true"}],type:"messages.Chats"},{id:1920559378,method:"channels.editBanned",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"banned_rights",type:"ChatBannedRights"}],type:"Updates"},{id:870184064,method:"channels.getAdminLog",params:[{name:"flags",type:"#"},{name:"channel",type:"InputChannel"},{name:"q",type:"string"},{name:"events_filter",type:"flags.0?ChannelAdminLogEventsFilter"},{name:"admins",type:"flags.1?Vector"},{name:"max_id",type:"long"},{name:"min_id",type:"long"},{name:"limit",type:"int"}],type:"channels.AdminLogResults"},{id:3935085817,method:"channels.setStickers",params:[{name:"channel",type:"InputChannel"},{name:"stickerset",type:"InputStickerSet"}],type:"Bool"},{id:3937786936,method:"channels.readMessageContents",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"Bool"},{id:2939592002,method:"channels.deleteHistory",params:[{name:"channel",type:"InputChannel"},{name:"max_id",type:"int"}],type:"Bool"},{id:3938171212,method:"channels.togglePreHistoryHidden",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:2202135744,method:"channels.getLeftChannels",params:[{name:"offset",type:"int"}],type:"messages.Chats"},{id:4124758904,method:"channels.getGroupsForDiscussion",params:[],type:"messages.Chats"},{id:1079520178,method:"channels.setDiscussionGroup",params:[{name:"broadcast",type:"InputChannel"},{name:"group",type:"InputChannel"}],type:"Bool"},{id:2402864415,method:"channels.editCreator",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"password",type:"InputCheckPasswordSRP"}],type:"Updates"},{id:1491484525,method:"channels.editLocation",params:[{name:"channel",type:"InputChannel"},{name:"geo_point",type:"InputGeoPoint"},{name:"address",type:"string"}],type:"Bool"},{id:3990134512,method:"channels.toggleSlowMode",params:[{name:"channel",type:"InputChannel"},{name:"seconds",type:"int"}],type:"Updates"},{id:300429806,method:"channels.getInactiveChannels",params:[],type:"messages.InactiveChats"},{id:2854709741,method:"bots.sendCustomRequest",params:[{name:"custom_method",type:"string"},{name:"params",type:"DataJSON"}],type:"DataJSON"},{id:3860938573,method:"bots.answerWebhookJSONQuery",params:[{name:"query_id",type:"long"},{name:"data",type:"DataJSON"}],type:"Bool"},{id:2153596662,method:"bots.setBotCommands",params:[{name:"commands",type:"Vector"}],type:"Bool"},{id:2582681413,method:"payments.getPaymentForm",params:[{name:"msg_id",type:"int"}],type:"payments.PaymentForm"},{id:2693966208,method:"payments.getPaymentReceipt",params:[{name:"msg_id",type:"int"}],type:"payments.PaymentReceipt"},{id:1997180532,method:"payments.validateRequestedInfo",params:[{name:"flags",type:"#"},{name:"save",type:"flags.0?true"},{name:"msg_id",type:"int"},{name:"info",type:"PaymentRequestedInfo"}],type:"payments.ValidatedRequestedInfo"},{id:730364339,method:"payments.sendPaymentForm",params:[{name:"flags",type:"#"},{name:"msg_id",type:"int"},{name:"requested_info_id",type:"flags.0?string"},{name:"shipping_option_id",type:"flags.1?string"},{name:"credentials",type:"InputPaymentCredentials"}],type:"payments.PaymentResult"},{id:578650699,method:"payments.getSavedInfo",params:[],type:"payments.SavedInfo"},{id:3627905217,method:"payments.clearSavedInfo",params:[{name:"flags",type:"#"},{name:"credentials",type:"flags.0?true"},{name:"info",type:"flags.1?true"}],type:"Bool"},{id:779736953,method:"payments.getBankCardData",params:[{name:"number",type:"string"}],type:"payments.BankCardData"},{id:4043532160,method:"stickers.createStickerSet",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"animated",type:"flags.1?true"},{name:"user_id",type:"InputUser"},{name:"title",type:"string"},{name:"short_name",type:"string"},{name:"thumb",type:"flags.2?InputDocument"},{name:"stickers",type:"Vector"}],type:"messages.StickerSet"},{id:4151709521,method:"stickers.removeStickerFromSet",params:[{name:"sticker",type:"InputDocument"}],type:"messages.StickerSet"},{id:4290172106,method:"stickers.changeStickerPosition",params:[{name:"sticker",type:"InputDocument"},{name:"position",type:"int"}],type:"messages.StickerSet"},{id:2253651646,method:"stickers.addStickerToSet",params:[{name:"stickerset",type:"InputStickerSet"},{name:"sticker",type:"InputStickerSetItem"}],type:"messages.StickerSet"},{id:2587250224,method:"stickers.setStickerSetThumb",params:[{name:"stickerset",type:"InputStickerSet"},{name:"thumb",type:"InputDocument"}],type:"messages.StickerSet"},{id:1430593449,method:"phone.getCallConfig",params:[],type:"DataJSON"},{id:1124046573,method:"phone.requestCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.0?true"},{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a_hash",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:1003664544,method:"phone.acceptCall",params:[{name:"peer",type:"InputPhoneCall"},{name:"g_b",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:788404002,method:"phone.confirmCall",params:[{name:"peer",type:"InputPhoneCall"},{name:"g_a",type:"bytes"},{name:"key_fingerprint",type:"long"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:399855457,method:"phone.receivedCall",params:[{name:"peer",type:"InputPhoneCall"}],type:"Bool"},{id:2999697856,method:"phone.discardCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.0?true"},{name:"peer",type:"InputPhoneCall"},{name:"duration",type:"int"},{name:"reason",type:"PhoneCallDiscardReason"},{name:"connection_id",type:"long"}],type:"Updates"},{id:1508562471,method:"phone.setCallRating",params:[{name:"flags",type:"#"},{name:"user_initiative",type:"flags.0?true"},{name:"peer",type:"InputPhoneCall"},{name:"rating",type:"int"},{name:"comment",type:"string"}],type:"Updates"},{id:662363518,method:"phone.saveCallDebug",params:[{name:"peer",type:"InputPhoneCall"},{name:"debug",type:"DataJSON"}],type:"Bool"},{id:4286223235,method:"phone.sendSignalingData",params:[{name:"peer",type:"InputPhoneCall"},{name:"data",type:"bytes"}],type:"Bool"},{id:4075959050,method:"langpack.getLangPack",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"}],type:"LangPackDifference"},{id:4025104387,method:"langpack.getStrings",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"keys",type:"Vector"}],type:"Vector"},{id:3449309861,method:"langpack.getDifference",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"from_version",type:"int"}],type:"LangPackDifference"},{id:1120311183,method:"langpack.getLanguages",params:[{name:"lang_pack",type:"string"}],type:"Vector"},{id:1784243458,method:"langpack.getLanguage",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"}],type:"LangPackLanguage"},{id:1749536939,method:"folders.editPeerFolders",params:[{name:"folder_peers",type:"Vector"}],type:"Updates"},{id:472471681,method:"folders.deleteFolder",params:[{name:"folder_id",type:"int"}],type:"Updates"},{id:2873246746,method:"stats.getBroadcastStats",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"channel",type:"InputChannel"}],type:"stats.BroadcastStats"},{id:1646092192,method:"stats.loadAsyncGraph",params:[{name:"flags",type:"#"},{name:"token",type:"string"},{name:"x",type:"flags.0?long"}],type:"StatsGraph"}]},layer:114}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.gzipUncompress=t.bytesModPow=t.pqPrimeLeemon=t.pqPrimeFactorization=t.hash_pbkdf2=t.rsaEncrypt=t.aesDecryptSync=t.aesEncryptSync=t.sha256HashSync=t.sha1HashSync=t.bytesFromLeemonBigInt=void 0;const i=s(a(22)),r=s(a(23)),p=a(14),o=s(a(24)),d=a(15),m=a(5),y=a(0);function c(e){var t=d.bigInt2str(e,16);return y.bytesFromHex(t)}function l(e){var t,a,n,s,i,r,p=Math.ceil(64/d.bpe)+1,o=0,m=new Array(p),l=new Array(p),u=new Array(p),g=new Array(p),h=new Array(p),f=new Array(p),_=new Array(p);for(t=0;t<3;t++){for(a=17+(15&y.nextRandomInt(128)),d.copyInt_(f,y.nextRandomInt(1e9)+1),d.copy_(_,f),s=1<>7),h[g[b]^b]=b;for(;!n[f];f^=e||1)a=(a=_^_<<1^_<<2^_<<3^_<<4)>>8^255&a^99,n[f]=a,s[a]=f,u=16843009*g[t=g[e=g[f]]]^65537*t^257*e^16843008*f,l=257*g[a]^16843008*a,i[f]=l=l<<24^l>>>8,r[f]=l=l<<24^l>>>8,p[f]=l=l<<24^l>>>8,o[f]=l=l<<24^l>>>8,d[a]=u=u<<24^u>>>8,m[a]=u=u<<24^u>>>8,y[a]=u=u<<24^u>>>8,c[a]=u=u<<24^u>>>8,_=h[_]||1}();var g=function(){function e(e){var t=l(e);if(4!==t.length&&6!==t.length&&8!==t.length)throw new Error("Invalid key size");this.encKey=new Uint32Array(4*t.length+28),this.decKey=new Uint32Array(4*t.length+28),this.encKey.set(t);for(var a,s=1,i=t.length;i<4*t.length+28;i++)a=this.encKey[i-1],(i%t.length==0||8===t.length&&i%t.length==4)&&(a=n[a>>>24]<<24^n[a>>16&255]<<16^n[a>>8&255]<<8^n[255&a],i%t.length==0&&(a=a<<8^a>>>24^s<<24,s=s<<1^283*(s>>7))),this.encKey[i]=this.encKey[i-t.length]^a;for(var r=0;i;r++,i--)a=this.encKey[3&r?i:i-4],this.decKey[r]=i<=4||r<4?a:d[n[a>>>24]]^m[n[a>>16&255]]^y[n[a>>8&255]]^c[n[255&a]]}return e.prototype.encrypt=function(e){for(var t,a,s,d=l(e),m=new Uint32Array(4),y=d[0]^this.encKey[0],c=d[1]^this.encKey[1],u=d[2]^this.encKey[2],g=d[3]^this.encKey[3],h=this.encKey.length/4-2,f=4,_=0;_>>24]^r[c>>16&255]^p[u>>8&255]^o[255&g]^this.encKey[f],a=i[c>>>24]^r[u>>16&255]^p[g>>8&255]^o[255&y]^this.encKey[f+1],s=i[u>>>24]^r[g>>16&255]^p[y>>8&255]^o[255&c]^this.encKey[f+2],g=i[g>>>24]^r[y>>16&255]^p[c>>8&255]^o[255&u]^this.encKey[f+3],y=t,c=a,u=s,f+=4;for(_=0;_<4;_++)m[_]=n[y>>>24]<<24^n[c>>16&255]<<16^n[u>>8&255]<<8^n[255&g]^this.encKey[f++],t=y,y=c,c=u,u=g,g=t;return m},e.prototype.decrypt=function(e){for(var t,a,n,i=l(e),r=new Uint32Array(4),p=i[0]^this.decKey[0],o=i[3]^this.decKey[1],u=i[2]^this.decKey[2],g=i[1]^this.decKey[3],h=this.decKey.length/4-2,f=4,_=0;_>>24]^m[o>>16&255]^y[u>>8&255]^c[255&g]^this.decKey[f],a=d[o>>>24]^m[u>>16&255]^y[g>>8&255]^c[255&p]^this.decKey[f+1],n=d[u>>>24]^m[g>>16&255]^y[p>>8&255]^c[255&o]^this.decKey[f+2],g=d[g>>>24]^m[p>>16&255]^y[o>>8&255]^c[255&u]^this.decKey[f+3],p=t,o=a,u=n,f+=4;for(_=0;_<4;_++)r[3&-_]=s[p>>>24]<<24^s[o>>16&255]<<16^s[u>>8&255]<<8^s[255&g]^this.decKey[f++],t=p,p=o,o=u,u=g,g=t;return r},e}(),h=function(){function e(e,t,a){void 0===a&&(a=16),this.key=l(e),this.iv=l(t),this.cipher=new g(e),this.blockSize=a/4}return e.prototype.encrypt=function(e,t){for(var a=l(e),n=t||new Uint32Array(a.length),s=this.iv.subarray(this.blockSize,this.iv.length),i=this.iv.subarray(0,this.blockSize),r=new Uint32Array(this.blockSize),p=0;p=this.blockSize&&this.incrementCounter(),s&&(i-=s,s=0)}return this.offset=(this.offset+a.length%4)%4,n},e.prototype.decrypt=function(e,t){return this.encrypt(e,t)},e.prototype.incrementCounter=function(){for(var e=this.counter.length-1;e>=0&&!(++this.counter[e]<4294967295);e--);},e}();t.default=g},function(e,t,a){"use strict";a.r(t),a.d(t,"bpe",(function(){return s})),a.d(t,"one",(function(){return d})),a.d(t,"zero",(function(){return m})),a.d(t,"findPrimes",(function(){return W})),a.d(t,"millerRabinInt",(function(){return j})),a.d(t,"millerRabin",(function(){return G})),a.d(t,"bitSize",(function(){return Z})),a.d(t,"expand",(function(){return J})),a.d(t,"randTruePrime",(function(){return Q})),a.d(t,"randProbPrime",(function(){return X})),a.d(t,"randProbPrimeRounds",(function(){return Y})),a.d(t,"mod",(function(){return $})),a.d(t,"addInt",(function(){return ee})),a.d(t,"mult",(function(){return te})),a.d(t,"powMod",(function(){return ae})),a.d(t,"sub",(function(){return ne})),a.d(t,"add",(function(){return se})),a.d(t,"inverseMod",(function(){return ie})),a.d(t,"multMod",(function(){return re})),a.d(t,"randTruePrime_",(function(){return pe})),a.d(t,"randBigInt",(function(){return oe})),a.d(t,"randBigInt_",(function(){return de})),a.d(t,"GCD",(function(){return me})),a.d(t,"GCD_",(function(){return ye})),a.d(t,"inverseMod_",(function(){return ce})),a.d(t,"inverseModInt",(function(){return le})),a.d(t,"eGCD_",(function(){return ue})),a.d(t,"negative",(function(){return ge})),a.d(t,"greaterShift",(function(){return he})),a.d(t,"greater",(function(){return fe})),a.d(t,"divide_",(function(){return _e})),a.d(t,"carry_",(function(){return be})),a.d(t,"modInt",(function(){return ve})),a.d(t,"int2bigInt",(function(){return we})),a.d(t,"str2bigInt",(function(){return Pe})),a.d(t,"equalsInt",(function(){return Se})),a.d(t,"equals",(function(){return ke})),a.d(t,"isZero",(function(){return Ie})),a.d(t,"bigInt2str",(function(){return Me})),a.d(t,"dup",(function(){return Ae})),a.d(t,"copy_",(function(){return Ce})),a.d(t,"copyInt_",(function(){return Te})),a.d(t,"addInt_",(function(){return De})),a.d(t,"rightShift_",(function(){return Be})),a.d(t,"halve_",(function(){return Re})),a.d(t,"leftShift_",(function(){return Ve})),a.d(t,"multInt_",(function(){return Ue})),a.d(t,"divInt_",(function(){return Ee})),a.d(t,"linComb_",(function(){return xe})),a.d(t,"linCombShift_",(function(){return Fe})),a.d(t,"addShift_",(function(){return Le})),a.d(t,"subShift_",(function(){return Oe})),a.d(t,"sub_",(function(){return Ne})),a.d(t,"add_",(function(){return qe})),a.d(t,"mult_",(function(){return He})),a.d(t,"mod_",(function(){return ze})),a.d(t,"multMod_",(function(){return Ke})),a.d(t,"squareMod_",(function(){return We})),a.d(t,"trim",(function(){return je})),a.d(t,"powMod_",(function(){return Ge})),a.d(t,"mont_",(function(){return Ze}));var n,s=0,i=0,r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-";for(s=0;1<1<>=1))-1)+1;var p,o,d=we(1,1,1),m=we(0,1,1),y=new Array(0),c=y,l=y,u=y,g=y,h=y,f=y,_=y,b=y,v=y,w=y,P=y,S=y,k=y,I=y,M=y,A=y,C=y,T=y,D=y,B=y,R=y,V=y,U=y,E=y,x=y,F=y,L=y,O=y,N=y,q=y,H=y,z=y,K=y;function W(e){var t,a,n,s;for(a=new Array(e),t=0;t0;t--);for(a=0,n=e[t];n;n>>=1,a++);return a+=s*t}function J(e,t){var a=we(0,(e.length>t?e.length:t)*s,0);return Ce(a,e),a}function Q(e){var t=we(0,e,0);return pe(t,e),je(t,1)}function X(e){return Y(e,e>=600?2:e>=550?4:e>=500?5:e>=400?6:e>=350?7:e>=300?9:e>=250?12:e>=200?15:e>=150?18:e>=100?27:40)}function Y(e,t){var a,n,s;for(3e4,a=we(0,e,0),0===D.length&&(D=W(3e4)),K.length!==a.length&&(K=Ae(a));;){for(de(a,e,0),a[0]|=1,s=0,n=0;nt.length?e.length+1:t.length+1);return Ne(a,t),je(a,1)}function se(e,t){var a=J(e,e.length>t.length?e.length+1:t.length+1);return qe(a,t),je(a,1)}function ie(e,t){var a=J(e,t.length);return ce(a,t)?je(a,1):null}function re(e,t,a){var n=J(e,a.length);return Ke(n,t,a),je(n,1)}function pe(e,t){var a,n,i,r,p,o,d,m,y,c;if(0==D.length&&(D=W(3e4)),0==B.length)for(B=new Array(512),i=0;i<512;i++)B[i]=Math.pow(2,i/511-1);if(V.length!=e.length&&(V=Ae(e),U=Ae(e),F=Ae(e),O=Ae(e),H=Ae(e),Ae(e),Ae(e),q=Ae(e),N=Ae(e),R=Ae(e),E=Ae(e),x=Ae(e),L=Ae(e),z=Ae(e)),t<=20){for(a=(1<<(t+2>>1))-1,Te(e,0),n=1;n;)for(n=0,e[0]=1|1<40)for(r=1;t-t*r<=20;)r=B[Math.floor(512*Math.random())];else r=.5;for(y=Math.floor(r*t)+1,pe(x,y),Te(V,0),V[Math.floor((t-2)/s)]|=1<<(t-2)%s,_e(V,x,R,E),d=Z(R);;){for(;de(U,d,0),!fe(R,U););for(De(U,1),qe(U,R),Ce(N,x),He(N,U),Ue(N,2),De(N,1),Ce(O,U),Ue(O,2),o=0,i=0;i0;i--);for(m=0,c=N[i];c;c>>=1,m++);for(m+=s*i;de(L,m,0),!fe(N,L););if(De(N,3),De(L,2),Ce(q,L),Ce(F,N),De(F,-1),Ge(q,F,N),De(q,-1),Ie(q)&&(Ce(q,L),Ge(q,O,N),De(q,-1),Ce(z,N),Ce(H,q),ye(H,N),Se(H,1)))return void Ce(e,z)}}}}function oe(e,t){var a;return de(a=we(0,0,Math.floor((e-1)/s)+2),e,t),a}function de(e,t,a){var n,i;for(n=0;n=0;a--);for(n=e[a],s=t[a],i=1,r=0,p=0,o=1;s+p&&s+o&&(d=Math.floor((n+i)/(s+p)))==Math.floor((n+r)/(s+o));)y=i-d*p,i=p,p=y,y=r-d*o,r=o,o=y,y=n-d*s,n=s,s=y;r?(Ce(b,e),xe(e,t,i,r),xe(t,b,o,p)):(ze(e,t),Ce(b,e),Ce(e,t),Ce(t,b))}if(0!==t[0])for(y=ve(e,t[0]),Te(e,t[0]),t[0]=y;t[0];)e[0]%=t[0],y=e[0],e[0]=t[0],t[0]=y}function ce(e,t){var a=1+2*Math.max(e.length,t.length);if(!(1&e[0]||1&t[0]))return Te(e,0),0;for(I.length!=a&&(I=new Array(a),k=new Array(a),M=new Array(a),A=new Array(a),C=new Array(a),T=new Array(a)),Ce(I,e),Ce(k,t),Te(M,1),Te(A,0),Te(C,0),Te(T,1);;){for(;!(1&I[0]);)Re(I),1&M[0]||1&A[0]?(qe(M,t),Re(M),Ne(A,e),Re(A)):(Re(M),Re(A));for(;!(1&k[0]);)Re(k),1&C[0]||1&T[0]?(qe(C,t),Re(C),Ne(T,e),Re(T)):(Re(C),Re(T));if(fe(k,I)?(Ne(k,I),Ne(C,M),Ne(T,A)):(Ne(I,k),Ne(M,C),Ne(A,T)),Se(I,0)){for(;ge(C);)qe(C,t);return Ce(e,C),Se(k,1)?1:(Te(e,0),0)}}}function le(e,t){for(var a=1,n=0;;){if(1===e)return a;if(0===e)return 0;if(n-=a*Math.floor(t/e),1===(t%=e))return n;if(0===t)return 0;a-=n*Math.floor(e/t),e%=t}}function ue(e,t,a,n,s){var i=0,r=Math.max(e.length,t.length);for(I.length!=r&&(I=new Array(r),M=new Array(r),A=new Array(r),C=new Array(r),T=new Array(r));!(1&e[0]||1&t[0]);)Re(e),Re(t),i++;for(Ce(I,e),Ce(a,t),Te(M,1),Te(A,0),Te(C,0),Te(T,1);;){for(;!(1&I[0]);)Re(I),1&M[0]||1&A[0]?(qe(M,t),Re(M),Ne(A,e),Re(A)):(Re(M),Re(A));for(;!(1&a[0]);)Re(a),1&C[0]||1&T[0]?(qe(C,t),Re(C),Ne(T,e),Re(T)):(Re(C),Re(T));if(fe(a,I)?(Ne(a,I),Ne(C,M),Ne(T,A)):(Ne(I,a),Ne(M,C),Ne(A,T)),Se(I,0)){for(;ge(C);)qe(C,t),Ne(T,e);return Ue(T,-1),Ce(n,C),Ce(s,T),void Ve(a,i)}}}function ge(e){return e[e.length-1]>>s-1&1}function he(e,t,a){var n,s=e.length,i=t.length;for(p=s+a=0;n++)if(e[n]>0)return 1;for(n=s-1+a;n0)return 0;for(n=p-1;n>=a;n--){if(e[n-a]>t[n])return 1;if(e[n-a]=0;a--){if(e[a]>t[a])return 1;if(e[a]>=1;for(Ve(t,l=s-l),Ve(r,l),p=r.length;0===r[p-1]&&p>o;p--);for(Te(a,0);!he(t,r,p-o);)Oe(r,t,p-o),a[p-o]++;for(d=p-1;d>=o;d--){for(r[d]==t[o-1]?a[d-o]=i:a[d-o]=Math.floor((r[d]*n+r[d-1])/t[o-1]);c=(y=(o>1?t[o-2]:0)*a[d-o])>>s,y&=i,c=(m=c+a[d-o]*t[o-1])>>s,m&=i,c==r[d]?m==r[d-1]?y>(d>1?r[d-2]:0):m>r[d-1]:c>r[d];)a[d-o]--;Fe(r,t,-a[d-o],d-o),ge(r)&&(Le(r,t,d-o),a[d-o]--)}Be(t,l),Be(r,l)}function be(e){var t,a,r,p;for(a=e.length,r=0,t=0;t>s))*n),e[t]=r&i,r=(r>>s)-p}function ve(e,t){var a,s=0;for(a=e.length-1;a>=0;a--)s=(s*n+e[a])%t;return s}function we(e,t,a){var n;n=a>(n=Math.ceil(t/s)+1)?a:n;var i=new Array(n);return Te(i,e),i}function Pe(e,t,a){var n,s,i,p,o,d=e.length;if(-1===t){for(i=new Array(0);;){for(p=new Array(i.length+1),s=0;s=36&&(n-=26),!(n>=t||n<0));s++)Ue(i,t),De(i,n);for(d=i.length;d>0&&!i[d-1];d--);for(d=a>d+1?a:d+1,p=new Array(d),o=dt.length){for(;a0;a--)s+=e[a]+",";s+=e[0]}else for(;!Ie(f);)n=Ee(f,t),s=r.substring(n,n+1)+s;return 0===s.length&&(s="0"),s}function Ae(e){return Ce(o=Array(e.length),e),o}function Ce(e,t){var a,n=e.length>=s}function De(e,t){var a,r,p,o;for(e[0]+=t,r=e.length,p=0,a=0;a>s))*n),e[a]=p&i,!(p=(p>>s)-o))return}function Be(e,t){var a,n=Math.floor(t/s);if(n){for(a=0;a>t);e[a]>>=t}function Re(e){var t;for(t=0;t>1);e[t]=e[t]>>1|e[t]&n>>1}function Ve(e,t){var a,n=Math.floor(t/s);if(n){for(a=e.length;a>=n;a--)e[a]=e[a-n];for(;a>=0;a--)e[a]=0;t%=s}if(t){for(a=e.length-1;a>0;a--)e[a]=i&(e[a]<>s-t);e[a]=i&e[a]<>s))*n),e[a]=p&i,p=(p>>s)-o}function Ee(e,t){var a,s,i=0;for(a=e.length-1;a>=0;a--)s=i*n+e[a],e[a]=Math.floor(s/t),i=s%t;return i}function xe(e,t,a,n){var r,p,o,d;for(o=e.length>=s;for(r=o;r>=s}function Fe(e,t,a,n){var r,p,o,d;for(o=e.length>=s;for(r=o;p&&r>=s}function Le(e,t,a){var n,r,p,o;for(p=e.length>=s;for(n=p;r&&n>=s}function Oe(e,t,a){var n,r,p,o;for(p=e.length>=s;for(n=p;r&&n>=s}function Ne(e,t){var a,n,r;for(r=e.length>=s;for(a=r;n&&a>=s}function qe(e,t){var a,n,r;for(r=e.length>=s;for(a=r;n&&a>=s}function He(e,t){var a;for(c.length!=2*e.length&&(c=new Array(2*e.length)),Te(c,0),a=0;a0&&!e[p-1];p--);for(o=p>t.length?2*p:2*t.length,l.length!=o&&(l=new Array(o)),Te(l,0),a=0;a>=s,n=a+1;n>=s;l[a+p]=r}ze(l,t),Ce(e,l)}function je(e,t){var a,n;for(a=e.length;a>0&&!e[a-1];a--);return Ce(n=new Array(a+t),e),n}function Ge(e,t,a){var i,r,p,o;if(_.length!=a.length&&(_=Ae(a)),0!=(1&a[0])){for(Te(_,0),p=a.length;p>0&&!a[p-1];p--);for(o=n-le(ve(a,n),n),_[p]=1,Ke(e,_,a),u.length!=e.length?u=Ae(e):Ce(u,e),i=t.length-1;i>0&!t[i];i--);if(0!=t[i]){for(r=1<>=1);for(;;){if(!(r>>=1)){if(--i<0)return void Ze(e,d,a,o);r=1<0&&0==a[c-1];c--);for(;l>0&&0==t[l-1];l--);for(y=v.length-1,r=0;r>s,m=e[r],p=1;p>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++;for(;p>=s,p++;for(;p>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++;for(;p>=s,p++;for(;p>=s,p++;v[p-1]=o&i}fe(a,v)||Ne(v,a),Ce(e,v)}},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TimeManager=void 0;const s=n(a(3)),i=a(0);class r{constructor(){this.lastMessageID=[0,0],this.timeOffset=0,s.default.get("server_time_offset").then(e=>{e&&(this.timeOffset=e)})}generateID(){var e=Date.now(),t=[Math.floor(e/1e3)+this.timeOffset,e%1e3<<21|i.nextRandomInt(65535)<<3|4];return(this.lastMessageID[0]>t[0]||this.lastMessageID[0]==t[0]&&this.lastMessageID[1]>=t[1])&&(t=[this.lastMessageID[0],this.lastMessageID[1]+4]),this.lastMessageID=t,i.longFromInts(t[0],t[1])}applyServerTime(e,t){var a=e-Math.floor((t||Date.now())/1e3),n=Math.abs(this.timeOffset-a)>10;return s.default.set({server_time_offset:a}),this.lastMessageID=[0,0],this.timeOffset=a,n}}t.TimeManager=r,t.default=new r},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.dcID=e,this.url=t}}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FileManager=void 0;const s=a(0);class i{constructor(){this.blobSupported=!0;try{s.blobConstruct([],"")}catch(e){this.blobSupported=!1}}isAvailable(){return this.blobSupported}write(e,t){return t instanceof Blob?new Promise((a,n)=>{let s=new FileReader;s.onload=function(t){let s=t.target.result,i=new Uint8Array(s);e.write(i).then(a,n)},s.readAsArrayBuffer(t)}):e.write(t)}getFakeFileWriter(e,t){const a=[];return{write:e=>n(this,void 0,void 0,(function*(){if(!this.blobSupported)throw!1;a.push(e)})),truncate:()=>{a.length=0},finalize:(n=!0)=>{const i=s.blobConstruct(a,e);return n&&t&&t(i),i}}}}t.FileManager=i,t.default=new i},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});a(20).secureRandom;const i=s(a(10)),r=s(a(3)),p=s(a(2)),o=s(a(6)),d=s(a(32)),m=a(1),y=m.logger("DW",m.LogLevels.error),c=self;function l(...e){c.postMessage(...e)}o.default.setUpdatesProcessor((e,t)=>{l({update:{obj:e,bool:t}})}),c.addEventListener("message",e=>n(void 0,void 0,void 0,(function*(){try{const t=e.data,a=t.taskID;if(y.debug("got message:",a,t),t.useLs)return void r.default.finishTask(t.taskID,t.args);if("convertWebp"==t.type){const{fileName:e,bytes:a}=t.payload,n=d.default.webpConvertPromises[e];return void(n&&(n.resolve(a),delete d.default.webpConvertPromises[e]))}if("requestFilePart"==t.type){const t=e.data,a={type:t.type,id:t.id,payload:null};try{const e=yield d.default.requestFilePart(...t.payload);a.payload=e}catch(e){}return void l(a)}switch(t.task){case"computeSRP":case"gzipUncompress":return p.default[t.task].apply(p.default,t.args).then(e=>{l({taskID:a,result:e})});case"cancelDownload":case"uploadFile":case"downloadFile":try{let e=d.default[t.task].apply(d.default,t.args);e instanceof Promise&&(e=yield e),l({taskID:a,result:e})}catch(e){l({taskID:a,error:e})}default:try{let e=i.default[t.task].apply(i.default,t.args);e instanceof Promise&&(e=yield e),l({taskID:a,result:e})}catch(e){l({taskID:a,error:e})}}}catch(e){}}))),c.postMessage("ready")},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.secureRandom=void 0;const n=a(0),s=a(5);t.secureRandom=new s.SecureRandom,Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return n.bytesToHex([...this])},set:function(e){this.set(n.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return n.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),a=Math.floor(t/3600);let n=Math.floor((t-3600*a)/60),s=t-3600*a-60*n;return a&&(e=!0),n<10&&(n=e?"0"+n:n),s<10&&(s="0"+s),(a?a+":":"")+n+":"+s}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MTPNetworker=void 0;const i=a(0),r=a(0),p=a(7),o=s(a(2)),d=s(a(3)),m=s(a(12)),y=s(a(16)),c=s(a(6)),l=s(a(8)),u=s(a(9)),g=a(1),h=a(4);t.MTPNetworker=class{constructor(e,t,a,n,s={}){this.dcID=e,this.authKey=t,this.authKeyID=a,this.serverSalt=n,this.options=s,this.lastServerMessages=[],this.sentMessages={},this.pendingMessages={},this.pendingAcks=[],this.pendingResends=[],this.connectionInited=!1,this.longPollPending=0,this.seqNo=0,this.prevSessionID=[],this.sessionID=[],this.sleepAfter=0,this.offline=!1,this.checkConnectionPeriod=0,this.nextReq=0,this.onOnlineCb=this.checkConnection.bind(this),this.lastResendReq=null,this.authKeyUint8=r.convertToUint8Array(this.authKey),this.upload=this.options.fileUpload||this.options.fileDownload||!1,this.log=g.logger("NET-"+e+(this.upload?"-U":"")),this.log("constructor"),this.updateSession(),this.transport=l.default.chooseServer(this.dcID,this.upload),this.transport instanceof u.default?(setInterval(this.checkLongPoll.bind(this),1e4),this.checkLongPoll()):this.transport.networker=this}updateSession(){this.seqNo=0,this.prevSessionID=this.sessionID,this.sessionID=new Array(8),this.sessionID=[...new Uint8Array(this.sessionID.length).randomize()]}updateSentMessage(e){var t=this.sentMessages[e];if(!t)return!1;var a=this;if(t.container){var n=[];t.inner.forEach(e=>{var t=a.updateSentMessage(e);t&&n.push(t.msg_id)}),t.inner=n}return t.msg_id=y.default.generateID(),t.seq_no=this.generateSeqNo(t.notContentRelated||t.container),this.sentMessages[t.msg_id]=t,delete a.sentMessages[e],t}generateSeqNo(e){var t=2*this.seqNo;return e||(t++,this.seqNo++),t}wrapMtpCall(e,t={},a={}){var n=new p.TLSerialization({mtproto:!0});n.storeMethod(e,t);var s=y.default.generateID(),i=this.generateSeqNo(),r={msg_id:s,seq_no:i,body:n.getBytes()};return h.Modes.debug&&this.log("MT call",e,t,s,i),this.pushMessage(r,a)}wrapMtpMessage(e={},t={}){var a=new p.TLSerialization({mtproto:!0});a.storeObject(e,"Object");var n=y.default.generateID(),s=this.generateSeqNo(t.notContentRelated),i={msg_id:n,seq_no:s,body:a.getBytes()};return h.Modes.debug&&this.log("MT message",e,n,s),this.pushMessage(i,t)}wrapApiCall(e,t={},a={}){let n=new p.TLSerialization(a);if(!this.connectionInited){let e=m.default.API.methods.find(e=>"invokeWithLayer"==e.method);if(!e)throw new Error("no invokeWithLayer!");n.storeInt(+e.id>>>0,"invokeWithLayer"),n.storeInt(m.default.layer,"layer");let t=m.default.API.methods.find(e=>"initConnection"==e.method);if(!t)throw new Error("no initConnection!");n.storeInt(+t.id>>>0,"initConnection"),n.storeInt(0,"flags"),n.storeInt(h.App.id,"api_id"),n.storeString(navigator.userAgent||"Unknown UserAgent","device_model"),n.storeString(navigator.platform||"Unknown Platform","system_version"),n.storeString(h.App.version,"app_version"),n.storeString(navigator.language||"en","system_lang_code"),n.storeString("","lang_pack"),n.storeString(navigator.language||"en","lang_code")}if(a.afterMessageID){let e=m.default.API.methods.find(e=>"invokeAfterMsg"==e.method);if(!e)throw new Error("no invokeAfterMsg!");this.log("Api call options.afterMessageID!"),n.storeInt(+e.id>>>0,"invokeAfterMsg"),n.storeLong(a.afterMessageID,"msg_id")}a.resultType=n.storeMethod(e,t);var s={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(),body:n.getBytes(!0),isAPI:!0};return h.Modes.debug?this.log("Api call",e,s,t,a):this.log("Api call",e,t,a),this.pushMessage(s,a)}checkLongPoll(){const e=this.cleanupSent();if(this.longPollPending&&Date.now(){e&&(t!=this.dcID||this.upload||this.sleepAfter&&Date.now()>this.sleepAfter)||this.sendLongPoll()})}sendLongPoll(){this.longPollPending=Date.now()+25e3,this.wrapMtpCall("http_wait",{max_delay:500,wait_after:150,max_wait:25e3},{noResponse:!0,longPoll:!0}).then(()=>{this.longPollPending=0,setTimeout(this.checkLongPoll.bind(this),0)},e=>{this.log("Long-poll failed",e)})}pushMessage(e,t={}){return new Promise((a,n)=>{this.sentMessages[e.msg_id]=Object.assign(e,t,{deferred:{resolve:a,reject:n}}),this.pendingMessages[e.msg_id]=0,t&&t.noSchedule||this.scheduleRequest(),i.isObject(t)&&(t.messageID=e.msg_id)})}pushResend(e,t=0){const a=t?Date.now()+t:0,n=this.sentMessages[e];if(n.container)for(let e=0,t=n.inner.length;e{var t=new Uint8Array(32),a=new Uint8Array(32),n=new Uint8Array(e[0]),s=new Uint8Array(e[1]);return t.set(n.subarray(0,8)),t.set(s.subarray(8,24),8),t.set(n.subarray(24,32),24),a.set(s.subarray(0,8)),a.set(n.subarray(8,24),8),a.set(s.subarray(24,32),24),[t,a]})}checkConnection(e){this.log("Check connection",e),clearTimeout(this.checkConnectionTimeout),this.checkConnectionTimeout=0;var t=new p.TLSerialization({mtproto:!0}),a=[r.nextRandomInt(4294967295),r.nextRandomInt(4294967295)];t.storeMethod("ping",{ping_id:a});var n={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(!0),body:t.getBytes()},s=this;this.sendEncryptedRequest(n,{timeout:15e3}).then(e=>{s.toggleOffline(!1)},()=>{this.log("Delay ",1e3*s.checkConnectionPeriod),s.checkConnectionTimeout=setTimeout(s.checkConnection.bind(s),1e3*s.checkConnectionPeriod|0),s.checkConnectionPeriod=Math.min(60,1.5*s.checkConnectionPeriod)})}toggleOffline(e){if(void 0!==this.offline&&this.offline==e)return!1;this.offline=e,this.transport instanceof u.default?this.offline?(clearTimeout(this.nextReqTimeout),this.nextReqTimeout=0,this.nextReq=0,this.checkConnectionPeriod<1.5&&(this.checkConnectionPeriod=0),this.checkConnectionTimeout=setTimeout(this.checkConnection.bind(this),1e3*this.checkConnectionPeriod|0),this.checkConnectionPeriod=Math.min(30,1.5*(1+this.checkConnectionPeriod)),document.body.addEventListener("online",this.onOnlineCb,!1),document.body.addEventListener("focus",this.onOnlineCb,!1)):(this.checkLongPoll(),this.scheduleRequest(),document.body.removeEventListener("online",this.onOnlineCb),document.body.removeEventListener("focus",this.onOnlineCb),clearTimeout(this.checkConnectionTimeout),this.checkConnectionTimeout=0):this.log("toggle ",e,this.dcID)}performScheduledRequest(){if(this.offline)return this.log("Cancel scheduled"),!1;if(this.nextReq=0,this.pendingAcks.length){var e=this.pendingAcks.slice();this.wrapMtpMessage({_:"msgs_ack",msg_ids:e},{notContentRelated:!0,noSchedule:!0})}if(this.pendingResends.length){var t=this.pendingResends.slice(),a={noSchedule:!0,notContentRelated:!0,messageID:""};this.log("resendReq messages",t),this.wrapMtpMessage({_:"msg_resend_req",msg_ids:t},a),this.lastResendReq={req_msg_id:a.messageID,resend_msg_ids:t}}var n,s=[],i=0,r=Date.now(),o=!1,d=!1,m=!1,c=0,l=this;for(let e in this.pendingMessages){let t=this.pendingMessages[e];if(!t||t>=r){if(n=this.sentMessages[e]){var g=n.body.length+32;if(!n.notContentRelated&&m)continue;if(!n.notContentRelated&&i&&i+g>655360){this.log.warn("lengthOverflow",n),m=!0;continue}if(n.singleInRequest&&++c>1)continue;s.push(n),i+=g,n.isAPI?o=!0:n.longPoll&&(d=!0)}delete l.pendingMessages[e]}}if(o&&!d&&this.transport instanceof u.default){var f=new p.TLSerialization({mtproto:!0});f.storeMethod("http_wait",{max_delay:500,wait_after:150,max_wait:3e3}),s.push({msg_id:y.default.generateID(),seq_no:this.generateSeqNo(),body:f.getBytes()})}if(!s.length)return;var _=[];if(s.length>1){var b=new p.TLSerialization({mtproto:!0,startMaxLength:i+64});b.storeInt(1945237724,"CONTAINER[id]"),b.storeInt(s.length,"CONTAINER[count]");var v=[];s.forEach((e,t)=>{b.storeLong(e.msg_id,"CONTAINER["+t+"][msg_id]"),v.push(e.msg_id),b.storeInt(e.seq_no,"CONTAINER["+t+"][seq_no]"),b.storeInt(e.body.length,"CONTAINER["+t+"][bytes]"),b.storeRawBytes(e.body,"CONTAINER["+t+"][body]"),e.noResponse&&_.push(e.msg_id)});var w={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(!0),container:!0,inner:v};n=Object.assign({body:b.getBytes(!0)},w),this.sentMessages[n.msg_id]=w,h.Modes.debug,this.log("Container",v,n.msg_id,n.seq_no)}else n.noResponse&&_.push(n.msg_id),this.sentMessages[n.msg_id]=n;this.pendingAcks=[];let P=this.sendEncryptedRequest(n);this.transport instanceof u.default?P.then(e=>{l.toggleOffline(!1),l.parseResponse(e).then(e=>{h.Modes.debug&&this.log("Server response",l.dcID,e),l.processMessage(e.response,e.messageID,e.sessionID),_.forEach(e=>{if(l.sentMessages[e]){var t=l.sentMessages[e].deferred;delete l.sentMessages[e],t.resolve()}}),l.transport instanceof u.default&&(l.checkLongPoll(),this.checkConnectionPeriod=Math.max(1.1,Math.sqrt(this.checkConnectionPeriod)))})},e=>{this.log.error("Encrypted request failed",e,n),n.container?(n.inner.forEach(e=>{l.pendingMessages[e]=0}),delete l.sentMessages[n.msg_id]):l.pendingMessages[n.msg_id]=0,_.forEach(e=>{if(l.sentMessages[e]){var t=l.sentMessages[e].deferred;delete l.sentMessages[e],delete l.pendingMessages[e],t.reject()}}),l.toggleOffline(!0)}):_.length&&this.log.error("noResponseMsgs length!",_),(m||c>1)&&this.scheduleRequest()}getEncryptedMessage(e){return n(this,void 0,void 0,(function*(){let t=yield this.getMsgKey(e,!0),a=yield this.getAesKeyIv(t,!0);return{bytes:yield o.default.aesEncrypt(e,a[0],a[1]),msgKey:t}}))}getDecryptedMessage(e,t){return this.getAesKeyIv(e,!1).then(e=>o.default.aesDecrypt(t,e[0],e[1]))}sendEncryptedRequest(e,t={}){var a=this;this.log.debug("Send encrypted",e,t,this.authKeyID);var n=new p.TLSerialization({startMaxLength:e.body.length+2048});n.storeIntBytes(this.serverSalt,64,"salt"),n.storeIntBytes(this.sessionID,64,"session_id"),n.storeLong(e.msg_id,"message_id"),n.storeInt(e.seq_no,"seq_no"),n.storeInt(e.body.length,"message_data_length"),n.storeRawBytes(e.body,"message_data");var s=n.getBuffer(),i=16-n.offset%16+16*(1+r.nextRandomInt(5)),o=new Array(i);o=[...new Uint8Array(o.length).randomize()];var d=r.bufferConcat(s,o);return this.getEncryptedMessage(d).then(e=>{this.log.debug("Got encrypted out message",e);let t=new p.TLSerialization({startMaxLength:e.bytes.byteLength+256});t.storeIntBytes(a.authKeyID,64,"auth_key_id"),t.storeIntBytes(e.msgKey,128,"msg_key"),t.storeRawBytes(e.bytes,"encrypted_data");let n=t.getBytes(!0),s={code:406,type:"NETWORK_BAD_RESPONSE",transport:this.transport},i=this.transport.send(n);return this.transport instanceof u.default?i.then(e=>e&&e.byteLength?e:Promise.reject(s),e=>(e.message||e.type||(e=Object.assign(s,{type:"NETWORK_BAD_REQUEST",originalError:e})),Promise.reject(e))):i})}parseResponse(e){this.log.debug("Start parsing response");let t=this,a=new p.TLDeserialization(e),n=a.fetchIntBytes(64,!0,"auth_key_id");if(!r.bytesCmp(n,this.authKeyID))throw new Error("[MT] Invalid server auth_key_id: "+n.hex);let s=a.fetchIntBytes(128,!0,"msg_key"),i=a.fetchRawBytes(e.byteLength-a.getOffset(),!0,"encrypted_data");return t.getDecryptedMessage(s,i).then(e=>t.getMsgKey(e,!1).then(a=>{if(!r.bytesCmp(s,a))throw this.log.warn("[MT] msg_keys",s,a),this.updateSession(),new Error("[MT] server msgKey mismatch, updating session");let n=new p.TLDeserialization(e,{mtproto:!0});n.fetchIntBytes(64,!1,"salt");let i=n.fetchIntBytes(64,!1,"session_id"),o=n.fetchLong("message_id");if(!(r.bytesCmp(i,t.sessionID)||t.prevSessionID&&r.bytesCmp(i,t.prevSessionID)))throw this.log.warn("Sessions",i,t.sessionID,t.prevSessionID,e),new Error("[MT] Invalid server session_id: "+r.bytesToHex(i));let d=n.fetchInt("seq_no"),m=e.byteLength,y=n.fetchInt("message_data[length]"),c=n.getOffset();if(y%4||y>m-c)throw new Error("[MT] Invalid body length: "+y);let l=n.fetchRawBytes(y,!0,"message_data");c=n.getOffset();let u=m-c;if(u<12||u>1024)throw new Error("[MT] Invalid padding length: "+u);return n=new p.TLDeserialization(l,{mtproto:!0}),n.override={mt_message:function(e,a){e.msg_id=this.fetchLong(a+"[msg_id]"),e.seqno=this.fetchInt(a+"[seqno]"),e.bytes=this.fetchInt(a+"[bytes]");var n=this.getOffset();try{e.body=this.fetchObject("Object",a+"[body]")}catch(a){t.log.error("parse error",a.message,a.stack),e.body={_:"parse_error",error:a}}this.offset!=n+e.bytes&&(this.offset=n+e.bytes)}.bind(n),mt_rpc_result:function(e,a){e.req_msg_id=this.fetchLong(a+"[req_msg_id]");var n=t.sentMessages[e.req_msg_id],s=n&&n.resultType||"Object";e.req_msg_id&&!n||(e.result=this.fetchObject(s,a+"[result]"))}.bind(n)},{response:n.fetchObject("","INPUT"),messageID:o,sessionID:i,seqNo:d}}))}applyServerSalt(e){var t=r.longToBytes(e);return d.default.set({["dc"+this.dcID+"_server_salt"]:r.bytesToHex(t)}),this.serverSalt=t,!0}scheduleRequest(e=0){if(!(this.transport instanceof u.default))return this.performScheduledRequest();this.offline&&this.checkConnection("forced schedule");var t=Date.now()+e;if(e&&this.nextReq&&this.nextReq<=t)return!1;clearTimeout(this.nextReqTimeout),this.nextReqTimeout=0,e>0?this.nextReqTimeout=setTimeout(this.performScheduledRequest.bind(this),e||0):setTimeout(this.performScheduledRequest.bind(this),0),this.nextReq=t}ackMessage(e){this.pendingAcks.push(e),this.scheduleRequest(3e4)}reqResendMessage(e){this.log("Req resend",e),this.pendingResends.push(e),this.scheduleRequest(100)}cleanupSent(){let e=!1;return Object.keys(this.sentMessages).forEach(t=>{const a=this.sentMessages[t];if(a.notContentRelated&&void 0===this.pendingMessages[t])delete this.sentMessages[t];else if(a.container){for(let t=0;t100&&this.lastServerMessages.shift(),this.processMessage(e.body,e.msg_id,a);break;case"new_session_created":this.ackMessage(t),this.log.debug("new_session_created",e),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt),d.default.get("dc").then(t=>{t==this.dcID&&!this.upload&&c.default.updatesProcessor&&c.default.updatesProcessor(e,!0)});break;case"msgs_ack":for(s=0;s5?"[.."+e.result.length+"..]":e.result),this.log.debug("Rpc response",f,l)}l.deferred.resolve(e.result)}l.isAPI&&!this.connectionInited&&(this.connectionInited=!0)}delete this.sentMessages[m]}break;default:this.ackMessage(t),this.log.debug("Update",e),null!==c.default.updatesProcessor&&c.default.updatesProcessor(e,!0)}}}},function(e,t,a){"use strict";function n(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}Object.defineProperty(t,"__esModule",{value:!0});for(var s=String.fromCharCode(128),i=64;i--;)s+=String.fromCharCode(0);t.default=function(e){for(var t=e.length,a=t/4294967296>>>0,i=t>>>0,r=[0,0],p=r.length-1;p>=0;p-=1)r[p]+=i,i=a+(r[p]/4294967296>>>0),r[p]>>>=0,a=i/4294967296>>>0;var o,d=e,m=63&r[r.length-1]+8;d+=s.substr(0,64-m);var y=8*r[0];for(p=0;p>>0)>>>0),y=o>>>0;var c=function(e){for(var t,a,n,s,i,r,p,o=0,d=0,m=new Uint32Array(80),y=1732584193,c=4023233417,l=2562383102,u=271733878,g=3285377520,h=e.length,f=0;h>=64;){for(t=y,a=c,n=l,s=u,i=g,o=0;o<16;o+=1)m[o]=(p=f,(r=e).charCodeAt(p)<<24^r.charCodeAt(p+1)<<16^r.charCodeAt(p+2)<<8^r.charCodeAt(p+3)),f+=4,d=(t<<5|t>>>27)+(s^a&(n^s))+i+1518500249+m[o],i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<20;o+=1)d=(d=m[o-3]^m[o-8]^m[o-14]^m[o-16])<<1|d>>>31,m[o]=d,d=(t<<5|t>>>27)+(s^a&(n^s))+i+1518500249+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<32;o+=1)d=(d=m[o-3]^m[o-8]^m[o-14]^m[o-16])<<1|d>>>31,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+1859775393+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<40;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+1859775393+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<60;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a&n|s&(a^n))+i+2400959708+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<80;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+3395469782+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;y=y+t|0,c=c+a|0,l=l+n|0,u=u+s|0,g=g+i|0,h-=64}return{h1:y,h2:c,h3:l,h4:u,h5:g}}(d+=n(y));return n(c.h1)+n(c.h2)+n(c.h3)+n(c.h4)+n(c.h5)}},function(e,t,a){"use strict";function n(e,t){return e.charCodeAt(t)<<24^e.charCodeAt(t+1)<<16^e.charCodeAt(t+2)<<8^e.charCodeAt(t+3)}function s(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}function i(e){return("00000000"+e.toString(16)).slice(-8)}function r(e){return e||(e=new Uint32Array(8)),e[0]=1779033703,e[1]=3144134277,e[2]=1013904242,e[3]=2773480762,e[4]=1359893119,e[5]=2600822924,e[6]=528734635,e[7]=1541459225,e}a.r(t);var p=new Uint32Array(64),o=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function d(e,t){var a=e[0],n=e[1],s=e[2],i=e[3],r=e[4],d=e[5],m=e[6],y=e[7];p.set(t);for(var c=16;c<64;c+=1){h=((h=p[c-2])>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l=((l=p[c-15])>>>7|l<<25)^(l>>>18|l<<14)^l>>>3,p[c]=h+p[c-7]+l+p[c-16]}for(c=0;c<64;c+=1){var l,u=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),g=a&n|s&(a^n),h=y+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))+(m^r&(d^m))+o[c]+p[c];y=m,m=d,d=r,r=i+h|0,i=s,s=n,n=a,a=h+(l=u+g)|0}e[0]+=a,e[1]+=n,e[2]+=s,e[3]+=i,e[4]+=r,e[5]+=d,e[6]+=m,e[7]+=y}function m(e,t,a,s){for(void 0===s&&(s=0);e.length>=64;){for(var i=s;i<16;i++)t[i]=n(e,4*i);e=e.slice(64-4*s),s=0,d(a,t)}return e}function y(e,t,a,n){for(void 0===n&&(n=0);e.length>=t.length-n;)t.set(e.subarray(0,t.length-n),n),e=e.subarray(t.length-n),n=0,d(a,t);return e.length>0&&(t.set(e,n),n+=e.length),n}function c(e,t,a,n){void 0===n&&(n=0);for(var s=e/4294967296>>>0,i=e>>>0,r=n+1;r=14){d(a,t);for(r=0;r>>28,t[15]=i<<3,d(a,t)}function l(e,t,a,s,i){for(void 0===i&&(i=0);e.length>=4;i++)a[i]=n(e,0),e=e.slice(4);i>=16&&(d(s,a),i=0),a[i]=n(e+"€\0\0\0",0),c(t,a,s,i)}function u(e,t,a,n){void 0===n&&(n=0),t[n]=2147483648,c(e,t,a,n)}function g(e,t){switch(void 0===t&&(t="array"),t){case"hex":return i(e[0])+i(e[1])+i(e[2])+i(e[3])+i(e[4])+i(e[5])+i(e[6])+i(e[7]);case"binary":return s(e[0])+s(e[1])+s(e[2])+s(e[3])+s(e[4])+s(e[5])+s(e[6])+s(e[7]);default:return e}}var h=function(){function e(e){this.buffer=new Uint32Array(16),this.state=r(e),this.length=0,this.offset=0,this.tail=""}return e.prototype.update=function(e){if("string"==typeof e)this.length+=e.length,this.tail=m(this.tail+e,this.buffer,this.state,this.offset),this.offset=0;else{if(this.tail.length>0)throw new Error("Unable to update hash-stream with array");this.length+=4*e.length,this.offset=y(e,this.buffer,this.state,this.offset)}return this},e.prototype.digest=function(e){return void 0===e&&(e="array"),this.tail.length>0?l(this.tail,this.length,this.buffer,this.state,this.offset):u(this.length,this.buffer,this.state,this.offset),g(this.state,e)},e.prototype.clear=function(){this.state=r(),this.length=0,this.offset=0,this.tail=""},e}();function f(e,t){void 0===t&&(t="array");var a=new Uint32Array(16),n=r();return"string"==typeof e?l(m(e,a,n),e.length,a,n):u(4*e.length,a,n,y(e,a,n)),g(n,t)}f.stream=function(e){return new h(e)},f.blockLength=64,f.digestLength=32,t.default=f},function(e,t,a){e.exports=function e(t,a,n){function s(r,p){if(!a[r]){if(!t[r]){if(i)return i(r,!0);var o=new Error("Cannot find module '"+r+"'");throw o.code="MODULE_NOT_FOUND",o}var d=a[r]={exports:{}};t[r][0].call(d.exports,(function(e){return s(t[r][1][e]||e)}),d,d.exports,e,t,a,n)}return a[r].exports}for(var i=!1,r=0;r>>6:(a<65536?t[r++]=224|a>>>12:(t[r++]=240|a>>>18,t[r++]=128|a>>>12&63),t[r++]=128|a>>>6&63),t[r++]=128|63&a);return t},a.buf2binstring=function(e){return o(e,e.length)},a.binstring2buf=function(e){for(var t=new n.Buf8(e.length),a=0,s=t.length;a>10&1023,d[n++]=56320|1023&s)}return o(d,n)},a.utf8border=function(e,t){var a;for((t=t||e.length)>e.length&&(t=e.length),a=t-1;0<=a&&128==(192&e[a]);)a--;return a<0||0===a?t:a+r[e[a]]>t?a:t}},{"./common":1}],3:[function(e,t,a){"use strict";t.exports=function(e,t,a,n){for(var s=65535&e|0,i=e>>>16&65535|0,r=0;0!==a;){for(a-=r=2e3>>1:e>>>1;t[a]=e}return t}();t.exports=function(e,t,a,s){var i=n,r=s+a;e^=-1;for(var p=s;p>>8^i[255&(e^t[p])];return-1^e}},{}],6:[function(e,t,a){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,a){"use strict";t.exports=function(e,t){var a,n,s,i,r,p,o,d,m,y,c,l,u,g,h,f,_,b,v,w,P,S,k,I,M;a=e.state,n=e.next_in,I=e.input,s=n+(e.avail_in-5),i=e.next_out,M=e.output,r=i-(t-e.avail_out),p=i+(e.avail_out-257),o=a.dmax,d=a.wsize,m=a.whave,y=a.wnext,c=a.window,l=a.hold,u=a.bits,g=a.lencode,h=a.distcode,f=(1<>>=v=b>>>24,u-=v,0==(v=b>>>16&255))M[i++]=65535&b;else{if(!(16&v)){if(0==(64&v)){b=g[(65535&b)+(l&(1<>>=v,u-=v),u<15&&(l+=I[n++]<>>=v=b>>>24,u-=v,!(16&(v=b>>>16&255))){if(0==(64&v)){b=h[(65535&b)+(l&(1<>>=v,u-=v,(v=i-r)>3,l&=(1<<(u-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function m(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function y(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(852),t.distcode=t.distdyn=new n.Buf32(592),t.sane=1,t.back=-1,0):o}function c(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,y(e)):o}function l(e,t){var a,n;return e&&e.state?(n=e.state,t<0?(a=0,t=-t):(a=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=r.wsize?(n.arraySet(r.window,t,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(s<(i=r.wsize-r.wnext)&&(i=s),n.arraySet(r.window,t,a-s,i,r.wnext),(s-=i)?(n.arraySet(r.window,t,a-s,s,0),r.wnext=s,r.whave=r.wsize):(r.wnext+=i,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=i(a.check,x,2,0),f=h=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",a.mode=30;break}if(8!=(15&h)){e.msg="unknown compression method",a.mode=30;break}if(f-=4,B=8+(15&(h>>>=4)),0===a.wbits)a.wbits=B;else if(B>a.wbits){e.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(x[0]=255&h,x[1]=h>>>8&255,a.check=i(a.check,x,2,0)),f=h=0,a.mode=3;case 3:for(;f<32;){if(0===u)break e;u--,h+=m[c++]<>>8&255,x[2]=h>>>16&255,x[3]=h>>>24&255,a.check=i(a.check,x,4,0)),f=h=0,a.mode=4;case 4:for(;f<16;){if(0===u)break e;u--,h+=m[c++]<>8),512&a.flags&&(x[0]=255&h,x[1]=h>>>8&255,a.check=i(a.check,x,2,0)),f=h=0,a.mode=5;case 5:if(1024&a.flags){for(;f<16;){if(0===u)break e;u--,h+=m[c++]<>>8&255,a.check=i(a.check,x,2,0)),f=h=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(u<(P=a.length)&&(P=u),P&&(a.head&&(B=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),n.arraySet(a.head.extra,m,c,P,B)),512&a.flags&&(a.check=i(a.check,m,P,c)),u-=P,c+=P,a.length-=P),a.length))break e;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===u)break e;for(P=0;B=m[c+P++],a.head&&B&&a.length<65536&&(a.head.name+=String.fromCharCode(B)),B&&P>9&1,a.head.done=!0),e.adler=a.check=0,a.mode=12;break;case 10:for(;f<32;){if(0===u)break e;u--,h+=m[c++]<>>=7&f,f-=7&f,a.mode=27;break}for(;f<3;){if(0===u)break e;u--,h+=m[c++]<>>=1)){case 0:a.mode=14;break;case 1:if(_(a),a.mode=20,6!==t)break;h>>>=2,f-=2;break e;case 2:a.mode=17;break;case 3:e.msg="invalid block type",a.mode=30}h>>>=2,f-=2;break;case 14:for(h>>>=7&f,f-=7&f;f<32;){if(0===u)break e;u--,h+=m[c++]<>>16^65535)){e.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&h,f=h=0,a.mode=15,6===t)break e;case 15:a.mode=16;case 16:if(P=a.length){if(u>>=5,f-=5,a.ndist=1+(31&h),h>>>=5,f-=5,a.ncode=4+(15&h),h>>>=4,f-=4,286>>=3,f-=3}for(;a.have<19;)a.lens[F[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,V={bits:a.lenbits},R=p(0,a.lens,0,19,a.lencode,0,a.work,V),a.lenbits=V.bits,R){e.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=I,f-=I,a.lens[a.have++]=A;else{if(16===A){for(U=I+2;f>>=I,f-=I,0===a.have){e.msg="invalid bit length repeat",a.mode=30;break}B=a.lens[a.have-1],P=3+(3&h),h>>>=2,f-=2}else if(17===A){for(U=I+3;f>>=I)),h>>>=3,f-=3}else{for(U=I+7;f>>=I)),h>>>=7,f-=7}if(a.have+P>a.nlen+a.ndist){e.msg="invalid bit length repeat",a.mode=30;break}for(;P--;)a.lens[a.have++]=B}}if(30===a.mode)break;if(0===a.lens[256]){e.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,V={bits:a.lenbits},R=p(1,a.lens,0,a.nlen,a.lencode,0,a.work,V),a.lenbits=V.bits,R){e.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,V={bits:a.distbits},R=p(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,V),a.distbits=V.bits,R){e.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===t)break e;case 20:a.mode=21;case 21:if(6<=u&&258<=g){e.next_out=l,e.avail_out=g,e.next_in=c,e.avail_in=u,a.hold=h,a.bits=f,r(e,w),l=e.next_out,y=e.output,g=e.avail_out,c=e.next_in,m=e.input,u=e.avail_in,h=a.hold,f=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;M=(E=a.lencode[h&(1<>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>C)])>>>16&255,A=65535&E,!(C+(I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=C,f-=C,a.back+=C}if(h>>>=I,f-=I,a.back+=I,a.length=A,0===M){a.mode=26;break}if(32&M){a.back=-1,a.mode=12;break}if(64&M){e.msg="invalid literal/length code",a.mode=30;break}a.extra=15&M,a.mode=22;case 22:if(a.extra){for(U=a.extra;f>>=a.extra,f-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;M=(E=a.distcode[h&(1<>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>C)])>>>16&255,A=65535&E,!(C+(I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=C,f-=C,a.back+=C}if(h>>>=I,f-=I,a.back+=I,64&M){e.msg="invalid distance code",a.mode=30;break}a.offset=A,a.extra=15&M,a.mode=24;case 24:if(a.extra){for(U=a.extra;f>>=a.extra,f-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){e.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===g)break e;if(P=w-g,a.offset>P){if((P=a.offset-P)>a.whave&&a.sane){e.msg="invalid distance too far back",a.mode=30;break}P>a.wnext?(P-=a.wnext,S=a.wsize-P):S=a.wnext-P,P>a.length&&(P=a.length),k=a.window}else k=y,S=l-a.offset,P=a.length;for(g_?(v=F[L+y[k]],w=V[U+y[k]]):(v=96,w=0),l=1<>T)+(u-=l)]=b<<24|v<<16|w|0,0!==u;);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,k++,0==--E[S]){if(S===M)break;S=t[a+y[k]]}if(An.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=n.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,a){return this.performTaskWorker("mod-pow",e,t,a)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.computeSRP=t.makePasswordHash=void 0;const i=a(0),r=s(a(2)),p=a(15),o=a(1),d=o.logger("SRP",o.LogLevels.error);function m(e,t,a){return n(this,void 0,void 0,(function*(){let n="";for(let e=0;e{let a=p.sub(t,e);return!(p.negative(a)||p.bitSize(a)<1984||p.bitSize(e)<1984||Math.floor((p.bitSize(e)+7)/8)>256)};var P=e=>{let t=new Uint8Array(e.length);for(let a=0;an(this,void 0,void 0,(function*(){for(;;){const e=p.str2bigInt(i.bytesToHex(P(t.secure_random)),16);d("g a p",p.bigInt2str(y,16),p.bigInt2str(e,16),p.bigInt2str(s,16));const a=p.powMod(y,e,s);if(d("A MODPOW",p.bigInt2str(a,16)),w(a,s)){const t=i.bytesFromHex(p.bigInt2str(a,16)),n=yield r.default.sha256Hash(i.bufferConcat(new Uint8Array(t),new Uint8Array(f))),s=p.str2bigInt(i.bytesToHex(new Uint8Array(n)),16);if(!p.isZero(s)&&!p.negative(s))return{a:e,a_for_hash:t,u:s}}}})))();d("a",p.bigInt2str(k,16)),d("a_for_hash",i.bytesToHex(I)),d("u",p.bigInt2str(M,16)),p.greater(o,v)?S=o:(d("negative"),S=p.add(o,s)),S=p.mod(p.sub(S,v),s),d("g_b",p.bigInt2str(S,16));let A=p.mult(M,l);d("u and x multiply",p.bigInt2str(M,16),p.bigInt2str(l,16),p.bigInt2str(A,16));let C=p.add(k,A),T=p.powMod(S,C,s),D=yield r.default.sha256Hash(u(i.bytesFromHex(p.bigInt2str(T,16)),256));d("K",i.bytesToHex(D),new Uint32Array(new Uint8Array(D).buffer));let B=yield r.default.sha256Hash(g),R=yield r.default.sha256Hash(h);B=i.bytesXor(new Uint8Array(B),new Uint8Array(R));let V=i.bufferConcats(B,yield r.default.sha256Hash(a.salt1),yield r.default.sha256Hash(a.salt2),I,f,D),U=yield r.default.sha256Hash(V),E={_:"inputCheckPasswordSRP",srp_id:t.srp_id,A:new Uint8Array(I),M1:new Uint8Array(U)};return d("out",i.bytesToHex(E.A),i.bytesToHex(E.M1)),E}))}},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Obfuscation=void 0;const s=n(a(17)),i=a(14),r=n(a(28)),p=a(1),o=a(0);class d{init(e){const t=new Uint8Array(64);for(t.randomize();;){let e=t[3]<<24|t[2]<<16|t[1]<<8|t[0],a=t[7]<<24|t[6]<<16|t[5]<<8|t[4];if(239!=t[0]&&1145128264!=e&&1414745936!=e&&542393671!=e&&1230262351!=e&&4008636142!=e&&3722304989!=e&&0!=a)break;t.randomize()}const a=t.slice().reverse();let n=t.slice(8,40),s=t.slice(40,56),r=a.slice(8,40),p=a.slice(40,56);this.encNew=new i.CTR(n,s),this.decNew=new i.CTR(r,p),t.set(e.obfuscateTag,56);const o=this.encode(t);return t.set(o.slice(56,64),56),t}encode(e){let t=this.encNew.encrypt(e);return new Uint8Array(o.bytesFromWordss(t))}decode(e){let t=this.decNew.decrypt(e);return new Uint8Array(o.bytesFromWordss(t))}}t.Obfuscation=d;class m extends s.default{constructor(e,t){super(e,t),this.pending=[],this.connected=!1,this.transport="websocket",this.obfuscation=new d,this.codec=r.default,this.connect=()=>{this.ws&&(this.ws.removeEventListener("open",this.handleOpen),this.ws.removeEventListener("close",this.handleClose),this.ws.removeEventListener("message",this.handleMessage),this.ws.close(1e3)),this.ws=new WebSocket(this.url,"binary"),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",this.handleOpen),this.ws.addEventListener("close",this.handleClose),this.ws.addEventListener("message",this.handleMessage)},this.handleOpen=()=>{this.log("opened"),this.log.debug("sending init packet"),this.ws.send(this.obfuscation.init(this.codec)),this.connected=!0,this.releasePending()},this.handleClose=e=>{this.log("closed",e,this.pending),this.connected=!1,this.log("trying to reconnect..."),this.connect();for(let e of this.pending)e.bodySent&&(e.bodySent=!1);this.networker&&this.ws.addEventListener("open",()=>{this.networker.resend(),this.networker.cleanupSent()},{once:!0})},this.handleMessage=e=>{this.log.debug("<-","handleMessage",e);let t=this.obfuscation.decode(new Uint8Array(e.data));if(t=this.codec.readPacket(t),this.networker)return this.log.debug("redirecting to networker"),this.networker.parseResponse(t).then(e=>{this.log.debug("redirecting to networker response:",e),this.networker.processMessage(e.response,e.messageID,e.sessionID)});let a=this.pending.shift();if(!a)return this.log.debug("no pending for res:",t.hex);a.resolve(t)},this.send=e=>{if(this.log.debug("-> body length to pending:",e.length),!this.networker){let t=new Promise((t,a)=>{this.pending.push({resolve:t,reject:a,body:e})});return this.releasePending(),t}this.pending.push({body:e}),this.releasePending()},this.log=p.logger("WS-"+e,p.LogLevels.log),this.log("constructor"),this.connect()}releasePending(){if(!this.connected)return;for(let e=this.pending.length-1;e>=0;--e){const t=this.pending[e],{body:a,bodySent:n}=t;if(a&&!n){const n=this.codec.encodePacket(a),s=this.obfuscation.encode(n);this.log.debug("-> body length to send:",s.length),this.ws.send(s),t.resolve?t.bodySent=!0:this.pending.splice(e,1)}}}}t.default=m},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});a(0);class n{constructor(){this.tag=238,this.obfuscateTag=new Uint8Array([this.tag,this.tag,this.tag,this.tag])}encodePacket(e){let t=e.byteLength;return new Uint8Array(new Uint32Array([t]).buffer).concat(e)}readPacket(e){let t=e[0]|e[1]<<8|e[2]<<16|e[3]<<24;return e.slice(4,4+t)}}t.default=new n},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const s=n(a(3)),i=a(4);class r{constructor(){this.disabled=i.Modes.test||-1==i.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;s.default.get("tgme_sync").then(t=>{var a=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>a)return!1;s.default.set({tgme_sync:{canRedirect:e,ts:a}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=r,t.telegramMeWebService=new r},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Authorizer=void 0;const i=a(7),r=s(a(8)),p=a(0),o=s(a(31)),d=s(a(16)),m=a(5),y=s(a(2)),c=a(1);class l{constructor(){this.cached={},this.log=c.logger("AUTHORIZER")}mtpSendPlainRequest(e,t){var a=t.byteLength,n=new i.TLSerialization;n.storeLongP(0,0,"auth_key_id"),n.storeLong(d.default.generateID(),"msg_id"),n.storeInt(a,"request_length");let s=n.getBytes(!0),p=new Uint8Array(s.byteLength+a);p.set(s),p.set(t,s.length);let o=r.default.chooseServer(e),m={code:406,type:"NETWORK_BAD_RESPONSE",transport:o};return this.log("mtpSendPlainRequest: creating requestPromise"),o.send(p).then(e=>{if(this.log("mtpSendPlainRequest: in good sector",e),!e||!e.byteLength)return Promise.reject(m);try{let t=new i.TLDeserialization(e,{mtproto:!0}),a=t.fetchLong("auth_key_id");0!=a&&this.log.error("auth_key_id != 0",a);let n=t.fetchLong("msg_id");0==n&&this.log.error("msg_id == 0",n);let s=t.fetchInt("msg_len");return s||this.log.error("no msg_len",s),t}catch(e){throw this.log.error("mtpSendPlainRequest: deserialization went bad",e),Object.assign(m,{originalError:e})}},e=>(e.message||e.type||(e=Object.assign(m,{originalError:e})),Promise.reject(e)))}mtpSendReqPQ(e){return n(this,void 0,void 0,(function*(){var t=new i.TLSerialization({mtproto:!0});t.storeMethod("req_pq_multi",{nonce:e.nonce}),o.default.prepare().then(()=>{}),this.log("Send req_pq",e.nonce.hex);try{var a=yield this.mtpSendPlainRequest(e.dcID,t.getBytes(!0))}catch(e){throw this.log.error("req_pq error",e.message),e}var n=a.fetchObject("ResPQ");if("resPQ"!=n._)throw new Error("[MT] resPQ response invalid: "+n._);if(!p.bytesCmp(e.nonce,n.nonce))throw this.log.error(e.nonce,n.nonce),new Error("[MT] resPQ nonce mismatch");e.serverNonce=new Uint8Array(n.server_nonce),e.pq=n.pq,e.fingerprints=n.server_public_key_fingerprints,this.log("Got ResPQ",p.bytesToHex(e.serverNonce),p.bytesToHex(e.pq),e.fingerprints);let s=yield o.default.select(e.fingerprints);if(!s)throw new Error("[MT] No public key found");e.publicKey=s,this.log("PQ factorization start",e.pq);try{var r=yield y.default.factorize(e.pq)}catch(e){throw this.log.error("worker error factorize",e),e}return e.p=r[0],e.q=r[1],this.log("PQ factorization done",r),this.mtpSendReqDhParams(e)}))}mtpSendReqDhParams(e){return n(this,void 0,void 0,(function*(){e.newNonce=new Uint8Array(32).randomize();let t={_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},a=new i.TLSerialization({mtproto:!0});a.storeObject(t,"P_Q_inner_data","DECRYPTED_DATA");let n=a.getBytes(!0),s=(yield y.default.sha1Hash(n)).concat(n),r=yield y.default.rsaEncrypt(e.publicKey,s),o={nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:r};var d=new i.TLSerialization({mtproto:!0});d.storeMethod("req_DH_params",o);let m=d.getBytes(!0);this.log("Send req_DH_params",o);try{var c=yield this.mtpSendPlainRequest(e.dcID,m)}catch(e){throw this.log("Send req_DH_params FAIL!",e),e}var l=c.fetchObject("Server_DH_Params","RESPONSE");if(this.log("Sent req_DH_params, response:",l),"server_DH_params_fail"!=l._&&"server_DH_params_ok"!=l._)throw new Error("[MT] Server_DH_Params response invalid: "+l._);if(!p.bytesCmp(e.nonce,l.nonce))throw new Error("[MT] Server_DH_Params nonce mismatch");if(!p.bytesCmp(e.serverNonce,l.server_nonce))throw new Error("[MT] Server_DH_Params server_nonce mismatch");if("server_DH_params_fail"==l._){var u=(yield y.default.sha1Hash(e.newNonce)).slice(-16);if(!p.bytesCmp(u,l.new_nonce_hash))throw new Error("[MT] server_DH_params_fail new_nonce_hash mismatch");throw new Error("[MT] server_DH_params_fail")}try{yield this.mtpDecryptServerDhDataAnswer(e,l.encrypted_answer)}catch(e){throw this.log.error("mtpDecryptServerDhDataAnswer FAILED!",e),e}return this.mtpSendSetClientDhParams(e)}))}mtpDecryptServerDhDataAnswer(e,t){return n(this,void 0,void 0,(function*(){e.localTime=Date.now(),e.tmpAesKey=(yield y.default.sha1Hash(e.newNonce.concat(e.serverNonce))).concat((yield y.default.sha1Hash(e.serverNonce.concat(e.newNonce))).slice(0,12)),e.tmpAesIv=(yield y.default.sha1Hash(e.serverNonce.concat(e.newNonce))).slice(12).concat(yield y.default.sha1Hash(e.newNonce.concat(e.newNonce)),e.newNonce.slice(0,4));var a=new Uint8Array(yield y.default.aesDecrypt(t,e.tmpAesKey,e.tmpAesIv)),n=a.slice(0,20),s=a.slice(20),r=new i.TLDeserialization(s,{mtproto:!0}),o=r.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=o._)throw new Error("[MT] server_DH_inner_data response invalid: "+o);if(!p.bytesCmp(e.nonce,o.nonce))throw new Error("[MT] server_DH_inner_data nonce mismatch");if(!p.bytesCmp(e.serverNonce,o.server_nonce))throw new Error("[MT] server_DH_inner_data serverNonce mismatch");this.log("Done decrypting answer"),e.g=o.g,e.dhPrime=o.dh_prime,e.gA=o.g_a,e.serverTime=o.server_time,e.retry=0,this.mtpVerifyDhParams(e.g,e.dhPrime,e.gA);var m=r.getOffset();if(!p.bytesCmp(n,yield y.default.sha1Hash(s.slice(0,m))))throw new Error("[MT] server_DH_inner_data SHA1-hash mismatch");d.default.applyServerTime(e.serverTime,e.localTime)}))}mtpVerifyDhParams(e,t,a){this.log("Verifying DH params");var n=p.bytesToHex(t);if(3!=e||"c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b"!==n)throw new Error("[MT] DH params are not verified: unknown dhPrime");this.log("dhPrime cmp OK");var s=new m.BigInteger(p.bytesToHex(a),16),i=new m.BigInteger(n,16);if(s.compareTo(m.BigInteger.ONE)<=0)throw new Error("[MT] DH params are not verified: gA <= 1");if(s.compareTo(i.subtract(m.BigInteger.ONE))>=0)throw new Error("[MT] DH params are not verified: gA >= dhPrime - 1");this.log("1 < gA < dhPrime-1 OK");var r=new m.BigInteger("");r.fromInt(2);var o=r.pow(1984);if(s.compareTo(o)<0)throw new Error("[MT] DH params are not verified: gA < 2^{2048-64}");if(s.compareTo(i.subtract(o))>=0)throw new Error("[MT] DH params are not verified: gA > dhPrime - 2^{2048-64}");return this.log("2^{2048-64} < gA < dhPrime-2^{2048-64} OK"),!0}mtpSendSetClientDhParams(e){return n(this,void 0,void 0,(function*(){var t=p.bytesFromHex(e.g.toString(16));e.b=new Array(256),e.b=[...new Uint8Array(e.b.length).randomize()];try{var a=yield y.default.modPow(t,e.b,e.dhPrime)}catch(e){throw e}var n=new i.TLSerialization({mtproto:!0});n.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:a},"Client_DH_Inner_Data");var s=(yield y.default.sha1Hash(n.getBuffer())).concat(n.getBytes()),r=yield y.default.aesEncrypt(s,e.tmpAesKey,e.tmpAesIv),o=new i.TLSerialization({mtproto:!0});o.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:r}),this.log("Send set_client_DH_params");try{var d=yield this.mtpSendPlainRequest(e.dcID,o.getBytes(!0))}catch(e){throw e}let m=d.fetchObject("Set_client_DH_params_answer");if("dh_gen_ok"!=m._&&"dh_gen_retry"!=m._&&"dh_gen_fail"!=m._)throw new Error("[MT] Set_client_DH_params_answer response invalid: "+m._);if(!p.bytesCmp(e.nonce,m.nonce))throw new Error("[MT] Set_client_DH_params_answer nonce mismatch");if(!p.bytesCmp(e.serverNonce,m.server_nonce))throw new Error("[MT] Set_client_DH_params_answer server_nonce mismatch");try{var c=yield y.default.modPow(e.gA,e.b,e.dhPrime)}catch(e){throw c}let l=yield y.default.sha1Hash(c),u=l.slice(0,8),g=l.slice(-8);switch(this.log("Got Set_client_DH_params_answer",m._,c),m._){case"dh_gen_ok":var h=(yield y.default.sha1Hash(e.newNonce.concat([1],u))).slice(-16);if(!p.bytesCmp(h,m.new_nonce_hash1))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash1 mismatch");var f=p.bytesXor(e.newNonce.slice(0,8),e.serverNonce.slice(0,8));return this.log("Auth successfull!",g,c,f),e.authKeyID=g,e.authKey=c,e.serverSalt=f,e;case"dh_gen_retry":var _=(yield y.default.sha1Hash(e.newNonce.concat([2],u))).slice(-16);if(!p.bytesCmp(_,m.new_nonce_hash2))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash2 mismatch");return this.mtpSendSetClientDhParams(e);case"dh_gen_fail":var b=(yield y.default.sha1Hash(e.newNonce.concat([3],u))).slice(-16);if(!p.bytesCmp(b,m.new_nonce_hash3))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash3 mismatch");throw new Error("[MT] Set_client_DH_params_answer fail")}}))}auth(e){return n(this,void 0,void 0,(function*(){if(e in this.cached)return this.cached[e];let t=new Uint8Array(16).randomize();if(!r.default.chooseServer(e))return Promise.reject(new Error("[MT] No server found for dc "+e));try{let a=this.mtpSendReqPQ({dcID:e,nonce:t});return this.cached[e]=a,yield a}catch(t){throw delete this.cached[e],t}}))}}t.Authorizer=l,t.default=new l},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RSAKeysManager=void 0;const i=a(7),r=a(0),p=s(a(2));class o{constructor(){this.publisKeysHex=[{modulus:"c150023e2f70db7985ded064759cfecf0af328e69a41daf4d6f01b538135a6f91f8f8b2a0ec9ba9720ce352efcf6c5680ffc424bd634864902de0b4bd6d49f4e580230e3ae97d95c8b19442b3c0a10d8f5633fecedd6926a7f6dab0ddb7d457f9ea81b8465fcd6fffeed114011df91c059caedaf97625f6c96ecc74725556934ef781d866b34f011fce4d835a090196e9a5f0e4449af7eb697ddb9076494ca5f81104a305b6dd27665722c46b60e5df680fb16b210607ef217652e60236c255f6a28315f4083a96791d7214bf64c1df4fd0db1944fb26a2a57031b32eee64ad15a8ba68885cde74a5bfc920f6abf59ba5c75506373e7130f9042da922179251f",exponent:"010001"},{modulus:"aeec36c8ffc109cb099624685b97815415657bd76d8c9c3e398103d7ad16c9bba6f525ed0412d7ae2c2de2b44e77d72cbf4b7438709a4e646a05c43427c7f184debf72947519680e651500890c6832796dd11f772c25ff8f576755afe055b0a3752c696eb7d8da0d8be1faf38c9bdd97ce0a77d3916230c4032167100edd0f9e7a3a9b602d04367b689536af0d64b613ccba7962939d3b57682beb6dae5b608130b2e52aca78ba023cf6ce806b1dc49c72cf928a7199d22e3d7ac84e47bc9427d0236945d10dbd15177bab413fbf0edfda09f014c7a7da088dde9759702ca760af2b8e4e97cc055c617bd74c3d97008635b98dc4d621b4891da9fb0473047927",exponent:"010001"},{modulus:"bdf2c77d81f6afd47bd30f29ac76e55adfe70e487e5e48297e5a9055c9c07d2b93b4ed3994d3eca5098bf18d978d54f8b7c713eb10247607e69af9ef44f38e28f8b439f257a11572945cc0406fe3f37bb92b79112db69eedf2dc71584a661638ea5becb9e23585074b80d57d9f5710dd30d2da940e0ada2f1b878397dc1a72b5ce2531b6f7dd158e09c828d03450ca0ff8a174deacebcaa22dde84ef66ad370f259d18af806638012da0ca4a70baa83d9c158f3552bc9158e69bf332a45809e1c36905a5caa12348dd57941a482131be7b2355a5f4635374f3bd3ddf5ff925bf4809ee27c1e67d9120c5fe08a9de458b1b4a3c5d0a428437f2beca81f4e2d5ff",exponent:"010001"},{modulus:"b3f762b739be98f343eb1921cf0148cfa27ff7af02b6471213fed9daa0098976e667750324f1abcea4c31e43b7d11f1579133f2b3d9fe27474e462058884e5e1b123be9cbbc6a443b2925c08520e7325e6f1a6d50e117eb61ea49d2534c8bb4d2ae4153fabe832b9edf4c5755fdd8b19940b81d1d96cf433d19e6a22968a85dc80f0312f596bd2530c1cfb28b5fe019ac9bc25cd9c2a5d8a0f3a1c0c79bcca524d315b5e21b5c26b46babe3d75d06d1cd33329ec782a0f22891ed1db42a1d6c0dea431428bc4d7aabdcf3e0eb6fda4e23eb7733e7727e9a1915580796c55188d2596d2665ad1182ba7abf15aaa5a8b779ea996317a20ae044b820bff35b6e8a1",exponent:"010001"},{modulus:"be6a71558ee577ff03023cfa17aab4e6c86383cff8a7ad38edb9fafe6f323f2d5106cbc8cafb83b869cffd1ccf121cd743d509e589e68765c96601e813dc5b9dfc4be415c7a6526132d0035ca33d6d6075d4f535122a1cdfe017041f1088d1419f65c8e5490ee613e16dbf662698c0f54870f0475fa893fc41eb55b08ff1ac211bc045ded31be27d12c96d8d3cfc6a7ae8aa50bf2ee0f30ed507cc2581e3dec56de94f5dc0a7abee0be990b893f2887bd2c6310a1e0a9e3e38bd34fded2541508dc102a9c9b4c95effd9dd2dfe96c29be647d6c69d66ca500843cfaed6e440196f1dbe0e2e22163c61ca48c79116fa77216726749a976a1c4b0944b5121e8c01",exponent:"010001"}],this.publicKeysParsed={},this.prepared=!1,this.preparePromise=null}prepare(){return this.preparePromise?this.preparePromise:this.prepared?Promise.resolve():this.preparePromise=Promise.all(this.publisKeysHex.map(e=>{let t=new i.TLSerialization;t.storeBytes(r.bytesFromHex(e.modulus),"n"),t.storeBytes(r.bytesFromHex(e.exponent),"e");let a=t.getBuffer();return p.default.sha1Hash(a).then(t=>{let a=r.bytesFromArrayBuffer(t).slice(-8);a.reverse(),this.publicKeysParsed[r.bytesToHex(a)]={modulus:e.modulus,exponent:e.exponent}})})).then(()=>{this.prepared=!0,this.preparePromise=null})}select(e){return n(this,void 0,void 0,(function*(){var t,a,n;for(yield this.prepare(),n=0;ny.default.gzipUncompress(e.slice().buffer,!0),this.convertWebp=(e,t)=>{const a=l.deferredPromise(),n={type:"convertWebp",payload:{fileName:t,bytes:e}};return c.notifySomeone(n),this.webpConvertPromises[t]=a}}downloadRequest(e,t,a){void 0===this.downloadPulls[e]&&(this.downloadPulls[e]=[],this.downloadActives[e]=0);const n=this.downloadPulls[e],s=new Promise((e,s)=>{n.push({cb:t,deferred:{resolve:e,reject:s},activeDelta:a})});return setTimeout(()=>{this.downloadCheck(e)},0),s}downloadCheck(e){const t=this.downloadPulls[e],a="upload"==e?11:48;if(this.downloadActives[e]>=a||!t||!t.length)return!1;const n=t.shift(),s=n.activeDelta||1;this.downloadActives[e]+=s,n.cb().then(t=>{this.downloadActives[e]-=s,this.downloadCheck(e),n.deferred.resolve(t)},t=>{t&&this.log.error("downloadCheck error:",t),this.downloadActives[e]-=s,this.downloadCheck(e),n.deferred.reject(t)})}getFileStorage(){return r.default}cancelDownload(e){const t=this.cachedDownloadPromises[e]||this.uploadPromises[e];return!(!t||t.isRejected||t.isFulfilled)&&(t.cancel(),!0)}requestFilePart(e,t,a,s,i){const r=s/1024/128;return this.downloadRequest(e,()=>n(this,void 0,void 0,(function*(){return i&&i(),o.default.invokeApi("upload.getFile",{location:t,offset:a,limit:s},{dcID:e,fileDownload:!0})})),r)}convertBlobToBytes(e){return e.arrayBuffer().then(e=>new Uint8Array(e))}getLimitPart(e){let t;return t=512,524288}downloadFile(e){var t;if(!p.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let a,s=null!==(t=e.size)&&void 0!==t?t:0,{dcID:r,location:o}=e;"image/webp"==e.mimeType&&m.isSafari?(a=this.convertWebp,e.mimeType="image/png"):"application/x-tgsticker"==e.mimeType&&(a=this.uncompressTGS,e.mimeType="application/json");const d=i.getFileNameByLocation(o,{fileName:e.fileName}),y=this.cachedDownloadPromises[d],u=this.getFileStorage();if(this.log("downloadFile",d,s,o,e.mimeType,a),y)return e.processPart?y.then(t=>this.convertBlobToBytes(t).then(a=>(e.processPart(a),t))):s?y.then(t=>t.sizethis.downloadFile(e)).catch(()=>this.downloadFile(e))):t):y;const g=l.deferredPromise(),h=e.mimeType||"image/jpeg";let f,_=!1,b=!1,v=e=>{g.reject(e),v=()=>{},!f||e&&"DOWNLOAD_CANCELED"==e.type||f.truncate()};u.getFile(d).then(t=>n(this,void 0,void 0,(function*(){if(t.size{e.processPart(t)})),g.resolve(t)}))).catch(()=>{u.getFileWriter(d,h).then(t=>{f=t;const i=e.limitPart||this.getLimitPart(s);let m,y,c=Promise.resolve();const u=(e.processPart,5),h=(t,s)=>n(this,void 0,void 0,(function*(){if(e.processPart&&(yield e.processPart(t,s,_)),a){return yield a(t,d)}return t})),_=[];m=0;do{y=l.deferredPromise(),_.push({offset:m,writeFilePromise:c,writeFileDeferred:y}),c=y,m+=i}while(mn(this,void 0,void 0,(function*(){const{offset:a,writeFilePromise:n,writeFileDeferred:m}=_.shift();try{const y=yield this.requestFilePart(r,o,a,i,w),c=y.bytes;_.length&&S(),this.log("downloadFile requestFilePart result:",d,y);const l=a+i>=s||!c.byteLength;if(c.byteLength){P+=c.byteLength,g.notify({done:P,offset:a,total:s});const e=yield h(c,a);w(),yield n,w(),yield p.default.write(t,e)}m.resolve(),l&&(b=!0,e.processPart?g.resolve():g.resolve(t.finalize(s<2e7)))}catch(e){v(e)}}));for(let e=0,t=Math.min(u,_.length);e{if(_)throw new Error("canceled")};return g.cancel=()=>{_||b||(_=!0,delete this.cachedDownloadPromises[d],v({type:"DOWNLOAD_CANCELED"}))},g.notify=e=>{c.notifyAll({progress:Object.assign({fileName:d},e)})},this.cachedDownloadPromises[d]=g,g}deleteFile(e){return delete this.cachedDownloadPromises[e],this.getFileStorage().deleteFile(e)}uploadFile({file:e,fileName:t}){const a=e.size,n=a>=10485760;let s=!1,r=!1,p=0,d=262144,m=2;a>67108864?(d=524288,m=4):a<102400&&(d=32768,m=1);const y=Math.ceil(a/d),l=[i.nextRandomInt(4294967295),i.nextRandomInt(4294967295)];let u=0;const g={_:n?"inputFileBig":"inputFile",id:l,parts:y,name:t,md5_checksum:""},h={notify:e=>{}},f=new Promise((e,t)=>{if(y>3e3)return t({type:"FILE_TOO_BIG"});h.resolve=e,h.reject=t});if(Object.assign(f,h),y>3e3)return f;let _=e=>{this.log.error("Up Error",e),f.reject(e),s=!0,_=()=>{}};const b=n?"upload.saveBigFilePart":"upload.saveFilePart";for(let t=0;tnew Promise((i,m)=>{const c=new FileReader,u=e.slice(t,t+d);c.onloadend=e=>{if(!s)return e.target.readyState!=FileReader.DONE?(this.log.error("wrong readyState!"),void m()):void o.default.invokeApi(b,{file_id:l,file_part:n,file_total_parts:y,bytes:e.target.result},{startMaxLength:d+256,fileUpload:!0,singleInRequest:!0}).then(e=>{p++,i(),f.notify({done:p*d,total:a}),p>=y&&(f.resolve(g),r=!0)},_);m()},c.readAsArrayBuffer(u)}),m).catch(_)}return f.cancel=()=>{this.log("cancel upload",s,r),s||r||(s=!0,_({type:"UPLOAD_CANCELED"}))},f.notify=e=>{c.notifyAll({progress:Object.assign({fileName:t},e)})},f.finally(()=>{delete this.uploadPromises[t]}),this.uploadPromises[t]=f}}t.ApiFileManager=u;const g=new u;t.default=g},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=a(0),r=s(a(18));const p=new class{constructor(){this.dbName="cachedFiles",this.openDatabase()}openDatabase(){return this.openDbPromise?this.openDbPromise:this.openDbPromise=caches.open(this.dbName)}deleteFile(e){return this.timeoutOperation(t=>n(this,void 0,void 0,(function*(){yield t.delete("/"+e)})))}saveFile(e,t){return t instanceof Blob||(t=i.blobConstruct(t)),this.timeoutOperation(a=>n(this,void 0,void 0,(function*(){return yield a.put("/"+e,new Response(t)),t})))}getBlobSize(e){return e.size||e.byteLength||e.length}getFile(e){return this.timeoutOperation(t=>n(this,void 0,void 0,(function*(){const a=yield t.match("/"+e);if(!a||!t)throw"No response???";return a.blob()})))}timeoutOperation(e){return new Promise((t,a)=>n(this,void 0,void 0,(function*(){let n=!1;const s=setTimeout(()=>{a(),n=!0},5e3);try{const a=yield this.openDatabase();if(!a)throw"no cache?";const s=yield e(a);if(n)return;t(s)}catch(e){a(e)}clearTimeout(s)})))}getFileWriter(e,t){const a=r.default.getFakeFileWriter(t,t=>this.saveFile(e,t));return Promise.resolve(a)}};t.default=p},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const n="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!n.MSStream,t.isSafari=!!("safari"in n)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=void 0,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((a,n)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,a(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,n(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t}}]); \ No newline at end of file diff --git a/public/b601bf8645daa9db7023.worker.js.gz b/public/b601bf8645daa9db7023.worker.js.gz new file mode 100644 index 00000000..ec2d3f8c Binary files /dev/null and b/public/b601bf8645daa9db7023.worker.js.gz differ diff --git a/public/index.html b/public/index.html index dfe3667e..52fd1f63 100644 --- a/public/index.html +++ b/public/index.html @@ -1,3 +1,3 @@ -Telegram Web \ No newline at end of file + \ No newline at end of file diff --git a/public/index.html.gz b/public/index.html.gz index df5c4a10..57f9ec09 100644 Binary files a/public/index.html.gz and b/public/index.html.gz differ diff --git a/public/main.bundle.js b/public/main.bundle.js index 283c3f40..3014b8d0 100644 --- a/public/main.bundle.js +++ b/public/main.bundle.js @@ -1,19 +1,13 @@ -!function(e){function t(t){for(var i,o,r=t[0],d=t[1],f=t[2],c=0,u=[];c{let s=new CustomEvent(e,{detail:t});document.dispatchEvent(s)},$on:(e,t)=>{document.addEventListener(e,t)},$off:(e,t)=>{document.removeEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var a=function(e,t,s,i,n,a,o){return[e,",",t," ",s," ",i,",",n," ",a,",",o].join("")};function o(e){if(!e.parentNode)return-1;let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function r(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(r(e))})),t}let s=new e.constructor;for(var i in e)e.hasOwnProperty(i)&&(s[i]=r(e[i]));return s}t.generatePathData=function(e,t,s,i,n,o,r,d){var f=[];return f.push("M"+(e+s/2)+","+t),f.push("H"+(e+s-o)),o>0&&f.push("A"+a(o,o,0,0,1,e+s,t+o)),f.push("V"+(t+i-r)),r>0&&f.push("A"+a(r,r,0,0,1,e+s-r,t+i)),f.push("H"+(e+d)),d>0&&f.push("A"+a(d,d,0,0,1,e+0,t+i-d)),f.push("V"+(t+n)),n>0&&f.push("A"+a(n,n,0,0,1,e+n,t+0)),f.push("Z"),f.join(" ")},t.langPack={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"",messageActionChannelMigrateFrom:"","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.tsNow=function(e){var t=+new Date;return e?Math.floor(t/1e3):t},t.safeReplaceObject=function(e,t){for(var s in e)t.hasOwnProperty(s)||"$"==s.charAt(0)||delete e[s];for(var s in t)e[s]=t[s]},t.numberWithCommas=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},t.findUpClassName=function(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null},t.findUpTag=function(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null},t.findUpAttribute=function(e,t){if(null!=e.getAttribute(t))return e;for(;e.parentElement;)if(null!=(e=e.parentElement).getAttribute(t))return e;return null},t.getObjectKeysAndSort=function(e,t="asc"){const s=Object.keys(e).map(e=>+e);return"asc"==t?s.sort((e,t)=>e-t):s.sort((e,t)=>t-e)},t.whichChild=o,t.copy=r,t.formatBytes=function(e,t=2){if(0===e)return"0 Bytes";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(s))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},t.formatNumber=function(e,t=2){if(0===e)return"0";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,i)).toFixed(s))+["","K","M","B","T"][i]},t.deepEqual=function e(t,s){const i=Object.keys,n=typeof t;return t&&s&&"object"===n&&n===typeof s?i(t).length===i(s).length&&i(t).every(i=>e(t[i],s[i])):t===s},t.listMergeSorted=function(e,t){t=t||[];for(var s=r(e=e||[]),i=e.length?e[e.length-1]:4294967295,n=0;n"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";").replace(/([^\#-~| |!])/g,e=>"&#"+e.charCodeAt(0)+";").replace(//g,">")},t.fillPropertyValue=function(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t},t.calcImageInBox=function(e,t,s,i,n){if(es/i?o=t*s/e|0:(a=e*i/t|0)>s&&(o=o*s/a|0,a=s),n&&a>=e&&o>=t&&(a=e,o=t),{w:a,h:o}},t.getEmojiToneIndex=function(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0},t.getFileURL=function(e,t){return"/"+e+"/"+encodeURIComponent(JSON.stringify(t))},t.positionElementByIndex=function(e,t,s){const i=o(e);return i!=s&&(-1!=i&&is?t.insertBefore(e,t.children[s]):t.append(e),!0)}},function(e,t,s){"use strict"; /*! * Webogram v0.7.0 - messaging web application for MTProto * https://github.com/zhukov/webogram * Copyright (C) 2014 Igor Zhukov * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(t,"__esModule",{value:!0}),t.positionElementByIndex=t.getFileURL=t.getEmojiToneIndex=t.calcImageInBox=t.fillPropertyValue=t.encodeEntities=t.escapeRegExp=t.listMergeSorted=t.deepEqual=t.formatNumber=t.formatBytes=t.copy=t.whichChild=t.getObjectKeysAndSort=t.findUpAttribute=t.findUpTag=t.findUpClassName=t.numberWithCommas=t.safeReplaceObject=t.tsNow=t.isObject=t.langPack=t.generatePathData=t.$rootScope=t.getRichElementValue=t.placeCaretAtEnd=t.getRichValue=t.cancelEvent=t.checkDragEvent=t.isInDOM=t.dT=void 0;var i=Date.now();function n(e,t,s,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o=i===e,r="DIV"==e.tagName||"P"==e.tagName;r&&s.length||"BR"==e.tagName?(t.push(s.join("")),s.splice(0,s.length)):"IMG"==e.tagName&&e.alt&&s.push(e.alt),o&&!a&&s.push("");for(var d=e.firstChild;d;)n(d,t,s,i,a),d=d.nextSibling;o&&a&&s.push(""),r&&s.length&&(t.push(s.join("")),s.splice(0,s.length))}}else if(i===e){var f=e.nodeValue;s.push(f.substr(0,a)+""+f.substr(a))}else s.push(e.nodeValue)}t.dT=function(){return"["+((Date.now()-i)/1e3).toFixed(3)+"]"},t.isInDOM=function e(t,s){return!!t&&(t==(s=s||document.body)||e(t.parentNode,s))},t.checkDragEvent=function(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t{let s=new CustomEvent(e,{detail:t});document.dispatchEvent(s)},$on:(e,t)=>{document.addEventListener(e,t)},$off:(e,t)=>{document.removeEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var a=function(e,t,s,i,n,a,o){return[e,",",t," ",s," ",i,",",n," ",a,",",o].join("")};function o(e){if(!e.parentNode)return-1;let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function r(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(r(e))})),t}let s=new e.constructor;for(var i in e)e.hasOwnProperty(i)&&(s[i]=r(e[i]));return s}t.generatePathData=function(e,t,s,i,n,o,r,d){var f=[];return f.push("M"+(e+s/2)+","+t),f.push("H"+(e+s-o)),o>0&&f.push("A"+a(o,o,0,0,1,e+s,t+o)),f.push("V"+(t+i-r)),r>0&&f.push("A"+a(r,r,0,0,1,e+s-r,t+i)),f.push("H"+(e+d)),d>0&&f.push("A"+a(d,d,0,0,1,e+0,t+i-d)),f.push("V"+(t+n)),n>0&&f.push("A"+a(n,n,0,0,1,e+n,t+0)),f.push("Z"),f.join(" ")},t.langPack={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"",messageActionChannelMigrateFrom:"","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.tsNow=function(e){var t=+new Date;return e?Math.floor(t/1e3):t},t.safeReplaceObject=function(e,t){for(var s in e)t.hasOwnProperty(s)||"$"==s.charAt(0)||delete e[s];for(var s in t)e[s]=t[s]},t.numberWithCommas=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},t.findUpClassName=function(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null},t.findUpTag=function(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null},t.findUpAttribute=function(e,t){if(null!=e.getAttribute(t))return e;for(;e.parentElement;)if(null!=(e=e.parentElement).getAttribute(t))return e;return null},t.getObjectKeysAndSort=function(e,t="asc"){const s=Object.keys(e).map(e=>+e);return"asc"==t?s.sort((e,t)=>e-t):s.sort((e,t)=>t-e)},t.whichChild=o,t.copy=r,t.formatBytes=function(e,t=2){if(0===e)return"0 Bytes";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(s))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},t.formatNumber=function(e,t=2){if(0===e)return"0";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,i)).toFixed(s))+["","K","M","B","T"][i]},t.deepEqual=function e(t,s){const i=Object.keys,n=typeof t;return t&&s&&"object"===n&&n===typeof s?i(t).length===i(s).length&&i(t).every(i=>e(t[i],s[i])):t===s},t.listMergeSorted=function(e,t){t=t||[];for(var s=r(e=e||[]),i=e.length?e[e.length-1]:4294967295,n=0;n"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";").replace(/([^\#-~| |!])/g,e=>"&#"+e.charCodeAt(0)+";").replace(//g,">")},t.fillPropertyValue=function(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t},t.calcImageInBox=function(e,t,s,i,n){if(es/i?o=t*s/e|0:(a=e*i/t|0)>s&&(o=o*s/a|0,a=s),n&&a>=e&&o>=t&&(a=e,o=t),{w:a,h:o}},t.getEmojiToneIndex=function(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0},t.getFileURL=function(e,t){return"/"+e+"/"+encodeURIComponent(JSON.stringify(t))},t.positionElementByIndex=function(e,t,s){const i=o(e);return i!=s&&(-1!=i&&is?t.insertBefore(e,t.children[s]):t.append(e),!0)}},function(e,t,s){"use strict"; + */Object.defineProperty(t,"__esModule",{value:!0}),t.isServiceWorkerSupported=t.touchSupport=t.mediaSizes=t.LatinizeMap=t.TLD=t.Countries=t.Emoji=t.isAppleMobile=t.isApple=t.isAndroid=t.isSafari=void 0;const i=s(48);Object.defineProperty(t,"isSafari",{enumerable:!0,get:function(){return i.isSafari}}),Object.defineProperty(t,"isAndroid",{enumerable:!0,get:function(){return i.isAndroid}}),Object.defineProperty(t,"isApple",{enumerable:!0,get:function(){return i.isApple}}),Object.defineProperty(t,"isAppleMobile",{enumerable:!0,get:function(){return i.isAppleMobile}}),t.Emoji={2049:6356,2122:6364,2139:6389,2194:6269,2195:6268,2196:6267,2197:6261,2198:6263,2199:6265,2328:680,2600:4177,2601:4185,2602:4200,2603:4205,2604:4207,2611:6341,2614:4201,2615:3101,2618:2123,2620:194,2622:6258,2623:6259,2626:6288,2638:6285,2639:166,2648:6293,2649:6294,2650:6301,2651:6302,2652:6303,2653:6304,2660:567,2663:570,2665:568,2666:569,2668:457,2692:6184,2693:4110,2694:6187,2696:6195,2697:6201,2699:6193,2702:6171,2705:6340,2708:4118,2709:6132,2712:6146,2714:6342,2716:6343,2721:6284,2728:56,2733:6352,2734:6353,2744:4204,2747:6354,2753:6357,2754:6358,2755:6359,2757:6360,2763:1125,2764:1127,2795:6346,2796:6347,2797:6348,2934:6272,2935:6273,3030:6361,3297:6413,3299:6414,"0023-20e3":6365,"002a-20e3":6366,"0030-20e3":6367,"0031-20e3":6368,"0032-20e3":6369,"0033-20e3":6370,"0034-20e3":6371,"0035-20e3":6372,"0036-20e3":6373,"0037-20e3":6374,"0038-20e3":6375,"0039-20e3":6376,"00a9":6362,"00ae":6363,"1f004":573,"1f0cf":572,"1f170":6383,"1f171":6385,"1f17e":6394,"1f17f":6396,"1f18e":6384,"1f191":6386,"1f192":6387,"1f193":6388,"1f194":6390,"1f195":6392,"1f196":6393,"1f197":6395,"1f198":6397,"1f199":6398,"1f19a":6399,"1f1e6-1f1e8":78,"1f1e6-1f1e9":79,"1f1e6-1f1ea":710,"1f1e6-1f1eb":711,"1f1e6-1f1ec":712,"1f1e6-1f1ee":713,"1f1e6-1f1f1":714,"1f1e6-1f1f2":715,"1f1e6-1f1f4":716,"1f1e6-1f1f6":717,"1f1e6-1f1f7":718,"1f1e6-1f1f8":719,"1f1e6-1f1f9":720,"1f1e6-1f1fa":721,"1f1e6-1f1fc":722,"1f1e6-1f1fd":723,"1f1e6-1f1ff":724,"1f1e7-1f1e6":725,"1f1e7-1f1e7":726,"1f1e7-1f1e9":727,"1f1e7-1f1ea":728,"1f1e7-1f1eb":729,"1f1e7-1f1ec":730,"1f1e7-1f1ed":731,"1f1e7-1f1ee":732,"1f1e7-1f1ef":733,"1f1e7-1f1f1":734,"1f1e7-1f1f2":735,"1f1e7-1f1f3":736,"1f1e7-1f1f4":737,"1f1e7-1f1f6":738,"1f1e7-1f1f7":739,"1f1e7-1f1f8":740,"1f1e7-1f1f9":741,"1f1e7-1f1fb":742,"1f1e7-1f1fc":743,"1f1e7-1f1fe":744,"1f1e7-1f1ff":745,"1f1e8-1f1e6":746,"1f1e8-1f1e8":747,"1f1e8-1f1e9":748,"1f1e8-1f1eb":749,"1f1e8-1f1ec":750,"1f1e8-1f1ed":751,"1f1e8-1f1ee":752,"1f1e8-1f1f0":753,"1f1e8-1f1f1":754,"1f1e8-1f1f2":755,"1f1e8-1f1f3":756,"1f1e8-1f1f4":757,"1f1e8-1f1f5":758,"1f1e8-1f1f7":759,"1f1e8-1f1fa":760,"1f1e8-1f1fb":761,"1f1e8-1f1fc":762,"1f1e8-1f1fd":763,"1f1e8-1f1fe":764,"1f1e8-1f1ff":765,"1f1e9-1f1ea":766,"1f1e9-1f1ec":767,"1f1e9-1f1ef":768,"1f1e9-1f1f0":769,"1f1e9-1f1f2":770,"1f1e9-1f1f4":771,"1f1e9-1f1ff":772,"1f1ea-1f1e6":773,"1f1ea-1f1e8":774,"1f1ea-1f1ea":775,"1f1ea-1f1ec":776,"1f1ea-1f1ed":777,"1f1ea-1f1f7":778,"1f1ea-1f1f8":779,"1f1ea-1f1f9":780,"1f1ea-1f1fa":781,"1f1eb-1f1ee":782,"1f1eb-1f1ef":783,"1f1eb-1f1f0":784,"1f1eb-1f1f2":785,"1f1eb-1f1f4":786,"1f1eb-1f1f7":787,"1f1ec-1f1e6":788,"1f1ec-1f1e7":789,"1f1ec-1f1e9":790,"1f1ec-1f1ea":791,"1f1ec-1f1eb":792,"1f1ec-1f1ec":793,"1f1ec-1f1ed":794,"1f1ec-1f1ee":795,"1f1ec-1f1f1":796,"1f1ec-1f1f2":797,"1f1ec-1f1f3":798,"1f1ec-1f1f5":799,"1f1ec-1f1f6":7100,"1f1ec-1f1f7":7101,"1f1ec-1f1f8":7102,"1f1ec-1f1f9":7103,"1f1ec-1f1fa":7104,"1f1ec-1f1fc":7105,"1f1ec-1f1fe":7106,"1f1ed-1f1f0":7107,"1f1ed-1f1f2":7108,"1f1ed-1f1f3":7109,"1f1ed-1f1f7":7110,"1f1ed-1f1f9":7111,"1f1ed-1f1fa":7112,"1f1ee-1f1e8":7113,"1f1ee-1f1e9":7114,"1f1ee-1f1ea":7115,"1f1ee-1f1f1":7116,"1f1ee-1f1f2":7117,"1f1ee-1f1f3":7118,"1f1ee-1f1f4":7119,"1f1ee-1f1f6":7120,"1f1ee-1f1f7":7121,"1f1ee-1f1f8":7122,"1f1ee-1f1f9":7123,"1f1ef-1f1ea":7124,"1f1ef-1f1f2":7125,"1f1ef-1f1f4":7126,"1f1ef-1f1f5":7127,"1f1f0-1f1ea":7128,"1f1f0-1f1ec":7129,"1f1f0-1f1ed":7130,"1f1f0-1f1ee":7131,"1f1f0-1f1f2":7132,"1f1f0-1f1f3":7133,"1f1f0-1f1f5":7134,"1f1f0-1f1f7":7135,"1f1f0-1f1fc":7136,"1f1f0-1f1fe":7137,"1f1f0-1f1ff":7138,"1f1f1-1f1e6":7139,"1f1f1-1f1e7":7140,"1f1f1-1f1e8":7141,"1f1f1-1f1ee":7142,"1f1f1-1f1f0":7143,"1f1f1-1f1f7":7144,"1f1f1-1f1f8":7145,"1f1f1-1f1f9":7146,"1f1f1-1f1fa":7147,"1f1f1-1f1fb":7148,"1f1f1-1f1fe":7149,"1f1f2-1f1e6":7150,"1f1f2-1f1e8":7151,"1f1f2-1f1e9":7152,"1f1f2-1f1ea":7153,"1f1f2-1f1eb":7154,"1f1f2-1f1ec":7155,"1f1f2-1f1ed":7156,"1f1f2-1f1f0":7157,"1f1f2-1f1f1":7158,"1f1f2-1f1f2":7159,"1f1f2-1f1f3":7160,"1f1f2-1f1f4":7161,"1f1f2-1f1f5":7162,"1f1f2-1f1f6":7163,"1f1f2-1f1f7":7164,"1f1f2-1f1f8":7165,"1f1f2-1f1f9":7166,"1f1f2-1f1fa":7167,"1f1f2-1f1fb":7168,"1f1f2-1f1fc":7169,"1f1f2-1f1fd":7170,"1f1f2-1f1fe":7171,"1f1f2-1f1ff":7172,"1f1f3-1f1e6":7173,"1f1f3-1f1e8":7174,"1f1f3-1f1ea":7175,"1f1f3-1f1eb":7176,"1f1f3-1f1ec":7177,"1f1f3-1f1ee":7178,"1f1f3-1f1f1":7179,"1f1f3-1f1f4":7180,"1f1f3-1f1f5":7181,"1f1f3-1f1f7":7182,"1f1f3-1f1fa":7183,"1f1f3-1f1ff":7184,"1f1f4-1f1f2":7185,"1f1f5-1f1e6":7186,"1f1f5-1f1ea":7187,"1f1f5-1f1eb":7188,"1f1f5-1f1ec":7189,"1f1f5-1f1ed":7190,"1f1f5-1f1f0":7191,"1f1f5-1f1f1":7192,"1f1f5-1f1f2":7193,"1f1f5-1f1f3":7194,"1f1f5-1f1f7":7195,"1f1f5-1f1f8":7196,"1f1f5-1f1f9":7197,"1f1f5-1f1fc":7198,"1f1f5-1f1fe":7199,"1f1f6-1f1e6":7200,"1f1f7-1f1ea":7201,"1f1f7-1f1f4":7202,"1f1f7-1f1f8":7203,"1f1f7-1f1fa":7204,"1f1f7-1f1fc":7205,"1f1f8-1f1e6":7206,"1f1f8-1f1e7":7207,"1f1f8-1f1e8":7208,"1f1f8-1f1e9":7209,"1f1f8-1f1ea":7210,"1f1f8-1f1ec":7211,"1f1f8-1f1ed":7212,"1f1f8-1f1ee":7213,"1f1f8-1f1ef":7214,"1f1f8-1f1f0":7215,"1f1f8-1f1f1":7216,"1f1f8-1f1f2":7217,"1f1f8-1f1f3":7218,"1f1f8-1f1f4":7219,"1f1f8-1f1f7":7220,"1f1f8-1f1f8":7221,"1f1f8-1f1f9":7222,"1f1f8-1f1fb":7223,"1f1f8-1f1fd":7224,"1f1f8-1f1fe":7225,"1f1f8-1f1ff":7226,"1f1f9-1f1e6":7227,"1f1f9-1f1e8":7228,"1f1f9-1f1e9":7229,"1f1f9-1f1eb":7230,"1f1f9-1f1ec":7231,"1f1f9-1f1ed":7232,"1f1f9-1f1ef":7233,"1f1f9-1f1f0":7234,"1f1f9-1f1f1":7235,"1f1f9-1f1f2":7236,"1f1f9-1f1f3":7237,"1f1f9-1f1f4":7238,"1f1f9-1f1f7":7239,"1f1f9-1f1f9":7240,"1f1f9-1f1fb":7241,"1f1f9-1f1fc":7242,"1f1f9-1f1ff":7243,"1f1fa-1f1e6":7244,"1f1fa-1f1ec":7245,"1f1fa-1f1f2":7246,"1f1fa-1f1f3":7247,"1f1fa-1f1f8":7248,"1f1fa-1f1fe":7249,"1f1fa-1f1ff":7250,"1f1fb-1f1e6":7251,"1f1fb-1f1e8":7252,"1f1fb-1f1ea":7253,"1f1fb-1f1ec":7254,"1f1fb-1f1ee":7255,"1f1fb-1f1f3":7256,"1f1fb-1f1fa":7257,"1f1fc-1f1eb":7258,"1f1fc-1f1f8":7259,"1f1fd-1f1f0":7260,"1f1fe-1f1ea":7261,"1f1fe-1f1f9":7262,"1f1ff-1f1e6":7263,"1f1ff-1f1f2":7264,"1f1ff-1f1fc":7265,"1f201":6400,"1f202":6401,"1f21a":6407,"1f22f":6404,"1f232":6408,"1f233":6412,"1f234":6411,"1f235":6416,"1f236":6403,"1f237":6402,"1f238":6410,"1f239":6406,"1f23a":6415,"1f250":6405,"1f251":6409,"1f300":4197,"1f301":449,"1f302":4199,"1f303":450,"1f304":452,"1f305":453,"1f306":454,"1f307":455,"1f308":4198,"1f309":456,"1f30a":4210,"1f30b":410,"1f30c":4184,"1f30d":41,"1f30e":42,"1f30f":43,"1f310":44,"1f311":4164,"1f312":4165,"1f313":4166,"1f314":4167,"1f315":4168,"1f316":4169,"1f317":4170,"1f318":4171,"1f319":4172,"1f31a":4173,"1f31b":4174,"1f31c":4175,"1f31d":4178,"1f31e":4179,"1f31f":4182,"1f320":4183,"1f321":4176,"1f324":4188,"1f325":4189,"1f326":4190,"1f327":4191,"1f328":4192,"1f329":4193,"1f32a":4194,"1f32b":4195,"1f32c":4196,"1f32d":347,"1f32e":349,"1f32f":350,"1f330":331,"1f331":2116,"1f332":2117,"1f333":2118,"1f334":2119,"1f335":2120,"1f336":323,"1f337":2115,"1f338":2107,"1f339":2110,"1f33a":2112,"1f33b":2113,"1f33c":2114,"1f33d":322,"1f33e":2121,"1f33f":2122,"1f340":2124,"1f341":2125,"1f342":2126,"1f343":2127,"1f344":329,"1f345":316,"1f346":319,"1f347":31,"1f348":32,"1f349":33,"1f34a":34,"1f34b":35,"1f34c":36,"1f34d":37,"1f34e":39,"1f34f":310,"1f350":311,"1f351":312,"1f352":313,"1f353":314,"1f354":344,"1f355":346,"1f356":340,"1f357":341,"1f358":364,"1f359":365,"1f35a":366,"1f35b":367,"1f35c":368,"1f35d":369,"1f35e":332,"1f35f":345,"1f360":370,"1f361":376,"1f362":371,"1f363":372,"1f364":373,"1f365":374,"1f366":385,"1f367":386,"1f368":387,"1f369":388,"1f36a":389,"1f36b":394,"1f36c":395,"1f36d":396,"1f36e":397,"1f36f":398,"1f370":391,"1f371":363,"1f372":356,"1f373":354,"1f374":3118,"1f375":3102,"1f376":3103,"1f377":3105,"1f378":3106,"1f379":3107,"1f37a":3108,"1f37b":3109,"1f37c":399,"1f37d":3117,"1f37e":3104,"1f37f":359,"1f380":517,"1f381":518,"1f382":390,"1f383":51,"1f384":52,"1f385":1326,"1f386":53,"1f387":54,"1f388":57,"1f389":58,"1f38a":59,"1f38b":510,"1f38c":73,"1f38d":511,"1f38e":512,"1f38f":513,"1f390":514,"1f391":515,"1f392":625,"1f393":637,"1f396":522,"1f397":519,"1f399":656,"1f39a":657,"1f39b":658,"1f39e":689,"1f39f":520,"1f3a0":458,"1f3a1":459,"1f3a2":460,"1f3a3":549,"1f3a4":659,"1f3a5":688,"1f3a6":6324,"1f3a7":660,"1f3a8":577,"1f3a9":636,"1f3aa":462,"1f3ab":521,"1f3ac":691,"1f3ad":575,"1f3ae":561,"1f3af":555,"1f3b0":563,"1f3b1":558,"1f3b2":564,"1f3b3":537,"1f3b4":574,"1f3b5":654,"1f3b6":655,"1f3b7":662,"1f3b8":663,"1f3b9":664,"1f3ba":665,"1f3bb":666,"1f3bc":653,"1f3bd":551,"1f3be":535,"1f3bf":552,"1f3c0":531,"1f3c1":71,"1f3c2":1397,"1f3c3-200d-2640-fe0f":1381,"1f3c3-200d-2642-fe0f":1380,"1f3c3":1379,"1f3c4-200d-2640-fe0f":1403,"1f3c4-200d-2642-fe0f":1402,"1f3c4":1401,"1f3c5":524,"1f3c6":523,"1f3c7":1395,"1f3c8":533,"1f3c9":534,"1f3ca-200d-2640-fe0f":1409,"1f3ca-200d-2642-fe0f":1408,"1f3ca":1407,"1f3cb-fe0f-200d-2640-fe0f":1415,"1f3cb-fe0f-200d-2642-fe0f":1414,"1f3cb":1413,"1f3cc-fe0f-200d-2640-fe0f":1400,"1f3cc-fe0f-200d-2642-fe0f":1399,"1f3cc":1398,"1f3cd":492,"1f3ce":491,"1f3cf":538,"1f3d0":532,"1f3d1":539,"1f3d2":540,"1f3d3":542,"1f3d4":48,"1f3d5":412,"1f3d6":413,"1f3d7":419,"1f3d8":421,"1f3d9":451,"1f3da":422,"1f3db":418,"1f3dc":414,"1f3dd":415,"1f3de":416,"1f3df":417,"1f3e0":423,"1f3e1":424,"1f3e2":425,"1f3e3":426,"1f3e4":427,"1f3e5":428,"1f3e6":429,"1f3e7":6234,"1f3e8":430,"1f3e9":431,"1f3ea":432,"1f3eb":433,"1f3ec":434,"1f3ed":435,"1f3ee":6102,"1f3ef":436,"1f3f0":437,"1f3f3-fe0f-200d-1f308":76,"1f3f3":75,"1f3f4-200d-2620-fe0f":77,"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f":7266,"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f":7267,"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f":7268,"1f3f4":74,"1f3f5":2109,"1f3f7":6120,"1f3f8":543,"1f3f9":6189,"1f3fa":3121,"1f3fb":81,"1f3fc":82,"1f3fd":83,"1f3fe":84,"1f3ff":85,"1f400":244,"1f401":243,"1f402":225,"1f403":226,"1f404":227,"1f405":217,"1f406":218,"1f407":247,"1f408":214,"1f409":282,"1f40a":277,"1f40b":286,"1f40c":294,"1f40d":280,"1f40e":220,"1f40f":232,"1f410":234,"1f411":233,"1f412":22,"1f413":262,"1f414":261,"1f415-200d-1f9ba":28,"1f415":26,"1f416":229,"1f417":230,"1f418":239,"1f419":292,"1f41a":293,"1f41b":296,"1f41c":297,"1f41d":298,"1f41e":299,"1f41f":288,"1f420":289,"1f421":290,"1f422":278,"1f423":263,"1f424":264,"1f425":265,"1f426":266,"1f427":267,"1f428":252,"1f429":29,"1f42a":235,"1f42b":236,"1f42c":287,"1f42d":242,"1f42e":224,"1f42f":216,"1f430":246,"1f431":213,"1f432":281,"1f433":285,"1f434":219,"1f435":21,"1f436":25,"1f437":228,"1f438":276,"1f439":245,"1f43a":210,"1f43b":251,"1f43c":253,"1f43d":231,"1f43e":259,"1f43f":248,"1f440":1194,"1f441-fe0f-200d-1f5e8-fe0f":1145,"1f441":1195,"1f442":1188,"1f443":1190,"1f444":1197,"1f445":1196,"1f446":1164,"1f447":1166,"1f448":1162,"1f449":1163,"1f44a":1171,"1f44b":1150,"1f44c":1155,"1f44d":1168,"1f44e":1169,"1f44f":1174,"1f450":1176,"1f451":634,"1f452":635,"1f453":61,"1f454":66,"1f455":67,"1f456":68,"1f457":613,"1f458":614,"1f459":619,"1f45a":620,"1f45b":621,"1f45c":622,"1f45d":623,"1f45e":626,"1f45f":627,"1f460":630,"1f461":631,"1f462":633,"1f463":1483,"1f464":1481,"1f465":1482,"1f466":1200,"1f467":1201,"1f468-200d-1f33e":1267,"1f468-200d-1f373":1270,"1f468-200d-1f393":1258,"1f468-200d-1f3a4":1288,"1f468-200d-1f3a8":1291,"1f468-200d-1f3eb":1261,"1f468-200d-1f3ed":1276,"1f468-200d-1f466-200d-1f466":1471,"1f468-200d-1f466":1470,"1f468-200d-1f467-200d-1f466":1473,"1f468-200d-1f467-200d-1f467":1474,"1f468-200d-1f467":1472,"1f468-200d-1f468-200d-1f466":1460,"1f468-200d-1f468-200d-1f466-200d-1f466":1463,"1f468-200d-1f468-200d-1f467":1461,"1f468-200d-1f468-200d-1f467-200d-1f466":1462,"1f468-200d-1f468-200d-1f467-200d-1f467":1464,"1f468-200d-1f469-200d-1f466":1455,"1f468-200d-1f469-200d-1f466-200d-1f466":1458,"1f468-200d-1f469-200d-1f467":1456,"1f468-200d-1f469-200d-1f467-200d-1f466":1457,"1f468-200d-1f469-200d-1f467-200d-1f467":1459,"1f468-200d-1f4bb":1285,"1f468-200d-1f4bc":1279,"1f468-200d-1f527":1273,"1f468-200d-1f52c":1282,"1f468-200d-1f680":1297,"1f468-200d-1f692":1300,"1f468-200d-1f9af":1371,"1f468-200d-1f9b0":1206,"1f468-200d-1f9b1":1207,"1f468-200d-1f9b2":1209,"1f468-200d-1f9b3":1208,"1f468-200d-1f9bc":1374,"1f468-200d-1f9bd":1377,"1f468-200d-2695-fe0f":1255,"1f468-200d-2696-fe0f":1264,"1f468-200d-2708-fe0f":1294,"1f468-200d-2764-fe0f-200d-1f468":1452,"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468":1448,"1f468":1204,"1f469-200d-1f33e":1268,"1f469-200d-1f373":1271,"1f469-200d-1f393":1259,"1f469-200d-1f3a4":1289,"1f469-200d-1f3a8":1292,"1f469-200d-1f3eb":1262,"1f469-200d-1f3ed":1277,"1f469-200d-1f466-200d-1f466":1476,"1f469-200d-1f466":1475,"1f469-200d-1f467-200d-1f466":1478,"1f469-200d-1f467-200d-1f467":1479,"1f469-200d-1f467":1477,"1f469-200d-1f469-200d-1f466":1465,"1f469-200d-1f469-200d-1f466-200d-1f466":1468,"1f469-200d-1f469-200d-1f467":1466,"1f469-200d-1f469-200d-1f467-200d-1f466":1467,"1f469-200d-1f469-200d-1f467-200d-1f467":1469,"1f469-200d-1f4bb":1286,"1f469-200d-1f4bc":1280,"1f469-200d-1f527":1274,"1f469-200d-1f52c":1283,"1f469-200d-1f680":1298,"1f469-200d-1f692":1301,"1f469-200d-1f9af":1372,"1f469-200d-1f9b0":1211,"1f469-200d-1f9b1":1213,"1f469-200d-1f9b2":1217,"1f469-200d-1f9b3":1215,"1f469-200d-1f9bc":1375,"1f469-200d-1f9bd":1378,"1f469-200d-2695-fe0f":1256,"1f469-200d-2696-fe0f":1265,"1f469-200d-2708-fe0f":1295,"1f469-200d-2764-fe0f-200d-1f468":1451,"1f469-200d-2764-fe0f-200d-1f469":1453,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468":1447,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469":1449,"1f469":1210,"1f46a":1454,"1f46b":1444,"1f46c":1445,"1f46d":1443,"1f46e-200d-2640-fe0f":1304,"1f46e-200d-2642-fe0f":1303,"1f46e":1302,"1f46f-200d-2640-fe0f":1387,"1f46f-200d-2642-fe0f":1386,"1f46f":1385,"1f470":1322,"1f471-200d-2640-fe0f":1219,"1f471-200d-2642-fe0f":1220,"1f471":1203,"1f472":1319,"1f473-200d-2640-fe0f":1318,"1f473-200d-2642-fe0f":1317,"1f473":1316,"1f474":1222,"1f475":1223,"1f476":1198,"1f477-200d-2640-fe0f":1313,"1f477-200d-2642-fe0f":1312,"1f477":1311,"1f478":1315,"1f479":197,"1f47a":198,"1f47b":199,"1f47c":1325,"1f47d":1100,"1f47e":1101,"1f47f":192,"1f480":193,"1f481-200d-2640-fe0f":1238,"1f481-200d-2642-fe0f":1237,"1f481":1236,"1f482-200d-2640-fe0f":1310,"1f482-200d-2642-fe0f":1309,"1f482":1308,"1f483":1382,"1f484":641,"1f485":1181,"1f486-200d-2640-fe0f":1357,"1f486-200d-2642-fe0f":1356,"1f486":1355,"1f487-200d-2640-fe0f":1360,"1f487-200d-2642-fe0f":1359,"1f487":1358,"1f488":461,"1f489":6208,"1f48a":6210,"1f48b":1115,"1f48c":1116,"1f48d":642,"1f48e":643,"1f48f":1446,"1f490":2106,"1f491":1450,"1f492":438,"1f493":1121,"1f494":1126,"1f495":1123,"1f496":1119,"1f497":1120,"1f498":1117,"1f499":1131,"1f49a":1130,"1f49b":1129,"1f49c":1132,"1f49d":1118,"1f49e":1122,"1f49f":1124,"1f4a0":6447,"1f4a1":6100,"1f4a2":1137,"1f4a3":1143,"1f4a4":1149,"1f4a5":1138,"1f4a6":1140,"1f4a7":4209,"1f4a8":1141,"1f4a9":195,"1f4aa":1183,"1f4ab":1139,"1f4ac":1144,"1f4ad":1148,"1f4ae":2108,"1f4af":1136,"1f4b0":6121,"1f4b1":6130,"1f4b2":6131,"1f4b3":6127,"1f4b4":6122,"1f4b5":6123,"1f4b6":6124,"1f4b7":6125,"1f4b8":6126,"1f4b9":6129,"1f4ba":4123,"1f4bb":677,"1f4bc":6152,"1f4bd":683,"1f4be":684,"1f4bf":685,"1f4c0":686,"1f4c1":6153,"1f4c2":6154,"1f4c3":6113,"1f4c4":6115,"1f4c5":6156,"1f4c6":6157,"1f4c7":6160,"1f4c8":6161,"1f4c9":6162,"1f4ca":6163,"1f4cb":6164,"1f4cc":6165,"1f4cd":6166,"1f4ce":6167,"1f4cf":6169,"1f4d0":6170,"1f4d1":6118,"1f4d2":6112,"1f4d3":6111,"1f4d4":6104,"1f4d5":6105,"1f4d6":6106,"1f4d7":6107,"1f4d8":6108,"1f4d9":6109,"1f4da":6110,"1f4db":6337,"1f4dc":6114,"1f4dd":6151,"1f4de":672,"1f4df":673,"1f4e0":674,"1f4e1":6207,"1f4e2":648,"1f4e3":649,"1f4e4":6136,"1f4e5":6137,"1f4e6":6138,"1f4e7":6133,"1f4e8":6134,"1f4e9":6135,"1f4ea":6140,"1f4eb":6139,"1f4ec":6141,"1f4ed":6142,"1f4ee":6143,"1f4ef":650,"1f4f0":6116,"1f4f1":669,"1f4f2":670,"1f4f3":6328,"1f4f4":6329,"1f4f5":6256,"1f4f6":6327,"1f4f7":693,"1f4f8":694,"1f4f9":695,"1f4fa":692,"1f4fb":661,"1f4fc":696,"1f4fd":690,"1f4ff":640,"1f500":6306,"1f501":6307,"1f502":6308,"1f503":6274,"1f504":6275,"1f505":6325,"1f506":6326,"1f507":644,"1f508":645,"1f509":646,"1f50a":647,"1f50b":675,"1f50c":676,"1f50d":697,"1f50e":698,"1f50f":6177,"1f510":6178,"1f511":6179,"1f512":6175,"1f513":6176,"1f514":651,"1f515":652,"1f516":6119,"1f517":6197,"1f518":6448,"1f519":6276,"1f51a":6277,"1f51b":6278,"1f51c":6279,"1f51d":6280,"1f51e":6257,"1f51f":6377,"1f520":6378,"1f521":6379,"1f522":6380,"1f523":6381,"1f524":6382,"1f525":4208,"1f526":6101,"1f527":6191,"1f528":6181,"1f529":6192,"1f52a":3120,"1f52b":6188,"1f52c":6205,"1f52d":6206,"1f52e":559,"1f52f":6292,"1f530":6338,"1f531":6336,"1f532":6450,"1f533":6449,"1f534":6417,"1f535":6421,"1f536":6441,"1f537":6442,"1f538":6443,"1f539":6444,"1f53a":6445,"1f53b":6446,"1f53c":6316,"1f53d":6318,"1f549":6283,"1f54a":268,"1f54b":446,"1f54c":442,"1f54d":444,"1f54e":6291,"1f550":4142,"1f551":4144,"1f552":4146,"1f553":4148,"1f554":4150,"1f555":4152,"1f556":4154,"1f557":4156,"1f558":4158,"1f559":4160,"1f55a":4162,"1f55b":4140,"1f55c":4143,"1f55d":4145,"1f55e":4147,"1f55f":4149,"1f560":4151,"1f561":4153,"1f562":4155,"1f563":4157,"1f564":4159,"1f565":4161,"1f566":4163,"1f567":4141,"1f56f":699,"1f570":4139,"1f573":1142,"1f574":1384,"1f575-fe0f-200d-2640-fe0f":1307,"1f575-fe0f-200d-2642-fe0f":1306,"1f575":1305,"1f576":62,"1f577":2101,"1f578":2102,"1f579":562,"1f57a":1383,"1f587":6168,"1f58a":6148,"1f58b":6147,"1f58c":6149,"1f58d":6150,"1f590":1152,"1f595":1165,"1f596":1154,"1f5a4":1134,"1f5a5":678,"1f5a8":679,"1f5b1":681,"1f5b2":682,"1f5bc":576,"1f5c2":6155,"1f5c3":6172,"1f5c4":6173,"1f5d1":6174,"1f5d2":6158,"1f5d3":6159,"1f5dc":6194,"1f5dd":6180,"1f5de":6117,"1f5e1":6186,"1f5e3":1480,"1f5e8":1146,"1f5ef":1147,"1f5f3":6144,"1f5fa":45,"1f5fb":411,"1f5fc":439,"1f5fd":440,"1f5fe":46,"1f5ff":6233,"1f600":11,"1f601":14,"1f602":18,"1f603":12,"1f604":13,"1f605":16,"1f606":15,"1f607":113,"1f608":191,"1f609":111,"1f60a":112,"1f60b":122,"1f60c":142,"1f60d":115,"1f60e":160,"1f60f":137,"1f610":134,"1f611":135,"1f612":138,"1f613":183,"1f614":143,"1f615":163,"1f616":180,"1f617":118,"1f618":117,"1f619":121,"1f61a":120,"1f61b":123,"1f61c":124,"1f61d":126,"1f61e":182,"1f61f":164,"1f620":189,"1f621":188,"1f622":177,"1f623":181,"1f624":187,"1f625":176,"1f626":172,"1f627":173,"1f628":174,"1f629":184,"1f62a":144,"1f62b":185,"1f62c":140,"1f62d":178,"1f62e":167,"1f62f":168,"1f630":175,"1f631":179,"1f632":169,"1f633":170,"1f634":146,"1f635":156,"1f636":136,"1f637":147,"1f638":1104,"1f639":1105,"1f63a":1103,"1f63b":1106,"1f63c":1107,"1f63d":1108,"1f63e":1111,"1f63f":1110,"1f640":1109,"1f641":165,"1f642":19,"1f643":110,"1f644":139,"1f645-200d-2640-fe0f":1232,"1f645-200d-2642-fe0f":1231,"1f645":1230,"1f646-200d-2640-fe0f":1235,"1f646-200d-2642-fe0f":1234,"1f646":1233,"1f647-200d-2640-fe0f":1247,"1f647-200d-2642-fe0f":1246,"1f647":1245,"1f648":1112,"1f649":1113,"1f64a":1114,"1f64b-200d-2640-fe0f":1241,"1f64b-200d-2642-fe0f":1240,"1f64b":1239,"1f64c":1175,"1f64d-200d-2640-fe0f":1226,"1f64d-200d-2642-fe0f":1225,"1f64d":1224,"1f64e-200d-2640-fe0f":1229,"1f64e-200d-2642-fe0f":1228,"1f64e":1227,"1f64f":1179,"1f680":4129,"1f681":4124,"1f682":463,"1f683":464,"1f684":465,"1f685":466,"1f686":467,"1f687":468,"1f688":469,"1f689":470,"1f68a":471,"1f68b":474,"1f68c":475,"1f68d":476,"1f68e":477,"1f68f":4100,"1f690":478,"1f691":479,"1f692":480,"1f693":481,"1f694":482,"1f695":483,"1f696":484,"1f697":485,"1f698":486,"1f699":487,"1f69a":488,"1f69b":489,"1f69c":490,"1f69d":472,"1f69e":473,"1f69f":4125,"1f6a0":4126,"1f6a1":4127,"1f6a2":4117,"1f6a3-200d-2640-fe0f":1406,"1f6a3-200d-2642-fe0f":1405,"1f6a3":1404,"1f6a4":4113,"1f6a5":4106,"1f6a6":4107,"1f6a7":4109,"1f6a8":4105,"1f6a9":72,"1f6aa":6213,"1f6ab":6250,"1f6ac":6230,"1f6ad":6252,"1f6ae":6235,"1f6af":6253,"1f6b0":6236,"1f6b1":6254,"1f6b2":497,"1f6b3":6251,"1f6b4-200d-2640-fe0f":1418,"1f6b4-200d-2642-fe0f":1417,"1f6b4":1416,"1f6b5-200d-2640-fe0f":1421,"1f6b5-200d-2642-fe0f":1420,"1f6b5":1419,"1f6b6-200d-2640-fe0f":1363,"1f6b6-200d-2642-fe0f":1362,"1f6b6":1361,"1f6b7":6255,"1f6b8":6248,"1f6b9":6238,"1f6ba":6239,"1f6bb":6240,"1f6bc":6241,"1f6bd":6217,"1f6be":6242,"1f6bf":6218,"1f6c0":1440,"1f6c1":6219,"1f6c2":6243,"1f6c3":6244,"1f6c4":6245,"1f6c5":6246,"1f6cb":6215,"1f6cc":1441,"1f6cd":624,"1f6ce":4131,"1f6cf":6214,"1f6d0":6281,"1f6d1":4108,"1f6d2":6229,"1f6d5":443,"1f6e0":6185,"1f6e1":6190,"1f6e2":4103,"1f6e3":4101,"1f6e4":4102,"1f6e5":4116,"1f6e9":4119,"1f6eb":4120,"1f6ec":4121,"1f6f0":4128,"1f6f3":4114,"1f6f4":498,"1f6f5":493,"1f6f6":4112,"1f6f7":553,"1f6f8":4130,"1f6f9":499,"1f6fa":496,"1f7e0":6418,"1f7e1":6419,"1f7e2":6420,"1f7e3":6422,"1f7e4":6423,"1f7e5":6426,"1f7e6":6430,"1f7e7":6427,"1f7e8":6428,"1f7e9":6429,"1f7ea":6431,"1f7eb":6432,"1f90d":1135,"1f90e":1133,"1f90f":1156,"1f910":132,"1f911":127,"1f912":148,"1f913":161,"1f914":131,"1f915":149,"1f916":1102,"1f917":128,"1f918":1160,"1f919":1161,"1f91a":1151,"1f91b":1172,"1f91c":1173,"1f91d":1178,"1f91e":1158,"1f91f":1159,"1f920":158,"1f921":196,"1f922":150,"1f923":17,"1f924":145,"1f925":141,"1f926-200d-2640-fe0f":1250,"1f926-200d-2642-fe0f":1249,"1f926":1248,"1f927":152,"1f928":133,"1f929":116,"1f92a":125,"1f92b":130,"1f92c":190,"1f92d":129,"1f92e":151,"1f92f":157,"1f930":1323,"1f931":1324,"1f932":1177,"1f933":1182,"1f934":1314,"1f935":1321,"1f936":1327,"1f937-200d-2640-fe0f":1253,"1f937-200d-2642-fe0f":1252,"1f937":1251,"1f938-200d-2640-fe0f":1424,"1f938-200d-2642-fe0f":1423,"1f938":1422,"1f939-200d-2640-fe0f":1436,"1f939-200d-2642-fe0f":1435,"1f939":1434,"1f93a":1394,"1f93c-200d-2640-fe0f":1427,"1f93c-200d-2642-fe0f":1426,"1f93c":1425,"1f93d-200d-2640-fe0f":1430,"1f93d-200d-2642-fe0f":1429,"1f93d":1428,"1f93e-200d-2640-fe0f":1433,"1f93e-200d-2642-fe0f":1432,"1f93e":1431,"1f93f":550,"1f940":2111,"1f941":668,"1f942":3110,"1f943":3111,"1f944":3119,"1f945":546,"1f947":525,"1f948":526,"1f949":527,"1f94a":544,"1f94b":545,"1f94c":554,"1f94d":541,"1f94e":530,"1f94f":536,"1f950":333,"1f951":318,"1f952":324,"1f953":343,"1f954":320,"1f955":321,"1f956":334,"1f957":358,"1f958":355,"1f959":351,"1f95a":353,"1f95b":3100,"1f95c":330,"1f95d":315,"1f95e":337,"1f95f":377,"1f960":378,"1f961":379,"1f962":3116,"1f963":357,"1f964":3112,"1f965":317,"1f966":326,"1f967":393,"1f968":335,"1f969":342,"1f96a":348,"1f96b":362,"1f96c":325,"1f96d":38,"1f96e":375,"1f96f":336,"1f970":114,"1f971":186,"1f973":159,"1f974":155,"1f975":153,"1f976":154,"1f97a":171,"1f97b":615,"1f97c":64,"1f97d":63,"1f97e":628,"1f97f":629,"1f980":380,"1f981":215,"1f982":2103,"1f983":260,"1f984":221,"1f985":269,"1f986":270,"1f987":250,"1f988":291,"1f989":272,"1f98a":211,"1f98b":295,"1f98c":223,"1f98d":23,"1f98e":279,"1f98f":240,"1f990":382,"1f991":383,"1f992":238,"1f993":222,"1f994":249,"1f995":283,"1f996":284,"1f997":2100,"1f998":257,"1f999":237,"1f99a":274,"1f99b":241,"1f99c":275,"1f99d":212,"1f99e":381,"1f99f":2104,"1f9a0":2105,"1f9a1":258,"1f9a2":271,"1f9a5":254,"1f9a6":255,"1f9a7":24,"1f9a8":256,"1f9a9":273,"1f9aa":384,"1f9ae":27,"1f9af":6196,"1f9b4":1193,"1f9b5":1186,"1f9b6":1187,"1f9b7":1192,"1f9b8-200d-2640-fe0f":1330,"1f9b8-200d-2642-fe0f":1329,"1f9b8":1328,"1f9b9-200d-2640-fe0f":1333,"1f9b9-200d-2642-fe0f":1332,"1f9b9":1331,"1f9ba":65,"1f9bb":1189,"1f9bc":495,"1f9bd":494,"1f9be":1184,"1f9bf":1185,"1f9c0":339,"1f9c1":392,"1f9c2":361,"1f9c3":3113,"1f9c4":327,"1f9c5":328,"1f9c6":352,"1f9c7":338,"1f9c8":360,"1f9c9":3114,"1f9ca":3115,"1f9cd-200d-2640-fe0f":1366,"1f9cd-200d-2642-fe0f":1365,"1f9cd":1364,"1f9ce-200d-2640-fe0f":1369,"1f9ce-200d-2642-fe0f":1368,"1f9ce":1367,"1f9cf-200d-2640-fe0f":1244,"1f9cf-200d-2642-fe0f":1243,"1f9cf":1242,"1f9d0":162,"1f9d1-200d-1f33e":1266,"1f9d1-200d-1f373":1269,"1f9d1-200d-1f393":1257,"1f9d1-200d-1f3a4":1287,"1f9d1-200d-1f3a8":1290,"1f9d1-200d-1f3eb":1260,"1f9d1-200d-1f3ed":1275,"1f9d1-200d-1f4bb":1284,"1f9d1-200d-1f4bc":1278,"1f9d1-200d-1f527":1272,"1f9d1-200d-1f52c":1281,"1f9d1-200d-1f680":1296,"1f9d1-200d-1f692":1299,"1f9d1-200d-1f91d-200d-1f9d1":1442,"1f9d1-200d-1f9af":1370,"1f9d1-200d-1f9b0":1212,"1f9d1-200d-1f9b1":1214,"1f9d1-200d-1f9b2":1218,"1f9d1-200d-1f9b3":1216,"1f9d1-200d-1f9bc":1373,"1f9d1-200d-1f9bd":1376,"1f9d1-200d-2695-fe0f":1254,"1f9d1-200d-2696-fe0f":1263,"1f9d1-200d-2708-fe0f":1293,"1f9d1":1202,"1f9d2":1199,"1f9d3":1221,"1f9d4":1205,"1f9d5":1320,"1f9d6-200d-2640-fe0f":1390,"1f9d6-200d-2642-fe0f":1389,"1f9d6":1388,"1f9d7-200d-2640-fe0f":1393,"1f9d7-200d-2642-fe0f":1392,"1f9d7":1391,"1f9d8-200d-2640-fe0f":1439,"1f9d8-200d-2642-fe0f":1438,"1f9d8":1437,"1f9d9-200d-2640-fe0f":1336,"1f9d9-200d-2642-fe0f":1335,"1f9d9":1334,"1f9da-200d-2640-fe0f":1339,"1f9da-200d-2642-fe0f":1338,"1f9da":1337,"1f9db-200d-2640-fe0f":1342,"1f9db-200d-2642-fe0f":1341,"1f9db":1340,"1f9dc-200d-2640-fe0f":1345,"1f9dc-200d-2642-fe0f":1344,"1f9dc":1343,"1f9dd-200d-2640-fe0f":1348,"1f9dd-200d-2642-fe0f":1347,"1f9dd":1346,"1f9de-200d-2640-fe0f":1351,"1f9de-200d-2642-fe0f":1350,"1f9de":1349,"1f9df-200d-2640-fe0f":1354,"1f9df-200d-2642-fe0f":1353,"1f9df":1352,"1f9e0":1191,"1f9e1":1128,"1f9e2":638,"1f9e3":69,"1f9e4":610,"1f9e5":611,"1f9e6":612,"1f9e7":516,"1f9e8":55,"1f9e9":565,"1f9ea":6202,"1f9eb":6203,"1f9ec":6204,"1f9ed":47,"1f9ee":687,"1f9ef":6228,"1f9f0":6199,"1f9f1":420,"1f9f2":6200,"1f9f3":4132,"1f9f4":6221,"1f9f5":578,"1f9f6":579,"1f9f7":6222,"1f9f8":566,"1f9f9":6223,"1f9fa":6224,"1f9fb":6225,"1f9fc":6226,"1f9fd":6227,"1f9fe":6128,"1f9ff":560,"1fa70":632,"1fa71":616,"1fa72":617,"1fa73":618,"1fa78":6209,"1fa79":6211,"1fa7a":6212,"1fa80":556,"1fa81":557,"1fa82":4122,"1fa90":4180,"1fa91":6216,"1fa92":6220,"1fa93":6182,"1fa94":6103,"1fa95":667,"203c":6355,"21a9":6270,"21aa":6271,"231a":4135,"231b":4133,"23cf":6323,"23e9":6310,"23ea":6314,"23eb":6317,"23ec":6319,"23ed":6311,"23ee":6315,"23ef":6312,"23f0":4136,"23f1":4137,"23f2":4138,"23f3":4134,"23f8":6320,"23f9":6321,"23fa":6322,"24c2":6391,"25aa":6439,"25ab":6440,"25b6":6309,"25c0":6313,"25fb":6436,"25fc":6435,"25fd":6438,"25fe":6437,"260e":671,"261d":1167,"262a":6289,"262e":6290,"262f":6286,"263a":119,"264a":6295,"264b":6296,"264c":6297,"264d":6298,"264e":6299,"264f":6300,"265f":571,"267b":6334,"267e":6333,"267f":6237,"269b":6282,"269c":6335,"26a0":6247,"26a1":4203,"26aa":6425,"26ab":6424,"26b0":6231,"26b1":6232,"26bd":528,"26be":529,"26c4":4206,"26c5":4186,"26c8":4187,"26ce":6305,"26cf":6183,"26d1":639,"26d3":6198,"26d4":6249,"26e9":445,"26ea":441,"26f0":49,"26f1":4202,"26f2":447,"26f3":547,"26f4":4115,"26f5":4111,"26f7":1396,"26f8":548,"26f9-fe0f-200d-2640-fe0f":1412,"26f9-fe0f-200d-2642-fe0f":1411,"26f9":1410,"26fa":448,"26fd":4104,"270a":1170,"270b":1153,"270c":1157,"270d":1180,"270f":6145,"271d":6287,"274c":6344,"274e":6345,"27a1":6262,"27b0":6349,"27bf":6350,"2b05":6266,"2b06":6260,"2b07":6264,"2b1b":6433,"2b1c":6434,"2b50":4181,"2b55":6339,"303d":6351,"1f385-1f3fb":0,"1f385-1f3fc":0,"1f385-1f3fd":0,"1f385-1f3fe":0,"1f385-1f3ff":0,"1f3c2-1f3fb":0,"1f3c2-1f3fc":0,"1f3c2-1f3fd":0,"1f3c2-1f3fe":0,"1f3c2-1f3ff":0,"1f3c3-1f3fb-200d-2640-fe0f":0,"1f3c3-1f3fc-200d-2640-fe0f":0,"1f3c3-1f3fd-200d-2640-fe0f":0,"1f3c3-1f3fe-200d-2640-fe0f":0,"1f3c3-1f3ff-200d-2640-fe0f":0,"1f3c3-1f3fb-200d-2642-fe0f":0,"1f3c3-1f3fc-200d-2642-fe0f":0,"1f3c3-1f3fd-200d-2642-fe0f":0,"1f3c3-1f3fe-200d-2642-fe0f":0,"1f3c3-1f3ff-200d-2642-fe0f":0,"1f3c3-1f3fb":0,"1f3c3-1f3fc":0,"1f3c3-1f3fd":0,"1f3c3-1f3fe":0,"1f3c3-1f3ff":0,"1f3c4-1f3fb-200d-2640-fe0f":0,"1f3c4-1f3fc-200d-2640-fe0f":0,"1f3c4-1f3fd-200d-2640-fe0f":0,"1f3c4-1f3fe-200d-2640-fe0f":0,"1f3c4-1f3ff-200d-2640-fe0f":0,"1f3c4-1f3fb-200d-2642-fe0f":0,"1f3c4-1f3fc-200d-2642-fe0f":0,"1f3c4-1f3fd-200d-2642-fe0f":0,"1f3c4-1f3fe-200d-2642-fe0f":0,"1f3c4-1f3ff-200d-2642-fe0f":0,"1f3c4-1f3fb":0,"1f3c4-1f3fc":0,"1f3c4-1f3fd":0,"1f3c4-1f3fe":0,"1f3c4-1f3ff":0,"1f3c7-1f3fb":0,"1f3c7-1f3fc":0,"1f3c7-1f3fd":0,"1f3c7-1f3fe":0,"1f3c7-1f3ff":0,"1f3ca-1f3fb-200d-2640-fe0f":0,"1f3ca-1f3fc-200d-2640-fe0f":0,"1f3ca-1f3fd-200d-2640-fe0f":0,"1f3ca-1f3fe-200d-2640-fe0f":0,"1f3ca-1f3ff-200d-2640-fe0f":0,"1f3ca-1f3fb-200d-2642-fe0f":0,"1f3ca-1f3fc-200d-2642-fe0f":0,"1f3ca-1f3fd-200d-2642-fe0f":0,"1f3ca-1f3fe-200d-2642-fe0f":0,"1f3ca-1f3ff-200d-2642-fe0f":0,"1f3ca-1f3fb":0,"1f3ca-1f3fc":0,"1f3ca-1f3fd":0,"1f3ca-1f3fe":0,"1f3ca-1f3ff":0,"1f3cb-1f3fb-200d-2640-fe0f":0,"1f3cb-1f3fc-200d-2640-fe0f":0,"1f3cb-1f3fd-200d-2640-fe0f":0,"1f3cb-1f3fe-200d-2640-fe0f":0,"1f3cb-1f3ff-200d-2640-fe0f":0,"1f3cb-1f3fb-200d-2642-fe0f":0,"1f3cb-1f3fc-200d-2642-fe0f":0,"1f3cb-1f3fd-200d-2642-fe0f":0,"1f3cb-1f3fe-200d-2642-fe0f":0,"1f3cb-1f3ff-200d-2642-fe0f":0,"1f3cb-1f3fb":0,"1f3cb-1f3fc":0,"1f3cb-1f3fd":0,"1f3cb-1f3fe":0,"1f3cb-1f3ff":0,"1f3cc-1f3fb-200d-2640-fe0f":0,"1f3cc-1f3fc-200d-2640-fe0f":0,"1f3cc-1f3fd-200d-2640-fe0f":0,"1f3cc-1f3fe-200d-2640-fe0f":0,"1f3cc-1f3ff-200d-2640-fe0f":0,"1f3cc-1f3fb-200d-2642-fe0f":0,"1f3cc-1f3fc-200d-2642-fe0f":0,"1f3cc-1f3fd-200d-2642-fe0f":0,"1f3cc-1f3fe-200d-2642-fe0f":0,"1f3cc-1f3ff-200d-2642-fe0f":0,"1f3cc-1f3fb":0,"1f3cc-1f3fc":0,"1f3cc-1f3fd":0,"1f3cc-1f3fe":0,"1f3cc-1f3ff":0,"1f442-1f3fb":0,"1f442-1f3fc":0,"1f442-1f3fd":0,"1f442-1f3fe":0,"1f442-1f3ff":0,"1f443-1f3fb":0,"1f443-1f3fc":0,"1f443-1f3fd":0,"1f443-1f3fe":0,"1f443-1f3ff":0,"1f446-1f3fb":0,"1f446-1f3fc":0,"1f446-1f3fd":0,"1f446-1f3fe":0,"1f446-1f3ff":0,"1f447-1f3fb":0,"1f447-1f3fc":0,"1f447-1f3fd":0,"1f447-1f3fe":0,"1f447-1f3ff":0,"1f448-1f3fb":0,"1f448-1f3fc":0,"1f448-1f3fd":0,"1f448-1f3fe":0,"1f448-1f3ff":0,"1f449-1f3fb":0,"1f449-1f3fc":0,"1f449-1f3fd":0,"1f449-1f3fe":0,"1f449-1f3ff":0,"1f44a-1f3fb":0,"1f44a-1f3fc":0,"1f44a-1f3fd":0,"1f44a-1f3fe":0,"1f44a-1f3ff":0,"1f44b-1f3fb":0,"1f44b-1f3fc":0,"1f44b-1f3fd":0,"1f44b-1f3fe":0,"1f44b-1f3ff":0,"1f44c-1f3fb":0,"1f44c-1f3fc":0,"1f44c-1f3fd":0,"1f44c-1f3fe":0,"1f44c-1f3ff":0,"1f44d-1f3fb":0,"1f44d-1f3fc":0,"1f44d-1f3fd":0,"1f44d-1f3fe":0,"1f44d-1f3ff":0,"1f44e-1f3fb":0,"1f44e-1f3fc":0,"1f44e-1f3fd":0,"1f44e-1f3fe":0,"1f44e-1f3ff":0,"1f44f-1f3fb":0,"1f44f-1f3fc":0,"1f44f-1f3fd":0,"1f44f-1f3fe":0,"1f44f-1f3ff":0,"1f450-1f3fb":0,"1f450-1f3fc":0,"1f450-1f3fd":0,"1f450-1f3fe":0,"1f450-1f3ff":0,"1f466-1f3fb":0,"1f466-1f3fc":0,"1f466-1f3fd":0,"1f466-1f3fe":0,"1f466-1f3ff":0,"1f467-1f3fb":0,"1f467-1f3fc":0,"1f467-1f3fd":0,"1f467-1f3fe":0,"1f467-1f3ff":0,"1f468-1f3fb-200d-1f33e":0,"1f468-1f3fc-200d-1f33e":0,"1f468-1f3fd-200d-1f33e":0,"1f468-1f3fe-200d-1f33e":0,"1f468-1f3ff-200d-1f33e":0,"1f468-1f3fb-200d-1f373":0,"1f468-1f3fc-200d-1f373":0,"1f468-1f3fd-200d-1f373":0,"1f468-1f3fe-200d-1f373":0,"1f468-1f3ff-200d-1f373":0,"1f468-1f3fb-200d-1f393":0,"1f468-1f3fc-200d-1f393":0,"1f468-1f3fd-200d-1f393":0,"1f468-1f3fe-200d-1f393":0,"1f468-1f3ff-200d-1f393":0,"1f468-1f3fb-200d-1f3a4":0,"1f468-1f3fc-200d-1f3a4":0,"1f468-1f3fd-200d-1f3a4":0,"1f468-1f3fe-200d-1f3a4":0,"1f468-1f3ff-200d-1f3a4":0,"1f468-1f3fb-200d-1f3a8":0,"1f468-1f3fc-200d-1f3a8":0,"1f468-1f3fd-200d-1f3a8":0,"1f468-1f3fe-200d-1f3a8":0,"1f468-1f3ff-200d-1f3a8":0,"1f468-1f3fb-200d-1f3eb":0,"1f468-1f3fc-200d-1f3eb":0,"1f468-1f3fd-200d-1f3eb":0,"1f468-1f3fe-200d-1f3eb":0,"1f468-1f3ff-200d-1f3eb":0,"1f468-1f3fb-200d-1f3ed":0,"1f468-1f3fc-200d-1f3ed":0,"1f468-1f3fd-200d-1f3ed":0,"1f468-1f3fe-200d-1f3ed":0,"1f468-1f3ff-200d-1f3ed":0,"1f468-1f3fb-200d-1f4bb":0,"1f468-1f3fc-200d-1f4bb":0,"1f468-1f3fd-200d-1f4bb":0,"1f468-1f3fe-200d-1f4bb":0,"1f468-1f3ff-200d-1f4bb":0,"1f468-1f3fb-200d-1f4bc":0,"1f468-1f3fc-200d-1f4bc":0,"1f468-1f3fd-200d-1f4bc":0,"1f468-1f3fe-200d-1f4bc":0,"1f468-1f3ff-200d-1f4bc":0,"1f468-1f3fb-200d-1f527":0,"1f468-1f3fc-200d-1f527":0,"1f468-1f3fd-200d-1f527":0,"1f468-1f3fe-200d-1f527":0,"1f468-1f3ff-200d-1f527":0,"1f468-1f3fb-200d-1f52c":0,"1f468-1f3fc-200d-1f52c":0,"1f468-1f3fd-200d-1f52c":0,"1f468-1f3fe-200d-1f52c":0,"1f468-1f3ff-200d-1f52c":0,"1f468-1f3fb-200d-1f680":0,"1f468-1f3fc-200d-1f680":0,"1f468-1f3fd-200d-1f680":0,"1f468-1f3fe-200d-1f680":0,"1f468-1f3ff-200d-1f680":0,"1f468-1f3fb-200d-1f692":0,"1f468-1f3fc-200d-1f692":0,"1f468-1f3fd-200d-1f692":0,"1f468-1f3fe-200d-1f692":0,"1f468-1f3ff-200d-1f692":0,"1f468-1f3fb-200d-1f9af":0,"1f468-1f3fc-200d-1f9af":0,"1f468-1f3fd-200d-1f9af":0,"1f468-1f3fe-200d-1f9af":0,"1f468-1f3ff-200d-1f9af":0,"1f468-1f3fb-200d-1f9b0":0,"1f468-1f3fc-200d-1f9b0":0,"1f468-1f3fd-200d-1f9b0":0,"1f468-1f3fe-200d-1f9b0":0,"1f468-1f3ff-200d-1f9b0":0,"1f468-1f3fb-200d-1f9b1":0,"1f468-1f3fc-200d-1f9b1":0,"1f468-1f3fd-200d-1f9b1":0,"1f468-1f3fe-200d-1f9b1":0,"1f468-1f3ff-200d-1f9b1":0,"1f468-1f3fb-200d-1f9b2":0,"1f468-1f3fc-200d-1f9b2":0,"1f468-1f3fd-200d-1f9b2":0,"1f468-1f3fe-200d-1f9b2":0,"1f468-1f3ff-200d-1f9b2":0,"1f468-1f3fb-200d-1f9b3":0,"1f468-1f3fc-200d-1f9b3":0,"1f468-1f3fd-200d-1f9b3":0,"1f468-1f3fe-200d-1f9b3":0,"1f468-1f3ff-200d-1f9b3":0,"1f468-1f3fb-200d-1f9bc":0,"1f468-1f3fc-200d-1f9bc":0,"1f468-1f3fd-200d-1f9bc":0,"1f468-1f3fe-200d-1f9bc":0,"1f468-1f3ff-200d-1f9bc":0,"1f468-1f3fb-200d-1f9bd":0,"1f468-1f3fc-200d-1f9bd":0,"1f468-1f3fd-200d-1f9bd":0,"1f468-1f3fe-200d-1f9bd":0,"1f468-1f3ff-200d-1f9bd":0,"1f468-1f3fb-200d-2695-fe0f":0,"1f468-1f3fc-200d-2695-fe0f":0,"1f468-1f3fd-200d-2695-fe0f":0,"1f468-1f3fe-200d-2695-fe0f":0,"1f468-1f3ff-200d-2695-fe0f":0,"1f468-1f3fb-200d-2696-fe0f":0,"1f468-1f3fc-200d-2696-fe0f":0,"1f468-1f3fd-200d-2696-fe0f":0,"1f468-1f3fe-200d-2696-fe0f":0,"1f468-1f3ff-200d-2696-fe0f":0,"1f468-1f3fb-200d-2708-fe0f":0,"1f468-1f3fc-200d-2708-fe0f":0,"1f468-1f3fd-200d-2708-fe0f":0,"1f468-1f3fe-200d-2708-fe0f":0,"1f468-1f3ff-200d-2708-fe0f":0,"1f468-1f3fb":0,"1f468-1f3fc":0,"1f468-1f3fd":0,"1f468-1f3fe":0,"1f468-1f3ff":0,"1f469-1f3fb-200d-1f33e":0,"1f469-1f3fc-200d-1f33e":0,"1f469-1f3fd-200d-1f33e":0,"1f469-1f3fe-200d-1f33e":0,"1f469-1f3ff-200d-1f33e":0,"1f469-1f3fb-200d-1f373":0,"1f469-1f3fc-200d-1f373":0,"1f469-1f3fd-200d-1f373":0,"1f469-1f3fe-200d-1f373":0,"1f469-1f3ff-200d-1f373":0,"1f469-1f3fb-200d-1f393":0,"1f469-1f3fc-200d-1f393":0,"1f469-1f3fd-200d-1f393":0,"1f469-1f3fe-200d-1f393":0,"1f469-1f3ff-200d-1f393":0,"1f469-1f3fb-200d-1f3a4":0,"1f469-1f3fc-200d-1f3a4":0,"1f469-1f3fd-200d-1f3a4":0,"1f469-1f3fe-200d-1f3a4":0,"1f469-1f3ff-200d-1f3a4":0,"1f469-1f3fb-200d-1f3a8":0,"1f469-1f3fc-200d-1f3a8":0,"1f469-1f3fd-200d-1f3a8":0,"1f469-1f3fe-200d-1f3a8":0,"1f469-1f3ff-200d-1f3a8":0,"1f469-1f3fb-200d-1f3eb":0,"1f469-1f3fc-200d-1f3eb":0,"1f469-1f3fd-200d-1f3eb":0,"1f469-1f3fe-200d-1f3eb":0,"1f469-1f3ff-200d-1f3eb":0,"1f469-1f3fb-200d-1f3ed":0,"1f469-1f3fc-200d-1f3ed":0,"1f469-1f3fd-200d-1f3ed":0,"1f469-1f3fe-200d-1f3ed":0,"1f469-1f3ff-200d-1f3ed":0,"1f469-1f3fb-200d-1f4bb":0,"1f469-1f3fc-200d-1f4bb":0,"1f469-1f3fd-200d-1f4bb":0,"1f469-1f3fe-200d-1f4bb":0,"1f469-1f3ff-200d-1f4bb":0,"1f469-1f3fb-200d-1f4bc":0,"1f469-1f3fc-200d-1f4bc":0,"1f469-1f3fd-200d-1f4bc":0,"1f469-1f3fe-200d-1f4bc":0,"1f469-1f3ff-200d-1f4bc":0,"1f469-1f3fb-200d-1f527":0,"1f469-1f3fc-200d-1f527":0,"1f469-1f3fd-200d-1f527":0,"1f469-1f3fe-200d-1f527":0,"1f469-1f3ff-200d-1f527":0,"1f469-1f3fb-200d-1f52c":0,"1f469-1f3fc-200d-1f52c":0,"1f469-1f3fd-200d-1f52c":0,"1f469-1f3fe-200d-1f52c":0,"1f469-1f3ff-200d-1f52c":0,"1f469-1f3fb-200d-1f680":0,"1f469-1f3fc-200d-1f680":0,"1f469-1f3fd-200d-1f680":0,"1f469-1f3fe-200d-1f680":0,"1f469-1f3ff-200d-1f680":0,"1f469-1f3fb-200d-1f692":0,"1f469-1f3fc-200d-1f692":0,"1f469-1f3fd-200d-1f692":0,"1f469-1f3fe-200d-1f692":0,"1f469-1f3ff-200d-1f692":0,"1f469-1f3fb-200d-1f9af":0,"1f469-1f3fc-200d-1f9af":0,"1f469-1f3fd-200d-1f9af":0,"1f469-1f3fe-200d-1f9af":0,"1f469-1f3ff-200d-1f9af":0,"1f469-1f3fb-200d-1f9b0":0,"1f469-1f3fc-200d-1f9b0":0,"1f469-1f3fd-200d-1f9b0":0,"1f469-1f3fe-200d-1f9b0":0,"1f469-1f3ff-200d-1f9b0":0,"1f469-1f3fb-200d-1f9b1":0,"1f469-1f3fc-200d-1f9b1":0,"1f469-1f3fd-200d-1f9b1":0,"1f469-1f3fe-200d-1f9b1":0,"1f469-1f3ff-200d-1f9b1":0,"1f469-1f3fb-200d-1f9b2":0,"1f469-1f3fc-200d-1f9b2":0,"1f469-1f3fd-200d-1f9b2":0,"1f469-1f3fe-200d-1f9b2":0,"1f469-1f3ff-200d-1f9b2":0,"1f469-1f3fb-200d-1f9b3":0,"1f469-1f3fc-200d-1f9b3":0,"1f469-1f3fd-200d-1f9b3":0,"1f469-1f3fe-200d-1f9b3":0,"1f469-1f3ff-200d-1f9b3":0,"1f469-1f3fb-200d-1f9bc":0,"1f469-1f3fc-200d-1f9bc":0,"1f469-1f3fd-200d-1f9bc":0,"1f469-1f3fe-200d-1f9bc":0,"1f469-1f3ff-200d-1f9bc":0,"1f469-1f3fb-200d-1f9bd":0,"1f469-1f3fc-200d-1f9bd":0,"1f469-1f3fd-200d-1f9bd":0,"1f469-1f3fe-200d-1f9bd":0,"1f469-1f3ff-200d-1f9bd":0,"1f469-1f3fb-200d-2695-fe0f":0,"1f469-1f3fc-200d-2695-fe0f":0,"1f469-1f3fd-200d-2695-fe0f":0,"1f469-1f3fe-200d-2695-fe0f":0,"1f469-1f3ff-200d-2695-fe0f":0,"1f469-1f3fb-200d-2696-fe0f":0,"1f469-1f3fc-200d-2696-fe0f":0,"1f469-1f3fd-200d-2696-fe0f":0,"1f469-1f3fe-200d-2696-fe0f":0,"1f469-1f3ff-200d-2696-fe0f":0,"1f469-1f3fb-200d-2708-fe0f":0,"1f469-1f3fc-200d-2708-fe0f":0,"1f469-1f3fd-200d-2708-fe0f":0,"1f469-1f3fe-200d-2708-fe0f":0,"1f469-1f3ff-200d-2708-fe0f":0,"1f469-1f3fb":0,"1f469-1f3fc":0,"1f469-1f3fd":0,"1f469-1f3fe":0,"1f469-1f3ff":0,"1f46b-1f3fb":0,"1f46b-1f3fc":0,"1f46b-1f3fd":0,"1f46b-1f3fe":0,"1f46b-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46c-1f3fb":0,"1f46c-1f3fc":0,"1f46c-1f3fd":0,"1f46c-1f3fe":0,"1f46c-1f3ff":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46d-1f3fb":0,"1f46d-1f3fc":0,"1f46d-1f3fd":0,"1f46d-1f3fe":0,"1f46d-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe":0,"1f46e-1f3fb-200d-2640-fe0f":0,"1f46e-1f3fc-200d-2640-fe0f":0,"1f46e-1f3fd-200d-2640-fe0f":0,"1f46e-1f3fe-200d-2640-fe0f":0,"1f46e-1f3ff-200d-2640-fe0f":0,"1f46e-1f3fb-200d-2642-fe0f":0,"1f46e-1f3fc-200d-2642-fe0f":0,"1f46e-1f3fd-200d-2642-fe0f":0,"1f46e-1f3fe-200d-2642-fe0f":0,"1f46e-1f3ff-200d-2642-fe0f":0,"1f46e-1f3fb":0,"1f46e-1f3fc":0,"1f46e-1f3fd":0,"1f46e-1f3fe":0,"1f46e-1f3ff":0,"1f470-1f3fb":0,"1f470-1f3fc":0,"1f470-1f3fd":0,"1f470-1f3fe":0,"1f470-1f3ff":0,"1f471-1f3fb-200d-2640-fe0f":0,"1f471-1f3fc-200d-2640-fe0f":0,"1f471-1f3fd-200d-2640-fe0f":0,"1f471-1f3fe-200d-2640-fe0f":0,"1f471-1f3ff-200d-2640-fe0f":0,"1f471-1f3fb-200d-2642-fe0f":0,"1f471-1f3fc-200d-2642-fe0f":0,"1f471-1f3fd-200d-2642-fe0f":0,"1f471-1f3fe-200d-2642-fe0f":0,"1f471-1f3ff-200d-2642-fe0f":0,"1f471-1f3fb":0,"1f471-1f3fc":0,"1f471-1f3fd":0,"1f471-1f3fe":0,"1f471-1f3ff":0,"1f472-1f3fb":0,"1f472-1f3fc":0,"1f472-1f3fd":0,"1f472-1f3fe":0,"1f472-1f3ff":0,"1f473-1f3fb-200d-2640-fe0f":0,"1f473-1f3fc-200d-2640-fe0f":0,"1f473-1f3fd-200d-2640-fe0f":0,"1f473-1f3fe-200d-2640-fe0f":0,"1f473-1f3ff-200d-2640-fe0f":0,"1f473-1f3fb-200d-2642-fe0f":0,"1f473-1f3fc-200d-2642-fe0f":0,"1f473-1f3fd-200d-2642-fe0f":0,"1f473-1f3fe-200d-2642-fe0f":0,"1f473-1f3ff-200d-2642-fe0f":0,"1f473-1f3fb":0,"1f473-1f3fc":0,"1f473-1f3fd":0,"1f473-1f3fe":0,"1f473-1f3ff":0,"1f474-1f3fb":0,"1f474-1f3fc":0,"1f474-1f3fd":0,"1f474-1f3fe":0,"1f474-1f3ff":0,"1f475-1f3fb":0,"1f475-1f3fc":0,"1f475-1f3fd":0,"1f475-1f3fe":0,"1f475-1f3ff":0,"1f476-1f3fb":0,"1f476-1f3fc":0,"1f476-1f3fd":0,"1f476-1f3fe":0,"1f476-1f3ff":0,"1f477-1f3fb-200d-2640-fe0f":0,"1f477-1f3fc-200d-2640-fe0f":0,"1f477-1f3fd-200d-2640-fe0f":0,"1f477-1f3fe-200d-2640-fe0f":0,"1f477-1f3ff-200d-2640-fe0f":0,"1f477-1f3fb-200d-2642-fe0f":0,"1f477-1f3fc-200d-2642-fe0f":0,"1f477-1f3fd-200d-2642-fe0f":0,"1f477-1f3fe-200d-2642-fe0f":0,"1f477-1f3ff-200d-2642-fe0f":0,"1f477-1f3fb":0,"1f477-1f3fc":0,"1f477-1f3fd":0,"1f477-1f3fe":0,"1f477-1f3ff":0,"1f478-1f3fb":0,"1f478-1f3fc":0,"1f478-1f3fd":0,"1f478-1f3fe":0,"1f478-1f3ff":0,"1f47c-1f3fb":0,"1f47c-1f3fc":0,"1f47c-1f3fd":0,"1f47c-1f3fe":0,"1f47c-1f3ff":0,"1f481-1f3fb-200d-2640-fe0f":0,"1f481-1f3fc-200d-2640-fe0f":0,"1f481-1f3fd-200d-2640-fe0f":0,"1f481-1f3fe-200d-2640-fe0f":0,"1f481-1f3ff-200d-2640-fe0f":0,"1f481-1f3fb-200d-2642-fe0f":0,"1f481-1f3fc-200d-2642-fe0f":0,"1f481-1f3fd-200d-2642-fe0f":0,"1f481-1f3fe-200d-2642-fe0f":0,"1f481-1f3ff-200d-2642-fe0f":0,"1f481-1f3fb":0,"1f481-1f3fc":0,"1f481-1f3fd":0,"1f481-1f3fe":0,"1f481-1f3ff":0,"1f482-1f3fb-200d-2640-fe0f":0,"1f482-1f3fc-200d-2640-fe0f":0,"1f482-1f3fd-200d-2640-fe0f":0,"1f482-1f3fe-200d-2640-fe0f":0,"1f482-1f3ff-200d-2640-fe0f":0,"1f482-1f3fb-200d-2642-fe0f":0,"1f482-1f3fc-200d-2642-fe0f":0,"1f482-1f3fd-200d-2642-fe0f":0,"1f482-1f3fe-200d-2642-fe0f":0,"1f482-1f3ff-200d-2642-fe0f":0,"1f482-1f3fb":0,"1f482-1f3fc":0,"1f482-1f3fd":0,"1f482-1f3fe":0,"1f482-1f3ff":0,"1f483-1f3fb":0,"1f483-1f3fc":0,"1f483-1f3fd":0,"1f483-1f3fe":0,"1f483-1f3ff":0,"1f485-1f3fb":0,"1f485-1f3fc":0,"1f485-1f3fd":0,"1f485-1f3fe":0,"1f485-1f3ff":0,"1f486-1f3fb-200d-2640-fe0f":0,"1f486-1f3fc-200d-2640-fe0f":0,"1f486-1f3fd-200d-2640-fe0f":0,"1f486-1f3fe-200d-2640-fe0f":0,"1f486-1f3ff-200d-2640-fe0f":0,"1f486-1f3fb-200d-2642-fe0f":0,"1f486-1f3fc-200d-2642-fe0f":0,"1f486-1f3fd-200d-2642-fe0f":0,"1f486-1f3fe-200d-2642-fe0f":0,"1f486-1f3ff-200d-2642-fe0f":0,"1f486-1f3fb":0,"1f486-1f3fc":0,"1f486-1f3fd":0,"1f486-1f3fe":0,"1f486-1f3ff":0,"1f487-1f3fb-200d-2640-fe0f":0,"1f487-1f3fc-200d-2640-fe0f":0,"1f487-1f3fd-200d-2640-fe0f":0,"1f487-1f3fe-200d-2640-fe0f":0,"1f487-1f3ff-200d-2640-fe0f":0,"1f487-1f3fb-200d-2642-fe0f":0,"1f487-1f3fc-200d-2642-fe0f":0,"1f487-1f3fd-200d-2642-fe0f":0,"1f487-1f3fe-200d-2642-fe0f":0,"1f487-1f3ff-200d-2642-fe0f":0,"1f487-1f3fb":0,"1f487-1f3fc":0,"1f487-1f3fd":0,"1f487-1f3fe":0,"1f487-1f3ff":0,"1f4aa-1f3fb":0,"1f4aa-1f3fc":0,"1f4aa-1f3fd":0,"1f4aa-1f3fe":0,"1f4aa-1f3ff":0,"1f574-1f3fb":0,"1f574-1f3fc":0,"1f574-1f3fd":0,"1f574-1f3fe":0,"1f574-1f3ff":0,"1f575-1f3fb-200d-2640-fe0f":0,"1f575-1f3fc-200d-2640-fe0f":0,"1f575-1f3fd-200d-2640-fe0f":0,"1f575-1f3fe-200d-2640-fe0f":0,"1f575-1f3ff-200d-2640-fe0f":0,"1f575-1f3fb-200d-2642-fe0f":0,"1f575-1f3fc-200d-2642-fe0f":0,"1f575-1f3fd-200d-2642-fe0f":0,"1f575-1f3fe-200d-2642-fe0f":0,"1f575-1f3ff-200d-2642-fe0f":0,"1f575-1f3fb":0,"1f575-1f3fc":0,"1f575-1f3fd":0,"1f575-1f3fe":0,"1f575-1f3ff":0,"1f57a-1f3fb":0,"1f57a-1f3fc":0,"1f57a-1f3fd":0,"1f57a-1f3fe":0,"1f57a-1f3ff":0,"1f590-1f3fb":0,"1f590-1f3fc":0,"1f590-1f3fd":0,"1f590-1f3fe":0,"1f590-1f3ff":0,"1f595-1f3fb":0,"1f595-1f3fc":0,"1f595-1f3fd":0,"1f595-1f3fe":0,"1f595-1f3ff":0,"1f596-1f3fb":0,"1f596-1f3fc":0,"1f596-1f3fd":0,"1f596-1f3fe":0,"1f596-1f3ff":0,"1f645-1f3fb-200d-2640-fe0f":0,"1f645-1f3fc-200d-2640-fe0f":0,"1f645-1f3fd-200d-2640-fe0f":0,"1f645-1f3fe-200d-2640-fe0f":0,"1f645-1f3ff-200d-2640-fe0f":0,"1f645-1f3fb-200d-2642-fe0f":0,"1f645-1f3fc-200d-2642-fe0f":0,"1f645-1f3fd-200d-2642-fe0f":0,"1f645-1f3fe-200d-2642-fe0f":0,"1f645-1f3ff-200d-2642-fe0f":0,"1f645-1f3fb":0,"1f645-1f3fc":0,"1f645-1f3fd":0,"1f645-1f3fe":0,"1f645-1f3ff":0,"1f646-1f3fb-200d-2640-fe0f":0,"1f646-1f3fc-200d-2640-fe0f":0,"1f646-1f3fd-200d-2640-fe0f":0,"1f646-1f3fe-200d-2640-fe0f":0,"1f646-1f3ff-200d-2640-fe0f":0,"1f646-1f3fb-200d-2642-fe0f":0,"1f646-1f3fc-200d-2642-fe0f":0,"1f646-1f3fd-200d-2642-fe0f":0,"1f646-1f3fe-200d-2642-fe0f":0,"1f646-1f3ff-200d-2642-fe0f":0,"1f646-1f3fb":0,"1f646-1f3fc":0,"1f646-1f3fd":0,"1f646-1f3fe":0,"1f646-1f3ff":0,"1f647-1f3fb-200d-2640-fe0f":0,"1f647-1f3fc-200d-2640-fe0f":0,"1f647-1f3fd-200d-2640-fe0f":0,"1f647-1f3fe-200d-2640-fe0f":0,"1f647-1f3ff-200d-2640-fe0f":0,"1f647-1f3fb-200d-2642-fe0f":0,"1f647-1f3fc-200d-2642-fe0f":0,"1f647-1f3fd-200d-2642-fe0f":0,"1f647-1f3fe-200d-2642-fe0f":0,"1f647-1f3ff-200d-2642-fe0f":0,"1f647-1f3fb":0,"1f647-1f3fc":0,"1f647-1f3fd":0,"1f647-1f3fe":0,"1f647-1f3ff":0,"1f64b-1f3fb-200d-2640-fe0f":0,"1f64b-1f3fc-200d-2640-fe0f":0,"1f64b-1f3fd-200d-2640-fe0f":0,"1f64b-1f3fe-200d-2640-fe0f":0,"1f64b-1f3ff-200d-2640-fe0f":0,"1f64b-1f3fb-200d-2642-fe0f":0,"1f64b-1f3fc-200d-2642-fe0f":0,"1f64b-1f3fd-200d-2642-fe0f":0,"1f64b-1f3fe-200d-2642-fe0f":0,"1f64b-1f3ff-200d-2642-fe0f":0,"1f64b-1f3fb":0,"1f64b-1f3fc":0,"1f64b-1f3fd":0,"1f64b-1f3fe":0,"1f64b-1f3ff":0,"1f64c-1f3fb":0,"1f64c-1f3fc":0,"1f64c-1f3fd":0,"1f64c-1f3fe":0,"1f64c-1f3ff":0,"1f64d-1f3fb-200d-2640-fe0f":0,"1f64d-1f3fc-200d-2640-fe0f":0,"1f64d-1f3fd-200d-2640-fe0f":0,"1f64d-1f3fe-200d-2640-fe0f":0,"1f64d-1f3ff-200d-2640-fe0f":0,"1f64d-1f3fb-200d-2642-fe0f":0,"1f64d-1f3fc-200d-2642-fe0f":0,"1f64d-1f3fd-200d-2642-fe0f":0,"1f64d-1f3fe-200d-2642-fe0f":0,"1f64d-1f3ff-200d-2642-fe0f":0,"1f64d-1f3fb":0,"1f64d-1f3fc":0,"1f64d-1f3fd":0,"1f64d-1f3fe":0,"1f64d-1f3ff":0,"1f64e-1f3fb-200d-2640-fe0f":0,"1f64e-1f3fc-200d-2640-fe0f":0,"1f64e-1f3fd-200d-2640-fe0f":0,"1f64e-1f3fe-200d-2640-fe0f":0,"1f64e-1f3ff-200d-2640-fe0f":0,"1f64e-1f3fb-200d-2642-fe0f":0,"1f64e-1f3fc-200d-2642-fe0f":0,"1f64e-1f3fd-200d-2642-fe0f":0,"1f64e-1f3fe-200d-2642-fe0f":0,"1f64e-1f3ff-200d-2642-fe0f":0,"1f64e-1f3fb":0,"1f64e-1f3fc":0,"1f64e-1f3fd":0,"1f64e-1f3fe":0,"1f64e-1f3ff":0,"1f64f-1f3fb":0,"1f64f-1f3fc":0,"1f64f-1f3fd":0,"1f64f-1f3fe":0,"1f64f-1f3ff":0,"1f6a3-1f3fb-200d-2640-fe0f":0,"1f6a3-1f3fc-200d-2640-fe0f":0,"1f6a3-1f3fd-200d-2640-fe0f":0,"1f6a3-1f3fe-200d-2640-fe0f":0,"1f6a3-1f3ff-200d-2640-fe0f":0,"1f6a3-1f3fb-200d-2642-fe0f":0,"1f6a3-1f3fc-200d-2642-fe0f":0,"1f6a3-1f3fd-200d-2642-fe0f":0,"1f6a3-1f3fe-200d-2642-fe0f":0,"1f6a3-1f3ff-200d-2642-fe0f":0,"1f6a3-1f3fb":0,"1f6a3-1f3fc":0,"1f6a3-1f3fd":0,"1f6a3-1f3fe":0,"1f6a3-1f3ff":0,"1f6b4-1f3fb-200d-2640-fe0f":0,"1f6b4-1f3fc-200d-2640-fe0f":0,"1f6b4-1f3fd-200d-2640-fe0f":0,"1f6b4-1f3fe-200d-2640-fe0f":0,"1f6b4-1f3ff-200d-2640-fe0f":0,"1f6b4-1f3fb-200d-2642-fe0f":0,"1f6b4-1f3fc-200d-2642-fe0f":0,"1f6b4-1f3fd-200d-2642-fe0f":0,"1f6b4-1f3fe-200d-2642-fe0f":0,"1f6b4-1f3ff-200d-2642-fe0f":0,"1f6b4-1f3fb":0,"1f6b4-1f3fc":0,"1f6b4-1f3fd":0,"1f6b4-1f3fe":0,"1f6b4-1f3ff":0,"1f6b5-1f3fb-200d-2640-fe0f":0,"1f6b5-1f3fc-200d-2640-fe0f":0,"1f6b5-1f3fd-200d-2640-fe0f":0,"1f6b5-1f3fe-200d-2640-fe0f":0,"1f6b5-1f3ff-200d-2640-fe0f":0,"1f6b5-1f3fb-200d-2642-fe0f":0,"1f6b5-1f3fc-200d-2642-fe0f":0,"1f6b5-1f3fd-200d-2642-fe0f":0,"1f6b5-1f3fe-200d-2642-fe0f":0,"1f6b5-1f3ff-200d-2642-fe0f":0,"1f6b5-1f3fb":0,"1f6b5-1f3fc":0,"1f6b5-1f3fd":0,"1f6b5-1f3fe":0,"1f6b5-1f3ff":0,"1f6b6-1f3fb-200d-2640-fe0f":0,"1f6b6-1f3fc-200d-2640-fe0f":0,"1f6b6-1f3fd-200d-2640-fe0f":0,"1f6b6-1f3fe-200d-2640-fe0f":0,"1f6b6-1f3ff-200d-2640-fe0f":0,"1f6b6-1f3fb-200d-2642-fe0f":0,"1f6b6-1f3fc-200d-2642-fe0f":0,"1f6b6-1f3fd-200d-2642-fe0f":0,"1f6b6-1f3fe-200d-2642-fe0f":0,"1f6b6-1f3ff-200d-2642-fe0f":0,"1f6b6-1f3fb":0,"1f6b6-1f3fc":0,"1f6b6-1f3fd":0,"1f6b6-1f3fe":0,"1f6b6-1f3ff":0,"1f6c0-1f3fb":0,"1f6c0-1f3fc":0,"1f6c0-1f3fd":0,"1f6c0-1f3fe":0,"1f6c0-1f3ff":0,"1f6cc-1f3fb":0,"1f6cc-1f3fc":0,"1f6cc-1f3fd":0,"1f6cc-1f3fe":0,"1f6cc-1f3ff":0,"1f90f-1f3fb":0,"1f90f-1f3fc":0,"1f90f-1f3fd":0,"1f90f-1f3fe":0,"1f90f-1f3ff":0,"1f918-1f3fb":0,"1f918-1f3fc":0,"1f918-1f3fd":0,"1f918-1f3fe":0,"1f918-1f3ff":0,"1f919-1f3fb":0,"1f919-1f3fc":0,"1f919-1f3fd":0,"1f919-1f3fe":0,"1f919-1f3ff":0,"1f91a-1f3fb":0,"1f91a-1f3fc":0,"1f91a-1f3fd":0,"1f91a-1f3fe":0,"1f91a-1f3ff":0,"1f91b-1f3fb":0,"1f91b-1f3fc":0,"1f91b-1f3fd":0,"1f91b-1f3fe":0,"1f91b-1f3ff":0,"1f91c-1f3fb":0,"1f91c-1f3fc":0,"1f91c-1f3fd":0,"1f91c-1f3fe":0,"1f91c-1f3ff":0,"1f91e-1f3fb":0,"1f91e-1f3fc":0,"1f91e-1f3fd":0,"1f91e-1f3fe":0,"1f91e-1f3ff":0,"1f91f-1f3fb":0,"1f91f-1f3fc":0,"1f91f-1f3fd":0,"1f91f-1f3fe":0,"1f91f-1f3ff":0,"1f926-1f3fb-200d-2640-fe0f":0,"1f926-1f3fc-200d-2640-fe0f":0,"1f926-1f3fd-200d-2640-fe0f":0,"1f926-1f3fe-200d-2640-fe0f":0,"1f926-1f3ff-200d-2640-fe0f":0,"1f926-1f3fb-200d-2642-fe0f":0,"1f926-1f3fc-200d-2642-fe0f":0,"1f926-1f3fd-200d-2642-fe0f":0,"1f926-1f3fe-200d-2642-fe0f":0,"1f926-1f3ff-200d-2642-fe0f":0,"1f926-1f3fb":0,"1f926-1f3fc":0,"1f926-1f3fd":0,"1f926-1f3fe":0,"1f926-1f3ff":0,"1f930-1f3fb":0,"1f930-1f3fc":0,"1f930-1f3fd":0,"1f930-1f3fe":0,"1f930-1f3ff":0,"1f931-1f3fb":0,"1f931-1f3fc":0,"1f931-1f3fd":0,"1f931-1f3fe":0,"1f931-1f3ff":0,"1f932-1f3fb":0,"1f932-1f3fc":0,"1f932-1f3fd":0,"1f932-1f3fe":0,"1f932-1f3ff":0,"1f933-1f3fb":0,"1f933-1f3fc":0,"1f933-1f3fd":0,"1f933-1f3fe":0,"1f933-1f3ff":0,"1f934-1f3fb":0,"1f934-1f3fc":0,"1f934-1f3fd":0,"1f934-1f3fe":0,"1f934-1f3ff":0,"1f935-1f3fb":0,"1f935-1f3fc":0,"1f935-1f3fd":0,"1f935-1f3fe":0,"1f935-1f3ff":0,"1f936-1f3fb":0,"1f936-1f3fc":0,"1f936-1f3fd":0,"1f936-1f3fe":0,"1f936-1f3ff":0,"1f937-1f3fb-200d-2640-fe0f":0,"1f937-1f3fc-200d-2640-fe0f":0,"1f937-1f3fd-200d-2640-fe0f":0,"1f937-1f3fe-200d-2640-fe0f":0,"1f937-1f3ff-200d-2640-fe0f":0,"1f937-1f3fb-200d-2642-fe0f":0,"1f937-1f3fc-200d-2642-fe0f":0,"1f937-1f3fd-200d-2642-fe0f":0,"1f937-1f3fe-200d-2642-fe0f":0,"1f937-1f3ff-200d-2642-fe0f":0,"1f937-1f3fb":0,"1f937-1f3fc":0,"1f937-1f3fd":0,"1f937-1f3fe":0,"1f937-1f3ff":0,"1f938-1f3fb-200d-2640-fe0f":0,"1f938-1f3fc-200d-2640-fe0f":0,"1f938-1f3fd-200d-2640-fe0f":0,"1f938-1f3fe-200d-2640-fe0f":0,"1f938-1f3ff-200d-2640-fe0f":0,"1f938-1f3fb-200d-2642-fe0f":0,"1f938-1f3fc-200d-2642-fe0f":0,"1f938-1f3fd-200d-2642-fe0f":0,"1f938-1f3fe-200d-2642-fe0f":0,"1f938-1f3ff-200d-2642-fe0f":0,"1f938-1f3fb":0,"1f938-1f3fc":0,"1f938-1f3fd":0,"1f938-1f3fe":0,"1f938-1f3ff":0,"1f939-1f3fb-200d-2640-fe0f":0,"1f939-1f3fc-200d-2640-fe0f":0,"1f939-1f3fd-200d-2640-fe0f":0,"1f939-1f3fe-200d-2640-fe0f":0,"1f939-1f3ff-200d-2640-fe0f":0,"1f939-1f3fb-200d-2642-fe0f":0,"1f939-1f3fc-200d-2642-fe0f":0,"1f939-1f3fd-200d-2642-fe0f":0,"1f939-1f3fe-200d-2642-fe0f":0,"1f939-1f3ff-200d-2642-fe0f":0,"1f939-1f3fb":0,"1f939-1f3fc":0,"1f939-1f3fd":0,"1f939-1f3fe":0,"1f939-1f3ff":0,"1f93d-1f3fb-200d-2640-fe0f":0,"1f93d-1f3fc-200d-2640-fe0f":0,"1f93d-1f3fd-200d-2640-fe0f":0,"1f93d-1f3fe-200d-2640-fe0f":0,"1f93d-1f3ff-200d-2640-fe0f":0,"1f93d-1f3fb-200d-2642-fe0f":0,"1f93d-1f3fc-200d-2642-fe0f":0,"1f93d-1f3fd-200d-2642-fe0f":0,"1f93d-1f3fe-200d-2642-fe0f":0,"1f93d-1f3ff-200d-2642-fe0f":0,"1f93d-1f3fb":0,"1f93d-1f3fc":0,"1f93d-1f3fd":0,"1f93d-1f3fe":0,"1f93d-1f3ff":0,"1f93e-1f3fb-200d-2640-fe0f":0,"1f93e-1f3fc-200d-2640-fe0f":0,"1f93e-1f3fd-200d-2640-fe0f":0,"1f93e-1f3fe-200d-2640-fe0f":0,"1f93e-1f3ff-200d-2640-fe0f":0,"1f93e-1f3fb-200d-2642-fe0f":0,"1f93e-1f3fc-200d-2642-fe0f":0,"1f93e-1f3fd-200d-2642-fe0f":0,"1f93e-1f3fe-200d-2642-fe0f":0,"1f93e-1f3ff-200d-2642-fe0f":0,"1f93e-1f3fb":0,"1f93e-1f3fc":0,"1f93e-1f3fd":0,"1f93e-1f3fe":0,"1f93e-1f3ff":0,"1f9b5-1f3fb":0,"1f9b5-1f3fc":0,"1f9b5-1f3fd":0,"1f9b5-1f3fe":0,"1f9b5-1f3ff":0,"1f9b6-1f3fb":0,"1f9b6-1f3fc":0,"1f9b6-1f3fd":0,"1f9b6-1f3fe":0,"1f9b6-1f3ff":0,"1f9b8-1f3fb-200d-2640-fe0f":0,"1f9b8-1f3fc-200d-2640-fe0f":0,"1f9b8-1f3fd-200d-2640-fe0f":0,"1f9b8-1f3fe-200d-2640-fe0f":0,"1f9b8-1f3ff-200d-2640-fe0f":0,"1f9b8-1f3fb-200d-2642-fe0f":0,"1f9b8-1f3fc-200d-2642-fe0f":0,"1f9b8-1f3fd-200d-2642-fe0f":0,"1f9b8-1f3fe-200d-2642-fe0f":0,"1f9b8-1f3ff-200d-2642-fe0f":0,"1f9b8-1f3fb":0,"1f9b8-1f3fc":0,"1f9b8-1f3fd":0,"1f9b8-1f3fe":0,"1f9b8-1f3ff":0,"1f9b9-1f3fb-200d-2640-fe0f":0,"1f9b9-1f3fc-200d-2640-fe0f":0,"1f9b9-1f3fd-200d-2640-fe0f":0,"1f9b9-1f3fe-200d-2640-fe0f":0,"1f9b9-1f3ff-200d-2640-fe0f":0,"1f9b9-1f3fb-200d-2642-fe0f":0,"1f9b9-1f3fc-200d-2642-fe0f":0,"1f9b9-1f3fd-200d-2642-fe0f":0,"1f9b9-1f3fe-200d-2642-fe0f":0,"1f9b9-1f3ff-200d-2642-fe0f":0,"1f9b9-1f3fb":0,"1f9b9-1f3fc":0,"1f9b9-1f3fd":0,"1f9b9-1f3fe":0,"1f9b9-1f3ff":0,"1f9bb-1f3fb":0,"1f9bb-1f3fc":0,"1f9bb-1f3fd":0,"1f9bb-1f3fe":0,"1f9bb-1f3ff":0,"1f9cd-1f3fb-200d-2640-fe0f":0,"1f9cd-1f3fc-200d-2640-fe0f":0,"1f9cd-1f3fd-200d-2640-fe0f":0,"1f9cd-1f3fe-200d-2640-fe0f":0,"1f9cd-1f3ff-200d-2640-fe0f":0,"1f9cd-1f3fb-200d-2642-fe0f":0,"1f9cd-1f3fc-200d-2642-fe0f":0,"1f9cd-1f3fd-200d-2642-fe0f":0,"1f9cd-1f3fe-200d-2642-fe0f":0,"1f9cd-1f3ff-200d-2642-fe0f":0,"1f9cd-1f3fb":0,"1f9cd-1f3fc":0,"1f9cd-1f3fd":0,"1f9cd-1f3fe":0,"1f9cd-1f3ff":0,"1f9ce-1f3fb-200d-2640-fe0f":0,"1f9ce-1f3fc-200d-2640-fe0f":0,"1f9ce-1f3fd-200d-2640-fe0f":0,"1f9ce-1f3fe-200d-2640-fe0f":0,"1f9ce-1f3ff-200d-2640-fe0f":0,"1f9ce-1f3fb-200d-2642-fe0f":0,"1f9ce-1f3fc-200d-2642-fe0f":0,"1f9ce-1f3fd-200d-2642-fe0f":0,"1f9ce-1f3fe-200d-2642-fe0f":0,"1f9ce-1f3ff-200d-2642-fe0f":0,"1f9ce-1f3fb":0,"1f9ce-1f3fc":0,"1f9ce-1f3fd":0,"1f9ce-1f3fe":0,"1f9ce-1f3ff":0,"1f9cf-1f3fb-200d-2640-fe0f":0,"1f9cf-1f3fc-200d-2640-fe0f":0,"1f9cf-1f3fd-200d-2640-fe0f":0,"1f9cf-1f3fe-200d-2640-fe0f":0,"1f9cf-1f3ff-200d-2640-fe0f":0,"1f9cf-1f3fb-200d-2642-fe0f":0,"1f9cf-1f3fc-200d-2642-fe0f":0,"1f9cf-1f3fd-200d-2642-fe0f":0,"1f9cf-1f3fe-200d-2642-fe0f":0,"1f9cf-1f3ff-200d-2642-fe0f":0,"1f9cf-1f3fb":0,"1f9cf-1f3fc":0,"1f9cf-1f3fd":0,"1f9cf-1f3fe":0,"1f9cf-1f3ff":0,"1f9d1-1f3fb-200d-1f33e":0,"1f9d1-1f3fc-200d-1f33e":0,"1f9d1-1f3fd-200d-1f33e":0,"1f9d1-1f3fe-200d-1f33e":0,"1f9d1-1f3ff-200d-1f33e":0,"1f9d1-1f3fb-200d-1f373":0,"1f9d1-1f3fc-200d-1f373":0,"1f9d1-1f3fd-200d-1f373":0,"1f9d1-1f3fe-200d-1f373":0,"1f9d1-1f3ff-200d-1f373":0,"1f9d1-1f3fb-200d-1f393":0,"1f9d1-1f3fc-200d-1f393":0,"1f9d1-1f3fd-200d-1f393":0,"1f9d1-1f3fe-200d-1f393":0,"1f9d1-1f3ff-200d-1f393":0,"1f9d1-1f3fb-200d-1f3a4":0,"1f9d1-1f3fc-200d-1f3a4":0,"1f9d1-1f3fd-200d-1f3a4":0,"1f9d1-1f3fe-200d-1f3a4":0,"1f9d1-1f3ff-200d-1f3a4":0,"1f9d1-1f3fb-200d-1f3a8":0,"1f9d1-1f3fc-200d-1f3a8":0,"1f9d1-1f3fd-200d-1f3a8":0,"1f9d1-1f3fe-200d-1f3a8":0,"1f9d1-1f3ff-200d-1f3a8":0,"1f9d1-1f3fb-200d-1f3eb":0,"1f9d1-1f3fc-200d-1f3eb":0,"1f9d1-1f3fd-200d-1f3eb":0,"1f9d1-1f3fe-200d-1f3eb":0,"1f9d1-1f3ff-200d-1f3eb":0,"1f9d1-1f3fb-200d-1f3ed":0,"1f9d1-1f3fc-200d-1f3ed":0,"1f9d1-1f3fd-200d-1f3ed":0,"1f9d1-1f3fe-200d-1f3ed":0,"1f9d1-1f3ff-200d-1f3ed":0,"1f9d1-1f3fb-200d-1f4bb":0,"1f9d1-1f3fc-200d-1f4bb":0,"1f9d1-1f3fd-200d-1f4bb":0,"1f9d1-1f3fe-200d-1f4bb":0,"1f9d1-1f3ff-200d-1f4bb":0,"1f9d1-1f3fb-200d-1f4bc":0,"1f9d1-1f3fc-200d-1f4bc":0,"1f9d1-1f3fd-200d-1f4bc":0,"1f9d1-1f3fe-200d-1f4bc":0,"1f9d1-1f3ff-200d-1f4bc":0,"1f9d1-1f3fb-200d-1f527":0,"1f9d1-1f3fc-200d-1f527":0,"1f9d1-1f3fd-200d-1f527":0,"1f9d1-1f3fe-200d-1f527":0,"1f9d1-1f3ff-200d-1f527":0,"1f9d1-1f3fb-200d-1f52c":0,"1f9d1-1f3fc-200d-1f52c":0,"1f9d1-1f3fd-200d-1f52c":0,"1f9d1-1f3fe-200d-1f52c":0,"1f9d1-1f3ff-200d-1f52c":0,"1f9d1-1f3fb-200d-1f680":0,"1f9d1-1f3fc-200d-1f680":0,"1f9d1-1f3fd-200d-1f680":0,"1f9d1-1f3fe-200d-1f680":0,"1f9d1-1f3ff-200d-1f680":0,"1f9d1-1f3fb-200d-1f692":0,"1f9d1-1f3fc-200d-1f692":0,"1f9d1-1f3fd-200d-1f692":0,"1f9d1-1f3fe-200d-1f692":0,"1f9d1-1f3ff-200d-1f692":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fb-200d-1f9af":0,"1f9d1-1f3fc-200d-1f9af":0,"1f9d1-1f3fd-200d-1f9af":0,"1f9d1-1f3fe-200d-1f9af":0,"1f9d1-1f3ff-200d-1f9af":0,"1f9d1-1f3fb-200d-1f9b0":0,"1f9d1-1f3fc-200d-1f9b0":0,"1f9d1-1f3fd-200d-1f9b0":0,"1f9d1-1f3fe-200d-1f9b0":0,"1f9d1-1f3ff-200d-1f9b0":0,"1f9d1-1f3fb-200d-1f9b1":0,"1f9d1-1f3fc-200d-1f9b1":0,"1f9d1-1f3fd-200d-1f9b1":0,"1f9d1-1f3fe-200d-1f9b1":0,"1f9d1-1f3ff-200d-1f9b1":0,"1f9d1-1f3fb-200d-1f9b2":0,"1f9d1-1f3fc-200d-1f9b2":0,"1f9d1-1f3fd-200d-1f9b2":0,"1f9d1-1f3fe-200d-1f9b2":0,"1f9d1-1f3ff-200d-1f9b2":0,"1f9d1-1f3fb-200d-1f9b3":0,"1f9d1-1f3fc-200d-1f9b3":0,"1f9d1-1f3fd-200d-1f9b3":0,"1f9d1-1f3fe-200d-1f9b3":0,"1f9d1-1f3ff-200d-1f9b3":0,"1f9d1-1f3fb-200d-1f9bc":0,"1f9d1-1f3fc-200d-1f9bc":0,"1f9d1-1f3fd-200d-1f9bc":0,"1f9d1-1f3fe-200d-1f9bc":0,"1f9d1-1f3ff-200d-1f9bc":0,"1f9d1-1f3fb-200d-1f9bd":0,"1f9d1-1f3fc-200d-1f9bd":0,"1f9d1-1f3fd-200d-1f9bd":0,"1f9d1-1f3fe-200d-1f9bd":0,"1f9d1-1f3ff-200d-1f9bd":0,"1f9d1-1f3fb-200d-2695-fe0f":0,"1f9d1-1f3fc-200d-2695-fe0f":0,"1f9d1-1f3fd-200d-2695-fe0f":0,"1f9d1-1f3fe-200d-2695-fe0f":0,"1f9d1-1f3ff-200d-2695-fe0f":0,"1f9d1-1f3fb-200d-2696-fe0f":0,"1f9d1-1f3fc-200d-2696-fe0f":0,"1f9d1-1f3fd-200d-2696-fe0f":0,"1f9d1-1f3fe-200d-2696-fe0f":0,"1f9d1-1f3ff-200d-2696-fe0f":0,"1f9d1-1f3fb-200d-2708-fe0f":0,"1f9d1-1f3fc-200d-2708-fe0f":0,"1f9d1-1f3fd-200d-2708-fe0f":0,"1f9d1-1f3fe-200d-2708-fe0f":0,"1f9d1-1f3ff-200d-2708-fe0f":0,"1f9d1-1f3fb":0,"1f9d1-1f3fc":0,"1f9d1-1f3fd":0,"1f9d1-1f3fe":0,"1f9d1-1f3ff":0,"1f9d2-1f3fb":0,"1f9d2-1f3fc":0,"1f9d2-1f3fd":0,"1f9d2-1f3fe":0,"1f9d2-1f3ff":0,"1f9d3-1f3fb":0,"1f9d3-1f3fc":0,"1f9d3-1f3fd":0,"1f9d3-1f3fe":0,"1f9d3-1f3ff":0,"1f9d4-1f3fb":0,"1f9d4-1f3fc":0,"1f9d4-1f3fd":0,"1f9d4-1f3fe":0,"1f9d4-1f3ff":0,"1f9d5-1f3fb":0,"1f9d5-1f3fc":0,"1f9d5-1f3fd":0,"1f9d5-1f3fe":0,"1f9d5-1f3ff":0,"1f9d6-1f3fb-200d-2640-fe0f":0,"1f9d6-1f3fc-200d-2640-fe0f":0,"1f9d6-1f3fd-200d-2640-fe0f":0,"1f9d6-1f3fe-200d-2640-fe0f":0,"1f9d6-1f3ff-200d-2640-fe0f":0,"1f9d6-1f3fb-200d-2642-fe0f":0,"1f9d6-1f3fc-200d-2642-fe0f":0,"1f9d6-1f3fd-200d-2642-fe0f":0,"1f9d6-1f3fe-200d-2642-fe0f":0,"1f9d6-1f3ff-200d-2642-fe0f":0,"1f9d6-1f3fb":0,"1f9d6-1f3fc":0,"1f9d6-1f3fd":0,"1f9d6-1f3fe":0,"1f9d6-1f3ff":0,"1f9d7-1f3fb-200d-2640-fe0f":0,"1f9d7-1f3fc-200d-2640-fe0f":0,"1f9d7-1f3fd-200d-2640-fe0f":0,"1f9d7-1f3fe-200d-2640-fe0f":0,"1f9d7-1f3ff-200d-2640-fe0f":0,"1f9d7-1f3fb-200d-2642-fe0f":0,"1f9d7-1f3fc-200d-2642-fe0f":0,"1f9d7-1f3fd-200d-2642-fe0f":0,"1f9d7-1f3fe-200d-2642-fe0f":0,"1f9d7-1f3ff-200d-2642-fe0f":0,"1f9d7-1f3fb":0,"1f9d7-1f3fc":0,"1f9d7-1f3fd":0,"1f9d7-1f3fe":0,"1f9d7-1f3ff":0,"1f9d8-1f3fb-200d-2640-fe0f":0,"1f9d8-1f3fc-200d-2640-fe0f":0,"1f9d8-1f3fd-200d-2640-fe0f":0,"1f9d8-1f3fe-200d-2640-fe0f":0,"1f9d8-1f3ff-200d-2640-fe0f":0,"1f9d8-1f3fb-200d-2642-fe0f":0,"1f9d8-1f3fc-200d-2642-fe0f":0,"1f9d8-1f3fd-200d-2642-fe0f":0,"1f9d8-1f3fe-200d-2642-fe0f":0,"1f9d8-1f3ff-200d-2642-fe0f":0,"1f9d8-1f3fb":0,"1f9d8-1f3fc":0,"1f9d8-1f3fd":0,"1f9d8-1f3fe":0,"1f9d8-1f3ff":0,"1f9d9-1f3fb-200d-2640-fe0f":0,"1f9d9-1f3fc-200d-2640-fe0f":0,"1f9d9-1f3fd-200d-2640-fe0f":0,"1f9d9-1f3fe-200d-2640-fe0f":0,"1f9d9-1f3ff-200d-2640-fe0f":0,"1f9d9-1f3fb-200d-2642-fe0f":0,"1f9d9-1f3fc-200d-2642-fe0f":0,"1f9d9-1f3fd-200d-2642-fe0f":0,"1f9d9-1f3fe-200d-2642-fe0f":0,"1f9d9-1f3ff-200d-2642-fe0f":0,"1f9d9-1f3fb":0,"1f9d9-1f3fc":0,"1f9d9-1f3fd":0,"1f9d9-1f3fe":0,"1f9d9-1f3ff":0,"1f9da-1f3fb-200d-2640-fe0f":0,"1f9da-1f3fc-200d-2640-fe0f":0,"1f9da-1f3fd-200d-2640-fe0f":0,"1f9da-1f3fe-200d-2640-fe0f":0,"1f9da-1f3ff-200d-2640-fe0f":0,"1f9da-1f3fb-200d-2642-fe0f":0,"1f9da-1f3fc-200d-2642-fe0f":0,"1f9da-1f3fd-200d-2642-fe0f":0,"1f9da-1f3fe-200d-2642-fe0f":0,"1f9da-1f3ff-200d-2642-fe0f":0,"1f9da-1f3fb":0,"1f9da-1f3fc":0,"1f9da-1f3fd":0,"1f9da-1f3fe":0,"1f9da-1f3ff":0,"1f9db-1f3fb-200d-2640-fe0f":0,"1f9db-1f3fc-200d-2640-fe0f":0,"1f9db-1f3fd-200d-2640-fe0f":0,"1f9db-1f3fe-200d-2640-fe0f":0,"1f9db-1f3ff-200d-2640-fe0f":0,"1f9db-1f3fb-200d-2642-fe0f":0,"1f9db-1f3fc-200d-2642-fe0f":0,"1f9db-1f3fd-200d-2642-fe0f":0,"1f9db-1f3fe-200d-2642-fe0f":0,"1f9db-1f3ff-200d-2642-fe0f":0,"1f9db-1f3fb":0,"1f9db-1f3fc":0,"1f9db-1f3fd":0,"1f9db-1f3fe":0,"1f9db-1f3ff":0,"1f9dc-1f3fb-200d-2640-fe0f":0,"1f9dc-1f3fc-200d-2640-fe0f":0,"1f9dc-1f3fd-200d-2640-fe0f":0,"1f9dc-1f3fe-200d-2640-fe0f":0,"1f9dc-1f3ff-200d-2640-fe0f":0,"1f9dc-1f3fb-200d-2642-fe0f":0,"1f9dc-1f3fc-200d-2642-fe0f":0,"1f9dc-1f3fd-200d-2642-fe0f":0,"1f9dc-1f3fe-200d-2642-fe0f":0,"1f9dc-1f3ff-200d-2642-fe0f":0,"1f9dc-1f3fb":0,"1f9dc-1f3fc":0,"1f9dc-1f3fd":0,"1f9dc-1f3fe":0,"1f9dc-1f3ff":0,"1f9dd-1f3fb-200d-2640-fe0f":0,"1f9dd-1f3fc-200d-2640-fe0f":0,"1f9dd-1f3fd-200d-2640-fe0f":0,"1f9dd-1f3fe-200d-2640-fe0f":0,"1f9dd-1f3ff-200d-2640-fe0f":0,"1f9dd-1f3fb-200d-2642-fe0f":0,"1f9dd-1f3fc-200d-2642-fe0f":0,"1f9dd-1f3fd-200d-2642-fe0f":0,"1f9dd-1f3fe-200d-2642-fe0f":0,"1f9dd-1f3ff-200d-2642-fe0f":0,"1f9dd-1f3fb":0,"1f9dd-1f3fc":0,"1f9dd-1f3fd":0,"1f9dd-1f3fe":0,"1f9dd-1f3ff":0,"261d-1f3fb":0,"261d-1f3fc":0,"261d-1f3fd":0,"261d-1f3fe":0,"261d-1f3ff":0,"26f9-1f3fb-200d-2640-fe0f":0,"26f9-1f3fc-200d-2640-fe0f":0,"26f9-1f3fd-200d-2640-fe0f":0,"26f9-1f3fe-200d-2640-fe0f":0,"26f9-1f3ff-200d-2640-fe0f":0,"26f9-1f3fb-200d-2642-fe0f":0,"26f9-1f3fc-200d-2642-fe0f":0,"26f9-1f3fd-200d-2642-fe0f":0,"26f9-1f3fe-200d-2642-fe0f":0,"26f9-1f3ff-200d-2642-fe0f":0,"26f9-1f3fb":0,"26f9-1f3fc":0,"26f9-1f3fd":0,"26f9-1f3fe":0,"26f9-1f3ff":0,"270a-1f3fb":0,"270a-1f3fc":0,"270a-1f3fd":0,"270a-1f3fe":0,"270a-1f3ff":0,"270b-1f3fb":0,"270b-1f3fc":0,"270b-1f3fd":0,"270b-1f3fe":0,"270b-1f3ff":0,"270c-1f3fb":0,"270c-1f3fc":0,"270c-1f3fd":0,"270c-1f3fe":0,"270c-1f3ff":0,"270d-1f3fb":0,"270d-1f3fc":0,"270d-1f3fd":0,"270d-1f3fe":0,"270d-1f3ff":0},t.Emoji["00a9-fe0f"]=6362,t.Emoji["00ae-fe0f"]=6363,t.Emoji["2122-fe0f"]=6364,t.Countries=[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}],t.TLD=["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],t.LatinizeMap={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj",ſ:"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"};t.mediaSizes=new class{constructor(){this.screenSizes=[{key:"mobile",value:895},{key:"medium",value:1275},{key:"large",value:1680}],this.sizes={handhelds:{regular:{width:293,height:293},webpage:{width:293,height:213},album:{width:293,height:0}},desktop:{regular:{width:480,height:480},webpage:{width:480,height:400},album:{width:451,height:0}}},this.isMobile=!1,this.handleResize=()=>{const e=window.innerWidth;let t=this.screenSizes[0].key;for(let s=this.screenSizes.length-1;s>=0;--s)if(this.screenSizes[s].value{},e=>{this.log.error("SW registration failed!",e)}),navigator.serviceWorker.ready.then(e=>{this.log("set SW"),this.releasePending()}),navigator.serviceWorker.addEventListener("controllerchange",()=>{this.log.warn("controllerchange"),this.releasePending(),navigator.serviceWorker.controller.addEventListener("error",e=>{this.log.error("controller error:",e)})}),navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;n.isObject(t)&&this.postMessage(t)}),navigator.serviceWorker.addEventListener("messageerror",e=>{this.log.error("SW messageerror:",e)}))}registerWorker(){const e=new f.default;e.addEventListener("message",t=>{this.worker||(this.worker=e,this.log("set webWorker"),this.postMessage=this.worker.postMessage.bind(this.worker),this.releasePending());const s=t.data;n.isObject(s)&&(s.useLs?a.default[s.task](...s.args).then(e=>{this.postMessage({useLs:!0,taskID:s.taskID,args:e})}):s.update?this.updatesProcessor&&this.updatesProcessor(s.update.obj,s.update.bool):s.progress?n.$rootScope.$broadcast("download_progress",s.progress):"convertWebp"==s.type?d.default.postMessage(s):"requestFilePart"==s.type?navigator.serviceWorker.controller.postMessage(s):this.finalizeTask(s.taskID,s.result,s.error))})}finalizeTask(e,t,s){const i=this.awaiting[e];void 0!==i&&(this.log.debug("done",i.taskName,t,s),void 0===t?i.reject(s):i.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.log.debug("start",e,t),new Promise((s,i)=>{this.awaiting[this.taskID]={resolve:s,reject:i,taskName:e};const n={task:e,taskID:this.taskID,args:t};this.pending.push(n),this.releasePending(),this.taskID++})}releasePending(){this.postMessage&&(this.log.debug("releasing tasks, length:",this.pending.length),this.pending.forEach(e=>{this.postMessage(e)}),this.log.debug("released tasks"),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},s={}){return this.performTaskWorker("invokeApi",e,t,s)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return n.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}cancelDownload(e){return this.performTaskWorker("cancelDownload",e)}downloadFile(e){return this.performTaskWorker("downloadFile",e)}uploadFile(e){return this.performTaskWorker("uploadFile",e)}}const u=new c;t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RichTextProcessor=void 0;const n=s(0),a=i(s(1)),o=i(s(77)),r=s(78);var d,f={emojiMap:e=>e,shortcuts:[],emojis:[]},l=a.default.Emoji,c=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),u=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|("+o.default+")|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,p=/[`_*@]/,m=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,g={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},b={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},v={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function y(e){let t=r.encodeEmoji(e);return"1f441-200d-1f5e8"==t&&(t="1f441-fe0f-200d-1f5e8-fe0f"),l.hasOwnProperty(t)?t.replace(/(-fe0f|fe0f)/g,""):null}function w(e,t={}){for(var s,i,n=e,o=[],r=0;s=n.match(u);){if(i=r+s.index,s[3])o.push({_:"messageEntityMention",offset:i+s[1].length,length:s[2].length+s[3].length});else if(s[4])if(h.test(s[4]))o.push({_:"messageEntityEmail",offset:i,length:s[4].length});else{var d=!1,f=s[5],l=s[6];if(l){if(f||"xn--"!==l.substr(0,4)&&-1===a.default.TLD.indexOf(l.toLowerCase())||(f="http://"),f){var c=L(s[4]);c.length!==s[4].length&&(s[4].substring(c.length),s[4]=c),d=(s[5]?"":f)+s[4]}}else d=(s[5]?"":"http://")+s[4];d&&o.push({_:"messageEntityUrl",offset:i,length:s[4].length})}else if(s[7])o.push({_:"messageEntityLinebreak",offset:i,length:1});else if(s[8]){let e=y(s[8]);e&&o.push({_:"messageEntityEmoji",offset:i,length:s[8].length,unicode:e})}else s[10]?o.push({_:"messageEntityHashtag",offset:i+(s[9]?s[9].length:0),length:s[10].length}):s[12]&&o.push({_:"messageEntityBotCommand",offset:i+(s[11]?s[11].length:0),length:1+s[12].length+(s[13]?1+s[13].length:0)});n=n.substr(s.index+s[0].length),r+=s.index+s[0].length}return o}function _(e,t,s){return void 0===t?n.encodeEntities(e):(s.hasNested=!0,S(e,{entities:t,nested:!0}))}function S(e,t={}){if(!e||!e.length)return"";var s=t.entities,i=t.contextSite||"Telegram",a="Telegram"!=i;void 0===s&&(s=w(e,t));for(var o,r,d,f,l=s.length,u=[],h=0,p=0;ph)u.push(n.encodeEntities(e.substr(h,o.offset-h)));else if(o.offset',n.encodeEntities(r),"");break;case"messageEntityMentionName":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityHashtag":var y;if(!(y=!t.noLinks&&g[i])){d=!0;break}var S=r.substr(1);u.push("',n.encodeEntities(r),"");break;case"messageEntityEmail":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var L;"messageEntityTextUrl"==o._?(f=M(f=o.url,!0),L=_(r,o.nested,t)):(f=M(r,!1),L=n.encodeEntities(r.replace(/(%[A-Z\d]{2})+/g,e=>{try{return decodeURIComponent(e)}catch(t){return e}}))),t.noLinks?u.push(L):u.push('',L,"");break;case"messageEntityLinebreak":u.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":u.push(c?`${n.encodeEntities(r)}`:`${n.encodeEntities(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||a){d=!0;break}var D,E,I=r.substr(1);-1!=(E=I.indexOf("@"))?(D=I.substr(E+1),I=I.substr(0,E)):D=t.fromBot,u.push('',n.encodeEntities(r),"");break;case"messageEntityBold":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityHighlight":u.push("",_(r,o.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("",n.encodeEntities(r),"");break;case"messageEntityPre":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("
",n.encodeEntities(r),"
");break;default:d=!0}h=o.offset+(d?0:o.length)}return u.push(n.encodeEntities(e.substr(h))),e=u.join("")}function L(e){for(var t=e.length,s=e.split("(").length-1,i=e.split(")").length-1;i>s&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return s>i&&(e=e.replace(/\)+$/,"")),e}function M(e,t){var s,i;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(s=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var n=s[1].split("/");switch(n[0]){case"joinchat":e="tg://join?invite="+n[1];break;case"addstickers":e="tg://addstickers?set="+n[1];break;default:if(n[1]&&n[1].match(/^\d+$/))e="tg://resolve?domain="+n[0]+"&post="+n[1];else if(1==n.length){var a=n[0].split("?"),o=a[0],r=a[1];if("iv"==o){var d=(r||"").match(/url=([^&=]+)/);if(d){e=d[1];try{e=decodeURIComponent(e)}catch(e){}return M(e,t)}}e="tg://resolve?domain="+o+(r?"&"+r:"")}}}else(i=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+i[1]+"&post="+i[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let D={wrapRichText:S,wrapPlainText:function(e,t={}){if(c)return e;if(!e||!e.length)return"";var s,i,n=e=e.replace(/\ufe0f/g,"",e);for(e=[];s=n.match(u);)e.push(n.substr(0,s.index)),s[8]&&(d=f.emojiMap[s[8]])&&(i=l[d][1][0])?e.push(":"+i+":"):e.push(s[0]),n=n.substr(s.index+s[0].length);return e.push(n),e.join("")},wrapDraftText:function(e,t={}){if(!e||!e.length)return"";var s=t.entities;void 0===s&&(s=w(e,t));var i,n,a,o=0,r=s.length,d=[],f=0;for(o=0;of)d.push(e.substr(f,i.offset-f));else if(i.offset"messageEntityEmoji"==e._)}):""},parseEntities:w,parseMarkdown:function(e,t,s){if(!p.test(e))return s?e:e.trim();for(var i,n,a=e,o=[],r=0;i=a.match(m);){n=r+i.index,o.push(a.substr(0,i.index)),r-=(e=i[3]||i[8]||i[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",r-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:n+i[1].length,length:e.length}),r-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:v[i[7]],offset:n+i[6].length,length:e.length}),r-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:n,length:e.length}),r-=i[0].length-e.length),a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o.push(a),(o=o.join("")).replace(/\s+/g,"").length||(o=e,t.splice(0,t.length)),t.length||s||(o=o.trim()),o},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var s=f.shortcuts[t];return void 0!==s?f.emojis[s][0]:e}))},mergeEntities:function(e,t,s){var i,a,o,r,d,f,l,c,u,h=t.slice(),p=e.length,m=t.length,g=0;for(i=0;i=l&&dl&&f<=c){s&&d>=l&&f<=c&&(void 0===r.nested&&(r.nested=[]),o.offset-=l,r.nested.push(n.copy(o))),u=!0;break}if(l>=f)break}u||h.push(o)}return h.sort((e,t)=>e.offset-t.offset),h},getEmojiSpritesheetCoords:y,emojiSupported:c};t.RichTextProcessor=D},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.attachContextMenuListener=t.positionMenu=t.openBtnMenu=t.parseMenuButtonsTo=t.formatPhoneNumber=t.putPreloader=t.renderImageFromUrl=t.loadedURLs=void 0;const o=a(s(1));t.loadedURLs={};const r=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLVideoElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,s,i){if(t.loadedURLs[s]||e instanceof HTMLVideoElement)return r(e,s),i&&i(),!0;{const n=e instanceof HTMLImageElement,a=n?e:new Image;return a.src=s,a.addEventListener("load",()=>{n||r(e,s),t.loadedURLs[s]=!0,i&&i()}),i&&a.addEventListener("error",i),!1}},t.putPreloader=function(e,t=!1){const s='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=s,e&&e.appendChild(t),t}e.innerHTML+=s},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),s=o.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),i=s?s.pattern||s.phoneCode:"";return s&&i.split("").forEach((t,s)=>{" "==t&&" "!=e[s]&&e.length>s&&(e=e.slice(0,s)+" "+e.slice(s))}),{formatted:e,country:s}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{const s=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/);s&&(e[s[1]]=t)})};let d=e=>{let t=c.getBoundingClientRect(),{clientX:s,clientY:i}=e,n=s>=t.right?s-t.right:t.left-s,a=i>=t.bottom?i-t.bottom:t.top-i;(n>=100||a>=100)&&l()},f=e=>{l()},l=()=>{c&&(c.classList.remove("active"),c.parentElement.classList.remove("menu-open"),c=null),u&&(u(),u=null),o.touchSupport?window.removeEventListener("touchmove",f):window.removeEventListener("mousemove",d),window.removeEventListener("click",f),window.removeEventListener("contextmenu",f)};window.addEventListener("resize",()=>{c&&l()});let c=null,u=null;t.openBtnMenu=function(e,t){l(),c=e,c.classList.add("active"),c.parentElement.classList.add("menu-open"),u=t,o.touchSupport?window.addEventListener("touchmove",f,{once:!0}):window.addEventListener("mousemove",d),window.addEventListener("click",f,{once:!0}),window.addEventListener("contextmenu",f,{once:!0})},t.positionMenu=function({clientX:e,clientY:t},s,i){let{scrollWidth:n,scrollHeight:a}=s,{innerWidth:r,innerHeight:d}=window;o.mediaSizes.isMobile&&(i=void 0),void 0===i&&e+n>r&&(e-n<0?s.style.left=r-n+"px":i="right"),i||(i="left"),s.classList.remove("bottom-left","bottom-right"),void 0!==i&&(s.style.left=("right"==i?e-n:e)+"px",s.classList.add("left"==i?"bottom-right":"bottom-left")),s.style.top=t+a>d?d-a+"px":t+"px"},t.attachContextMenuListener=function(e,t){if(o.isApple&&o.touchSupport){let s;const i=()=>{clearTimeout(s),e.removeEventListener("touchmove",i),e.removeEventListener("touchend",i),e.removeEventListener("touchcancel",i)};e.addEventListener("touchstart",n=>{n.touches.length>1?clearTimeout(s):(e.addEventListener("touchmove",i,{once:!0}),e.addEventListener("touchend",i,{once:!0}),e.addEventListener("touchcancel",i,{once:!0}),s=window.setTimeout(()=>{t(n.touches[0]),i()},400))})}else e.addEventListener("contextmenu",t)}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppUsersManager=void 0;const a=s(0),o=s(3),r=n(s(9)),d=n(s(2)),f=n(s(34)),l=s(4),c=n(s(38)),u=n(s(8)),h=n(s(40));class p{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),this.contactsList=new Set,d.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var s=t.user_id;(i=this.users[s])&&(i.status=t.status,i.status&&("expires"in i.status&&(i.status.expires-=f.default.serverTimeOffset),"was_online"in i.status&&(i.status.was_online-=f.default.serverTimeOffset)),i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",s));break;case"updateUserPhoto":var i;s=t.user_id;(i=this.users[s])?(this.forceUserOnline(s),i.photo?a.safeReplaceObject(i.photo,t.photo):i.photo=t.photo,void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",s),a.$rootScope.$broadcast("avatar_update",s)):console.warn("No user by id:",s)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=d.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>(this.saveApiUsers(e.users),e.contacts.forEach(e=>{this.pushContact(e.user_id)}),this.contactsList))}resolveUsername(e){return i(this,void 0,void 0,(function*(){return this.usernames[e]?this.users[this.usernames[e]]:yield d.default.invokeApi("contacts.resolveUsername",{username:e}).then(t=>(this.saveApiUser(t.users[0]),r.default.saveApiChats(t.chats),this.users[this.usernames[e]]))}))}pushContact(e){this.contactsList.add(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)}getUserSearchText(e){const t=this.users[e];if(!t)return"";const s=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+s}getContacts(e){return this.fillContacts().then(t=>{let s=[...t];if(e){const t=c.default.search(e,this.contactsIndex);s=[...s].filter(e=>!!t[e])}return s.sort((e,t)=>{const s=(this.users[e]||{}).sortName||"",i=(this.users[t]||{}).sortName||"";return s.localeCompare(i)}),s})}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var s=e.id,i=this.users[s];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===i){if(e.phone&&(e.rPhone="+"+l.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=s}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),d=r.shift(),u=r.pop();e.initials=d.charAt(0)+(u?u.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=f.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=f.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(i=this.users[s])?i=this.users[s]=e:a.safeReplaceObject(i,e),a.$rootScope.$broadcast("user_update",s),void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){const t="userStatusOnline"==e._?e.expires:"userStatusOffline"==e._?e.was_online:0;if(t)return t;const s=a.tsNow(!0);switch(e._){case"userStatusRecently":return s-259200;case"userStatusLastWeek":return s-604800;case"userStatusLastMonth":return s-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){var t;if(this.isBot(e))return"bot";const s=this.getUser(e);if(!s)return"";let i="";switch(null===(t=s.status)||void 0===t?void 0:t._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";const e=s.status.was_online,t=Date.now()/1e3;if(t-e<60)i+=" just now";else if(t-e<3600){const s=(t-e)/60|0;i+=s+" "+(1==s?"minute":"minutes")+" ago"}else if(t-e<86400){const s=(t-e)/3600|0;i+=s+" "+(1==s?"hour":"hours")+" ago"}else{const t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online";break;default:i="last seen a long time ago"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}isContact(e){return this.contactsList.has(e)}isRegularUser(e){const t=this.users[e];return t&&!this.isBot(e)&&!t.pFlags.deleted&&!t.pFlags.support}isNonContactUser(e){return this.isRegularUser(e)&&!this.isContact(e)&&e!=a.$rootScope.myID}hasUser(e,t){var s=this.users[e];return a.isObject(s)&&(t||!s.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){const t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){const t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash}}updateUsersStatuses(){const e=a.tsNow(!0);for(const t in this.users){const s=this.users[t];s.status&&"userStatusOnline"==s.status._&&s.status.expires{var t;return(null===(t=null==e?void 0:e.topPeers)||void 0===t?void 0:t.length)?e.topPeers:d.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>{let t;return"contacts.topPeers"==e._&&(this.saveApiUsers(e.users),r.default.saveApiChats(e.chats),t=e.categories[0].peers.map(e=>{const t=u.default.getPeerID(e.peer);return h.default.pushPeer(t),t})),h.default.pushToState("topPeers",t),t})})}searchContacts(e,t=20){return d.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),r.default.saveApiChats(e.chats),e))}setUserStatus(e,t){if(!this.isBot(e)){var s=this.users[e];if(s){var i=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};s.status=i,s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=p,t.default=new p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(11),a=i(s(76)),o=s(1);window.__forceSmoothScrollPolyfill__=!0,a.default.polyfill();t.default=class{constructor(e,t="y",s="",i=e,a=300,r=15,d=document.createElement("div")){if(this.el=e,this.appendTo=i,this.onScrollOffset=a,this.splitCount=r,this.container=d,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.scrollLocked=0,this.isVisible=!1,this.onScroll=()=>{this.splitUp&&(clearTimeout(this.disableHoverTimeout),this.disableHoverTimeout=window.setTimeout(()=>{this.lastScrollDirection=0},100)),this.onScrollMeasure||(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)&&!this.splitUp||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(this.overflowContainer),this.onScrollMeasure=0,!this.splitUp)return;const e=this.overflowContainer.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{const t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{const t=e.target;if(e.isIntersecting)this.setVisible(t),this.log.debug("intersection entry:",e,this.lastTopID,this.lastBottomID);else{const s=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=s+1:this.lastBottomID=s-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ti)&&this.setHidden(e)}}),i||(this.appendTo=this.container),this.log=n.logger("SCROLL"+(s?"-"+s:""),n.LogLevels.error),"x"==t){if(this.container.classList.add("scrollable-x"),!o.touchSupport){const e=e=>{if(1==(e=window.event||e).which)return;const t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}window.addEventListener("resize",()=>{this.overflowContainer=(o.mediaSizes.isMobile,this.container),this.onScroll()}),this.container.addEventListener("scroll",this.onScroll,{passive:!0,capture:!0}),e&&(Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)),this.overflowContainer=(o.mediaSizes.isMobile,this.container)}setVisible(e){this.visible.has(e)||(this.log.debug("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.log.debug("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}checkForTriggers(e){if(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)return;const t=e.scrollHeight;if(!t)return;const{clientHeight:s,scrollTop:i}=e,n=t-s;this.onScrolledTop&&i<=this.onScrollOffset&&this.onScrolledTop(),this.onScrolledBottom&&n-i<=this.onScrollOffset&&this.onScrolledBottom()}reorder(){this.splitUp&&!this.reorderTimeout&&(this.reorderTimeout=window.setTimeout(()=>{this.reorderTimeout=0,Array.from(this.splitUp.children).forEach((e,t)=>{e.dataset.virtual=""+t})},0))}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{const t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){this.splitUp&&(e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.log.debug("prepareElement: prepared"),window.requestAnimationFrame(()=>{const{scrollHeight:t}=e;this.log.debug("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)}))}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){const s=e.classList.contains("is-first-unread");let i=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(i=this.container.scrollTop+i,!t&&s)return void this.scrollTo(i,!1);i-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(i,t)}}scrollTo(e,t=!0,s=!1){if(this.scrollLocked&&!s)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=window.setTimeout(()=>{this.scrollLocked=0,this.container.dispatchEvent(new CustomEvent("scroll"))},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesManager=t.FiltersStorage=t.DialogsStorage=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(5)),f=s(3),l=s(22),c=s(82),u=n(s(32)),h=n(s(13)),p=n(s(19)),m=n(s(8)),g=n(s(34)),b=n(s(12)),v=n(s(35)),y=n(s(34)),w=n(s(2)),_=n(s(55)),S=s(23),L=n(s(39)),M=n(s(38)),D=s(11),E=n(s(28));class I{constructor(){this.dialogs={},this.byFolders={},this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedOrders={0:[],1:[]},this.dialogsNum=0}getFolder(e){var t,s;if(e<=1)return null!==(t=this.byFolders[e])&&void 0!==t?t:this.byFolders[e]=[];const i=[],n=T.filtersStorage.filters[e];for(const e in this.dialogs){const t=this.dialogs[e];if(T.filtersStorage.testDialogForFilter(t,n)){let e;const a=n.pinned_peers.indexOf(t.peerID);e=-1!==a?this.generateDialogIndex(this.generateDialogPinnedDateByIndex(n.pinned_peers.length-1-a)):(null===(s=t.pFlags)||void 0===s?void 0:s.pinned)?this.generateIndexForDialog(t,!0):t.index,i.push({dialog:t,index:e})}}return i.sort((e,t)=>t.index-e.index),i.map(e=>e.dialog)}getDialog(e,t){const s=[];if(void 0===t){const e=this.byFolders;for(const t in e)s.push(e[t])}else s.push(this.getFolder(t));for(let t of s){const s=t.findIndex(t=>t.peerID==e);if(-1!==s)return[t[s],s]}return[]}generateDialogIndex(e){return void 0===e&&(e=a.tsNow(!0)+y.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e,t=!1){const s=m.default.isChannel(e.peerID)?-e.peerID:0,i=o.default.getFullMessageID(e.top_message,s);let n=T.getMessage(i).date;if(s){const e=r.default.getChat(s);(!n||e.date&&e.date>n)&&(n=e.date)}const a={};a&&a.date>n&&(n=a.date),e.pFlags.pinned&&!t&&(n=this.generateDialogPinnedDate(e));const d=this.generateDialogIndex(n);if(t)return d;e.index=d}generateDialogPinnedDateByIndex(e){return 2147418112+(65535&e)}generateDialogPinnedDate(e){const t=this.pinnedOrders[e.folder_id],s=t.indexOf(e.peerID),i=-1===s?t.push(e.peerID)-1:s;return this.generateDialogPinnedDateByIndex(i)}pushDialog(e,t){const s=this.getFolder(e.folder_id),i=s.findIndex(t=>t.peerID==e.peerID);if(-1!==i&&s.splice(i,1),this.dialogs[e.peerID]=e,t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}dropDialog(e){const t=this.getDialog(e);return t[0]&&(this.byFolders[t[0].folder_id].splice(t[1],1),delete this.dialogs[e]),t}}t.DialogsStorage=I;class C{constructor(){this.filters={},this.orderIndex=0,a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)})}handleUpdate(e){switch(e._){case"updateDialogFilter":e.filter?this.saveDialogFilter(e.filter):this.filters[e.id]&&(a.$rootScope.$broadcast("filter_delete",this.filters[e.id]),delete this.filters[e.id])}}testDialogForFilter(e,t){var s;for(const s of t.exclude_peers)if(s==e.peerID)return!1;for(const s of t.include_peers)if(s==e.peerID)return!0;const i=t.pFlags;if(i.exclude_archived&&1==e.folder_id)return!1;if(i.exclude_read&&!e.unread_count)return!1;if(i.exclude_muted){if(1e3*(null===(s=e.notify_settings)||void 0===s?void 0:s.mute_until)>Date.now())return!1}const n=e.peerID;if(n<0){if(i.broadcasts&&m.default.isBroadcast(n))return!0;if(i.groups&&m.default.isAnyGroup(n))return!0}else{if(m.default.isBot(n))return!!i.bots;if(i.non_contacts&&!d.default.contactsList.has(n))return!0;if(i.contacts&&d.default.contactsList.has(n))return!0}return!1}toggleDialogPin(e,t){const s=this.filters[t];return s.pinned_peers.findAndSplice(t=>t==e)||s.pinned_peers.unshift(e),this.updateDialogFilter(s)}createDialogFilter(e){let t=Math.max(1,...Object.keys(this.filters).map(e=>+e));return(e=a.copy(e)).id=t+1,this.updateDialogFilter(e)}updateDialogFilter(e,t=!1){const s=t?0:1;if(!t){e.flags=0;const t={contacts:0,non_contacts:1,groups:2,broadcasts:3,bots:4,exclude_muted:11,exclude_read:12,exclude_archived:13};for(const s in t)e.pFlags[s]&&(e.flags|=1<(s&&this.handleUpdate({_:"updateDialogFilter",id:e.id,filter:t?void 0:e}),s))}getOutputDialogFilter(e){const t=a.copy(e);return["pinned_peers","exclude_peers","include_peers"].forEach(e=>{t[e]=t[e].map(e=>m.default.getInputPeerByID(e))}),t.include_peers.forEachReverse((e,s)=>{t.pinned_peers.includes(e)&&t.include_peers.splice(s,1)}),t}getDialogFilters(e=!1){return i(this,void 0,void 0,(function*(){if(Object.keys(this.filters).length&&!e)return this.filters;const t=yield w.default.invokeApi("messages.getDialogFilters");for(const e of t)this.saveDialogFilter(e,!1);return this.filters}))}saveDialogFilter(e,t=!0){["pinned_peers","exclude_peers","include_peers"].forEach(t=>{e[t]=e[t].map(e=>m.default.getPeerID(e))}),e.include_peers.forEachReverse((t,s)=>{e.pinned_peers.includes(t)&&e.include_peers.splice(s,1)}),e.include_peers=e.pinned_peers.concat(e.include_peers),this.filters[e.id]?Object.assign(this.filters[e.id],e):this.filters[e.id]=e,this.setOrderIndex(e),t&&a.$rootScope.$broadcast("filter_update",e)}setOrderIndex(e){e.hasOwnProperty("orderIndex")?e.orderIndex>this.orderIndex&&(this.orderIndex=e.orderIndex):e.orderIndex=this.orderIndex++}}t.FiltersStorage=C;class P{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.pinnedMessages={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.reloadConversationsPeers=[],this.dialogsIndex=M.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},this.log=D.logger("MESSAGES",D.LogLevels.error),this.dialogsStorage=new I,this.filtersStorage=new C,this.handleNewMessages=()=>{clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,a.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}},this.handleNewDialogs=()=>{clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(const t in this.newDialogsToHandle){const s=this.newDialogsToHandle[t];"reload"in s?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.dialogsStorage.pushDialog(s),m.default.isChannel(+t)||(e=Math.max(e,s.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),a.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}},a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)}),a.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let s=this.getMessage(e);s.webpage=_.default.getWebPage(t.id),a.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(s),id:s.id,mid:e,justMedia:!0})})})}getInputEntities(e){var t=a.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=d.default.getUserInput(e.user_id))}),t}editMessage(e,t,s={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((s,i)=>{this.tempFinalizeCallbacks[e].edit=e=>{this.log("invoke callback",e),this.editMessage(e,t).then(s,i)}})}var i=[];t=f.RichTextProcessor.parseMarkdown(t,i);var n=this.getMessage(e),a=this.getMessagePeer(n),r=0;let d=s.noWebPage||!1;return d&&(r|=2),t&&(r|=2056),w.default.invokeApi("messages.editMessage",{flags:r,peer:m.default.getInputPeerByID(a),id:o.default.getMessageLocalID(e),message:t,media:n.media,entities:this.getInputEntities(i),no_webpage:d||void 0}).then(e=>{u.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,s={}){if("string"!=typeof t)return;e=m.default.getPeerMigratedTo(e)||e;var i=s.entities||[];if(s.viaBotID||(t=f.RichTextProcessor.parseMarkdown(t,i)),!t.length)return;var n,r=this.getInputEntities(i),c=this.tempID--,h=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],p=l.bigint(h[0]).shiftLeft(32).add(l.bigint(h[1])).toString(),g=this.historiesStorage[e],b=0,v={},_=s.replyToMsgID,S=m.default.isChannel(e),L=S&&m.default.isMegagroup(e),M=!(!S||L);let D=s.noWebPage||!1;void 0===g&&(g=this.historiesStorage[e]={count:null,history:[],pending:[]});var E=d.default.getSelf().id;e!=E&&(b|=2,v.out=!0,S||d.default.isBot(e)||(b|=1,v.unread=!0)),_&&(b|=8),M?(E=0,v.post=!0):b|=256,n={_:"message",id:c,from_id:E,to_id:m.default.getOutputPeer(e),flags:b,pFlags:v,date:a.tsNow(!0)+y.default.serverTimeOffset,message:t,random_id:p,reply_to_msg_id:_,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,entities:i,views:M&&1,pending:!0},s.webPage&&(n.media={_:"messageMediaWebPage",webpage:s.webPage});var I=e=>{e?n.error=!0:delete n.error,a.$rootScope.$broadcast("messages_pending")};n.send=()=>{I(!1);var i={};this.pendingAfterMsgs[e]&&(i.afterMessageID=this.pendingAfterMsgs[e].messageID);var a,d=0;_&&(d|=1),M&&(d|=16),s.clearDraft&&(d|=128),D&&(d|=2),s.viaBotID?a=w.default.invokeApi("messages.sendInlineBotResult",{flags:d,peer:m.default.getInputPeerByID(e),random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),query_id:s.queryID,id:s.resultID},i):(r.length&&(d|=8),a=w.default.invokeApi("messages.sendMessage",{flags:d,no_webpage:D||void 0,peer:m.default.getInputPeerByID(e),message:t,random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),entities:r},i)),a.then(e=>{"updateShortSentMessage"==e._?(n.flags=e.flags,n.date=e.date,n.id=e.id,n.media=e.media,n.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:p,id:e.id},{_:S?"updateNewChannelMessage":"updateNewMessage",message:n,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},()=>{I(!0)}).finally(()=>{this.pendingAfterMsgs[e]===i&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=i},this.saveMessages([n]),g.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(()=>n.send(),0),this.pendingByRandomID[p]=[e,c]}sendFile(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;var n,r,c=this.tempID--,p=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],y=l.bigint(p[0]).shiftLeft(32).add(l.bigint(p[1])).toString(),_=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},L=0,M={},D=s.replyToMsgID,I=m.default.isChannel(e),C=I&&m.default.isMegagroup(e),P=!(!I||C);const T="mime_type"in t?t.mime_type:t.type,k=t instanceof File?t.name:"",A=!(t instanceof File||t instanceof Blob);let X=s.caption||"";const x=a.tsNow(!0)+g.default.serverTimeOffset;if(this.log("sendFile",t,T),X){let e=s.entities||[];X=f.RichTextProcessor.parseMarkdown(X,e)}const F=[],B=["image/jpeg","image/png","image/bmp"].indexOf(T)>=0;let R="";if(s.isMedia)if(A)n="document",r="";else if(B){n="photo",r="photo."+T.split("/")[1],R="sendMessageUploadPhotoAction";let e={_:"photo",id:""+c,sizes:[{_:"photoSize",w:s.width,h:s.height,type:"full",location:null,size:t.size}],w:s.width,h:s.height,downloaded:t.size,url:s.objectURL||""};h.default.savePhoto(e)}else if(0===T.indexOf("audio/")||["video/ogg"].indexOf(T)>=0){n="audio",r="audio."+("ogg"==T.split("/")[1]?"ogg":"mp3"),R="sendMessageUploadAudioAction";let e=0;s.isVoiceMessage&&(e|=1024,e|=4,n="voice");let t={_:"documentAttributeAudio",flags:e,pFlags:{voice:s.isVoiceMessage||void 0},waveform:s.waveform,duration:s.duration||0};F.push(t)}else if(0===T.indexOf("video/")){n="video",r="video.mp4",R="sendMessageUploadVideoAction";let e=1;s.isRoundMessage&&(e|=2);let t={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:s.isRoundMessage||void 0},duration:s.duration,w:s.width,h:s.height};F.push(t)}else n="document",r="document."+T.split("/")[1],R="sendMessageUploadDocumentAction";else n="document",r="document."+T.split("/")[1],R="sendMessageUploadDocumentAction";if(F.push({_:"documentAttributeFilename",file_name:k||r}),-1!==["document","video","audio","voice"].indexOf(n)&&!A){const e=[],i={_:"document",id:""+c,duration:s.duration,attributes:F,w:s.width,h:s.height,downloaded:t.size,thumbs:e,mime_type:T,url:s.objectURL||"",size:t.size};B&&(F.push({_:"documentAttributeImageSize",w:s.width,h:s.height}),e.push({_:"photoSize",w:s.width,h:s.height,type:"full",location:null,size:t.size,url:s.objectURL})),b.default.saveDoc(i)}this.log("AMM: sendFile",n,r,t.type,s);var O=d.default.getSelf().id;e!=O&&(L|=2,M.out=!0,I||d.default.isBot(e)||(L|=1,M.unread=!0)),D&&(L|=8),P?(O=0,M.post=!0):L|=256;const j=new v.default(null,!0),U={_:"messageMediaPending",type:n,file_name:k||r,size:t.size,file:t,preloader:j,w:s.width,h:s.height,url:s.objectURL},N={_:"message",id:c,from_id:O,to_id:m.default.getOutputPeer(e),flags:L,pFlags:M,date:x,message:X,media:A?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:U,random_id:y,reply_to_msg_id:D,views:P&&1,pending:!0},H=e=>{e?N.error=!0:delete N.error,a.$rootScope.$broadcast("messages_pending")};let q=!1,$=null;const z=(t,i)=>(this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMedia",{flags:t,background:s.background||void 0,clear_draft:!0,peer:m.default.getInputPeerByID(e),media:i,message:X,random_id:p,reply_to_msg_id:o.default.getMessageLocalID(D)}).then(e=>{u.default.processUpdateMessage(e)},e=>{if("photo"==n&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,n="document",void N.send();H(!0)}));N.send=()=>{let e=0;if(D&&(e|=1),s.background&&(e|=64),e|=128,A){const{id:s,access_hash:i,file_reference:n}=t;z(e,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:s,access_hash:i,file_reference:n}})}else if(t instanceof File||t instanceof Blob){const s=S.deferredPromise();this.sendFilePromise.then(()=>{q&&!N.error||(q=!1,$=E.default.upload(t),j.attachPromise($)),$&&$.then(t=>{var s;switch(this.log("appMessagesManager: sendFile uploaded:",t),t.name=r,q=!0,n){case"photo":s={_:"inputMediaUploadedPhoto",flags:0,file:t};break;default:s={_:"inputMediaUploadedDocument",file:t,mime_type:T,attributes:F}}z(e,s)},()=>{H(!0)}),$.addNotifyListener(e=>{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:R,progress:0|t})}),$.catch(e=>{"AbortError"!==e.name||q||(this.log("cancelling upload",U),s.resolve(),this.cancelPendingMessage(y),this.setTyping("sendMessageCancelAction"))}),$.finally(s.resolve)}),this.sendFilePromise=s}},this.saveMessages([N]),_.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(N.send.bind(this),0),this.pendingByRandomID[y]=[e,c]}sendAlbum(e,t,s={}){var n;return i(this,void 0,void 0,(function*(){let i;e=m.default.getPeerMigratedTo(e)||e;let r=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]},c=0,p={},y=s.replyToMsgID,_=m.default.isChannel(e),L=_&&m.default.isMegagroup(e),M=!(!_||L),D=s.caption||"",I=a.tsNow(!0)+g.default.serverTimeOffset;if(D){let e=s.entities||[];D=f.RichTextProcessor.parseMarkdown(D,e)}this.log("AMM: sendAlbum",t,s);let C=d.default.getSelf().id;e!=C&&(p.out=!0,_||d.default.isBot(e)||(p.unread=!0)),y&&(c|=1),M?(C=0,p.post=!0):c|=128;let P=t.map(()=>this.tempID--).reverse();i=P[P.length-1];let T=t.map((t,n)=>{let a=P[n],o=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],d=l.bigint(o[0]).shiftLeft(32).add(l.bigint(o[1])).toString(),f=new v.default(null,!0),u=s.sendFileDetails[n],g={_:"messageMediaPending",type:"album",preloader:f,document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+a,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0},duration:u.duration,w:u.width,h:u.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:u.objectURL||"",size:t.size};b.default.saveDoc(e),g.document=e}else{let e={_:"photo",id:""+a,sizes:[{_:"photoSize",w:u.width,h:u.height,type:"m",size:t.size}],w:u.width,h:u.height,downloaded:t.size,url:u.objectURL||""};h.default.savePhoto(e),g.photo=e}let w={_:"message",id:a,from_id:C,grouped_id:i,to_id:m.default.getOutputPeer(e),flags:c,pFlags:p,date:I,message:D,media:g,random_id:d,randomID:o,reply_to_msg_id:y,views:M&&1,pending:!0,error:!1};return this.saveMessages([w]),r.pending.unshift(a),this.pendingByRandomID[d]=[e,a],w});a.$rootScope.$broadcast("history_append",{peerID:e,messageID:T[T.length-1].id,my:!0});let k=(e,t)=>{t?e.error=!0:delete e.error,a.$rootScope.$broadcast("messages_pending")},A=!1,X=null,x=m.default.getInputPeerByID(e),F=[];for(let e=0,i=t.length;e{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:r,progress:0|t})}),X.catch(e=>{"AbortError"!==e.name||A||(this.log("cancelling upload item",a),l=!0)}),yield X.then(t=>{if(this.log("appMessagesManager: sendAlbum file uploaded:",t),l)return;let a;t.name=f;let o=s.sendFileDetails[e];return a=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:t,mime_type:i.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:t},w.default.invokeApi("messages.uploadMedia",{peer:x,media:a}).then(e=>{if(l)return;let t;if("messageMediaPhoto"==e._){const s=h.default.savePhoto(e.photo);t=h.default.getInput(s)}else if("messageMediaDocument"==e._){const s=b.default.saveDoc(e.document);t=b.default.getMediaInput(s)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:D,entities:[]}),D=""},()=>{k(n,!0)})},()=>{k(n,!0)}),this.log("appMessagesManager: sendAlbum uploadPromise.finally!"),d.resolve()}A=!0,(e=>{this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMultiMedia",{flags:c,peer:x,multi_media:e,reply_to_msg_id:o.default.getMessageLocalID(y)}).then(e=>{u.default.processUpdateMessage(e)},e=>{T.forEach(e=>k(e,!0))})})(F)}))}sendOther(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;const n=this.tempID--,r=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],f=l.bigint(r[0]).shiftLeft(32).add(l.bigint(r[1])).toString(),c=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},h=s.replyToMsgID,p=m.default.isChannel(e),b=p&&m.default.isMegagroup(e),v=!(!p||b);let y,_=d.default.getSelf().id;switch(t._){case"inputMediaPoll":{t.poll.id=n,L.default.savePoll(t.poll,{_:"pollResults",flags:4,total_voters:0,pFlags:{}});const{poll:e,results:s}=L.default.getPoll(""+n);y={_:"messageMediaPoll",poll:e,results:s};break}}let S=0,M={};e!=_&&(S|=2,M.out=!0,d.default.isBot(e)||(S|=1,M.unread=!0)),h&&(S|=8),v?(_=0,M.post=!0):S|=256;const D={_:"message",id:n,from_id:_,to_id:m.default.getOutputPeer(e),flags:S,pFlags:M,date:a.tsNow(!0)+g.default.serverTimeOffset,message:"",media:y,random_id:f,reply_to_msg_id:h,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,views:v&&1,pending:!0};D.send=()=>{let i=0;h&&(i|=1),v&&(i|=16),s.clearDraft&&(i|=128);const n={};let d;this.pendingAfterMsgs[e]&&(n.afterMessageID=this.pendingAfterMsgs[e].messageID),d=s.viaBotID?w.default.invokeApi("messages.sendInlineBotResult",{flags:i,peer:m.default.getInputPeerByID(e),random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h),query_id:s.queryID,id:s.resultID},n):w.default.invokeApi("messages.sendMedia",{flags:i,peer:m.default.getInputPeerByID(e),media:t,random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h),message:""},n),d.then(e=>{e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},e=>{a.$rootScope.$broadcast("messages_pending")}).finally(()=>{this.pendingAfterMsgs[e]===n&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=n},this.saveMessages([D]),c.pending.unshift(n),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:n,my:!0}),setTimeout(D.send,0),this.pendingByRandomID[f]=[e,n]}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(this.log("cancelPendingMessage",e,t),t){var s=t[0],i=t[1],n=this.historiesStorage[s],a=n.pending.indexOf(i);return u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[i]}}),-1!=a&&n.pending.splice(a,1),delete this.messagesStorage[i],!0}return!1}getConversationsAll(e=""){return i(this,void 0,void 0,(function*(){const t=[];for(let s=0;s<2;++s){let i=0;for(;;){const{dialogs:n}=yield T.getConversations(e,i,100,s);if(!n.length)break;t.push(...n),i=n[n.length-1].index||0}}return t}))}getConversations(e="",t,s=20,i=0){const n=i>1?0:i;let a=this.dialogsStorage.getFolder(i);if(e){if(!s||this.cachedResults.query!==e){this.cachedResults.query=e;const t=M.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage.dialogs){const s=this.dialogsStorage.dialogs[e];t[s.peerID]&&this.cachedResults.dialogs.push(s)}this.cachedResults.count=this.cachedResults.dialogs.length}a=this.cachedResults.dialogs}else this.cachedResults.query="";let o=0;if(t>0)for(;oa[o].index);o++);return e||this.dialogsStorage.allDialogsLoaded[n]||a.length>=o+s?Promise.resolve({dialogs:a.slice(o,o+s),count:this.dialogsStorage.allDialogsLoaded[n]?a.length:null}):this.getTopMessages(s,n).then(e=>{if(o=0,t>0)for(;oa[o].index);o++);return{dialogs:a.slice(o,o+s),count:e}})}getTopMessages(e,t){const s=this.dialogsStorage.getFolder(t);let i=0,n=0,f=0;return this.dialogsStorage.dialogsOffsetDate[t]&&(i=this.dialogsStorage.dialogsOffsetDate[t]+y.default.serverTimeOffset,n=65536*this.dialogsStorage.dialogsOffsetDate[t]),f|=2,w.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:i,offset_id:o.default.getMessageLocalID(0),offset_peer:m.default.getInputPeerByID(0),limit:e,hash:0},{noErrorBox:!0}).then(e=>{if("messages.dialogsNotModified"==e._)return null;i||c.telegramMeWebService.setAuthorized(!0),d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);let o=!!i,f=!1;const l={};e.dialogs.forEachReverse(e=>{this.saveConversation(e,t),n&&e.index>n&&(this.newDialogsToHandle[e.peerID]=e,f=!0),e.read_inbox_max_id||e.read_outbox_max_id||(l[e.peerID]=e),o||m.default.isChannel(m.default.getPeerID(e.peer))||(this.incrementMaxSeenID(e.top_message),o=!0)}),Object.keys(l).length&&this.reloadConversation(Object.keys(l).map(e=>+e)).then(()=>{a.$rootScope.$broadcast("dialogs_multiupdate",l);for(let e in l)a.$rootScope.$broadcast("dialog_unread",{peerID:+e})});const u=e.count;return(!e.dialogs.length||!u||s.length>=u)&&(this.dialogsStorage.allDialogsLoaded[t]=!0),f?this.scheduleHandleNewDialogs():a.$rootScope.$broadcast("dialogs_multiupdate",{}),u})}forwardMessages(e,t,s={}){e=m.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var i=0;s.withMyScore&&(i|=256);let n=o.default.splitMessageIDsByChannels(t),a=[];for(let t in n.msgIDs){let s=n.msgIDs[t],o=s.length,r=[];for(let e=0;e{u.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===d&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=d,a.push(f)}return Promise.all(a)}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&m.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){return this.dialogsStorage.getDialog(e)}reloadConversation(e){return[].concat(e).forEach(e=>{this.reloadConversationsPeers.includes(e)||(this.reloadConversationsPeers.push(e),this.log("will reloadConversation",e))}),this.reloadConversationsPromise?this.reloadConversationsPromise:this.reloadConversationsPromise=new Promise((e,t)=>{setTimeout(()=>{const s=this.reloadConversationsPeers.map(e=>m.default.getInputDialogPeerByID(e));this.reloadConversationsPeers.length=0,w.default.invokeApi("messages.getPeerDialogs",{peers:s}).then(t=>{this.applyConversations(t),e()},t).finally(()=>{this.reloadConversationsPromise=null})},0)})}doFlushHistory(e,t){let s=0;return t&&(s|=1),w.default.invokeApi("messages.deleteHistory",{flags:s,peer:e,max_id:0}).then(s=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:s.pts,pts_count:s.pts_count}}),!s.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return i(this,void 0,void 0,(function*(){if(m.default.isChannel(e)){let t=this.getHistory(e,0,1),s=t instanceof Promise?yield t:t,i=-e,n=o.default.getMessageLocalID(s.history[0]||0);return w.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(i),max_id:n}).then(()=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:i,available_min_id:n}}),!0))}return this.doFlushHistory(m.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}t?a.$rootScope.$broadcast("dialog_flush",{peerID:e}):(this.dialogsStorage.dropDialog(e),a.$rootScope.$broadcast("dialog_drop",{peerID:e}))})}))}savePinnedMessage(e,t){t?(this.pinnedMessages[e]=t,this.wrapSingleMessage(t)):delete this.pinnedMessages[e]}getPinnedMessage(e){return this.getMessage(this.pinnedMessages[e]||0)}updatePinnedMessage(e,t){w.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:m.default.getInputPeerByID(e),id:t}).then(e=>{u.default.processUpdateMessage(e)})}saveMessages(e,t={}){e.forEach(e=>{var s;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const i=this.getMessagePeer(e),n="peerChannel"==e.to_id._,a=n?-i:0,l=n&&r.default.isBroadcast(a),c=o.default.getFullMessageID(e.id,a);if(e.mid=c,e.grouped_id){(null!==(s=this.groupedMessagesStorage[e.grouped_id])&&void 0!==s?s:this.groupedMessagesStorage[e.grouped_id]={})[c]=e}const u=this.getDialogByPeerID(i)[0];u&&c>0?e.pFlags.unread=c>u[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=o.default.getFullMessageID(e.reply_to_msg_id,a)),e.date-=y.default.serverTimeOffset,e.peerID=i,e.fromID=e.pFlags.post?i:e.from_id;const p=e.fwd_from;if(p){if(i==d.default.getSelf().id){if(p.saved_from_peer&&p.saved_from_msg_id){const t=m.default.getPeerID(p.saved_from_peer),s=o.default.getFullMessageID(p.saved_from_msg_id,m.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+s}e.fromID=p.channel_id?-p.channel_id:p.from_id}else e.fwdPostID=p.channel_post;e.fwdFromID=p.channel_id?-p.channel_id:p.from_id,p.date-=y.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const g={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=h.default.savePhoto(e.media.photo,g);break;case"messageMediaPoll":e.media.poll=L.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=b.default.saveDoc(e.media.document,g);break;case"messageMediaWebPage":_.default.saveWebPage(e.media.webpage,e.mid,g);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,s;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=h.default.savePhoto(e.action.photo,g),l&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":l&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":l&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=n?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,s=-a;break;case"messageActionChatMigrateTo":t=-a,s=-e.action.channel_id;break;case"messageActionHistoryClear":e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&s&&!this.migratedFromTo[t]&&!this.migratedToFrom[s]&&this.migrateChecks(t,s)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=f.RichTextProcessor.parseEntities(e.message),s=e.entities||[];e.totalEntities=f.RichTextProcessor.mergeEntities(t,s,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[c]=e)})}getRichReplyText(e,t=e.message){let s="";if(e.media)if(e.grouped_id)s+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":s+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":s+="Geolocation";break;case"messageMediaPoll":s+=""+e.media.poll.rReply+"";break;case"messageMediaContact":s+="Contact";break;case"messageMediaDocument":let t=e.media.document;s="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,i="";if(t.message)i=f.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",s=t._;if("messageActionPhoneCall"==s){s+="."+t.type;let i=t.duration;if(i){let t=[];t.push(i%60+" s"),i>=60&&t.push((i/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}i=(a.langPack[s]||t._)+e}s=i?""+i+"":""}let i="";if(t){let e=f.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});i=f.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return s+i}editPeerFolders(e,t){w.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:m.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{this.log("editPeerFolders updates:",e),u.default.processUpdateMessage(e)})}toggleDialogPin(e,t){var s;if(t>1)return void this.filtersStorage.toggleDialogPin(e,t);const i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();const n=m.default.getInputDialogPeerByID(e),a=(null===(s=i.pFlags)||void 0===s?void 0:s.pinned)?0:1;return w.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogPinned",peer:n,pFlags:{pinned:a}})})}markDialogUnread(e,t){var s;const i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();const n=m.default.getInputDialogPeerByID(e),a=t||(null===(s=i.pFlags)||void 0===s?void 0:s.unread_mark)?0:1;return w.default.invokeApi("messages.markDialogUnread",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogUnreadMark",peer:n,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){const s=r.default.getChat(-e);s&&s.migrated_to&&s.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{const s=this.dialogsStorage.dropDialog(e);s.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:s[0]}),a.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&d.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==d.default.getSelf().id||!(t.date{const i=m.default.getPeerID(e.peer);let n=e.top_message;const o=this.pendingTopMsgs[i];if(o&&(!n||this.getMessage(o).date>this.getMessage(n).date)&&(e.top_message=n=o),n){const n=this.getDialogByPeerID(i)[0];this.saveConversation(e),n?a.$rootScope.$broadcast("dialog_top",e):(t[i]=e,s=!0)}else{const e=this.dialogsStorage.dropDialog(i);e.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:i,dialog:e[0]})}if(void 0!==this.newUpdatesAfterReloadToHandle[i]){for(const e in this.newUpdatesAfterReloadToHandle[i]){const t=this.newUpdatesAfterReloadToHandle[i][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[i]}}),s&&a.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e,t=0){const s=m.default.getPeerID(e.peer);if(!s)return!1;"dialog"!=e._&&console.error("saveConversation not regular dialog",e,Object.assign({},e));const i=m.default.isChannel(s)?-s:0,n=m.default.getPeerSearchText(s);let f,l;if(M.default.indexObject(s,n,this.dialogsIndex),e.top_message?(f=o.default.getFullMessageID(e.top_message,i),l=this.getMessage(f)):(f=this.tempID--,l={_:"message",id:f,mid:f,from_id:d.default.getSelf().id,to_id:m.default.getOutputPeer(s),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([l])),!i&&s<0){const e=r.default.getChat(-s);if(e&&e.migrated_to&&e.pFlags.deactivated){const t=m.default.getPeerID(e.migrated_to);return this.migratedFromTo[s]=t,void(this.migratedToFrom[t]=s)}}if(e.top_message=f,e.read_inbox_max_id=o.default.getFullMessageID(e.read_inbox_max_id,i),e.read_outbox_max_id=o.default.getFullMessageID(e.read_outbox_max_id,i),!e.hasOwnProperty("folder_id")&&"dialog"==e._){const i=this.getDialogByPeerID(s)[0];e.folder_id=i?i.folder_id:t}if(e.peerID=s,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e,l.date),l.mid>0&&(l.mid>e[l.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?l.pFlags.unread=!0:l.pFlags.unread=!1),void 0===this.historiesStorage[s]){const t={count:null,history:[],pending:[]};t[f>0?"history":"pending"].push(f),f<0&&l.pFlags.unread&&e.unread_count++,this.historiesStorage[s]=t,this.mergeReplyKeyboard(t,l)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:s})}i&&e.pts&&u.default.addChannelState(i,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var s=t.reply_markup,i=e.reply_markup;if(s)return!(i&&i.mid>=t.mid)&&(!(s.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.midi.mid||t.mid<0)&&t.message)return i.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(i?t.action.user_id==i.fromID:d.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",s={_:"inputMessagesFilterEmpty"},i,n,f=0,l=0){var c=[],u=!t,h={peer:e,filter:s},p=u&&a.deepEqual(this.lastSearchFilter,h);if(u&&!p&&(this.lastSearchFilter=h,this.lastSearchResults=[]),e&&!i&&!t){var b=this.historiesStorage[e];if(void 0!==b&&b.history.length){var v,y={},_=[],S=n||20;switch(s._){case"inputMessagesFilterPhotos":y.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":y.messageMediaPhoto=!0,y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterVideo":y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterDocument":y.messageMediaDocument=!0;break;case"inputMessagesFilterVoice":y.messageMediaDocument=!0,_.push("voice");break;case"inputMessagesFilterRoundVoice":y.messageMediaDocument=!0,_.push("round","voice");break;case"inputMessagesFilterRoundVideo":y.messageMediaDocument=!0,_.push("round");break;case"inputMessagesFilterMusic":y.messageMediaDocument=!0,_.push("audio");break;case"inputMessagesFilterUrl":y.url=!0;break;case"inputMessagesFilterMyMentions":y.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=S)break}}if(c.length=S));e++);}}if(c.length||1e3==n)return u&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),Promise.resolve({count:0,next_rate:0,history:c});let M;if(e||!t)M=w.default.invokeApi("messages.search",{flags:0,peer:m.default.getInputPeerByID(e),q:t||"",filter:s||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:n,offset_id:o.default.getMessageLocalID(i)||0,add_offset:l?-l:0,max_id:0,min_id:0,hash:0},{noErrorBox:!0});else{var D=0,E=0,I=i&&this.getMessage(i);I&&I.date&&(I.date+g.default.serverTimeOffset,E=I.id,D=this.getMessagePeer(I)),M=w.default.invokeApi("messages.searchGlobal",{flags:0,q:t,offset_rate:f,offset_peer:m.default.getInputPeerByID(D),offset_id:o.default.getMessageLocalID(E),limit:n||20},{noErrorBox:!0})}return M.then(e=>{d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return c=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var s=r.default.getChat(-t);s.migrated_to&&this.migrateChecks(t,-s.migrated_to.channel_id)}c.push(e.mid)}),u&&(!i||p&&this.lastSearchResults.indexOf(i)>=0)&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),{count:t,next_rate:e.next_rate,history:c}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs,0))}deleteMessages(e,t){const s=o.default.splitMessageIDsByChannels(e),i=[];for(const e in s.msgIDs){const n=+e;let a,o=s.msgIDs[n];if(n>0){const e=r.default.getChat(n);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&o.forEach((e,i)=>{this.getMessage(s.mids[n][i]).pFlags.out&&t.push(e)}),!t.length)return;o=t}a=w.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(n),id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:n,messages:o,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),a=w.default.invokeApi("messages.deleteMessages",{flags:e,id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:o,pts:e.pts,pts_count:e.pts_count}})})}i.push(a)}return Promise.all(i)}readHistory(e,t=0,s=0){const i=m.default.isChannel(e),n=this.historiesStorage[e],o=this.getDialogByPeerID(e)[0];if(!o||!o.unread_count){if(!n||!n.history.length)return Promise.resolve(!1);if(!!!n.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(n.readPromise)return n.readPromise;let d;return d=i?w.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):w.default.invokeApi("messages.readHistory",{peer:m.default.getInputPeerByID(e),max_id:t}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),n.readPromise=d.then(()=>{let i=-1;0!=t&&n.history.length&&(i=n.history.indexOf(t));let r=1;if(n.history.length&&t)for(let e=-1==i?0:i,s=n.history.length;et)continue;const i=this.messagesStorage[s];i&&!i.pFlags.out&&(i.pFlags.unread=!1,r++)}return!!o&&(n.history.length&&(o.read_inbox_max_id=t),o.read_inbox_max_id==o.top_message||o.read_inbox_max_id==o.read_outbox_max_id?o.unread_count=0:o.unread_count=Math.max(o.unread_count-(s||r),0),this.log("readHistory set unread_count to:",o.unread_count,o),a.$rootScope.$broadcast("dialog_unread",{peerID:e,count:o.unread_count}),a.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete n.readPromise}),n.readPromise}readMessages(e){var t=o.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e];e>0?w.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:s}).then(()=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:s}})}):w.default.invokeApi("messages.readMessageContents",{id:s}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:s,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){var t,s;switch(this.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var i=e.random_id,n=this.pendingByRandomID[i];if(n){var f=n[0],l=n[1],c=m.default.isChannel(f)?-f:0,u=o.default.getFullMessageID(e.id,c);if(p=this.messagesStorage[u]){var h=(g=this.historiesStorage[f]).pending.indexOf(l);-1!=h&&g.pending.splice(h,1),delete this.messagesStorage[l],this.finalizePendingMessageCallbacks(l,u)}else this.pendingByMessageID[u]=i}break;case"updateNewMessage":case"updateNewChannelMessage":var p=e.message,g=(f=this.getMessagePeer(p),this.historiesStorage[f]);if(!(C=this.getDialogByPeerID(f)).length){this.newDialogsToHandle[f]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[f]&&(this.newUpdatesAfterReloadToHandle[f]=[]),this.newUpdatesAfterReloadToHandle[f].push(e);break}if("updateNewChannelMessage"==e._){var b=r.default.getChat(-f);if(b.pFlags&&(b.pFlags.left||b.pFlags.kicked))break}if(this.saveMessages([p],{isNew:!0}),void 0===g&&(g=this.historiesStorage[f]={count:null,history:[],pending:[]}),-1!=(F=p.mid>0?g.history:g.pending).indexOf(p.mid))return!1;var v,_=F[0];F.unshift(p.mid),p.mid>0&&p.mid<_&&F.sort((e,t)=>t-e),p.mid>0&&null!==g.count&&g.count++,this.mergeReplyKeyboard(g,p)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:f}),!p.pFlags.out&&p.from_id&&d.default.forceUserOnline(p.from_id),(i=this.pendingByMessageID[p.mid])&&((v=this.finalizePendingMessage(i,p))&&a.$rootScope.$broadcast("history_update",{peerID:f,mid:p.mid}),delete this.pendingByMessageID[p.mid]),v||(void 0===this.newMessagesToHandle[f]&&(this.newMessagesToHandle[f]=[]),this.newMessagesToHandle[f].push(p.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages,0)));var S=!p.pFlags.out&&p.pFlags.unread;(L=C[0]).top_message=p.mid,S&&L.unread_count++,L.pFlags.pinned&&L.index||(L.index=this.dialogsStorage.generateDialogIndex(p.date)),this.newDialogsToHandle[f]=L,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{this.log("updateDialogUnreadMark",e);let t=m.default.getPeerID(e.peer.peer),s=this.getDialogByPeerID(t);if(s.length){let t=s[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,a.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{this.log("updateFolderPeers",e);const t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{var t;const{folder_id:s,peer:i}=e,n=m.default.getPeerID(i),a=this.dialogsStorage.dropDialog(n);if(a.length){const e=a[0];this.newDialogsToHandle[n]=e,(null===(t=e.pFlags)||void 0===t?void 0:t.pinned)&&(delete e.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(t=>t==e.peerID)),e.folder_id=s,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e)}else this.newDialogsToHandle[n]={reload:!0}});break}case"updateDialogPinned":{const s=null!==(t=e.folder_id)&&void 0!==t?t:0;this.log("updateDialogPinned",e);const i=m.default.getPeerID(e.peer.peer),n=this.getDialogByPeerID(i);if(this.scheduleHandleNewDialogs(),n.length){const t=n[0];this.newDialogsToHandle[i]=t,e.pFlags.pinned?t.pFlags.pinned=!0:(delete t.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(e=>e==t.peerID)),this.dialogsStorage.generateIndexForDialog(t)}else this.newDialogsToHandle[i]={reload:!0};break}case"updatePinnedDialogs":{const t=null!==(s=e.folder_id)&&void 0!==s?s:0;this.log("updatePinnedDialogs",e);const i={};if(!e.order){w.default.invokeApi("messages.getPinnedDialogs",{folder_id:t}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{i[e.peerID]=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.dialogsStorage.pinnedOrders[t].length=0;let n=!1;e.order.reverse(),e.order.forEach(e=>{const t=m.default.getPeerID(e.peer);i[t]=!0;const s=this.getDialogByPeerID(t);if(!s.length)return this.newDialogsToHandle[t]={reload:!0},void(n=!0);const a=s[0];a.pFlags.pinned=!0,this.dialogsStorage.generateIndexForDialog(a),this.newDialogsToHandle[t]=a,n=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},n=!0)}),n&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":p=e.message,f=this.getMessagePeer(p),c="peerChannel"==p.to_id._?-f:0,u=o.default.getFullMessageID(p.id,c);if(void 0===this.messagesStorage[u])break;this.saveMessages([p],{isEdited:!0}),a.safeReplaceObject(this.messagesStorage[u],p);var L,M=(L=this.getDialogByPeerID(f)[0])&&L.top_message==u;if(p.clear_history)M&&a.$rootScope.$broadcast("dialog_flush",{peerID:f});else if(a.$rootScope.$broadcast("message_edit",{peerID:f,id:p.id,mid:u,justMedia:!1}),M){var D={};D[f]=L,a.$rootScope.$broadcast("dialogs_multiupdate",D)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var E="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,I=(c=e.channel_id,o.default.getFullMessageID(e.max_id,c)),C=(f=c?-c:m.default.getPeerID(e.peer),this.getDialogByPeerID(f)),P=0,T=(F=(this.historiesStorage[f]||{}).history||[]).length,k=!1;for(f>0&&E&&d.default.forceUserOnline(f),X=0;XI)&&(p=this.messagesStorage[R])&&p.pFlags.out==E){if(!p.pFlags.unread)break;p&&p.pFlags.unread&&(p.pFlags.unread=!1,k||(k=!0),p.pFlags.out||C[0]&&(P=--C[0].unread_count))}C[0]&&(!E&&P&&C[0].top_message<=I&&(P=C[0].unread_count=0),C[0][E?"read_outbox_max_id":"read_inbox_max_id"]=I),a.$rootScope.$broadcast("dialog_unread",{peerID:f,count:P}),k&&a.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":c=e.channel_id;var A=[];e.messages.forEach(e=>{A.push(o.default.getFullMessageID(e,c))}),e.messages=A;case"updateReadMessagesContents":var X,x=(B=e.messages).length;for(X=0;X{(!e.available_min_id||o.default.getMessageLocalID(t)<=e.available_min_id)&&B.push(t)}),e.messages=B;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},s=e.channel_id;for(let i=0;i{const s=+e;let i=t[s],n=this.historiesStorage[s];if(void 0!==n){let e=[],t=[];for(let t=0;t0&&(n.count-=i.count,n.count<0&&(n.count=0));for(let e=0;e0;!("channel"!=i._||!i.username&&(i.pFlags.left||i.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],a.$rootScope.$broadcast("history_forbidden",s)),d!=n&&(n?this.reloadConversation(-t):o[0]&&(this.dialogsStorage.dropDialog(s),a.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:o[0]})));break}case"updateChannelReload":{const t=e.channel_id,s=-t;this.dialogsStorage.dropDialog(s),delete this.historiesStorage[s],this.reloadConversation(-t).then(()=>{a.$rootScope.$broadcast("history_reload",s)});break}case"updateChannelMessageViews":{let t=e.views,s=o.default.getFullMessageID(e.id,e.channel_id),i=this.getMessage(s);i&&i.views&&i.views{e(t)}),delete this.tempFinalizeCallbacks[e]),a.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;this.maxSeenID=e,p.default.set({max_seen_msg:e}),w.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,s,i){var n;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const a=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,d=!1,f=!1,l=e;if(this.migratedToFrom[e]&&(f=!0,t&&t0)for(d=!0;ra.history[r]){d=!1;break}if(!d&&(null!==a.count&&a.history.length==a.count||a.history.length>=r+s)){i?(i=Math.min(r,i),r=Math.max(0,r-i),s+=i):s=s;let e=a.history.slice(r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})}return d&&(r=0),(i||t)&&-1==a.history.indexOf(t)?(i&&(r=-i,s+=i),this.requestHistory(l,t,s,r).then(e=>{a.count=e.count||e.messages.length,f&&a.count++;let s=[];return e.messages.forEach(e=>{s.push(e.mid)}),!t&&a.pending.length&&(s=a.pending.slice().concat(s)),this.wrapHistoryResult({count:a.count,history:s,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,s,a).then(()=>{if(r=0,t>0)for(r=0;ra.history[r]);r++);let e=a.history.slice(i?Math.max(r-i,0):r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,s,i){const n=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,s,n).then(n=>{i.count=n.count||n.messages.length,!t&&n.messages.length&&(t=n.messages[0].mid+1);let o=0;if(t>0)for(;oi.history[o]);o++);const r=i.history.length;i.history.splice(o,i.history.length-o),n.messages.forEach(t=>{this.mergeReplyKeyboard(i,t)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:e}),i.history.push(t.mid)});const d=i.history.length;s-=d-r;const f=this.migratedFromTo[e],l=this.migratedToFrom[e],c=void 0!==f||void 0!==l;if(c&&(i.count=Math.max(i.count,d)+1),s>0){if(t=i.history[d-1],c){if(!n.messages.length){if(!l)return i.count=d,!0;t=0,e=l}return this.fillHistoryStorage(e,t,s,i)}if(d=0;t--){const s=this.messagesStorage[e.history[t]];if(s&&!s.pFlags.out&&s.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,s=0,i=0,n=0){const f=m.default.isChannel(e);return a.$rootScope.$broadcast("history_request"),w.default.invokeApi("messages.getHistory",{peer:m.default.getInputPeerByID(e),offset_id:t?o.default.getMessageLocalID(t):0,offset_date:n,add_offset:i,limit:s,max_id:0,min_id:0,hash:0},{noErrorBox:!0}).then(n=>{this.log("requestHistory result:",n,t,s,i),d.default.saveApiUsers(n.users),r.default.saveApiChats(n.chats),this.saveMessages(n.messages),f&&u.default.addChannelState(-e,n.pts);let a=n.messages.length;a&&n.messages[a-1].deleted&&(n.messages.splice(a-1,1),a--,n.count--);const o=this.historiesStorage[e];return a&&n.messages[a-1].grouped_id&&o.history.length+n.messages.lengthn):n},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;const e=this.needSingleMessages.slice();this.needSingleMessages.length=0;const t=o.default.splitMessageIDsByChannels(e);let s=[];Object.keys(t.msgIDs).forEach(e=>{e=+e;const i=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));let n;n=e>0?w.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:i}):w.default.invokeApi("messages.getMessages",{id:i}),s.push(n.then(s=>{"messages.messagesNotModified"!=s._&&(d.default.saveApiUsers(s.users),r.default.saveApiChats(s.chats),this.saveMessages(s.messages)),a.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(s).finally(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e,t=!1){this.messagesStorage[e]&&!t?a.$rootScope.$broadcast("messages_downloaded",[e]):-1==this.needSingleMessages.indexOf(e)&&(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)))}setTyping(e){if(!a.$rootScope.myID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=m.default.getInputPeerByID(a.$rootScope.myID);return w.default.invokeApi("messages.setTyping",{peer:t,action:e})}}t.AppMessagesManager=P;const T=new P;t.default=T},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppPeersManager=void 0;const n=i(s(5)),a=i(s(9)),o=s(0),r=s(3),d=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],f=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],l=[0,7,4,1,6,3,5];class c{getPeerPhoto(e){return e>0?n.default.getUserPhoto(e):a.default.getChatPhoto(-e)}getPeerMigratedTo(e){if(e>=0)return!1;let t=a.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&this.getPeerID(t.migrated_to)}getPeerTitle(e,t=!1,s=!1){let i={};i=o.isObject(e)?e:this.getPeer(e);let n="";return e>0?(i.first_name&&(n+=i.first_name),i.last_name&&(n+=" "+i.last_name),n=n?n.trim():i.pFlags.deleted?"Deleted account":i.username):n=i.title,s&&(n=n.split(" ")[0]),t?n:r.RichTextProcessor.wrapEmojiText(n)}getOutputPeer(e){if(e>0)return{_:"peerUser",user_id:e};let t=-e;return a.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}}getPeerString(e){return e>0?n.default.getUserString(e):a.default.getChatString(-e)}getPeerUsername(e){return e>0?n.default.getUser(e).username||"":a.default.getChat(-e).username||""}getPeer(e){return e>0?n.default.getUser(e):a.default.getChat(-e)}getPeerID(e){if("number"==typeof e)return e;if(o.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);if(!e)return 0;const t="u"==e.charAt(0),s=e.substr(1).split("_");return t?s[0]:-s[0]||0}isChannel(e){return e<0&&a.default.isChannel(-e)}isMegagroup(e){return e<0&&a.default.isMegagroup(-e)}isAnyGroup(e){return e<0&&!a.default.isBroadcast(-e)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}isBot(e){return e>0&&n.default.isBot(e)}getInputPeer(e){var t=e.charAt(0),s=e.substr(1).split("_");let i=+s[0];return"u"==t?(n.default.saveUserAccess(i,s[1]),{_:"inputPeerUser",user_id:i,access_hash:s[1]}):"c"==t||"s"==t?(a.default.saveChannelAccess(i,s[1]),"s"==t&&a.default.saveIsMegagroup(i),{_:"inputPeerChannel",channel_id:i,access_hash:s[1]||"0"}):{_:"inputPeerChat",chat_id:i}}getInputPeerByID(e){if(!e)return{_:"inputPeerEmpty"};if(e<0){const t=-e;return a.default.isChannel(t)?a.default.getChannelInputPeer(t):a.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:n.default.getUser(e).access_hash}}getInputDialogPeerByID(e){return{_:"inputDialogPeer",peer:this.getInputPeerByID(e)}}getPeerColorByID(e,t=!0){return(t?f:d)[l[(e<0?-e:e)%7]]}getPeerSearchText(e){let t;if(e>0)t="%pu "+n.default.getUserSearchText(e);else if(e<0){t="%pg "+(a.default.getChat(-e).title||"")}return t}}t.AppPeersManager=c;const u=new c;t.default=u},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppChatsManager=void 0;const a=s(0),o=s(3),r=n(s(5)),d=n(s(2)),f=n(s(32)),l=n(s(27)),c=n(s(38));class u{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},this.onChatUpdated=(e,t)=>{f.default.processUpdateMessage(t),t&&t.updates&&t.updates.length&&this.isChannel(e)&&l.default.invalidateChannelParticipants(e)},a.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateChannel":const e=t.channel_id;a.$rootScope.$broadcast("channel_settings",{channelID:e})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!a.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=o.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],s=c.default.cleanSearchText(e.title||"",!1).split(" "),i=s.shift(),n=s.pop();if(e.initials=i.charAt(0)+(n?n.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=c.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let s=t.photo&&t.photo.photo_small,i=e.photo&&e.photo.photo_small;JSON.stringify(s)!==JSON.stringify(i)&&(r=!0),a.safeReplaceObject(t,e),a.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&a.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&a.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{_:"chatEmpty",id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var s,i;const n=this.getChat(e);if("chatEmpty"==n._)return!1;if("chatForbidden"==n._||"channelForbidden"==n._||n.pFlags.kicked||n.pFlags.left)return!1;if(n.pFlags.creator)return!0;let a=null!==(i=null===(s=n.admin_rights||n.banned_rights||n.default_banned_rights)||void 0===s?void 0:s.pFlags)&&void 0!==i?i:{};switch(t){case"send":if("channel"==n._&&!n.pFlags.megagroup&&!a.post_messages)return!1;break;case"deleteRevoke":if("channel"==n._)return!!a.delete_messages;if(!n.pFlags.admin)return!1;break;case"pin":if("channel"==n._)return n.admin_rights?!!a.pin_messages||!!a.post_messages:!a.pin_messages;if(a.pin_messages&&!n.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==n._){if(!n.pFlags.megagroup)return!1;if("invite"!=t||!n.pFlags.democracy)return!1}else if(n.pFlags.admins_enabled&&!n.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){e<0&&(e=-e);let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e<0&&(e=-e),{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}}hasChat(e,t){let s=this.chats[e];return a.isObject(s)&&(t||!s.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const s=this.getChat(e),i=this.isBroadcast(e),n=s.participants_count||(null===(t=s.participants)||void 0===t?void 0:t.participants.length)||0;return a.numberWithCommas(n)+" "+(i?"followers":"members")}wrapForFull(e,t){let s=a.copy(t),i=this.getChat(e);return s.participants_count||(s.participants_count=i.participants_count),s.participants&&"chatParticipants"==s.participants._&&(s.participants.participants=this.wrapParticipants(e,s.participants.participants)),s.about&&(s.rAbout=o.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.peerString=this.getChatString(e),s.chat=i,s}wrapParticipants(e,t){let s=this.getChat(e),i=r.default.getSelf().id;if(this.isChannel(e)){let e=s.pFlags.creator;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=s.pFlags.creator||s.pFlags.admins_enabled&&s.pFlags.admin;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=!t.canLeave&&(s.pFlags.creator||"chatParticipant"==t._&&(e||i==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return d.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let s=this.getChannelInput(e),i=t.map(e=>r.default.getUserInput(e));return d.default.invokeApi("channels.inviteToChannel",{channel:s,users:i}).then(e=>{f.default.processUpdateMessage(e)})}createChat(e,t){return d.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){const s={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?d.default.invokeApi("channels.editPhoto",{channel:this.getChannelInput(e),photo:s}).then(e=>{f.default.processUpdateMessage(e)}):d.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:s}).then(e=>{f.default.processUpdateMessage(e)})}getOnlines(e){var t,s;return i(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let i=Date.now()/1e3|0,n=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(i-n.timestamp<60)return n.onlines;let a=yield d.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),o=null!==(s=a.onlines)&&void 0!==s?s:1;return n.timestamp=i,n.onlines=o,o}if(this.isBroadcast(e))return 1;let i=l.default.getChatFull(e);if("chatFull"==i._&&i.participants&&i.participants.participants){return i.participants.participants.reduce((e,t)=>{let s=r.default.getUser(t.user_id);return s&&s.status&&"userStatusOnline"==s.status._?e+1:e},0)}return 1}))}leaveChannel(e){return d.default.invokeApi("channels.leaveChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}joinChannel(e){return d.default.invokeApi("channels.joinChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}}t.AppChatsManager=u,t.default=new u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppImManager=void 0;const n=i(s(2)),a=s(0),o=i(s(5)),r=i(s(7)),d=i(s(8)),f=i(s(27)),l=i(s(16)),c=s(3),u=i(s(13)),h=i(s(24)),p=s(11),m=i(s(56)),g=i(s(14)),b=i(s(9)),v=s(18),y=i(s(35)),w=s(4),_=s(98),S=i(s(6)),L=i(s(104)),M=i(s(21)),D=i(s(12)),E=i(s(42)),I=i(s(44)),C=i(s(41)),P=i(s(62)),T=i(s(64)),k=s(1),A=i(s(15)),X=i(s(61)),x=i(s(65)),F=i(s(39)),B=s(17),R=s(26),O=s(105),j=s(106),U=s(107);g.default;class N{constructor(){this.columnEl=document.getElementById("column-center"),this.btnJoin=this.columnEl.querySelector(".chat-join"),this.btnMute=this.columnEl.querySelector(".chat-mute-button"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.columnEl.querySelector(".chat-search-button"),this.goDownBtn=this.columnEl.querySelector("#bubbles-go-down"),this.menuButtons={},this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=null,this.lazyLoadQueue=new M.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.chatInfo=this.columnEl.querySelector(".chat-info"),this.contextMenu=new j.ChatContextMenu(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new L.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.selectTab=R.horizontalMenu(null,document.getElementById("main-columns")),this.closeBtn=this.topbar.querySelector(".sidebar-close-button"),this.onDatePick=e=>{const t=this.peerID;r.default.requestHistory(t,0,2,-1,e).then(e=>{var s;(null===(s=null==e?void 0:e.messages)||void 0===s?void 0:s.length)?this.peerID==t&&H.setPeer(this.peerID,e.messages[0].mid):this.log.error("no history!")})},this.log=p.logger("IM",p.LogLevels.log|p.LogLevels.warn|p.LogLevels.debug|p.LogLevels.error),this.chatInputC=new _.ChatInput,this.preloader=new y.default(null,!1),this.selectTab(0),w.parseMenuButtonsTo(this.menuButtons,this.columnEl.querySelector(".chat-more-button").firstElementChild.children),this.chatAudio=new O.ChatAudio,this.chatInfo.nextElementSibling.prepend(this.chatAudio.container),n.default.getUserID().then(e=>{this.myID=a.$rootScope.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=a.$rootScope.myID=t?t.id:0}),a.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),a.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,s=this.bubbles[e];if(!s)return;let i=r.default.getMessage(e);this.getDateContainerByMessage(i,!1).container.append(s),this.bubbleGroups.addBubble(s,i,!1)}}),a.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let s=t[this.peerID];this.renderNewMessagesByIDs(s)}),a.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),a.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),a.$rootScope.$on("chat_update",e=>{var t;const s=e.detail;if(this.peerID==-s){const e=b.default.getChat(s);this.btnJoin.classList.toggle("hide",!(null===(t=null==e?void 0:e.pFlags)||void 0===t?void 0:t.left))}}),a.$rootScope.$on("message_sent",e=>{var t,s,i;const{tempID:n,mid:o}=e.detail;this.log("message_sent",e.detail);const d=r.default.getMessage(o);if(d.media)if(d.media.photo){const e=u.default.getPhoto(""+n);if(e){const t=d.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(d.media.document){const e=D.default.getDoc(""+n);if((null==e?void 0:e.type)&&"sticker"!=e.type){const t=d.media.document;t.downloaded=e.downloaded,t.url=e.url}}let f=this.bubbles[n];if(f){if(this.bubbles[o]=f,d.grouped_id){let e=f.querySelectorAll(".album-item"),t=a.getObjectKeysAndSort(r.default.groupedMessagesStorage[d.grouped_id]);Array.from(e).forEach((e,s)=>{e.dataset.mid=""+t[s]})}if(null===(t=d.media)||void 0===t?void 0:t.poll){const e=d.media.poll,t=f.querySelector("poll-element");t&&(t.setAttribute("poll-id",e.id),t.setAttribute("message-id",""+o),delete F.default.polls[n],delete F.default.results[n])}if(["audio","voice"].includes(null===(i=null===(s=d.media)||void 0===s?void 0:s.document)||void 0===i?void 0:i.type)){const e=f.querySelector("audio-element");e.setAttribute("doc-id",d.media.document.id),e.setAttribute("message-id",""+o)}f.classList.remove("is-sending"),f.classList.add("is-sent"),f.dataset.mid=""+o,this.bubbleGroups.removeBubble(f,n),delete this.bubbles[n]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(n)&&(this.unreadOut.delete(n),this.unreadOut.add(o))}),a.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:s,id:i,justMedia:n}=e.detail;if(t!=this.peerID)return;let a=r.default.getMessage(s),o=this.bubbles[s];if(!o&&a.grouped_id){let e=this.getAlbumBubble(a.grouped_id);o=e.bubble,a=e.message}o&&this.renderMessage(a,!0,!1,o,!1)}),a.$rootScope.$on("messages_downloaded",e=>{const t=e.detail,s=r.default.getPinnedMessage(this.peerID);t.forEach(e=>{s.mid==e&&(this.messagesQueuePromise||Promise.resolve()).then(()=>{this.setPinnedMessage(s)}),this.needUpdate.forEachReverse((t,s)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(s,1)[0],i=this.bubbles[e];if(!i)return;let n=r.default.getMessage(e);r.default.getMessage(t).deleted&&delete n.reply_to_mid,this.renderMessage(n,!0,!1,i,!1)}})})}),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{A.default.checkAnimations(!0),this.offline=a.$rootScope.idle.isIDLE=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{this.offline=a.$rootScope.idle.isIDLE=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),A.default.checkAnimations(!1)},{once:!0})}),this.topbar.addEventListener("click",e=>{const t=a.findUpClassName(e.target,"pinned-container");if(t){a.cancelEvent(e);const s=+t.dataset.mid,i=r.default.getMessage(s);this.setPeer(i.peerID,s)}else h.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t,s;let i=e.target,n=null;try{n=a.findUpClassName(i,"bubble")}catch(e){}if(!n)return;if(n.classList.contains("is-date")&&a.findUpClassName(i,"bubble__container")){if(n.classList.contains("is-sticky")&&!this.chatInner.classList.contains("is-scrolling"))return;for(let e in this.dateMessages){if(this.dateMessages[e].div==n){new x.default(new Date(+e),this.onDatePick).show();break}}return}let o=a.findUpClassName(i,"contact");if(o)return void this.setPeer(+o.dataset.peerID);const d="SPAN"==i.tagName;if(n.classList.contains("sticker")&&i.parentElement.classList.contains("attachment")){const e=+n.dataset.mid,s=null===(t=r.default.getMessage(e).media)||void 0===t?void 0:t.document;(null==s?void 0:s.stickerSetInput)&&new X.default(s.stickerSetInput).show()}else{if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName&&!i.classList.contains("document-thumb")||i.classList.contains("album-item")||d||"VIDEO"==i.tagName&&!n.classList.contains("round")){let e=+(null===(s=a.findUpClassName(i,"album-item"))||void 0===s?void 0:s.dataset.mid)||+n.dataset.mid,t=r.default.getMessage(e);if(!t)return void this.log.warn("no message by messageID:",e);let o=[],d=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=r.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);d.forEach(e=>{let t=".album-item img, .album-item video, .preview img, .preview video, ";t+=this.bubbles[e].classList.contains("with-media-tail")?".bubble__media-container":".attachment img, .attachment video";let s=this.bubbles[e].querySelectorAll(t);Array.from(s).forEach(t=>{let s=a.findUpClassName(t,"album-item");o.push({element:t,mid:+(null==s?void 0:s.dataset.mid)||e})})}),o.sort((e,t)=>e.mid-t.mid);let f=o.findIndex(t=>t.mid==e);return this.log("open mediaViewer single with ids:",d,f,o),o[f]?void m.default.openMedia(t,o[f].element,!0,this.scroll.parentElement,o.slice(0,f),o.slice(f+1)):void this.log("no target for media viewer!",i)}if(-1===["IMG","DIV","AVATAR-ELEMENT"].indexOf(i.tagName)&&(i=a.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=n.dataset.savedFrom.split("_"),t=+e[0],s=+e[1];return void this.setPeer(t,s)}if(i.classList.contains("forward")){const e=+n.dataset.mid;return void E.default.init([e])}if(i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}if("AVATAR-ELEMENT"==i.tagName){let e=+i.getAttribute("peer");return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!a.findUpClassName(e.target,"reply")}catch(e){}if(t&&n.classList.contains("is-reply")){let e=+n.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.getAttribute("peer");isNaN(e)||this.setPeer(e)}}}),this.closeBtn.addEventListener("click",e=>{a.cancelEvent(e),this.setPeer(0)}),this.searchBtn.addEventListener("click",e=>{a.cancelEvent(e),this.peerID&&h.default.beginSearch()}),this.btnMute.addEventListener("click",e=>{a.cancelEvent(e),this.mutePeer(this.peerID)}),this.btnJoin.addEventListener("click",e=>{a.cancelEvent(e),this.btnJoin.setAttribute("disabled","true"),b.default.joinChannel(-this.peerID).finally(()=>{this.btnJoin.removeAttribute("disabled")})}),this.menuButtons.mute.addEventListener("click",e=>{this.mutePeer(this.peerID)}),this.menuButtons.search.addEventListener("click",e=>{new U.ChatSearch});document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"!=e.key||k.touchSupport?"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"):this.chatInputC.attachMediaPopUp.sendBtn.click());if("Escape"==e.key)m.default.wholeDiv.classList.contains("active")?m.default.buttons.close.click():E.default.container.classList.contains("active")?E.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("KeyC"==e.code&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),a.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{r.default.getDialogByPeerID(this.peerID)[0]?this.setPeer(this.peerID):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new T.default(this.scrollable.container,(e,t)=>{for(let s in this.dateMessages){let i=this.dateMessages[s];if(i.container==t){i.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{if(this.offline)return;let t=[];if(e.forEach(e=>{if(e.isIntersecting){let s=e.target,i=+s.dataset.mid;t.push(i),this.unreadedObserver.unobserve(s),this.unreaded.findAndSplice(e=>e==i)}}),t.length){let e=Math.max(...t),s=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),r.default.readHistory(this.peerID,e,s)})}})}setPinnedMessage(e){const t=this.scrollable.container.scrollTop,s=v.wrapReply("Pinned Message",e.message,e,!0);s.dataset.mid=""+e.mid,s.classList.add("pinned-container");const i=document.createElement("button");i.classList.add("pinned-message-close","btn-icon","tgico-close"),i.addEventListener("click",e=>{a.cancelEvent(e);const t=this.scrollable.scrollTop;s.remove(),this.topbar.classList.remove("is-pinned-shown"),this.pinnedMessageContainer=null,this.scrollable.scrollTop=t-52},{once:!0}),s.append(i),this.btnJoin.parentElement.insertBefore(s,this.btnJoin),this.topbar.classList.add("is-pinned-shown"),this.pinnedMessageContainer&&this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=s,this.scrollable.scrollTop=t+52}updateStatus(){return this.myID?(o.default.setUserStatus(this.myID,this.offline),n.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=r.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:r.default.getMessage(t)}}return null}loadMoreHistory(e,t=!1){if(!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let s=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!s.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",s[0],"maxID:",s[s.length-1],s),this.getHistory(s[0],!0,void 0,void 0,t)),this.scrolledAllDown)return;let i=r.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==s.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",s[s.length-1],s),this.getHistory(s[s.length-1],!1,!0,void 0,t))}onScroll(e){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.scrollable.scrollLocked&&this.scrolledDown||(this.onScrollRAF=window.requestAnimationFrame(()=>{k.touchSupport||(this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=window.setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350)),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0}))}setScroll(){this.scrollable=new S.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down"),k.touchSupport&&(this.scroll.addEventListener("touchmove",()=>{this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling")},{passive:!0}),this.scroll.addEventListener("touchend",()=>{this.chatInner.classList.contains("is-scrolling")&&(this.isScrollingTimeout&&clearTimeout(this.isScrollingTimeout),this.isScrollingTimeout=window.setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350))},{passive:!0}))}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=d.default.getPeer(this.peerID),s=d.default.isChannel(this.peerID)&&!d.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),h.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=h.default.profileElements.subtitle.innerText=""),f.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e);let i=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(i){let e=a.numberWithCommas(i)+" "+(s?"followers":"members");if(this.subtitleEl.innerText=h.default.profileElements.subtitle.innerText=e,i<2)return;b.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+a.numberWithCommas(t)+" online"),this.subtitleEl.innerText=h.default.profileElements.subtitle.innerText=e})}})}else if(o.default.isBot(this.peerID))this.subtitleEl.innerText="bot",h.default.profileElements.subtitle.innerText="bot";else{let e=o.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=h.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=o.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),h.default.profileElements.subtitle.classList.add("online")),h.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),h.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}findMountedBubbleByMsgID(e){return this.bubbles[a.getObjectKeysAndSort(this.bubbles).find(t=>{var s;return!(t+e)),u=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=u.className,this.chatInner.classList.add("disable-hover","is-scrolling"),i||this.lazyLoadQueue.clear(),this.lazyLoadQueue.lock();const{promise:p,cached:m}=this.getHistory(t,!0,f,l);return i?this.peerChanged=!0:h.default.setPeer(this.peerID),m||(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),this.preloader.attach(this.bubblesContainer),k.mediaSizes.isMobile&&this.selectTab(1)),A.default.lockGroup("chat"),this.setPeerPromise=Promise.all([p.then(()=>{var s;if(m?(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),k.mediaSizes.isMobile&&this.selectTab(1)):this.preloader.detach(),this.scrollable.container.append(this.chatInner),A.default.unlockGroup("chat"),A.default.checkAnimations(!1,"chat"),this.lazyLoadQueue.unlock(),n&&(d||t!=o)&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=c>0&&(c{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),h.default.setLoadMutex(this.setPeerPromise),h.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){var e,t;if(this.peerChanged)return;let s=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID),this.avatarEl.update();const i=d.default.isAnyGroup(s),n=d.default.isChannel(s),o=n&&b.default.hasRights(-s,"send");this.chatInner.classList.toggle("has-rights",o),this.chatInput.style.display=!n||o?"":"none",this.topbar.classList.remove("is-pinned-shown"),this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",i||s==this.myID),this.chatInner.classList.toggle("is-channel",n),this.btnMute.classList.toggle("hide",!d.default.isBroadcast(s)),this.btnJoin.classList.toggle("hide",!(null===(t=null===(e=b.default.getChat(-this.peerID))||void 0===e?void 0:e.pFlags)||void 0===t?void 0:t.left)),this.menuButtons.mute.style.display=this.myID==this.peerID?"none":"";const f=r.default.getPinnedMessage(s);f&&!f.deleted?this.setPinnedMessage(f):this.pinnedMessageContainer&&(this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=null),window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":d.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=h.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),h.default.fillProfileElements(),a.$rootScope.$broadcast("peer_changed",this.peerID)}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),A.default.checkAnimations(!1,"chat"),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=r.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){const s=new Date(1e3*e.date);s.setHours(0,0,0);const i=s.getTime();if(!(i in this.dateMessages)){let e="";const n=new Date;if(n.setHours(0,0,0,0),n.getTime()==s.getTime())e="Today";else{e=["January","February","March","April","May","June","July","August","September","October","November","December"][s.getMonth()]+" "+s.getDate(),s.getFullYear()!=n.getFullYear()&&(e+=", "+s.getFullYear())}const a=document.createElement("div");a.className="bubble service is-date",a.innerHTML=`
${e}
`;const o=document.createElement("div");o.className="bubbles-date-group",this.dateMessages[i]={div:a,container:o,firstTimestamp:s.getTime()},o.append(a),t?this.scrollable.prepend(o,!1):this.scrollable.append(o,!1),this.stickyIntersector.observeStickyHeaderChanges(o)}return this.dateMessages[i]}renderMessagesQueue(e,t,s){let i=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){if(!e.src)return;if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=new Promise((t,s)=>{let i,n=()=>{clearTimeout(o),t(),e.removeEventListener(e instanceof HTMLVideoElement?"canplay":"load",n)};e instanceof HTMLVideoElement?(e.addEventListener("canplay",n),i=()=>e.readyState>=1):(e.addEventListener("load",n),i=()=>e.complete);let a=()=>i()?n():window.requestAnimationFrame(a);window.requestAnimationFrame(a);let o=setTimeout(()=>{t()},1500)});i.push(t)}),this.messagesQueue.push({message:e,bubble:t,reverse:s,promises:i}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.chatInner,i=this.messagesQueue.slice();this.messagesQueue.length=0;let n=i.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(n).then(()=>{if(this.chatInner!=s)return t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),i.forEach(({message:e,bubble:t,reverse:s})=>{let i=this.getDateContainerByMessage(e,s);s?i.container.insertBefore(t,i.div.nextSibling):i.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,s=!1,i=null,n=!0){if(this.log.debug("message to render:",e),e.deleted)return;if(e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],s=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${u}`,n&&this.renderMessagesQueue(e,i,t),i}let m=new Date(1e3*e.date),g=("0"+m.getHours()).slice(-2)+":"+("0"+m.getMinutes()).slice(-2);if(e.views&&(i.classList.add("channel-post"),g=a.formatNumber(e.views,1)+' '+g,!e.savedFrom)){let e=document.createElement("div");e.classList.add("bubble-beside-button","forward"),e.innerHTML='\n \n \n \n \n \n ',f.append(e),i.classList.add("with-beside-button")}e.edit_date&&(i.classList.add("is-edited"),g='edited '+g);let b=document.createElement("span");b.classList.add("time");let y,_,S=document.createElement("div");if(S.classList.add("inner","tgico"),S.innerHTML=g,e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],s=0;for(let e in t){let i=t[e];if(i.message){if(++s>1)break;y=i.message,_=i.totalEntities}}s>1&&(y=void 0,_=void 0)}y||_||(y=e.message,_=e.totalEntities);let L=c.RichTextProcessor.wrapRichText(y,{entities:_}),M=e.media;if(_&&!M){let e=_.filter(e=>"messageEntityEmoji"==e._),t=y.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=I.default.getAnimatedEmojiSticker(y);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=L,i.classList.add("emoji-"+e.length+"x"),f.append(t)}i.classList.add("is-message-empty","emoji-big")}else p.innerHTML=L}else p.innerHTML=L;if(b.appendChild(S),p.append(b),f.prepend(p),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){const t=e.reply_markup.rows,s=document.createElement("div");s.classList.add("reply-markup"),t.forEach(t=>{const i=t.buttons;if(!i||!i.length)return;const n=document.createElement("div");n.classList.add("reply-markup-row"),i.forEach(t=>{const s=c.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});let i;switch(t._){case"keyboardButtonUrl":{const s=o.default.getUser(e.fromID),n=!(s&&s.pFlags&&s.pFlags.verified),a=c.RichTextProcessor.wrapUrl(t.url,n);i=document.createElement("a"),i.href=a,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,B.ripple(i),n.append(i)}),s.append(n)}),s.addEventListener("click",s=>{let i=s.target;if(i.classList.contains("reply-markup-button")||(i=a.findUpClassName(i,"reply-markup-button")),!i)return;const n=a.whichChild(i),o=t[a.whichChild(i.parentElement)];if(!o.buttons||!o.buttons[n])return void this.log.warn("no such button",o,n,e);const r=o.buttons[n];P.default.callbackButtonClick(e.mid,r)});const i=45*t.length+"px";f.style.marginBottom=i,s.style.bottom="-"+i,f.prepend(s)}if(h){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",i.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(i),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const E=h&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),y||i.classList.add("is-message-empty");let s=!1;switch(M._){case"messageMediaPending":{let n=M,a=n.preloader;switch(n.type){case"album":this.log("will wrap pending album"),i.classList.add("hide-name","photo","is-album"),v.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":{const s=u.default.getPhoto(e.id);this.log("will wrap pending photo:",n,e,s);const a=!k.isAndroid;a&&i.classList.add("with-media-tail"),v.wrapPhoto(s,e,t,void 0,void 0,a,!0,this.lazyLoadQueue,null),i.classList.add("hide-name","photo");break}case"video":{let s=D.default.getDoc(e.id);this.log("will wrap pending video:",n,e,s);const o=!k.isAndroid&&!k.isApple&&"round"!=s.type;o&&i.classList.add("with-media-tail"),v.wrapVideo({doc:s,container:t,message:e,boxWidth:k.mediaSizes.active.regular.width,boxHeight:k.mediaSizes.active.regular.height,withTail:o,isOut:E,lazyLoadQueue:this.lazyLoadQueue,middleware:null,group:"chat"}),a.attach(t,!1),i.classList.add("hide-name","video");break}case"audio":case"voice":case"document":{const t=D.default.getDoc(e.id);this.log("will wrap pending doc:",t);const o=v.wrapDocument(t,!1,!0,e.id);if("audio"==t.type||"voice"==t.type)o.preloader=a;else{const e=o.querySelector(".audio-download, .document-ico");a.attach(e,!1)}"voice"==n.type&&i.classList.add("bubble-audio"),i.classList.remove("is-message-empty"),p.classList.add((n.type||"document")+"-message"),p.append(o),s=!0;break}}break}case"messageMediaPhoto":{let s=M.photo;i.classList.add("hide-name","photo");const n=!k.isAndroid;if(n&&i.classList.add("with-media-tail"),e.grouped_id){i.classList.add("is-album");let s=r.default.groupedMessagesStorage[e.grouped_id];if(1!=Object.keys(s).length){v.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:h,lazyLoadQueue:this.lazyLoadQueue});break}}v.wrapPhoto(s,e,t,void 0,void 0,n,E,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{s=!0;let t=M.webpage;if("webPageEmpty"==t._)break;i.classList.add("webpage");let n=document.createElement("div");n.classList.add("box","web");let a,o,r=document.createElement("div");r.classList.add("quote"),(t.photo||t.document)&&(a=document.createElement("div"),a.classList.add("preview-resizer"),o=document.createElement("div"),o.classList.add("preview"),a.append(o));let d=null;t.document&&(d=t.document,"gif"==d.type||"video"==d.type?(i.classList.add("video"),v.wrapVideo({doc:d,container:o,message:e,boxWidth:k.mediaSizes.active.webpage.width,boxHeight:k.mediaSizes.active.webpage.height,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:E,group:"chat"})):d=null),a&&r.append(a);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=c.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=c.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=c.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(r.append(l),t.photo&&!d){i.classList.add("photo");const s=t.photo.sizes[t.photo.sizes.length-1];s.w==s.h&&l.childElementCount?i.classList.add("is-square-photo"):s.h>s.w&&i.classList.add("is-vertical-photo"),v.wrapPhoto(t.photo,e,o,k.mediaSizes.active.webpage.width,k.mediaSizes.active.webpage.height,!1,E,this.lazyLoadQueue,this.getMiddleware())}n.append(r),f.prepend(b,n);break}case"messageMediaDocument":{let n=M.document;if(n.sticker){i.classList.add("sticker"),n.animated&&i.classList.add("sticker-animated");let e=i.classList.contains("emoji-big")?140:200;u.default.setAttachmentSize(n,t,e,e,!0),f.style.height=t.style.height,f.style.width=t.style.width,v.wrapSticker({doc:n,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!0,loop:!0,emoji:i.classList.contains("emoji-big")?y:void 0,withThumb:!0});break}if("video"==n.type||"gif"==n.type||"round"==n.type){if(i.classList.add("hide-name","round"==n.type?"round":"video"),e.grouped_id)i.classList.add("is-album"),v.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:h,lazyLoadQueue:this.lazyLoadQueue});else{const s=!k.isAndroid&&!k.isApple&&"round"!=n.type;s&&i.classList.add("with-media-tail"),v.wrapVideo({doc:n,container:t,message:e,boxWidth:k.mediaSizes.active.regular.width,boxHeight:k.mediaSizes.active.regular.height,withTail:s,isOut:E,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),group:"chat"})}break}if("audio/ogg"==n.mime_type){let t=v.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),i.classList.add("bubble-audio"),p.append(t),s=!0;break}{let t=v.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),p.append(t),p.classList.add((n.type||"document")+"-message"),s=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,p.classList.add("contact-message"),s=!0;let n=[];e.media.first_name&&n.push(c.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&n.push(c.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${n.join(" ")}
\n
${e.media.phone_number?"+"+w.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let a=new C.default;a.setAttribute("peer",""+e.media.user_id),a.classList.add("contact-avatar"),t.prepend(a),i.classList.remove("is-message-empty"),p.append(t);break}case"messageMediaPoll":{i.classList.remove("is-message-empty");let t=v.wrapPoll(e.media.poll.id,e.mid);p.prepend(t);break}default:i.classList.remove("is-message-empty"),p.innerHTML="unrecognized media type: "+e.media._,p.append(b),this.log.warn("unrecognized media type:",e.media._,e)}s||f.append(t)}if(this.peerID<0&&!h||e.fwd_from||e.reply_to_mid){let t=d.default.getPeerTitle(e.fwdFromID||e.fromID);const s=!e.fromID&&e.fwd_from;if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=c.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),i.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&i.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("bubble-beside-button","goto-original","tgico-next"),f.append(t),i.dataset.savedFrom=e.savedFrom,i.classList.add("with-beside-button")}if(!i.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID||s?(i.style.color=d.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,f.append(i)}}else{if(e.reply_to_mid){let t=r.default.getMessage(e.reply_to_mid),s=d.default.getPeerTitle(t.fromID||t.fwdFromID,!0)||"";"messageEmpty"==t._&&(r.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),s="Loading..."),t.mid?i.setAttribute("data-original-mid",t.mid):i.setAttribute("data-original-mid",e.reply_to_mid),f.append(v.wrapReply(s,t.message||"",t)),i.classList.add("is-reply")}if(!i.classList.contains("sticker")&&l<0&&l!=e.fromID){let s=document.createElement("div");s.classList.add("name"),s.innerHTML=t,s.style.color=d.default.getPeerColorByID(e.fromID,!1),s.dataset.peerID=e.fromID,f.append(s)}else i.classList.add("hide-name")}if(!h&&this.peerID<0&&(!d.default.isChannel(this.peerID)||d.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new C.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID||s?e.fwdFromID:e.fromID)||0)),t.update(),f.append(t)}}else i.classList.add("hide-name");return i.classList.add(E?"is-out":"is-in"),n?(this.bubbleGroups.addBubble(i,e,t),this.renderMessagesQueue(e,i,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),i}performHistoryResult(e,t,s,i){e.length||(s?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),i&&e.unshift(i);let n=r.default.getDialogByPeerID(this.peerID)[0];if(n&&n.top_message)for(let t of e)if(t==n.top_message){this.scrolledAllDown=!0;break}return new Promise((s,i)=>{let n,a=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;n=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,n),this.messagesQueueOnRender=void 0});e.length;){let e=r.default.getMessage(a());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==n){const e=t?this.scrollable.scrollHeight-n:n;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),k.touchSupport&&k.isApple&&(this.scrollable.container.style.overflow="hidden"),this.scrollable.scrollTop=e,k.touchSupport&&k.isApple&&(this.scrollable.container.style.overflow="")}s(!0)},i)}).then(()=>!0)}getHistory(e=0,t=!1,s=!1,i=0,n=!1){const o=this.peerID,d=u.default.windowH/38|0,f=Object.keys(this.bubbles).length>0?Math.max(40,d):d;let l=f;let c=0;s&&(c=l,t||(l=0,e+=1));const h=r.default.getHistory(this.peerID,e,l,c);let p,m;if(h instanceof Promise)m=!1,p=h.then(a=>(this.log("getHistory not cached result by maxID:",e,t,s,a,o,n),n?(this.scrollable.onScroll(),!0):this.peerID!=o||this.getHistoryTopPromise!=p&&this.getHistoryBottomPromise!=p?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(a.history||[],t,s,i)),e=>(this.log.error("getHistory error:",e),!1));else{if(n)return null;m=!0,this.log("getHistory cached result by maxID:",e,t,s,h,o,n),p=this.performHistoryResult(h.history||[],t,s,i)}return t?this.getHistoryTopPromise=p:this.getHistoryBottomPromise=p,p.finally(()=>{t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0}),n?null:(p.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=a.getObjectKeysAndSort(this.bubbles));const s=2*f;this.log("getHistory: slice loadedTimes:",t,d,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,s),e&&e.length>s&&(t?(e=e.slice(s),this.scrolledAllDown=!1,this.log("getHistory: slice bottom messages:",e.length,l),this.getHistoryBottomPromise=void 0):(e=e.slice(0,e.length-s),this.scrolledAll=!1,this.log("getHistory: slice up messages:",e.length,l),this.getHistoryTopPromise=void 0),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),this.setUnreadDelimiter(),setTimeout(()=>{this.loadMoreHistory(!0,!0),this.loadMoreHistory(!1,!0)},0)}),{cached:m,promise:p})}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=r.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let s=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=s&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&s.classList.add("is-first-unread"),this.firstUnreadBubble=s,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){h.default.profileElements.notificationsCheckbox.checked=!e,h.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",d.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none";const t=this.menuButtons.mute;t.classList.remove("tgico-mute","tgico-unmute"),t.classList.add(e?"tgico-unmute":"tgico-mute");let s=t.firstElementChild;t.innerText=e?"Unmute":"Mute",s&&t.appendChild(s)}mutePeer(e){let t={_:"inputNotifyPeer",peer:d.default.getInputPeerByID(e)},s={_:"inputPeerNotifySettings",flags:0,mute_until:0},i=r.default.getDialogByPeerID(e)[0],a=!0;i&&i.notify_settings&&(a=i.notify_settings.mute_until>(Date.now()/1e3|0)),a?s.flags|=2:(s.flags|=4,s.mute_until=2147483647),n.default.invokeApi("account.updateNotifySettings",{peer:t,settings:s}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:s})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,o.default.hasUser(e.user_id)||e.chat_id&&b.default.hasChat(e.chat_id)&&!b.default.isChannel(e.chat_id)&&f.default.getChatFull(e.chat_id),o.default.forceUserOnline(e.user_id);let s=r.default.getDialogByPeerID(t)[0],i=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):s&&(l.default.setTyping(s,o.default.getUser(e.user_id)),i&&this.setPeerStatus()),this.typingTimeouts[t]=window.setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],s&&l.default.unsetTyping(s),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:s}=e;t=t.peer;let i=d.default.getPeerID(t),n=r.default.getDialogByPeerID(i)[0];if(n&&(n.notify_settings=s,a.$rootScope.$broadcast("dialog_notify_settings",i)),i==this.peerID){let e=!!s.mute_until&&new Date(1e3*s.mute_until)>new Date;this.setMutedState(e)}break}}}}t.AppImManager=N;const H=new N;t.default=H},function(e,t,s){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.LogLevels=void 0,function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(i=t.LogLevels||(t.LogLevels={}));var n=Date.now();function a(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"}t.logger=function(e,t=i.log|i.warn|i.error){function s(...s){return t&i.log&&console.log(a(),"["+e+"]:",...s)}return t=i.error,s.warn=function(...s){return t&i.warn&&console.warn(a(),"["+e+"]:",...s)},s.info=function(...s){return t&i.log&&console.info(a(),"["+e+"]:",...s)},s.error=function(...s){return t&i.error&&console.error(a(),"["+e+"]:",...s)},s.trace=function(...s){return t&i.log&&console.trace(a(),"["+e+"]:",...s)},s.debug=function(...s){return t&i.debug&&console.debug(a(),"["+e+"]:",...s)},s}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(3),o=s(0),r=n(s(54)),d=s(22),f=n(s(28)),l=n(s(13)),c=s(1);const u=new class{constructor(){this.docs={}}saveDoc(e,t){if("documentEmpty"!=e._){if(this.docs[e.id]){const t=this.docs[e.id];return e.thumbs&&(t.thumbs||(t.thumbs=e.thumbs)),t.file_reference=e.file_reference,t}if(t&&Object.assign(e,t),this.docs[e.id]=e,e.attributes.forEach(t=>{switch(t._){case"documentAttributeFilename":e.file_name=a.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice&&"audio/ogg"==e.mime_type?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=a.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.type="photo",e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return c.isServiceWorkerSupported&&("gif"==e.type&&e.size>8e6||"audio"==e.type||"video"==e.type)&&(e.supportsStreaming=!0,e.url||(e.url=this.getFileURL(e))),e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),e}}getDoc(e){return o.isObject(e)&&"string"!=typeof e?e:this.docs[e]}getMediaInput(e){return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference},ttl_seconds:0}}getInput(e,t){return{_:"inputDocumentFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t}}getFileDownloadOptions(e,t){const s=this.getInput(e,null==t?void 0:t.type);let i;return i=t?e.sticker?"image/webp":"image/jpeg":e.mime_type||"application/octet-stream",{dcID:e.dc_id,location:s,size:t?t.size:e.size,mimeType:i,fileName:e.file_name}}getFileURL(e,t=!1,s){let i;return i=t?"download":s?"thumb":e.supportsStreaming?"stream":"document",o.getFileURL(i,this.getFileDownloadOptions(e,s))}getThumbURL(e,t){let s=Promise.resolve();return t.url||("bytes"in t?t.url=l.default.getPreviewURLFromBytes(t.bytes,!!e.sticker):s=this.downloadDocNew(e,t)),{thumb:t,promise:s}}getThumb(e,t=!0){var s;if(null===(s=e.thumbs)||void 0===s?void 0:s.length){let s;return t||(s=e.thumbs.find(e=>!("bytes"in e))),s||(s=e.thumbs[0]),this.getThumbURL(e,s)}return null}getInputFileName(e,t){return d.getFileNameByLocation(this.getInput(e,t),{fileName:e.file_name})}downloadDocNew(e,t){const s=this.getInputFileName(e,null==t?void 0:t.type);let n=f.default.getDownload(s);if(n)return n;const a=this.getFileDownloadOptions(e,t);n=f.default.download(a);const o=n;return o.then(s=>{t?t.url=URL.createObjectURL(s):(e.supportsStreaming||(e.url=URL.createObjectURL(s)),e.downloaded=!0)}),"voice"!=e.type||r.default.isPlaySupported()||(n=o.then(t=>i(this,void 0,void 0,(function*(){let s=new FileReader;return yield new Promise((i,n)=>{s.onloadend=t=>{let s=new Uint8Array(t.target.result);r.default.decode(s).then(t=>{e.url=t.url,i()},t=>{delete e.downloaded,n(t)})},s.readAsArrayBuffer(t)}),t})))),n}saveDocFile(e){const t=this.getFileDownloadOptions(e);return f.default.downloadToDisc(t,e.file_name)}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppPhotosManager=void 0;const n=s(0),a=s(22),o=i(s(28)),r=s(48);let d=(()=>{class e{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){if("photoEmpty"!=e._)return this.photos[e.id]?Object.assign(this.photos[e.id],e):(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,s=0){window.devicePixelRatio>1&&(t*=2,s*=2);let i={_:"photoSizeEmpty",type:""};const a=e.sizes||e.thumbs;if(a)for(const e of a){if(!("w"in e)&&!("h"in e))continue;i=e;const{w:a,h:o}=n.calcImageInBox(e.w,e.h,t,s);if(a==t||o==s)break}return i}getPreviewURLFromBytes(t,s=!1){let i,n;s?i=t instanceof Uint8Array?t:new Uint8Array(t):(i=e.jf.concat(t.slice(3),e.Df),i[164]=t[1],i[166]=t[2]),n=s?r.isSafari?"image/png":"image/webp":"image/jpeg";const a=new Blob([i],{type:n});return URL.createObjectURL(a)}getPreviewURLFromThumb(e,t=!1){var s;return null!==(s=e.url)&&void 0!==s?s:e.url=this.getPreviewURLFromBytes(e.bytes,t)}setAttachmentPreview(e,t,s=!1,i=!1){let n=this.getPreviewURLFromBytes(e,s);if(i){let e=new Image;return e.src=n,e.addEventListener("load",()=>{t.style.backgroundImage="url("+n+")"}),t}if(t instanceof HTMLImageElement)return t.src=n,t;{let e=new Image;return e.src=n,t.append(e),e}}setAttachmentSize(e,t,s,i,a=!1,o=!1){const r=this.choosePhotoSize(e,s,i),d=e.sizes||e.thumbs,f=(null==d?void 0:d.length)?d[0]:null;let l,c;f&&"bytes"in f&&(e.downloaded&&"video"!=e.type&&"gif"!=e.type||a||o||this.setAttachmentPreview(f.bytes,t,a)),"document"==e._?(l=e.w||512,c=e.h||512):(l="w"in r?r.w:100,c="h"in r?r.h:100);const{w:u,h:h}=n.calcImageInBox(l,c,s,i);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+u),t.setAttributeNS(null,"height",""+h)):(t.style.width=u+"px",t.style.height=h+"px"),r}getPhotoDownloadOptions(e,t){const s="document"==e._;if(!t||"photoSizeEmpty"==t._)throw new Error("photoSizeEmpty!");const i="photoSize"==t._&&e.access_hash&&e.file_reference,n=i?{_:s?"inputDocumentFileLocation":"inputPhotoFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t.type}:t.location;return{dcID:e.dc_id,location:n,size:i?t.size:void 0}}preloadPhoto(e,t){const s=this.getPhoto(e);if(!s||"photoEmpty"==s._)throw new Error("preloadPhoto photoEmpty!");if(!t){const e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}const i=this.getCacheContext(s);if(i.downloaded>=("size"in t?t.size:0)&&i.url)return Promise.resolve();const n=this.getPhotoDownloadOptions(s,t),r=a.getFileNameByLocation(n.location);let d=o.default.getDownload(r);return d||(d=o.default.download(n),d.then(e=>((!i.downloaded||i.downloaded{class e extends M.default{constructor(){super(document.getElementById("column-left"),{[e.SLIDERITEMSIDS.archived]:r.archivedTab,[e.SLIDERITEMSIDS.newChannel]:C,[e.SLIDERITEMSIDS.contacts]:T,[e.SLIDERITEMSIDS.addMembers]:P,[e.SLIDERITEMSIDS.newGroup]:k,[e.SLIDERITEMSIDS.settings]:A,[e.SLIDERITEMSIDS.editProfile]:X,[e.SLIDERITEMSIDS.chatFolders]:x,[e.SLIDERITEMSIDS.editFolder]:F,[e.SLIDERITEMSIDS.includedChats]:B}),this.buttons={},this.newButtons={},this.searchGroups={contacts:new l.SearchGroup("Chats","contacts"),globalContacts:new l.SearchGroup("Global Search","contacts"),messages:new l.SearchGroup("Global Search","messages"),people:new l.SearchGroup("People","contacts",!1,"search-group-people"),recent:new l.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.recentSearch=[],this.recentSearchLoaded=!1,this.searchInput=new D.default("Telegram Search"),this.sidebarEl.querySelector(".item-main .sidebar-header").append(this.searchInput.container),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.archivedTab=r.archivedTab,this.newChannelTab=C,this.addMembersTab=P,this.contactsTab=T,this.newGroupTab=k,this.settingsTab=A,this.editProfileTab=X,this.chatFoldersTab=x,this.editFolderTab=F,this.includedChatsTab=B,this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.globalSearch=new l.default(this.searchContainer,this.searchInput,this.searchGroups,e=>{e||this.searchInput.value.trim()||(this.globalSearch.reset(),this.searchGroups.people.setActive(),this.renderRecentSearch())}),this.searchContainer.addEventListener("click",e=>{const t=d.findUpTag(e.target,"LI");if(!t)return;const s=d.findUpClassName(t,"search-group");if(!s||s.classList.contains("search-group-recent")||s.classList.contains("search-group-people"))return;const n=+t.getAttribute("data-peerID");if(this.recentSearch[0]!=n){this.recentSearch.findAndSplice(e=>e==n),this.recentSearch.unshift(n),this.recentSearch.length>20&&(this.recentSearch.length=20),this.renderRecentSearch(),E.default.pushToState("recentSearch",this.recentSearch);for(const e of this.recentSearch)E.default.pushPeer(e);i.style.display=""}},{capture:!0});let t=document.createElement("div");t.classList.add("search-group-scrollable"),t.append(this.searchGroups.people.list),this.searchGroups.people.container.append(t);new h.default(t,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{f.default.setPeer(f.default.myID)},0)}),this.buttons.archived.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.archived)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",t=>{this.settingsTab.fillElements(),this.selectTab(e.SLIDERITEMSIDS.settings)});let s=!0;this.searchInput.input.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active"),s&&(this.searchGroups.people.setActive(),this.renderRecentSearch(),s=!1)}),this.backBtn.addEventListener("click",e=>{this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),s=!0,setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset()},150)}),this.newButtons.channel.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.newChannel)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),d.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),u.default.getTopPeers().then(e=>{e.forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})}),this.renderRecentSearch();const i=this.recentSearchClearBtn=document.createElement("button");i.classList.add("btn-icon","tgico-close"),this.searchGroups.recent.nameEl.append(i),i.addEventListener("click",()=>{this.recentSearch=[],E.default.pushToState("recentSearch",this.recentSearch),this.renderRecentSearch(!1),i.style.display="none"})}renderRecentSearch(e=!0){E.default.getState().then(t=>{t&&!this.recentSearchLoaded&&Array.isArray(t.recentSearch)&&(this.recentSearch=t.recentSearch,this.recentSearchLoaded=!0),this.searchGroups.recent.list.innerHTML="",this.recentSearchClearBtn.style.display=this.recentSearch.length?"":"none",this.recentSearch.slice(0,20).forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.recent.list,!1,!0,!1,!0);s.lastMessageSpan.innerText=e>0?u.default.getUserStatusString(e):I.default.getChatMembersString(e)}),e&&this.searchGroups.recent.setActive()})}}return e.SLIDERITEMSIDS={archived:1,contacts:2,newChannel:3,addMembers:4,newGroup:5,settings:6,editProfile:7,chatFolders:8,editFolder:9,includedChats:10},e})();t.AppSidebarLeft=R;const O=new R;t.default=O},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnimationIntersector=void 0;const i=s(0),n=s(20);class a{constructor(){this.visible=new Set,this.byGroups={},this.lockedGroups={},this.intersectionLockedGroups={},this.observer=new IntersectionObserver(e=>{if(!i.$rootScope.idle.isIDLE)for(const t of e){const e=t.target;for(const s in this.byGroups){if(this.intersectionLockedGroups[s])continue;const i=this.byGroups[s].find(t=>t.el==e);if(i){t.isIntersecting?(this.visible.add(i),this.checkAnimation(i,!1)):(this.visible.delete(i),this.checkAnimation(i,!0),i.animation instanceof n.RLottiePlayer&&i.animation.clearCache());break}}}})}getAnimations(e){const t=[];for(const s in this.byGroups)for(const i of this.byGroups[s])i.el==e&&t.push(i);return t}addAnimation(e,t=""){var s;const i={el:e instanceof n.RLottiePlayer?e.el:e,animation:e,group:t};(null!==(s=this.byGroups[t])&&void 0!==s?s:this.byGroups[t]=[]).push(i),this.observer.observe(i.el)}checkAnimations(e,t,s=!1){if(i.$rootScope.idle.isIDLE)return;const n=t?[t]:Object.keys(this.byGroups);t&&!this.byGroups[t]&&(this.byGroups[t]=[]);for(const t of n){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,s)})}}checkAnimation(e,t=!1,s=!1){const{el:n,animation:a,group:o}=e;if(s||!i.isInDOM(n)&&!this.lockedGroups[o]){a.remove(),a instanceof HTMLVideoElement&&(a.src="",a.load());for(const t in this.byGroups)this.byGroups[t].findAndSplice(t=>t==e);return this.observer.unobserve(n),void this.visible.delete(e)}t?a.paused||a.pause():a.paused&&this.visible.has(e)&&a.autoplay&&a.play()}lockGroup(e){this.lockedGroups[e]=!0}unlockGroup(e){delete this.lockedGroups[e],this.checkAnimations(void 0,e)}refreshGroup(e){const t=this.byGroups[e];t&&t.length&&(t.forEach(e=>{this.observer.unobserve(e.el)}),window.requestAnimationFrame(()=>{t.forEach(e=>{this.observer.observe(e.el)})}))}lockIntersectionGroup(e){this.intersectionLockedGroups[e]=!0}unlockIntersectionGroup(e){delete this.intersectionLockedGroups[e],this.refreshGroup(e)}}t.AnimationIntersector=a;const o=new a;t.default=o},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDialogsManager=t.archivedTab=t.AppArchivedTab=void 0;const a=s(0),o=n(s(10)),r=n(s(8)),d=n(s(7)),f=n(s(5)),l=s(3),c=s(4),u=n(s(6)),h=s(11),p=n(s(9)),m=n(s(41)),g=s(36),b=n(s(40)),v=s(1),y=s(26),w=s(17);class _{constructor(){this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},this.onContextMenu=e=>{var t,s;let i=null;try{i=a.findUpTag(e.target,"LI")}catch(e){}if(!i)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),this.filterID=M.filterID,this.selectedID=+i.getAttribute("data-peerID");const n=d.default.getDialogByPeerID(this.selectedID)[0],o=n.peerID!=a.$rootScope.myID;if(o){const e=this.buttons.archive,t=1==n.folder_id;e.classList.toggle("flip-icon",t),e.innerText=t?"Unarchive":"Archive",this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin,s=this.filterID>1?d.default.filtersStorage.filters[this.filterID].pinned_peers.includes(n.peerID):!!(null===(t=n.pFlags)||void 0===t?void 0:t.pinned);e.classList.toggle("flip-icon",s),e.innerText=s?"Unpin":"Pin"}if(o){const e=this.buttons.mute,t=n.notify_settings&&n.notify_settings.mute_until>(Date.now()/1e3|0);e.classList.toggle("flip-icon",t),e.innerText=t?"Unmute":"Mute",this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread,t=!(!(null===(s=n.pFlags)||void 0===s?void 0:s.unread_mark)&&!n.unread_count);e.classList.toggle("flip-icon",t),e.innerText=t?"Mark as Read":"Mark as Unread"}let f="";r.default.isMegagroup(this.selectedID)?(f="Leave",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(f="Leave",this.peerType="channel"):this.selectedID<0?(f="Delete",this.peerType="group"):(f="Delete",this.peerType=this.selectedID==a.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=f,i.classList.add("menu-open"),c.positionMenu(e,this.element),c.openBtnMenu(this.element,()=>{i.classList.remove("menu-open")})},c.parseMenuButtonsTo(this.buttons,this.element.children),this.buttons.archive.addEventListener("click",()=>{let e=d.default.getDialogByPeerID(this.selectedID)[0];e&&d.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{d.default.toggleDialogPin(this.selectedID,this.filterID)}),this.buttons.mute.addEventListener("click",()=>{o.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{const e=d.default.getDialogByPeerID(this.selectedID)[0];e&&(e.unread_count?(d.default.readHistory(this.selectedID,e.top_message),d.default.markDialogUnread(this.selectedID,!0)):d.default.markDialogUnread(this.selectedID))}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=r.default.getPeerTitle(this.selectedID,!1,!0),n=e=>{d.default.flushHistory(this.selectedID,e)},a=()=>{p.default.leaveChannel(-this.selectedID)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${i}?`,s=[{text:"DELETE FOR ME AND "+i,isDanger:!0,callback:()=>n(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",s=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>n(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${i}?`,s=[{text:"DELETE AND LEAVE "+i,isDanger:!0,callback:()=>n(!0)}]}s.push({text:"CANCEL",isCancel:!0}),new g.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:s}).show()})}}class S{constructor(){this.container=document.getElementById("chats-archived-container"),this.chatList=document.getElementById("dialogs-archived"),this.scroll=null}init(){this.scroll=new u.default(this.container,"y","CLA",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=M.onChatsScroll,M.setListClickListener(this.chatList,null,!0),window.addEventListener("resize",()=>{setTimeout(M.onChatsScroll,0)})}onOpen(){this.init&&(this.init(),this.init=null),this.wasFilterID=M.filterID,M.scroll=this.scroll,M.filterID=1,M.onTabChange()}onOpenAfterTimeout(){M.chatLists[this.wasFilterID].innerHTML=""}onClose(){M.scroll=M._scroll,M.filterID=this.wasFilterID,M.onTabChange()}onCloseAfterTimeout(){this.chatList.innerHTML=""}}t.AppArchivedTab=S,t.archivedTab=new S;class L{constructor(){if(this._chatList=document.getElementById("dialogs"),this.chatList=this._chatList,this.doms={},this.lastActiveListElement=null,this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.scroll=null,this._scroll=null,this.log=h.logger("DIALOGS",h.LogLevels.log|h.LogLevels.error|h.LogLevels.warn|h.LogLevels.debug),this.contextMenu=new _,this.chatLists={0:this.chatList,1:t.archivedTab.chatList},this.filterID=0,this.folders={menu:document.getElementById("folders-tabs"),menuScrollContainer:null,container:document.getElementById("folders-container")},this.filtersRendered={},this.onTabChange=()=>{this.doms={},this.loadedAll=!1,this.lastActiveListElement=null,this.chatList=this.chatLists[this.filterID],this.loadDialogs(this.filterID)},this.onChatsScroll=()=>{this.loadedAll||this.loadDialogsPromise||(this.log("onChatsScroll"),this.loadDialogs(this.filterID))},this.chatsPreloader=c.putPreloader(null,!0),this.allUnreadCount=this.folders.menu.querySelector(".unread-count"),this.folders.menuScrollContainer=this.folders.menu.parentElement,this.scroll=this._scroll=new u.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.onScrolledBottom=this.onChatsScroll,this.scroll.setVirtualContainer(this.chatList),v.touchSupport&&v.isSafari){let e,t,s;const i=this.scroll.container;i.addEventListener("touchstart",n=>{e=i.scrollTop>0,t=i.scrollTop{var n=i.pageY>s,a=i.pageY{let t=e.detail,s=f.default.getUser(t),i=d.default.getDialogByPeerID(s.id)[0];if(i&&!f.default.isBot(i.peerID)&&i.peerID!=a.$rootScope.myID){let e=s.status&&"userStatusOnline"==s.status._,t=this.getDialogDom(i.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}a.$rootScope.selectedPeerID==s.id&&o.default.setPeerStatus()}),a.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,s=d.default.getDialogByPeerID(t)[0];s&&(this.setLastMessage(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialogs_multiupdate",e=>{const t=e.detail;for(const e in t){const s=t[e];this.updateDialog(s)}this.validateForFilter(),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:s}=e.detail,i=this.getDialogDom(t);i&&(i.listEl.remove(),delete this.doms[t],this.scroll.reorder()),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_unread",e=>{let t=e.detail,s=d.default.getDialogByPeerID(t.peerID)[0];s&&(this.setUnreadMessages(s),s.peerID==a.$rootScope.selectedPeerID&&o.default.updateUnreadByDialog(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialog_notify_settings",e=>{const t=d.default.getDialogByPeerID(e.detail)[0];t&&this.setUnreadMessages(t)}),a.$rootScope.$on("peer_changed",e=>{let t=e.detail,s=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&s!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),s!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),a.$rootScope.$on("filter_update",e=>{const t=e.detail;if(!this.filtersRendered[t.id])return void this.addFilter(t);if(t.id==this.filterID){const e=d.default.dialogsStorage.getFolder(t.id);this.validateForFilter();for(let t=0,s=e.length;t{const t=e.detail,s=this.filtersRendered[t.id];s&&(this.folders.menu.firstElementChild.children[0].click(),s.container.remove(),s.menu.remove(),delete this.chatLists[t.id],delete this.filtersRendered[t.id],Object.keys(this.filtersRendered).length||this.folders.menuScrollContainer.classList.add("hide"))}),new u.default(this.folders.menuScrollContainer,"x"),this.chatsContainer.prepend(this.folders.menuScrollContainer);y.horizontalMenu(this.folders.menu,this.folders.container,(e,t)=>{e=+t.dataset.filterID||0,this.filterID!=e&&(this.chatLists[e].innerHTML="",this.scroll.setVirtualContainer(this.chatLists[e]),this.filterID=e,this.onTabChange())},()=>{for(const e in this.chatLists)+e!=this.filterID&&(this.chatLists[e].innerHTML="")});this.folders.menu.firstElementChild.firstElementChild.click(),b.default.loadSavedState().then(()=>d.default.filtersStorage.getDialogFilters()).then(e=>{for(const t in e)this.addFilter(e[t]);return this.loadDialogs(this.filterID)}).then(e=>{this.loadDialogs(1)})}updateDialog(e){e&&(this.doms.hasOwnProperty(e.peerID)||this.addDialog(e),this.getDialogDom(e.peerID)&&(this.setLastMessage(e),this.setDialogPosition(e)))}setFilterUnreadCount(e,t){var s;const i=0==e?this.allUnreadCount:null===(s=this.filtersRendered[e])||void 0===s?void 0:s.unread;if(!i)return;const n=(t=t||d.default.dialogsStorage.getFolder(e)).reduce((e,t)=>e+ +!!t.unread_count,0);i.innerText=n?""+n:""}setFiltersUnreadCount(){for(const e in this.filtersRendered)this.setFilterUnreadCount(+e);this.setFilterUnreadCount(0)}validateForFilter(){const e=d.default.dialogsStorage.getFolder(this.filterID);let t=!1;for(const s in this.doms){const i=+s;if(-1===e.findIndex(e=>e.peerID==i)){const e=this.doms[i].listEl;e.remove(),t=!0,this.lastActiveListElement==e&&(this.lastActiveListElement=null)}}t&&this.scroll.reorder()}addFilter(e){if(this.filtersRendered[e.id])return;const t=document.createElement("li"),s=document.createElement("span"),i=document.createElement("span");i.innerHTML=l.RichTextProcessor.wrapEmojiText(e.title);const n=document.createElement("span");n.classList.add("unread-count");const o=document.createElement("i");s.append(i,n,o),t.append(s),w.ripple(t);const r=this.folders.menu.firstElementChild;a.positionElementByIndex(t,r,e.orderIndex+1);const d=document.createElement("ul"),f=document.createElement("div");f.append(d),f.dataset.filterID=""+e.id,a.positionElementByIndex(f,this.folders.container,e.orderIndex+1),this.chatLists[e.id]=d,this.setListClickListener(d,null,!0),this.showFiltersTimeout||(this.showFiltersTimeout=window.setTimeout(()=>{this.showFiltersTimeout=0,this.folders.menuScrollContainer.classList.remove("hide"),this.setFiltersUnreadCount()},0)),this.filtersRendered[e.id]={menu:t,container:f,unread:n,title:i}}loadDialogs(e){return i(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;if(!this.chatList.childElementCount){this.chatList.parentElement.append(this.chatsPreloader)}const t=d.default.dialogsStorage.getFolder(e);let s=0;for(let e=t.length-1;e>=0;--e){const i=t[e];if(this.getDialogDom(i.peerID)){s=i.index;break}}try{const t=50,i=(this.filterID>1?f.default.getContacts():Promise.resolve()).then(()=>d.default.getConversations("",s,t,e));this.loadDialogsPromise=i;const n=yield i;n&&n.dialogs&&n.dialogs.length&&n.dialogs.forEach(e=>{this.addDialog(e)}),n.dialogs.length&&this.chatList.childElementCount!=n.count||(this.loadedAll=!0),this.log.debug("getDialogs "+t+" dialogs by offset:",s,n,this.chatList.childElementCount),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}setListClickListener(e,t,s=!1){e.addEventListener("click",e=>{a.cancelEvent(e),this.log("dialogs click list");let s=e.target,i=s.classList.contains("rp")?s:a.findUpClassName(s,"rp");if(!i)return;i=i.parentElement;let n,r=this.lastActiveListElement==i;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),i){t&&t();let e=+i.getAttribute("data-peerID"),s=+i.dataset.mid||void 0;r||(i.classList.add("active"),this.lastActiveListElement=i),n=o.default.setPeer(e,s)}else n=o.default.setPeer(0)},{capture:!0}),s&&c.attachContextMenuListener(e,this.contextMenu.onContextMenu)}setDialogPosition(e,t){const s=this.getDialogDom(e.peerID);s&&(void 0===t&&(t=d.default.dialogsStorage.getDialog(e.peerID,this.filterID)[1]),a.positionElementByIndex(s.listEl,this.chatList,t)&&(this.scroll.reorder(),this.log.debug("setDialogPosition:",e,s,t)))}setLastMessage(e,t,s,i){if(t||(t=d.default.getMessage(e.top_message)),!s&&!(s=this.getDialogDom(e.peerID)))return;if("messageEmpty"==t._||"messageService"==t._&&!t.rReply)return s.lastMessageSpan.innerHTML="",s.lastTimeSpan.innerHTML="",void delete s.listEl.dataset.mid;let n=e.peer,o=e.peerID;if(i&&t.message){let e,n=d.default.getRichReplyText(t,""),o=t.message,r=l.RichTextProcessor.parseEntities(o.replace(/\n/g," "),{noLinebreakers:!0}),f=new RegExp(a.escapeRegExp(i),"gi");r||(r=[]);let c=!1;for(;null!==(e=f.exec(o));)r.push({_:"messageEntityHighlight",length:i.length,offset:e.index}),c=!0;c&&r.sort((e,t)=>e.offset-t.offset);let u=l.RichTextProcessor.wrapRichText(o,{noLinebreakers:!0,entities:r,noTextFormat:!0});s.lastMessageSpan.innerHTML=n+u}else t.deleted?s.lastMessageSpan.innerHTML="":s.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=n._&&o!=-t.from_id){let e=f.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),i="";i=e.id==a.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=l.RichTextProcessor.wrapRichText(i,{noLinebreakers:!0})+": ",s.lastMessageSpan.prepend(t)}}if(t.deleted)s.lastTimeSpan.innerHTML="";else{let e="",i=t.date,n=Date.now()/1e3,a=new Date(1e3*t.date);if(n-i<86400)e=("0"+a.getHours()).slice(-2)+":"+("0"+a.getMinutes()).slice(-2);else if(n-i<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*i).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a.getMonth()]+" "+("0"+a.getDate()).slice(-2)}s.lastTimeSpan.innerHTML=e}this.doms[o]==s?this.setUnreadMessages(e):s.listEl.dataset.mid=t.mid}setUnreadMessages(e){var t;const s=this.getDialogDom(e.peerID);if(1==e.folder_id&&this.accumulateArchivedUnread(),!s)return;const i=1e3*(null===(t=e.notify_settings)||void 0===t?void 0:t.mute_until)>Date.now();s.listEl.classList.toggle("is-muted",i);const n=d.default.getMessage(e.top_message);if("messageEmpty"!=n._&&!n.deleted&&n.from_id==a.$rootScope.myID&&n.peerID!=a.$rootScope.myID&&e.read_outbox_max_id){n.pFlags&&n.pFlags.unread?(s.statusSpan.classList.remove("tgico-checks"),s.statusSpan.classList.add("tgico-check")):(s.statusSpan.classList.remove("tgico-check"),s.statusSpan.classList.add("tgico-checks"))}else s.statusSpan.classList.remove("tgico-check","tgico-checks");s.unreadMessagesSpan.innerText="",s.unreadMessagesSpan.classList.remove("tgico-pinnedchat");const o=d.default.filtersStorage.filters[this.filterID];let r;r=o?-1!==o.pinned_peers.findIndex(t=>t==e.peerID):!!e.pFlags.pinned,e.unread_count||e.pFlags.unread_mark?(s.unreadMessagesSpan.innerText=""+(e.unread_count||" "),s.unreadMessagesSpan.classList.add(i?"unread-muted":"unread")):r&&(s.unreadMessagesSpan.classList.remove("unread","unread-muted"),s.unreadMessagesSpan.classList.add("tgico-pinnedchat"))}accumulateArchivedUnread(){this.accumulateArchivedTimeout||(this.accumulateArchivedTimeout=window.setTimeout(()=>{this.accumulateArchivedTimeout=0;const e=d.default.dialogsStorage.getFolder(1).reduce((e,t)=>e+t.unread_count,0);a.$rootScope.$broadcast("dialogs_archived_unread",{count:e})},0))}getDialogDom(e){return this.doms[e]}addDialog(e,t,s=!0,i=!0,n=!1,o=!0){var l;let c;if("number"==typeof e){let t=d.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),c=t}else c=e;let u=c.peerID;if(!t){if(this.doms[u])return;const e=d.default.filtersStorage.filters[this.filterID];if(e&&!d.default.filtersStorage.testDialogForFilter(c,e)||!e&&this.filterID!=c.folder_id)return}let h=r.default.getPeerTitle(u,!1,n),g=new m.default;if(g.setAttribute("dialog",o?"1":"0"),g.setAttribute("peer",""+u),g.classList.add("dialog-avatar"),s&&u!=a.$rootScope.myID&&c.peer){switch(c.peer._){case"peerUser":let e=f.default.getUser(u);e.status&&"userStatusOnline"==e.status._&&g.classList.add("is-online")}}let b=document.createElement("div");b.classList.add("user-caption");let v=document.createElement("span");if(v.classList.add("user-title"),u==a.$rootScope.myID&&o&&(h=n?"Saved":"Saved Messages"),v.innerHTML=h,!t){let e;if(v.classList.add("tgico"),e=u<0?p.default.getChat(-u):f.default.getUser(u),null===(l=null==e?void 0:e.pFlags)||void 0===l?void 0:l.verified){v.classList.add("is-verified");const e=document.createElement("i");e.classList.add("verified-icon"),v.append(e)}}let y=document.createElement("span");y.classList.add("user-last-message");let _=document.createElement("div");_.classList.add("rp"),_.append(g,b),i&&w.ripple(_);let S=document.createElement("li");S.append(_),S.setAttribute("data-peerID",""+u);let L=document.createElement("span");L.classList.add("message-status");let M=document.createElement("span");M.classList.add("message-time");let D=document.createElement("span"),E=document.createElement("p"),I=document.createElement("span");I.append(L,M),E.append(v,I);let C=document.createElement("p");C.append(y,D),b.append(E,C);let P={avatarEl:g,captionDiv:b,titleSpan:v,statusSpan:L,lastTimeSpan:M,unreadMessagesSpan:D,lastMessageSpan:y,containerEl:_,listEl:S};return t?t.append(S):(this.scroll.append(S),this.doms[c.peerID]=P,a.$rootScope.selectedPeerID==u&&(S.classList.add("active"),this.lastActiveListElement=S),this.setLastMessage(c)),{dom:P,dialog:c}}setTyping(e,t){const s=this.getDialogDom(e.peerID);if(!s)return;let i="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;i=e+" "}const n=document.createElement("i");i+="typing...",n.innerHTML=i,s.lastMessageSpan.innerHTML="",s.lastMessageSpan.append(n),s.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){const t=this.getDialogDom(e.peerID);t&&(t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t))}}t.AppDialogsManager=L;const M=new L;t.default=M},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ripple=void 0;const i=s(1);let n=0;t.ripple=function(e,t=(()=>Promise.resolve()),s=null){if(e.querySelector(".c-ripple"))return;e.classList.add("rp");let a=document.createElement("div");a.classList.add("c-ripple");const o=e.classList.contains("rp-square");o&&a.classList.add("is-square");const r=o?200:700;let d;e.append(a);let f=(e,i)=>{let o=Date.now(),f=document.createElement("span"),l=n++;d=()=>{let e=Date.now()-o;if(ef.classList.add("hiding"),Math.max(t-r/2,0)),setTimeout(()=>{f.remove(),s&&s(l)},t)}else f.classList.add("hiding"),setTimeout(()=>{f.remove(),s&&s(l)},r/2);d=null},t&&t(l),window.requestAnimationFrame(()=>{f.classList.add("c-ripple__circle");let t,s,n=a.getBoundingClientRect(),o=e-n.left,r=i-n.top;n.width>n.height?(t=n.width,s=o):(t=n.height,s=r),t-=s>t/2?t-s:s,t*=1.1;let d=o-t/2,l=r-t/2;f.style.width=f.style.height=t+"px",f.style.left=d+"px",f.style.top=l+"px",a.append(f)})},l=!1;if(i.touchSupport){let t=()=>{d&&d()};e.addEventListener("touchstart",s=>{if(s.touches.length>1||"BUTTON"==s.target.tagName&&s.target!=e)return;l=!0;let{clientX:i,clientY:n}=s.touches[0];f(i,n),window.addEventListener("touchend",t,{once:!0}),window.addEventListener("touchmove",e=>{e.cancelBubble=!0,e.stopPropagation(),d&&d(),window.removeEventListener("touchend",t)},{once:!0})},{passive:!0})}else e.addEventListener("mousedown",t=>{if("0"==e.dataset.ripple)return!1;if(l)return l=!1,!1;let{clientX:s,clientY:i}=t;f(s,i),window.addEventListener("mouseup",d,{once:!0})})}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.wrapPoll=t.wrapAlbum=t.wrapReply=t.wrapSticker=t.wrapPhoto=t.wrapAudio=t.wrapDocument=t.formatDate=t.wrapVideo=void 0;const a=n(s(13)),o=n(s(20)),r=n(s(12)),d=s(0),f=n(s(35)),l=n(s(50)),c=s(3),u=s(4),h=n(s(7)),p=s(57),m=n(s(58)),g=s(1),b=n(s(15)),v=n(s(84)),y=n(s(53)),w=s(59),_=n(s(37)),S=s(23);function L({doc:e,container:t,message:s,boxWidth:n,boxHeight:o,withTail:c,isOut:h,middleware:p,lazyLoadQueue:m,noInfo:g,group:v}){var y,w;if(!g&&"round"!=e.type){let s,i;s=document.createElement("span"),s.classList.add("video-time"),t.append(s),"gif"!=e.type?(s.innerText=(e.duration+"").toHHMMSS(!1),i=document.createElement("span"),i.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(i)):s.innerText="GIF"}if("image/gif"==e.mime_type)return E(e,s,t,n,o,c,h,m,p);const L=document.createElement("video");if(L.muted=!0,L.setAttribute("playsinline",""),"round"==e.type){const t=_.default.addMedia(e,s.mid);L.addEventListener("canplay",()=>{t.currentTime>0&&(L.currentTime=t.currentTime),t.paused||L.play()},{once:!0});const i=()=>{t.removeEventListener("timeupdate",n),t.removeEventListener("play",a),t.removeEventListener("pause",o),L.removeEventListener("play",r),L.removeEventListener("pause",f)},n=()=>{d.isInDOM(L)||i()},a=()=>{L.play()},o=()=>{L.pause()},r=()=>{t.play()},f=()=>{d.isInDOM(L)?t.pause():i()};t.addEventListener("timeupdate",n),t.addEventListener("play",a),t.addEventListener("pause",o),L.addEventListener("play",r),L.addEventListener("pause",f)}else L.autoplay=!0;let M;if(s){if("video"==e.type&&(null===(y=e.thumbs)||void 0===y?void 0:y.length))return E(e,s,t,n,o,c,h,m,p);if(c?M=D(e,s,t,n,o,h):(n&&o&&a.default.setAttachmentSize(e,t,n,o,!1,!0),(null===(w=e.thumbs)||void 0===w?void 0:w.length)&&"bytes"in e.thumbs[0]&&a.default.setAttachmentPreview(e.thumbs[0].bytes,t,!1),M=t.lastElementChild,"IMG"!=(null==M?void 0:M.tagName)&&t.append(M=new Image)),M&&M.classList.add("thumbnail"),c){const e=M.parentElement;L.width=+e.getAttributeNS(null,"width"),L.height=+e.getAttributeNS(null,"height"),e.append(L)}}if(!(null==M?void 0:M.parentElement)){const t=r.default.getThumb(e,!1);t&&t.promise.then(()=>{L.poster=t.thumb.url})}!L.parentElement&&t&&t.append(L);const I=()=>i(this,void 0,void 0,(function*(){var i;if(p&&!p())return;let n;if(null===(i=null==s?void 0:s.media)||void 0===i?void 0:i.preloader)n=s.media.preloader,n.attach(t,void 0,void 0,!0);else if(e.downloaded||e.supportsStreaming)e.supportsStreaming&&(n=new f.default(t,!1),L.addEventListener("canplay",()=>{n.detach()},{once:!0}));else{const s=r.default.downloadDocNew(e);n=new f.default(t,!0),n.attach(t,!0,s,!0),yield s}if(p&&!p())return;const a=S.deferredPromise();return L.addEventListener("canplay",()=>{(null==M?void 0:M.parentElement)&&M.remove(),"gif"==e.type&&v&&b.default.addAnimation(L,v),a.resolve()},{once:!0}),L.addEventListener("error",a.reject),u.renderImageFromUrl(L,e.url),"gif"==e.type?(L.muted=!0,L.loop=!0,L.autoplay=!0):"round"==e.type&&(L.dataset.ckin="circle",L.dataset.overlay="1",new l.default(L)),a}));return m?(m.push({div:t,load:I}),Promise.resolve()):I()}function M(e,t=!1,s){let i=new v.default;return i.setAttribute("doc-id",e.id),i.setAttribute("with-time",""+ +t),i.setAttribute("message-id",""+s),i}function D(e,t,s,i,n,o){const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");const d=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");a.default.setAttachmentSize(e,d,i,n);const f=+d.getAttributeNS(null,"width"),l=+d.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+f),r.setAttributeNS(null,"height",""+l),r.setAttributeNS(null,"viewBox","0 0 "+f+" "+l),r.setAttributeNS(null,"preserveAspectRatio","none");const c="clip"+t.mid;r.dataset.clipID=c;const u=document.createElementNS("http://www.w3.org/2000/svg","defs");let h="";t.message||(h+=o?`\n \n \n `:`\n \n \n `),u.innerHTML=`${h}`,s.style.width=parseInt(s.style.width)-9+"px",s.classList.add("with-tail"),r.append(u,d),s.append(r);let p=d.firstElementChild;return p||d.append(p=new Image),p}function E(e,t,s,i=g.mediaSizes.active.regular.width,n=g.mediaSizes.active.regular.height,o,d,l,c,h=null){var p;let m;if(o)m=D(e,t,s,i,n,d);else{if(i&&n&&(h=a.default.setAttachmentSize(e,s,i,n,!1,!0)),"document"==e._||!e.downloaded){const t=e.sizes||e.thumbs;(null==t?void 0:t.length)&&"bytes"in t[0]&&a.default.setAttachmentPreview(t[0].bytes,s,!1)}m=s.lastElementChild,m&&"IMG"==m.tagName||s.append(m=new Image)}const b=a.default.getCacheContext(e);let v;(null===(p=null==t?void 0:t.media)||void 0===p?void 0:p.preloader)?t.media.preloader.attach(s):b.downloaded||(v=new f.default(s,!1));const y=()=>{const t="document"==e._&&e.animated?r.default.downloadDocNew(e):a.default.preloadPhoto(e,h);return v&&v.attach(s,!0,t),t.then(()=>{c&&!c()||u.renderImageFromUrl(m||s,b.url||e.url)})};return b.downloaded||!l?y():(l.push({div:s,load:y,wasSeen:!0}),Promise.resolve())}t.wrapVideo=L,t.formatDate=(e,t=!1,s=!0)=>{const i=new Date(1e3*e);let n=["January","February","March","April","May","June","July","August","September","Octomber","November","December"][i.getMonth()];t&&(n=n.slice(0,3));let a=n+" "+i.getDate();return s&&(a+=", "+i.getFullYear()),a+" at "+i.getHours()+":"+("0"+i.getMinutes()).slice(-2)},t.wrapDocument=function(e,s=!1,i=!1,n){if("audio"==e.type||"voice"==e.type)return M(e,s,n);let a=e.file_name?e.file_name.split("."):"",o="";o=a.length>1&&Array.isArray(a)?a.pop().toLowerCase():"file";let l=document.createElement("div");l.classList.add("document","ext-"+o);const c=document.createElement("div");if(c.classList.add("document-ico"),"photo"==e.type){l.classList.add("photo"),i?c.innerHTML=``:(E(e,null,c,54,54,!1,null,null,null),c.style.width=c.style.height="");const t=c.querySelector("img");t&&t.classList.add("document-thumb")}else c.innerText=o;let u=e.file_name||"Unknown.file",h=d.formatBytes(e.size);if(s&&(h+=" · "+t.formatDate(e.date)),l.innerHTML=`\n ${i?"":'
'}\n
${u}
\n
${h}
\n `,l.prepend(c),!i){let t,s,i=l.querySelector(".document-download");l.addEventListener("click",()=>{if(s)s.cancel();else{if(i.classList.contains("downloading"))return;t||(t=new f.default(null,!0)),s=r.default.saveDocFile(e),t.attach(i,!0,s),s.then(()=>{i.remove()}).catch(e=>{"AbortError"===e.name&&(s=null)}).finally(()=>{i.classList.remove("downloading")}),i.classList.add("downloading")}})}return l},t.wrapAudio=M,t.wrapPhoto=E,t.wrapSticker=function({doc:e,div:t,middleware:s,lazyLoadQueue:n,group:f,play:l,onlyThumb:c,emoji:h,width:p,height:m,withThumb:b,loop:v}){var _;const S=e.sticker;if(p||(p=h?void 0:200),m||(m=h?void 0:200),2!=S||o.default.loaded||o.default.loadLottieWorkers(),!S)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const L=h?d.getEmojiToneIndex(h):-1;if((null===(_=e.thumbs)||void 0===_?void 0:_.length)&&!t.firstElementChild&&(!e.downloaded||2==S||c)&&L<=0){const i=e.thumbs[0];let o;const d=()=>{t.childElementCount||t.append(o)};if("url"in i)o=new Image,u.renderImageFromUrl(o,i.url,d);else if("bytes"in i)o=new Image,!g.isSafari||e.pFlags.stickerThumbConverted||i.url?u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d):y.default.convert(e.id,i.bytes).then(n=>{i.bytes=n,e.pFlags.stickerThumbConverted=!0,s&&!s()||t.childElementCount||u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d)}).catch(()=>{});else if(2==S&&(b||c)){o=new Image;const a=()=>{if(t.childElementCount||s&&!s())return;const n=()=>{t.childElementCount||s&&!s()||u.renderImageFromUrl(o,i.url,d)};return i.url?(n(),Promise.resolve()):r.default.getThumbURL(e,i).promise.then(n)};if(n&&c)return n.push({div:t,load:a}),Promise.resolve();a()}}if(c)return Promise.resolve();let M=e.downloaded,D=()=>i(this,void 0,void 0,(function*(){if(!s||s())if(2==S)yield r.default.downloadDocNew(e).then(w.readBlobAsText).then(JSON.parse).then(e=>i(this,void 0,void 0,(function*(){if(s&&!s())return;let i=yield o.default.loadAnimationWorker({container:t,loop:v&&!h,autoplay:l,animationData:e,width:p,height:m},f,L);i.addListener("firstFrame",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName?t.firstElementChild.remove():i.canvas.classList.add("fade-in")},!0),h&&t.addEventListener("click",()=>{let e=o.default.getAnimation(t);e.paused&&e.restart()})})));else if(1==S){let i=new Image;M||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.classList.add("fade-in-transition"),i.style.opacity="0",i.addEventListener("load",()=>{e.downloaded=!0,window.requestAnimationFrame(()=>{i.style.opacity=""})}));const n=()=>{s&&!s()||u.renderImageFromUrl(i,e.url,()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})};e.url?n():r.default.downloadDocNew(e).then(n)}}));return!n||e.downloaded&&2!=S?D():(n.push({div:t,load:D,wasSeen:"chat"==f&&2!=S}),Promise.resolve())},t.wrapReply=function(e,t,s,i){const n=i?"pinned-message":"reply",o=document.createElement("div");o.classList.add(n);const r=document.createElement("div");r.classList.add(n+"-border");const d=document.createElement("div");d.classList.add(n+"-content");const f=document.createElement("div");f.classList.add(n+"-title");const l=document.createElement("div");l.classList.add(n+"-subtitle"),f.innerHTML=e?c.RichTextProcessor.wrapEmojiText(e):"";const h=s&&s.media;if(h){if(l.innerHTML=s.rReply,h.photo||h.document&&-1!==["video"].indexOf(h.document.type)){let e=document.createElement("div");e.classList.add(n+"-media");let t=h.photo||h.document,s=t.sizes||t.thumbs;s&&s[0].bytes&&a.default.setAttachmentPreview(s[0].bytes,e,!1,!0),a.default.preloadPhoto(t,a.default.choosePhotoSize(t,32,32)).then(()=>{u.renderImageFromUrl(e,"photo"==t._?t.url:a.default.getDocumentCachedThumb(t.id).url)}),d.append(e),o.classList.add("is-media")}}else l.innerHTML=t?c.RichTextProcessor.wrapEmojiText(t):"";return d.append(f,l),o.append(r,d),o},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:s,uploading:i,lazyLoadQueue:n,isOut:o}){const r=[],d=Object.keys(h.default.groupedMessagesStorage[e]).map(e=>+e).sort((e,t)=>e-t);for(const e of d){const t=h.default.getMessage(e),s=t.media.photo||t.media.document,i="photo"==s._?a.default.choosePhotoSize(s,480,480):{w:s.w,h:s.h};r.push({size:i,media:s,message:t})}const f=new p.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),g.mediaSizes.active.album.width,100,2).layout();for(const{geometry:e,sides:i}of f){const a=r.shift();if(!a){console.error("no item for layout!");continue}const{size:d,media:f,message:l}=a,c=document.createElement("div");c.classList.add("album-item"),c.dataset.mid=l.mid,c.style.width=e.width+"px",c.style.height=e.height+"px",c.style.top=e.y+"px",c.style.left=e.x+"px",i&p.RectPart.Right&&(t.style.width=e.width+e.x+"px"),i&p.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),i&p.RectPart.Left&&i&p.RectPart.Top&&(c.style.borderTopLeftRadius="inherit"),i&p.RectPart.Left&&i&p.RectPart.Bottom&&(c.style.borderBottomLeftRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Top&&(c.style.borderTopRightRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Bottom&&(c.style.borderBottomRightRadius="inherit"),"photo"==f._?E(f,l,c,0,0,!1,o,n,s,d):L({doc:l.media.document,container:c,message:l,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:n,middleware:s}),t.append(c)}},t.wrapPoll=function(e,t){const s=new m.default;return s.setAttribute("poll-id",e),s.setAttribute("message-id",""+t),s}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(30),n=s(71);class a{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var s=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),s=1==e.length);var i,n,a,o=[],r=!0,d=this.storageGetPrefix();for(n=0;n{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(s,i)}catch(e){this.useLs=!1}else n[s]=i;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var s,i,n=this.storageGetPrefix();for(s=0;s{},i.Modes.test&&this.setPrefix("t_"),n.isWorker||(this.configStorage=new a)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((s,i)=>{if(n.isWorker){const i=this.taskID++;this.tasks[i]=s;const a={useLs:!0,task:e,taskID:i,args:t};n.notifySomeone(a)}else{let i=Array.prototype.slice.call(t);i.push(e=>{s(e)}),this.configStorage[e].apply(this.configStorage,i)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RLottiePlayer=void 0;const a=s(1),o=s(11),r=n(s(15)),d=n(s(2)),f=s(0);let l=e=>Math.round(255*Math.min(Math.max(e,0),1)),c=(()=>{class e{constructor({el:t,worker:s,options:i}){this.reqId=0,this.width=0,this.height=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.group="",this.frames={},this.cachingDelta=0,this.reqId=++e.reqId,this.el=t,this.worker=s;for(let e in i)this.hasOwnProperty(e)&&(this[e]=i[e]);const n=window.devicePixelRatio;n>1&&(i.needUpscale?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>1&&this.width>100&&this.height>100&&(a.isApple||!a.mediaSizes.isMobile?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>2.5&&(this.width=Math.round(this.width*(n-1.5)),this.height=Math.round(this.height*(n-1.5))))),i.noCache||(a.isApple&&this.width>100&&this.height>100?this.cachingDelta=2:this.width<100&&this.height<100?this.cachingDelta=1/0:this.cachingDelta=4),this.canvas=document.createElement("canvas"),this.canvas.classList.add("rlottie"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d"),this.clamped=new Uint8ClampedArray(this.width*this.height*4),this.imageData=new ImageData(this.width,this.height)}clearCache(){this.frames={}}addListener(e,t,s){var i;(null!==(i=this.listeners[e])&&void 0!==i?i:this.listeners[e]=[]).push({callback:t,once:s}),this.listenerResults.hasOwnProperty(e)&&(t(this.listenerResults[e]),s&&this.removeListener(e,t))}removeListener(e,t){this.listeners[e]&&this.listeners[e].findAndSplice(e=>e.callback==t)}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e].forEach(s=>{s.callback(t),s.once&&this.removeListener(e,s.callback)})}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,clearTimeout(this.rafId))}stop(e=!0){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,e&&this.requestFrame(this.curFrame)}restart(){this.stop(!1),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}remove(){h.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame2(e,t){try{this.imageData.data.set(e),this.context.putImageData(this.imageData,0,0)}catch(e){return console.error("RLottiePlayer renderFrame error:",e,this.width,this.height),this.autoplay=!1,void this.pause()}this.setListenerResult("enterFrame",t)}renderFrame(e,t){if(this.cachingDelta&&(t%this.cachingDelta||!t)&&!this.frames[t]&&(this.frames[t]=new Uint8ClampedArray(e)),this.frInterval){const s=Date.now()-this.frThen;if(s<0)return this.rafId&&clearTimeout(this.rafId),this.rafId=window.setTimeout(()=>{this.renderFrame2(e,t)},this.frInterval>-s?-s%this.frInterval:this.frInterval)}this.renderFrame2(e,t)}requestFrame(e){this.frames[e]?this.renderFrame(this.frames[e],e):a.isSafari?this.sendQuery("renderFrame",e):(this.clamped.length||(this.clamped=new Uint8ClampedArray(this.width*this.height*4)),this.sendQuery("renderFrame",e,this.clamped))}mainLoopForwards(){if(this.requestFrame(this.curFrame++),this.curFrame>=this.frameCount){if(!this.loop)return this.pause(),!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.requestFrame(this.curFrame--),this.curFrame<0){if(!this.loop)return this.pause(),!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){clearTimeout(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval;const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.currentMethod=e,this.frameListener&&this.listenerResults.hasOwnProperty("enterFrame")&&this.frameListener()}onLoad(e,t){return i(this,void 0,void 0,(function*(){this.curFrame=1==this.direction?0:e-1,this.frameCount=e,this.fps=t,this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval,this.requestFrame(0),this.setListenerResult("ready"),this.addListener("enterFrame",()=>{this.setListenerResult("firstFrame"),this.el.appendChild(this.canvas),this.frameListener=()=>{if(this.paused)return;const e=Date.now();this.frThen=e+this.frInterval;this.currentMethod()||this.loop||!this.autoplay||(this.autoplay=!1)},this.addListener("enterFrame",this.frameListener)},!0)}))}}return e.reqId=0,e})();t.RLottiePlayer=c;class u{constructor(e,t=(()=>{}),s){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),s&&(this.worker.onerror=s),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener](...e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){t=Array.prototype.slice.call(arguments,1);if(a.isSafari)this.worker.postMessage({queryMethod:e,queryMethodArguments:t});else{for(var s=[],i=0;i{class e{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.workers=[],this.curWorkerNum=0,this.log=o.logger("LOTTIE",o.LogLevels.error)}getAnimation(e){for(let t in this.players)if(this.players[t].el==e)return this.players[t];return null}loadLottieWorkers(){if("undefined"==typeof WebAssembly)return Promise.reject();if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((s,i)=>{let n=this.workersLimit;for(let i=0;i{this.log("worker #"+i+" ready"),a.addListener("frame",e),a.addListener("loaded",t),--n,n||(this.log("workers ready"),s(),this.loaded=!0)})}})}applyReplacements(t,s){const i=e.COLORREPLACEMENTS[Math.max(s-1,0)],n=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=l(e[2])|l(e[1])<<8|l(e[0])<<16,n=i.find(e=>e[0]==s);n&&(e[0]=(n[1]>>16&255)/255,e[1]=(n[1]>>8&255)/255,e[2]=(255&n[1])/255)}t.hasOwnProperty("it")&&n(t.it)}};for(let e of t.layers)if(e.shapes)for(let t of e.shapes)n(t.it)}loadAnimationFromURL(e,t){return this.loaded||this.loadLottieWorkers(),fetch(t).then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(t=>this.loadAnimationWorker(Object.assign(e,{animationData:JSON.parse(t),needUpscale:!0})))}loadAnimationWorker(e,t="",s=-1){return i(this,void 0,void 0,(function*(){if(s>=1&&s<=5&&(e.animationData=f.copy(e.animationData),this.applyReplacements(e.animationData,s)),this.loaded||(yield this.loadLottieWorkers()),e.width&&e.height||(e.width=parseInt(e.container.style.width),e.height=parseInt(e.container.style.height)),!e.width||!e.height)throw new Error("No size for sticker!");e.group=t;const i=this.initPlayer(e.container,e);return r.default.addAnimation(i,t),i}))}onPlayerLoaded(e,t,s){const i=this.players[e];i?(this.log.debug("onPlayerLoaded"),i.onLoad(t,s)):this.log.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,s){const i=this.players[e];i?(i.clamped=s,i.renderFrame(s,t)):this.log.warn("onFrame on destroyed player:",e,t)}onDestroy(e){delete this.players[e]}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),this.log("worker #"+t+" terminated")}),this.log("workers destroyed"),this.workers.length=0}initPlayer(e,t){const s=new c({el:e,worker:this.workers[this.curWorkerNum++],options:t});return this.players[s.reqId]=s,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),s.loadFromData(t.animationData),s}}return e.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]],[[16219713,2694162],[16757049,4663842],[16765248,5716784],[16768889,6834492]]],e})());t.default=h},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LazyLoadQueueRepeat2=t.LazyLoadQueueRepeat=t.LazyLoadQueueIntersector=t.LazyLoadQueueBase=void 0;const a=s(11),o=n(s(83));class r{constructor(e=5){this.parallelLimit=e,this.queue=[],this.inProcess=new Set,this.lockPromise=null,this.unlockResolve=null,this.log=a.logger("LL",a.LogLevels.error)}clear(){this.inProcess.clear(),this.queue.length=0}lock(){if(this.lockPromise)return;const e=performance.now();this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}),this.lockPromise.then(()=>{this.log("was locked for:",performance.now()-e)})}unlock(){this.unlockResolve&&(this.unlockResolve(),this.unlockResolve=this.lockPromise=null,this.processQueue())}processItem(e){return i(this,void 0,void 0,(function*(){if(!this.lockPromise){this.inProcess.add(e),this.log("will load media",this.lockPromise,e);try{yield this.loadItem(e)}catch(e){this.log.error("loadMediaQueue error:",e)}this.inProcess.delete(e),this.log("loaded media",e),this.processQueue()}}))}loadItem(e){return e.load()}getItem(){return this.queue.shift()}addElement(e,t){this.queue[e](t),this.processQueue()}processQueue(e){return i(this,void 0,void 0,(function*(){if(!(!this.queue.length||this.lockPromise||this.parallelLimit>0&&this.inProcess.size>=this.parallelLimit))do{if(e?this.queue.findAndSplice(t=>t==e):e=this.getItem(),!e)break;this.processItem(e),e=null}while(this.inProcess.sizee.div==t.div))return!1;for(const e of this.inProcess)if(e.div==t.div)return!1;return this.queue[e](t),!0}setProcessQueueTimeout(){this.intersectorTimeout||(this.intersectorTimeout=window.setTimeout(()=>{this.intersectorTimeout=0,this.processQueue()},0))}push(e){super.push(e)}unshift(e){super.unshift(e)}}t.LazyLoadQueueIntersector=d;t.default=class extends d{constructor(e=5){super(e),this.parallelLimit=e,this.onVisibilityChange=(e,t)=>{if(t){this.log("isIntersecting",e);const t=this.queue.findAndSplice(t=>t.div==e);t&&(t.wasSeen=!0,this.queue.unshift(t)),this.setProcessQueueTimeout()}},this.intersector=new o.default(this.onVisibilityChange)}getItem(){return this.queue.findAndSplice(e=>e.wasSeen)}processItem(e){const t=Object.create(null,{processItem:{get:()=>super.processItem}});return i(this,void 0,void 0,(function*(){yield t.processItem.call(this,e),this.intersector.unobserve(e.div)}))}addElement(e,t){return!!super.addElement(e,t)&&(this.intersector.observe(t.div),t.wasSeen?this.processQueue(t):t.hasOwnProperty("wasSeen")||(t.wasSeen=!1),!0)}};t.LazyLoadQueueRepeat=class extends d{constructor(e=5,t){super(e),this.parallelLimit=e,this.onVisibilityChange=t,this._queue=new Map,this.intersector=new o.default((e,t)=>{if(t){const t=this.queue.findAndSplice(t=>t.div==e);this.queue.unshift(t||this._queue.get(e))}else this.queue.findAndSplice(t=>t.div==e);this.onVisibilityChange&&this.onVisibilityChange(e,t),this.setProcessQueueTimeout()})}clear(){super.clear(),this._queue.clear()}observe(e){this._queue.set(e.div,e),this.intersector.observe(e.div)}};t.LazyLoadQueueRepeat2=class extends d{constructor(e=5,t){super(e),this.parallelLimit=e,this.onVisibilityChange=t,this.intersector=new o.default((e,t)=>{const s=this.queue.findAndSplice(t=>t.div==e);t&&s&&this.queue.unshift(s),this.onVisibilityChange&&this.onVisibilityChange(e,t),this.setProcessQueueTimeout()})}observe(e){this.intersector.observe(e)}}},function(e,t,s){"use strict"; /*! * Webogram v0.7.0 - messaging web application for MTProto * https://github.com/zhukov/webogram * Copyright (C) 2014 Igor Zhukov * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(t,"__esModule",{value:!0}),t.isServiceWorkerSupported=t.touchSupport=t.mediaSizes=t.LatinizeMap=t.TLD=t.Countries=t.Emoji=t.isAppleMobile=t.isApple=t.isAndroid=t.isSafari=void 0;const i=s(47);Object.defineProperty(t,"isSafari",{enumerable:!0,get:function(){return i.isSafari}}),Object.defineProperty(t,"isAndroid",{enumerable:!0,get:function(){return i.isAndroid}}),Object.defineProperty(t,"isApple",{enumerable:!0,get:function(){return i.isApple}}),Object.defineProperty(t,"isAppleMobile",{enumerable:!0,get:function(){return i.isAppleMobile}}),t.Emoji={2049:6356,2122:6364,2139:6389,2194:6269,2195:6268,2196:6267,2197:6261,2198:6263,2199:6265,2328:680,2600:4177,2601:4185,2602:4200,2603:4205,2604:4207,2611:6341,2614:4201,2615:3101,2618:2123,2620:194,2622:6258,2623:6259,2626:6288,2638:6285,2639:166,2648:6293,2649:6294,2650:6301,2651:6302,2652:6303,2653:6304,2660:567,2663:570,2665:568,2666:569,2668:457,2692:6184,2693:4110,2694:6187,2696:6195,2697:6201,2699:6193,2702:6171,2705:6340,2708:4118,2709:6132,2712:6146,2714:6342,2716:6343,2721:6284,2728:56,2733:6352,2734:6353,2744:4204,2747:6354,2753:6357,2754:6358,2755:6359,2757:6360,2763:1125,2764:1127,2795:6346,2796:6347,2797:6348,2934:6272,2935:6273,3030:6361,3297:6413,3299:6414,"0023-20e3":6365,"002a-20e3":6366,"0030-20e3":6367,"0031-20e3":6368,"0032-20e3":6369,"0033-20e3":6370,"0034-20e3":6371,"0035-20e3":6372,"0036-20e3":6373,"0037-20e3":6374,"0038-20e3":6375,"0039-20e3":6376,"00a9":6362,"00ae":6363,"1f004":573,"1f0cf":572,"1f170":6383,"1f171":6385,"1f17e":6394,"1f17f":6396,"1f18e":6384,"1f191":6386,"1f192":6387,"1f193":6388,"1f194":6390,"1f195":6392,"1f196":6393,"1f197":6395,"1f198":6397,"1f199":6398,"1f19a":6399,"1f1e6-1f1e8":78,"1f1e6-1f1e9":79,"1f1e6-1f1ea":710,"1f1e6-1f1eb":711,"1f1e6-1f1ec":712,"1f1e6-1f1ee":713,"1f1e6-1f1f1":714,"1f1e6-1f1f2":715,"1f1e6-1f1f4":716,"1f1e6-1f1f6":717,"1f1e6-1f1f7":718,"1f1e6-1f1f8":719,"1f1e6-1f1f9":720,"1f1e6-1f1fa":721,"1f1e6-1f1fc":722,"1f1e6-1f1fd":723,"1f1e6-1f1ff":724,"1f1e7-1f1e6":725,"1f1e7-1f1e7":726,"1f1e7-1f1e9":727,"1f1e7-1f1ea":728,"1f1e7-1f1eb":729,"1f1e7-1f1ec":730,"1f1e7-1f1ed":731,"1f1e7-1f1ee":732,"1f1e7-1f1ef":733,"1f1e7-1f1f1":734,"1f1e7-1f1f2":735,"1f1e7-1f1f3":736,"1f1e7-1f1f4":737,"1f1e7-1f1f6":738,"1f1e7-1f1f7":739,"1f1e7-1f1f8":740,"1f1e7-1f1f9":741,"1f1e7-1f1fb":742,"1f1e7-1f1fc":743,"1f1e7-1f1fe":744,"1f1e7-1f1ff":745,"1f1e8-1f1e6":746,"1f1e8-1f1e8":747,"1f1e8-1f1e9":748,"1f1e8-1f1eb":749,"1f1e8-1f1ec":750,"1f1e8-1f1ed":751,"1f1e8-1f1ee":752,"1f1e8-1f1f0":753,"1f1e8-1f1f1":754,"1f1e8-1f1f2":755,"1f1e8-1f1f3":756,"1f1e8-1f1f4":757,"1f1e8-1f1f5":758,"1f1e8-1f1f7":759,"1f1e8-1f1fa":760,"1f1e8-1f1fb":761,"1f1e8-1f1fc":762,"1f1e8-1f1fd":763,"1f1e8-1f1fe":764,"1f1e8-1f1ff":765,"1f1e9-1f1ea":766,"1f1e9-1f1ec":767,"1f1e9-1f1ef":768,"1f1e9-1f1f0":769,"1f1e9-1f1f2":770,"1f1e9-1f1f4":771,"1f1e9-1f1ff":772,"1f1ea-1f1e6":773,"1f1ea-1f1e8":774,"1f1ea-1f1ea":775,"1f1ea-1f1ec":776,"1f1ea-1f1ed":777,"1f1ea-1f1f7":778,"1f1ea-1f1f8":779,"1f1ea-1f1f9":780,"1f1ea-1f1fa":781,"1f1eb-1f1ee":782,"1f1eb-1f1ef":783,"1f1eb-1f1f0":784,"1f1eb-1f1f2":785,"1f1eb-1f1f4":786,"1f1eb-1f1f7":787,"1f1ec-1f1e6":788,"1f1ec-1f1e7":789,"1f1ec-1f1e9":790,"1f1ec-1f1ea":791,"1f1ec-1f1eb":792,"1f1ec-1f1ec":793,"1f1ec-1f1ed":794,"1f1ec-1f1ee":795,"1f1ec-1f1f1":796,"1f1ec-1f1f2":797,"1f1ec-1f1f3":798,"1f1ec-1f1f5":799,"1f1ec-1f1f6":7100,"1f1ec-1f1f7":7101,"1f1ec-1f1f8":7102,"1f1ec-1f1f9":7103,"1f1ec-1f1fa":7104,"1f1ec-1f1fc":7105,"1f1ec-1f1fe":7106,"1f1ed-1f1f0":7107,"1f1ed-1f1f2":7108,"1f1ed-1f1f3":7109,"1f1ed-1f1f7":7110,"1f1ed-1f1f9":7111,"1f1ed-1f1fa":7112,"1f1ee-1f1e8":7113,"1f1ee-1f1e9":7114,"1f1ee-1f1ea":7115,"1f1ee-1f1f1":7116,"1f1ee-1f1f2":7117,"1f1ee-1f1f3":7118,"1f1ee-1f1f4":7119,"1f1ee-1f1f6":7120,"1f1ee-1f1f7":7121,"1f1ee-1f1f8":7122,"1f1ee-1f1f9":7123,"1f1ef-1f1ea":7124,"1f1ef-1f1f2":7125,"1f1ef-1f1f4":7126,"1f1ef-1f1f5":7127,"1f1f0-1f1ea":7128,"1f1f0-1f1ec":7129,"1f1f0-1f1ed":7130,"1f1f0-1f1ee":7131,"1f1f0-1f1f2":7132,"1f1f0-1f1f3":7133,"1f1f0-1f1f5":7134,"1f1f0-1f1f7":7135,"1f1f0-1f1fc":7136,"1f1f0-1f1fe":7137,"1f1f0-1f1ff":7138,"1f1f1-1f1e6":7139,"1f1f1-1f1e7":7140,"1f1f1-1f1e8":7141,"1f1f1-1f1ee":7142,"1f1f1-1f1f0":7143,"1f1f1-1f1f7":7144,"1f1f1-1f1f8":7145,"1f1f1-1f1f9":7146,"1f1f1-1f1fa":7147,"1f1f1-1f1fb":7148,"1f1f1-1f1fe":7149,"1f1f2-1f1e6":7150,"1f1f2-1f1e8":7151,"1f1f2-1f1e9":7152,"1f1f2-1f1ea":7153,"1f1f2-1f1eb":7154,"1f1f2-1f1ec":7155,"1f1f2-1f1ed":7156,"1f1f2-1f1f0":7157,"1f1f2-1f1f1":7158,"1f1f2-1f1f2":7159,"1f1f2-1f1f3":7160,"1f1f2-1f1f4":7161,"1f1f2-1f1f5":7162,"1f1f2-1f1f6":7163,"1f1f2-1f1f7":7164,"1f1f2-1f1f8":7165,"1f1f2-1f1f9":7166,"1f1f2-1f1fa":7167,"1f1f2-1f1fb":7168,"1f1f2-1f1fc":7169,"1f1f2-1f1fd":7170,"1f1f2-1f1fe":7171,"1f1f2-1f1ff":7172,"1f1f3-1f1e6":7173,"1f1f3-1f1e8":7174,"1f1f3-1f1ea":7175,"1f1f3-1f1eb":7176,"1f1f3-1f1ec":7177,"1f1f3-1f1ee":7178,"1f1f3-1f1f1":7179,"1f1f3-1f1f4":7180,"1f1f3-1f1f5":7181,"1f1f3-1f1f7":7182,"1f1f3-1f1fa":7183,"1f1f3-1f1ff":7184,"1f1f4-1f1f2":7185,"1f1f5-1f1e6":7186,"1f1f5-1f1ea":7187,"1f1f5-1f1eb":7188,"1f1f5-1f1ec":7189,"1f1f5-1f1ed":7190,"1f1f5-1f1f0":7191,"1f1f5-1f1f1":7192,"1f1f5-1f1f2":7193,"1f1f5-1f1f3":7194,"1f1f5-1f1f7":7195,"1f1f5-1f1f8":7196,"1f1f5-1f1f9":7197,"1f1f5-1f1fc":7198,"1f1f5-1f1fe":7199,"1f1f6-1f1e6":7200,"1f1f7-1f1ea":7201,"1f1f7-1f1f4":7202,"1f1f7-1f1f8":7203,"1f1f7-1f1fa":7204,"1f1f7-1f1fc":7205,"1f1f8-1f1e6":7206,"1f1f8-1f1e7":7207,"1f1f8-1f1e8":7208,"1f1f8-1f1e9":7209,"1f1f8-1f1ea":7210,"1f1f8-1f1ec":7211,"1f1f8-1f1ed":7212,"1f1f8-1f1ee":7213,"1f1f8-1f1ef":7214,"1f1f8-1f1f0":7215,"1f1f8-1f1f1":7216,"1f1f8-1f1f2":7217,"1f1f8-1f1f3":7218,"1f1f8-1f1f4":7219,"1f1f8-1f1f7":7220,"1f1f8-1f1f8":7221,"1f1f8-1f1f9":7222,"1f1f8-1f1fb":7223,"1f1f8-1f1fd":7224,"1f1f8-1f1fe":7225,"1f1f8-1f1ff":7226,"1f1f9-1f1e6":7227,"1f1f9-1f1e8":7228,"1f1f9-1f1e9":7229,"1f1f9-1f1eb":7230,"1f1f9-1f1ec":7231,"1f1f9-1f1ed":7232,"1f1f9-1f1ef":7233,"1f1f9-1f1f0":7234,"1f1f9-1f1f1":7235,"1f1f9-1f1f2":7236,"1f1f9-1f1f3":7237,"1f1f9-1f1f4":7238,"1f1f9-1f1f7":7239,"1f1f9-1f1f9":7240,"1f1f9-1f1fb":7241,"1f1f9-1f1fc":7242,"1f1f9-1f1ff":7243,"1f1fa-1f1e6":7244,"1f1fa-1f1ec":7245,"1f1fa-1f1f2":7246,"1f1fa-1f1f3":7247,"1f1fa-1f1f8":7248,"1f1fa-1f1fe":7249,"1f1fa-1f1ff":7250,"1f1fb-1f1e6":7251,"1f1fb-1f1e8":7252,"1f1fb-1f1ea":7253,"1f1fb-1f1ec":7254,"1f1fb-1f1ee":7255,"1f1fb-1f1f3":7256,"1f1fb-1f1fa":7257,"1f1fc-1f1eb":7258,"1f1fc-1f1f8":7259,"1f1fd-1f1f0":7260,"1f1fe-1f1ea":7261,"1f1fe-1f1f9":7262,"1f1ff-1f1e6":7263,"1f1ff-1f1f2":7264,"1f1ff-1f1fc":7265,"1f201":6400,"1f202":6401,"1f21a":6407,"1f22f":6404,"1f232":6408,"1f233":6412,"1f234":6411,"1f235":6416,"1f236":6403,"1f237":6402,"1f238":6410,"1f239":6406,"1f23a":6415,"1f250":6405,"1f251":6409,"1f300":4197,"1f301":449,"1f302":4199,"1f303":450,"1f304":452,"1f305":453,"1f306":454,"1f307":455,"1f308":4198,"1f309":456,"1f30a":4210,"1f30b":410,"1f30c":4184,"1f30d":41,"1f30e":42,"1f30f":43,"1f310":44,"1f311":4164,"1f312":4165,"1f313":4166,"1f314":4167,"1f315":4168,"1f316":4169,"1f317":4170,"1f318":4171,"1f319":4172,"1f31a":4173,"1f31b":4174,"1f31c":4175,"1f31d":4178,"1f31e":4179,"1f31f":4182,"1f320":4183,"1f321":4176,"1f324":4188,"1f325":4189,"1f326":4190,"1f327":4191,"1f328":4192,"1f329":4193,"1f32a":4194,"1f32b":4195,"1f32c":4196,"1f32d":347,"1f32e":349,"1f32f":350,"1f330":331,"1f331":2116,"1f332":2117,"1f333":2118,"1f334":2119,"1f335":2120,"1f336":323,"1f337":2115,"1f338":2107,"1f339":2110,"1f33a":2112,"1f33b":2113,"1f33c":2114,"1f33d":322,"1f33e":2121,"1f33f":2122,"1f340":2124,"1f341":2125,"1f342":2126,"1f343":2127,"1f344":329,"1f345":316,"1f346":319,"1f347":31,"1f348":32,"1f349":33,"1f34a":34,"1f34b":35,"1f34c":36,"1f34d":37,"1f34e":39,"1f34f":310,"1f350":311,"1f351":312,"1f352":313,"1f353":314,"1f354":344,"1f355":346,"1f356":340,"1f357":341,"1f358":364,"1f359":365,"1f35a":366,"1f35b":367,"1f35c":368,"1f35d":369,"1f35e":332,"1f35f":345,"1f360":370,"1f361":376,"1f362":371,"1f363":372,"1f364":373,"1f365":374,"1f366":385,"1f367":386,"1f368":387,"1f369":388,"1f36a":389,"1f36b":394,"1f36c":395,"1f36d":396,"1f36e":397,"1f36f":398,"1f370":391,"1f371":363,"1f372":356,"1f373":354,"1f374":3118,"1f375":3102,"1f376":3103,"1f377":3105,"1f378":3106,"1f379":3107,"1f37a":3108,"1f37b":3109,"1f37c":399,"1f37d":3117,"1f37e":3104,"1f37f":359,"1f380":517,"1f381":518,"1f382":390,"1f383":51,"1f384":52,"1f385":1326,"1f386":53,"1f387":54,"1f388":57,"1f389":58,"1f38a":59,"1f38b":510,"1f38c":73,"1f38d":511,"1f38e":512,"1f38f":513,"1f390":514,"1f391":515,"1f392":625,"1f393":637,"1f396":522,"1f397":519,"1f399":656,"1f39a":657,"1f39b":658,"1f39e":689,"1f39f":520,"1f3a0":458,"1f3a1":459,"1f3a2":460,"1f3a3":549,"1f3a4":659,"1f3a5":688,"1f3a6":6324,"1f3a7":660,"1f3a8":577,"1f3a9":636,"1f3aa":462,"1f3ab":521,"1f3ac":691,"1f3ad":575,"1f3ae":561,"1f3af":555,"1f3b0":563,"1f3b1":558,"1f3b2":564,"1f3b3":537,"1f3b4":574,"1f3b5":654,"1f3b6":655,"1f3b7":662,"1f3b8":663,"1f3b9":664,"1f3ba":665,"1f3bb":666,"1f3bc":653,"1f3bd":551,"1f3be":535,"1f3bf":552,"1f3c0":531,"1f3c1":71,"1f3c2":1397,"1f3c3-200d-2640-fe0f":1381,"1f3c3-200d-2642-fe0f":1380,"1f3c3":1379,"1f3c4-200d-2640-fe0f":1403,"1f3c4-200d-2642-fe0f":1402,"1f3c4":1401,"1f3c5":524,"1f3c6":523,"1f3c7":1395,"1f3c8":533,"1f3c9":534,"1f3ca-200d-2640-fe0f":1409,"1f3ca-200d-2642-fe0f":1408,"1f3ca":1407,"1f3cb-fe0f-200d-2640-fe0f":1415,"1f3cb-fe0f-200d-2642-fe0f":1414,"1f3cb":1413,"1f3cc-fe0f-200d-2640-fe0f":1400,"1f3cc-fe0f-200d-2642-fe0f":1399,"1f3cc":1398,"1f3cd":492,"1f3ce":491,"1f3cf":538,"1f3d0":532,"1f3d1":539,"1f3d2":540,"1f3d3":542,"1f3d4":48,"1f3d5":412,"1f3d6":413,"1f3d7":419,"1f3d8":421,"1f3d9":451,"1f3da":422,"1f3db":418,"1f3dc":414,"1f3dd":415,"1f3de":416,"1f3df":417,"1f3e0":423,"1f3e1":424,"1f3e2":425,"1f3e3":426,"1f3e4":427,"1f3e5":428,"1f3e6":429,"1f3e7":6234,"1f3e8":430,"1f3e9":431,"1f3ea":432,"1f3eb":433,"1f3ec":434,"1f3ed":435,"1f3ee":6102,"1f3ef":436,"1f3f0":437,"1f3f3-fe0f-200d-1f308":76,"1f3f3":75,"1f3f4-200d-2620-fe0f":77,"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f":7266,"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f":7267,"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f":7268,"1f3f4":74,"1f3f5":2109,"1f3f7":6120,"1f3f8":543,"1f3f9":6189,"1f3fa":3121,"1f3fb":81,"1f3fc":82,"1f3fd":83,"1f3fe":84,"1f3ff":85,"1f400":244,"1f401":243,"1f402":225,"1f403":226,"1f404":227,"1f405":217,"1f406":218,"1f407":247,"1f408":214,"1f409":282,"1f40a":277,"1f40b":286,"1f40c":294,"1f40d":280,"1f40e":220,"1f40f":232,"1f410":234,"1f411":233,"1f412":22,"1f413":262,"1f414":261,"1f415-200d-1f9ba":28,"1f415":26,"1f416":229,"1f417":230,"1f418":239,"1f419":292,"1f41a":293,"1f41b":296,"1f41c":297,"1f41d":298,"1f41e":299,"1f41f":288,"1f420":289,"1f421":290,"1f422":278,"1f423":263,"1f424":264,"1f425":265,"1f426":266,"1f427":267,"1f428":252,"1f429":29,"1f42a":235,"1f42b":236,"1f42c":287,"1f42d":242,"1f42e":224,"1f42f":216,"1f430":246,"1f431":213,"1f432":281,"1f433":285,"1f434":219,"1f435":21,"1f436":25,"1f437":228,"1f438":276,"1f439":245,"1f43a":210,"1f43b":251,"1f43c":253,"1f43d":231,"1f43e":259,"1f43f":248,"1f440":1194,"1f441-fe0f-200d-1f5e8-fe0f":1145,"1f441":1195,"1f442":1188,"1f443":1190,"1f444":1197,"1f445":1196,"1f446":1164,"1f447":1166,"1f448":1162,"1f449":1163,"1f44a":1171,"1f44b":1150,"1f44c":1155,"1f44d":1168,"1f44e":1169,"1f44f":1174,"1f450":1176,"1f451":634,"1f452":635,"1f453":61,"1f454":66,"1f455":67,"1f456":68,"1f457":613,"1f458":614,"1f459":619,"1f45a":620,"1f45b":621,"1f45c":622,"1f45d":623,"1f45e":626,"1f45f":627,"1f460":630,"1f461":631,"1f462":633,"1f463":1483,"1f464":1481,"1f465":1482,"1f466":1200,"1f467":1201,"1f468-200d-1f33e":1267,"1f468-200d-1f373":1270,"1f468-200d-1f393":1258,"1f468-200d-1f3a4":1288,"1f468-200d-1f3a8":1291,"1f468-200d-1f3eb":1261,"1f468-200d-1f3ed":1276,"1f468-200d-1f466-200d-1f466":1471,"1f468-200d-1f466":1470,"1f468-200d-1f467-200d-1f466":1473,"1f468-200d-1f467-200d-1f467":1474,"1f468-200d-1f467":1472,"1f468-200d-1f468-200d-1f466":1460,"1f468-200d-1f468-200d-1f466-200d-1f466":1463,"1f468-200d-1f468-200d-1f467":1461,"1f468-200d-1f468-200d-1f467-200d-1f466":1462,"1f468-200d-1f468-200d-1f467-200d-1f467":1464,"1f468-200d-1f469-200d-1f466":1455,"1f468-200d-1f469-200d-1f466-200d-1f466":1458,"1f468-200d-1f469-200d-1f467":1456,"1f468-200d-1f469-200d-1f467-200d-1f466":1457,"1f468-200d-1f469-200d-1f467-200d-1f467":1459,"1f468-200d-1f4bb":1285,"1f468-200d-1f4bc":1279,"1f468-200d-1f527":1273,"1f468-200d-1f52c":1282,"1f468-200d-1f680":1297,"1f468-200d-1f692":1300,"1f468-200d-1f9af":1371,"1f468-200d-1f9b0":1206,"1f468-200d-1f9b1":1207,"1f468-200d-1f9b2":1209,"1f468-200d-1f9b3":1208,"1f468-200d-1f9bc":1374,"1f468-200d-1f9bd":1377,"1f468-200d-2695-fe0f":1255,"1f468-200d-2696-fe0f":1264,"1f468-200d-2708-fe0f":1294,"1f468-200d-2764-fe0f-200d-1f468":1452,"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468":1448,"1f468":1204,"1f469-200d-1f33e":1268,"1f469-200d-1f373":1271,"1f469-200d-1f393":1259,"1f469-200d-1f3a4":1289,"1f469-200d-1f3a8":1292,"1f469-200d-1f3eb":1262,"1f469-200d-1f3ed":1277,"1f469-200d-1f466-200d-1f466":1476,"1f469-200d-1f466":1475,"1f469-200d-1f467-200d-1f466":1478,"1f469-200d-1f467-200d-1f467":1479,"1f469-200d-1f467":1477,"1f469-200d-1f469-200d-1f466":1465,"1f469-200d-1f469-200d-1f466-200d-1f466":1468,"1f469-200d-1f469-200d-1f467":1466,"1f469-200d-1f469-200d-1f467-200d-1f466":1467,"1f469-200d-1f469-200d-1f467-200d-1f467":1469,"1f469-200d-1f4bb":1286,"1f469-200d-1f4bc":1280,"1f469-200d-1f527":1274,"1f469-200d-1f52c":1283,"1f469-200d-1f680":1298,"1f469-200d-1f692":1301,"1f469-200d-1f9af":1372,"1f469-200d-1f9b0":1211,"1f469-200d-1f9b1":1213,"1f469-200d-1f9b2":1217,"1f469-200d-1f9b3":1215,"1f469-200d-1f9bc":1375,"1f469-200d-1f9bd":1378,"1f469-200d-2695-fe0f":1256,"1f469-200d-2696-fe0f":1265,"1f469-200d-2708-fe0f":1295,"1f469-200d-2764-fe0f-200d-1f468":1451,"1f469-200d-2764-fe0f-200d-1f469":1453,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468":1447,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469":1449,"1f469":1210,"1f46a":1454,"1f46b":1444,"1f46c":1445,"1f46d":1443,"1f46e-200d-2640-fe0f":1304,"1f46e-200d-2642-fe0f":1303,"1f46e":1302,"1f46f-200d-2640-fe0f":1387,"1f46f-200d-2642-fe0f":1386,"1f46f":1385,"1f470":1322,"1f471-200d-2640-fe0f":1219,"1f471-200d-2642-fe0f":1220,"1f471":1203,"1f472":1319,"1f473-200d-2640-fe0f":1318,"1f473-200d-2642-fe0f":1317,"1f473":1316,"1f474":1222,"1f475":1223,"1f476":1198,"1f477-200d-2640-fe0f":1313,"1f477-200d-2642-fe0f":1312,"1f477":1311,"1f478":1315,"1f479":197,"1f47a":198,"1f47b":199,"1f47c":1325,"1f47d":1100,"1f47e":1101,"1f47f":192,"1f480":193,"1f481-200d-2640-fe0f":1238,"1f481-200d-2642-fe0f":1237,"1f481":1236,"1f482-200d-2640-fe0f":1310,"1f482-200d-2642-fe0f":1309,"1f482":1308,"1f483":1382,"1f484":641,"1f485":1181,"1f486-200d-2640-fe0f":1357,"1f486-200d-2642-fe0f":1356,"1f486":1355,"1f487-200d-2640-fe0f":1360,"1f487-200d-2642-fe0f":1359,"1f487":1358,"1f488":461,"1f489":6208,"1f48a":6210,"1f48b":1115,"1f48c":1116,"1f48d":642,"1f48e":643,"1f48f":1446,"1f490":2106,"1f491":1450,"1f492":438,"1f493":1121,"1f494":1126,"1f495":1123,"1f496":1119,"1f497":1120,"1f498":1117,"1f499":1131,"1f49a":1130,"1f49b":1129,"1f49c":1132,"1f49d":1118,"1f49e":1122,"1f49f":1124,"1f4a0":6447,"1f4a1":6100,"1f4a2":1137,"1f4a3":1143,"1f4a4":1149,"1f4a5":1138,"1f4a6":1140,"1f4a7":4209,"1f4a8":1141,"1f4a9":195,"1f4aa":1183,"1f4ab":1139,"1f4ac":1144,"1f4ad":1148,"1f4ae":2108,"1f4af":1136,"1f4b0":6121,"1f4b1":6130,"1f4b2":6131,"1f4b3":6127,"1f4b4":6122,"1f4b5":6123,"1f4b6":6124,"1f4b7":6125,"1f4b8":6126,"1f4b9":6129,"1f4ba":4123,"1f4bb":677,"1f4bc":6152,"1f4bd":683,"1f4be":684,"1f4bf":685,"1f4c0":686,"1f4c1":6153,"1f4c2":6154,"1f4c3":6113,"1f4c4":6115,"1f4c5":6156,"1f4c6":6157,"1f4c7":6160,"1f4c8":6161,"1f4c9":6162,"1f4ca":6163,"1f4cb":6164,"1f4cc":6165,"1f4cd":6166,"1f4ce":6167,"1f4cf":6169,"1f4d0":6170,"1f4d1":6118,"1f4d2":6112,"1f4d3":6111,"1f4d4":6104,"1f4d5":6105,"1f4d6":6106,"1f4d7":6107,"1f4d8":6108,"1f4d9":6109,"1f4da":6110,"1f4db":6337,"1f4dc":6114,"1f4dd":6151,"1f4de":672,"1f4df":673,"1f4e0":674,"1f4e1":6207,"1f4e2":648,"1f4e3":649,"1f4e4":6136,"1f4e5":6137,"1f4e6":6138,"1f4e7":6133,"1f4e8":6134,"1f4e9":6135,"1f4ea":6140,"1f4eb":6139,"1f4ec":6141,"1f4ed":6142,"1f4ee":6143,"1f4ef":650,"1f4f0":6116,"1f4f1":669,"1f4f2":670,"1f4f3":6328,"1f4f4":6329,"1f4f5":6256,"1f4f6":6327,"1f4f7":693,"1f4f8":694,"1f4f9":695,"1f4fa":692,"1f4fb":661,"1f4fc":696,"1f4fd":690,"1f4ff":640,"1f500":6306,"1f501":6307,"1f502":6308,"1f503":6274,"1f504":6275,"1f505":6325,"1f506":6326,"1f507":644,"1f508":645,"1f509":646,"1f50a":647,"1f50b":675,"1f50c":676,"1f50d":697,"1f50e":698,"1f50f":6177,"1f510":6178,"1f511":6179,"1f512":6175,"1f513":6176,"1f514":651,"1f515":652,"1f516":6119,"1f517":6197,"1f518":6448,"1f519":6276,"1f51a":6277,"1f51b":6278,"1f51c":6279,"1f51d":6280,"1f51e":6257,"1f51f":6377,"1f520":6378,"1f521":6379,"1f522":6380,"1f523":6381,"1f524":6382,"1f525":4208,"1f526":6101,"1f527":6191,"1f528":6181,"1f529":6192,"1f52a":3120,"1f52b":6188,"1f52c":6205,"1f52d":6206,"1f52e":559,"1f52f":6292,"1f530":6338,"1f531":6336,"1f532":6450,"1f533":6449,"1f534":6417,"1f535":6421,"1f536":6441,"1f537":6442,"1f538":6443,"1f539":6444,"1f53a":6445,"1f53b":6446,"1f53c":6316,"1f53d":6318,"1f549":6283,"1f54a":268,"1f54b":446,"1f54c":442,"1f54d":444,"1f54e":6291,"1f550":4142,"1f551":4144,"1f552":4146,"1f553":4148,"1f554":4150,"1f555":4152,"1f556":4154,"1f557":4156,"1f558":4158,"1f559":4160,"1f55a":4162,"1f55b":4140,"1f55c":4143,"1f55d":4145,"1f55e":4147,"1f55f":4149,"1f560":4151,"1f561":4153,"1f562":4155,"1f563":4157,"1f564":4159,"1f565":4161,"1f566":4163,"1f567":4141,"1f56f":699,"1f570":4139,"1f573":1142,"1f574":1384,"1f575-fe0f-200d-2640-fe0f":1307,"1f575-fe0f-200d-2642-fe0f":1306,"1f575":1305,"1f576":62,"1f577":2101,"1f578":2102,"1f579":562,"1f57a":1383,"1f587":6168,"1f58a":6148,"1f58b":6147,"1f58c":6149,"1f58d":6150,"1f590":1152,"1f595":1165,"1f596":1154,"1f5a4":1134,"1f5a5":678,"1f5a8":679,"1f5b1":681,"1f5b2":682,"1f5bc":576,"1f5c2":6155,"1f5c3":6172,"1f5c4":6173,"1f5d1":6174,"1f5d2":6158,"1f5d3":6159,"1f5dc":6194,"1f5dd":6180,"1f5de":6117,"1f5e1":6186,"1f5e3":1480,"1f5e8":1146,"1f5ef":1147,"1f5f3":6144,"1f5fa":45,"1f5fb":411,"1f5fc":439,"1f5fd":440,"1f5fe":46,"1f5ff":6233,"1f600":11,"1f601":14,"1f602":18,"1f603":12,"1f604":13,"1f605":16,"1f606":15,"1f607":113,"1f608":191,"1f609":111,"1f60a":112,"1f60b":122,"1f60c":142,"1f60d":115,"1f60e":160,"1f60f":137,"1f610":134,"1f611":135,"1f612":138,"1f613":183,"1f614":143,"1f615":163,"1f616":180,"1f617":118,"1f618":117,"1f619":121,"1f61a":120,"1f61b":123,"1f61c":124,"1f61d":126,"1f61e":182,"1f61f":164,"1f620":189,"1f621":188,"1f622":177,"1f623":181,"1f624":187,"1f625":176,"1f626":172,"1f627":173,"1f628":174,"1f629":184,"1f62a":144,"1f62b":185,"1f62c":140,"1f62d":178,"1f62e":167,"1f62f":168,"1f630":175,"1f631":179,"1f632":169,"1f633":170,"1f634":146,"1f635":156,"1f636":136,"1f637":147,"1f638":1104,"1f639":1105,"1f63a":1103,"1f63b":1106,"1f63c":1107,"1f63d":1108,"1f63e":1111,"1f63f":1110,"1f640":1109,"1f641":165,"1f642":19,"1f643":110,"1f644":139,"1f645-200d-2640-fe0f":1232,"1f645-200d-2642-fe0f":1231,"1f645":1230,"1f646-200d-2640-fe0f":1235,"1f646-200d-2642-fe0f":1234,"1f646":1233,"1f647-200d-2640-fe0f":1247,"1f647-200d-2642-fe0f":1246,"1f647":1245,"1f648":1112,"1f649":1113,"1f64a":1114,"1f64b-200d-2640-fe0f":1241,"1f64b-200d-2642-fe0f":1240,"1f64b":1239,"1f64c":1175,"1f64d-200d-2640-fe0f":1226,"1f64d-200d-2642-fe0f":1225,"1f64d":1224,"1f64e-200d-2640-fe0f":1229,"1f64e-200d-2642-fe0f":1228,"1f64e":1227,"1f64f":1179,"1f680":4129,"1f681":4124,"1f682":463,"1f683":464,"1f684":465,"1f685":466,"1f686":467,"1f687":468,"1f688":469,"1f689":470,"1f68a":471,"1f68b":474,"1f68c":475,"1f68d":476,"1f68e":477,"1f68f":4100,"1f690":478,"1f691":479,"1f692":480,"1f693":481,"1f694":482,"1f695":483,"1f696":484,"1f697":485,"1f698":486,"1f699":487,"1f69a":488,"1f69b":489,"1f69c":490,"1f69d":472,"1f69e":473,"1f69f":4125,"1f6a0":4126,"1f6a1":4127,"1f6a2":4117,"1f6a3-200d-2640-fe0f":1406,"1f6a3-200d-2642-fe0f":1405,"1f6a3":1404,"1f6a4":4113,"1f6a5":4106,"1f6a6":4107,"1f6a7":4109,"1f6a8":4105,"1f6a9":72,"1f6aa":6213,"1f6ab":6250,"1f6ac":6230,"1f6ad":6252,"1f6ae":6235,"1f6af":6253,"1f6b0":6236,"1f6b1":6254,"1f6b2":497,"1f6b3":6251,"1f6b4-200d-2640-fe0f":1418,"1f6b4-200d-2642-fe0f":1417,"1f6b4":1416,"1f6b5-200d-2640-fe0f":1421,"1f6b5-200d-2642-fe0f":1420,"1f6b5":1419,"1f6b6-200d-2640-fe0f":1363,"1f6b6-200d-2642-fe0f":1362,"1f6b6":1361,"1f6b7":6255,"1f6b8":6248,"1f6b9":6238,"1f6ba":6239,"1f6bb":6240,"1f6bc":6241,"1f6bd":6217,"1f6be":6242,"1f6bf":6218,"1f6c0":1440,"1f6c1":6219,"1f6c2":6243,"1f6c3":6244,"1f6c4":6245,"1f6c5":6246,"1f6cb":6215,"1f6cc":1441,"1f6cd":624,"1f6ce":4131,"1f6cf":6214,"1f6d0":6281,"1f6d1":4108,"1f6d2":6229,"1f6d5":443,"1f6e0":6185,"1f6e1":6190,"1f6e2":4103,"1f6e3":4101,"1f6e4":4102,"1f6e5":4116,"1f6e9":4119,"1f6eb":4120,"1f6ec":4121,"1f6f0":4128,"1f6f3":4114,"1f6f4":498,"1f6f5":493,"1f6f6":4112,"1f6f7":553,"1f6f8":4130,"1f6f9":499,"1f6fa":496,"1f7e0":6418,"1f7e1":6419,"1f7e2":6420,"1f7e3":6422,"1f7e4":6423,"1f7e5":6426,"1f7e6":6430,"1f7e7":6427,"1f7e8":6428,"1f7e9":6429,"1f7ea":6431,"1f7eb":6432,"1f90d":1135,"1f90e":1133,"1f90f":1156,"1f910":132,"1f911":127,"1f912":148,"1f913":161,"1f914":131,"1f915":149,"1f916":1102,"1f917":128,"1f918":1160,"1f919":1161,"1f91a":1151,"1f91b":1172,"1f91c":1173,"1f91d":1178,"1f91e":1158,"1f91f":1159,"1f920":158,"1f921":196,"1f922":150,"1f923":17,"1f924":145,"1f925":141,"1f926-200d-2640-fe0f":1250,"1f926-200d-2642-fe0f":1249,"1f926":1248,"1f927":152,"1f928":133,"1f929":116,"1f92a":125,"1f92b":130,"1f92c":190,"1f92d":129,"1f92e":151,"1f92f":157,"1f930":1323,"1f931":1324,"1f932":1177,"1f933":1182,"1f934":1314,"1f935":1321,"1f936":1327,"1f937-200d-2640-fe0f":1253,"1f937-200d-2642-fe0f":1252,"1f937":1251,"1f938-200d-2640-fe0f":1424,"1f938-200d-2642-fe0f":1423,"1f938":1422,"1f939-200d-2640-fe0f":1436,"1f939-200d-2642-fe0f":1435,"1f939":1434,"1f93a":1394,"1f93c-200d-2640-fe0f":1427,"1f93c-200d-2642-fe0f":1426,"1f93c":1425,"1f93d-200d-2640-fe0f":1430,"1f93d-200d-2642-fe0f":1429,"1f93d":1428,"1f93e-200d-2640-fe0f":1433,"1f93e-200d-2642-fe0f":1432,"1f93e":1431,"1f93f":550,"1f940":2111,"1f941":668,"1f942":3110,"1f943":3111,"1f944":3119,"1f945":546,"1f947":525,"1f948":526,"1f949":527,"1f94a":544,"1f94b":545,"1f94c":554,"1f94d":541,"1f94e":530,"1f94f":536,"1f950":333,"1f951":318,"1f952":324,"1f953":343,"1f954":320,"1f955":321,"1f956":334,"1f957":358,"1f958":355,"1f959":351,"1f95a":353,"1f95b":3100,"1f95c":330,"1f95d":315,"1f95e":337,"1f95f":377,"1f960":378,"1f961":379,"1f962":3116,"1f963":357,"1f964":3112,"1f965":317,"1f966":326,"1f967":393,"1f968":335,"1f969":342,"1f96a":348,"1f96b":362,"1f96c":325,"1f96d":38,"1f96e":375,"1f96f":336,"1f970":114,"1f971":186,"1f973":159,"1f974":155,"1f975":153,"1f976":154,"1f97a":171,"1f97b":615,"1f97c":64,"1f97d":63,"1f97e":628,"1f97f":629,"1f980":380,"1f981":215,"1f982":2103,"1f983":260,"1f984":221,"1f985":269,"1f986":270,"1f987":250,"1f988":291,"1f989":272,"1f98a":211,"1f98b":295,"1f98c":223,"1f98d":23,"1f98e":279,"1f98f":240,"1f990":382,"1f991":383,"1f992":238,"1f993":222,"1f994":249,"1f995":283,"1f996":284,"1f997":2100,"1f998":257,"1f999":237,"1f99a":274,"1f99b":241,"1f99c":275,"1f99d":212,"1f99e":381,"1f99f":2104,"1f9a0":2105,"1f9a1":258,"1f9a2":271,"1f9a5":254,"1f9a6":255,"1f9a7":24,"1f9a8":256,"1f9a9":273,"1f9aa":384,"1f9ae":27,"1f9af":6196,"1f9b4":1193,"1f9b5":1186,"1f9b6":1187,"1f9b7":1192,"1f9b8-200d-2640-fe0f":1330,"1f9b8-200d-2642-fe0f":1329,"1f9b8":1328,"1f9b9-200d-2640-fe0f":1333,"1f9b9-200d-2642-fe0f":1332,"1f9b9":1331,"1f9ba":65,"1f9bb":1189,"1f9bc":495,"1f9bd":494,"1f9be":1184,"1f9bf":1185,"1f9c0":339,"1f9c1":392,"1f9c2":361,"1f9c3":3113,"1f9c4":327,"1f9c5":328,"1f9c6":352,"1f9c7":338,"1f9c8":360,"1f9c9":3114,"1f9ca":3115,"1f9cd-200d-2640-fe0f":1366,"1f9cd-200d-2642-fe0f":1365,"1f9cd":1364,"1f9ce-200d-2640-fe0f":1369,"1f9ce-200d-2642-fe0f":1368,"1f9ce":1367,"1f9cf-200d-2640-fe0f":1244,"1f9cf-200d-2642-fe0f":1243,"1f9cf":1242,"1f9d0":162,"1f9d1-200d-1f33e":1266,"1f9d1-200d-1f373":1269,"1f9d1-200d-1f393":1257,"1f9d1-200d-1f3a4":1287,"1f9d1-200d-1f3a8":1290,"1f9d1-200d-1f3eb":1260,"1f9d1-200d-1f3ed":1275,"1f9d1-200d-1f4bb":1284,"1f9d1-200d-1f4bc":1278,"1f9d1-200d-1f527":1272,"1f9d1-200d-1f52c":1281,"1f9d1-200d-1f680":1296,"1f9d1-200d-1f692":1299,"1f9d1-200d-1f91d-200d-1f9d1":1442,"1f9d1-200d-1f9af":1370,"1f9d1-200d-1f9b0":1212,"1f9d1-200d-1f9b1":1214,"1f9d1-200d-1f9b2":1218,"1f9d1-200d-1f9b3":1216,"1f9d1-200d-1f9bc":1373,"1f9d1-200d-1f9bd":1376,"1f9d1-200d-2695-fe0f":1254,"1f9d1-200d-2696-fe0f":1263,"1f9d1-200d-2708-fe0f":1293,"1f9d1":1202,"1f9d2":1199,"1f9d3":1221,"1f9d4":1205,"1f9d5":1320,"1f9d6-200d-2640-fe0f":1390,"1f9d6-200d-2642-fe0f":1389,"1f9d6":1388,"1f9d7-200d-2640-fe0f":1393,"1f9d7-200d-2642-fe0f":1392,"1f9d7":1391,"1f9d8-200d-2640-fe0f":1439,"1f9d8-200d-2642-fe0f":1438,"1f9d8":1437,"1f9d9-200d-2640-fe0f":1336,"1f9d9-200d-2642-fe0f":1335,"1f9d9":1334,"1f9da-200d-2640-fe0f":1339,"1f9da-200d-2642-fe0f":1338,"1f9da":1337,"1f9db-200d-2640-fe0f":1342,"1f9db-200d-2642-fe0f":1341,"1f9db":1340,"1f9dc-200d-2640-fe0f":1345,"1f9dc-200d-2642-fe0f":1344,"1f9dc":1343,"1f9dd-200d-2640-fe0f":1348,"1f9dd-200d-2642-fe0f":1347,"1f9dd":1346,"1f9de-200d-2640-fe0f":1351,"1f9de-200d-2642-fe0f":1350,"1f9de":1349,"1f9df-200d-2640-fe0f":1354,"1f9df-200d-2642-fe0f":1353,"1f9df":1352,"1f9e0":1191,"1f9e1":1128,"1f9e2":638,"1f9e3":69,"1f9e4":610,"1f9e5":611,"1f9e6":612,"1f9e7":516,"1f9e8":55,"1f9e9":565,"1f9ea":6202,"1f9eb":6203,"1f9ec":6204,"1f9ed":47,"1f9ee":687,"1f9ef":6228,"1f9f0":6199,"1f9f1":420,"1f9f2":6200,"1f9f3":4132,"1f9f4":6221,"1f9f5":578,"1f9f6":579,"1f9f7":6222,"1f9f8":566,"1f9f9":6223,"1f9fa":6224,"1f9fb":6225,"1f9fc":6226,"1f9fd":6227,"1f9fe":6128,"1f9ff":560,"1fa70":632,"1fa71":616,"1fa72":617,"1fa73":618,"1fa78":6209,"1fa79":6211,"1fa7a":6212,"1fa80":556,"1fa81":557,"1fa82":4122,"1fa90":4180,"1fa91":6216,"1fa92":6220,"1fa93":6182,"1fa94":6103,"1fa95":667,"203c":6355,"21a9":6270,"21aa":6271,"231a":4135,"231b":4133,"23cf":6323,"23e9":6310,"23ea":6314,"23eb":6317,"23ec":6319,"23ed":6311,"23ee":6315,"23ef":6312,"23f0":4136,"23f1":4137,"23f2":4138,"23f3":4134,"23f8":6320,"23f9":6321,"23fa":6322,"24c2":6391,"25aa":6439,"25ab":6440,"25b6":6309,"25c0":6313,"25fb":6436,"25fc":6435,"25fd":6438,"25fe":6437,"260e":671,"261d":1167,"262a":6289,"262e":6290,"262f":6286,"263a":119,"264a":6295,"264b":6296,"264c":6297,"264d":6298,"264e":6299,"264f":6300,"265f":571,"267b":6334,"267e":6333,"267f":6237,"269b":6282,"269c":6335,"26a0":6247,"26a1":4203,"26aa":6425,"26ab":6424,"26b0":6231,"26b1":6232,"26bd":528,"26be":529,"26c4":4206,"26c5":4186,"26c8":4187,"26ce":6305,"26cf":6183,"26d1":639,"26d3":6198,"26d4":6249,"26e9":445,"26ea":441,"26f0":49,"26f1":4202,"26f2":447,"26f3":547,"26f4":4115,"26f5":4111,"26f7":1396,"26f8":548,"26f9-fe0f-200d-2640-fe0f":1412,"26f9-fe0f-200d-2642-fe0f":1411,"26f9":1410,"26fa":448,"26fd":4104,"270a":1170,"270b":1153,"270c":1157,"270d":1180,"270f":6145,"271d":6287,"274c":6344,"274e":6345,"27a1":6262,"27b0":6349,"27bf":6350,"2b05":6266,"2b06":6260,"2b07":6264,"2b1b":6433,"2b1c":6434,"2b50":4181,"2b55":6339,"303d":6351,"1f385-1f3fb":0,"1f385-1f3fc":0,"1f385-1f3fd":0,"1f385-1f3fe":0,"1f385-1f3ff":0,"1f3c2-1f3fb":0,"1f3c2-1f3fc":0,"1f3c2-1f3fd":0,"1f3c2-1f3fe":0,"1f3c2-1f3ff":0,"1f3c3-1f3fb-200d-2640-fe0f":0,"1f3c3-1f3fc-200d-2640-fe0f":0,"1f3c3-1f3fd-200d-2640-fe0f":0,"1f3c3-1f3fe-200d-2640-fe0f":0,"1f3c3-1f3ff-200d-2640-fe0f":0,"1f3c3-1f3fb-200d-2642-fe0f":0,"1f3c3-1f3fc-200d-2642-fe0f":0,"1f3c3-1f3fd-200d-2642-fe0f":0,"1f3c3-1f3fe-200d-2642-fe0f":0,"1f3c3-1f3ff-200d-2642-fe0f":0,"1f3c3-1f3fb":0,"1f3c3-1f3fc":0,"1f3c3-1f3fd":0,"1f3c3-1f3fe":0,"1f3c3-1f3ff":0,"1f3c4-1f3fb-200d-2640-fe0f":0,"1f3c4-1f3fc-200d-2640-fe0f":0,"1f3c4-1f3fd-200d-2640-fe0f":0,"1f3c4-1f3fe-200d-2640-fe0f":0,"1f3c4-1f3ff-200d-2640-fe0f":0,"1f3c4-1f3fb-200d-2642-fe0f":0,"1f3c4-1f3fc-200d-2642-fe0f":0,"1f3c4-1f3fd-200d-2642-fe0f":0,"1f3c4-1f3fe-200d-2642-fe0f":0,"1f3c4-1f3ff-200d-2642-fe0f":0,"1f3c4-1f3fb":0,"1f3c4-1f3fc":0,"1f3c4-1f3fd":0,"1f3c4-1f3fe":0,"1f3c4-1f3ff":0,"1f3c7-1f3fb":0,"1f3c7-1f3fc":0,"1f3c7-1f3fd":0,"1f3c7-1f3fe":0,"1f3c7-1f3ff":0,"1f3ca-1f3fb-200d-2640-fe0f":0,"1f3ca-1f3fc-200d-2640-fe0f":0,"1f3ca-1f3fd-200d-2640-fe0f":0,"1f3ca-1f3fe-200d-2640-fe0f":0,"1f3ca-1f3ff-200d-2640-fe0f":0,"1f3ca-1f3fb-200d-2642-fe0f":0,"1f3ca-1f3fc-200d-2642-fe0f":0,"1f3ca-1f3fd-200d-2642-fe0f":0,"1f3ca-1f3fe-200d-2642-fe0f":0,"1f3ca-1f3ff-200d-2642-fe0f":0,"1f3ca-1f3fb":0,"1f3ca-1f3fc":0,"1f3ca-1f3fd":0,"1f3ca-1f3fe":0,"1f3ca-1f3ff":0,"1f3cb-1f3fb-200d-2640-fe0f":0,"1f3cb-1f3fc-200d-2640-fe0f":0,"1f3cb-1f3fd-200d-2640-fe0f":0,"1f3cb-1f3fe-200d-2640-fe0f":0,"1f3cb-1f3ff-200d-2640-fe0f":0,"1f3cb-1f3fb-200d-2642-fe0f":0,"1f3cb-1f3fc-200d-2642-fe0f":0,"1f3cb-1f3fd-200d-2642-fe0f":0,"1f3cb-1f3fe-200d-2642-fe0f":0,"1f3cb-1f3ff-200d-2642-fe0f":0,"1f3cb-1f3fb":0,"1f3cb-1f3fc":0,"1f3cb-1f3fd":0,"1f3cb-1f3fe":0,"1f3cb-1f3ff":0,"1f3cc-1f3fb-200d-2640-fe0f":0,"1f3cc-1f3fc-200d-2640-fe0f":0,"1f3cc-1f3fd-200d-2640-fe0f":0,"1f3cc-1f3fe-200d-2640-fe0f":0,"1f3cc-1f3ff-200d-2640-fe0f":0,"1f3cc-1f3fb-200d-2642-fe0f":0,"1f3cc-1f3fc-200d-2642-fe0f":0,"1f3cc-1f3fd-200d-2642-fe0f":0,"1f3cc-1f3fe-200d-2642-fe0f":0,"1f3cc-1f3ff-200d-2642-fe0f":0,"1f3cc-1f3fb":0,"1f3cc-1f3fc":0,"1f3cc-1f3fd":0,"1f3cc-1f3fe":0,"1f3cc-1f3ff":0,"1f442-1f3fb":0,"1f442-1f3fc":0,"1f442-1f3fd":0,"1f442-1f3fe":0,"1f442-1f3ff":0,"1f443-1f3fb":0,"1f443-1f3fc":0,"1f443-1f3fd":0,"1f443-1f3fe":0,"1f443-1f3ff":0,"1f446-1f3fb":0,"1f446-1f3fc":0,"1f446-1f3fd":0,"1f446-1f3fe":0,"1f446-1f3ff":0,"1f447-1f3fb":0,"1f447-1f3fc":0,"1f447-1f3fd":0,"1f447-1f3fe":0,"1f447-1f3ff":0,"1f448-1f3fb":0,"1f448-1f3fc":0,"1f448-1f3fd":0,"1f448-1f3fe":0,"1f448-1f3ff":0,"1f449-1f3fb":0,"1f449-1f3fc":0,"1f449-1f3fd":0,"1f449-1f3fe":0,"1f449-1f3ff":0,"1f44a-1f3fb":0,"1f44a-1f3fc":0,"1f44a-1f3fd":0,"1f44a-1f3fe":0,"1f44a-1f3ff":0,"1f44b-1f3fb":0,"1f44b-1f3fc":0,"1f44b-1f3fd":0,"1f44b-1f3fe":0,"1f44b-1f3ff":0,"1f44c-1f3fb":0,"1f44c-1f3fc":0,"1f44c-1f3fd":0,"1f44c-1f3fe":0,"1f44c-1f3ff":0,"1f44d-1f3fb":0,"1f44d-1f3fc":0,"1f44d-1f3fd":0,"1f44d-1f3fe":0,"1f44d-1f3ff":0,"1f44e-1f3fb":0,"1f44e-1f3fc":0,"1f44e-1f3fd":0,"1f44e-1f3fe":0,"1f44e-1f3ff":0,"1f44f-1f3fb":0,"1f44f-1f3fc":0,"1f44f-1f3fd":0,"1f44f-1f3fe":0,"1f44f-1f3ff":0,"1f450-1f3fb":0,"1f450-1f3fc":0,"1f450-1f3fd":0,"1f450-1f3fe":0,"1f450-1f3ff":0,"1f466-1f3fb":0,"1f466-1f3fc":0,"1f466-1f3fd":0,"1f466-1f3fe":0,"1f466-1f3ff":0,"1f467-1f3fb":0,"1f467-1f3fc":0,"1f467-1f3fd":0,"1f467-1f3fe":0,"1f467-1f3ff":0,"1f468-1f3fb-200d-1f33e":0,"1f468-1f3fc-200d-1f33e":0,"1f468-1f3fd-200d-1f33e":0,"1f468-1f3fe-200d-1f33e":0,"1f468-1f3ff-200d-1f33e":0,"1f468-1f3fb-200d-1f373":0,"1f468-1f3fc-200d-1f373":0,"1f468-1f3fd-200d-1f373":0,"1f468-1f3fe-200d-1f373":0,"1f468-1f3ff-200d-1f373":0,"1f468-1f3fb-200d-1f393":0,"1f468-1f3fc-200d-1f393":0,"1f468-1f3fd-200d-1f393":0,"1f468-1f3fe-200d-1f393":0,"1f468-1f3ff-200d-1f393":0,"1f468-1f3fb-200d-1f3a4":0,"1f468-1f3fc-200d-1f3a4":0,"1f468-1f3fd-200d-1f3a4":0,"1f468-1f3fe-200d-1f3a4":0,"1f468-1f3ff-200d-1f3a4":0,"1f468-1f3fb-200d-1f3a8":0,"1f468-1f3fc-200d-1f3a8":0,"1f468-1f3fd-200d-1f3a8":0,"1f468-1f3fe-200d-1f3a8":0,"1f468-1f3ff-200d-1f3a8":0,"1f468-1f3fb-200d-1f3eb":0,"1f468-1f3fc-200d-1f3eb":0,"1f468-1f3fd-200d-1f3eb":0,"1f468-1f3fe-200d-1f3eb":0,"1f468-1f3ff-200d-1f3eb":0,"1f468-1f3fb-200d-1f3ed":0,"1f468-1f3fc-200d-1f3ed":0,"1f468-1f3fd-200d-1f3ed":0,"1f468-1f3fe-200d-1f3ed":0,"1f468-1f3ff-200d-1f3ed":0,"1f468-1f3fb-200d-1f4bb":0,"1f468-1f3fc-200d-1f4bb":0,"1f468-1f3fd-200d-1f4bb":0,"1f468-1f3fe-200d-1f4bb":0,"1f468-1f3ff-200d-1f4bb":0,"1f468-1f3fb-200d-1f4bc":0,"1f468-1f3fc-200d-1f4bc":0,"1f468-1f3fd-200d-1f4bc":0,"1f468-1f3fe-200d-1f4bc":0,"1f468-1f3ff-200d-1f4bc":0,"1f468-1f3fb-200d-1f527":0,"1f468-1f3fc-200d-1f527":0,"1f468-1f3fd-200d-1f527":0,"1f468-1f3fe-200d-1f527":0,"1f468-1f3ff-200d-1f527":0,"1f468-1f3fb-200d-1f52c":0,"1f468-1f3fc-200d-1f52c":0,"1f468-1f3fd-200d-1f52c":0,"1f468-1f3fe-200d-1f52c":0,"1f468-1f3ff-200d-1f52c":0,"1f468-1f3fb-200d-1f680":0,"1f468-1f3fc-200d-1f680":0,"1f468-1f3fd-200d-1f680":0,"1f468-1f3fe-200d-1f680":0,"1f468-1f3ff-200d-1f680":0,"1f468-1f3fb-200d-1f692":0,"1f468-1f3fc-200d-1f692":0,"1f468-1f3fd-200d-1f692":0,"1f468-1f3fe-200d-1f692":0,"1f468-1f3ff-200d-1f692":0,"1f468-1f3fb-200d-1f9af":0,"1f468-1f3fc-200d-1f9af":0,"1f468-1f3fd-200d-1f9af":0,"1f468-1f3fe-200d-1f9af":0,"1f468-1f3ff-200d-1f9af":0,"1f468-1f3fb-200d-1f9b0":0,"1f468-1f3fc-200d-1f9b0":0,"1f468-1f3fd-200d-1f9b0":0,"1f468-1f3fe-200d-1f9b0":0,"1f468-1f3ff-200d-1f9b0":0,"1f468-1f3fb-200d-1f9b1":0,"1f468-1f3fc-200d-1f9b1":0,"1f468-1f3fd-200d-1f9b1":0,"1f468-1f3fe-200d-1f9b1":0,"1f468-1f3ff-200d-1f9b1":0,"1f468-1f3fb-200d-1f9b2":0,"1f468-1f3fc-200d-1f9b2":0,"1f468-1f3fd-200d-1f9b2":0,"1f468-1f3fe-200d-1f9b2":0,"1f468-1f3ff-200d-1f9b2":0,"1f468-1f3fb-200d-1f9b3":0,"1f468-1f3fc-200d-1f9b3":0,"1f468-1f3fd-200d-1f9b3":0,"1f468-1f3fe-200d-1f9b3":0,"1f468-1f3ff-200d-1f9b3":0,"1f468-1f3fb-200d-1f9bc":0,"1f468-1f3fc-200d-1f9bc":0,"1f468-1f3fd-200d-1f9bc":0,"1f468-1f3fe-200d-1f9bc":0,"1f468-1f3ff-200d-1f9bc":0,"1f468-1f3fb-200d-1f9bd":0,"1f468-1f3fc-200d-1f9bd":0,"1f468-1f3fd-200d-1f9bd":0,"1f468-1f3fe-200d-1f9bd":0,"1f468-1f3ff-200d-1f9bd":0,"1f468-1f3fb-200d-2695-fe0f":0,"1f468-1f3fc-200d-2695-fe0f":0,"1f468-1f3fd-200d-2695-fe0f":0,"1f468-1f3fe-200d-2695-fe0f":0,"1f468-1f3ff-200d-2695-fe0f":0,"1f468-1f3fb-200d-2696-fe0f":0,"1f468-1f3fc-200d-2696-fe0f":0,"1f468-1f3fd-200d-2696-fe0f":0,"1f468-1f3fe-200d-2696-fe0f":0,"1f468-1f3ff-200d-2696-fe0f":0,"1f468-1f3fb-200d-2708-fe0f":0,"1f468-1f3fc-200d-2708-fe0f":0,"1f468-1f3fd-200d-2708-fe0f":0,"1f468-1f3fe-200d-2708-fe0f":0,"1f468-1f3ff-200d-2708-fe0f":0,"1f468-1f3fb":0,"1f468-1f3fc":0,"1f468-1f3fd":0,"1f468-1f3fe":0,"1f468-1f3ff":0,"1f469-1f3fb-200d-1f33e":0,"1f469-1f3fc-200d-1f33e":0,"1f469-1f3fd-200d-1f33e":0,"1f469-1f3fe-200d-1f33e":0,"1f469-1f3ff-200d-1f33e":0,"1f469-1f3fb-200d-1f373":0,"1f469-1f3fc-200d-1f373":0,"1f469-1f3fd-200d-1f373":0,"1f469-1f3fe-200d-1f373":0,"1f469-1f3ff-200d-1f373":0,"1f469-1f3fb-200d-1f393":0,"1f469-1f3fc-200d-1f393":0,"1f469-1f3fd-200d-1f393":0,"1f469-1f3fe-200d-1f393":0,"1f469-1f3ff-200d-1f393":0,"1f469-1f3fb-200d-1f3a4":0,"1f469-1f3fc-200d-1f3a4":0,"1f469-1f3fd-200d-1f3a4":0,"1f469-1f3fe-200d-1f3a4":0,"1f469-1f3ff-200d-1f3a4":0,"1f469-1f3fb-200d-1f3a8":0,"1f469-1f3fc-200d-1f3a8":0,"1f469-1f3fd-200d-1f3a8":0,"1f469-1f3fe-200d-1f3a8":0,"1f469-1f3ff-200d-1f3a8":0,"1f469-1f3fb-200d-1f3eb":0,"1f469-1f3fc-200d-1f3eb":0,"1f469-1f3fd-200d-1f3eb":0,"1f469-1f3fe-200d-1f3eb":0,"1f469-1f3ff-200d-1f3eb":0,"1f469-1f3fb-200d-1f3ed":0,"1f469-1f3fc-200d-1f3ed":0,"1f469-1f3fd-200d-1f3ed":0,"1f469-1f3fe-200d-1f3ed":0,"1f469-1f3ff-200d-1f3ed":0,"1f469-1f3fb-200d-1f4bb":0,"1f469-1f3fc-200d-1f4bb":0,"1f469-1f3fd-200d-1f4bb":0,"1f469-1f3fe-200d-1f4bb":0,"1f469-1f3ff-200d-1f4bb":0,"1f469-1f3fb-200d-1f4bc":0,"1f469-1f3fc-200d-1f4bc":0,"1f469-1f3fd-200d-1f4bc":0,"1f469-1f3fe-200d-1f4bc":0,"1f469-1f3ff-200d-1f4bc":0,"1f469-1f3fb-200d-1f527":0,"1f469-1f3fc-200d-1f527":0,"1f469-1f3fd-200d-1f527":0,"1f469-1f3fe-200d-1f527":0,"1f469-1f3ff-200d-1f527":0,"1f469-1f3fb-200d-1f52c":0,"1f469-1f3fc-200d-1f52c":0,"1f469-1f3fd-200d-1f52c":0,"1f469-1f3fe-200d-1f52c":0,"1f469-1f3ff-200d-1f52c":0,"1f469-1f3fb-200d-1f680":0,"1f469-1f3fc-200d-1f680":0,"1f469-1f3fd-200d-1f680":0,"1f469-1f3fe-200d-1f680":0,"1f469-1f3ff-200d-1f680":0,"1f469-1f3fb-200d-1f692":0,"1f469-1f3fc-200d-1f692":0,"1f469-1f3fd-200d-1f692":0,"1f469-1f3fe-200d-1f692":0,"1f469-1f3ff-200d-1f692":0,"1f469-1f3fb-200d-1f9af":0,"1f469-1f3fc-200d-1f9af":0,"1f469-1f3fd-200d-1f9af":0,"1f469-1f3fe-200d-1f9af":0,"1f469-1f3ff-200d-1f9af":0,"1f469-1f3fb-200d-1f9b0":0,"1f469-1f3fc-200d-1f9b0":0,"1f469-1f3fd-200d-1f9b0":0,"1f469-1f3fe-200d-1f9b0":0,"1f469-1f3ff-200d-1f9b0":0,"1f469-1f3fb-200d-1f9b1":0,"1f469-1f3fc-200d-1f9b1":0,"1f469-1f3fd-200d-1f9b1":0,"1f469-1f3fe-200d-1f9b1":0,"1f469-1f3ff-200d-1f9b1":0,"1f469-1f3fb-200d-1f9b2":0,"1f469-1f3fc-200d-1f9b2":0,"1f469-1f3fd-200d-1f9b2":0,"1f469-1f3fe-200d-1f9b2":0,"1f469-1f3ff-200d-1f9b2":0,"1f469-1f3fb-200d-1f9b3":0,"1f469-1f3fc-200d-1f9b3":0,"1f469-1f3fd-200d-1f9b3":0,"1f469-1f3fe-200d-1f9b3":0,"1f469-1f3ff-200d-1f9b3":0,"1f469-1f3fb-200d-1f9bc":0,"1f469-1f3fc-200d-1f9bc":0,"1f469-1f3fd-200d-1f9bc":0,"1f469-1f3fe-200d-1f9bc":0,"1f469-1f3ff-200d-1f9bc":0,"1f469-1f3fb-200d-1f9bd":0,"1f469-1f3fc-200d-1f9bd":0,"1f469-1f3fd-200d-1f9bd":0,"1f469-1f3fe-200d-1f9bd":0,"1f469-1f3ff-200d-1f9bd":0,"1f469-1f3fb-200d-2695-fe0f":0,"1f469-1f3fc-200d-2695-fe0f":0,"1f469-1f3fd-200d-2695-fe0f":0,"1f469-1f3fe-200d-2695-fe0f":0,"1f469-1f3ff-200d-2695-fe0f":0,"1f469-1f3fb-200d-2696-fe0f":0,"1f469-1f3fc-200d-2696-fe0f":0,"1f469-1f3fd-200d-2696-fe0f":0,"1f469-1f3fe-200d-2696-fe0f":0,"1f469-1f3ff-200d-2696-fe0f":0,"1f469-1f3fb-200d-2708-fe0f":0,"1f469-1f3fc-200d-2708-fe0f":0,"1f469-1f3fd-200d-2708-fe0f":0,"1f469-1f3fe-200d-2708-fe0f":0,"1f469-1f3ff-200d-2708-fe0f":0,"1f469-1f3fb":0,"1f469-1f3fc":0,"1f469-1f3fd":0,"1f469-1f3fe":0,"1f469-1f3ff":0,"1f46b-1f3fb":0,"1f46b-1f3fc":0,"1f46b-1f3fd":0,"1f46b-1f3fe":0,"1f46b-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46c-1f3fb":0,"1f46c-1f3fc":0,"1f46c-1f3fd":0,"1f46c-1f3fe":0,"1f46c-1f3ff":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46d-1f3fb":0,"1f46d-1f3fc":0,"1f46d-1f3fd":0,"1f46d-1f3fe":0,"1f46d-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe":0,"1f46e-1f3fb-200d-2640-fe0f":0,"1f46e-1f3fc-200d-2640-fe0f":0,"1f46e-1f3fd-200d-2640-fe0f":0,"1f46e-1f3fe-200d-2640-fe0f":0,"1f46e-1f3ff-200d-2640-fe0f":0,"1f46e-1f3fb-200d-2642-fe0f":0,"1f46e-1f3fc-200d-2642-fe0f":0,"1f46e-1f3fd-200d-2642-fe0f":0,"1f46e-1f3fe-200d-2642-fe0f":0,"1f46e-1f3ff-200d-2642-fe0f":0,"1f46e-1f3fb":0,"1f46e-1f3fc":0,"1f46e-1f3fd":0,"1f46e-1f3fe":0,"1f46e-1f3ff":0,"1f470-1f3fb":0,"1f470-1f3fc":0,"1f470-1f3fd":0,"1f470-1f3fe":0,"1f470-1f3ff":0,"1f471-1f3fb-200d-2640-fe0f":0,"1f471-1f3fc-200d-2640-fe0f":0,"1f471-1f3fd-200d-2640-fe0f":0,"1f471-1f3fe-200d-2640-fe0f":0,"1f471-1f3ff-200d-2640-fe0f":0,"1f471-1f3fb-200d-2642-fe0f":0,"1f471-1f3fc-200d-2642-fe0f":0,"1f471-1f3fd-200d-2642-fe0f":0,"1f471-1f3fe-200d-2642-fe0f":0,"1f471-1f3ff-200d-2642-fe0f":0,"1f471-1f3fb":0,"1f471-1f3fc":0,"1f471-1f3fd":0,"1f471-1f3fe":0,"1f471-1f3ff":0,"1f472-1f3fb":0,"1f472-1f3fc":0,"1f472-1f3fd":0,"1f472-1f3fe":0,"1f472-1f3ff":0,"1f473-1f3fb-200d-2640-fe0f":0,"1f473-1f3fc-200d-2640-fe0f":0,"1f473-1f3fd-200d-2640-fe0f":0,"1f473-1f3fe-200d-2640-fe0f":0,"1f473-1f3ff-200d-2640-fe0f":0,"1f473-1f3fb-200d-2642-fe0f":0,"1f473-1f3fc-200d-2642-fe0f":0,"1f473-1f3fd-200d-2642-fe0f":0,"1f473-1f3fe-200d-2642-fe0f":0,"1f473-1f3ff-200d-2642-fe0f":0,"1f473-1f3fb":0,"1f473-1f3fc":0,"1f473-1f3fd":0,"1f473-1f3fe":0,"1f473-1f3ff":0,"1f474-1f3fb":0,"1f474-1f3fc":0,"1f474-1f3fd":0,"1f474-1f3fe":0,"1f474-1f3ff":0,"1f475-1f3fb":0,"1f475-1f3fc":0,"1f475-1f3fd":0,"1f475-1f3fe":0,"1f475-1f3ff":0,"1f476-1f3fb":0,"1f476-1f3fc":0,"1f476-1f3fd":0,"1f476-1f3fe":0,"1f476-1f3ff":0,"1f477-1f3fb-200d-2640-fe0f":0,"1f477-1f3fc-200d-2640-fe0f":0,"1f477-1f3fd-200d-2640-fe0f":0,"1f477-1f3fe-200d-2640-fe0f":0,"1f477-1f3ff-200d-2640-fe0f":0,"1f477-1f3fb-200d-2642-fe0f":0,"1f477-1f3fc-200d-2642-fe0f":0,"1f477-1f3fd-200d-2642-fe0f":0,"1f477-1f3fe-200d-2642-fe0f":0,"1f477-1f3ff-200d-2642-fe0f":0,"1f477-1f3fb":0,"1f477-1f3fc":0,"1f477-1f3fd":0,"1f477-1f3fe":0,"1f477-1f3ff":0,"1f478-1f3fb":0,"1f478-1f3fc":0,"1f478-1f3fd":0,"1f478-1f3fe":0,"1f478-1f3ff":0,"1f47c-1f3fb":0,"1f47c-1f3fc":0,"1f47c-1f3fd":0,"1f47c-1f3fe":0,"1f47c-1f3ff":0,"1f481-1f3fb-200d-2640-fe0f":0,"1f481-1f3fc-200d-2640-fe0f":0,"1f481-1f3fd-200d-2640-fe0f":0,"1f481-1f3fe-200d-2640-fe0f":0,"1f481-1f3ff-200d-2640-fe0f":0,"1f481-1f3fb-200d-2642-fe0f":0,"1f481-1f3fc-200d-2642-fe0f":0,"1f481-1f3fd-200d-2642-fe0f":0,"1f481-1f3fe-200d-2642-fe0f":0,"1f481-1f3ff-200d-2642-fe0f":0,"1f481-1f3fb":0,"1f481-1f3fc":0,"1f481-1f3fd":0,"1f481-1f3fe":0,"1f481-1f3ff":0,"1f482-1f3fb-200d-2640-fe0f":0,"1f482-1f3fc-200d-2640-fe0f":0,"1f482-1f3fd-200d-2640-fe0f":0,"1f482-1f3fe-200d-2640-fe0f":0,"1f482-1f3ff-200d-2640-fe0f":0,"1f482-1f3fb-200d-2642-fe0f":0,"1f482-1f3fc-200d-2642-fe0f":0,"1f482-1f3fd-200d-2642-fe0f":0,"1f482-1f3fe-200d-2642-fe0f":0,"1f482-1f3ff-200d-2642-fe0f":0,"1f482-1f3fb":0,"1f482-1f3fc":0,"1f482-1f3fd":0,"1f482-1f3fe":0,"1f482-1f3ff":0,"1f483-1f3fb":0,"1f483-1f3fc":0,"1f483-1f3fd":0,"1f483-1f3fe":0,"1f483-1f3ff":0,"1f485-1f3fb":0,"1f485-1f3fc":0,"1f485-1f3fd":0,"1f485-1f3fe":0,"1f485-1f3ff":0,"1f486-1f3fb-200d-2640-fe0f":0,"1f486-1f3fc-200d-2640-fe0f":0,"1f486-1f3fd-200d-2640-fe0f":0,"1f486-1f3fe-200d-2640-fe0f":0,"1f486-1f3ff-200d-2640-fe0f":0,"1f486-1f3fb-200d-2642-fe0f":0,"1f486-1f3fc-200d-2642-fe0f":0,"1f486-1f3fd-200d-2642-fe0f":0,"1f486-1f3fe-200d-2642-fe0f":0,"1f486-1f3ff-200d-2642-fe0f":0,"1f486-1f3fb":0,"1f486-1f3fc":0,"1f486-1f3fd":0,"1f486-1f3fe":0,"1f486-1f3ff":0,"1f487-1f3fb-200d-2640-fe0f":0,"1f487-1f3fc-200d-2640-fe0f":0,"1f487-1f3fd-200d-2640-fe0f":0,"1f487-1f3fe-200d-2640-fe0f":0,"1f487-1f3ff-200d-2640-fe0f":0,"1f487-1f3fb-200d-2642-fe0f":0,"1f487-1f3fc-200d-2642-fe0f":0,"1f487-1f3fd-200d-2642-fe0f":0,"1f487-1f3fe-200d-2642-fe0f":0,"1f487-1f3ff-200d-2642-fe0f":0,"1f487-1f3fb":0,"1f487-1f3fc":0,"1f487-1f3fd":0,"1f487-1f3fe":0,"1f487-1f3ff":0,"1f4aa-1f3fb":0,"1f4aa-1f3fc":0,"1f4aa-1f3fd":0,"1f4aa-1f3fe":0,"1f4aa-1f3ff":0,"1f574-1f3fb":0,"1f574-1f3fc":0,"1f574-1f3fd":0,"1f574-1f3fe":0,"1f574-1f3ff":0,"1f575-1f3fb-200d-2640-fe0f":0,"1f575-1f3fc-200d-2640-fe0f":0,"1f575-1f3fd-200d-2640-fe0f":0,"1f575-1f3fe-200d-2640-fe0f":0,"1f575-1f3ff-200d-2640-fe0f":0,"1f575-1f3fb-200d-2642-fe0f":0,"1f575-1f3fc-200d-2642-fe0f":0,"1f575-1f3fd-200d-2642-fe0f":0,"1f575-1f3fe-200d-2642-fe0f":0,"1f575-1f3ff-200d-2642-fe0f":0,"1f575-1f3fb":0,"1f575-1f3fc":0,"1f575-1f3fd":0,"1f575-1f3fe":0,"1f575-1f3ff":0,"1f57a-1f3fb":0,"1f57a-1f3fc":0,"1f57a-1f3fd":0,"1f57a-1f3fe":0,"1f57a-1f3ff":0,"1f590-1f3fb":0,"1f590-1f3fc":0,"1f590-1f3fd":0,"1f590-1f3fe":0,"1f590-1f3ff":0,"1f595-1f3fb":0,"1f595-1f3fc":0,"1f595-1f3fd":0,"1f595-1f3fe":0,"1f595-1f3ff":0,"1f596-1f3fb":0,"1f596-1f3fc":0,"1f596-1f3fd":0,"1f596-1f3fe":0,"1f596-1f3ff":0,"1f645-1f3fb-200d-2640-fe0f":0,"1f645-1f3fc-200d-2640-fe0f":0,"1f645-1f3fd-200d-2640-fe0f":0,"1f645-1f3fe-200d-2640-fe0f":0,"1f645-1f3ff-200d-2640-fe0f":0,"1f645-1f3fb-200d-2642-fe0f":0,"1f645-1f3fc-200d-2642-fe0f":0,"1f645-1f3fd-200d-2642-fe0f":0,"1f645-1f3fe-200d-2642-fe0f":0,"1f645-1f3ff-200d-2642-fe0f":0,"1f645-1f3fb":0,"1f645-1f3fc":0,"1f645-1f3fd":0,"1f645-1f3fe":0,"1f645-1f3ff":0,"1f646-1f3fb-200d-2640-fe0f":0,"1f646-1f3fc-200d-2640-fe0f":0,"1f646-1f3fd-200d-2640-fe0f":0,"1f646-1f3fe-200d-2640-fe0f":0,"1f646-1f3ff-200d-2640-fe0f":0,"1f646-1f3fb-200d-2642-fe0f":0,"1f646-1f3fc-200d-2642-fe0f":0,"1f646-1f3fd-200d-2642-fe0f":0,"1f646-1f3fe-200d-2642-fe0f":0,"1f646-1f3ff-200d-2642-fe0f":0,"1f646-1f3fb":0,"1f646-1f3fc":0,"1f646-1f3fd":0,"1f646-1f3fe":0,"1f646-1f3ff":0,"1f647-1f3fb-200d-2640-fe0f":0,"1f647-1f3fc-200d-2640-fe0f":0,"1f647-1f3fd-200d-2640-fe0f":0,"1f647-1f3fe-200d-2640-fe0f":0,"1f647-1f3ff-200d-2640-fe0f":0,"1f647-1f3fb-200d-2642-fe0f":0,"1f647-1f3fc-200d-2642-fe0f":0,"1f647-1f3fd-200d-2642-fe0f":0,"1f647-1f3fe-200d-2642-fe0f":0,"1f647-1f3ff-200d-2642-fe0f":0,"1f647-1f3fb":0,"1f647-1f3fc":0,"1f647-1f3fd":0,"1f647-1f3fe":0,"1f647-1f3ff":0,"1f64b-1f3fb-200d-2640-fe0f":0,"1f64b-1f3fc-200d-2640-fe0f":0,"1f64b-1f3fd-200d-2640-fe0f":0,"1f64b-1f3fe-200d-2640-fe0f":0,"1f64b-1f3ff-200d-2640-fe0f":0,"1f64b-1f3fb-200d-2642-fe0f":0,"1f64b-1f3fc-200d-2642-fe0f":0,"1f64b-1f3fd-200d-2642-fe0f":0,"1f64b-1f3fe-200d-2642-fe0f":0,"1f64b-1f3ff-200d-2642-fe0f":0,"1f64b-1f3fb":0,"1f64b-1f3fc":0,"1f64b-1f3fd":0,"1f64b-1f3fe":0,"1f64b-1f3ff":0,"1f64c-1f3fb":0,"1f64c-1f3fc":0,"1f64c-1f3fd":0,"1f64c-1f3fe":0,"1f64c-1f3ff":0,"1f64d-1f3fb-200d-2640-fe0f":0,"1f64d-1f3fc-200d-2640-fe0f":0,"1f64d-1f3fd-200d-2640-fe0f":0,"1f64d-1f3fe-200d-2640-fe0f":0,"1f64d-1f3ff-200d-2640-fe0f":0,"1f64d-1f3fb-200d-2642-fe0f":0,"1f64d-1f3fc-200d-2642-fe0f":0,"1f64d-1f3fd-200d-2642-fe0f":0,"1f64d-1f3fe-200d-2642-fe0f":0,"1f64d-1f3ff-200d-2642-fe0f":0,"1f64d-1f3fb":0,"1f64d-1f3fc":0,"1f64d-1f3fd":0,"1f64d-1f3fe":0,"1f64d-1f3ff":0,"1f64e-1f3fb-200d-2640-fe0f":0,"1f64e-1f3fc-200d-2640-fe0f":0,"1f64e-1f3fd-200d-2640-fe0f":0,"1f64e-1f3fe-200d-2640-fe0f":0,"1f64e-1f3ff-200d-2640-fe0f":0,"1f64e-1f3fb-200d-2642-fe0f":0,"1f64e-1f3fc-200d-2642-fe0f":0,"1f64e-1f3fd-200d-2642-fe0f":0,"1f64e-1f3fe-200d-2642-fe0f":0,"1f64e-1f3ff-200d-2642-fe0f":0,"1f64e-1f3fb":0,"1f64e-1f3fc":0,"1f64e-1f3fd":0,"1f64e-1f3fe":0,"1f64e-1f3ff":0,"1f64f-1f3fb":0,"1f64f-1f3fc":0,"1f64f-1f3fd":0,"1f64f-1f3fe":0,"1f64f-1f3ff":0,"1f6a3-1f3fb-200d-2640-fe0f":0,"1f6a3-1f3fc-200d-2640-fe0f":0,"1f6a3-1f3fd-200d-2640-fe0f":0,"1f6a3-1f3fe-200d-2640-fe0f":0,"1f6a3-1f3ff-200d-2640-fe0f":0,"1f6a3-1f3fb-200d-2642-fe0f":0,"1f6a3-1f3fc-200d-2642-fe0f":0,"1f6a3-1f3fd-200d-2642-fe0f":0,"1f6a3-1f3fe-200d-2642-fe0f":0,"1f6a3-1f3ff-200d-2642-fe0f":0,"1f6a3-1f3fb":0,"1f6a3-1f3fc":0,"1f6a3-1f3fd":0,"1f6a3-1f3fe":0,"1f6a3-1f3ff":0,"1f6b4-1f3fb-200d-2640-fe0f":0,"1f6b4-1f3fc-200d-2640-fe0f":0,"1f6b4-1f3fd-200d-2640-fe0f":0,"1f6b4-1f3fe-200d-2640-fe0f":0,"1f6b4-1f3ff-200d-2640-fe0f":0,"1f6b4-1f3fb-200d-2642-fe0f":0,"1f6b4-1f3fc-200d-2642-fe0f":0,"1f6b4-1f3fd-200d-2642-fe0f":0,"1f6b4-1f3fe-200d-2642-fe0f":0,"1f6b4-1f3ff-200d-2642-fe0f":0,"1f6b4-1f3fb":0,"1f6b4-1f3fc":0,"1f6b4-1f3fd":0,"1f6b4-1f3fe":0,"1f6b4-1f3ff":0,"1f6b5-1f3fb-200d-2640-fe0f":0,"1f6b5-1f3fc-200d-2640-fe0f":0,"1f6b5-1f3fd-200d-2640-fe0f":0,"1f6b5-1f3fe-200d-2640-fe0f":0,"1f6b5-1f3ff-200d-2640-fe0f":0,"1f6b5-1f3fb-200d-2642-fe0f":0,"1f6b5-1f3fc-200d-2642-fe0f":0,"1f6b5-1f3fd-200d-2642-fe0f":0,"1f6b5-1f3fe-200d-2642-fe0f":0,"1f6b5-1f3ff-200d-2642-fe0f":0,"1f6b5-1f3fb":0,"1f6b5-1f3fc":0,"1f6b5-1f3fd":0,"1f6b5-1f3fe":0,"1f6b5-1f3ff":0,"1f6b6-1f3fb-200d-2640-fe0f":0,"1f6b6-1f3fc-200d-2640-fe0f":0,"1f6b6-1f3fd-200d-2640-fe0f":0,"1f6b6-1f3fe-200d-2640-fe0f":0,"1f6b6-1f3ff-200d-2640-fe0f":0,"1f6b6-1f3fb-200d-2642-fe0f":0,"1f6b6-1f3fc-200d-2642-fe0f":0,"1f6b6-1f3fd-200d-2642-fe0f":0,"1f6b6-1f3fe-200d-2642-fe0f":0,"1f6b6-1f3ff-200d-2642-fe0f":0,"1f6b6-1f3fb":0,"1f6b6-1f3fc":0,"1f6b6-1f3fd":0,"1f6b6-1f3fe":0,"1f6b6-1f3ff":0,"1f6c0-1f3fb":0,"1f6c0-1f3fc":0,"1f6c0-1f3fd":0,"1f6c0-1f3fe":0,"1f6c0-1f3ff":0,"1f6cc-1f3fb":0,"1f6cc-1f3fc":0,"1f6cc-1f3fd":0,"1f6cc-1f3fe":0,"1f6cc-1f3ff":0,"1f90f-1f3fb":0,"1f90f-1f3fc":0,"1f90f-1f3fd":0,"1f90f-1f3fe":0,"1f90f-1f3ff":0,"1f918-1f3fb":0,"1f918-1f3fc":0,"1f918-1f3fd":0,"1f918-1f3fe":0,"1f918-1f3ff":0,"1f919-1f3fb":0,"1f919-1f3fc":0,"1f919-1f3fd":0,"1f919-1f3fe":0,"1f919-1f3ff":0,"1f91a-1f3fb":0,"1f91a-1f3fc":0,"1f91a-1f3fd":0,"1f91a-1f3fe":0,"1f91a-1f3ff":0,"1f91b-1f3fb":0,"1f91b-1f3fc":0,"1f91b-1f3fd":0,"1f91b-1f3fe":0,"1f91b-1f3ff":0,"1f91c-1f3fb":0,"1f91c-1f3fc":0,"1f91c-1f3fd":0,"1f91c-1f3fe":0,"1f91c-1f3ff":0,"1f91e-1f3fb":0,"1f91e-1f3fc":0,"1f91e-1f3fd":0,"1f91e-1f3fe":0,"1f91e-1f3ff":0,"1f91f-1f3fb":0,"1f91f-1f3fc":0,"1f91f-1f3fd":0,"1f91f-1f3fe":0,"1f91f-1f3ff":0,"1f926-1f3fb-200d-2640-fe0f":0,"1f926-1f3fc-200d-2640-fe0f":0,"1f926-1f3fd-200d-2640-fe0f":0,"1f926-1f3fe-200d-2640-fe0f":0,"1f926-1f3ff-200d-2640-fe0f":0,"1f926-1f3fb-200d-2642-fe0f":0,"1f926-1f3fc-200d-2642-fe0f":0,"1f926-1f3fd-200d-2642-fe0f":0,"1f926-1f3fe-200d-2642-fe0f":0,"1f926-1f3ff-200d-2642-fe0f":0,"1f926-1f3fb":0,"1f926-1f3fc":0,"1f926-1f3fd":0,"1f926-1f3fe":0,"1f926-1f3ff":0,"1f930-1f3fb":0,"1f930-1f3fc":0,"1f930-1f3fd":0,"1f930-1f3fe":0,"1f930-1f3ff":0,"1f931-1f3fb":0,"1f931-1f3fc":0,"1f931-1f3fd":0,"1f931-1f3fe":0,"1f931-1f3ff":0,"1f932-1f3fb":0,"1f932-1f3fc":0,"1f932-1f3fd":0,"1f932-1f3fe":0,"1f932-1f3ff":0,"1f933-1f3fb":0,"1f933-1f3fc":0,"1f933-1f3fd":0,"1f933-1f3fe":0,"1f933-1f3ff":0,"1f934-1f3fb":0,"1f934-1f3fc":0,"1f934-1f3fd":0,"1f934-1f3fe":0,"1f934-1f3ff":0,"1f935-1f3fb":0,"1f935-1f3fc":0,"1f935-1f3fd":0,"1f935-1f3fe":0,"1f935-1f3ff":0,"1f936-1f3fb":0,"1f936-1f3fc":0,"1f936-1f3fd":0,"1f936-1f3fe":0,"1f936-1f3ff":0,"1f937-1f3fb-200d-2640-fe0f":0,"1f937-1f3fc-200d-2640-fe0f":0,"1f937-1f3fd-200d-2640-fe0f":0,"1f937-1f3fe-200d-2640-fe0f":0,"1f937-1f3ff-200d-2640-fe0f":0,"1f937-1f3fb-200d-2642-fe0f":0,"1f937-1f3fc-200d-2642-fe0f":0,"1f937-1f3fd-200d-2642-fe0f":0,"1f937-1f3fe-200d-2642-fe0f":0,"1f937-1f3ff-200d-2642-fe0f":0,"1f937-1f3fb":0,"1f937-1f3fc":0,"1f937-1f3fd":0,"1f937-1f3fe":0,"1f937-1f3ff":0,"1f938-1f3fb-200d-2640-fe0f":0,"1f938-1f3fc-200d-2640-fe0f":0,"1f938-1f3fd-200d-2640-fe0f":0,"1f938-1f3fe-200d-2640-fe0f":0,"1f938-1f3ff-200d-2640-fe0f":0,"1f938-1f3fb-200d-2642-fe0f":0,"1f938-1f3fc-200d-2642-fe0f":0,"1f938-1f3fd-200d-2642-fe0f":0,"1f938-1f3fe-200d-2642-fe0f":0,"1f938-1f3ff-200d-2642-fe0f":0,"1f938-1f3fb":0,"1f938-1f3fc":0,"1f938-1f3fd":0,"1f938-1f3fe":0,"1f938-1f3ff":0,"1f939-1f3fb-200d-2640-fe0f":0,"1f939-1f3fc-200d-2640-fe0f":0,"1f939-1f3fd-200d-2640-fe0f":0,"1f939-1f3fe-200d-2640-fe0f":0,"1f939-1f3ff-200d-2640-fe0f":0,"1f939-1f3fb-200d-2642-fe0f":0,"1f939-1f3fc-200d-2642-fe0f":0,"1f939-1f3fd-200d-2642-fe0f":0,"1f939-1f3fe-200d-2642-fe0f":0,"1f939-1f3ff-200d-2642-fe0f":0,"1f939-1f3fb":0,"1f939-1f3fc":0,"1f939-1f3fd":0,"1f939-1f3fe":0,"1f939-1f3ff":0,"1f93d-1f3fb-200d-2640-fe0f":0,"1f93d-1f3fc-200d-2640-fe0f":0,"1f93d-1f3fd-200d-2640-fe0f":0,"1f93d-1f3fe-200d-2640-fe0f":0,"1f93d-1f3ff-200d-2640-fe0f":0,"1f93d-1f3fb-200d-2642-fe0f":0,"1f93d-1f3fc-200d-2642-fe0f":0,"1f93d-1f3fd-200d-2642-fe0f":0,"1f93d-1f3fe-200d-2642-fe0f":0,"1f93d-1f3ff-200d-2642-fe0f":0,"1f93d-1f3fb":0,"1f93d-1f3fc":0,"1f93d-1f3fd":0,"1f93d-1f3fe":0,"1f93d-1f3ff":0,"1f93e-1f3fb-200d-2640-fe0f":0,"1f93e-1f3fc-200d-2640-fe0f":0,"1f93e-1f3fd-200d-2640-fe0f":0,"1f93e-1f3fe-200d-2640-fe0f":0,"1f93e-1f3ff-200d-2640-fe0f":0,"1f93e-1f3fb-200d-2642-fe0f":0,"1f93e-1f3fc-200d-2642-fe0f":0,"1f93e-1f3fd-200d-2642-fe0f":0,"1f93e-1f3fe-200d-2642-fe0f":0,"1f93e-1f3ff-200d-2642-fe0f":0,"1f93e-1f3fb":0,"1f93e-1f3fc":0,"1f93e-1f3fd":0,"1f93e-1f3fe":0,"1f93e-1f3ff":0,"1f9b5-1f3fb":0,"1f9b5-1f3fc":0,"1f9b5-1f3fd":0,"1f9b5-1f3fe":0,"1f9b5-1f3ff":0,"1f9b6-1f3fb":0,"1f9b6-1f3fc":0,"1f9b6-1f3fd":0,"1f9b6-1f3fe":0,"1f9b6-1f3ff":0,"1f9b8-1f3fb-200d-2640-fe0f":0,"1f9b8-1f3fc-200d-2640-fe0f":0,"1f9b8-1f3fd-200d-2640-fe0f":0,"1f9b8-1f3fe-200d-2640-fe0f":0,"1f9b8-1f3ff-200d-2640-fe0f":0,"1f9b8-1f3fb-200d-2642-fe0f":0,"1f9b8-1f3fc-200d-2642-fe0f":0,"1f9b8-1f3fd-200d-2642-fe0f":0,"1f9b8-1f3fe-200d-2642-fe0f":0,"1f9b8-1f3ff-200d-2642-fe0f":0,"1f9b8-1f3fb":0,"1f9b8-1f3fc":0,"1f9b8-1f3fd":0,"1f9b8-1f3fe":0,"1f9b8-1f3ff":0,"1f9b9-1f3fb-200d-2640-fe0f":0,"1f9b9-1f3fc-200d-2640-fe0f":0,"1f9b9-1f3fd-200d-2640-fe0f":0,"1f9b9-1f3fe-200d-2640-fe0f":0,"1f9b9-1f3ff-200d-2640-fe0f":0,"1f9b9-1f3fb-200d-2642-fe0f":0,"1f9b9-1f3fc-200d-2642-fe0f":0,"1f9b9-1f3fd-200d-2642-fe0f":0,"1f9b9-1f3fe-200d-2642-fe0f":0,"1f9b9-1f3ff-200d-2642-fe0f":0,"1f9b9-1f3fb":0,"1f9b9-1f3fc":0,"1f9b9-1f3fd":0,"1f9b9-1f3fe":0,"1f9b9-1f3ff":0,"1f9bb-1f3fb":0,"1f9bb-1f3fc":0,"1f9bb-1f3fd":0,"1f9bb-1f3fe":0,"1f9bb-1f3ff":0,"1f9cd-1f3fb-200d-2640-fe0f":0,"1f9cd-1f3fc-200d-2640-fe0f":0,"1f9cd-1f3fd-200d-2640-fe0f":0,"1f9cd-1f3fe-200d-2640-fe0f":0,"1f9cd-1f3ff-200d-2640-fe0f":0,"1f9cd-1f3fb-200d-2642-fe0f":0,"1f9cd-1f3fc-200d-2642-fe0f":0,"1f9cd-1f3fd-200d-2642-fe0f":0,"1f9cd-1f3fe-200d-2642-fe0f":0,"1f9cd-1f3ff-200d-2642-fe0f":0,"1f9cd-1f3fb":0,"1f9cd-1f3fc":0,"1f9cd-1f3fd":0,"1f9cd-1f3fe":0,"1f9cd-1f3ff":0,"1f9ce-1f3fb-200d-2640-fe0f":0,"1f9ce-1f3fc-200d-2640-fe0f":0,"1f9ce-1f3fd-200d-2640-fe0f":0,"1f9ce-1f3fe-200d-2640-fe0f":0,"1f9ce-1f3ff-200d-2640-fe0f":0,"1f9ce-1f3fb-200d-2642-fe0f":0,"1f9ce-1f3fc-200d-2642-fe0f":0,"1f9ce-1f3fd-200d-2642-fe0f":0,"1f9ce-1f3fe-200d-2642-fe0f":0,"1f9ce-1f3ff-200d-2642-fe0f":0,"1f9ce-1f3fb":0,"1f9ce-1f3fc":0,"1f9ce-1f3fd":0,"1f9ce-1f3fe":0,"1f9ce-1f3ff":0,"1f9cf-1f3fb-200d-2640-fe0f":0,"1f9cf-1f3fc-200d-2640-fe0f":0,"1f9cf-1f3fd-200d-2640-fe0f":0,"1f9cf-1f3fe-200d-2640-fe0f":0,"1f9cf-1f3ff-200d-2640-fe0f":0,"1f9cf-1f3fb-200d-2642-fe0f":0,"1f9cf-1f3fc-200d-2642-fe0f":0,"1f9cf-1f3fd-200d-2642-fe0f":0,"1f9cf-1f3fe-200d-2642-fe0f":0,"1f9cf-1f3ff-200d-2642-fe0f":0,"1f9cf-1f3fb":0,"1f9cf-1f3fc":0,"1f9cf-1f3fd":0,"1f9cf-1f3fe":0,"1f9cf-1f3ff":0,"1f9d1-1f3fb-200d-1f33e":0,"1f9d1-1f3fc-200d-1f33e":0,"1f9d1-1f3fd-200d-1f33e":0,"1f9d1-1f3fe-200d-1f33e":0,"1f9d1-1f3ff-200d-1f33e":0,"1f9d1-1f3fb-200d-1f373":0,"1f9d1-1f3fc-200d-1f373":0,"1f9d1-1f3fd-200d-1f373":0,"1f9d1-1f3fe-200d-1f373":0,"1f9d1-1f3ff-200d-1f373":0,"1f9d1-1f3fb-200d-1f393":0,"1f9d1-1f3fc-200d-1f393":0,"1f9d1-1f3fd-200d-1f393":0,"1f9d1-1f3fe-200d-1f393":0,"1f9d1-1f3ff-200d-1f393":0,"1f9d1-1f3fb-200d-1f3a4":0,"1f9d1-1f3fc-200d-1f3a4":0,"1f9d1-1f3fd-200d-1f3a4":0,"1f9d1-1f3fe-200d-1f3a4":0,"1f9d1-1f3ff-200d-1f3a4":0,"1f9d1-1f3fb-200d-1f3a8":0,"1f9d1-1f3fc-200d-1f3a8":0,"1f9d1-1f3fd-200d-1f3a8":0,"1f9d1-1f3fe-200d-1f3a8":0,"1f9d1-1f3ff-200d-1f3a8":0,"1f9d1-1f3fb-200d-1f3eb":0,"1f9d1-1f3fc-200d-1f3eb":0,"1f9d1-1f3fd-200d-1f3eb":0,"1f9d1-1f3fe-200d-1f3eb":0,"1f9d1-1f3ff-200d-1f3eb":0,"1f9d1-1f3fb-200d-1f3ed":0,"1f9d1-1f3fc-200d-1f3ed":0,"1f9d1-1f3fd-200d-1f3ed":0,"1f9d1-1f3fe-200d-1f3ed":0,"1f9d1-1f3ff-200d-1f3ed":0,"1f9d1-1f3fb-200d-1f4bb":0,"1f9d1-1f3fc-200d-1f4bb":0,"1f9d1-1f3fd-200d-1f4bb":0,"1f9d1-1f3fe-200d-1f4bb":0,"1f9d1-1f3ff-200d-1f4bb":0,"1f9d1-1f3fb-200d-1f4bc":0,"1f9d1-1f3fc-200d-1f4bc":0,"1f9d1-1f3fd-200d-1f4bc":0,"1f9d1-1f3fe-200d-1f4bc":0,"1f9d1-1f3ff-200d-1f4bc":0,"1f9d1-1f3fb-200d-1f527":0,"1f9d1-1f3fc-200d-1f527":0,"1f9d1-1f3fd-200d-1f527":0,"1f9d1-1f3fe-200d-1f527":0,"1f9d1-1f3ff-200d-1f527":0,"1f9d1-1f3fb-200d-1f52c":0,"1f9d1-1f3fc-200d-1f52c":0,"1f9d1-1f3fd-200d-1f52c":0,"1f9d1-1f3fe-200d-1f52c":0,"1f9d1-1f3ff-200d-1f52c":0,"1f9d1-1f3fb-200d-1f680":0,"1f9d1-1f3fc-200d-1f680":0,"1f9d1-1f3fd-200d-1f680":0,"1f9d1-1f3fe-200d-1f680":0,"1f9d1-1f3ff-200d-1f680":0,"1f9d1-1f3fb-200d-1f692":0,"1f9d1-1f3fc-200d-1f692":0,"1f9d1-1f3fd-200d-1f692":0,"1f9d1-1f3fe-200d-1f692":0,"1f9d1-1f3ff-200d-1f692":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fb-200d-1f9af":0,"1f9d1-1f3fc-200d-1f9af":0,"1f9d1-1f3fd-200d-1f9af":0,"1f9d1-1f3fe-200d-1f9af":0,"1f9d1-1f3ff-200d-1f9af":0,"1f9d1-1f3fb-200d-1f9b0":0,"1f9d1-1f3fc-200d-1f9b0":0,"1f9d1-1f3fd-200d-1f9b0":0,"1f9d1-1f3fe-200d-1f9b0":0,"1f9d1-1f3ff-200d-1f9b0":0,"1f9d1-1f3fb-200d-1f9b1":0,"1f9d1-1f3fc-200d-1f9b1":0,"1f9d1-1f3fd-200d-1f9b1":0,"1f9d1-1f3fe-200d-1f9b1":0,"1f9d1-1f3ff-200d-1f9b1":0,"1f9d1-1f3fb-200d-1f9b2":0,"1f9d1-1f3fc-200d-1f9b2":0,"1f9d1-1f3fd-200d-1f9b2":0,"1f9d1-1f3fe-200d-1f9b2":0,"1f9d1-1f3ff-200d-1f9b2":0,"1f9d1-1f3fb-200d-1f9b3":0,"1f9d1-1f3fc-200d-1f9b3":0,"1f9d1-1f3fd-200d-1f9b3":0,"1f9d1-1f3fe-200d-1f9b3":0,"1f9d1-1f3ff-200d-1f9b3":0,"1f9d1-1f3fb-200d-1f9bc":0,"1f9d1-1f3fc-200d-1f9bc":0,"1f9d1-1f3fd-200d-1f9bc":0,"1f9d1-1f3fe-200d-1f9bc":0,"1f9d1-1f3ff-200d-1f9bc":0,"1f9d1-1f3fb-200d-1f9bd":0,"1f9d1-1f3fc-200d-1f9bd":0,"1f9d1-1f3fd-200d-1f9bd":0,"1f9d1-1f3fe-200d-1f9bd":0,"1f9d1-1f3ff-200d-1f9bd":0,"1f9d1-1f3fb-200d-2695-fe0f":0,"1f9d1-1f3fc-200d-2695-fe0f":0,"1f9d1-1f3fd-200d-2695-fe0f":0,"1f9d1-1f3fe-200d-2695-fe0f":0,"1f9d1-1f3ff-200d-2695-fe0f":0,"1f9d1-1f3fb-200d-2696-fe0f":0,"1f9d1-1f3fc-200d-2696-fe0f":0,"1f9d1-1f3fd-200d-2696-fe0f":0,"1f9d1-1f3fe-200d-2696-fe0f":0,"1f9d1-1f3ff-200d-2696-fe0f":0,"1f9d1-1f3fb-200d-2708-fe0f":0,"1f9d1-1f3fc-200d-2708-fe0f":0,"1f9d1-1f3fd-200d-2708-fe0f":0,"1f9d1-1f3fe-200d-2708-fe0f":0,"1f9d1-1f3ff-200d-2708-fe0f":0,"1f9d1-1f3fb":0,"1f9d1-1f3fc":0,"1f9d1-1f3fd":0,"1f9d1-1f3fe":0,"1f9d1-1f3ff":0,"1f9d2-1f3fb":0,"1f9d2-1f3fc":0,"1f9d2-1f3fd":0,"1f9d2-1f3fe":0,"1f9d2-1f3ff":0,"1f9d3-1f3fb":0,"1f9d3-1f3fc":0,"1f9d3-1f3fd":0,"1f9d3-1f3fe":0,"1f9d3-1f3ff":0,"1f9d4-1f3fb":0,"1f9d4-1f3fc":0,"1f9d4-1f3fd":0,"1f9d4-1f3fe":0,"1f9d4-1f3ff":0,"1f9d5-1f3fb":0,"1f9d5-1f3fc":0,"1f9d5-1f3fd":0,"1f9d5-1f3fe":0,"1f9d5-1f3ff":0,"1f9d6-1f3fb-200d-2640-fe0f":0,"1f9d6-1f3fc-200d-2640-fe0f":0,"1f9d6-1f3fd-200d-2640-fe0f":0,"1f9d6-1f3fe-200d-2640-fe0f":0,"1f9d6-1f3ff-200d-2640-fe0f":0,"1f9d6-1f3fb-200d-2642-fe0f":0,"1f9d6-1f3fc-200d-2642-fe0f":0,"1f9d6-1f3fd-200d-2642-fe0f":0,"1f9d6-1f3fe-200d-2642-fe0f":0,"1f9d6-1f3ff-200d-2642-fe0f":0,"1f9d6-1f3fb":0,"1f9d6-1f3fc":0,"1f9d6-1f3fd":0,"1f9d6-1f3fe":0,"1f9d6-1f3ff":0,"1f9d7-1f3fb-200d-2640-fe0f":0,"1f9d7-1f3fc-200d-2640-fe0f":0,"1f9d7-1f3fd-200d-2640-fe0f":0,"1f9d7-1f3fe-200d-2640-fe0f":0,"1f9d7-1f3ff-200d-2640-fe0f":0,"1f9d7-1f3fb-200d-2642-fe0f":0,"1f9d7-1f3fc-200d-2642-fe0f":0,"1f9d7-1f3fd-200d-2642-fe0f":0,"1f9d7-1f3fe-200d-2642-fe0f":0,"1f9d7-1f3ff-200d-2642-fe0f":0,"1f9d7-1f3fb":0,"1f9d7-1f3fc":0,"1f9d7-1f3fd":0,"1f9d7-1f3fe":0,"1f9d7-1f3ff":0,"1f9d8-1f3fb-200d-2640-fe0f":0,"1f9d8-1f3fc-200d-2640-fe0f":0,"1f9d8-1f3fd-200d-2640-fe0f":0,"1f9d8-1f3fe-200d-2640-fe0f":0,"1f9d8-1f3ff-200d-2640-fe0f":0,"1f9d8-1f3fb-200d-2642-fe0f":0,"1f9d8-1f3fc-200d-2642-fe0f":0,"1f9d8-1f3fd-200d-2642-fe0f":0,"1f9d8-1f3fe-200d-2642-fe0f":0,"1f9d8-1f3ff-200d-2642-fe0f":0,"1f9d8-1f3fb":0,"1f9d8-1f3fc":0,"1f9d8-1f3fd":0,"1f9d8-1f3fe":0,"1f9d8-1f3ff":0,"1f9d9-1f3fb-200d-2640-fe0f":0,"1f9d9-1f3fc-200d-2640-fe0f":0,"1f9d9-1f3fd-200d-2640-fe0f":0,"1f9d9-1f3fe-200d-2640-fe0f":0,"1f9d9-1f3ff-200d-2640-fe0f":0,"1f9d9-1f3fb-200d-2642-fe0f":0,"1f9d9-1f3fc-200d-2642-fe0f":0,"1f9d9-1f3fd-200d-2642-fe0f":0,"1f9d9-1f3fe-200d-2642-fe0f":0,"1f9d9-1f3ff-200d-2642-fe0f":0,"1f9d9-1f3fb":0,"1f9d9-1f3fc":0,"1f9d9-1f3fd":0,"1f9d9-1f3fe":0,"1f9d9-1f3ff":0,"1f9da-1f3fb-200d-2640-fe0f":0,"1f9da-1f3fc-200d-2640-fe0f":0,"1f9da-1f3fd-200d-2640-fe0f":0,"1f9da-1f3fe-200d-2640-fe0f":0,"1f9da-1f3ff-200d-2640-fe0f":0,"1f9da-1f3fb-200d-2642-fe0f":0,"1f9da-1f3fc-200d-2642-fe0f":0,"1f9da-1f3fd-200d-2642-fe0f":0,"1f9da-1f3fe-200d-2642-fe0f":0,"1f9da-1f3ff-200d-2642-fe0f":0,"1f9da-1f3fb":0,"1f9da-1f3fc":0,"1f9da-1f3fd":0,"1f9da-1f3fe":0,"1f9da-1f3ff":0,"1f9db-1f3fb-200d-2640-fe0f":0,"1f9db-1f3fc-200d-2640-fe0f":0,"1f9db-1f3fd-200d-2640-fe0f":0,"1f9db-1f3fe-200d-2640-fe0f":0,"1f9db-1f3ff-200d-2640-fe0f":0,"1f9db-1f3fb-200d-2642-fe0f":0,"1f9db-1f3fc-200d-2642-fe0f":0,"1f9db-1f3fd-200d-2642-fe0f":0,"1f9db-1f3fe-200d-2642-fe0f":0,"1f9db-1f3ff-200d-2642-fe0f":0,"1f9db-1f3fb":0,"1f9db-1f3fc":0,"1f9db-1f3fd":0,"1f9db-1f3fe":0,"1f9db-1f3ff":0,"1f9dc-1f3fb-200d-2640-fe0f":0,"1f9dc-1f3fc-200d-2640-fe0f":0,"1f9dc-1f3fd-200d-2640-fe0f":0,"1f9dc-1f3fe-200d-2640-fe0f":0,"1f9dc-1f3ff-200d-2640-fe0f":0,"1f9dc-1f3fb-200d-2642-fe0f":0,"1f9dc-1f3fc-200d-2642-fe0f":0,"1f9dc-1f3fd-200d-2642-fe0f":0,"1f9dc-1f3fe-200d-2642-fe0f":0,"1f9dc-1f3ff-200d-2642-fe0f":0,"1f9dc-1f3fb":0,"1f9dc-1f3fc":0,"1f9dc-1f3fd":0,"1f9dc-1f3fe":0,"1f9dc-1f3ff":0,"1f9dd-1f3fb-200d-2640-fe0f":0,"1f9dd-1f3fc-200d-2640-fe0f":0,"1f9dd-1f3fd-200d-2640-fe0f":0,"1f9dd-1f3fe-200d-2640-fe0f":0,"1f9dd-1f3ff-200d-2640-fe0f":0,"1f9dd-1f3fb-200d-2642-fe0f":0,"1f9dd-1f3fc-200d-2642-fe0f":0,"1f9dd-1f3fd-200d-2642-fe0f":0,"1f9dd-1f3fe-200d-2642-fe0f":0,"1f9dd-1f3ff-200d-2642-fe0f":0,"1f9dd-1f3fb":0,"1f9dd-1f3fc":0,"1f9dd-1f3fd":0,"1f9dd-1f3fe":0,"1f9dd-1f3ff":0,"261d-1f3fb":0,"261d-1f3fc":0,"261d-1f3fd":0,"261d-1f3fe":0,"261d-1f3ff":0,"26f9-1f3fb-200d-2640-fe0f":0,"26f9-1f3fc-200d-2640-fe0f":0,"26f9-1f3fd-200d-2640-fe0f":0,"26f9-1f3fe-200d-2640-fe0f":0,"26f9-1f3ff-200d-2640-fe0f":0,"26f9-1f3fb-200d-2642-fe0f":0,"26f9-1f3fc-200d-2642-fe0f":0,"26f9-1f3fd-200d-2642-fe0f":0,"26f9-1f3fe-200d-2642-fe0f":0,"26f9-1f3ff-200d-2642-fe0f":0,"26f9-1f3fb":0,"26f9-1f3fc":0,"26f9-1f3fd":0,"26f9-1f3fe":0,"26f9-1f3ff":0,"270a-1f3fb":0,"270a-1f3fc":0,"270a-1f3fd":0,"270a-1f3fe":0,"270a-1f3ff":0,"270b-1f3fb":0,"270b-1f3fc":0,"270b-1f3fd":0,"270b-1f3fe":0,"270b-1f3ff":0,"270c-1f3fb":0,"270c-1f3fc":0,"270c-1f3fd":0,"270c-1f3fe":0,"270c-1f3ff":0,"270d-1f3fb":0,"270d-1f3fc":0,"270d-1f3fd":0,"270d-1f3fe":0,"270d-1f3ff":0},t.Emoji["00a9-fe0f"]=6362,t.Emoji["00ae-fe0f"]=6363,t.Emoji["2122-fe0f"]=6364,t.Countries=[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}],t.TLD=["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],t.LatinizeMap={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj",ſ:"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"};t.mediaSizes=new class{constructor(){this.sizes={handhelds:{regular:{width:293,height:293},webpage:{width:293,height:213},album:{width:293,height:0}},desktop:{regular:{width:480,height:480},webpage:{width:480,height:400},album:{width:451,height:0}}},this.isMobile=!1,window.addEventListener("resize",()=>this.handleResize()),this.handleResize()}handleResize(){const e=window.innerWidth;this.isMobile=e<=896,this.active=this.isMobile?this.sizes.handhelds:this.sizes.desktop}},t.touchSupport="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,t.isServiceWorkerSupported="serviceWorker"in navigator;const n={Emoji:t.Emoji,LatinizeMap:t.LatinizeMap,TLD:t.TLD,Countries:t.Countries,MediaSizes:t.mediaSizes,touchSupport:t.touchSupport,isApple:i.isApple,isSafari:i.isSafari,isAndroid:i.isAndroid};window.Config=n,t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(16)),o=i(s(71)),r=s(10),d=i(s(53)),f=i(s(73)),l=s(1);class c extends o.default{constructor(){super(),this.taskID=0,this.awaiting={},this.pending=[],this.updatesProcessor=null,this.log=r.logger("API-PROXY"),this.log("constructor"),this.registerServiceWorker(),this.registerWorker()}registerServiceWorker(){l.isServiceWorkerSupported&&(navigator.serviceWorker.register("./sw.js",{scope:"./"}).then(e=>{},e=>{this.log.error("SW registration failed!",e)}),navigator.serviceWorker.ready.then(e=>{this.log("set SW"),this.releasePending()}),navigator.serviceWorker.addEventListener("controllerchange",()=>{this.log.warn("controllerchange"),this.releasePending(),navigator.serviceWorker.controller.addEventListener("error",e=>{this.log.error("controller error:",e)})}),navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;n.isObject(t)&&this.postMessage(t)}),navigator.serviceWorker.addEventListener("messageerror",e=>{this.log.error("SW messageerror:",e)}))}registerWorker(){const e=new f.default;e.addEventListener("message",t=>{this.worker||(this.worker=e,this.log("set webWorker"),this.postMessage=this.worker.postMessage.bind(this.worker),this.releasePending());const s=t.data;n.isObject(s)&&(s.useLs?a.default[s.task](...s.args).then(e=>{this.postMessage({useLs:!0,taskID:s.taskID,args:e})}):s.update?this.updatesProcessor&&this.updatesProcessor(s.update.obj,s.update.bool):s.progress?n.$rootScope.$broadcast("download_progress",s.progress):"convertWebp"==s.type?d.default.postMessage(s):"requestFilePart"==s.type?navigator.serviceWorker.controller.postMessage(s):this.finalizeTask(s.taskID,s.result,s.error))})}finalizeTask(e,t,s){const i=this.awaiting[e];void 0!==i&&(this.log.debug("done",i.taskName,t,s),void 0===t?i.reject(s):i.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.log.debug("start",e,t),new Promise((s,i)=>{this.awaiting[this.taskID]={resolve:s,reject:i,taskName:e};const n={task:e,taskID:this.taskID,args:t};this.pending.push(n),this.releasePending(),this.taskID++})}releasePending(){this.postMessage&&(this.log.debug("releasing tasks, length:",this.pending.length),this.pending.forEach(e=>{this.postMessage(e)}),this.log.debug("released tasks"),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},s={}){return this.performTaskWorker("invokeApi",e,t,s)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return n.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}cancelDownload(e){return this.performTaskWorker("cancelDownload",e)}downloadFile(e){return this.performTaskWorker("downloadFile",e)}uploadFile(e){return this.performTaskWorker("uploadFile",e)}}const u=new c;t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RichTextProcessor=void 0;const n=s(0),a=i(s(1)),o=i(s(75)),r=s(76);var d,f={emojiMap:e=>e,shortcuts:[],emojis:[]},l=a.default.Emoji,c=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),u=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|("+o.default+")|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,p=/[`_*@]/,m=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,g={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},b={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},v={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function y(e){let t=r.encodeEmoji(e);return"1f441-200d-1f5e8"==t&&(t="1f441-fe0f-200d-1f5e8-fe0f"),l.hasOwnProperty(t)?t.replace(/(-fe0f|fe0f)/g,""):null}function w(e,t={}){for(var s,i,n=e,o=[],r=0;s=n.match(u);){if(i=r+s.index,s[3])o.push({_:"messageEntityMention",offset:i+s[1].length,length:s[2].length+s[3].length});else if(s[4])if(h.test(s[4]))o.push({_:"messageEntityEmail",offset:i,length:s[4].length});else{var d=!1,f=s[5],l=s[6];if(l){if(f||"xn--"!==l.substr(0,4)&&-1===a.default.TLD.indexOf(l.toLowerCase())||(f="http://"),f){var c=L(s[4]);c.length!==s[4].length&&(s[4].substring(c.length),s[4]=c),d=(s[5]?"":f)+s[4]}}else d=(s[5]?"":"http://")+s[4];d&&o.push({_:"messageEntityUrl",offset:i,length:s[4].length})}else if(s[7])o.push({_:"messageEntityLinebreak",offset:i,length:1});else if(s[8]){let e=y(s[8]);e&&o.push({_:"messageEntityEmoji",offset:i,length:s[8].length,unicode:e})}else s[10]?o.push({_:"messageEntityHashtag",offset:i+(s[9]?s[9].length:0),length:s[10].length}):s[12]&&o.push({_:"messageEntityBotCommand",offset:i+(s[11]?s[11].length:0),length:1+s[12].length+(s[13]?1+s[13].length:0)});n=n.substr(s.index+s[0].length),r+=s.index+s[0].length}return o}function _(e,t,s){return void 0===t?n.encodeEntities(e):(s.hasNested=!0,S(e,{entities:t,nested:!0}))}function S(e,t={}){if(!e||!e.length)return"";var s=t.entities,i=t.contextSite||"Telegram",a="Telegram"!=i;void 0===s&&(s=w(e,t));for(var o,r,d,f,l=s.length,u=[],h=0,p=0;ph)u.push(n.encodeEntities(e.substr(h,o.offset-h)));else if(o.offset',n.encodeEntities(r),"");break;case"messageEntityMentionName":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityHashtag":var y;if(!(y=!t.noLinks&&g[i])){d=!0;break}var S=r.substr(1);u.push("',n.encodeEntities(r),"");break;case"messageEntityEmail":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var L;"messageEntityTextUrl"==o._?(f=M(f=o.url,!0),L=_(r,o.nested,t)):(f=M(r,!1),L=n.encodeEntities(r.replace(/(%[A-Z\d]{2})+/g,e=>{try{return decodeURIComponent(e)}catch(t){return e}}))),t.noLinks?u.push(L):u.push('',L,"");break;case"messageEntityLinebreak":u.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":u.push(c?`${n.encodeEntities(r)}`:`${n.encodeEntities(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||a){d=!0;break}var D,E,I=r.substr(1);-1!=(E=I.indexOf("@"))?(D=I.substr(E+1),I=I.substr(0,E)):D=t.fromBot,u.push('',n.encodeEntities(r),"");break;case"messageEntityBold":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityHighlight":u.push("",_(r,o.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("",n.encodeEntities(r),"");break;case"messageEntityPre":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("
",n.encodeEntities(r),"
");break;default:d=!0}h=o.offset+(d?0:o.length)}return u.push(n.encodeEntities(e.substr(h))),e=u.join("")}function L(e){for(var t=e.length,s=e.split("(").length-1,i=e.split(")").length-1;i>s&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return s>i&&(e=e.replace(/\)+$/,"")),e}function M(e,t){var s,i;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(s=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var n=s[1].split("/");switch(n[0]){case"joinchat":e="tg://join?invite="+n[1];break;case"addstickers":e="tg://addstickers?set="+n[1];break;default:if(n[1]&&n[1].match(/^\d+$/))e="tg://resolve?domain="+n[0]+"&post="+n[1];else if(1==n.length){var a=n[0].split("?"),o=a[0],r=a[1];if("iv"==o){var d=(r||"").match(/url=([^&=]+)/);if(d){e=d[1];try{e=decodeURIComponent(e)}catch(e){}return M(e,t)}}e="tg://resolve?domain="+o+(r?"&"+r:"")}}}else(i=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+i[1]+"&post="+i[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let D={wrapRichText:S,wrapPlainText:function(e,t={}){if(c)return e;if(!e||!e.length)return"";var s,i,n=e=e.replace(/\ufe0f/g,"",e);for(e=[];s=n.match(u);)e.push(n.substr(0,s.index)),s[8]&&(d=f.emojiMap[s[8]])&&(i=l[d][1][0])?e.push(":"+i+":"):e.push(s[0]),n=n.substr(s.index+s[0].length);return e.push(n),e.join("")},wrapDraftText:function(e,t={}){if(!e||!e.length)return"";var s=t.entities;void 0===s&&(s=w(e,t));var i,n,a,o=0,r=s.length,d=[],f=0;for(o=0;of)d.push(e.substr(f,i.offset-f));else if(i.offset"messageEntityEmoji"==e._)}):""},parseEntities:w,parseMarkdown:function(e,t,s){if(!p.test(e))return s?e:e.trim();for(var i,n,a=e,o=[],r=0;i=a.match(m);){n=r+i.index,o.push(a.substr(0,i.index)),r-=(e=i[3]||i[8]||i[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",r-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:n+i[1].length,length:e.length}),r-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:v[i[7]],offset:n+i[6].length,length:e.length}),r-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:n,length:e.length}),r-=i[0].length-e.length),a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o.push(a),(o=o.join("")).replace(/\s+/g,"").length||(o=e,t.splice(0,t.length)),t.length||s||(o=o.trim()),o},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var s=f.shortcuts[t];return void 0!==s?f.emojis[s][0]:e}))},mergeEntities:function(e,t,s){var i,a,o,r,d,f,l,c,u,h=t.slice(),p=e.length,m=t.length,g=0;for(i=0;i=l&&dl&&f<=c){s&&d>=l&&f<=c&&(void 0===r.nested&&(r.nested=[]),o.offset-=l,r.nested.push(n.copy(o))),u=!0;break}if(l>=f)break}u||h.push(o)}return h.sort((e,t)=>e.offset-t.offset),h},getEmojiSpritesheetCoords:y,emojiSupported:c};t.RichTextProcessor=D},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.attachContextMenuListener=t.positionMenu=t.openBtnMenu=t.parseMenuButtonsTo=t.formatPhoneNumber=t.putPreloader=t.renderImageFromUrl=t.loadedURLs=void 0;const o=a(s(1));t.loadedURLs={};const r=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLVideoElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,s,i){if(t.loadedURLs[s]||e instanceof HTMLVideoElement)return r(e,s),i&&i(),!0;{const n=e instanceof HTMLImageElement,a=n?e:new Image;return a.src=s,a.addEventListener("load",()=>{n||r(e,s),t.loadedURLs[s]=!0,i&&i()}),i&&a.addEventListener("error",i),!1}},t.putPreloader=function(e,t=!1){const s='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=s,e&&e.appendChild(t),t}e.innerHTML+=s},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),s=o.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),i=s?s.pattern||s.phoneCode:"";return s&&i.split("").forEach((t,s)=>{" "==t&&" "!=e[s]&&e.length>s&&(e=e.slice(0,s)+" "+e.slice(s))}),{formatted:e,country:s}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{const s=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/);s&&(e[s[1]]=t)})};let d=e=>{let t=c.getBoundingClientRect(),{clientX:s,clientY:i}=e,n=s>=t.right?s-t.right:t.left-s,a=i>=t.bottom?i-t.bottom:t.top-i;(n>=100||a>=100)&&l()},f=e=>{l()},l=()=>{c&&(c.classList.remove("active"),c.parentElement.classList.remove("menu-open"),c=null),u&&(u(),u=null),o.touchSupport?window.removeEventListener("touchmove",f):window.removeEventListener("mousemove",d),window.removeEventListener("click",f),window.removeEventListener("contextmenu",f)},c=null,u=null;t.openBtnMenu=function(e,t){l(),c=e,c.classList.add("active"),c.parentElement.classList.add("menu-open"),u=t,o.touchSupport?window.addEventListener("touchmove",f,{once:!0}):window.addEventListener("mousemove",d),window.addEventListener("click",f,{once:!0}),window.addEventListener("contextmenu",f,{once:!0})},t.positionMenu=function({clientX:e,clientY:t},s,i){let{scrollWidth:n,scrollHeight:a}=s,{innerWidth:r,innerHeight:d}=window;o.mediaSizes.isMobile&&(i=void 0),void 0===i&&e+n>r&&(e-n<0?s.style.left=r-n+"px":i="right"),i||(i="left"),s.classList.remove("bottom-left","bottom-right"),void 0!==i&&(s.style.left=("right"==i?e-n:e)+"px",s.classList.add("left"==i?"bottom-right":"bottom-left")),s.style.top=t+a>d?d-a+"px":t+"px"},t.attachContextMenuListener=function(e,t){if(o.isApple&&o.touchSupport){let s;const i=()=>{clearTimeout(s),e.removeEventListener("touchmove",i),e.removeEventListener("touchend",i),e.removeEventListener("touchcancel",i)};e.addEventListener("touchstart",n=>{n.touches.length>1?clearTimeout(s):(e.addEventListener("touchmove",i,{once:!0}),e.addEventListener("touchend",i,{once:!0}),e.addEventListener("touchcancel",i,{once:!0}),s=setTimeout(()=>{t(n.touches[0]),i()},400))})}else e.addEventListener("contextmenu",t)}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppUsersManager=void 0;const a=s(0),o=s(3),r=n(s(9)),d=n(s(2)),f=n(s(34)),l=s(4),c=n(s(38)),u=n(s(8)),h=n(s(40));class p{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),this.contactsList=new Set,d.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var s=t.user_id;(i=this.users[s])&&(i.status=t.status,i.status&&(i.status.expires&&(i.status.expires-=f.default.serverTimeOffset),i.status.was_online&&(i.status.was_online-=f.default.serverTimeOffset)),i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",s));break;case"updateUserPhoto":var i;s=t.user_id;(i=this.users[s])?(this.forceUserOnline(s),i.photo?a.safeReplaceObject(i.photo,t.photo):i.photo=t.photo,void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",s),a.$rootScope.$broadcast("avatar_update",s)):console.warn("No user by id:",s)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=d.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>(this.saveApiUsers(e.users),e.contacts.forEach(e=>{this.pushContact(e.user_id)}),this.contactsList))}resolveUsername(e){return i(this,void 0,void 0,(function*(){return this.usernames[e]?this.users[this.usernames[e]]:yield d.default.invokeApi("contacts.resolveUsername",{username:e}).then(t=>(this.saveApiUser(t.users[0]),r.default.saveApiChats(t.chats),this.users[this.usernames[e]]))}))}pushContact(e){this.contactsList.add(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)}getUserSearchText(e){const t=this.users[e];if(!t)return"";const s=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+s}getContacts(e){return this.fillContacts().then(t=>{let s=[...t];if(e){const t=c.default.search(e,this.contactsIndex);s=[...s].filter(e=>!!t[e])}return s.sort((e,t)=>{const s=(this.users[e]||{}).sortName||"",i=(this.users[t]||{}).sortName||"";return s.localeCompare(i)}),s})}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var s=e.id,i=this.users[s];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===i){if(e.phone&&(e.rPhone="+"+l.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=s}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),d=r.shift(),u=r.pop();e.initials=d.charAt(0)+(u?u.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=f.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=f.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(i=this.users[s])?i=this.users[s]=e:a.safeReplaceObject(i,e),a.$rootScope.$broadcast("user_update",s),void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var s=a.tsNow(!0);switch(e._){case"userStatusRecently":return s-259200;case"userStatusLastWeek":return s-604800;case"userStatusLastMonth":return s-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){var t;if(this.isBot(e))return"bot";const s=this.getUser(e);if(!s)return"";let i="";switch(null===(t=s.status)||void 0===t?void 0:t._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";const e=s.status.was_online,t=Date.now()/1e3;if(t-e<60)i+=" just now";else if(t-e<3600){const s=(t-e)/60|0;i+=s+" "+(1==s?"minute":"minutes")+" ago"}else if(t-e<86400){const s=(t-e)/3600|0;i+=s+" "+(1==s?"hour":"hours")+" ago"}else{const t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online";break;default:i="last seen a long time ago"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}isContact(e){return this.contactsList.has(e)}isRegularUser(e){const t=this.users[e];return t&&!this.isBot(e)&&!t.pFlags.deleted&&!t.pFlags.support}isNonContactUser(e){return this.isRegularUser(e)&&!this.isContact(e)&&e!=a.$rootScope.myID}hasUser(e,t){var s=this.users[e];return a.isObject(s)&&(t||!s.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let s=this.users[t];s.status&&"userStatusOnline"==s.status._&&s.status.expires{var t;return(null===(t=null==e?void 0:e.topPeers)||void 0===t?void 0:t.length)?e.topPeers:d.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>{this.saveApiUsers(e.users),r.default.saveApiChats(e.chats);const t=e.categories[0].peers.map(e=>{const t=u.default.getPeerID(e.peer);return h.default.pushPeer(t),t});return h.default.pushToState("topPeers",t),t})})}searchContacts(e,t=20){return d.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),r.default.saveApiChats(e.chats),e))}setUserStatus(e,t){if(!this.isBot(e)){var s=this.users[e];if(s){var i=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};s.status=i,s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=p,t.default=new p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10),a=i(s(74)),o=s(1);window.__forceSmoothScrollPolyfill__=!0,a.default.polyfill();t.default=class{constructor(e,t="y",s="",i=e,a=300,r=15,d=document.createElement("div")){if(this.el=e,this.appendTo=i,this.onScrollOffset=a,this.splitCount=r,this.container=d,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.scrollLocked=0,this.isVisible=!1,this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{const t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{const t=e.target;if(e.isIntersecting)this.setVisible(t),this.log.debug("intersection entry:",e,this.lastTopID,this.lastBottomID);else{const s=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=s+1:this.lastBottomID=s-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ti)&&this.setHidden(e)}}),i||(this.appendTo=this.container),this.log=n.logger("SCROLL"+(s?"-"+s:""),n.LogLevels.error),"x"==t){if(this.container.classList.add("scrollable-x"),!o.touchSupport){const e=e=>{if(1==(e=window.event||e).which)return;const t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}const f=this.onScroll.bind(this);window.addEventListener("resize",()=>{this.overflowContainer=(o.mediaSizes.isMobile,this.container),this.onScroll()}),this.container.addEventListener("scroll",f,{passive:!0,capture:!0}),e&&(Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)),this.overflowContainer=(o.mediaSizes.isMobile,this.container)}setVisible(e){this.visible.has(e)||(this.log.debug("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.log.debug("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){this.splitUp&&(clearTimeout(this.disableHoverTimeout),this.disableHoverTimeout=setTimeout(()=>{this.lastScrollDirection=0},100)),this.onScrollMeasure||(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)&&!this.splitUp||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(this.overflowContainer),this.onScrollMeasure=0,!this.splitUp)return;const e=this.overflowContainer.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{this.reorderTimeout=0,Array.from(this.splitUp.children).forEach((e,t)=>{e.dataset.virtual=""+t})},0))}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{const t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){this.splitUp&&(e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.log.debug("prepareElement: prepared"),window.requestAnimationFrame(()=>{const{scrollHeight:t}=e;this.log.debug("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)}))}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){const s=e.classList.contains("is-first-unread");let i=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(i=this.container.scrollTop+i,!t&&s)return void this.scrollTo(i,!1);i-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(i,t)}}scrollTo(e,t=!0,s=!1){if(this.scrollLocked&&!s)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesManager=t.FiltersStorage=t.DialogsStorage=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(5)),f=s(3),l=s(21),c=s(80),u=n(s(32)),h=n(s(13)),p=n(s(16)),m=n(s(8)),g=n(s(34)),b=n(s(11)),v=n(s(35)),y=n(s(34)),w=n(s(2)),_=n(s(55)),S=s(24),L=n(s(39)),M=n(s(38)),D=s(10),E=n(s(28));class I{constructor(){this.dialogs={},this.byFolders={},this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedOrders={0:[],1:[]},this.dialogsNum=0}getFolder(e){var t,s;if(e<=1)return null!==(t=this.byFolders[e])&&void 0!==t?t:this.byFolders[e]=[];const i=[],n=k.filtersStorage.filters[e];for(const e in this.dialogs){const t=this.dialogs[e];if(k.filtersStorage.testDialogForFilter(t,n)){let e;const a=n.pinned_peers.indexOf(t.peerID);e=-1!==a?this.generateDialogIndex(this.generateDialogPinnedDateByIndex(n.pinned_peers.length-1-a)):(null===(s=t.pFlags)||void 0===s?void 0:s.pinned)?this.generateIndexForDialog(t,!0):t.index,i.push({dialog:t,index:e})}}return i.sort((e,t)=>t.index-e.index),i.map(e=>e.dialog)}getDialog(e,t){const s=[];if(void 0===t){const e=this.byFolders;for(const t in e)s.push(e[t])}else s.push(this.getFolder(t));for(let t of s){const s=t.findIndex(t=>t.peerID==e);if(-1!==s)return[t[s],s]}return[]}generateDialogIndex(e){return void 0===e&&(e=a.tsNow(!0)+y.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e,t=!1){const s=m.default.isChannel(e.peerID)?-e.peerID:0,i=o.default.getFullMessageID(e.top_message,s);let n=k.getMessage(i).date;if(s){const e=r.default.getChat(s);(!n||e.date&&e.date>n)&&(n=e.date)}const a={};a&&a.date>n&&(n=a.date),e.pFlags.pinned&&!t&&(n=this.generateDialogPinnedDate(e));const d=this.generateDialogIndex(n);if(t)return d;e.index=d}generateDialogPinnedDateByIndex(e){return 2147418112+(65535&e)}generateDialogPinnedDate(e){const t=this.pinnedOrders[e.folder_id],s=t.indexOf(e.peerID),i=-1===s?t.push(e.peerID)-1:s;return this.generateDialogPinnedDateByIndex(i)}pushDialog(e,t){const s=this.getFolder(e.folder_id),i=s.findIndex(t=>t.peerID==e.peerID);if(-1!==i&&s.splice(i,1),this.dialogs[e.peerID]=e,t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}dropDialog(e){const t=this.getDialog(e);return t[0]&&(this.byFolders[t[0].folder_id].splice(t[1],1),delete this.dialogs[e]),t}}t.DialogsStorage=I;class C{constructor(){this.filters={},this.orderIndex=0,a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)})}handleUpdate(e){switch(e._){case"updateDialogFilter":e.filter?this.saveDialogFilter(e.filter):this.filters[e.id]&&(a.$rootScope.$broadcast("filter_delete",this.filters[e.id]),delete this.filters[e.id])}}testDialogForFilter(e,t){var s;for(const s of t.exclude_peers)if(s==e.peerID)return!1;for(const s of t.include_peers)if(s==e.peerID)return!0;const i=t.pFlags;if(i.exclude_archived&&1==e.folder_id)return!1;if(i.exclude_read&&!e.unread_count)return!1;if(i.exclude_muted){if(1e3*(null===(s=e.notify_settings)||void 0===s?void 0:s.mute_until)>Date.now())return!1}const n=e.peerID;if(n<0){if(i.broadcasts&&m.default.isBroadcast(n))return!0;if(i.groups&&m.default.isAnyGroup(n))return!0}else{if(m.default.isBot(n))return!!i.bots;if(i.non_contacts&&!d.default.contactsList.has(n))return!0;if(i.contacts&&d.default.contactsList.has(n))return!0}return!1}toggleDialogPin(e,t){const s=this.filters[t];return s.pinned_peers.findAndSplice(t=>t==e)||s.pinned_peers.unshift(e),this.updateDialogFilter(s)}createDialogFilter(e){let t=Math.max(1,...Object.keys(this.filters).map(e=>+e));return(e=a.copy(e)).id=t+1,this.updateDialogFilter(e)}updateDialogFilter(e,t=!1){const s=t?0:1;if(!t){e.flags=0;const t={contacts:0,non_contacts:1,groups:2,broadcasts:3,bots:4,exclude_muted:11,exclude_read:12,exclude_archived:13};for(const s in t)e.pFlags[s]&&(e.flags|=1<(s&&this.handleUpdate({_:"updateDialogFilter",id:e.id,filter:t?void 0:e}),s))}getOutputDialogFilter(e){const t=a.copy(e);return["pinned_peers","exclude_peers","include_peers"].forEach(e=>{t[e]=t[e].map(e=>m.default.getInputPeerByID(e))}),t.include_peers.forEachReverse((e,s)=>{t.pinned_peers.includes(e)&&t.include_peers.splice(s,1)}),t}getDialogFilters(e=!1){return i(this,void 0,void 0,(function*(){if(Object.keys(this.filters).length&&!e)return this.filters;const t=yield w.default.invokeApi("messages.getDialogFilters");for(const e of t)this.saveDialogFilter(e,!1);return this.filters}))}saveDialogFilter(e,t=!0){["pinned_peers","exclude_peers","include_peers"].forEach(t=>{e[t]=e[t].map(e=>m.default.getPeerID(e))}),e.include_peers.forEachReverse((t,s)=>{e.pinned_peers.includes(t)&&e.include_peers.splice(s,1)}),e.include_peers=e.pinned_peers.concat(e.include_peers),this.filters[e.id]?Object.assign(this.filters[e.id],e):this.filters[e.id]=e,this.setOrderIndex(e),t&&a.$rootScope.$broadcast("filter_update",e)}setOrderIndex(e){e.hasOwnProperty("orderIndex")?e.orderIndex>this.orderIndex&&(this.orderIndex=e.orderIndex):e.orderIndex=this.orderIndex++}}t.FiltersStorage=C;class P{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.pinnedMessages={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.reloadConversationsPeers=[],this.dialogsIndex=M.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},this.log=D.logger("MESSAGES",D.LogLevels.error),this.dialogsStorage=new I,this.filtersStorage=new C,this.handleNewMessages=()=>{clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,a.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}},this.handleNewDialogs=()=>{clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(const t in this.newDialogsToHandle){const s=this.newDialogsToHandle[t];"reload"in s?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.dialogsStorage.pushDialog(s),m.default.isChannel(+t)||(e=Math.max(e,s.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),a.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}},a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)}),a.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let s=this.getMessage(e);s.webpage=_.default.getWebPage(t.id),a.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(s),id:s.id,mid:e,justMedia:!0})})}),a.$rootScope.$on("draft_updated",e=>{let t=e.detail;var s=t.peerID,i=t.draft,n=this.getDialogByPeerID(s)[0];if(n){if(i&&i.date)d=i.date;else{var o=m.default.isChannel(s)?-s:0,d=this.getMessage(n.top_message).date;if(o){var f=r.default.getChat(o);(!d||f.date&&f.date>d)&&(d=f.date)}}n.pFlags.pinned||(n.index=this.dialogsStorage.generateDialogIndex(d)),this.dialogsStorage.pushDialog(n),a.$rootScope.$broadcast("dialog_draft",{peerID:s,draft:i,index:n.index})}})}getInputEntities(e){var t=a.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=d.default.getUserInput(e.user_id))}),t}editMessage(e,t,s={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((s,i)=>{this.tempFinalizeCallbacks[e].edit=e=>{this.log("invoke callback",e),this.editMessage(e,t).then(s,i)}})}var i=[];t=f.RichTextProcessor.parseMarkdown(t,i);var n=this.getMessage(e),a=this.getMessagePeer(n),r=0;let d=s.noWebPage||!1;return d&&(r|=2),t&&(r|=2056),w.default.invokeApi("messages.editMessage",{flags:r,peer:m.default.getInputPeerByID(a),id:o.default.getMessageLocalID(e),message:t,media:n.media,entities:this.getInputEntities(i),no_webpage:d}).then(e=>{u.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,s={}){if("string"!=typeof t)return;e=m.default.getPeerMigratedTo(e)||e;var i=s.entities||[];if(s.viaBotID||(t=f.RichTextProcessor.parseMarkdown(t,i)),!t.length)return;var n,r=this.getInputEntities(i),c=this.tempID--,h=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],p=l.bigint(h[0]).shiftLeft(32).add(l.bigint(h[1])).toString(),g=this.historiesStorage[e],b=0,v={},_=s.replyToMsgID,S=m.default.isChannel(e),L=S&&m.default.isMegagroup(e),M=!(!S||L);let D=s.noWebPage||!1;void 0===g&&(g=this.historiesStorage[e]={count:null,history:[],pending:[]});var E=d.default.getSelf().id;e!=E&&(b|=2,v.out=!0,S||d.default.isBot(e)||(b|=1,v.unread=!0)),_&&(b|=8),M?(E=0,v.post=!0):b|=256,n={_:"message",id:c,from_id:E,to_id:m.default.getOutputPeer(e),flags:b,pFlags:v,date:a.tsNow(!0)+y.default.serverTimeOffset,message:t,random_id:p,reply_to_msg_id:_,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,entities:i,views:M&&1,pending:!0},s.webPage&&(n.media={_:"messageMediaWebPage",webpage:s.webPage});var I=e=>{e?n.error=!0:delete n.error,a.$rootScope.$broadcast("messages_pending")};n.send=()=>{I(!1);var i={};this.pendingAfterMsgs[e]&&(i.afterMessageID=this.pendingAfterMsgs[e].messageID);var a,d=0;_&&(d|=1),M&&(d|=16),s.clearDraft&&(d|=128),D&&(d|=2),s.viaBotID?a=w.default.invokeApi("messages.sendInlineBotResult",{flags:d,peer:m.default.getInputPeerByID(e),random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),query_id:s.queryID,id:s.resultID},i):(r.length&&(d|=8),a=w.default.invokeApi("messages.sendMessage",{flags:d,no_webpage:D,peer:m.default.getInputPeerByID(e),message:t,random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),entities:r},i)),a.then(e=>{"updateShortSentMessage"==e._?(n.flags=e.flags,n.date=e.date,n.id=e.id,n.media=e.media,n.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:p,id:e.id},{_:S?"updateNewChannelMessage":"updateNewMessage",message:n,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},()=>{I(!0)}).finally(()=>{this.pendingAfterMsgs[e]===i&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=i},this.saveMessages([n]),g.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(()=>n.send(),0),this.pendingByRandomID[p]=[e,c]}sendFile(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;var n,r,c=this.tempID--,p=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],y=l.bigint(p[0]).shiftLeft(32).add(l.bigint(p[1])).toString(),_=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},L=0,M={},D=s.replyToMsgID,I=m.default.isChannel(e),C=I&&m.default.isMegagroup(e),P=!(!I||C);const k="mime_type"in t?t.mime_type:t.type,T=t instanceof File?t.name:"",A=!(t instanceof File||t instanceof Blob);let X=s.caption||"";const x=a.tsNow(!0)+g.default.serverTimeOffset;if(this.log("sendFile",t,k),X){let e=s.entities||[];X=f.RichTextProcessor.parseMarkdown(X,e)}const F=[];let B="";if(s.isMedia)if(A)n="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(k)>=0){n="photo",r="photo."+k.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+c,sizes:[{_:"photoSize",w:s.width,h:s.height,type:"m",size:t.size}],w:s.width,h:s.height,downloaded:t.size,url:s.objectURL||""};h.default.savePhoto(e)}else if(0===k.indexOf("audio/")||["video/ogg"].indexOf(k)>=0){n="audio",r="audio."+("ogg"==k.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";let e=0;s.isVoiceMessage&&(e|=1024,e|=4,n="voice");let t={_:"documentAttributeAudio",flags:e,pFlags:{voice:s.isVoiceMessage},waveform:s.waveform,voice:s.isVoiceMessage,duration:s.duration||0};F.push(t)}else if(0===k.indexOf("video/")){n="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;s.isRoundMessage&&(e|=2);let t={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:s.isRoundMessage},round_message:s.isRoundMessage,supports_streaming:!0,duration:s.duration,w:s.width,h:s.height};F.push(t)}else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";if(F.push({_:"documentAttributeFilename",file_name:T||r}),-1!==["document","video","audio","voice"].indexOf(n)&&!A){let e={_:"document",id:""+c,duration:s.duration,attributes:F,w:s.width,h:s.height,downloaded:t.size,thumbs:[],mime_type:k,url:s.objectURL||"",size:t.size};b.default.saveDoc(e)}this.log("AMM: sendFile",n,r,t.type,s);var R=d.default.getSelf().id;e!=R&&(L|=2,M.out=!0,I||d.default.isBot(e)||(L|=1,M.unread=!0)),D&&(L|=8),P?(R=0,M.post=!0):L|=256;const O=new v.default(null,!0),j={_:"messageMediaPending",type:n,file_name:T||r,size:t.size,file:t,preloader:O,w:s.width,h:s.height,url:s.objectURL},U={_:"message",id:c,from_id:R,to_id:m.default.getOutputPeer(e),flags:L,pFlags:M,date:x,message:X,media:A?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:j,random_id:y,reply_to_msg_id:D,views:P&&1,pending:!0},N=e=>{e?U.error=!0:delete U.error,a.$rootScope.$broadcast("messages_pending")};let H=!1,$=null;const q=(t,i)=>(this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMedia",{flags:t,background:s.background,clear_draft:!0,peer:m.default.getInputPeerByID(e),media:i,message:X,random_id:p,reply_to_msg_id:o.default.getMessageLocalID(D)}).then(e=>{u.default.processUpdateMessage(e)},e=>{if("photo"==n&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,n="document",void U.send();N(!0)}));U.send=()=>{let e=0;if(D&&(e|=1),s.background&&(e|=64),e|=128,A){const{id:s,access_hash:i,file_reference:n}=t;q(e,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:s,access_hash:i,file_reference:n}})}else if(t instanceof File||t instanceof Blob){const s=S.deferredPromise();this.sendFilePromise.then(()=>{H&&!U.error||(H=!1,$=E.default.upload(t),O.attachPromise($)),$&&$.then(t=>{var s;switch(this.log("appMessagesManager: sendFile uploaded:",t),t.name=r,H=!0,n){case"photo":s={_:"inputMediaUploadedPhoto",flags:0,file:t};break;default:s={_:"inputMediaUploadedDocument",file:t,mime_type:k,attributes:F}}q(e,s)},()=>{N(!0)}),$.addNotifyListener(e=>{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:B,progress:0|t})}),$.catch(e=>{"AbortError"!==e.name||H||(this.log("cancelling upload",j),s.resolve(),this.cancelPendingMessage(y),this.setTyping("sendMessageCancelAction"))}),$.finally(s.resolve)}),this.sendFilePromise=s}},this.saveMessages([U]),_.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(U.send.bind(this),0),this.pendingByRandomID[y]=[e,c]}sendAlbum(e,t,s={}){var n;return i(this,void 0,void 0,(function*(){let i;e=m.default.getPeerMigratedTo(e)||e;let r=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]},c=0,p={},y=s.replyToMsgID,_=m.default.isChannel(e),L=_&&m.default.isMegagroup(e),M=!(!_||L),D=s.caption||"",I=a.tsNow(!0)+g.default.serverTimeOffset;if(D){let e=s.entities||[];D=f.RichTextProcessor.parseMarkdown(D,e)}this.log("AMM: sendAlbum",t,s);let C=d.default.getSelf().id;e!=C&&(p.out=!0,_||d.default.isBot(e)||(p.unread=!0)),y&&(c|=1),M?(C=0,p.post=!0):c|=128;let P=t.map(()=>this.tempID--).reverse();i=P[P.length-1];let k=t.map((t,n)=>{let a=P[n],o=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],d=l.bigint(o[0]).shiftLeft(32).add(l.bigint(o[1])).toString(),f=new v.default(null,!0),u=s.sendFileDetails[n],g={_:"messageMediaPending",type:"album",preloader:f,document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+a,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:u.duration,w:u.width,h:u.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:u.objectURL||"",size:t.size};b.default.saveDoc(e),g.document=e}else{let e={_:"photo",id:""+a,sizes:[{_:"photoSize",w:u.width,h:u.height,type:"m",size:t.size}],w:u.width,h:u.height,downloaded:t.size,url:u.objectURL||""};h.default.savePhoto(e),g.photo=e}let w={_:"message",id:a,from_id:C,grouped_id:i,to_id:m.default.getOutputPeer(e),flags:c,pFlags:p,date:I,message:D,media:g,random_id:d,randomID:o,reply_to_msg_id:y,views:M&&1,pending:!0,error:!1};return this.saveMessages([w]),r.pending.unshift(a),this.pendingByRandomID[d]=[e,a],w});a.$rootScope.$broadcast("history_append",{peerID:e,messageID:k[k.length-1].id,my:!0});let T=(e,t)=>{t?e.error=!0:delete e.error,a.$rootScope.$broadcast("messages_pending")},A=!1,X=null,x=m.default.getInputPeerByID(e),F=[];for(let e=0,i=t.length;e{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:r,progress:0|t})}),X.catch(e=>{"AbortError"!==e.name||A||(this.log("cancelling upload item",a),l=!0)}),yield X.then(t=>{if(this.log("appMessagesManager: sendAlbum file uploaded:",t),l)return;let a;t.name=f;let o=s.sendFileDetails[e];return a=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:t,mime_type:i.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:t},w.default.invokeApi("messages.uploadMedia",{peer:x,media:a}).then(e=>{if(l)return;let t;if(e.photo){let s=e.photo;h.default.savePhoto(s),t=h.default.getInput(s)}else{let s=e.document;b.default.saveDoc(s),t=b.default.getMediaInput(s)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:D,entities:[]}),D=""},()=>{T(n,!0)})},()=>{T(n,!0)}),this.log("appMessagesManager: sendAlbum uploadPromise.finally!"),d.resolve()}A=!0,(e=>{this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMultiMedia",{flags:c,peer:x,multi_media:e,reply_to_msg_id:o.default.getMessageLocalID(y)}).then(e=>{u.default.processUpdateMessage(e)},e=>{k.forEach(e=>T(e,!0))})})(F)}))}sendOther(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;const n=this.tempID--,r=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],f=l.bigint(r[0]).shiftLeft(32).add(l.bigint(r[1])).toString(),c=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},h=s.replyToMsgID,p=m.default.isChannel(e),b=p&&m.default.isMegagroup(e),v=!(!p||b);let y,_=d.default.getSelf().id;switch(t._){case"inputMediaPoll":{t.poll.id=n,L.default.savePoll(t.poll,{_:"pollResults",flags:4,total_voters:0,pFlags:{}});const{poll:e,results:s}=L.default.getPoll(""+n);y={_:"messageMediaPoll",poll:e,results:s};break}}let S=0,M={};e!=_&&(S|=2,M.out=!0,d.default.isBot(e)||(S|=1,M.unread=!0)),h&&(S|=8),v?(_=0,M.post=!0):S|=256;const D={_:"message",id:n,from_id:_,to_id:m.default.getOutputPeer(e),flags:S,pFlags:M,date:a.tsNow(!0)+g.default.serverTimeOffset,message:"",media:y,random_id:f,reply_to_msg_id:h,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,views:v&&1,pending:!0};D.send=()=>{let i=0;h&&(i|=1),v&&(i|=16),s.clearDraft&&(i|=128);const n={};let d;this.pendingAfterMsgs[e]&&(n.afterMessageID=this.pendingAfterMsgs[e].messageID),d=s.viaBotID?w.default.invokeApi("messages.sendInlineBotResult",{flags:i,peer:m.default.getInputPeerByID(e),random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h),query_id:s.queryID,id:s.resultID},n):w.default.invokeApi("messages.sendMedia",{flags:i,peer:m.default.getInputPeerByID(e),media:t,random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h)},n),d.then(e=>{e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},e=>{a.$rootScope.$broadcast("messages_pending")}).finally(()=>{this.pendingAfterMsgs[e]===n&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=n},this.saveMessages([D]),c.pending.unshift(n),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:n,my:!0}),setTimeout(D.send,0),this.pendingByRandomID[f]=[e,n]}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(this.log("cancelPendingMessage",e,t),t){var s=t[0],i=t[1],n=this.historiesStorage[s],a=n.pending.indexOf(i);return u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[i]}}),-1!=a&&n.pending.splice(a,1),delete this.messagesStorage[i],!0}return!1}getConversationsAll(e=""){return i(this,void 0,void 0,(function*(){const t=[];for(let s=0;s<2;++s){let i=0;for(;;){const{dialogs:n}=yield k.getConversations(e,i,100,s);if(!n.length)break;t.push(...n),i=n[n.length-1].index||0}}return t}))}getConversations(e="",t,s=20,i=0){const n=i>1?0:i;let a=this.dialogsStorage.getFolder(i);if(e){if(!s||this.cachedResults.query!==e){this.cachedResults.query=e;const t=M.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage.dialogs){const s=this.dialogsStorage.dialogs[e];t[s.peerID]&&this.cachedResults.dialogs.push(s)}this.cachedResults.count=this.cachedResults.dialogs.length}a=this.cachedResults.dialogs}else this.cachedResults.query="";let o=0;if(t>0)for(;oa[o].index);o++);return e||this.dialogsStorage.allDialogsLoaded[n]||a.length>=o+s?Promise.resolve({dialogs:a.slice(o,o+s),count:this.dialogsStorage.allDialogsLoaded[n]?a.length:null}):this.getTopMessages(s,n).then(e=>{if(o=0,t>0)for(;oa[o].index);o++);return{dialogs:a.slice(o,o+s),count:e}})}getTopMessages(e,t){const s=this.dialogsStorage.getFolder(t);let i=0,n=0,f=0;return this.dialogsStorage.dialogsOffsetDate[t]&&(i=this.dialogsStorage.dialogsOffsetDate[t]+y.default.serverTimeOffset,n=65536*this.dialogsStorage.dialogsOffsetDate[t]),f|=2,w.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:i,offset_id:o.default.getMessageLocalID(0),offset_peer:m.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{i||c.telegramMeWebService.setAuthorized(!0),d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var o=!!i,f=!1;let l=e.dialogs.length,u={};for(let t=l-1;t>=0;--t){let s=e.dialogs[t];this.saveConversation(s),n&&s.index>n&&(this.newDialogsToHandle[s.peerID]=s,f=!0),s.read_inbox_max_id||s.read_outbox_max_id||(u[s.peerID]=s),o||m.default.isChannel(m.default.getPeerID(s.peer))||(this.incrementMaxSeenID(s.top_message),o=!0)}return Object.keys(u).length&&this.reloadConversation(Object.keys(u).map(e=>+e)).then(()=>{a.$rootScope.$broadcast("dialogs_multiupdate",u);for(let e in u)a.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||s.length>=e.count)&&(this.dialogsStorage.allDialogsLoaded[t]=!0),f?this.scheduleHandleNewDialogs():a.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,s={}){e=m.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var i=0;s.withMyScore&&(i|=256);let n=o.default.splitMessageIDsByChannels(t),a=[];for(let t in n.msgIDs){let s=n.msgIDs[t],o=s.length,r=[];for(let e=0;e{u.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===d&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=d,a.push(f)}return Promise.all(a)}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&m.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){return this.dialogsStorage.getDialog(e)}reloadConversation(e){return[].concat(e).forEach(e=>{this.reloadConversationsPeers.includes(e)||(this.reloadConversationsPeers.push(e),this.log("will reloadConversation",e))}),this.reloadConversationsPromise?this.reloadConversationsPromise:this.reloadConversationsPromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.reloadConversationsPeers.map(e=>m.default.getInputPeerByID(e));this.reloadConversationsPeers.length=0,w.default.invokeApi("messages.getPeerDialogs",{peers:s}).then(t=>{this.applyConversations(t),e()},t).finally(()=>{this.reloadConversationsPromise=null})},0)})}doFlushHistory(e,t){let s=0;return t&&(s|=1),w.default.invokeApi("messages.deleteHistory",{flags:s,peer:e,max_id:0}).then(s=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:s.pts,pts_count:s.pts_count}}),!s.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return i(this,void 0,void 0,(function*(){if(m.default.isChannel(e)){let t=this.getHistory(e,0,1),s=t instanceof Promise?yield t:t,i=-e,n=o.default.getMessageLocalID(s.history[0]||0);return w.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(i),max_id:n}).then(()=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:i,available_min_id:n}}),!0))}return this.doFlushHistory(m.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}t?a.$rootScope.$broadcast("dialog_flush",{peerID:e}):(this.dialogsStorage.dropDialog(e),a.$rootScope.$broadcast("dialog_drop",{peerID:e}))})}))}savePinnedMessage(e,t){t?(this.pinnedMessages[e]=t,this.wrapSingleMessage(t)):delete this.pinnedMessages[e]}getPinnedMessage(e){return this.getMessage(this.pinnedMessages[e]||0)}updatePinnedMessage(e,t){w.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:m.default.getInputPeerByID(e),id:t}).then(e=>{u.default.processUpdateMessage(e)})}saveMessages(e,t={}){e.forEach(e=>{var s;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const i=this.getMessagePeer(e),n="peerChannel"==e.to_id._,a=n?-i:0,l=n&&r.default.isBroadcast(a),c=o.default.getFullMessageID(e.id,a);if(e.mid=c,e.grouped_id){(null!==(s=this.groupedMessagesStorage[e.grouped_id])&&void 0!==s?s:this.groupedMessagesStorage[e.grouped_id]={})[c]=e}const u=this.getDialogByPeerID(i)[0];u&&c>0?e.pFlags.unread=c>u[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=o.default.getFullMessageID(e.reply_to_msg_id,a)),e.date-=y.default.serverTimeOffset,e.peerID=i,e.fromID=e.pFlags.post?i:e.from_id;const p=e.fwd_from;if(p){if(i==d.default.getSelf().id){if(p.saved_from_peer&&p.saved_from_msg_id){const t=m.default.getPeerID(p.saved_from_peer),s=o.default.getFullMessageID(p.saved_from_msg_id,m.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+s}e.fromID=p.channel_id?-p.channel_id:p.from_id}else e.fwdPostID=p.channel_post;e.fwdFromID=p.channel_id?-p.channel_id:p.from_id,p.date-=y.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const g={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=h.default.savePhoto(e.media.photo,g);break;case"messageMediaPoll":e.media.poll=L.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=b.default.saveDoc(e.media.document,g);break;case"messageMediaWebPage":_.default.saveWebPage(e.media.webpage,e.mid,g);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,s;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=h.default.savePhoto(e.action.photo,g),l&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":l&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":l&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=n?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,s=-a;break;case"messageActionChatMigrateTo":t=-a,s=-e.action.channel_id;break;case"messageActionHistoryClear":e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&s&&!this.migratedFromTo[t]&&!this.migratedToFrom[s]&&this.migrateChecks(t,s)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=f.RichTextProcessor.parseEntities(e.message),s=e.entities||[];e.totalEntities=f.RichTextProcessor.mergeEntities(t,s,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[c]=e)})}getRichReplyText(e,t=e.message){let s="";if(e.media)if(e.grouped_id)s+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":s+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":s+="Geolocation";break;case"messageMediaPoll":s+=""+e.media.poll.rReply+"";break;case"messageMediaContact":s+="Contact";break;case"messageMediaDocument":let t=e.media.document;s="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,i="";if(t.message)i=f.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",s=t._;if("messageActionPhoneCall"==s){s+="."+t.type;let i=t.duration;if(i){let t=[];t.push(i%60+" s"),i>=60&&t.push((i/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}i=(a.langPack[s]||t._)+e}s=i?""+i+"":""}let i="";if(t){let e=f.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});i=f.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return s+i}editPeerFolders(e,t){w.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:m.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{this.log("editPeerFolders updates:",e),u.default.processUpdateMessage(e)})}toggleDialogPin(e,t){var s;if(t>1)return void this.filtersStorage.toggleDialogPin(e,t);const i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();const n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=(null===(s=i.pFlags)||void 0===s?void 0:s.pinned)?0:1;return w.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogPinned",peer:n,pFlags:{pinned:a}})})}markDialogUnread(e,t){var s;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=t||(null===(s=i.pFlags)||void 0===s?void 0:s.unread_mark)?0:1;return w.default.invokeApi("messages.markDialogUnread",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogUnreadMark",peer:n,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){const s=r.default.getChat(-e);s&&s.migrated_to&&s.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{const s=this.dialogsStorage.dropDialog(e);s.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:s[0]}),a.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&d.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==d.default.getSelf().id||!(t.date{const i=m.default.getPeerID(e.peer);let n=e.top_message;const o=this.pendingTopMsgs[i];if(o&&(!n||this.getMessage(o).date>this.getMessage(n).date)&&(e.top_message=n=o),n){const n=this.getDialogByPeerID(i)[0];n&&n.pFlags&&n.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0),this.saveConversation(e),n?a.$rootScope.$broadcast("dialog_top",e):(t[i]=e,s=!0)}else{const e=this.dialogsStorage.dropDialog(i);e.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:i,dialog:e[0]})}if(void 0!==this.newUpdatesAfterReloadToHandle[i]){for(const e in this.newUpdatesAfterReloadToHandle[i]){const t=this.newUpdatesAfterReloadToHandle[i][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[i]}}),s&&a.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=m.default.getPeerID(e.peer);if(!t)return!1;const s=m.default.isChannel(t)?-t:0,i=m.default.getPeerSearchText(t);let n,f;if(M.default.indexObject(t,i,this.dialogsIndex),e.top_message?(n=o.default.getFullMessageID(e.top_message,s),f=this.getMessage(n)):(n=this.tempID--,f={_:"message",id:n,mid:n,from_id:d.default.getSelf().id,to_id:m.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([f])),!s&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const s=m.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=s,void(this.migratedToFrom[s]=t)}}if(e.top_message=n,e.read_inbox_max_id=o.default.getFullMessageID(e.read_inbox_max_id,s),e.read_outbox_max_id=o.default.getFullMessageID(e.read_outbox_max_id,s),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e,f.date),f.mid>0&&(f.mid>e[f.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?f.pFlags.unread=!0:f.pFlags.unread=!1),void 0===this.historiesStorage[t]){const s={count:null,history:[],pending:[]};s[n>0?"history":"pending"].push(n),n<0&&f.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=s,this.mergeReplyKeyboard(s,f)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:t})}s&&e.pts&&u.default.addChannelState(s,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var s=t.reply_markup,i=e.reply_markup;if(s)return!(i&&i.mid>=t.mid)&&(!(s.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.midi.mid||t.mid<0)&&t.message)return i.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(i?t.action.user_id==i.fromID:d.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",s={_:"inputMessagesFilterEmpty"},i,n,f=0,l=0){var c=[],u=!t,h={peer:e,filter:s},p=u&&a.deepEqual(this.lastSearchFilter,h);if(u&&!p&&(this.lastSearchFilter=h,this.lastSearchResults=[]),e&&!i&&!t){var b=this.historiesStorage[e];if(void 0!==b&&b.history.length){var v,y={},_=[],S=n||20;switch(s._){case"inputMessagesFilterPhotos":y.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":y.messageMediaPhoto=!0,y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterVideo":y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterDocument":y.messageMediaDocument=!0;break;case"inputMessagesFilterVoice":y.messageMediaDocument=!0,_.push("voice");break;case"inputMessagesFilterRoundVoice":y.messageMediaDocument=!0,_.push("round","voice");break;case"inputMessagesFilterRoundVideo":y.messageMediaDocument=!0,_.push("round");break;case"inputMessagesFilterMusic":y.messageMediaDocument=!0,_.push("audio");break;case"inputMessagesFilterUrl":y.url=!0;break;case"inputMessagesFilterMyMentions":y.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=S)break}}if(c.length=S));e++);}}if(c.length||1e3==n)return u&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),Promise.resolve({count:0,next_rate:0,history:c});let M;if(e||!t)M=w.default.invokeApi("messages.search",{flags:0,peer:m.default.getInputPeerByID(e),q:t||"",filter:s||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:n,offset_id:o.default.getMessageLocalID(i)||0,add_offset:l?-l:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,E=0,I=i&&this.getMessage(i);I&&I.date&&(I.date+g.default.serverTimeOffset,E=I.id,D=this.getMessagePeer(I)),M=w.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:f,offset_peer:m.default.getInputPeerByID(D),offset_id:o.default.getMessageLocalID(E),limit:n||20},{timeout:0,noErrorBox:!0})}return M.then(e=>{d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return c=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var s=r.default.getChat(-t);s.migrated_to&&this.migrateChecks(t,-s.migrated_to.channel_id)}c.push(e.mid)}),u&&(!i||p&&this.lastSearchResults.indexOf(i)>=0)&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),{count:t,next_rate:e.next_rate,history:c}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs,0))}deleteMessages(e,t){const s=o.default.splitMessageIDsByChannels(e),i=[];for(const e in s.msgIDs){const n=+e;let a,o=s.msgIDs[n];if(n>0){const e=r.default.getChat(n);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&o.forEach((e,i)=>{this.getMessage(s.mids[n][i]).pFlags.out&&t.push(e)}),!t.length)return;o=t}a=w.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(n),id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:n,messages:o,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),a=w.default.invokeApi("messages.deleteMessages",{flags:e,id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:o,pts:e.pts,pts_count:e.pts_count}})})}i.push(a)}return Promise.all(i)}readHistory(e,t=0,s=0){const i=m.default.isChannel(e),n=this.historiesStorage[e],o=this.getDialogByPeerID(e)[0];if(!o||!o.unread_count){if(!n||!n.history.length)return Promise.resolve(!1);if(!!!n.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(n.readPromise)return n.readPromise;let d;return d=i?w.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):w.default.invokeApi("messages.readHistory",{peer:m.default.getInputPeerByID(e),max_id:t}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),n.readPromise=d.then(()=>{let i=-1;0!=t&&n.history.length&&(i=n.history.indexOf(t));let r=1;if(n.history.length&&t)for(let e=-1==i?0:i,s=n.history.length;et)continue;const i=this.messagesStorage[s];i&&!i.pFlags.out&&(i.pFlags.unread=!1,r++)}return!!o&&(n.history.length&&(o.read_inbox_max_id=t),o.read_inbox_max_id==o.top_message||o.read_inbox_max_id==o.read_outbox_max_id?o.unread_count=0:o.unread_count=Math.max(o.unread_count-(s||r),0),this.log("readHistory set unread_count to:",o.unread_count,o),a.$rootScope.$broadcast("dialog_unread",{peerID:e,count:o.unread_count}),a.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete n.readPromise}),n.readPromise}readMessages(e){var t=o.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e];e>0?w.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:s}).then(()=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:s}})}):w.default.invokeApi("messages.readMessageContents",{id:s}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:s,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){var t,s;switch(this.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var i=e.random_id,n=this.pendingByRandomID[i];if(n){var f=n[0],l=n[1],c=m.default.isChannel(f)?-f:0,u=o.default.getFullMessageID(e.id,c);if(p=this.messagesStorage[u]){var h=(g=this.historiesStorage[f]).pending.indexOf(l);-1!=h&&g.pending.splice(h,1),delete this.messagesStorage[l],this.finalizePendingMessageCallbacks(l,u)}else this.pendingByMessageID[u]=i}break;case"updateNewMessage":case"updateNewChannelMessage":var p=e.message,g=(f=this.getMessagePeer(p),this.historiesStorage[f]);if(!(C=this.getDialogByPeerID(f)).length){this.newDialogsToHandle[f]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[f]&&(this.newUpdatesAfterReloadToHandle[f]=[]),this.newUpdatesAfterReloadToHandle[f].push(e);break}if("updateNewChannelMessage"==e._){var b=r.default.getChat(-f);if(b.pFlags&&(b.pFlags.left||b.pFlags.kicked))break}if(this.saveMessages([p],{isNew:!0}),void 0===g&&(g=this.historiesStorage[f]={count:null,history:[],pending:[]}),-1!=(F=p.mid>0?g.history:g.pending).indexOf(p.mid))return!1;var v,_=F[0];F.unshift(p.mid),p.mid>0&&p.mid<_&&F.sort((e,t)=>t-e),p.mid>0&&null!==g.count&&g.count++,this.mergeReplyKeyboard(g,p)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:f}),!p.pFlags.out&&p.from_id&&d.default.forceUserOnline(p.from_id),(i=this.pendingByMessageID[p.mid])&&((v=this.finalizePendingMessage(i,p))&&a.$rootScope.$broadcast("history_update",{peerID:f,mid:p.mid}),delete this.pendingByMessageID[p.mid]),v||(void 0===this.newMessagesToHandle[f]&&(this.newMessagesToHandle[f]=[]),this.newMessagesToHandle[f].push(p.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages,0)));var S=!p.pFlags.out&&p.pFlags.unread;(L=C[0]).top_message=p.mid,S&&L.unread_count++,L.pFlags.pinned&&L.index||(L.index=this.dialogsStorage.generateDialogIndex(p.date)),this.newDialogsToHandle[f]=L,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{this.log("updateDialogUnreadMark",e);let t=m.default.getPeerID(e.peer.peer),s=this.getDialogByPeerID(t);if(s.length){let t=s[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,a.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{this.log("updateFolderPeers",e);const t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{var t;const{folder_id:s,peer:i}=e,n=m.default.getPeerID(i),a=this.dialogsStorage.dropDialog(n);if(a.length){const e=a[0];this.newDialogsToHandle[n]=e,(null===(t=e.pFlags)||void 0===t?void 0:t.pinned)&&(delete e.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(t=>t==e.peerID)),e.folder_id=s,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e)}else this.newDialogsToHandle[n]={reload:!0}});break}case"updateDialogPinned":{const s=null!==(t=e.folder_id)&&void 0!==t?t:0;this.log("updateDialogPinned",e);const i=m.default.getPeerID(e.peer.peer),n=this.getDialogByPeerID(i);if(this.scheduleHandleNewDialogs(),n.length){const t=n[0];this.newDialogsToHandle[i]=t,e.pFlags.pinned?t.pFlags.pinned=!0:(delete t.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(e=>e==t.peerID)),this.dialogsStorage.generateIndexForDialog(t)}else this.newDialogsToHandle[i]={reload:!0};break}case"updatePinnedDialogs":{const t=null!==(s=e.folder_id)&&void 0!==s?s:0;this.log("updatePinnedDialogs",e);const i={};if(!e.order){w.default.invokeApi("messages.getPinnedDialogs",{folder_id:t}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{i[e.peerID]=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.dialogsStorage.pinnedOrders[t].length=0;let n=!1;e.order.reverse(),e.order.forEach(e=>{const t=m.default.getPeerID(e.peer);i[t]=!0;const s=this.getDialogByPeerID(t);if(!s.length)return this.newDialogsToHandle[t]={reload:!0},void(n=!0);const a=s[0];a.pFlags.pinned=!0,this.dialogsStorage.generateIndexForDialog(a),this.newDialogsToHandle[t]=a,n=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},n=!0)}),n&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":p=e.message,f=this.getMessagePeer(p),c="peerChannel"==p.to_id._?-f:0,u=o.default.getFullMessageID(p.id,c);if(void 0===this.messagesStorage[u])break;this.saveMessages([p],{isEdited:!0}),a.safeReplaceObject(this.messagesStorage[u],p);var L,M=(L=this.getDialogByPeerID(f)[0])&&L.top_message==u;if(p.clear_history)M&&a.$rootScope.$broadcast("dialog_flush",{peerID:f});else if(a.$rootScope.$broadcast("message_edit",{peerID:f,id:p.id,mid:u,justMedia:!1}),M){var D={};D[f]=L,a.$rootScope.$broadcast("dialogs_multiupdate",D)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var E="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,I=(c=e.channel_id,o.default.getFullMessageID(e.max_id,c)),C=(f=c?-c:m.default.getPeerID(e.peer),this.getDialogByPeerID(f)),P=0,k=(F=(this.historiesStorage[f]||{}).history||[]).length,T=!1;for(f>0&&E&&d.default.forceUserOnline(f),X=0;XI)&&(p=this.messagesStorage[R])&&p.pFlags.out==E){if(!p.pFlags.unread)break;p&&p.pFlags.unread&&(p.pFlags.unread=!1,T||(T=!0),p.pFlags.out||C[0]&&(P=--C[0].unread_count))}C[0]&&(!E&&P&&C[0].top_message<=I&&(P=C[0].unread_count=0),C[0][E?"read_outbox_max_id":"read_inbox_max_id"]=I),a.$rootScope.$broadcast("dialog_unread",{peerID:f,count:P}),T&&a.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":c=e.channel_id;var A=[];e.messages.forEach(e=>{A.push(o.default.getFullMessageID(e,c))}),e.messages=A;case"updateReadMessagesContents":var X,x=(B=e.messages).length;for(X=0;X{(!e.available_min_id||o.default.getMessageLocalID(t)<=e.available_min_id)&&B.push(t)}),e.messages=B;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},s=e.channel_id;for(let i=0;i{let s=t[+e],i=this.historiesStorage[e];if(void 0!==i){let t=[],n=[];for(let e=0;e0&&(i.count-=s.count,i.count<0&&(i.count=0));for(let e=0;e0;!("channel"!=i._||!i.username&&(i.pFlags.left||i.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],a.$rootScope.$broadcast("history_forbidden",s)),d!=n&&(n?this.reloadConversation(-t):o[0]&&(this.dialogsStorage.dropDialog(s),a.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:o[0]})));break}case"updateChannelReload":{const t=e.channel_id,s=-t;this.dialogsStorage.dropDialog(s),delete this.historiesStorage[s],this.reloadConversation(-t).then(()=>{a.$rootScope.$broadcast("history_reload",s)});break}case"updateChannelMessageViews":{let t=e.views,s=o.default.getFullMessageID(e.id,e.channel_id),i=this.getMessage(s);i&&i.views&&i.views{e(t)}),delete this.tempFinalizeCallbacks[e]),a.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;p.default.set({max_seen_msg:e}),w.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,s,i){var n;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const a=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,d=!1,f=!1,l=e;if(this.migratedToFrom[e]&&(f=!0,t&&t0)for(d=!0;ra.history[r]){d=!1;break}if(!d&&(null!==a.count&&a.history.length==a.count||a.history.length>=r+s)){i?(i=Math.min(r,i),r=Math.max(0,r-i),s+=i):s=s;let e=a.history.slice(r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})}return d&&(r=0),(i||t)&&-1==a.history.indexOf(t)?(i&&(r=-i,s+=i),this.requestHistory(l,t,s,r).then(e=>{a.count=e.count||e.messages.length,f&&a.count++;let s=[];return e.messages.forEach(e=>{s.push(e.mid)}),!t&&a.pending.length&&(s=a.pending.slice().concat(s)),this.wrapHistoryResult({count:a.count,history:s,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,s,a).then(()=>{if(r=0,t>0)for(r=0;ra.history[r]);r++);let e=a.history.slice(i?Math.max(r-i,0):r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,s,i){const n=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,s,n).then(n=>{i.count=n.count||n.messages.length,!t&&n.messages.length&&(t=n.messages[0].mid+1);let o=0;if(t>0)for(;oi.history[o]);o++);const r=i.history.length;i.history.splice(o,i.history.length-o),n.messages.forEach(t=>{this.mergeReplyKeyboard(i,t)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:e}),i.history.push(t.mid)});const d=i.history.length;s-=d-r;const f=this.migratedFromTo[e],l=this.migratedToFrom[e],c=void 0!==f||void 0!==l;if(c&&(i.count=Math.max(i.count,d)+1),s>0){if(t=i.history[d-1],c){if(!n.messages.length){if(!l)return i.count=d,!0;t=0,e=l}return this.fillHistoryStorage(e,t,s,i)}if(d=0;t--){const s=this.messagesStorage[e.history[t]];if(s&&!s.pFlags.out&&s.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,s=0,i=0,n=0){const f=m.default.isChannel(e);return a.$rootScope.$broadcast("history_request"),w.default.invokeApi("messages.getHistory",{peer:m.default.getInputPeerByID(e),offset_id:t?o.default.getMessageLocalID(t):0,offset_date:n,add_offset:i,limit:s,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(n=>{this.log("requestHistory result:",n,t,s,i),d.default.saveApiUsers(n.users),r.default.saveApiChats(n.chats),this.saveMessages(n.messages),f&&u.default.addChannelState(-e,n.pts);let a=n.messages.length;a&&n.messages[a-1].deleted&&(n.messages.splice(a-1,1),a--,n.count--);const o=this.historiesStorage[e];return a&&n.messages[a-1].grouped_id&&o.history.length+n.messages.lengthn):n},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;const e=this.needSingleMessages.slice();this.needSingleMessages.length=0;const t=o.default.splitMessageIDsByChannels(e);let s=[];Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var n;n=e>0?w.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:i}):w.default.invokeApi("messages.getMessages",{id:i}),s.push(n.then(s=>{d.default.saveApiUsers(s.users),r.default.saveApiChats(s.chats),this.saveMessages(s.messages),a.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(s).finally(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e,t=!1){this.messagesStorage[e]&&!t?a.$rootScope.$broadcast("messages_downloaded",[e]):-1==this.needSingleMessages.indexOf(e)&&(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)))}setTyping(e){if(!a.$rootScope.myID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=m.default.getInputPeerByID(a.$rootScope.myID);return w.default.invokeApi("messages.setTyping",{peer:t,action:e})}}t.AppMessagesManager=P;const k=new P;t.default=k},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(5)),a=i(s(9)),o=s(0),r=s(3),d=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],f=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],l=[0,7,4,1,6,3,5],c={getPeerPhoto:e=>e>0?n.default.getUserPhoto(e):a.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=a.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&c.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,s=!1)=>{let i={};i=o.isObject(e)?e:c.getPeer(e);let n="";return e>0?(i.first_name&&(n+=i.first_name),i.last_name&&(n+=" "+i.last_name),n=n?n.trim():i.pFlags.deleted?"Deleted account":i.username):n=i.title,s&&(n=n.split(" ")[0]),t?n:r.RichTextProcessor.wrapEmojiText(n)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return a.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?n.default.getUserString(e):a.default.getChatString(-e),getPeerUsername:e=>e>0?n.default.getUser(e).username||"":a.default.getChat(-e).username||"",getPeer:e=>e>0?n.default.getUser(e):a.default.getChat(-e),getPeerID:e=>{if("number"==typeof e)return e;if(o.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);if(!e)return 0;const t="u"==e.charAt(0),s=e.substr(1).split("_");return t?s[0]:-s[0]||0},isChannel:e=>e<0&&a.default.isChannel(-e),isMegagroup:e=>e<0&&a.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!a.default.isBroadcast(-e),isBroadcast:e=>c.isChannel(e)&&!c.isMegagroup(e),isBot:e=>e>0&&n.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),s=e.substr(1).split("_");let i=+s[0];return"u"==t?(n.default.saveUserAccess(i,s[1]),{_:"inputPeerUser",user_id:i,access_hash:s[1]}):"c"==t||"s"==t?(a.default.saveChannelAccess(i,s[1]),"s"==t&&a.default.saveIsMegagroup(i),{_:"inputPeerChannel",channel_id:i,access_hash:s[1]||0}):{_:"inputPeerChat",chat_id:i}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return a.default.isChannel(t)?a.default.getChannelInputPeer(t):a.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:n.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?f:d)[l[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+n.default.getUserSearchText(e);else if(e<0){t="%pg "+(a.default.getChat(-e).title||"")}return t}};t.default=c},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppChatsManager=void 0;const a=s(0),o=s(3),r=n(s(5)),d=n(s(2)),f=n(s(32)),l=n(s(27)),c=n(s(38));class u{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},this.onChatUpdated=(e,t)=>{f.default.processUpdateMessage(t),t&&t.updates&&t.updates.length&&this.isChannel(e)&&l.default.invalidateChannelParticipants(e)},a.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateChannel":const e=t.channel_id;a.$rootScope.$broadcast("channel_settings",{channelID:e})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!a.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=o.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],s=c.default.cleanSearchText(e.title||"",!1).split(" "),i=s.shift(),n=s.pop();if(e.initials=i.charAt(0)+(n?n.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=c.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let s=t.photo&&t.photo.photo_small,i=e.photo&&e.photo.photo_small;JSON.stringify(s)!==JSON.stringify(i)&&(r=!0),a.safeReplaceObject(t,e),a.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&a.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&a.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{_:"chatEmpty",id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var s,i;const n=this.getChat(e);if("chatEmpty"==n._)return!1;if("chatForbidden"==n._||"channelForbidden"==n._||n.pFlags.kicked||n.pFlags.left)return!1;if(n.pFlags.creator)return!0;let a=null!==(i=null===(s=n.admin_rights||n.banned_rights||n.default_banned_rights)||void 0===s?void 0:s.pFlags)&&void 0!==i?i:{};switch(t){case"send":if("channel"==n._&&!n.pFlags.megagroup&&!a.post_messages)return!1;break;case"deleteRevoke":if("channel"==n._)return!!a.delete_messages;if(!n.pFlags.admin)return!1;break;case"pin":if("channel"==n._)return n.admin_rights?!!a.pin_messages||!!a.post_messages:!a.pin_messages;if(a.pin_messages&&!n.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==n._){if(!n.pFlags.megagroup)return!1;if("invite"!=t||!n.pFlags.democracy)return!1}else if(n.pFlags.admins_enabled&&!n.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){e<0&&(e=-e);let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?(e<0&&(e=-e),{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}):{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let s=this.chats[e];return a.isObject(s)&&(t||!s.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const s=this.getChat(e),i=this.isBroadcast(e),n=s.participants_count||(null===(t=s.participants)||void 0===t?void 0:t.participants.length)||0;return a.numberWithCommas(n)+" "+(i?"followers":"members")}wrapForFull(e,t){let s=a.copy(t),i=this.getChat(e);return s.participants_count||(s.participants_count=i.participants_count),s.participants&&"chatParticipants"==s.participants._&&(s.participants.participants=this.wrapParticipants(e,s.participants.participants)),s.about&&(s.rAbout=o.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.peerString=this.getChatString(e),s.chat=i,s}wrapParticipants(e,t){let s=this.getChat(e),i=r.default.getSelf().id;if(this.isChannel(e)){let e=s.pFlags.creator;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=s.pFlags.creator||s.pFlags.admins_enabled&&s.pFlags.admin;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=!t.canLeave&&(s.pFlags.creator||"chatParticipant"==t._&&(e||i==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return d.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let s=this.getChannelInput(e),i=t.map(e=>r.default.getUserInput(e));return d.default.invokeApi("channels.inviteToChannel",{channel:s,users:i}).then(e=>{f.default.processUpdateMessage(e)})}createChat(e,t){return d.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let s={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?d.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:s}).then(e=>{f.default.processUpdateMessage(e)}):d.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:s}).then(e=>{f.default.processUpdateMessage(e)})}getOnlines(e){var t,s;return i(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let i=Date.now()/1e3|0,n=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(i-n.timestamp<60)return n.onlines;let a=yield d.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),o=null!==(s=a.onlines)&&void 0!==s?s:1;return n.timestamp=i,n.onlines=o,o}if(this.isBroadcast(e))return 1;let i=l.default.getChatFull(e);if("chatFull"==i._&&i.participants&&i.participants.participants){return i.participants.participants.reduce((e,t)=>{let s=r.default.getUser(t.user_id);return s&&s.status&&"userStatusOnline"==s.status._?e+1:e},0)}return 1}))}leaveChannel(e){return d.default.invokeApi("channels.leaveChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}joinChannel(e){return d.default.invokeApi("channels.joinChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}}t.AppChatsManager=u,t.default=new u},function(e,t,s){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.LogLevels=void 0,function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(i=t.LogLevels||(t.LogLevels={}));var n=Date.now();function a(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"}t.logger=function(e,t=i.log|i.warn|i.error){function s(...s){return t&i.log&&console.log(a(),"["+e+"]:",...s)}return t=i.error,s.warn=function(...s){return t&i.warn&&console.warn(a(),"["+e+"]:",...s)},s.info=function(...s){return t&i.log&&console.info(a(),"["+e+"]:",...s)},s.error=function(...s){return t&i.error&&console.error(a(),"["+e+"]:",...s)},s.trace=function(...s){return t&i.log&&console.trace(a(),"["+e+"]:",...s)},s.debug=function(...s){return t&i.debug&&console.debug(a(),"["+e+"]:",...s)},s}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(3),o=s(0),r=n(s(54)),d=s(21),f=n(s(28)),l=n(s(13)),c=s(1);const u=new class{constructor(){this.docs={}}saveDoc(e,t){if(this.docs[e.id]){const t=this.docs[e.id];return e.thumbs&&(t.thumbs||(t.thumbs=e.thumbs)),t.file_reference=e.file_reference,t}if(t&&Object.assign(e,t),this.docs[e.id]=e,e.attributes.forEach(t=>{switch(t._){case"documentAttributeFilename":e.file_name=a.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice&&"audio/ogg"==e.mime_type?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=a.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return c.isServiceWorkerSupported&&("gif"==e.type&&e.size>8e6||"audio"==e.type||"video"==e.type)&&(e.supportsStreaming=!0,e.url||(e.url=this.getFileURL(e))),e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return o.isObject(e)&&"string"!=typeof e?e:this.docs[e]}getMediaInput(e){return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference},ttl_seconds:0}}getInput(e,t){return{_:"inputDocumentFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t}}getFileDownloadOptions(e,t){const s=this.getInput(e,null==t?void 0:t.type);let i;return i=t?e.sticker?"image/webp":"image/jpeg":e.mime_type||"application/octet-stream",{dcID:e.dc_id,location:s,size:t?t.size:e.size,mimeType:i,fileName:e.file_name}}getFileURL(e,t=!1,s){let i;return i=t?"download":s?"thumb":e.supportsStreaming?"stream":"document",o.getFileURL(i,this.getFileDownloadOptions(e,s))}getThumbURL(e,t){let s=Promise.resolve();return t.url||(t.bytes?t.url=l.default.getPreviewURLFromBytes(t.bytes,!!e.sticker):s=this.downloadDocNew(e,t)),{thumb:t,promise:s}}getThumb(e,t=!0){var s;if(null===(s=e.thumbs)||void 0===s?void 0:s.length){let s;return t||(s=e.thumbs.find(e=>!e.bytes)),s||(s=e.thumbs[0]),this.getThumbURL(e,s)}return null}getInputFileName(e,t){return d.getFileNameByLocation(this.getInput(e,t),{fileName:e.file_name})}downloadDocNew(e,t){const s=this.getDoc(e);if("documentEmpty"==s._)throw new Error("Document empty!");const n=this.getInputFileName(s,null==t?void 0:t.type);let a=f.default.getDownload(n);if(a)return a;const o=this.getFileDownloadOptions(s,t);a=f.default.download(o);const d=a;return d.then(e=>{t?t.url=URL.createObjectURL(e):(s.supportsStreaming||(s.url=URL.createObjectURL(e)),s.downloaded=!0)}),"voice"!=s.type||r.default.isPlaySupported()||(a=d.then(e=>i(this,void 0,void 0,(function*(){let t=new FileReader;return yield new Promise((i,n)=>{t.onloadend=e=>{let t=new Uint8Array(e.target.result);r.default.decode(t).then(e=>{s.url=e.url,i()},e=>{delete s.downloaded,n(e)})},t.readAsArrayBuffer(e)}),e})))),a}saveDocFile(e){const t=this.getFileDownloadOptions(e);return f.default.downloadToDisc(t,e.file_name)}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppImManager=void 0;const r=o(s(2)),d=s(0),f=o(s(5)),l=o(s(7)),c=o(s(8)),u=o(s(27)),h=o(s(15)),p=s(3),m=o(s(13)),g=o(s(22)),b=s(10),v=o(s(56)),y=o(s(14)),w=o(s(9)),_=s(20),S=o(s(35)),L=s(4),M=s(95),D=o(s(6)),E=o(s(101)),I=o(s(23)),C=o(s(11)),P=o(s(50)),k=o(s(43)),T=o(s(41)),A=o(s(62)),X=o(s(64)),x=s(36),F=s(1),B=o(s(18)),R=o(s(61)),O=o(s(29)),j=a(s(42)),U=o(s(102)),N=o(s(37)),H=o(s(39)),$=s(19),q=s(26);y.default;class z{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},L.parseMenuButtonsTo(this.buttons,this.element.children),L.attachContextMenuListener(e,e=>{let t=null;try{t=d.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),t=t.parentElement;let s=+t.dataset.mid;if(!s)return;let i=d.$rootScope.selectedPeerID;this.msgID=s;const n=l.default.getMessage(s);this.buttons.copy.style.display=n.message?"":"none",d.$rootScope.myID==i||i<0&&w.default.hasRights(-i,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=l.default.canEditMessage(s)?"":"none";let a=t.classList.contains("is-in")?"left":"right";L.positionMenu(e,this.element,a),L.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=l.default.getMessage(this.msgID),t=e?e.message:"";var s=document.createElement("textarea");s.value=t,s.style.position="fixed",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(s)}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=d.$rootScope.selectedPeerID,n=c.default.getPeerTitle(i,!1,!0),a=e=>{l.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",i==d.$rootScope.myID?s=[{text:"DELETE",isDanger:!0,callback:()=>a(!1)}]:(s=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!1)}],i>0?s.push({text:"DELETE FOR ME AND "+n,isDanger:!0,callback:()=>a(!0)}):w.default.hasRights(-i,"deleteRevoke")&&s.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>a(!0)})),s.push({text:"CANCEL",isCancel:!0}),new x.PopupPeer("popup-delete-chat",{peerID:i,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:s}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo(c.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{P.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{l.default.updatePinnedMessage(d.$rootScope.selectedPeerID,this.msgID)})}}class W{constructor(){this.foundCount=0,this.selectedIndex=0,this.onDateClick=e=>{d.cancelEvent(e),new U.default(new Date,Q.onDatePick).show()},this.selectResult=e=>{if(this.setPeerPromise)return this.setPeerPromise;const t=+e.getAttribute("data-peerID"),s=+e.dataset.mid||void 0,i=d.whichChild(e);i==this.foundCount-1?this.upBtn.setAttribute("disabled","true"):this.upBtn.removeAttribute("disabled"),i?this.downBtn.removeAttribute("disabled"):this.downBtn.setAttribute("disabled","true"),this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active");const n=Q.setPeer(t,s);this.setPeerPromise=(n instanceof Promise?n:Promise.resolve(n)).then(()=>{this.selectedIndex=i,this.foundCountEl.innerText=`${i+1} of ${this.foundCount}`;const e=this.searchGroup.list.childElementCount;this.selectedIndex>=e-6&&this.appSearch.searchMore()}).finally(()=>{this.setPeerPromise=null})},this.onResultsClick=e=>{const t=d.findUpTag(e.target,"LI");t&&this.selectResult(t)},this.onFooterClick=e=>{this.foundCount&&(Q.bubblesContainer.classList.toggle("search-results-active"),this.results.classList.toggle("active"))},this.onUpClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex+1])},this.onDownClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex-1])},this.element=document.createElement("div"),this.element.classList.add("sidebar-header","chat-search","chats-container"),this.backBtn=document.createElement("button"),this.backBtn.classList.add("btn-icon","tgico-back","sidebar-close-button"),$.ripple(this.backBtn),this.backBtn.addEventListener("click",()=>{Q.topbar.classList.remove("hide-pinned"),this.element.remove(),this.searchInput.remove(),this.results.remove(),this.footer.remove(),this.footer.removeEventListener("click",this.onFooterClick),this.dateBtn.removeEventListener("click",this.onDateClick),this.upBtn.removeEventListener("click",this.onUpClick),this.downBtn.removeEventListener("click",this.onDownClick),this.searchGroup.list.removeEventListener("click",this.onResultsClick),Q.bubblesContainer.classList.remove("search-results-active")},{once:!0}),this.searchInput=new O.default("Search"),this.results=document.createElement("div"),this.results.classList.add("chat-search-results","chats-container"),this.searchGroup=new j.SearchGroup("","messages",void 0,"",!1),this.searchGroup.list.addEventListener("click",this.onResultsClick),this.appSearch=new j.default(this.results,this.searchInput,{messages:this.searchGroup},e=>{this.foundCount=e,this.foundCount?this.selectResult(this.searchGroup.list.children[0]):(this.foundCountEl.innerText=this.searchInput.value?"No results":"",this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"))}),this.appSearch.beginSearch(d.$rootScope.selectedPeerID),Q.bubblesContainer.append(this.results),this.footer=document.createElement("div"),this.footer.classList.add("chat-search-footer"),this.footer.addEventListener("click",this.onFooterClick),$.ripple(this.footer),this.foundCountEl=document.createElement("span"),this.foundCountEl.classList.add("chat-search-count"),this.dateBtn=document.createElement("button"),this.dateBtn.classList.add("btn-icon","tgico-calendar"),this.controls=document.createElement("div"),this.controls.classList.add("chat-search-controls"),this.upBtn=document.createElement("button"),this.upBtn.classList.add("btn-icon","tgico-up"),this.downBtn=document.createElement("button"),this.downBtn.classList.add("btn-icon","tgico-down"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"),this.dateBtn.addEventListener("click",this.onDateClick),this.upBtn.addEventListener("click",this.onUpClick),this.downBtn.addEventListener("click",this.onDownClick),this.controls.append(this.upBtn,this.downBtn),this.footer.append(this.foundCountEl,this.dateBtn,this.controls),Q.topbar.parentElement.insertBefore(this.footer,Q.chatInput),this.element.append(this.backBtn,this.searchInput.container),Q.topbar.classList.add("hide-pinned"),Q.topbar.parentElement.append(this.element),this.searchInput.input.focus()}}class G{constructor(){this.container=document.createElement("div"),this.container.classList.add("pinned-audio","pinned-container"),this.container.style.display="none",this.toggle=document.createElement("div"),this.toggle.classList.add("pinned-audio-ico","tgico"),this.title=document.createElement("div"),this.title.classList.add("pinned-audio-title"),this.subtitle=document.createElement("div"),this.subtitle.classList.add("pinned-audio-subtitle"),this.close=document.createElement("button"),this.close.classList.add("pinned-audio-close","btn-icon","tgico-close"),this.container.append(this.toggle,this.title,this.subtitle,this.close),this.close.addEventListener("click",e=>{d.cancelEvent(e),this.container.style.display="none",this.container.parentElement.classList.remove("is-audio-shown"),this.toggle.classList.contains("flip-icon")&&N.default.toggle()}),this.toggle.addEventListener("click",e=>{d.cancelEvent(e),N.default.toggle()}),d.$rootScope.$on("audio_play",e=>{const{doc:t,mid:s}=e.detail;let i,n;if("voice"==t.type||"round"==t.type){const e=l.default.getMessage(s);i=c.default.getPeerTitle(e.fromID,!1,!0),n=_.formatDate(e.date,!1,!1)}else i=t.audioTitle||t.file_name,n=t.audioPerformer?p.RichTextProcessor.wrapPlainText(t.audioPerformer):"Unknown Artist";if(this.title.innerHTML=i,this.subtitle.innerHTML=n,this.toggle.classList.add("flip-icon"),this.container.dataset.mid=""+s,this.container.style.display){const e=Q.scrollable.scrollTop;this.container.style.display="",this.container.parentElement.classList.add("is-audio-shown"),Q.scrollable.scrollTop=e}}),d.$rootScope.$on("audio_pause",()=>{this.toggle.classList.remove("flip-icon")})}}class V{constructor(){this.columnEl=document.getElementById("column-center"),this.btnJoin=this.columnEl.querySelector(".chat-join"),this.btnMute=this.columnEl.querySelector(".chat-mute-button"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.columnEl.querySelector(".chat-search-button"),this.goDownBtn=this.columnEl.querySelector("#bubbles-go-down"),this.menuButtons={},this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=null,this.lazyLoadQueue=new I.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.chatInfo=this.columnEl.querySelector(".chat-info"),this.contextMenu=new z(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new E.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.selectTab=q.horizontalMenu(null,document.getElementById("main-columns")),this.closeBtn=this.topbar.querySelector(".sidebar-close-button"),this.onDatePick=e=>{const t=this.peerID;l.default.requestHistory(t,0,2,-1,e).then(e=>{var s;(null===(s=null==e?void 0:e.messages)||void 0===s?void 0:s.length)?this.peerID==t&&Q.setPeer(this.peerID,e.messages[0].mid):this.log.error("no history!")})},this.log=b.logger("IM",b.LogLevels.log|b.LogLevels.warn|b.LogLevels.debug|b.LogLevels.error),this.chatInputC=new M.ChatInput,this.preloader=new S.default(null,!1),this.selectTab(0),L.parseMenuButtonsTo(this.menuButtons,this.columnEl.querySelector(".chat-more-button").firstElementChild.children),this.chatAudio=new G,this.topbar.insertBefore(this.chatAudio.container,this.chatInfo.nextElementSibling),r.default.getUserID().then(e=>{this.myID=d.$rootScope.myID=e}),d.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=d.$rootScope.myID=t?t.id:0}),d.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),d.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,s=this.bubbles[e];if(!s)return;let i=l.default.getMessage(e);this.getDateContainerByMessage(i,!1).container.append(s),this.bubbleGroups.addBubble(s,i,!1)}}),d.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let s=t[this.peerID];this.renderNewMessagesByIDs(s)}),d.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),d.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),d.$rootScope.$on("chat_update",e=>{var t;const s=e.detail;if(this.peerID==-s){const e=w.default.getChat(s);this.btnJoin.classList.toggle("hide",!(null===(t=null==e?void 0:e.pFlags)||void 0===t?void 0:t.left))}}),d.$rootScope.$on("message_sent",e=>{var t,s,i;const{tempID:n,mid:a}=e.detail;this.log("message_sent",e.detail);const o=l.default.getMessage(a);if(o.media)if(o.media.photo){const e=m.default.getPhoto(n);if(e){const t=o.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(o.media.document){const e=C.default.getDoc(n);if(e&&e.type&&"sticker"!=e.type){const t=o.media.document;t.downloaded=e.downloaded,t.url=e.url}}let r=this.bubbles[n];if(r){if(this.bubbles[a]=r,o.grouped_id){let e=r.querySelectorAll(".album-item"),t=d.getObjectKeysAndSort(l.default.groupedMessagesStorage[o.grouped_id]);Array.from(e).forEach((e,s)=>{e.dataset.mid=""+t[s]})}if(null===(t=o.media)||void 0===t?void 0:t.poll){const e=o.media.poll,t=r.querySelector("poll-element");t&&(t.setAttribute("poll-id",e.id),t.setAttribute("message-id",a),delete H.default.polls[n],delete H.default.results[n])}if(["audio","voice"].includes(null===(i=null===(s=o.media)||void 0===s?void 0:s.document)||void 0===i?void 0:i.type)){const e=r.querySelector("audio-element");e.setAttribute("doc-id",o.media.document.id),e.setAttribute("message-id",""+a)}r.classList.remove("is-sending"),r.classList.add("is-sent"),r.dataset.mid=a,this.bubbleGroups.removeBubble(r,n),delete this.bubbles[n]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(n)&&(this.unreadOut.delete(n),this.unreadOut.add(a))}),d.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:s,id:i,justMedia:n}=e.detail;if(t!=this.peerID)return;let a=l.default.getMessage(s),o=this.bubbles[s];if(!o&&a.grouped_id){let e=this.getAlbumBubble(a.grouped_id);o=e.bubble,a=e.message}o&&this.renderMessage(a,!0,!1,o,!1)}),d.$rootScope.$on("messages_downloaded",e=>{const t=e.detail,s=l.default.getPinnedMessage(this.peerID);t.forEach(e=>{s.mid==e&&(this.messagesQueuePromise||Promise.resolve()).then(()=>{this.setPinnedMessage(s)}),this.needUpdate.forEachReverse((t,s)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(s,1)[0],i=this.bubbles[e];if(!i)return;let n=l.default.getMessage(e);l.default.getMessage(t).deleted&&delete n.reply_to_mid,this.renderMessage(n,!0,!1,i,!1)}})})}),d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{B.default.checkAnimations(!0),this.offline=d.$rootScope.idle.isIDLE=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{this.offline=d.$rootScope.idle.isIDLE=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),B.default.checkAnimations(!1)},{once:!0})}),this.topbar.addEventListener("click",e=>{const t=d.findUpClassName(e.target,"pinned-container");if(t){d.cancelEvent(e);const s=+t.dataset.mid,i=l.default.getMessage(s);this.setPeer(i.peerID,s)}else g.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t,s;let i=e.target,n=null;try{n=d.findUpClassName(i,"bubble")}catch(e){}if(!n)return;if(n.classList.contains("is-date")&&d.findUpClassName(i,"bubble__container")){if(n.classList.contains("is-sticky")&&!this.chatInner.classList.contains("is-scrolling"))return;for(let e in this.dateMessages){if(this.dateMessages[e].div==n){new U.default(new Date(+e),this.onDatePick).show();break}}return}let a=d.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName)if(n.classList.contains("sticker")&&i.parentElement.classList.contains("attachment")){const e=+n.dataset.mid,s=null===(t=l.default.getMessage(e).media)||void 0===t?void 0:t.document;(null==s?void 0:s.stickerSetInput)&&new R.default(s.stickerSetInput).show()}else{if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!n.classList.contains("round")){let e=+(null===(s=d.findUpClassName(i,"album-item"))||void 0===s?void 0:s.dataset.mid)||+n.dataset.mid,t=l.default.getMessage(e);if(!t)return void this.log.warn("no message by messageID:",e);let a=[],o=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=l.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);o.forEach(e=>{let t=".album-item img, .album-item video, .preview img, .preview video, ";t+=this.bubbles[e].classList.contains("with-media-tail")?".bubble__media-container":".attachment img, .attachment video";let s=this.bubbles[e].querySelectorAll(t);Array.from(s).forEach(t=>{let s=d.findUpClassName(t,"album-item");a.push({element:t,mid:+(null==s?void 0:s.dataset.mid)||e})})}),a.sort((e,t)=>e.mid-t.mid);let r=a.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",o,r,a),v.default.openMedia(t,a[r].element,!0,this.scroll.parentElement,a.slice(0,r),a.slice(r+1))}if(-1===["IMG","DIV","AVATAR-ELEMENT"].indexOf(i.tagName)&&(i=d.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=n.dataset.savedFrom.split("_"),t=+e[0],s=+e[1];return void this.setPeer(t,s)}if(i.classList.contains("forward")){const e=+n.dataset.mid;return void P.default.init([e])}if(i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}if("AVATAR-ELEMENT"==i.tagName){let e=+i.getAttribute("peer");return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!d.findUpClassName(e.target,"reply")}catch(e){}if(t&&n.classList.contains("is-reply")){let e=+n.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.getAttribute("peer");isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.closeBtn.addEventListener("click",e=>{d.cancelEvent(e),this.setPeer(0)}),this.searchBtn.addEventListener("click",e=>{d.cancelEvent(e),this.peerID&&g.default.beginSearch()}),this.btnMute.addEventListener("click",e=>{d.cancelEvent(e),this.mutePeer(this.peerID)}),this.btnJoin.addEventListener("click",e=>{d.cancelEvent(e),this.btnJoin.setAttribute("disabled","true"),w.default.joinChannel(-this.peerID).finally(()=>{this.btnJoin.removeAttribute("disabled")})}),this.menuButtons.mute.addEventListener("click",e=>{this.mutePeer(this.peerID)}),this.menuButtons.search.addEventListener("click",e=>{new W});document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"!=e.key||F.touchSupport?"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"):this.chatInputC.attachMediaPopUp.sendBtn.click());if("Escape"==e.key)v.default.wholeDiv.classList.contains("active")?v.default.buttons.close.click():P.default.container.classList.contains("active")?P.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("KeyC"==e.code&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),d.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{l.default.getDialogByPeerID(this.peerID)[0]?this.setPeer(this.peerID):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new X.default(this.scrollable.container,(e,t)=>{for(let s in this.dateMessages){let i=this.dateMessages[s];if(i.container==t){i.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{if(this.offline)return;let t=[];if(e.forEach(e=>{if(e.isIntersecting){let s=e.target,i=+s.dataset.mid;t.push(i),this.unreadedObserver.unobserve(s),this.unreaded.findAndSplice(e=>e==i)}}),t.length){let e=Math.max(...t),s=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),l.default.readHistory(this.peerID,e,s)})}})}setPinnedMessage(e){const t=this.scrollable.container.scrollTop,s=_.wrapReply("Pinned Message",e.message,e,!0);s.dataset.mid=""+e.mid,s.classList.add("pinned-container");const i=document.createElement("button");i.classList.add("pinned-message-close","btn-icon","tgico-close"),i.addEventListener("click",e=>{d.cancelEvent(e);const t=this.scrollable.scrollTop;s.remove(),this.topbar.classList.remove("is-pinned-shown"),this.pinnedMessageContainer=null,this.scrollable.scrollTop=t-52},{once:!0}),s.append(i),this.topbar.insertBefore(s,this.btnJoin),this.topbar.classList.add("is-pinned-shown"),this.pinnedMessageContainer&&this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=s,this.scrollable.scrollTop=t+52}updateStatus(){return this.myID?(f.default.setUserStatus(this.myID,this.offline),r.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=l.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:l.default.getMessage(t)}}return null}loadMoreHistory(e,t=!1){if(!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let s=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!s.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",s[0],"maxID:",s[s.length-1],s),this.getHistory(s[0],!0,void 0,void 0,t)),this.scrolledAllDown)return;let i=l.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==s.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",s[s.length-1],s),this.getHistory(s[s.length-1],!1,!0,void 0,t))}onScroll(e){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{F.touchSupport||(this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350)),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new D.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down"),F.touchSupport&&(this.scroll.addEventListener("touchmove",()=>{this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling")},{passive:!0}),this.scroll.addEventListener("touchend",()=>{this.chatInner.classList.contains("is-scrolling")&&(this.isScrollingTimeout&&clearTimeout(this.isScrollingTimeout),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350))},{passive:!0}))}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=c.default.getPeer(this.peerID),s=c.default.isChannel(this.peerID)&&!c.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=""),u.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e);let i=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(i){let e=d.numberWithCommas(i)+" "+(s?"followers":"members");if(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e,i<2)return;w.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+d.numberWithCommas(t)+" online"),this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e})}})}else if(f.default.isBot(this.peerID))this.subtitleEl.innerText="bot",g.default.profileElements.subtitle.innerText="bot";else{let e=f.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=f.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),g.default.profileElements.subtitle.classList.add("online")),g.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}findMountedBubbleByMsgID(e){return this.bubbles[d.getObjectKeysAndSort(this.bubbles).find(t=>{var s;return!(t+e)),u=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=u.className,this.chatInner.classList.add("disable-hover","is-scrolling"),i||this.lazyLoadQueue.clear(),this.lazyLoadQueue.lock();const{promise:h,cached:p}=this.getHistory(t,!0,r,f);return i?this.peerChanged=!0:g.default.setPeer(this.peerID),p||(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),this.preloader.attach(this.bubblesContainer),F.mediaSizes.isMobile&&this.selectTab(1)),B.default.lockGroup("chat"),this.setPeerPromise=Promise.all([h.then(()=>{var s;if(p?(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),F.mediaSizes.isMobile&&this.selectTab(1)):this.preloader.detach(),this.scrollable.container.append(this.chatInner),B.default.unlockGroup("chat"),B.default.checkAnimations(!1,"chat"),this.lazyLoadQueue.unlock(),n&&(o||t!=a)&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=c>0&&(c{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),g.default.setLoadMutex(this.setPeerPromise),g.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){var e,t;if(this.peerChanged)return;let s=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID),this.avatarEl.update();const i=c.default.isAnyGroup(s),n=c.default.isChannel(s),a=n&&w.default.hasRights(-s,"send");this.chatInner.classList.toggle("has-rights",a),this.chatInput.style.display=!n||a?"":"none",this.topbar.classList.remove("is-pinned-shown"),this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",i||s==this.myID),this.chatInner.classList.toggle("is-channel",n),this.btnMute.classList.toggle("hide",!c.default.isBroadcast(s)),this.btnJoin.classList.toggle("hide",!(null===(t=null===(e=w.default.getChat(-this.peerID))||void 0===e?void 0:e.pFlags)||void 0===t?void 0:t.left)),this.menuButtons.mute.style.display=this.myID==this.peerID?"none":"";const o=l.default.getPinnedMessage(s);o&&!o.deleted?this.setPinnedMessage(o):this.pinnedMessageContainer&&(this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=null),window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":c.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=g.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),g.default.fillProfileElements(),d.$rootScope.$broadcast("peer_changed",this.peerID)}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),B.default.checkAnimations(!1,"chat"),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=l.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){const s=new Date(1e3*e.date);s.setHours(0,0,0);const i=s.getTime();if(!(i in this.dateMessages)){let e="";const n=new Date;if(n.setHours(0,0,0,0),n.getTime()==s.getTime())e="Today";else{e=["January","February","March","April","May","June","July","August","September","October","November","December"][s.getMonth()]+" "+s.getDate(),s.getFullYear()!=n.getFullYear()&&(e+=", "+s.getFullYear())}const a=document.createElement("div");a.className="bubble service is-date",a.innerHTML=`
${e}
`;const o=document.createElement("div");o.className="bubbles-date-group",this.dateMessages[i]={div:a,container:o,firstTimestamp:s.getTime()},o.append(a),t?this.scrollable.prepend(o,!1):this.scrollable.append(o,!1),this.stickyIntersector.observeStickyHeaderChanges(o)}return this.dateMessages[i]}renderMessagesQueue(e,t,s){let i=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){if(!e.src)return;if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=new Promise((t,s)=>{let i,n=()=>{clearTimeout(o),t(),e.removeEventListener(e instanceof HTMLVideoElement?"canplay":"load",n)};e instanceof HTMLVideoElement?(e.addEventListener("canplay",n),i=()=>e.readyState>=1):(e.addEventListener("load",n),i=()=>e.complete);let a=()=>i()?n():window.requestAnimationFrame(a);window.requestAnimationFrame(a);let o=setTimeout(()=>{t()},1500)});i.push(t)}),this.messagesQueue.push({message:e,bubble:t,reverse:s,promises:i}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.chatInner,i=this.messagesQueue.slice();this.messagesQueue.length=0;let n=i.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(n).then(()=>{if(this.chatInner!=s)return t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),i.forEach(({message:e,bubble:t,reverse:s})=>{let i=this.getDateContainerByMessage(e,s);s?i.container.insertBefore(t,i.div.nextSibling):i.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,s=!1,i=null,n=!0){if(this.log.debug("message to render:",e),e.deleted)return;if(e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${l}`,n&&this.renderMessagesQueue(e,i,t),i}let h=new Date(1e3*e.date),g=("0"+h.getHours()).slice(-2)+":"+("0"+h.getMinutes()).slice(-2);if(e.views&&(i.classList.add("channel-post"),g=d.formatNumber(e.views,1)+' '+g,!e.savedFrom)){let e=document.createElement("div");e.classList.add("bubble-beside-button","forward"),e.innerHTML='\n \n \n \n \n \n ',a.append(e),i.classList.add("with-beside-button")}e.edit_date&&(i.classList.add("is-edited"),g='edited '+g);let b=document.createElement("span");b.classList.add("time");let v,y,w=document.createElement("div");if(w.classList.add("inner","tgico"),w.innerHTML=g,e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=0;for(let e in t){let i=t[e];if(i.message){if(++s>1)break;v=i.message,y=i.totalEntities}}s>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let S=p.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y&&!M){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=k.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=S,i.classList.add("emoji-"+e.length+"x"),a.append(t)}i.classList.add("is-message-empty","emoji-big")}else u.innerHTML=S}else u.innerHTML=S;if(b.appendChild(w),u.append(b),a.prepend(u),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){const t=e.reply_markup.rows,s=document.createElement("div");s.classList.add("reply-markup"),t.forEach(t=>{const i=t.buttons;if(!i||!i.length)return;const n=document.createElement("div");n.classList.add("reply-markup-row"),i.forEach(t=>{const s=p.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});let i;switch(t._){case"keyboardButtonUrl":{const s=f.default.getUser(e.fromID),n=!(s&&s.pFlags&&s.pFlags.verified),a=p.RichTextProcessor.wrapUrl(t.url,n);i=document.createElement("a"),i.href=a,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,$.ripple(i),n.append(i)}),s.append(n)}),s.addEventListener("click",s=>{let i=s.target;if(i.classList.contains("reply-markup-button")||(i=d.findUpClassName(i,"reply-markup-button")),!i)return;const n=d.whichChild(i),a=t[d.whichChild(i.parentElement)];if(!a.buttons||!a.buttons[n])return void this.log.warn("no such button",a,n,e);const o=a.buttons[n];A.default.callbackButtonClick(e.mid,o)});const i=45*t.length+"px";a.style.marginBottom=i,s.style.bottom="-"+i,a.prepend(s)}if(r){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",i.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(i),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=r&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||i.classList.add("is-message-empty");let s=!1;switch(M._){case"messageMediaPending":{let n=M,a=n.preloader;switch(n.type){case"album":this.log("will wrap pending album"),i.classList.add("hide-name","photo","is-album"),_.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":{this.log("will wrap pending photo:",n,e,m.default.getPhoto(e.id));const s=!F.isAndroid;s&&i.classList.add("with-media-tail"),_.wrapPhoto(m.default.getPhoto(e.id),e,t,void 0,void 0,s,!0,this.lazyLoadQueue,null),i.classList.add("hide-name","photo");break}case"video":{let s=C.default.getDoc(e.id);this.log("will wrap pending video:",n,e,s);const o=!F.isAndroid&&!F.isApple&&"round"!=s.type;o&&i.classList.add("with-media-tail"),_.wrapVideo({doc:s,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:o,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null,group:"chat"}),a.attach(t,!1),i.classList.add("hide-name","video");break}case"audio":case"voice":case"document":{const t=C.default.getDoc(e.id);this.log("will wrap pending doc:",t);const o=_.wrapDocument(t,!1,!0,e.id);if("audio"==t.type||"voice"==t.type)o.preloader=a;else{const e=o.querySelector(".audio-download, .document-ico");a.attach(e,!1)}"voice"==n.type&&i.classList.add("bubble-audio"),i.classList.remove("is-message-empty"),u.classList.add((n.type||"document")+"-message"),u.append(o),s=!0;break}}break}case"messageMediaPhoto":{let s=M.photo;i.classList.add("hide-name","photo");const n=!F.isAndroid;if(n&&i.classList.add("with-media-tail"),e.grouped_id){i.classList.add("is-album");let s=l.default.groupedMessagesStorage[e.grouped_id];if(1!=Object.keys(s).length){_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});break}}_.wrapPhoto(s,e,t,void 0,void 0,n,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{s=!0;let t=M.webpage;if("webPageEmpty"==t._)break;i.classList.add("webpage");let n=document.createElement("div");n.classList.add("box","web");let o,r,d=document.createElement("div");d.classList.add("quote"),(t.photo||t.document)&&(o=document.createElement("div"),o.classList.add("preview-resizer"),r=document.createElement("div"),r.classList.add("preview"),o.append(r));let f=null;t.document&&(f=t.document,"gif"==f.type||"video"==f.type?(i.classList.add("video"),_.wrapVideo({doc:f,container:r,message:e,boxWidth:F.mediaSizes.active.webpage.width,boxHeight:F.mediaSizes.active.webpage.height,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D,group:"chat"})):f=null),o&&d.append(o);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=p.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(d.append(l),t.photo&&!f){i.classList.add("photo");const s=t.photo.sizes[t.photo.sizes.length-1];s.w==s.h&&l.childElementCount?i.classList.add("is-square-photo"):s.h>s.w&&i.classList.add("is-vertical-photo"),_.wrapPhoto(t.photo,e,r,F.mediaSizes.active.webpage.width,F.mediaSizes.active.webpage.height,!1,D,this.lazyLoadQueue,this.getMiddleware())}n.append(d),a.prepend(b,n);break}case"messageMediaDocument":{let n=M.document;if(n.sticker){i.classList.add("sticker"),n.animated&&i.classList.add("sticker-animated");let e=i.classList.contains("emoji-big")?140:200;m.default.setAttachmentSize(n,t,e,e,!0),a.style.height=t.style.height,a.style.width=t.style.width,_.wrapSticker({doc:n,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!0,loop:!0,emoji:i.classList.contains("emoji-big")?v:void 0,withThumb:!0});break}if("video"==n.type||"gif"==n.type||"round"==n.type){if(i.classList.add("hide-name","round"==n.type?"round":"video"),e.grouped_id)i.classList.add("is-album"),_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});else{const s=!F.isAndroid&&!F.isApple&&"round"!=n.type;s&&i.classList.add("with-media-tail"),_.wrapVideo({doc:n,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:s,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),group:"chat"})}break}if("audio/ogg"==n.mime_type){let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),i.classList.add("bubble-audio"),u.append(t),s=!0;break}{let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),u.append(t),u.classList.add((n.type||"document")+"-message"),s=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,u.classList.add("contact-message"),s=!0;let n=[];e.media.first_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${n.join(" ")}
\n
${e.media.phone_number?"+"+L.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let a=new T.default;a.setAttribute("peer",""+e.media.user_id),a.classList.add("contact-avatar"),t.prepend(a),i.classList.remove("is-message-empty"),u.append(t);break}case"messageMediaPoll":{i.classList.remove("is-message-empty");let t=_.wrapPoll(e.media.poll.id,e.mid);u.prepend(t);break}default:i.classList.remove("is-message-empty"),u.innerHTML="unrecognized media type: "+e.media._,u.append(b),this.log.warn("unrecognized media type:",e.media._,e)}s||a.append(t)}if(this.peerID<0&&!r||e.fwd_from||e.reply_to_mid){let t=c.default.getPeerTitle(e.fwdFromID||e.fromID);const s=!e.fromID&&e.fwd_from;if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=p.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),i.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&i.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("bubble-beside-button","goto-original","tgico-next"),a.append(t),i.dataset.savedFrom=e.savedFrom,i.classList.add("with-beside-button")}if(!i.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID||s?(i.style.color=c.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,a.append(i)}}else{if(e.reply_to_mid){let t=l.default.getMessage(e.reply_to_mid),s=c.default.getPeerTitle(t.fromID||t.fwdFromID,!0)||"";"messageEmpty"==t._&&(l.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),s="Loading..."),t.mid?i.setAttribute("data-original-mid",t.mid):i.setAttribute("data-original-mid",e.reply_to_mid),a.append(_.wrapReply(s,t.message||"",t)),i.classList.add("is-reply")}if(!i.classList.contains("sticker")&&o<0&&o!=e.fromID){let s=document.createElement("div");s.classList.add("name"),s.innerHTML=t,s.style.color=c.default.getPeerColorByID(e.fromID,!1),s.dataset.peerID=e.fromID,a.append(s)}else i.classList.add("hide-name")}if(!r&&this.peerID<0&&(!c.default.isChannel(this.peerID)||c.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new T.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID||s?e.fwdFromID:e.fromID)||0)),t.update(),a.append(t)}}else i.classList.add("hide-name");return i.classList.add(D?"is-out":"is-in"),n?(this.bubbleGroups.addBubble(i,e,t),this.renderMessagesQueue(e,i,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),i}performHistoryResult(e,t,s,i){e.length||(s?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),i&&e.unshift(i);let n=l.default.getDialogByPeerID(this.peerID)[0];if(n&&n.top_message)for(let t of e)if(t==n.top_message){this.scrolledAllDown=!0;break}return new Promise((s,i)=>{let n,a=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;n=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,n),this.messagesQueueOnRender=void 0});e.length;){let e=l.default.getMessage(a());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==n){const e=t?this.scrollable.scrollHeight-n:n;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="hidden"),this.scrollable.scrollTop=e,F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="")}s(!0)},i)}).then(()=>!0)}getHistory(e=0,t=!1,s=!1,i=0,n=!1){const a=this.peerID,o=m.default.windowH/38|0,r=Object.keys(this.bubbles).length>0?Math.max(40,o):o;let f=r;let c=0;s&&(c=f,t||(f=0,e+=1));const u=l.default.getHistory(this.peerID,e,f,c);let h,p;if(u instanceof Promise)p=!1,h=u.then(o=>(this.log("getHistory not cached result by maxID:",e,t,s,o,a,n),n?(this.scrollable.onScroll(),!0):this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,s,i)),e=>(this.log.error("getHistory error:",e),!1));else{if(n)return null;p=!0,this.log("getHistory cached result by maxID:",e,t,s,u,a,n),h=this.performHistoryResult(u.history||[],t,s,i)}return t?this.getHistoryTopPromise=h:this.getHistoryBottomPromise=h,h.finally(()=>{t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0}),n?null:(h.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=d.getObjectKeysAndSort(this.bubbles));const s=2*r;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,s),e&&e.length>s&&(t?(e=e.slice(s),this.scrolledAllDown=!1):(e=e.slice(0,e.length-s),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,f)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),this.setUnreadDelimiter(),setTimeout(()=>{this.loadMoreHistory(!0,!0),this.loadMoreHistory(!1,!0)},0)}),{cached:p,promise:h})}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=l.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let s=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=s&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&s.classList.add("is-first-unread"),this.firstUnreadBubble=s,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){g.default.profileElements.notificationsCheckbox.checked=!e,g.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",c.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none";const t=this.menuButtons.mute;t.classList.remove("tgico-mute","tgico-unmute"),t.classList.add(e?"tgico-unmute":"tgico-mute");let s=t.firstElementChild;t.innerText=e?"Unmute":"Mute",s&&t.appendChild(s)}mutePeer(e){let t={_:"inputNotifyPeer",peer:c.default.getInputPeerByID(e)},s={_:"inputPeerNotifySettings",flags:0,mute_until:0},i=l.default.getDialogByPeerID(e)[0],n=!0;i&&i.notify_settings&&(n=i.notify_settings.mute_until>(Date.now()/1e3|0)),n?s.flags|=2:(s.flags|=4,s.mute_until=2147483647),r.default.invokeApi("account.updateNotifySettings",{peer:t,settings:s}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:s})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,f.default.hasUser(e.user_id)||e.chat_id&&w.default.hasChat(e.chat_id)&&!w.default.isChannel(e.chat_id)&&u.default.getChatFull(e.chat_id),f.default.forceUserOnline(e.user_id);let s=l.default.getDialogByPeerID(t)[0],i=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):s&&(h.default.setTyping(s,f.default.getUser(e.user_id)),i&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],s&&h.default.unsetTyping(s),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:s}=e;t=t.peer;let i=c.default.getPeerID(t),n=l.default.getDialogByPeerID(i)[0];if(n&&(n.notify_settings=s,d.$rootScope.$broadcast("dialog_notify_settings",i)),i==this.peerID){let e=!!s.mute_until&&new Date(1e3*s.mute_until)>new Date;this.setMutedState(e)}break}}}}t.AppImManager=V;const Q=new V;t.default=Q},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppPhotosManager=void 0;const n=s(0),a=s(21),o=i(s(28)),r=s(47);let d=(()=>{class e{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?Object.assign(this.photos[e.id],e):(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,s=0){window.devicePixelRatio>1&&(t*=2,s*=2);let i={_:"photoSizeEmpty"};const a=e.sizes||e.thumbs;if(a)for(const e of a){if(!e.w||!e.h)continue;i=e;const{w:a,h:o}=n.calcImageInBox(e.w,e.h,t,s);if(a==t||o==s)break}return i}getPreviewURLFromBytes(t,s=!1){let i,n;s?i=t instanceof Uint8Array?t:new Uint8Array(t):(i=e.jf.concat(t.slice(3),e.Df),i[164]=t[1],i[166]=t[2]),n=s?r.isSafari?"image/png":"image/webp":"image/jpeg";const a=new Blob([i],{type:n});return URL.createObjectURL(a)}getPreviewURLFromThumb(e,t=!1){var s;return null!==(s=e.url)&&void 0!==s?s:e.url=this.getPreviewURLFromBytes(e.bytes,t)}setAttachmentPreview(e,t,s=!1,i=!1){let n=this.getPreviewURLFromBytes(e,s);if(i){let e=new Image;return e.src=n,e.addEventListener("load",()=>{t.style.backgroundImage="url("+n+")"}),t}if(t instanceof HTMLImageElement)return t.src=n,t;{let e=new Image;return e.src=n,t.append(e),e}}setAttachmentSize(e,t,s,i,a=!1,o=!1){let r,d,f=this.choosePhotoSize(e,s,i),l=e.sizes||e.thumbs;e.downloaded&&"video"!=e.type&&"gif"!=e.type||a||!(null==l?void 0:l.length)||!l[0].bytes||o||this.setAttachmentPreview(l[0].bytes,t,a),"document"==e._?(r=e.w||512,d=e.h||512):(r=f.w||100,d=f.h||100);let{w:c,h:u}=n.calcImageInBox(r,d,s,i);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+c),t.setAttributeNS(null,"height",""+u)):(t.style.width=c+"px",t.style.height=u+"px"),f}getPhotoDownloadOptions(e,t){const s="document"==e._;if(!t||"photoSizeEmpty"==t._)throw new Error("photoSizeEmpty!");const i=t.size&&e.access_hash&&e.file_reference,n=i?{_:s?"inputDocumentFileLocation":"inputPhotoFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t.type}:t.location;return{dcID:e.dc_id,location:n,size:i?t.size:void 0}}preloadPhoto(e,t){const s=this.getPhoto(e);if(!t){const e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}const i=this.getCacheContext(s);if(i.downloaded>=t.size&&i.url)return Promise.resolve();const n=this.getPhotoDownloadOptions(s,t),r=a.getFileNameByLocation(n.location);let d=o.default.getDownload(r);return d||(d=o.default.download(n),d.then(e=>((!i.downloaded||i.downloaded{class e extends M.default{constructor(){super(document.getElementById("column-left"),{[e.SLIDERITEMSIDS.archived]:r.archivedTab,[e.SLIDERITEMSIDS.newChannel]:C,[e.SLIDERITEMSIDS.contacts]:k,[e.SLIDERITEMSIDS.addMembers]:P,[e.SLIDERITEMSIDS.newGroup]:T,[e.SLIDERITEMSIDS.settings]:A,[e.SLIDERITEMSIDS.editProfile]:X,[e.SLIDERITEMSIDS.chatFolders]:x,[e.SLIDERITEMSIDS.editFolder]:F,[e.SLIDERITEMSIDS.includedChats]:B}),this.buttons={},this.newButtons={},this.searchGroups={contacts:new l.SearchGroup("Chats","contacts"),globalContacts:new l.SearchGroup("Global Search","contacts"),messages:new l.SearchGroup("Global Search","messages"),people:new l.SearchGroup("People","contacts",!1,"search-group-people"),recent:new l.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.recentSearch=[],this.recentSearchLoaded=!1,this.searchInput=new D.default("Telegram Search"),this.sidebarEl.querySelector(".item-main .sidebar-header").append(this.searchInput.container),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.archivedTab=r.archivedTab,this.newChannelTab=C,this.addMembersTab=P,this.contactsTab=k,this.newGroupTab=T,this.settingsTab=A,this.editProfileTab=X,this.chatFoldersTab=x,this.editFolderTab=F,this.includedChatsTab=B,this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.globalSearch=new l.default(this.searchContainer,this.searchInput,this.searchGroups,e=>{e||this.searchInput.value.trim()||(this.globalSearch.reset(),this.searchGroups.people.setActive(),this.renderRecentSearch())}),this.searchContainer.addEventListener("click",e=>{const t=d.findUpTag(e.target,"LI");if(!t)return;const s=d.findUpClassName(t,"search-group");if(!s||s.classList.contains("search-group-recent")||s.classList.contains("search-group-people"))return;const n=+t.getAttribute("data-peerID");if(this.recentSearch[0]!=n){this.recentSearch.findAndSplice(e=>e==n),this.recentSearch.unshift(n),this.recentSearch.length>20&&(this.recentSearch.length=20),this.renderRecentSearch(),E.default.pushToState("recentSearch",this.recentSearch);for(const e of this.recentSearch)E.default.pushPeer(e);i.style.display=""}},{capture:!0});let t=document.createElement("div");t.classList.add("search-group-scrollable"),t.append(this.searchGroups.people.list),this.searchGroups.people.container.append(t);new h.default(t,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{f.default.setPeer(f.default.myID)},0)}),this.buttons.archived.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.archived)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",t=>{this.settingsTab.fillElements(),this.selectTab(e.SLIDERITEMSIDS.settings)});let s=!0;this.searchInput.input.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active"),s&&(this.searchGroups.people.setActive(),this.renderRecentSearch(),s=!1)}),this.backBtn.addEventListener("click",e=>{this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),s=!0,setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset()},150)}),this.newButtons.channel.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.newChannel)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),d.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),u.default.getTopPeers().then(e=>{e.forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})}),this.renderRecentSearch();const i=this.recentSearchClearBtn=document.createElement("button");i.classList.add("btn-icon","tgico-close"),this.searchGroups.recent.nameEl.append(i),i.addEventListener("click",()=>{this.recentSearch=[],E.default.pushToState("recentSearch",this.recentSearch),this.renderRecentSearch(!1),i.style.display="none"})}renderRecentSearch(e=!0){E.default.getState().then(t=>{t&&!this.recentSearchLoaded&&Array.isArray(t.recentSearch)&&(this.recentSearch=t.recentSearch,this.recentSearchLoaded=!0),this.searchGroups.recent.list.innerHTML="",this.recentSearchClearBtn.style.display=this.recentSearch.length?"":"none",this.recentSearch.slice(0,20).forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.recent.list,!1,!0,!1,!0);s.lastMessageSpan.innerText=e>0?u.default.getUserStatusString(e):I.default.getChatMembersString(e)}),e&&this.searchGroups.recent.setActive()})}}return e.SLIDERITEMSIDS={archived:1,contacts:2,newChannel:3,addMembers:4,newGroup:5,settings:6,editProfile:7,chatFolders:8,editFolder:9,includedChats:10},e})();t.AppSidebarLeft=R;const O=new R;t.default=O},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDialogsManager=t.archivedTab=t.AppArchivedTab=void 0;const a=s(0),o=n(s(12)),r=n(s(8)),d=n(s(7)),f=n(s(5)),l=s(3),c=s(4),u=n(s(6)),h=s(10),p=n(s(9)),m=n(s(41)),g=s(36),b=n(s(40)),v=s(1),y=s(26),w=s(19);class _{constructor(){this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},this.onContextMenu=e=>{var t,s;let i=null;try{i=a.findUpTag(e.target,"LI")}catch(e){}if(!i)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),this.filterID=M.filterID,this.selectedID=+i.getAttribute("data-peerID");const n=d.default.getDialogByPeerID(this.selectedID)[0],o=n.peerID!=a.$rootScope.myID;if(o){const e=this.buttons.archive,t=1==n.folder_id;e.classList.toggle("flip-icon",t),e.innerText=t?"Unarchive":"Archive",this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin,s=this.filterID>1?d.default.filtersStorage.filters[this.filterID].pinned_peers.includes(n.peerID):!!(null===(t=n.pFlags)||void 0===t?void 0:t.pinned);e.classList.toggle("flip-icon",s),e.innerText=s?"Unpin":"Pin"}if(o){const e=this.buttons.mute,t=n.notify_settings&&n.notify_settings.mute_until>(Date.now()/1e3|0);e.classList.toggle("flip-icon",t),e.innerText=t?"Unmute":"Mute",this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread,t=!(!(null===(s=n.pFlags)||void 0===s?void 0:s.unread_mark)&&!n.unread_count);e.classList.toggle("flip-icon",t),e.innerText=t?"Mark as Read":"Mark as Unread"}let f="";r.default.isMegagroup(this.selectedID)?(f="Leave",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(f="Leave",this.peerType="channel"):this.selectedID<0?(f="Delete",this.peerType="group"):(f="Delete",this.peerType=this.selectedID==a.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=f,i.classList.add("menu-open"),c.positionMenu(e,this.element),c.openBtnMenu(this.element,()=>{i.classList.remove("menu-open")})},c.parseMenuButtonsTo(this.buttons,this.element.children),this.buttons.archive.addEventListener("click",()=>{let e=d.default.getDialogByPeerID(this.selectedID)[0];e&&d.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{d.default.toggleDialogPin(this.selectedID,this.filterID)}),this.buttons.mute.addEventListener("click",()=>{o.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{const e=d.default.getDialogByPeerID(this.selectedID)[0];e&&(e.unread_count?(d.default.readHistory(this.selectedID,e.top_message),d.default.markDialogUnread(this.selectedID,!0)):d.default.markDialogUnread(this.selectedID))}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=r.default.getPeerTitle(this.selectedID,!1,!0),n=e=>{d.default.flushHistory(this.selectedID,e)},a=()=>{p.default.leaveChannel(-this.selectedID)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${i}?`,s=[{text:"DELETE FOR ME AND "+i,isDanger:!0,callback:()=>n(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",s=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>n(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${i}?`,s=[{text:"DELETE AND LEAVE "+i,isDanger:!0,callback:()=>n(!0)}]}s.push({text:"CANCEL",isCancel:!0}),new g.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:s}).show()})}}class S{constructor(){this.container=document.getElementById("chats-archived-container"),this.chatList=document.getElementById("dialogs-archived"),this.scroll=null}init(){this.scroll=new u.default(this.container,"y","CLA",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=M.onChatsScroll,M.setListClickListener(this.chatList,null,!0),window.addEventListener("resize",()=>{setTimeout(M.onChatsScroll,0)})}onOpen(){this.init&&(this.init(),this.init=null),this.wasFilterID=M.filterID,M.scroll=this.scroll,M.filterID=1,M.onTabChange()}onOpenAfterTimeout(){M.chatLists[this.wasFilterID].innerHTML=""}onClose(){M.scroll=M._scroll,M.filterID=this.wasFilterID,M.onTabChange()}onCloseAfterTimeout(){this.chatList.innerHTML=""}}t.AppArchivedTab=S,t.archivedTab=new S;class L{constructor(){if(this._chatList=document.getElementById("dialogs"),this.chatList=this._chatList,this.doms={},this.lastActiveListElement=null,this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.scroll=null,this._scroll=null,this.log=h.logger("DIALOGS",h.LogLevels.log|h.LogLevels.error|h.LogLevels.warn|h.LogLevels.debug),this.contextMenu=new _,this.chatLists={0:this.chatList,1:t.archivedTab.chatList},this.filterID=0,this.folders={menu:document.getElementById("folders-tabs"),menuScrollContainer:null,container:document.getElementById("folders-container")},this.filtersRendered={},this.onTabChange=()=>{this.doms={},this.loadedAll=!1,this.lastActiveListElement=null,this.chatList=this.chatLists[this.filterID],this.loadDialogs(this.filterID)},this.onChatsScroll=()=>{this.loadedAll||this.loadDialogsPromise||(this.log("onChatsScroll"),this.loadDialogs(this.filterID))},this.chatsPreloader=c.putPreloader(null,!0),this.allUnreadCount=this.folders.menu.querySelector(".unread-count"),this.folders.menuScrollContainer=this.folders.menu.parentElement,this.scroll=this._scroll=new u.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.onScrolledBottom=this.onChatsScroll,this.scroll.setVirtualContainer(this.chatList),v.touchSupport&&v.isSafari){let e,t,s;const i=this.scroll.container;i.addEventListener("touchstart",n=>{e=i.scrollTop>0,t=i.scrollTop{var n=i.pageY>s,a=i.pageY{let t=e.detail,s=f.default.getUser(t),i=d.default.getDialogByPeerID(s.id)[0];if(i&&!f.default.isBot(i.peerID)&&i.peerID!=a.$rootScope.myID){let e=s.status&&"userStatusOnline"==s.status._,t=this.getDialogDom(i.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}a.$rootScope.selectedPeerID==s.id&&o.default.setPeerStatus()}),a.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,s=d.default.getDialogByPeerID(t)[0];s&&(this.setLastMessage(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialogs_multiupdate",e=>{const t=e.detail;for(const e in t){const s=t[e];this.updateDialog(s)}this.validateForFilter(),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:s}=e.detail,i=this.getDialogDom(t);i&&(i.listEl.remove(),delete this.doms[t],this.scroll.reorder()),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_unread",e=>{let t=e.detail,s=d.default.getDialogByPeerID(t.peerID)[0];s&&(this.setUnreadMessages(s),s.peerID==a.$rootScope.selectedPeerID&&o.default.updateUnreadByDialog(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialog_notify_settings",e=>{const t=d.default.getDialogByPeerID(e.detail)[0];t&&this.setUnreadMessages(t)}),a.$rootScope.$on("peer_changed",e=>{let t=e.detail,s=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&s!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),s!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),a.$rootScope.$on("filter_update",e=>{const t=e.detail;if(!this.filtersRendered[t.id])return void this.addFilter(t);if(t.id==this.filterID){const e=d.default.dialogsStorage.getFolder(t.id);this.validateForFilter();for(let t=0,s=e.length;t{const t=e.detail,s=this.filtersRendered[t.id];s&&(this.folders.menu.firstElementChild.children[0].click(),s.container.remove(),s.menu.remove(),delete this.chatLists[t.id],delete this.filtersRendered[t.id],Object.keys(this.filtersRendered).length||this.folders.menuScrollContainer.classList.add("hide"))}),new u.default(this.folders.menuScrollContainer,"x"),this.chatsContainer.prepend(this.folders.menuScrollContainer);y.horizontalMenu(this.folders.menu,this.folders.container,(e,t)=>{e=+t.dataset.filterID||0,this.filterID!=e&&(this.chatLists[e].innerHTML="",this.scroll.setVirtualContainer(this.chatLists[e]),this.filterID=e,this.onTabChange())},()=>{for(const e in this.chatLists)+e!=this.filterID&&(this.chatLists[e].innerHTML="")});this.folders.menu.firstElementChild.firstElementChild.click(),b.default.loadSavedState().then(()=>d.default.filtersStorage.getDialogFilters()).then(e=>{for(const t in e)this.addFilter(e[t]);return this.loadDialogs(this.filterID)}).then(e=>{this.loadDialogs(1)})}updateDialog(e){e&&(this.doms.hasOwnProperty(e.peerID)||this.addDialog(e),this.getDialogDom(e.peerID)&&(this.setLastMessage(e),this.setDialogPosition(e)))}setFilterUnreadCount(e,t){var s;const i=0==e?this.allUnreadCount:null===(s=this.filtersRendered[e])||void 0===s?void 0:s.unread;if(!i)return;const n=(t=t||d.default.dialogsStorage.getFolder(e)).reduce((e,t)=>e+ +!!t.unread_count,0);i.innerText=n?""+n:""}setFiltersUnreadCount(){for(const e in this.filtersRendered)this.setFilterUnreadCount(+e);this.setFilterUnreadCount(0)}validateForFilter(){const e=d.default.dialogsStorage.getFolder(this.filterID);let t=!1;for(const s in this.doms){const i=+s;if(-1===e.findIndex(e=>e.peerID==i)){const e=this.doms[i].listEl;e.remove(),t=!0,this.lastActiveListElement==e&&(this.lastActiveListElement=null)}}t&&this.scroll.reorder()}addFilter(e){if(this.filtersRendered[e.id])return;const t=document.createElement("li"),s=document.createElement("span"),i=document.createElement("span");i.innerHTML=l.RichTextProcessor.wrapEmojiText(e.title);const n=document.createElement("span");n.classList.add("unread-count");const o=document.createElement("i");s.append(i,n,o),t.append(s),w.ripple(t);const r=this.folders.menu.firstElementChild;a.positionElementByIndex(t,r,e.orderIndex+1);const d=document.createElement("ul"),f=document.createElement("div");f.append(d),f.dataset.filterID=""+e.id,a.positionElementByIndex(f,this.folders.container,e.orderIndex+1),this.chatLists[e.id]=d,this.setListClickListener(d,null,!0),this.showFiltersTimeout||(this.showFiltersTimeout=setTimeout(()=>{this.showFiltersTimeout=0,this.folders.menuScrollContainer.classList.remove("hide"),this.setFiltersUnreadCount()},0)),this.filtersRendered[e.id]={menu:t,container:f,unread:n,title:i}}loadDialogs(e){return i(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;if(!this.chatList.childElementCount){this.chatList.parentElement.append(this.chatsPreloader)}const t=d.default.dialogsStorage.getFolder(e);let s=0;for(let e=t.length-1;e>=0;--e){const i=t[e];if(this.getDialogDom(i.peerID)){s=i.index;break}}try{const t=50,i=(this.filterID>1?f.default.getContacts():Promise.resolve()).then(()=>d.default.getConversations("",s,t,e));this.loadDialogsPromise=i;const n=yield i;n&&n.dialogs&&n.dialogs.length&&n.dialogs.forEach(e=>{this.addDialog(e)}),n.dialogs.length&&this.chatList.childElementCount!=n.count||(this.loadedAll=!0),this.log.debug("getDialogs "+t+" dialogs by offset:",s,n,this.chatList.childElementCount),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}setListClickListener(e,t,s=!1){e.addEventListener("click",e=>{a.cancelEvent(e),this.log("dialogs click list");let s=e.target,i=s.classList.contains("rp")?s:a.findUpClassName(s,"rp");if(!i)return;i=i.parentElement;let n,r=this.lastActiveListElement==i;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),i){t&&t();let e=+i.getAttribute("data-peerID"),s=+i.dataset.mid||void 0;r||(i.classList.add("active"),this.lastActiveListElement=i),n=o.default.setPeer(e,s)}else n=o.default.setPeer(0)},{capture:!0}),s&&c.attachContextMenuListener(e,this.contextMenu.onContextMenu)}setDialogPosition(e,t){const s=this.getDialogDom(e.peerID);s&&(void 0===t&&(t=d.default.dialogsStorage.getDialog(e.peerID,this.filterID)[1]),a.positionElementByIndex(s.listEl,this.chatList,t)&&(this.scroll.reorder(),this.log.debug("setDialogPosition:",e,s,t)))}setLastMessage(e,t,s,i){if(t||(t=d.default.getMessage(e.top_message)),!s&&!(s=this.getDialogDom(e.peerID)))return;if("messageEmpty"==t._||"messageService"==t._&&!t.rReply)return s.lastMessageSpan.innerHTML="",s.lastTimeSpan.innerHTML="",void delete s.listEl.dataset.mid;let n=e.peer,o=e.peerID;if(i&&t.message){let e,n=d.default.getRichReplyText(t,""),o=t.message,r=l.RichTextProcessor.parseEntities(o.replace(/\n/g," "),{noLinebreakers:!0}),f=new RegExp(a.escapeRegExp(i),"gi");r||(r=[]);let c=!1;for(;null!==(e=f.exec(o));)r.push({_:"messageEntityHighlight",length:i.length,offset:e.index}),c=!0;c&&r.sort((e,t)=>e.offset-t.offset);let u=l.RichTextProcessor.wrapRichText(o,{noLinebreakers:!0,entities:r,noTextFormat:!0});s.lastMessageSpan.innerHTML=n+u}else t.deleted?s.lastMessageSpan.innerHTML="":s.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=n._&&o!=-t.from_id){let e=f.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),i="";i=e.id==a.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=l.RichTextProcessor.wrapRichText(i,{noLinebreakers:!0})+": ",s.lastMessageSpan.prepend(t)}}if(t.deleted)s.lastTimeSpan.innerHTML="";else{let e="",i=t.date,n=Date.now()/1e3,a=new Date(1e3*t.date);if(n-i<86400)e=("0"+a.getHours()).slice(-2)+":"+("0"+a.getMinutes()).slice(-2);else if(n-i<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*i).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a.getMonth()]+" "+("0"+a.getDate()).slice(-2)}s.lastTimeSpan.innerHTML=e}this.doms[o]==s?this.setUnreadMessages(e):s.listEl.dataset.mid=t.mid}setUnreadMessages(e){var t;const s=this.getDialogDom(e.peerID);if(1==e.folder_id&&this.accumulateArchivedUnread(),!s)return;const i=1e3*(null===(t=e.notify_settings)||void 0===t?void 0:t.mute_until)>Date.now();s.listEl.classList.toggle("is-muted",i);const n=d.default.getMessage(e.top_message);if("messageEmpty"!=n._&&!n.deleted&&n.from_id==a.$rootScope.myID&&n.peerID!=a.$rootScope.myID&&e.read_outbox_max_id){n.pFlags&&n.pFlags.unread?(s.statusSpan.classList.remove("tgico-checks"),s.statusSpan.classList.add("tgico-check")):(s.statusSpan.classList.remove("tgico-check"),s.statusSpan.classList.add("tgico-checks"))}else s.statusSpan.classList.remove("tgico-check","tgico-checks");s.unreadMessagesSpan.innerText="",s.unreadMessagesSpan.classList.remove("tgico-pinnedchat");const o=d.default.filtersStorage.filters[this.filterID];let r;r=o?-1!==o.pinned_peers.findIndex(t=>t==e.peerID):!!e.pFlags.pinned,e.unread_count||e.pFlags.unread_mark?(s.unreadMessagesSpan.innerText=""+(e.unread_count||" "),s.unreadMessagesSpan.classList.add(i?"unread-muted":"unread")):r&&(s.unreadMessagesSpan.classList.remove("unread","unread-muted"),s.unreadMessagesSpan.classList.add("tgico-pinnedchat"))}accumulateArchivedUnread(){this.accumulateArchivedTimeout||(this.accumulateArchivedTimeout=setTimeout(()=>{this.accumulateArchivedTimeout=0;const e=d.default.dialogsStorage.getFolder(1).reduce((e,t)=>e+t.unread_count,0);a.$rootScope.$broadcast("dialogs_archived_unread",{count:e})},0))}getDialogDom(e){return this.doms[e]}addDialog(e,t,s=!0,i=!0,n=!1,o=!0){var l;let c;if("number"==typeof e){let t=d.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),c=t}else c=e;let u=c.peerID;if(!t){if(this.doms[u])return;const e=d.default.filtersStorage.filters[this.filterID];if(e&&!d.default.filtersStorage.testDialogForFilter(c,e)||!e&&this.filterID!=c.folder_id)return}let h=r.default.getPeerTitle(u,!1,n),g=new m.default;if(g.setAttribute("dialog",o?"1":"0"),g.setAttribute("peer",""+u),g.classList.add("dialog-avatar"),s&&u!=a.$rootScope.myID&&c.peer){switch(c.peer._){case"peerUser":let e=f.default.getUser(u);e.status&&"userStatusOnline"==e.status._&&g.classList.add("is-online")}}let b=document.createElement("div");b.classList.add("user-caption");let v=document.createElement("span");if(v.classList.add("user-title"),u==a.$rootScope.myID&&o&&(h=n?"Saved":"Saved Messages"),v.innerHTML=h,!t){let e;if(u<0?(v.classList.add("tgico"),e=p.default.getChat(-u)):e=f.default.getUser(u),null===(l=null==e?void 0:e.pFlags)||void 0===l?void 0:l.verified){v.classList.add("is-verified");const e=document.createElement("i");e.classList.add("verified-icon"),v.append(e)}}let y=document.createElement("span");y.classList.add("user-last-message");let _=document.createElement("div");_.classList.add("rp"),_.append(g,b),i&&w.ripple(_);let S=document.createElement("li");S.append(_),S.setAttribute("data-peerID",""+u);let L=document.createElement("span");L.classList.add("message-status");let M=document.createElement("span");M.classList.add("message-time");let D=document.createElement("span"),E=document.createElement("p"),I=document.createElement("span");I.append(L,M),E.append(v,I);let C=document.createElement("p");C.append(y,D),b.append(E,C);let P={avatarEl:g,captionDiv:b,titleSpan:v,statusSpan:L,lastTimeSpan:M,unreadMessagesSpan:D,lastMessageSpan:y,containerEl:_,listEl:S};return t?t.append(S):(this.scroll.append(S),this.doms[c.peerID]=P,a.$rootScope.selectedPeerID==u&&(S.classList.add("active"),this.lastActiveListElement=S),this.setLastMessage(c)),{dom:P,dialog:c}}setTyping(e,t){const s=this.getDialogDom(e.peerID);if(!s)return;let i="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;i=e+" "}const n=document.createElement("i");i+="typing...",n.innerHTML=i,s.lastMessageSpan.innerHTML="",s.lastMessageSpan.append(n),s.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){const t=this.getDialogDom(e.peerID);t&&(t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t))}}t.AppDialogsManager=L;const M=new L;t.default=M},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(30),n=s(70);class a{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var s=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),s=1==e.length);var i,n,a,o=[],r=!0,d=this.storageGetPrefix();for(n=0;n{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(s,i)}catch(e){this.useLs=!1}else n[s]=i;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var s,i,n=this.storageGetPrefix();for(s=0;s{},i.Modes.test&&this.setPrefix("t_"),n.isWorker||(this.configStorage=new a)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((s,i)=>{if(n.isWorker){const i=this.taskID++;this.tasks[i]=s;const a={useLs:!0,task:e,taskID:i,args:t};n.notifySomeone(a)}else{let i=Array.prototype.slice.call(t);i.push(e=>{s(e)}),this.configStorage[e].apply(this.configStorage,i)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RLottiePlayer=void 0;const a=s(1),o=s(10),r=n(s(18)),d=n(s(2)),f=s(0);let l=e=>Math.round(255*Math.min(Math.max(e,0),1)),c=(()=>{class e{constructor({el:t,worker:s,options:i}){this.reqId=0,this.width=0,this.height=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.group="",this.frames={},this.cachingDelta=0,this.reqId=++e.reqId,this.el=t,this.worker=s;for(let e in i)this.hasOwnProperty(e)&&(this[e]=i[e]);const n=window.devicePixelRatio;n>1&&(i.needUpscale?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>1&&this.width>100&&this.height>100&&(a.isApple||!a.mediaSizes.isMobile?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>2.5&&(this.width=Math.round(this.width*(n-1.5)),this.height=Math.round(this.height*(n-1.5))))),i.noCache||(a.isApple&&this.width>100&&this.height>100?this.cachingDelta=2:this.width<100&&this.height<100?this.cachingDelta=1/0:this.cachingDelta=4),this.canvas=document.createElement("canvas"),this.canvas.classList.add("rlottie"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d"),this.clamped=new Uint8ClampedArray(this.width*this.height*4),this.imageData=new ImageData(this.width,this.height)}clearCache(){this.frames={}}addListener(e,t,s){var i;(null!==(i=this.listeners[e])&&void 0!==i?i:this.listeners[e]=[]).push({callback:t,once:s}),this.listenerResults.hasOwnProperty(e)&&(t(this.listenerResults[e]),s&&this.removeListener(e,t))}removeListener(e,t){this.listeners[e]&&this.listeners[e].findAndSplice(e=>e.callback==t)}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e].forEach(s=>{s.callback(t),s.once&&this.removeListener(e,s.callback)})}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,clearTimeout(this.rafId))}stop(e=!0){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,e&&this.requestFrame(this.curFrame)}restart(){this.stop(!1),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}remove(){h.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame2(e,t){try{this.imageData.data.set(e),this.context.putImageData(this.imageData,0,0)}catch(e){return console.error("RLottiePlayer renderFrame error:",e,this.width,this.height),this.autoplay=!1,void this.pause()}this.setListenerResult("enterFrame",t)}renderFrame(e,t){if(this.cachingDelta&&(t%this.cachingDelta||!t)&&!this.frames[t]&&(this.frames[t]=new Uint8ClampedArray(e)),this.frInterval){const s=Date.now()-this.frThen;if(s<0)return this.rafId&&clearTimeout(this.rafId),this.rafId=setTimeout(()=>{this.renderFrame2(e,t)},this.frInterval>-s?-s%this.frInterval:this.frInterval)}this.renderFrame2(e,t)}requestFrame(e){this.frames[e]?this.renderFrame(this.frames[e],e):a.isSafari?this.sendQuery("renderFrame",e):(this.clamped.length||(this.clamped=new Uint8ClampedArray(this.width*this.height*4)),this.sendQuery("renderFrame",e,this.clamped))}mainLoopForwards(){if(this.requestFrame(this.curFrame++),this.curFrame>=this.frameCount){if(!this.loop)return this.pause(),!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.requestFrame(this.curFrame--),this.curFrame<0){if(!this.loop)return this.pause(),!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){clearTimeout(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval;const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.currentMethod=e,this.frameListener&&this.listenerResults.hasOwnProperty("enterFrame")&&this.frameListener()}onLoad(e,t){return i(this,void 0,void 0,(function*(){this.curFrame=1==this.direction?0:e-1,this.frameCount=e,this.fps=t,this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval,this.requestFrame(0),this.setListenerResult("ready"),this.addListener("enterFrame",()=>{this.setListenerResult("firstFrame"),this.el.appendChild(this.canvas),this.frameListener=()=>{if(this.paused)return;const e=Date.now();this.frThen=e+this.frInterval;this.currentMethod()||this.loop||!this.autoplay||(this.autoplay=!1)},this.addListener("enterFrame",this.frameListener)},!0)}))}}return e.reqId=0,e})();t.RLottiePlayer=c;class u{constructor(e,t=(()=>{}),s){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),s&&(this.worker.onerror=s),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener](...e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){t=Array.prototype.slice.call(arguments,1);if(a.isSafari)this.worker.postMessage({queryMethod:e,queryMethodArguments:t});else{for(var s=[],i=0;i{class e{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.workers=[],this.curWorkerNum=0,this.log=o.logger("LOTTIE",o.LogLevels.error)}getAnimation(e){for(let t in this.players)if(this.players[t].el==e)return this.players[t];return null}loadLottieWorkers(){if("undefined"==typeof WebAssembly)return Promise.reject();if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((s,i)=>{let n=this.workersLimit;for(let i=0;i{this.log("worker #"+i+" ready"),a.addListener("frame",e),a.addListener("loaded",t),--n,n||(this.log("workers ready"),s(),this.loaded=!0)})}})}applyReplacements(t,s){const i=e.COLORREPLACEMENTS[Math.max(s-1,0)],n=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=l(e[2])|l(e[1])<<8|l(e[0])<<16,n=i.find(e=>e[0]==s);n&&(e[0]=(n[1]>>16&255)/255,e[1]=(n[1]>>8&255)/255,e[2]=(255&n[1])/255)}t.hasOwnProperty("it")&&n(t.it)}};for(let e of t.layers)if(e.shapes)for(let t of e.shapes)n(t.it)}loadAnimationFromURL(e,t){return this.loaded||this.loadLottieWorkers(),fetch(t).then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(t=>this.loadAnimationWorker(Object.assign(e,{animationData:JSON.parse(t),needUpscale:!0})))}loadAnimationWorker(e,t="",s=-1){return i(this,void 0,void 0,(function*(){if(s>=1&&s<=5&&(e.animationData=f.copy(e.animationData),this.applyReplacements(e.animationData,s)),this.loaded||(yield this.loadLottieWorkers()),e.width&&e.height||(e.width=parseInt(e.container.style.width),e.height=parseInt(e.container.style.height)),!e.width||!e.height)throw new Error("No size for sticker!");e.group=t;const i=this.initPlayer(e.container,e);return r.default.addAnimation(i,t),i}))}onPlayerLoaded(e,t,s){const i=this.players[e];i?(this.log.debug("onPlayerLoaded"),i.onLoad(t,s)):this.log.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,s){const i=this.players[e];i?(i.clamped=s,i.renderFrame(s,t)):this.log.warn("onFrame on destroyed player:",e,t)}onDestroy(e){delete this.players[e]}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),this.log("worker #"+t+" terminated")}),this.log("workers destroyed"),this.workers.length=0}initPlayer(e,t){const s=new c({el:e,worker:this.workers[this.curWorkerNum++],options:t});return this.players[s.reqId]=s,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),s.loadFromData(t.animationData),s}}return e.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]],[[16219713,2694162],[16757049,4663842],[16765248,5716784],[16768889,6834492]]],e})());t.default=h},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnimationIntersector=void 0;const i=s(0),n=s(17);class a{constructor(){this.visible=new Set,this.byGroups={},this.lockedGroups={},this.intersectionLockedGroups={},this.observer=new IntersectionObserver(e=>{if(!i.$rootScope.idle.isIDLE)for(const t of e){const e=t.target;for(const s in this.byGroups){if(this.intersectionLockedGroups[s])continue;const i=this.byGroups[s].find(t=>t.el==e);if(i){t.isIntersecting?(this.visible.add(i),this.checkAnimation(i,!1)):(this.visible.delete(i),this.checkAnimation(i,!0),i.animation instanceof n.RLottiePlayer&&i.animation.clearCache());break}}}})}getAnimations(e){const t=[];for(const s in this.byGroups)for(const i of this.byGroups[s])i.el==e&&t.push(i);return t}addAnimation(e,t=""){var s;const i={el:e instanceof n.RLottiePlayer?e.el:e,animation:e,group:t};(null!==(s=this.byGroups[t])&&void 0!==s?s:this.byGroups[t]=[]).push(i),this.observer.observe(i.el)}checkAnimations(e,t,s=!1){if(i.$rootScope.idle.isIDLE)return;const n=t?[t]:Object.keys(this.byGroups);t&&!this.byGroups[t]&&(this.byGroups[t]=[]);for(const t of n){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,s)})}}checkAnimation(e,t=!1,s=!1){const{el:n,animation:a,group:o}=e;if(s||!i.isInDOM(n)&&!this.lockedGroups[o]){a.remove();for(const t in this.byGroups)this.byGroups[t].findAndSplice(t=>t==e);return this.observer.unobserve(n),void this.visible.delete(e)}t?a.paused||a.pause():a.paused&&this.visible.has(e)&&a.autoplay&&a.play()}lockGroup(e){this.lockedGroups[e]=!0}unlockGroup(e){delete this.lockedGroups[e],this.checkAnimations(void 0,e)}refreshGroup(e){const t=this.byGroups[e];t&&t.length&&(t.forEach(e=>{this.observer.unobserve(e.el)}),window.requestAnimationFrame(()=>{t.forEach(e=>{this.observer.observe(e.el)})}))}lockIntersectionGroup(e){this.intersectionLockedGroups[e]=!0}unlockIntersectionGroup(e){delete this.intersectionLockedGroups[e],this.refreshGroup(e)}}t.AnimationIntersector=a;const o=new a;t.default=o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ripple=void 0;const i=s(1);let n=0;t.ripple=function(e,t=(()=>Promise.resolve()),s=null){if(e.querySelector(".c-ripple"))return;e.classList.add("rp");let a=document.createElement("div");a.classList.add("c-ripple");const o=e.classList.contains("rp-square");o&&a.classList.add("is-square");const r=o?200:700;let d;e.append(a);let f=(e,i)=>{let o=Date.now(),f=document.createElement("span"),l=n++;d=()=>{let e=Date.now()-o;if(ef.classList.add("hiding"),Math.max(t-r/2,0)),setTimeout(()=>{f.remove(),s&&s(l)},t)}else f.classList.add("hiding"),setTimeout(()=>{f.remove(),s&&s(l)},r/2);d=null},t&&t(l),window.requestAnimationFrame(()=>{f.classList.add("c-ripple__circle");let t,s,n=a.getBoundingClientRect(),o=e-n.left,r=i-n.top;n.width>n.height?(t=n.width,s=o):(t=n.height,s=r),t-=s>t/2?t-s:s,t*=1.1;let d=o-t/2,l=r-t/2;f.style.width=f.style.height=t+"px",f.style.left=d+"px",f.style.top=l+"px",a.append(f)})},l=!1;if(i.touchSupport){let t=()=>{d&&d()};e.addEventListener("touchstart",s=>{if(s.touches.length>1||"BUTTON"==s.target.tagName&&s.target!=e)return;l=!0;let{clientX:i,clientY:n}=s.touches[0];f(i,n),window.addEventListener("touchend",t,{once:!0}),window.addEventListener("touchmove",e=>{e.cancelBubble=!0,e.stopPropagation(),d&&d(),window.removeEventListener("touchend",t)},{once:!0})},{passive:!0})}else e.addEventListener("mousedown",t=>{if("0"==e.dataset.ripple)return!1;if(l)return l=!1,!1;let{clientX:s,clientY:i}=t;f(s,i),window.addEventListener("mouseup",d,{once:!0})})}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.wrapPoll=t.wrapAlbum=t.wrapReply=t.wrapSticker=t.wrapPhoto=t.wrapAudio=t.wrapDocument=t.formatDate=t.wrapVideo=void 0;const a=n(s(13)),o=n(s(17)),r=n(s(11)),d=s(0),f=n(s(35)),l=n(s(49)),c=s(3),u=s(4),h=n(s(7)),p=s(57),m=n(s(58)),g=s(1),b=n(s(18)),v=n(s(81)),y=n(s(53)),w=s(59),_=n(s(37));function S({doc:e,container:t,message:s,boxWidth:n,boxHeight:o,withTail:c,isOut:h,middleware:p,lazyLoadQueue:m,noInfo:g,group:v}){var y,w;if(!g&&"round"!=e.type){let s,i;s=document.createElement("span"),s.classList.add("video-time"),t.append(s),"gif"!=e.type?(s.innerText=(e.duration+"").toHHMMSS(!1),i=document.createElement("span"),i.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(i)):s.innerText="GIF"}if("image/gif"==e.mime_type)return D(e,s,t,n,o,c,h,m,p);const S=document.createElement("video");if(S.muted=!0,S.setAttribute("playsinline",""),"round"==e.type){const t=_.default.addMedia(e,s.mid);S.addEventListener("canplay",()=>{t.currentTime>0&&(S.currentTime=t.currentTime),t.paused||S.play()},{once:!0});const i=()=>{t.removeEventListener("timeupdate",n),t.removeEventListener("play",a),t.removeEventListener("pause",o),S.removeEventListener("play",r),S.removeEventListener("pause",f)},n=()=>{d.isInDOM(S)||i()},a=()=>{S.play()},o=()=>{S.pause()},r=()=>{t.play()},f=()=>{d.isInDOM(S)?t.pause():i()};t.addEventListener("timeupdate",n),t.addEventListener("play",a),t.addEventListener("pause",o),S.addEventListener("play",r),S.addEventListener("pause",f)}else S.autoplay=!0;let L;if(s){if("video"==e.type&&(null===(y=e.thumbs)||void 0===y?void 0:y.length))return D(e,s,t,n,o,c,h,m,p);if(c?L=M(e,s,t,n,o,h):(n&&o&&a.default.setAttachmentSize(e,t,n,o,!1,!0),e.thumbs&&(null===(w=e.thumbs[0])||void 0===w?void 0:w.bytes)&&a.default.setAttachmentPreview(e.thumbs[0].bytes,t,!1),L=t.lastElementChild,"IMG"!=(null==L?void 0:L.tagName)&&t.append(L=new Image)),L&&L.classList.add("thumbnail"),c){const e=L.parentElement;S.width=+e.getAttributeNS(null,"width"),S.height=+e.getAttributeNS(null,"height"),e.append(S)}}if(!(null==L?void 0:L.parentElement)){const t=r.default.getThumb(e,!1);t&&t.promise.then(()=>{S.poster=t.thumb.url})}!S.parentElement&&t&&t.append(S);const E=()=>i(this,void 0,void 0,(function*(){var i;if(p&&!p())return;let n;if(null===(i=null==s?void 0:s.media)||void 0===i?void 0:i.preloader)n=s.media.preloader,n.attach(t,void 0,void 0,!0);else if(e.downloaded||e.supportsStreaming)e.supportsStreaming&&(n=new f.default(t,!1),S.addEventListener("canplay",()=>{n.detach()},{once:!0}));else{const s=r.default.downloadDocNew(e);n=new f.default(t,!0),n.attach(t,!0,s,!0),yield s}p&&!p()||(S.addEventListener("canplay",()=>{(null==L?void 0:L.parentElement)&&L.remove(),"gif"==e.type&&v&&b.default.addAnimation(S,v)},{once:!0}),u.renderImageFromUrl(S,e.url),"gif"==e.type?(S.muted=!0,S.loop=!0,S.autoplay=!0):"round"==e.type&&(S.dataset.ckin="circle",S.dataset.overlay="1",new l.default(S)))}));return m?m.push({div:t,load:E}):E(),S}function L(e,t=!1,s){let i=new v.default;return i.setAttribute("doc-id",e.id),i.setAttribute("with-time",""+ +t),i.setAttribute("message-id",""+s),i}function M(e,t,s,i,n,o){const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");const d=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");a.default.setAttachmentSize(e,d,i,n);const f=+d.getAttributeNS(null,"width"),l=+d.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+f),r.setAttributeNS(null,"height",""+l),r.setAttributeNS(null,"viewBox","0 0 "+f+" "+l),r.setAttributeNS(null,"preserveAspectRatio","none");const c="clip"+t.mid;r.dataset.clipID=c;const u=document.createElementNS("http://www.w3.org/2000/svg","defs");let h="";t.message||(h+=o?`\n \n \n `:`\n \n \n `),u.innerHTML=`${h}`,s.style.width=parseInt(s.style.width)-9+"px",s.classList.add("with-tail"),r.append(u,d),s.append(r);let p=d.firstElementChild;return p||d.append(p=new Image),p}function D(e,t,s,i=g.mediaSizes.active.regular.width,n=g.mediaSizes.active.regular.height,o,d,l,c,h=null){var p;let m;if(o)m=M(e,t,s,i,n,d);else{if(i&&n&&(h=a.default.setAttachmentSize(e,s,i,n,!1,!0)),"document"==e._||!e.downloaded){const t=e.sizes||e.thumbs;t&&(null===(p=t[0])||void 0===p?void 0:p.bytes)&&a.default.setAttachmentPreview(t[0].bytes,s,!1)}m=s.lastElementChild,m&&"IMG"==m.tagName||s.append(m=new Image)}const b=a.default.getCacheContext(e);let v;t.media.preloader?t.media.preloader.attach(s):b.downloaded||(v=new f.default(s,!1));const y=()=>{const t="document"==e._&&e.animated?r.default.downloadDocNew(e):a.default.preloadPhoto(e,h);return v&&v.attach(s,!0,t),t.then(()=>{c&&!c()||u.renderImageFromUrl(m||s,b.url||e.url)})};return b.downloaded||!l?y():l.push({div:s,load:y,wasSeen:!0})}t.wrapVideo=S,t.formatDate=(e,t=!1,s=!0)=>{const i=new Date(1e3*e);let n=["January","February","March","April","May","June","July","August","September","Octomber","November","December"][i.getMonth()];t&&(n=n.slice(0,3));let a=n+" "+i.getDate();return s&&(a+=", "+i.getFullYear()),a+" at "+i.getHours()+":"+("0"+i.getMinutes()).slice(-2)},t.wrapDocument=function(e,s=!1,i=!1,n){if("audio"==e.type||"voice"==e.type)return L(e,s,n);let a=e.file_name?e.file_name.split("."):"",o="";o=a.length>1&&Array.isArray(a)?a.pop().toLowerCase():"file";let l=document.createElement("div");l.classList.add("document","ext-"+o);let c=o;"photo"==e.type&&(l.classList.add("photo"),c=``);let u=e.file_name||"Unknown.file",h=d.formatBytes(e.size);if(s&&(h+=" · "+t.formatDate(e.date)),l.innerHTML=`\n
${c}
\n ${i?"":'
'}\n
${u}
\n
${h}
\n `,!i){let t,s,i=l.querySelector(".document-download");l.addEventListener("click",()=>{if(s)s.cancel();else{if(i.classList.contains("downloading"))return;t||(t=new f.default(null,!0)),s=r.default.saveDocFile(e),t.attach(i,!0,s),s.then(()=>{i.remove()}).catch(e=>{"AbortError"===e.name&&(s=null)}).finally(()=>{i.classList.remove("downloading")}),i.classList.add("downloading")}})}return l},t.wrapAudio=L,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:s,lazyLoadQueue:n,group:f,play:l,onlyThumb:c,emoji:h,width:p,height:m,withThumb:b,loop:v}){var _;const S=e.sticker;if(p||(p=h?void 0:200),m||(m=h?void 0:200),2!=S||o.default.loaded||o.default.loadLottieWorkers(),!S)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const L=h?d.getEmojiToneIndex(h):-1;if((null===(_=e.thumbs)||void 0===_?void 0:_.length)&&!t.firstElementChild&&(!e.downloaded||2==S||c)&&L<=0){const i=e.thumbs[0];let o;const d=()=>{t.childElementCount||t.append(o)};if(i.bytes||i.url)o=new Image,!g.isSafari||e.stickerThumbConverted||i.url?u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d):y.default.convert(e.id,i.bytes).then(n=>{i.bytes=n,e.stickerThumbConverted=!0,s&&!s()||t.childElementCount||u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d)}).catch(()=>{});else if(2==S&&(b||c)){o=new Image;const a=()=>{if(t.childElementCount||s&&!s())return;const n=()=>{t.childElementCount||s&&!s()||u.renderImageFromUrl(o,i.url,d)};return i.url?(n(),Promise.resolve()):r.default.getThumbURL(e,i).promise.then(n)};if(n&&c)return n.push({div:t,load:a}),Promise.resolve();a()}}if(c)return Promise.resolve();let M=e.downloaded,D=()=>i(this,void 0,void 0,(function*(){if(!s||s())if(2==S)yield r.default.downloadDocNew(e.id).then(w.readBlobAsText).then(JSON.parse).then(e=>i(this,void 0,void 0,(function*(){if(s&&!s())return;let i=yield o.default.loadAnimationWorker({container:t,loop:v&&!h,autoplay:l,animationData:e,width:p,height:m},f,L);i.addListener("firstFrame",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName?t.firstElementChild.remove():i.canvas.classList.add("fade-in")},!0),h&&t.addEventListener("click",()=>{let e=o.default.getAnimation(t);e.paused&&e.restart()})})));else if(1==S){let i=new Image;M||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.classList.add("fade-in-transition"),i.style.opacity="0",i.addEventListener("load",()=>{e.downloaded=!0,window.requestAnimationFrame(()=>{i.style.opacity=""})}));const n=()=>{s&&!s()||u.renderImageFromUrl(i,e.url,()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})};e.url?n():r.default.downloadDocNew(e).then(n)}}));return!n||e.downloaded&&2!=S?D():(n.push({div:t,load:D,wasSeen:"chat"==f&&2!=S}),Promise.resolve())},t.wrapReply=function(e,t,s,i){const n=i?"pinned-message":"reply",o=document.createElement("div");o.classList.add(n);const r=document.createElement("div");r.classList.add(n+"-border");const d=document.createElement("div");d.classList.add(n+"-content");const f=document.createElement("div");f.classList.add(n+"-title");const l=document.createElement("div");l.classList.add(n+"-subtitle"),f.innerHTML=e?c.RichTextProcessor.wrapEmojiText(e):"";const h=s&&s.media;if(h){if(l.innerHTML=s.rReply,h.photo||h.document&&-1!==["video"].indexOf(h.document.type)){let e=document.createElement("div");e.classList.add(n+"-media");let t=h.photo||h.document,s=t.sizes||t.thumbs;s&&s[0].bytes&&a.default.setAttachmentPreview(s[0].bytes,e,!1,!0),a.default.preloadPhoto(t,a.default.choosePhotoSize(t,32,32)).then(()=>{u.renderImageFromUrl(e,"photo"==t._?t.url:a.default.getDocumentCachedThumb(t.id).url)}),d.append(e),o.classList.add("is-media")}}else l.innerHTML=t?c.RichTextProcessor.wrapEmojiText(t):"";return d.append(f,l),o.append(r,d),o},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:s,uploading:i,lazyLoadQueue:n,isOut:o}){const r=[],d=Object.keys(h.default.groupedMessagesStorage[e]).map(e=>+e).sort((e,t)=>e-t);for(const e of d){const t=h.default.getMessage(e),s=t.media.photo||t.media.document,i="photo"==s._?a.default.choosePhotoSize(s,480,480):{w:s.w,h:s.h};r.push({size:i,media:s,message:t})}const f=new p.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),g.mediaSizes.active.album.width,100,2).layout();for(const{geometry:e,sides:i}of f){const a=r.shift();if(!a){console.error("no item for layout!");continue}const{size:d,media:f,message:l}=a,c=document.createElement("div");c.classList.add("album-item"),c.dataset.mid=l.mid,c.style.width=e.width+"px",c.style.height=e.height+"px",c.style.top=e.y+"px",c.style.left=e.x+"px",i&p.RectPart.Right&&(t.style.width=e.width+e.x+"px"),i&p.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),i&p.RectPart.Left&&i&p.RectPart.Top&&(c.style.borderTopLeftRadius="inherit"),i&p.RectPart.Left&&i&p.RectPart.Bottom&&(c.style.borderBottomLeftRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Top&&(c.style.borderTopRightRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Bottom&&(c.style.borderBottomRightRadius="inherit"),"photo"==f._?D(f,l,c,0,0,!1,o,n,s,d):S({doc:l.media.document,container:c,message:l,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:n,middleware:s}),t.append(c)}},t.wrapPoll=function(e,t){const s=new m.default;return s.setAttribute("poll-id",e),s.setAttribute("message-id",""+t),s}},function(e,t,s){"use strict"; -/*! - * Webogram v0.7.0 - messaging web application for MTProto - * https://github.com/zhukov/webogram - * Copyright (C) 2014 Igor Zhukov - * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const i=s(52);var n=Date.now();function a(e){return new i.BigInteger(e.toString(16),16)}function o(e){return new i.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function d(e,t){for(var s=atob(e),i=s.length,n=Math.ceil(i/1024),a=new Array(n),o=0;o{n.append(e)}),s=n.getBlob(i)}return s}function l(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function c(e){return new Uint8Array(e).buffer}function u(e){return void 0!==e.buffer?e:new Uint8Array(e)}function h(e,t){var s=e.byteLength||e.length,i=t.byteLength||t.length,n=new Uint8Array(s+i);return n.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),n.set(t instanceof ArrayBuffer?new Uint8Array(t):t,s),n.buffer}function p(e){var t=o(e).divideAndRemainder(a(4294967296));return[t[0].intValue(),t[1].intValue()]}function m(e){for(var t=e.words,s=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255);return i}t.dT=function(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=a,t.bigStringInt=o,t.bytesToHex=function(e){e=e||[];for(var t=[],s=0;s>>t&24),2!==t&&i-a!=1||(s+=String.fromCharCode(r(n>>>18&63),r(n>>>12&63),r(n>>>6&63),r(63&n)),n=0);return s.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=d,t.dataUrlToBlob=function(e){var t=e.split(",");return d(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=f,t.blobSafeMimeType=l,t.bytesCmp=function(e,t){var s=e.length;if(s!=t.length)return!1;for(var i=0;it);)s=s.slice(1);return s},t.bytesToArrayBuffer=c,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:c(e)},t.convertToUint8Array=u,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],s=0,i=(e=u(e)).length;st+=e.byteLength||e.length);var s=new Uint8Array(t);let i=0;return e.forEach(e=>{s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,i),i+=e.byteLength||e.length}),s},t.longToInts=p,t.bytesFromWords=m,t.bytesFromWordss=function(e){for(var t=[],s=0;s<4*e.length;s++)t.push(e[s>>>2]>>>24-s%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var s,i=t.length,n=[];for(s=0;s>>2]|=t[s]<<24-s%4*8;return new Uint32Array(n)},t.longToBytes=function(e){return m({words:p(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return a(e).shiftLeft(32).add(a(t)).toString(10)},t.addPadding=function(e,t=16,s,n=!1,a=!1){let o=t-(e.byteLength||e.length)%t;if(o>0&&(o{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let s=document.createElement("p");s.innerHTML=e,t.prepend(s),t.style.display=""})};const A=new C.default,X=new P.default,x=new k.default,F={contentMembers:"inputMessagesFilterContacts",contentMedia:"inputMessagesFilterPhotoVideo",contentDocuments:"inputMessagesFilterDocument",contentLinks:"inputMessagesFilterUrl",contentAudio:"inputMessagesFilterMusic"};let B=(()=>{class e extends D.default{constructor(){super(document.getElementById("column-right"),{[e.SLIDERITEMSIDS.stickers]:A,[e.SLIDERITEMSIDS.pollResults]:X,[e.SLIDERITEMSIDS.gifs]:x}),this.profileElements={},this.sharedMedia={},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["inputMessagesFilterContacts","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="inputMessagesFilterPhotoVideo",this.sharedMediaSelected=null,this.lazyLoadQueue=new w.default,this.historiesStorage={},this.usedFromHistory={},this.log=b.logger("SR",b.LogLevels.error),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.loadMutex=Promise.resolve(),this.stickersTab=A,this.pollResultsTab=X,this.gifsTab=x,this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=new E.default("Search"),this.searchCloseBtn.parentElement.append(this.searchInput.container),this.privateSearch=new S.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new S.SearchGroup("Private Search","messages")});let t=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new f.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},I.horizontalMenu(this.profileTabs,t,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)},()=>{this.scroll.onScroll()}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{const t=e.target,s=+t.dataset.mid;if(!s)return void this.log.warn("no messageID by click on target:",t);const i=c.default.getMessage(s),n=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),a=n.findIndex(e=>e==s),o=n.map(e=>({element:this.mediaDivsByIDs[e],mid:e}));y.default.openMedia(i,t,!1,this.sidebarEl,o.slice(a+1).reverse(),o.slice(0,a).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{v.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){const t=this.sidebarEl.classList.contains("active");let s;if(void 0!==e?e?t||(s=!0):t&&(s=!0):s=!0,!s)return Promise.resolve();if(M.mediaSizes.isMobile)return v.default.selectTab(t?1:2),Promise.resolve();const i=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((e,s)=>{const n=[],a=new IntersectionObserver(s=>{for(const e of s){const t=e.target;e.isIntersecting||n.push({element:t,height:t.scrollHeight})}for(const e of n)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";a.disconnect(),i(),setTimeout(()=>{for(const e of n)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";t&&(L.default.close(),this.searchCloseBtn.click()),e()},200)});if(Object.keys(v.default.bubbles).length)for(const e in v.default.bubbles)a.observe(v.default.bubbles[e]);else i(),setTimeout(e,200)})}filterMessagesByType(e,t){let s=[];for(let t of e){let e=c.default.getMessage(t);e.media&&s.push(e)}let i=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of s){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||i.push(e))}break;case"inputMessagesFilterDocument":for(let e of s){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||i.push(e)}break;case"inputMessagesFilterUrl":for(let e of s)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&i.push(e);break;case"inputMessagesFilterMusic":for(let e of s)e.media.document&&"audio"==e.media.document.type&&i.push(e)}return i}performSearchResult(e,t){return o(this,void 0,void 0,(function*(){const s=this.peerID,i=[],n=[];let a;switch(t){case"inputMessagesFilterPhotoVideo":a=this.sharedMedia.contentMedia;for(const t of e){const e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,a=document.createElement("div");a.classList.add("media-item");const o="photo"==e._,r=o?u.default.getPhoto(e.id):null;let f;if(r)f=r.downloaded>0;else{const t=u.default.getDocumentCachedThumb(e.id);f=(null==t?void 0:t.downloaded)>0}if(!o){const t=document.createElement("span");t.classList.add("video-time"),a.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}const c=()=>u.default.preloadPhoto(o?e.id:e,u.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");const t=r&&r.url||u.default.getDocumentCachedThumb(e.id).url;if(t){const e=g?()=>{b.style.opacity=""}:void 0;d.renderImageFromUrl(b,t,e)}});let h;const p=e.sizes||e.thumbs,m=!f&&p&&p[0].bytes;m&&(h=new Image,h.classList.add("media-image","thumbnail"),h.dataset.mid=""+t.mid,u.default.setAttachmentPreview(p[0].bytes,h,!1,!1),a.append(h));const g=!f||!m,b=new Image;if(b.dataset.mid=""+t.mid,b.classList.add("media-image"),g&&(b.style.opacity="0"),a.append(b),f||m){const t=new Promise((t,s)=>{(h||b).addEventListener("load",()=>{clearTimeout(i),t()});const i=setTimeout(()=>{this.log("did not loaded",h,e,f,p),s()},1e3)});n.push(t)}(null==p?void 0:p.length)&&(f?c():this.lazyLoadQueue.push({div:a,load:c})),i.push(a),this.mediaDivsByIDs[t.mid]=a}break;case"inputMessagesFilterDocument":a=this.sharedMedia.contentDocuments;for(let t of e){let e=_.wrapDocument(t.media.document,!0,!1,t.mid);i.push(e)}break;case"inputMessagesFilterUrl":a=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,n=document.createElement("div"),a=document.createElement("div");if(a.classList.add("preview"),a.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),a.classList.add("empty"),e.photo){let t=()=>u.default.preloadPhoto(e.photo.id,u.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(a.classList.remove("empty"),a.innerText="",d.renderImageFromUrl(a,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:a,load:t})}let o=e.rTitle||"",r=e.rDescription||"",f=g.RichTextProcessor.wrapRichText(e.url||"");o||(o=e.display_url.split("/",1)[0]),n.append(a),n.insertAdjacentHTML("beforeend",`\n
${o}\n
${r}
\n
${f}
\n `),n.innerText.trim().length&&i.push(n)}break;case"inputMessagesFilterMusic":a=this.sharedMedia.contentAudio;for(let t of e){let e=_.wrapAudio(t.media.document,!0,t.mid);i.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&n.push(this.loadMutex),n.length&&(yield Promise.all(n),this.peerID!=s))this.log.warn("peer changed");else if(i.length&&a.append(...i),a){const t=a.parentElement;if(Array.from(t.children).slice(1).forEach(e=>{e.remove()}),!e.length&&!a.childElementCount){const e=document.createElement("div");e.innerText="Nothing interesting here yet...",e.classList.add("position-center","text-center","content-empty","no-select"),t.append(e)}}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);const s=this.peerID;let i=e?[this.sharedMediaType]:this.sharedMediaTypes;if(i=i.filter(e=>!this.loadedAllMedia[e]),!i.length)return;const n=3*(u.default.windowH/130|0),a=null!==(t=this.historiesStorage[s])&&void 0!==t?t:this.historiesStorage[s]={},o=i.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];const i=null!==(t=a[e])&&void 0!==t?t:a[e]=[];if(i.length&&this.usedFromHistory[e]n){let e=t.length-n;t=t.slice(0,t.length-e),s-=e}return this.usedFromHistory[e]=s,this.performSearchResult(t,e)}let o=i[i.length-1]||0,r=!o&&c.default.historiesStorage[s]?c.default.historiesStorage[s].history.slice():[];return o=!o&&r.length?r[r.length-1]:o,this.log("loadSidebarMedia: search house of glass pre",e,r,o),this.loadSidebarMediaPromises[e]=c.default.getSearch(s,"",{_:e},o,n).then(t=>{if(r=r.concat(t.history),i.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==s)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(o)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{this.sharedMedia[e].innerHTML="";const t=F[e];if(!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][t]){const t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||d.putPreloader(t,!0);const s=t.querySelector(".content-empty");s&&s.remove()}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){h.default.getPeerUsername(e)&&T(h.default.getPeerUsername(e),this.profileElements.username);let t=c.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),v.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});if(e>0){let t=p.default.getUser(e);t.phone&&e!=l.$rootScope.myID&&T(t.rPhone,this.profileElements.phone),m.default.getProfile(e,!0).then(t=>{this.peerID==e?t.rAbout&&e!=l.$rootScope.myID&&T(t.rAbout,this.profileElements.bio):this.log.warn("peer changed")})}else{let t=h.default.getPeer(e);m.default.getChatFull(t.id).then(t=>{this.peerID==e?t.about&&T(g.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}return e.SLIDERITEMSIDS={search:1,forward:2,stickers:3,pollResults:4,gifs:5},e})();t.AppSidebarRight=B;const R=new B;t.default=R},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10);t.default=class{constructor(e=5,t=!1){this.parallelLimit=e,this.noObserver=t,this.lazyLoadMedia=[],this.inProcess=[],this.lockPromise=null,this.unlockResolve=null,this.log=n.logger("LL",n.LogLevels.error),this.intersectionLocked=!1,t||(this.observer=new IntersectionObserver(e=>{if(this.lockPromise||this.intersectionLocked)return;const t=e.filter(e=>e.isIntersecting);t.forEachReverse(e=>{const t=e.target;this.log("isIntersecting",t);const s=this.lazyLoadMedia.findAndSplice(e=>e.div==t);s&&(s.wasSeen=!0,this.lazyLoadMedia.unshift(s))}),t.length&&this.processQueue()}))}clear(){this.inProcess.length=0,this.lazyLoadMedia.length=0;for(let e of this.inProcess)this.lazyLoadMedia.push(e);this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.inProcess.length}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return i(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.inProcess.length>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.inProcess.push(e),this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.log("waited lock:",performance.now()-e)}yield e.load()}catch(e){this.log.error("loadMediaQueue error:",e)}this.noObserver||this.observer.unobserve(e.div),this.inProcess.findAndSplice(t=>t==e),this.log("loaded media",e),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}refresh(){const e=this.lazyLoadMedia;e&&e.length&&(e.forEach(e=>{this.observer.unobserve(e.div)}),window.requestAnimationFrame(()=>{e.forEach(e=>{this.observer.observe(e.div)})}))}lockIntersection(){this.intersectionLocked=!0}unlockIntersection(){this.intersectionLocked=!1,this.refresh()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=t.secureRandom=void 0;const i=s(21),n=s(52);t.secureRandom=new n.SecureRandom,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((s,i)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,s(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,i(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(e){this.set(i.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return i.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),s=Math.floor(t/3600);let i=Math.floor((t-3600*s)/60),n=t-3600*s-60*i;return s&&(e=!0),i<10&&(i=e?"0"+i:i),n<10&&(n="0"+n),(s?s+":":"")+i+":"+n}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(79));t.default=class{constructor(e,t,s,i){this.isAuthPage=t,this.onFirstMount=s,this.onMount=i,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return i(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount)try{const t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}catch(e){console.error("PAGE MOUNT ERROR:",e)}this.installed=!0}a.default.setPage(this)}))}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.horizontalMenu=void 0;const i=s(0);t.horizontalMenu=function(e,t,s,n,a=250){const o={};let r=null,d=-1;const f=s=>{if(s==d)return!1;const i=r,f=t.children[s];if("none"==t.dataset.slider)return i&&i.classList.remove("active"),f.classList.add("active"),d=s,r=f,void(n&&n());const l=d{i.style.transform="",i.style.filter="",i.classList.remove("active"),delete o[c],n&&n()},a)),d=s,r=f};if(e){const n=!e.classList.contains("no-stripe"),a="LI";e.addEventListener("click",(function(o){let r,l=o.target;if(l.tagName!=a&&(l=i.findUpTag(l,a)),!l)return!1;if(l.dataset.tab){if(r=+l.dataset.tab,-1==r)return!1}else r=i.whichChild(l);const c=t.children[r];if(s&&s(r,c),l.classList.contains("active")||r==d)return!1;const u=e.querySelector(a.toLowerCase()+".active");if(u&&u.classList.remove("active"),n&&-1!=d){const e=l.querySelector("i"),t=l.parentElement.children[d].querySelector("i");t.classList.remove("animate"),e.classList.remove("animate");const s=t.parentElement.parentElement.offsetLeft-e.parentElement.parentElement.offsetLeft,i=t.clientWidth/e.clientWidth;e.style.transform=`translate3d(${s}px, 0, 0) scale3d(${i}, 1, 1)`,requestAnimationFrame(()=>{e.classList.add("animate"),e.style.transform="none"})}l.classList.add("active"),f(r)}))}return f}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppProfileManager=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(13)),f=n(s(5)),l=s(3),c=n(s(8)),u=n(s(32)),h=n(s(16)),p=n(s(2)),m=s(4),g=n(s(38)),b=n(s(7)),v=n(s(28));class y{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var s=t.participants;void 0!==(r=this.chatsFull[s.id])&&(r.participants=t.participants,a.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var i=0,n=(s=r.participants.participants||[]).length;i{let t=e.detail,s=this.chatsFull[t],i=r.default.getChat(t);if(!i.photo||!s)return;let n="chatPhotoEmpty"==i.photo._;if(s.chat_photo&&n!=("photoEmpty"==s.chat_photo._))return delete this.chatsFull[t],void a.$rootScope.$broadcast("chat_full_update",t);if(n)return;let o=i.photo.photo_small,f=d.default.choosePhotoSize(s.chat_photo,0,0);JSON.stringify(o)!==JSON.stringify(f.location)&&(delete this.chatsFull[t],a.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let s={};return e.commands.forEach(e=>{s[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:s}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):p.default.invokeApi("users.getFullUser",{id:f.default.getUserInput(e)}).then(s=>(t&&t.phone_number?(s.user.phone=t.phone_number,(t.first_name||t.last_name)&&(s.user.first_name=t.first_name,s.user.last_name=t.last_name),f.default.saveApiUser(s.user)):f.default.saveApiUser(s.user,!0),s.profile_photo&&(s.profile_photo=d.default.savePhoto(s.profile_photo,{user_id:e})),void 0!==s.about&&(s.rAbout=l.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.bot_info&&(s.bot_info=this.saveBotInfo(s.bot_info)),b.default.savePinnedMessage(e,s.pinned_msg_id),this.usersFull[e]=s))}getPeerBots(e){var t=[];return e>=0&&!f.default.isBot(e)||c.default.isChannel(e)&&!c.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var s=e.bot_info;return s&&"botInfoEmpty"!=s._&&t.push(s),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);const s=t.full_chat;return s&&s.chat_photo&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s})}getChatInviteLink(e,t){return this.getChatFull(e).then(s=>{if(!t&&s.exported_invite&&"chatInviteExported"==s.exported_invite._)return s.exported_invite.link;let i;return i=r.default.isChannel(e)?p.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):p.default.invokeApi("messages.exportChatInvite",{chat_id:e}),i.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,s,i){s=s||200,i=i||0;let n=[e,(t=t||{_:"channelParticipantsRecent"})._,i,s].join("_"),o=this.chatParticipantsPromises[n];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let d=n=>{let a=0;if(n){let e=[];n.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{a=(20261*a+2147483648+e)%2147483648})}return p.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:i,limit:s,hash:a}).then(e=>"channels.channelParticipantsNotModified"==e._?n:(f.default.saveApiUsers(e.users),e.participants))},l=s=>{let n=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!i&&!n.pFlags.kicked&&!n.pFlags.left){s=a.copy(s);let e,t=f.default.getSelf().id,i=s.findIndex(e=>e.user_id==t);-1!==i?(e=s[i],s.splice(i,1)):e={_:"channelParticipantSelf",user_id:t},s.unshift(e)}return s},c=a.tsNow();if(void 0!==o){let e=o[1];if(o[0]>c-6e4)return e;let t=e.then(e=>d(e).then(l));return this.chatParticipantsPromises[n]=[c,t],t}let u=d().then(l);return this.chatParticipantsPromises[n]=[c,u],u}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);let s=t.full_chat;return s&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),s.pinned_msg_id&&(s.pinned_msg_id=o.default.getFullMessageID(s.pinned_msg_id,e)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];a.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let s=t&&t.pinned_msg_id;return!!s&&h.default.get("pinned_hidden"+e).then(e=>o.default.getMessageLocalID(s)!=e&&s)})}hideChannelPinnedMessage(e,t){let s={};s["pinned_hidden"+e]=o.default.getMessageLocalID(t),h.default.set(s),a.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,s){return p.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:s}).then(e=>{f.default.saveApiUser(e)})}uploadProfilePhoto(e){return p.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{f.default.saveApiUsers(e.users),p.default.getUserID().then(t=>{d.default.savePhoto(e.photo,{user_id:t}),u.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:a.tsNow(!0),photo:f.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return p.default.invokeApi("account.updateUsername",{username:e}).then(e=>{f.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putAvatar(e,t,s){return i(this,void 0,void 0,(function*(){const i=c.default.getInputPeerByID(t);if(!this.savedAvatarURLs[t]){const e={_:"inputPeerPhotoFileLocation",flags:0,peer:i,volume_id:s.photo_small.volume_id,local_id:s.photo_small.local_id},n={dcID:s.dc_id,location:e};yield v.default.download(n).then(e=>{this.savedAvatarURLs[t]=URL.createObjectURL(e)})}const n=new Image;m.renderImageFromUrl(n,this.savedAvatarURLs[t])?(e.innerHTML="",e.append(n)):(n.classList.add("fade-in"),n.addEventListener("load",()=>{e.innerHTML="",e.append(n)}))}))}putPhoto(e,t,s=!1,i=""){var n;const o=c.default.getPeerPhoto(t),r=o&&!o.empty&&o.photo_small,d=!!e.firstElementChild,l=a.$rootScope.myID;if(t==l&&s)return e.innerHTML="",e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),void e.classList.remove("tgico-avatar_deletedaccount");if(t>0){const s=f.default.getUser(t);if(s&&s.pFlags&&s.pFlags.deleted)return e.innerHTML="",e.style.backgroundColor="",void e.classList.add("tgico-avatar_deletedaccount")}if(!r||!d||!this.savedAvatarURLs[t]){let s,a="";if(t&&t!=l&&(a=c.default.getPeerColorByID(t)),e.innerHTML="",e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=a,i){const e=g.default.cleanSearchText(i,!1).split(" "),t=e.shift(),n=e.pop();s=t.charAt(0)+(n?n.charAt(0):"")}else s=null!==(n=c.default.getPeer(t).initials)&&void 0!==n?n:"";e.innerText=s.toUpperCase()}r&&this.putAvatar(e,t,o)}}t.AppProfileManager=y,t.default=new y},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDownloadManager=void 0;const n=s(0),a=i(s(2)),o=s(24),r=s(21);class d{constructor(){this.downloads={},this.progress={},this.progressCallbacks={},this.uploadID=0,n.$rootScope.$on("download_progress",e=>{const t=e.detail;this.progress[t.fileName]=t;const s=this.progressCallbacks[t.fileName];s&&s.forEach(e=>e(t));const i=this.downloads[t.fileName];i&&i.notifyAll(t)})}getNewDeferred(e){const t=o.deferredPromise();return t.cancel=()=>{const s=new Error("Download canceled");s.name="AbortError",a.default.cancelDownload(e),this.clearDownload(e),t.reject(s),t.cancel=()=>{}},t.finally(()=>{delete this.progress[e],delete this.progressCallbacks[e]}),this.downloads[e]=t}clearDownload(e){delete this.downloads[e]}download(e){const t=r.getFileNameByLocation(e.location,{fileName:e.fileName});if(this.downloads.hasOwnProperty(t))return this.downloads[t];const s=this.getNewDeferred(t);return a.default.downloadFile(e).then(s.resolve,s.reject),s}upload(e,t){if(!t){const s=null==e?void 0:e.type;if(s){const e=this.uploadID+++"."+s.split("/")[1];t=["image/jpeg","image/png","image/bmp"].indexOf(s)>=0?"photo"+e:0===s.indexOf("audio/")||["video/ogg"].indexOf(s)>=0?"audio"+e:0===s.indexOf("video/")?"video"+e:"document"+e}else t="upload-"+this.uploadID++}const s=this.getNewDeferred(t);return a.default.uploadFile({file:e,fileName:t}).then(s.resolve,s.reject),s.finally(()=>{this.clearDownload(t)}),s}getDownload(e){return this.downloads[e]}addProgressCallback(e,t){var s;const i=this.progress[e];(null!==(s=this.progressCallbacks[e])&&void 0!==s?s:this.progressCallbacks[e]=[]).push(t),i&&t(i)}createDownloadAnchor(e,t,s){const i=document.createElement("a");i.href=e,i.download=t,i.target="_blank",i.style.position="absolute",i.style.top="1px",i.style.left="1px",document.body.append(i);try{var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(n)}catch(t){console.error("Download click error",t);try{i.click()}catch(t){window.open(e,"_blank")}}setTimeout(()=>{i.remove(),s&&s()},100)}downloadToDisc(e,t){const s=this.download(e);return s.then(e=>{const s=URL.createObjectURL(e);this.createDownloadAnchor(s,t,()=>{URL.revokeObjectURL(s)})}),s}}t.AppDownloadManager=d,t.default=new d},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.prevValue="",this.timeout=0,this.onInput=()=>{if(!this.onChange)return;let e=this.input.value;e!=this.prevValue&&(this.prevValue=e,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.onChange(e)},200))},this.onClearClick=()=>{this.value="",this.onChange&&this.onChange("")},this.container=document.createElement("div"),this.container.classList.add("input-search"),this.onChange=t,this.input=document.createElement("input"),this.input.type="text",this.input.placeholder=e,this.input.autocomplete=Math.random().toString(36).substring(7);const s=document.createElement("span");s.classList.add("tgico","tgico-search"),this.clearBtn=document.createElement("span"),this.clearBtn.classList.add("tgico","btn-icon","tgico-close"),this.input.addEventListener("input",this.onInput),this.clearBtn.addEventListener("click",this.onClearClick),this.container.append(this.input,s,this.clearBtn)}get value(){return this.input.value}set value(e){this.input.value=e,this.prevValue=e,clearTimeout(this.timeout)}remove(){clearTimeout(this.timeout),this.input.removeEventListener("input",this.onInput),this.clearBtn.removeEventListener("click",this.onClearClick)}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4);const d=new(o(s(25)).default)("page-chats",!1,()=>{const e=Promise.resolve().then(()=>a(s(12)));return e.finally(()=>{Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let s=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),s.classList.remove("active")):r.openBtnMenu(s)})})}),e});t.default=d},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiUpdatesManager=void 0;const n=i(s(2)),a=s(0),o=i(s(8)),r=i(s(5)),d=i(s(9)),f=s(10);class l{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1,this.log=f.logger("UPDATES",f.LogLevels.error)}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var s=t.updates,i=0,n=s.length;i=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var s,i=t.pts,n=!1,a=0,o=0,r=t.pendingPtsUpdates.length;o=s.pts&&(n=s.pts,a=o);if(!n)return!1;for(this.log("pop pending pts updates",n,t.pendingPtsUpdates.slice(0,a+1)),t.pts=n,o=0;o<=a;o++)s=t.pendingPtsUpdates[o],this.saveUpdate(s);return t.pendingPtsUpdates.splice(0,a+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var s=2&e.flags,i=e.from_id||(s?a.$rootScope.myID:e.user_id),n=e.chat_id?-e.chat_id:s?e.user_id:a.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:i,to_id:o.default.getOutputPeer(n),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),d.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:this.log.warn("Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),n.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return this.log("apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),d.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const s=t.intermediate_state||t.state;e.seq=s.seq,e.pts=s.pts,e.date=s.date,"updates.differenceSlice"==t._?this.getDifference():(a.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),n.default.invokeApi("updates.getChannelDifference",{channel:d.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(s=>(t.pts=s.pts,"updates.channelDifferenceEmpty"==s._?(this.log("apply channel empty diff",s),t.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==s._?(this.log("channel diff too long",s),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(s.users),d.default.saveApiChats(s.chats),this.log("applying",s.other_updates.length,"channel other updates"),s.other_updates.forEach(e=>{this.saveUpdate(e)}),this.log("applying",s.new_messages.length,"channel new messages"),s.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),this.log("apply channel diff",t.pts),void("updates.channelDifference"!=s._||s.pFlags.final?(this.log("finished channel get diff"),a.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var s=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":s=-o.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":s=e.channel_id;break;case"updateChannelTooLong":if(!((s=e.channel_id)in this.channelStates))return!1}var i,n,f=s?this.getChannelState(s,e.pts):this.updatesState;if(f.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!f.lastPtsUpdateTime||f.lastPtsUpdateTime0&&!r.default.hasUser(c)&&(h="toPeer User")||c<0&&!d.default.hasChat(-c)&&(h="toPeer Chat"))return this.log.warn("Not enough data for message update",c,h,l),s&&d.default.hasChat(s)?this.getChannelDifference(s):this.forceGetDifference(),!1}else if(s&&!d.default.hasChat(s))return!1;if(e.pts){if(f.pts+(e.pts_count||0){s?this.getChannelDifference(s):this.getDifference()},5e3)}),f.syncPending.ptsAwaiting=!0,!1;if(e.pts>f.pts)f.pts=e.pts,i=!0,f.lastPtsUpdateTime=a.tsNow();else if(e.pts_count)return!1;s&&t.date&&this.updatesState.date0){var p=t.seq,m=t.seqStart||p;if(m!=f.seq+1&&m>f.seq)return this.log.warn("Seq hole",f,f.syncPending&&f.syncPending.seqAwaiting),void 0===f.pendingSeqUpdates[m]&&(f.pendingSeqUpdates[m]={seq:p,date:t.date,updates:[]}),f.pendingSeqUpdates[m].updates.push(e),f.syncPending||(f.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!f.syncPending.seqAwaiting||f.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=l,t.default=new l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesIDsManager=void 0;class i{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var s=this.channelLocals[t];return s||(s=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[s]=t,this.channelLocals[t]=s),s+e}getMessageIDInfo(e){if(e{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=o,t.default=new o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(e,t=!0,s=!1){this.cancelable=t,this.tempID=0,this.detached=!0,this.promise=null,this.preloader=document.createElement("div"),this.preloader.classList.add("preloader-container"),s&&this.preloader.classList.add("preloader-streamable"),this.preloader.innerHTML=`\n
\n \n \n \n
`,t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",e=>{i.cancelEvent(e),this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attachPromise(e){this.promise=e;const t=--this.tempID;e.finally(()=>{e.notify=null,t==this.tempID&&(this.detach(),this.promise=e=null)}),e.addNotifyListener&&e.addNotifyListener(e=>{if(t!=this.tempID)return;const s=e.done/e.total*100;this.setProgress(s)})}attach(e,t=!0,s,i=!0){s&&this.attachPromise(s),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[i?"append":"prepend"](this.preloader),this.cancelable&&t&&this.setProgress(0))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.remove())})}setProgress(e){if(i.isInDOM(this.circle))if(0!=e)try{const t=this.circle.getTotalLength();this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}catch(e){}else this.circle.style.strokeDasharray=""}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupPeer=t.PopupElement=void 0;const n=i(s(41)),a=s(19);class o{constructor(e,t,s={}){if(this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),s.closable&&(this.closeBtn=document.createElement("span"),this.closeBtn.classList.add("btn-icon","popup-close","tgico-close"),a.ripple(this.closeBtn),this.header.prepend(this.closeBtn),this.closeBtn.addEventListener("click",()=>{this.destroy()},{once:!0})),s.withConfirm&&(this.confirmBtn=document.createElement("button"),this.confirmBtn.classList.add("btn-primary"),this.confirmBtn.innerText=s.withConfirm,this.header.append(this.confirmBtn),a.ripple(this.confirmBtn)),this.container.append(this.header),s.body&&(this.body=document.createElement("div"),this.body.classList.add("popup-body"),this.container.append(this.body)),t&&t.length){const e=document.createElement("div");e.classList.add("popup-buttons");const s=t.map(e=>{const t=document.createElement("button");return t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,a.ripple(t),e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()},{once:!0}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()},{once:!0}),t});e.append(...s),this.container.append(e)}this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.onClose&&this.onClose(),this.element.classList.remove("active"),setTimeout(()=>{this.element.remove(),this.onCloseAfterTimeout&&this.onCloseAfterTimeout()},1e3)}}t.PopupElement=o;t.PopupPeer=class extends o{constructor(e,t={}){super("popup-peer"+(e?" "+e:""),t.buttons),this.className=e;let s=new n.default;s.setAttribute("dialog","1"),s.setAttribute("peer",""+t.peerID),s.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(s);let i=document.createElement("p");i.classList.add("popup-description"),i.innerHTML=t.description,this.container.insertBefore(i,this.header.nextElementSibling)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(7)),o=i(s(11)),r=s(1),d=s(24);const f=new class{constructor(){this.media={},this.waitingMediaForLoad={},this.onPause=e=>{n.$rootScope.$broadcast("audio_pause")},this.onEnded=e=>{if(this.onPause(e),this.nextMid){const e=this.media[this.nextMid];this.resolveWaitingForLoadMedia(this.nextMid),setTimeout(()=>{e.play()},0)}},this.container=document.createElement("div"),this.container.style.cssText="display: none;",document.body.append(this.container)}addMedia(e,t,s=!0){if(this.media[t])return this.media[t];const i=document.createElement("round"==e.type?"video":"audio");"round"==e.type&&i.setAttribute("playsinline",""),i.dataset.mid=""+t,i.dataset.type=e.type,i.volume=1,this.container.append(i),i.addEventListener("playing",()=>{this.playingMedia!=i&&(this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause(),this.playingMedia=i,this.loadSiblingsMedia(e.type,t)),setTimeout(()=>{n.$rootScope.$broadcast("audio_play",{doc:e,mid:t})},0)}),i.addEventListener("pause",this.onPause),i.addEventListener("ended",this.onEnded);const a=s=>{this.nextMid==t&&this.loadSiblingsMedia(e.type,t).then(()=>{this.nextMid&&this.media[this.nextMid]&&this.media[this.nextMid].play()})};i.addEventListener("error",a);const f=d.deferredPromise();s?f.resolve():this.waitingMediaForLoad[t]=f;const l=e.supportsStreaming?Promise.resolve():o.default.downloadDocNew(e.id);return Promise.all([f,l]).then(()=>{"audio"==e.type&&e.supportsStreaming&&r.isSafari&&this.handleSafariStreamable(i),i.src=e.url},a),this.media[t]=i}handleSafariStreamable(e){e.addEventListener("play",()=>{const t=e.currentTime;e.addEventListener("progress",()=>{e.currentTime=e.duration-1,e.addEventListener("progress",()=>{e.currentTime=t,e.paused||e.play()},{once:!0})},{once:!0})})}resolveWaitingForLoadMedia(e){const t=this.waitingMediaForLoad[e];t&&(t.resolve(),delete this.waitingMediaForLoad[e])}isSafariBuffering(e){return!!e.safariBuffering}setSafariBuffering(e,t){e.safariBuffering=t}loadSiblingsMedia(e,t){const s=this.playingMedia,i=a.default.getMessage(t);return this.prevMid=this.nextMid=0,a.default.getSearch(i.peerID,"",{_:"audio"==e?"inputMessagesFilterMusic":"inputMessagesFilterRoundVoice"},t,3,0,2).then(e=>{if(this.playingMedia==s){for(let s of e.history)if(s>t)this.nextMid=s;else if(s{const t=a.default.getMessage(e);this.addMedia(t.media.document,e,!1)})}})}toggle(){this.playingMedia&&(this.playingMedia.paused?this.playingMedia.play():this.playingMedia.pause())}pause(){this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause()}willBePlayed(e){this.willBePlayedMedia=e}};t.default=f},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(1));let a=(()=>{class e{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(t,s=!0){const i="%"==t.charAt(0);return t=t.replace(e.badCharsRe,"").replace(e.trimRe,""),s&&(t=t.replace(/[^A-Za-z0-9]/g,e=>{const t=n.default.LatinizeMap[e];return void 0!==t?t:e})),t=t.toLowerCase(),i&&(t="%"+t),t}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,s){if(void 0!==s.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const i=s.shortIndexes;s.fullTexts[e]=t,t.split(" ").forEach(t=>{let s,n,a=Math.min(t.length,3);for(n=1;n<=a;n++)s=t.substr(0,n),void 0===i[s]?i[s]=[e]:i[s].push(e)})}search(e,t){const s=t.shortIndexes,i=t.fullTexts,n=(e=this.cleanSearchText(e)).split(" ");let a,o,r,d,f,l=!1;for(o=0;oa.length)&&(l=a)}for(a={},r=0;r,<]+/g,e.trimRe=/^\s+|\s$/g,e})();t.default=new a},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(3),a=i(s(7)),o=i(s(8)),r=i(s(2)),d=i(s(32)),f=s(0),l=s(10),c=i(s(5));const u=new class{constructor(){this.polls={},this.results={},this.log=l.logger("POLLS",l.LogLevels.error),f.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{this.log("updateMessagePoll:",e);let t=e.poll;if(!t)break;t=this.savePoll(t,e.results),f.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){const s=e.id;return this.polls[s]?(e=Object.assign(this.polls[s],e),this.saveResults(e,t),e):(this.polls[s]=e,e.rQuestion=n.RichTextProcessor.wrapEmojiText(e.question),e.rReply=n.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),e.chosenIndexes=[],this.saveResults(e,t),e)}saveResults(e,t){var s;this.results[e.id]=t,e.chosenIndexes.length=0,(null===(s=null==t?void 0:t.results)||void 0===s?void 0:s.length)&&t.results.forEach((t,s)=>{var i;(null===(i=t.pFlags)||void 0===i?void 0:i.chosen)&&e.chosenIndexes.push(s)})}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){const s=a.default.getMessage(e),i=s.media.poll,n=t.map(e=>i.answers[e].option),f=o.default.getInputPeerByID(s.peerID),l=s.id;return r.default.invokeApi("messages.sendVote",{peer:f,msg_id:l,options:n}).then(e=>{this.log("sendVote updates:",e),d.default.processUpdateMessage(e)})}getResults(e){const t=a.default.getMessage(e),s=o.default.getInputPeerByID(t.peerID),i=t.id;return r.default.invokeApi("messages.getPollResults",{peer:s,msg_id:i}).then(e=>{d.default.processUpdateMessage(e),this.log("getResults updates:",e)})}getVotes(e,t,s,i=20){const n=a.default.getMessage(e),d=o.default.getInputPeerByID(n.peerID),f=n.id;let l=0;return t&&(l|=1),s&&(l|=2),r.default.invokeApi("messages.getPollVotes",{flags:l,peer:d,id:f,option:t,offset:s,limit:i}).then(e=>(this.log("getPollVotes messages:",e),c.default.saveApiUsers(e.users),e))}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppStateManager=void 0;const n=i(s(16)),a=i(s(7)),o=i(s(33)),r=i(s(8)),d=i(s(9)),f=i(s(5)),l=i(s(32)),c=s(0),u=s(10);class h{constructor(){this.log=u.logger("STATE"),this.state={},this.loadSavedState()}loadSavedState(){return this.loaded?this.loaded:this.loaded=new Promise((e,t)=>{n.default.get("state").then(t=>{var s;const i=Date.now();(null!==(s=null==t?void 0:t.stateCreatedTime)&&void 0!==s?s:0)+864e5{delete t[e]}));const{dialogs:n,allDialogsLoaded:r,peers:c,messages:u,contactsList:h,maxSeenMsgID:p,updates:m,filters:g}=t;if(this.state=t||{},this.state.peers=c||{},this.state.hasOwnProperty("stateCreatedTime")||(this.state.stateCreatedTime=Date.now()),this.log("state res",n,u),p&&!o.default.getMessageIDInfo(p)[1]&&(a.default.maxSeenID=p),c)for(let e in c){let t=c[e];+e<0?d.default.saveApiChat(t):f.default.saveApiUser(t)}if(h&&Array.isArray(h)&&h.length&&(h.forEach(e=>{f.default.pushContact(e)}),f.default.contactsFillPromise=Promise.resolve(f.default.contactsList)),u){a.default.saveMessages(u);for(let e of u)e.media&&a.default.wrapSingleMessage(e.mid,!0)}if(r&&(a.default.dialogsStorage.allDialogsLoaded=r),g)for(const e in g)a.default.filtersStorage.saveDialogFilter(g[e],!1);n&&n.forEachReverse(e=>{a.default.saveConversation(e)}),l.default.attach(null!=m?m:null),e(t)}).catch(e).finally(()=>{setInterval(()=>this.saveState(),1e4)})})}getState(){return this.loadSavedState()}saveState(){var e,t;const s=[],i=[],o=this.state.peers;for(const n in a.default.dialogsStorage.byFolders){const d=a.default.dialogsStorage.getFolder(+n);for(let n of d){const d=a.default.historiesStorage[n.peerID],f=[].concat(null!==(e=null==d?void 0:d.pending)&&void 0!==e?e:[],null!==(t=null==d?void 0:d.history)&&void 0!==t?t:[]);n=c.copy(n);let l=0;for(const e of f){const t=a.default.getMessage(e);if(t.id>0){s.push(t),t.fromID!=n.peerID&&(o[t.fromID]=r.default.getPeer(t.fromID)),n.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++l}l&&n.unread_count&&(n.unread_count-=l),i.push(n),o[n.peerID]=r.default.getPeer(n.peerID)}}const d=l.default.updatesState,u={seq:d.seq,pts:d.pts,date:d.date},h=[...f.default.contactsList];for(const e of h)o[e]||(o[e]=f.default.getUser(e));const p=a.default.filtersStorage.filters;n.default.set({state:Object.assign({},this.state,{dialogs:i,messages:s,allDialogsLoaded:a.default.dialogsStorage.allDialogsLoaded,peers:o,contactsList:h,filters:p,updates:u,maxSeenMsgID:a.default.maxSeenID})})}pushToState(e,t){this.state[e]=t}pushPeer(e){this.state.peers[e]=r.default.getPeer(e)}}t.AppStateManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(27));s(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;n.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{e.update()})});class a extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,s){if("peer"==e){if(this.peerID==+s)return;this.peerID=+s,this.update()}else"peer-title"==e?this.peerTitle=s:"dialog"==e&&(this.isDialog=!!+s)}update(){n.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=a,customElements.define("avatar-element",a)},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchGroup=void 0;const n=i(s(15)),a=i(s(6)),o=i(s(33)),r=i(s(5)),d=i(s(8)),f=i(s(7)),l=s(0),c=s(4),u=i(s(9));t.SearchGroup=class{constructor(e,t,s=!0,i,a=!0){this.name=e,this.type=t,this.clearable=s,this.list=document.createElement("ul"),this.container=document.createElement("div"),i&&(this.container.className=i),e&&(this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.append(this.nameEl)),this.container.classList.add("search-group","search-group-"+t),this.container.append(this.list),this.container.style.display="none",a&&n.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,s,i){this.container=e,this.searchInput=t,this.searchGroups=s,this.onSearch=i,this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new a.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchGroups.messages&&this.scrollable.setVirtualContainer(this.searchGroups.messages.list),this.searchInput.onChange=e=>{this.query=e,this.reset(!1),this.searchMore()},this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.input.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;const e=this.query;if(!e.trim())return void(this.onSearch&&this.onSearch(0));if(-1!=this.foundCount&&this.loadedCount>=this.foundCount)return Promise.resolve();const t=o.default.getMessageIDInfo(this.minMsgID)[0]||0;return this.peerID||t||this.loadedContacts||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;this.loadedContacts=!0;let s=(t,s,i=!1)=>{t.forEach(t=>{let a=d.default.getPeerID(t),o=d.default.getPeer(a),h=f.default.getDialogByPeerID(a)[0];h||(h={peerID:a,pFlags:{},peer:o});let{dialog:p,dom:m}=n.default.addDialog(h,s.list,!1);if(i&&(o.participants_count||o.participants)){let t=new RegExp(`(${l.escapeRegExp(e)})`,"gi");m.titleSpan.innerHTML=m.titleSpan.innerHTML.replace(t,"$1"),m.lastMessageSpan.innerText=u.default.getChatMembersString(-a)}else{let e=d.default.getPeerUsername(a);if(e)e="@"+e;else{let t=r.default.getUser(a);t&&t.phone&&(e="+"+c.formatPhoneNumber(t.phone).formatted)}m.lastMessageSpan.innerHTML=""+e+""}}),t.length?s.setActive():s.clear()};s(t.my_results,this.searchGroups.contacts,!0),s(t.results,this.searchGroups.globalContacts)}),this.searchPromise=f.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(s=>{if(this.searchPromise=null,this.searchInput.value!=e)return;console.log("input search result:",this.peerID,e,null,t,20,s);const{count:i,history:a,next_rate:o}=s;a[0]==this.minMsgID&&a.shift();this.searchGroups.messages.setActive(),a.forEach(t=>{const s=f.default.getMessage(t);let i=f.default.getDialogByPeerID(s.peerID)[0];i||(i={peerID:s.peerID,pFlags:{},peer:s.to_id});const{dialog:a,dom:o}=n.default.addDialog(i,this.scrollable,!1);n.default.setLastMessage(a,s,o,e)}),this.minMsgID=a[a.length-1],this.offsetRate=o,this.loadedCount+=a.length,-1==this.loadedCount&&(this.loadedCount=0),-1==this.foundCount&&(this.foundCount=i,this.onSearch&&this.onSearch(this.foundCount))}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(16)),o=n(s(2)),r=n(s(11)),d=s(0);const f=new class{constructor(){this.documents={},this.stickerSets={},this.hashes={featured:{},search:{}},a.default.get("stickerSets").then(e=>{if(e){for(let t in e){let s=e[t];this.saveStickers(s.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})}),d.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateNewStickerSet":this.saveStickerSet(t.stickerset,t.stickerset.set.id),d.$rootScope.$broadcast("stickers_installed",t.stickerset.set)}})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=r.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,s)=>{e[s]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){var s;return i(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite&&(null===(s=this.stickerSets[e.id].documents)||void 0===s?void 0:s.length))return this.stickerSets[e.id];let i=o.default.invokeApi("messages.getStickerSet",{stickerset:this.getStickerSetInput(e)}),n=yield i;return this.saveStickerSet(n,e.id),n}))}getRecentStickers(){return i(this,void 0,void 0,(function*(){let e=yield o.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;if(t&&t.documents)return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){const s={set:e.set,packs:e.packs,documents:e.documents};this.stickerSets[t]?Object.assign(this.stickerSets[t],s):this.stickerSets[t]=s,this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{const e={};for(const t in this.stickerSets){const s=this.stickerSets[t];(s.set.installed_date||"emoji"==t)&&(e[t]=s)}a.default.set({stickerSets:e}),this.saveSetsTimeout=0},100))}getStickerSetThumbDownloadOptions(e){var t;const s=e.thumb,i=e.thumb_dc_id,n=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return{dcID:i,location:{_:"inputStickerSetThumb",stickerset:this.getStickerSetInput(e),volume_id:s.location.volume_id,local_id:s.location.local_id},size:s.size,mimeType:n?"application/x-tgsticker":"image/webp"}}getStickerSetInput(e){return"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}getFeaturedStickers(){var e,t;return i(this,void 0,void 0,(function*(){const s=yield o.default.invokeApi("messages.getFeaturedStickers",{hash:(null===(e=this.hashes.featured)||void 0===e?void 0:e.hash)||0}),i=null!==(t=this.hashes.featured)&&void 0!==t?t:this.hashes.featured={};return"messages.featuredStickersNotModified"!=s._&&(i.hash=s.hash,i.result=s.sets),i.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)}),i.result}))}toggleStickerSet(e){return i(this,void 0,void 0,(function*(){if(e.installed_date){if(yield o.default.invokeApi("messages.uninstallStickerSet",{stickerset:this.getStickerSetInput(e)}))return delete e.installed_date,d.$rootScope.$broadcast("stickers_deleted",e),!0}else{if(yield o.default.invokeApi("messages.installStickerSet",{stickerset:this.getStickerSetInput(e),archived:!1}))return e.installed_date=Date.now()/1e3|0,d.$rootScope.$broadcast("stickers_installed",e),!0}return!1}))}searchStickerSets(e,t=!0){var s,n;return i(this,void 0,void 0,(function*(){const i=t?1:0,a=yield o.default.invokeApi("messages.searchStickerSets",{flags:i,exclude_featured:t,q:e,hash:(null===(s=this.hashes.search[e])||void 0===s?void 0:s.hash)||0}),r=null!==(n=this.hashes.search[e])&&void 0!==n?n:this.hashes.search[e]={};"messages.foundStickerSetsNotModified"!=a._&&(r.hash=a.hash,r.result=a.sets),r.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)});const d=[];for(let t in this.stickerSets){const{set:s}=this.stickerSets[t];s.title.toLowerCase().includes(e.toLowerCase())&&!r.result.find(e=>e.set.id==s.id)&&d.push({_:"stickerSetCovered",set:s,cover:null})}return r.result.concat(d)}))}cleanup(){return i(this,void 0,void 0,(function*(){yield a.default.remove("stickerSets")}))}};t.default=f},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toast=void 0;const i=document.createElement("div");i.classList.add("toast"),t.toast=function(e){i.innerHTML=e,document.body.append(i),i.dataset.timeout&&clearTimeout(+i.dataset.timeout),i.dataset.timeout=""+setTimeout(()=>{i.remove(),delete i.dataset.timeout},3e3)}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupAvatar=void 0;const n=i(s(86)),a=i(s(28));class o{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var s=new FileReader;s.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=n.default(this.image,this.canvas),this.input.value=""}},s.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>a.default.upload(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=o,t.default=new o},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EmoticonsDropdown=t.EMOTICONSSTICKERGROUP=void 0;const a=n(s(23)),o=n(s(97)),r=s(1),d=s(0),f=s(26),l=n(s(18)),c=n(s(22)),u=n(s(12)),h=n(s(98)),p=n(s(99)),m=n(s(64));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";let g=(()=>{class e{constructor(){this.tabID=-1,this.events={onClose:[],onCloseAfter:[],onOpen:[],onOpenAfter:[]},this.toggle=s=>i(this,void 0,void 0,(function*(){const i=!!this.element.style.display&&void 0===s||s;if(this.init){if(!i)return;this.init(),this.init=null}r.touchSupport?(this.toggleEl.classList.toggle("flip-icon",i),i&&(u.default.chatInputC.saveScroll(),document.activeElement.blur(),yield new Promise(e=>{setTimeout(e,100)}))):this.toggleEl.classList.toggle("active",s),this.element.style.display&&void 0===s||s?(this.events.onOpen.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),this.element.style.display="",this.element.offsetLeft,this.element.classList.add("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onOpenAfter.forEach(e=>e())},r.touchSupport?0:200)):(this.events.onClose.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.element.classList.remove("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.element.style.display="none",l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onCloseAfter.forEach(e=>e())},r.touchSupport?0:200))})),this.element=document.getElementById("emoji-dropdown");let s=!0;this.toggleEl=document.getElementById("toggle-emoticons"),r.touchSupport?this.toggleEl.addEventListener("click",()=>{s?(s=!1,this.toggle(!0)):this.toggle()}):this.toggleEl.onmouseover=e=>{clearTimeout(this.displayTimeout),s&&(this.toggleEl.onmouseout=this.element.onmouseout=e=>{if(!this.element.classList.contains("active"))return;const t=e.toElement;t&&d.findUpClassName(t,"emoji-dropdown")||(clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.toggle(!1)},200))},this.element.onmouseover=e=>{clearTimeout(this.displayTimeout)},s=!1),this.toggle(!0)}}init(){this.emojiTab=new h.default,this.stickersTab=new p.default,this.gifsTab=new o.default,this.tabs={0:this.emojiTab,1:this.stickersTab,2:this.gifsTab},this.container=this.element.querySelector(".emoji-container .tabs-container"),this.tabsEl=this.element.querySelector(".emoji-tabs"),f.horizontalMenu(this.tabsEl,this.container,e=>{l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.tabID=e,this.searchButton.classList.toggle("hide",0==this.tabID),this.deleteBtn.classList.toggle("hide",0!=this.tabID)},()=>{const e=this.tabs[this.tabID];e.init&&e.init(),e.onCloseAfterTimeout&&e.onCloseAfterTimeout(),l.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),this.searchButton=this.element.querySelector(".emoji-tabs-search"),this.searchButton.addEventListener("click",()=>{1==this.tabID?c.default.stickersTab.init():c.default.gifsTab.init()}),this.deleteBtn=this.element.querySelector(".emoji-tabs-delete"),this.deleteBtn.addEventListener("click",()=>{var e;const t=u.default.chatInputC.messageInput;(null===(e=t.lastChild)||void 0===e?void 0:e.tagName)?t.lastElementChild.remove():t.lastChild&&(t.lastChild.textContent.length?t.lastChild.textContent=t.lastChild.textContent.slice(0,-1):t.lastChild.remove());const s=new Event("input",{bubbles:!0,cancelable:!0});u.default.chatInputC.messageInput.dispatchEvent(s)}),this.tabsEl.firstElementChild.children[1].click(),this.tabs[0].init()}}return e.lazyLoadQueue=new a.default,e.menuOnClick=(e,t,s)=>{let i=0,n=-1;const a=t=>t!=i&&(e.children[i].classList.remove("active"),e.children[t].classList.add("active"),i=t,!0),o=new m.default(t.container,(i,o)=>{if(Math.abs(n-t.container.scrollTop)<=1)return;n=-1;const r=d.whichChild(o);!i&&r||(a(r),s&&(r{let s=e.target;if(s=d.findUpTag(s,"LI"),!s)return;const i=d.whichChild(s);if(!a(i))return;const o=(t.splitUp||t.container).children[i].offsetTop+1;t.container.scrollTop=n=o}),o},e.onMediaClick=e=>{let t=e.target;if(t=d.findUpTag(t,"DIV"),!t)return;const s=t.dataset.docID;s&&(u.default.chatInputC.sendMessageWithDocument(s)?b.toggle(!1):console.warn("got no doc by id:",s))},e})();t.EmoticonsDropdown=g;const b=new g;t.default=b},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,t.isSafari=!!("safari"in i)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(4),a=i(s(6)),o=s(3),r=i(s(1)),d=s(0),f=i(s(77)),l=i(s(104)),c=i(s(2)),u=i(s(25)),h=s(30);let p=null;const m=new u.default("page-sign",!0,()=>{h.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t=null;var s=m.pageEl.querySelector('input[name="countryCode"]'),i=s.parentElement,u=document.createElement("div");u.classList.add("select-wrapper","z-depth-3","hide");var g=document.createElement("ul");u.appendChild(g);new a.default(u);let b=!1;m.pageEl.querySelector(".a-qr").addEventListener("click",()=>{l.default.mount()});let v,y=()=>{y=null,e.forEach(e=>{b=!0;let t=e.emoji,s=[];e.phoneCode.split(" and ").forEach(i=>{let n=document.createElement("li");var a=document.createElement("span");let r=o.RichTextProcessor.wrapRichText(t);n.appendChild(a),a.outerHTML=r,n.append(e.name);var d=document.createElement("span");d.classList.add("phone-code"),d.innerText="+"+i,n.appendChild(d),s.push(n),g.append(n)}),e.li=s}),g.addEventListener("mousedown",(function(i){let n=i.target;"LI"!=n.tagName&&(n=d.findUpTag(n,"LI"));let a=n.childNodes[1].textContent,o=n.querySelector(".phone-code").innerText;s.value=a,t=e.find(e=>e.name==a),w.value=o,setTimeout(()=>w.focus(),0)})),i.appendChild(u)};y(),s.addEventListener("focus",(function(t){y?y():e.forEach(e=>{e.li.forEach(e=>e.style.display="")}),clearTimeout(v),u.classList.remove("hide"),u.offsetWidth,u.classList.add("active")})),s.addEventListener("blur",(function(e){u.classList.remove("active"),v=setTimeout(()=>{u.classList.add("hide")},200),e.cancelBubble=!0}),{capture:!0}),s.addEventListener("keyup",(function(t){if(t.ctrlKey||"Control"==t.key)return!1;let s=this.value.toLowerCase(),i=[];e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&i.push(e)}),0==i.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),m.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),s.matches(":focus")?s.blur():s.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let w=m.pageEl.querySelector('input[name="phone"]');const _=w.nextElementSibling;w.addEventListener("input",(function(e){this.classList.remove("error"),_.innerText="Phone Number";let{formatted:i,country:a}=n.formatPhoneNumber(this.value);this.value=i?"+"+i:"";let o=a?a.name:"";o==s.value||t&&a&&t.phoneCode==a.phoneCode||(s.value=o,t=a),a||this.value.length-1>1?p.style.visibility="":p.style.visibility="hidden"})),w.addEventListener("keypress",(function(e){return p.style.visibility||"Enter"!=e.key?/\D/.test(e.key)?(e.preventDefault(),!1):void 0:p.click()})),p.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",n.putPreloader(this);let t=w.value;c.default.invokeApi("auth.sendCode",{phone_number:t,api_id:h.App.id,api_hash:h.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{f.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":_.innerText="Phone Number Invalid",w.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));c.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&c.default.getNetworker(e.nearest_dc),e)).then(i=>{let n=e.find(e=>e.code==i.country);n&&(s.value.length||w.value.length||(s.value=n.name,t=n,w.value="+"+n.phoneCode.split(" and ").shift()))})},()=>{p||(p=m.pageEl.querySelector("button")),p.textContent="NEXT",p.removeAttribute("disabled")});t.default=m},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaProgressLine=t.ProgressLine=void 0;const n=s(0),a=s(1),o=i(s(37)),r=s(47);class d{constructor(e=0){this.duration=1,this.mousedown=!1,this.events={},this.onMouseMove=e=>{this.mousedown&&this.scrub(e)},this.onMouseDown=e=>{var t;this.scrub(e),this.mousedown=!0,(null===(t=this.events)||void 0===t?void 0:t.onMouseDown)&&this.events.onMouseDown(e)},this.onMouseUp=e=>{var t;this.mousedown=!1,(null===(t=this.events)||void 0===t?void 0:t.onMouseUp)&&this.events.onMouseUp(e)},this.container=document.createElement("div"),this.container.classList.add("progress-line"),this.filled=document.createElement("div"),this.filled.classList.add("progress-line__filled");const t=this.seek=document.createElement("input");t.classList.add("progress-line__seek"),t.value=""+e,t.setAttribute("min","0"),t.type="range",t.step="0.1",t.max=""+1e3*this.duration,e>0&&this.setProgress(e),this.container.append(this.filled,t)}setHandlers(e){this.events=e}setListeners(){this.container.addEventListener("mousemove",this.onMouseMove),this.container.addEventListener("mousedown",this.onMouseDown),this.container.addEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.addEventListener("touchmove",this.onMouseMove),this.container.addEventListener("touchstart",this.onMouseDown),this.container.addEventListener("touchend",this.onMouseUp))}setProgress(e){this.setFilled(e),this.seek.value=""+1e3*e}setFilled(e){let t=e/this.duration;t=Math.max(0,Math.min(1,t)),this.filled.style.transform="scaleX("+t+")"}scrub(e){var t;let s;if(e instanceof MouseEvent)s=e.offsetX;else{const t=e.target.getBoundingClientRect();s=e.targetTouches[0].pageX-t.left}const i=s/this.container.offsetWidth*this.duration;return this.setFilled(i),(null===(t=this.events)||void 0===t?void 0:t.onScrub)&&this.events.onScrub(i),i}removeListeners(){this.container.removeEventListener("mousemove",this.onMouseMove),this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.removeEventListener("touchmove",this.onMouseMove),this.container.removeEventListener("touchstart",this.onMouseDown),this.container.removeEventListener("touchend",this.onMouseUp)),this.events={}}}t.ProgressLine=d;class f extends d{constructor(e,t=!1){super(),this.media=e,this.streamable=t,this.stopAndScrubTimeout=0,this.progressRAF=0,this.onLoadedData=()=>{this.duration=this.media.duration,this.seek.setAttribute("max",""+1e3*this.duration)},this.onEnded=()=>{this.setProgress()},this.onPlay=()=>{let e=()=>{this.setProgress(),this.progressRAF=this.media.paused?0:window.requestAnimationFrame(e)};this.progressRAF&&window.cancelAnimationFrame(this.progressRAF),this.streamable&&this.setLoadProgress(),this.progressRAF=window.requestAnimationFrame(e)},this.onProgress=e=>{this.setLoadProgress()},t&&(this.filledLoad=document.createElement("div"),this.filledLoad.classList.add("progress-line__filled","progress-line__loaded"),this.container.prepend(this.filledLoad)),(!e.paused||e.currentTime>0)&&this.onPlay(),this.setSeekMax(),this.setListeners(),this.setHandlers({onMouseDown:e=>{this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=setTimeout(()=>{!this.media.paused&&this.media.pause(),this.stopAndScrubTimeout=0},150)},onMouseUp:e=>{this.stopAndScrubTimeout&&(clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=0),this.media.paused&&this.media.play()}})}scrub(e){const t=super.scrub(e);return this.media.currentTime=t,t}setLoadProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.buffered,t=e.length,s=this.media.currentTime;let i=0,n=0;for(let a=0;a=t&&t>=i&&(i=t,n=e.end(a))}const a=this.media.duration?n/this.media.duration:0;this.filledLoad.style.transform="scaleX("+a+")"}setSeekMax(){this.duration=this.media.duration,this.duration>0?this.onLoadedData():this.media.addEventListener("loadeddata",this.onLoadedData)}setProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.currentTime;super.setProgress(e)}setListeners(){super.setListeners(),this.media.addEventListener("ended",this.onEnded),this.media.addEventListener("play",this.onPlay),this.streamable&&this.media.addEventListener("progress",this.onProgress)}removeListeners(){super.removeListeners(),this.media.removeEventListener("loadeddata",this.onLoadedData),this.media.removeEventListener("ended",this.onEnded),this.media.removeEventListener("play",this.onPlay),this.streamable&&this.media.removeEventListener("progress",this.onProgress),this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.progressRAF&&window.cancelAnimationFrame(this.progressRAF)}}t.MediaProgressLine=f;let l=1,c=!l;class u{constructor(e,t=!1,s=!1){var i;if(this.video=e,this.onFullScreen=()=>{null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")},this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new f(e,s),t.prepend(this.progress.container)}if(t){e.play().catch(t=>{"NotAllowedError"==t.name&&(e.muted=!0,e.autoplay=!0,e.play())}).finally(()=>{this.wrapper.classList.toggle("is-playing",!this.video.paused)})}}stylePlayer(){const{wrapper:e,video:t,skin:s}=this;e.classList.add(s);const i=this.buildControls();e.insertAdjacentHTML("beforeend",i);let o=0,r=0,f=0;if("default"===s){const s=e.querySelectorAll(".toggle"),i=e.querySelector(".fullscreen");var u=e.querySelector("#time-elapsed");(m=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS();const r=document.createElement("div");r.classList.add("player-volume"),r.innerHTML='\n \n ';const f=r.firstElementChild;f.addEventListener("click",e=>{n.cancelEvent(e),t.muted=!t.muted});const h=new d;h.setListeners(),h.setHandlers({onScrub:e=>{const s=Math.max(Math.min(e,1),0);t.muted=!1,t.volume=s}}),r.append(h.container);const p=()=>{const e=t.volume;let s;s=!e||t.muted?"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z":e>.5?"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z":e>0&&e<.25?"M7 9v6h4l5 5V4l-5 5H7z":"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z";try{f.innerHTML=``}catch(e){}h.mousedown||h.setProgress(t.muted?0:e)};t.addEventListener("volumechange",()=>{c=t.muted,l=t.volume,p()}),t.volume=l,t.muted=c,p();if(e.querySelector(".left-controls").insertBefore(r,u.parentElement),Array.from(s).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{a.touchSupport||this.togglePlay()}),a.touchSupport){let t=0;const s=()=>{t=setTimeout(()=>{t=0,e.classList.remove("show-controls")},3e3)};e.addEventListener("click",()=>{t?clearTimeout(t):e.classList.add("show-controls"),s()}),e.addEventListener("touchstart",()=>{e.classList.add("show-controls"),clearTimeout(t)}),e.addEventListener("touchend",()=>{e.classList.contains("is-playing")&&s()})}t.addEventListener("pause",()=>{clearInterval(o)}),t.addEventListener("dblclick",()=>{if(!a.touchSupport)return this.toggleFullScreen(i)}),i.addEventListener("click",e=>this.toggleFullScreen(i)),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,this.onFullScreen,!1)})}else if("circle"===s){const s=document.createElement("div");s.classList.add("circle-time-left"),t.parentNode.insertBefore(s,t),s.innerHTML='
';var h=e.querySelector(".progress-ring__circle");const i=h.r.baseVal.value;var p=2*Math.PI*i,m=e.querySelector(".circle-time");const n=e.querySelector(".iconVolume");h.style.strokeDasharray=p+" "+p,h.style.strokeDashoffset=""+p,h.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{n.style.display="none",o=setInterval(()=>{t.currentTime!=f&&(r=t.currentTime,f=t.currentTime);const e=p-r/t.duration*p;h.style.strokeDashoffset=""+e,t.paused&&clearInterval(o)},20)}),t.addEventListener("pause",()=>{n.style.display=""})}t.addEventListener("play",()=>{this.wrapper.classList.add("is-playing")}),t.addEventListener("pause",()=>{this.wrapper.classList.remove("is-playing")}),t.duration>0?m.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{m.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==s&&(u.innerHTML=String(0|t.currentTime).toHHMMSS()),o=this.handleProgress(m,p,h,o)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):void this.video[this.video.paused?"play":"pause"]()}handleProgress(e,t,s,i){const{video:n,skin:a}=this;clearInterval(i);let o=0,r=0;if("circle"===a){i=setInterval(()=>{n.currentTime!=r&&(o=n.currentTime,r=n.currentTime);const e=t-o/n.duration*t;s.style.strokeDashoffset=""+e,n.paused&&clearInterval(i)},20);const a=String(n.duration-n.currentTime|0).toHHMMSS();return"0"!=a&&(e.innerHTML=a),i}}buildControls(){const e=this.skin;return"default"===e?`\n \n
\n
\n
\n
\n \n
\n \n / \n \n
\n
\n
\n \n
\n
\n
`:"circle"===e?'\n \n \n \n ':void 0}static isFullScreen(){return!!(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)}toggleFullScreen(e){const t=this.wrapper;if(r.isAppleMobile){const e=this.video;return e.webkitEnterFullscreen(),void e.enterFullscreen()}u.isFullScreen()?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}}t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(22)),a=i(s(7)),o=s(4),r=s(51);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,o.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let s=e.splice(0,3).map(e=>a.default.forwardMessages(e,this.msgIDs));Promise.all(s).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){(this.sidebarWasActive?Promise.resolve():n.default.toggleSidebar(!1)).then(()=>{this.cleanup(),this.container.classList.remove("active")})}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},["dialogs","contacts"],()=>{this.sidebarWasActive=n.default.sidebarEl.classList.contains("active"),n.default.toggleSidebar(!0)})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppSelectPeers=void 0;const a=n(s(6)),o=n(s(7)),r=s(0),d=n(s(15)),f=n(s(9)),l=n(s(5)),c=n(s(8)),u=n(s(13));t.AppSelectPeers=class{constructor(e,t,s=["dialogs"],i,n){this.appendTo=e,this.onChange=t,this.peerType=s,this.renderResultsFunc=n,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected=new Set,this.freezed=!1,this.folderID=0,this.offsetIndex=0,this.query="",this.loadedWhat={},this.container.classList.add("selector"),this.renderResultsFunc||(this.renderResultsFunc=this.renderResults);let o=document.createElement("div");o.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder=s.includes("dialogs")?"Select chat":"Add People...",this.input.type="text",this.selectedContainer.append(this.input),o.append(this.selectedContainer),this.selectedScrollable=new a.default(o);let d=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new a.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.chatsContainer.addEventListener("click",e=>{const t=r.findUpAttribute(e.target,"data-peerID");if(r.cancelEvent(e),!t)return;if(this.freezed)return;let s=t.getAttribute("data-peerID");s=+s||s,t.classList.toggle("active"),this.selected.has(s)?this.remove(s):this.add(s);const i=t.querySelector("input");i.checked=!i.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;const s=t.dataset.key,i=this.chatsContainer.querySelector('[data-peerid="'+s+'"]');i?i.click():this.remove(+s||s)}),this.input.addEventListener("input",()=>{const e=this.input.value;this.query!=e&&(this.peerType.includes("contacts")&&(delete this.loadedWhat.contacts,this.cachedContacts=null),delete this.loadedWhat.dialogs,delete this.loadedWhat.archived,this.folderID=0,this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(o,d,this.chatsContainer),e.append(this.container),setTimeout(()=>{let e=this.getMoreResults();i&&e.then(()=>{i()})},0)}getMoreDialogs(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.loadedWhat.dialogs&&this.loadedWhat.archived)return;const e=u.default.windowH/72*1.25|0;this.promise=o.default.getConversations(this.query,this.offsetIndex,e,this.folderID);const t=yield this.promise;this.promise=null;let s=t.dialogs;if(s.length){const e=s[s.length-1].index||0;s=s.slice(),s.findAndSplice(e=>e.peerID==r.$rootScope.myID),this.offsetIndex||0!=this.folderID||this.query&&!"saved messages".includes(this.query.toLowerCase())||!this.peerType.includes("dialogs")||s.unshift({peerID:r.$rootScope.myID,pFlags:{}}),this.offsetIndex=e,this.renderResultsFunc(s.map(e=>e.peerID))}else{if(!this.loadedWhat.dialogs)return this.loadedWhat.dialogs=!0,this.offsetIndex=0,this.folderID=1,this.getMoreDialogs();if(this.loadedWhat.archived=!0,!this.loadedWhat.contacts&&this.peerType.includes("contacts"))return this.getMoreContacts()}}))}getMoreContacts(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(!this.loadedWhat.contacts){if(this.cachedContacts||(this.promise=l.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==r.$rootScope.myID),this.promise=null),this.cachedContacts.length){const e=u.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResultsFunc(t)}return this.cachedContacts.length||(this.loadedWhat.contacts=!0,this.peerType.includes("dialogs"))?void 0:this.getMoreDialogs()}}))}getMoreResults(){const e=[];return e.push(o.default.getConversationsAll()),!this.peerType.includes("dialogs")&&!this.loadedWhat.contacts||this.loadedWhat.archived||(e.push(this.getMoreDialogs()),this.loadedWhat.archived)?(this.peerType.includes("contacts")&&!this.loadedWhat.contacts&&e.push(this.getMoreContacts()),Promise.all(e)):Promise.all(e)}renderResults(e){!this.peerType.includes("dialogs")&&this.loadedWhat.contacts&&(e=e.filter(e=>l.default.isNonContactUser(e))),e.forEach(e=>{const{dom:t}=d.default.addDialog(e,this.scrollable,!1,!1),s=this.selected.has(e);t.containerEl.insertAdjacentHTML("afterbegin",`
`),s&&t.listEl.classList.add("active");let i="";e<0?i=f.default.getChatMembersString(-e):e==r.$rootScope.myID?i="chat with yourself":(i=l.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e,t){const s=document.createElement("div");s.classList.add("selector-user","scale-in");const i=document.createElement("avatar-element");return i.classList.add("selector-user-avatar","tgico"),i.setAttribute("dialog","1"),s.dataset.key=""+e,this.selected.add(e),"number"==typeof e&&(void 0===t&&(t=e==r.$rootScope.myID?"Saved":c.default.getPeerTitle(e,!1,!0)),i.setAttribute("peer",""+e)),t&&(s.innerHTML=t),s.insertAdjacentElement("afterbegin",i),this.selectedContainer.insertBefore(s,this.input),this.selectedScrollable.scrollTo(this.selectedScrollable.scrollHeight,!0,!0),this.onChange&&this.onChange(this.selected.size),s}remove(e){const t=this.selectedContainer.querySelector(`[data-key="${e}"]`);t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{this.selected.delete(e),t.remove(),this.onChange&&this.onChange(this.selected.size)},{once:!0})}getSelected(){return[...this.selected]}}},,function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WebpWorkerController=void 0;const n=i(s(72)),a=s(24),o=i(s(2));class r{constructor(){this.convertPromises={}}init(){this.worker=new n.default,this.worker.addEventListener("message",e=>{const t=e.data.payload;if(0===t.fileName.indexOf("main-")){const e=this.convertPromises[t.fileName];e&&(t.bytes?e.resolve(t.bytes):e.reject(),delete this.convertPromises[t.fileName])}else o.default.postMessage(e.data)})}postMessage(e){this.init&&(this.init(),this.init=null),this.worker.postMessage(e)}convert(e,t){if(e="main-"+e,this.convertPromises.hasOwnProperty(e))return this.convertPromises[e];const s=a.deferredPromise();return this.postMessage({type:"convertWebp",payload:{fileName:e,bytes:t}}),this.convertPromises[e]=s}}t.WebpWorkerController=r;const d=new r;t.default=d},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.OpusDecodeController=void 0;const n=s(1),a=s(10);class o{constructor(){this.sampleRate=48e3,this.tasks=[],this.keepAlive=!1,this.log=a.logger("OPUS",a.LogLevels.error)}isPlaySupported(){if(void 0!==this.isPlaySupportedResult)return this.isPlaySupportedResult;const e=document.createElement("audio");return this.isPlaySupportedResult=!(!e.canPlayType||!e.canPlayType("audio/ogg;").replace(/no/,""))}loadWavWorker(){this.wavWorker||(this.wavWorker=new Worker("waveWorker.min.js"),this.wavWorker.addEventListener("message",e=>{const t=e.data;if(this.log("[WAV] got message:",t),t&&t.page){const e=t.page;this.onTaskEnd(this.tasks.shift(),e)}}))}loadWorker(){this.worker||(this.worker=new Worker("decoderWorker.min.js"),this.worker.addEventListener("message",e=>{const t=e.data;this.log("[DECODER] got message",t),"done"==t.type?(this.wavWorker.postMessage({command:"done"}),t.waveform&&(this.tasks[0].waveform=t.waveform)):this.wavWorker.postMessage({command:"encode",buffers:e.data},n.isSafari?void 0:t.map(e=>e.buffer))}))}setKeepAlive(e){this.keepAlive=e,this.keepAlive?(this.loadWorker(),this.loadWavWorker()):this.tasks.length||this.terminateWorkers()}onTaskEnd(e,t){t?(clearTimeout(e.timeout),e.callback.resolve({bytes:t,waveform:e.waveform})):e.callback.reject("timeout"),this.tasks.length&&this.executeNewTask(this.tasks[0]),this.terminateWorkers()}terminateWorkers(e=!1){(!this.keepAlive&&!this.tasks.length||e)&&(this.worker&&(this.worker.terminate(),this.worker=null),this.wavWorker&&(this.wavWorker.terminate(),this.wavWorker=null))}executeNewTask(e){this.worker.postMessage({command:"init",decoderSampleRate:this.sampleRate,outputBufferSampleRate:this.sampleRate}),this.wavWorker.postMessage({command:"init",wavBitDepth:16,wavSampleRate:this.sampleRate}),this.log("[DECODER] send decode"),this.worker.postMessage({command:"decode",pages:e.pages,waveform:e.withWaveform},n.isSafari?void 0:[e.pages.buffer]),e.timeout=setTimeout(()=>{this.log.error("decode timeout"),this.terminateWorkers(!0),this.tasks.length&&(this.loadWorker(),this.loadWavWorker()),this.onTaskEnd(this.tasks.shift())},1e4)}pushDecodeTask(e,t){return new Promise((s,i)=>{const n={pages:e,withWaveform:t,callback:{resolve:s,reject:i},timeout:0};this.loadWorker(),this.loadWavWorker(),1==this.tasks.push(n)&&this.executeNewTask(n)})}decode(e,t=!1){return i(this,void 0,void 0,(function*(){return this.pushDecodeTask(e,t).then(e=>{const t=new Blob([e.bytes],{type:"audio/wav"});return{url:URL.createObjectURL(t),waveform:e.waveform}})}))}}t.OpusDecodeController=o;const r=new o;t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(13)),o=i(s(11)),r=s(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},n.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,s){e.photo&&"photo"===e.photo._?e.photo=a.default.savePhoto(e.photo,s):delete e.photo,e.document&&"document"===e.document._?e.document=o.default.saveDoc(e.document,s):("document"==e.type&&delete e.type,delete e.document);var i=e.site_name,d=e.title||e.author||i||"";i&&d==i&&delete e.site_name,d.length>100&&(d=d.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(d,{noLinks:!0,noLinebreaks:!0});var f="";if("GitHub"==i){var l=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);l&&(f=l[0]+"/issues/{1}")}var c=e.description||"";if(c.length>180&&(c=c.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(c,{contextSite:i||"external",contextHashtag:f}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:n.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var u=[];for(let t in this.pendingWebPages[e.id])u.push(t);n.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:u})}}getWebPage(e){return this.webpages[e]}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMediaViewer=void 0;const a=n(s(8)),o=n(s(13)),r=n(s(7)),d=s(3),f=s(10),l=n(s(35)),c=s(0),u=n(s(11)),h=n(s(49)),p=s(4),m=n(s(23)),g=n(s(50)),b=s(1),v=s(24),y=n(s(37));class w{constructor(e,t){this.onSwipe=t,this.handleTouchStart=e=>{if("INPUT"==e.target.tagName)return void(this.xDown=this.yDown=null);const t=e.touches[0];this.xDown=t.clientX,this.yDown=t.clientY},this.handleTouchMove=e=>{if(null==this.xDown||null==this.yDown)return;const t=e.touches[0].clientX,s=e.touches[0].clientY,i=this.xDown-t,n=this.yDown-s;this.onSwipe(i,n)&&(this.xDown=null,this.yDown=null)},e.addEventListener("touchstart",this.handleTouchStart,!1),e.addEventListener("touchmove",this.handleTouchMove,!1)}}class _{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.preloaderStreamable=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.onClickDownload=e=>{const t=r.default.getMessage(this.currentMessageID);if(t.media.photo)o.default.savePhotoFile(t.media.photo);else{let e=null;e=t.media.webpage?t.media.webpage.document:t.media.document,e&&u.default.saveDocFile(e)}},this.onClick=e=>{if(this.setMoverAnimationPromise)return;const t=e.target;if("A"==t.tagName)return;if(c.cancelEvent(e),b.touchSupport)return this.highlightSwitchersTimeout?clearTimeout(this.highlightSwitchersTimeout):this.wholeDiv.classList.add("highlight-switchers"),void(this.highlightSwitchersTimeout=setTimeout(()=>{this.wholeDiv.classList.remove("highlight-switchers"),this.highlightSwitchersTimeout=0},3e3));let s=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(s=c.findUpClassName(t,e),s)return!0}catch(e){return!1}}),s&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.onKeyDown=e=>{"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()},this.log=f.logger("AMV"),this.preloader=new l.default,this.preloaderStreamable=new l.default(void 0,!1,!0),this.lazyLoadQueue=new m.default(void 0,!0),p.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']"));const e=e=>{c.cancelEvent(e),this.content.container.innerHTML="",this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,this.setMoverPromise=null,g.default.container.classList.contains("active")&&setTimeout(()=>{g.default.close()},200),window.removeEventListener("keydown",this.onKeyDown)};[this.buttons.close,this.buttons["mobile-close"],this.preloaderStreamable.preloader].forEach(t=>{t.addEventListener("click",e)}),this.buttons.prev.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),[this.buttons.download,this.buttons["menu-download"]].forEach(e=>{e.addEventListener("click",this.onClickDownload)});const t=e=>{g.default.init([this.currentMessageID])};if([this.buttons.forward,this.buttons["menu-forward"]].forEach(e=>{e.addEventListener("click",t)}),this.wholeDiv.addEventListener("click",this.onClick),this.setNewMover(),b.touchSupport){new w(this.wholeDiv,(e,t)=>{if(h.default.isFullScreen())return;if(Math.abs(e)/o.default.windowW>.2||e>125)return e<0?this.buttons.prev.click():this.buttons.next.click(),!0;return(Math.abs(t)/o.default.windowH>.2||t>125)&&(this.buttons.close.click(),!0)})}}setMoverToTarget(e,t=!1,s=0){return i(this,void 0,void 0,(function*(){const i=this.content.mover;e||(e=this.content.container),t||(i.innerHTML=""),this.removeCenterFromMover(i);const n=0!==s,a=n?350:200;let r,d;this.log("setMoverToTarget",e,t,n,s),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(r=c.findUpClassName(e,"attachment"),d=r.getBoundingClientRect()):(r=e.parentElement,d=e.getBoundingClientRect()));const f=this.content.container.getBoundingClientRect();let l,u,h,p="";if(n?(l=1===s?o.default.windowW:-f.width,u=f.top):(l=d.left,u=d.top),p+=`translate(${l}px,${u}px) `,e instanceof HTMLImageElement||e instanceof HTMLVideoElement||"DIV"==e.tagName){if(i.firstElementChild&&i.firstElementChild.classList.contains("media-viewer-aspecter")){h=i.firstElementChild;const e=h.querySelector(".ckin__player");if(e){const t=e.firstElementChild;h.append(t),e.remove()}h.style.cssText||(i.classList.remove("active"),this.setFullAspect(h,f,d),i.offsetLeft,i.classList.add("active"))}else h=document.createElement("div"),h.classList.add("media-viewer-aspecter"),i.prepend(h);h.style.cssText=`width: ${d.width}px; height: ${d.height}px; transform: scale(${f.width/d.width}, ${f.height/d.height});`}i.style.width=f.width+"px",i.style.height=f.height+"px";const m=d.width/f.width,g=d.height/f.height;n||(p+=`scale(${m},${g}) `);let b=window.getComputedStyle(r).getPropertyValue("border-radius");const y=c.fillPropertyValue(b);let w;b=y.map(e=>parseInt(e)/m+"px").join(" "),n||(i.style.borderRadius=b),i.style.transform=p;const _=e.classList.contains("is-out"),S=this.setMoverAnimationPromise=v.deferredPromise(),L={onAnimationEnd:S};if(this.setMoverAnimationPromise.then(()=>{this.setMoverAnimationPromise=null}),t)return e instanceof SVGSVGElement&&(w=i.querySelector("path"),w&&this.sizeTailPath(w,f,m,a,!1,_,b)),e.classList.contains("media-viewer-media")&&i.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{i.style.borderRadius=b,i.firstElementChild&&(i.firstElementChild.style.borderRadius=b)},a/2),setTimeout(()=>{i.innerHTML="",i.classList.remove("moving","active","hiding"),i.style.cssText="display: none;",S.resolve()},a),L;{let t,s;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,s=e.firstElementChild.src,i.append(t));else if(e instanceof HTMLImageElement)t=new Image,s=e.src;else if(e instanceof HTMLVideoElement){(t=document.createElement("video")).src=null==e?void 0:e.src}else if(e instanceof SVGSVGElement){const t=e.dataset.clipID,s=t+"-mv",{width:n,height:a}=f,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",""+n),o.setAttributeNS(null,"height",""+a),o.setAttributeNS(null,"viewBox",`0 0 ${n} ${a}`),o.setAttributeNS(null,"preserveAspectRatio","xMidYMid meet"),o.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,s)),o.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,s));const r=o.firstElementChild,d=r.firstElementChild.firstElementChild;if(d instanceof SVGUseElement){let e,t=d.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,s,i,o)=>`translate(${t=2!=(t=+t)?n-2/m:2/m}, ${a}) scale(${+i/m}, ${+o/g})`),d.setAttributeNS(null,"transform",t),w=r.firstElementChild.lastElementChild;const s=b.split(" ").map(e=>parseInt(e));e=_?c.generatePathData(0,0,n-9/m,a,...s):c.generatePathData(9/m,0,n-9/m,a,...s),w.setAttributeNS(null,"d",e)}const l=o.lastElementChild;l.setAttributeNS(null,"width",""+f.width),l.setAttributeNS(null,"height",""+f.height),i.prepend(o)}h&&(h.style.borderRadius=b,t&&h.append(t)),t=i.querySelector("video, img"),t instanceof HTMLImageElement&&(t.classList.add("thumbnail"),h||(t.style.width=f.width+"px",t.style.height=f.height+"px"),s&&(yield new Promise((e,i)=>{t.addEventListener("load",e),s&&(t.src=s)}))),i.style.display="",window.requestAnimationFrame(()=>{i.classList.add(n?"moving":"active")})}return yield new Promise(e=>window.requestAnimationFrame(e)),i.style.transform=`translate(${f.left}px,${f.top}px) scale(1,1)`,h&&this.setFullAspect(h,f,d),setTimeout(()=>{i.style.borderRadius="",i.firstElementChild&&(i.firstElementChild.style.borderRadius="")},a/2),i.dataset.timeout=""+setTimeout(()=>{i.classList.remove("moving"),h&&(i.querySelector("video"),i.classList.remove("active"),h.style.cssText="",i.offsetLeft),i.classList.add("center","no-transition"),i.classList.add("active"),delete i.dataset.timeout,S.resolve()},a),w&&this.sizeTailPath(w,f,m,a,!0,_,b),L}))}setFullAspect(e,t,s){const i=t.width/t.height;let{width:n,height:a}=s;i>0?n=a*i:a=n*i,e.style.cssText=`width: ${n}px; height: ${a}px; transform: scale(${t.width/n}, ${t.height/a});`}sizeTailPath(e,t,s,i,n,a,o){const r=Date.now(),{width:d,height:f}=t;i/=2;const l=o.split(" ").map(e=>parseInt(e)),u=()=>{const t=Date.now()-r;let o=t/i;o>1&&(o=1),n&&(o=1-o);const h=l.map(e=>e*o);let p;p=a?c.generatePathData(0,0,d-9/s*o,f,...h):c.generatePathData(9/s*o,0,d,f,...h),e.setAttributeNS(null,"d",p),t{const a=t?-i.width:s;return e.replace(n,a+"px")});e.style.transform=n,setTimeout(()=>{e.remove()},350)}setNewMover(){const e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return this.content.mover=e}loadMoreMedia(e=!0){if(e&&this.loadedAllMediaDown)return;if(!e&&this.loadedAllMediaUp)return;if(e&&this.loadMediaPromiseDown)return this.loadMediaPromiseDown;if(!e&&this.loadMediaPromiseUp)return this.loadMediaPromiseUp;const t=e?0:50;let s,i=this.currentMessageID;s=e?this.reverse?this.prevTargets[0]:this.nextTargets[this.nextTargets.length-1]:this.reverse?this.nextTargets[this.nextTargets.length-1]:this.prevTargets[0],s&&(i=s.mid),e||(i+=1);const n=this.peerID,a=r.default.getSearch(n,"",{_:"inputMessagesFilterPhotoVideo"},i,50,0,t).then(t=>{if(this.peerID!=n)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",i,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0);(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{const s=r.default.getMessage(t).media;if(!s||!(s.photo||s.document||s.webpage&&s.webpage.document))return;if("document"==s._&&"video"!=s.type)return;const i={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(i):this.nextTargets.push(i):this.reverse?this.nextTargets.push(i):this.prevTargets.unshift(i)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=a:this.loadMediaPromiseUp=a,a}updateMediaSource(e,t,s){const i=e.querySelector(s);p.renderImageFromUrl(i,t)}openMedia(e,t,s=!1,n,r=[],f=[],l=!0){return i(this,void 0,void 0,(function*(){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const n=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,m="video"==n.type||"gif"==n.type,v=!this.peerID;v&&(this.peerID=c.$rootScope.selectedPeerID,this.prevTargets=r,this.nextTargets=f,this.reverse=s,this.needLoadMore=l,g.default.container.classList.contains("active")&&(g.default.close(),yield new Promise(e=>setTimeout(e,200))));let w=0;v||(w=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const _=this.content.container;!t&&(t=_),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),_.firstElementChild&&(_.innerHTML="");const S=new Date(1e3*n.date),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][S.getMonth()]+" "+S.getDate()+" at "+S.getHours()+":"+("0"+S.getMinutes()).slice(-2);this.author.date.innerText=L;const M=a.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=M,e.message?this.content.caption.innerHTML=d.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let D=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),D.parentElement.replaceChild(this.author.avatarEl,D);0!==w?(this.moveTheMover(this.content.mover,1===w),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDown),this.wholeDiv.classList.add("active"));const E=this.content.mover,I=b.mediaSizes.isMobile?this.pageEl.scrollWidth:this.pageEl.scrollWidth-16,C=o.default.windowH-100,P=o.default.setAttachmentSize(n,_,I,C),k=n.supportsStreaming?this.preloaderStreamable:this.preloader;let T;if(m){const s=document.createElement("video");T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:a})=>{const o=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E,r=E.querySelector("video");r&&r.remove(),s.setAttribute("playsinline",""),b.isSafari&&(s.autoplay=!0),"gif"==n.type&&(s.muted=!0,s.autoplay=!0,s.loop=!0),s.parentElement||o.append(s);const d=new Promise(e=>{s.addEventListener("canplay",e,{once:!0})});if(n.supportsStreaming){a.then(()=>{s.readyState{s.addEventListener("canplay",()=>{k.detach(),s.parentElement.classList.remove("is-buffering")},{once:!0})};s.addEventListener("waiting",t=>{const i=s.networkState===s.NETWORK_LOADING,n=s.readyState{const r=n.supportsStreaming?Promise.resolve():u.default.downloadDocNew(n);return n.supportsStreaming||a.then(()=>{k.attach(E,!0,r)}),r.then(()=>i(this,void 0,void 0,(function*(){if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");const i=n.url;t instanceof SVGSVGElement?(o.firstElementChild.lastElementChild.append(s),this.updateMediaSource(E,i,"video")):p.renderImageFromUrl(s,i),"gif"!=n.type&&(s.dataset.ckin="default",s.dataset.overlay="1",y.default.pause(),y.default.willBePlayedMedia=null,Promise.all([d,a]).then(()=>{new h.default(s,!0,n.supportsStreaming)}))}))),r},wasSeen:!0})})}else T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:s})=>{this.lazyLoadQueue.unshift({div:null,load:()=>{const i=o.default.preloadPhoto(n.id,P);return s.then(()=>{this.preloader.attach(E,!0,i)}),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");const s=n.url;if(t instanceof SVGSVGElement){if(this.updateMediaSource(t,s,"img"),this.updateMediaSource(E,s,"img"),b.mediaSizes.isMobile){const e=E.querySelectorAll("img");e&&e.length&&e.forEach(e=>{e.classList.remove("thumbnail")})}}else{const e=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E;let t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),p.renderImageFromUrl(t,s,()=>{b.mediaSizes.isMobile&&t.classList.remove("thumbnail"),e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})});return this.setMoverPromise=T.catch(()=>{this.setMoverAnimationPromise=null}).finally(()=>{this.setMoverPromise=null})}))}}t.AppMediaViewer=_,t.default=new _},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Layouter=t.RectPart=void 0,t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let i=(e,t)=>e.reduce((e,t)=>e+t,t);function n(e,t,s){return es?s:e}class a{constructor(e,t,s,n,o=t){this.sizes=e,this.maxWidth=t,this.minWidth=s,this.spacing=n,this.maxHeight=o,this.count=e.length,this.ratios=a.countRatios(e),this.proportions=a.countProportions(this.ratios),this.averageRatio=i(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new o(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),s=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),i=this.maxWidth-s-this.spacing,n=Math.min(this.maxHeight,Math.round(Math.min(i/this.ratios[0],s/this.ratios[1])));return[{geometry:{x:0,y:0,width:i,height:n},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:s,height:n},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),i=e-s-this.spacing,n=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(s*this.ratios[2],i*this.ratios[1])))),a=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-n);return[{geometry:{x:0,y:0,width:a,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:a+this.spacing,y:0,width:n,height:i},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:s},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=(this.maxWidth-this.spacing)/2,n=Math.min(this.maxHeight-s-this.spacing,Math.round(Math.min(i/this.ratios[1],i/this.ratios[2]))),a=e-i-this.spacing;return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:i,height:n},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:i+this.spacing,y:s+this.spacing,width:a,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),n=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),i*this.ratios[1]))),a=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),i*this.ratios[3])),o=e-n-a-2*this.spacing,r=Math.min(this.maxHeight-s-this.spacing,i);return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:n,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:n+this.spacing,y:s+this.spacing,width:o,height:r},sides:t.RectPart.Bottom},{geometry:{x:n+this.spacing+o+this.spacing,y:s+this.spacing,width:a,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),i=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),n=Math.round(i/this.ratios[1]),a=Math.round(i/this.ratios[2]),o=e-n-a-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-s-this.spacing,i));return[{geometry:{x:0,y:0,width:s,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:r,height:n},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+this.spacing,width:r,height:a},sides:t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+a+2*this.spacing,width:r,height:o},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=a;class o{constructor(e,t,s,i,n,a=4*s/3){this.averageRatio=t,this.maxWidth=s,this.minWidth=i,this.spacing=n,this.maxHeight=a,this.ratios=o.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?n(e,1,2.75):n(e,.6667,1))}layout(){let e=new Array(this.count),s=[];const n=(e,t)=>{const s=this.ratios.slice(e,e+t),n=i(s,0);return(this.maxWidth-(t-1)*this.spacing)/n},a=e=>{let t=[],i=0;for(let s of e)t.push(n(i,s)),i+=s;s.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||a([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const s=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||s>3||a([e,t,s])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let s=1;s!=this.count-e-t;++s){const i=this.count-e-t-s;e>3||t>3||s>3||i>3||a([e,t,s,i])}let o=null,r=0;for(const e of s){const{heights:t,lineCounts:s}=e,n=s.length,a=i(t,0)+this.spacing*(n-1),d=Math.min(...t),f=(Math.max(...t),d{for(let e=1;e!=n;++e)if(s[e-1]>s[e])return 1.5;return 1})(),c=Math.abs(a-this.maxHeight)*f*l;(!o||c{const t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){const s=t-100,i=e.length;for(let t=0;t=.5&&is&&(s=i,t=n)}if(-1==t)return;e[t]+=1-s}}};const h=[];o.$rootScope.$on("poll_update",e=>{const{poll:t,results:s}=e.detail;for(const e of h)if(e.id==t.id){const i=e.element;i.isClosed=!!t.pFlags.closed,i.performResults(s,t.chosenIndexes)}}),o.$rootScope.$on("peer_changed",()=>{m&&p(m,g,b)});const p=(e,t,s)=>{e.classList.remove("active"),clearTimeout(s),setTimeout(()=>{t(),e.remove(),m==e&&g==t&&b==s&&(m=g=null,b=0)},200)};let m,g,b;class v extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isClosed=!1,this.isQuiz=!1,this.isRetracted=!1,this.isPublic=!1,this.isMultiple=!1,this.chosenIndexes=[],this.chosingIndexes=[],this.sentVote=!1}connectedCallback(){u||(u=document.getElementById("poll-line").getTotalLength()),this.pollID=this.getAttribute("poll-id"),this.mid=+this.getAttribute("message-id");const{poll:e,results:t}=n.default.getPoll(this.pollID);h.push({id:this.pollID,element:this});let s="";if(e.pFlags)if(this.isPublic=!!e.pFlags.public_voters,this.isQuiz=!!e.pFlags.quiz,this.isClosed=!!e.pFlags.closed,this.isMultiple=!!e.pFlags.multiple_choice,this.isClosed)s="Final results",this.classList.add("is-closed");else{let e=this.isQuiz?"Quiz":"Poll";s=(this.isPublic?"":"Anonymous ")+e}const i=this.isMultiple?'':"",f=e.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n ${i}\n
\n
\n
${a.RichTextProcessor.wrapEmojiText(e.text)}
\n \n \n
\n `).join("");if(this.innerHTML=`\n
${e.rQuestion}
\n
\n
${s}
\n
\n
\n ${f}\n \n `,this.descDiv=this.firstElementChild.nextElementSibling,this.typeDiv=this.descDiv.firstElementChild,this.avatarsDiv=this.descDiv.lastElementChild,this.isQuiz&&(this.classList.add("is-quiz"),e.close_period&&e.close_date)){const t=document.createElement("div");t.classList.add("poll-time"),this.descDiv.append(t);const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("poll-quiz-timer"),this.quizTimer=s;const i=2,a=7,o=2*Math.PI*a,r=document.createElementNS("http://www.w3.org/2000/svg","circle");r.classList.add("poll-quiz-timer-circle"),r.setAttributeNS(null,"cx","16"),r.setAttributeNS(null,"cy","16"),r.setAttributeNS(null,"r",""+a),r.setAttributeNS(null,"stroke-width",""+i),s.append(r),this.descDiv.append(s);const d=1e3*e.close_period,f=1e3*(e.close_date-l.default.serverTimeOffset);this.quizInterval=setInterval(()=>{const e=Date.now(),s=(f-e)/d,i=(f-e)/1e3+1|0;t.innerHTML=String(i).toHHMMSS(),i<=5&&(t.style.color="#ee545c",r.style.stroke="#ee545c"),r.style.strokeDashoffset=o+s*o,r.style.strokeDasharray=`${o} ${o}`,e>=f&&(clearInterval(this.quizInterval),t.innerHTML="",r.style.strokeDashoffset=o,this.quizInterval=0,setTimeout(()=>{n.default.getResults(this.mid)},3e3))},1e3)}this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));const p=this.lastElementChild;this.viewResults=p.firstElementChild,this.votersCountDiv=p.lastElementChild,this.viewResults.addEventListener("click",e=>{o.cancelEvent(e),d.default.pollResultsTab.init(this.pollID,this.mid)}),c.ripple(this.viewResults),this.isMultiple&&(this.sendVoteBtn=document.createElement("div"),this.sendVoteBtn.classList.add("poll-footer-button","poll-send-vote"),this.sendVoteBtn.innerText="Vote",c.ripple(this.sendVoteBtn),e.chosenIndexes.length||this.votersCountDiv.classList.add("hide"),this.sendVoteBtn.addEventListener("click",()=>{this.chosingIndexes.length&&this.sendVotes(this.chosingIndexes).then(()=>{this.chosingIndexes.length=0,this.answerDivs.forEach(e=>{e.classList.remove("is-chosing")})})}),p.append(this.sendVoteBtn));const m=this.getBoundingClientRect().width;this.maxLength=m+9+this.maxOffset+-13.7,e.chosenIndexes.length||this.isClosed?this.performResults(t,e.chosenIndexes):this.isClosed||(this.setVotersCount(t),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){h.findAndSplice(e=>e.element==this)}static get observedAttributes(){return["poll-id","message-id"]}attributeChangedCallback(e,t,s){"poll-id"==e?this.pollID=s:"message-id"==e&&(this.mid=+s)}adoptedCallback(){}initQuizHint(e){if(e.solution&&e.solution_entities){const t=document.createElement("div");if(t.classList.add("tgico-tip","poll-hint"),this.descDiv.append(t),t.addEventListener("click",s=>{o.cancelEvent(s),t.classList.add("active"),((e,t,s)=>{m&&p(m,g,b);const i=document.createElement("div");i.classList.add("quiz-hint");const n=document.createElement("div");n.classList.add("container","tgico");const o=document.createElement("div");o.classList.add("text"),n.append(o),i.append(n),o.innerHTML=a.RichTextProcessor.wrapRichText(e,{entities:t}),f.default.bubblesContainer.append(i),i.offsetLeft,i.classList.add("active"),m=i,g=s,b=setTimeout(()=>{p(i,s,b)},r.touchSupport?5e3:7e3)})(e.solution,e.solution_entities,()=>{t.classList.remove("active")})}),this.sentVote){const s=e.results.find(e=>e.pFlags.correct);s&&!s.pFlags.chosen&&t.click()}}}clickHandler(e){const t=o.findUpClassName(e.target,"poll-answer");if(!t)return;const s=+t.dataset.index;if(this.isMultiple){t.classList.toggle("is-chosing");const e=this.chosingIndexes.indexOf(s);-1!==e?this.chosingIndexes.splice(e,1):this.chosingIndexes.push(s)}else this.sendVotes([s])}sendVotes(e){if(this.sendVotePromise)return this.sendVotePromise;const t=this.answerDivs.filter((t,s)=>e.includes(s));return t.forEach(e=>{e.classList.add("is-voting")}),this.classList.add("disable-hover"),this.sentVote=!0,this.sendVotePromise=n.default.sendVote(this.mid,e).then(()=>{t.forEach(e=>{e.classList.remove("is-voting")}),this.classList.remove("disable-hover")}).catch(()=>{this.sentVote=!1}).finally(()=>{this.sendVotePromise=null})}performResults(e,t){var s,i;if(this.isQuiz&&((null===(s=e.results)||void 0===s?void 0:s.length)||this.isClosed)){this.answerDivs.forEach((t,s)=>{t.classList.toggle("is-correct",!!e.results[s].pFlags.correct)}),this.initQuizHint&&(this.initQuizHint(e),this.initQuizHint=null),this.quizInterval&&(clearInterval(this.quizInterval),this.quizInterval=0),(null===(i=this.quizTimer)||void 0===i?void 0:i.parentElement)&&this.quizTimer.remove();const t=this.descDiv.querySelector(".poll-time");t&&t.remove()}if(this.isClosed&&(this.classList.add("is-closed"),this.typeDiv.innerText="Final results"),(this.chosenIndexes.length!=t.length||this.isClosed)&&(this.isRetracted=this.chosenIndexes.length&&!t.length,this.chosenIndexes=t.slice(),this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),this.chosenIndexes.length||this.isRetracted||this.isClosed){const t=e.results.map(t=>e.total_voters?t.voters/e.total_voters*100:0);this.setResults(this.isRetracted?this.percents:t,this.chosenIndexes),this.percents=t,this.isRetracted=!1}if(this.setVotersCount(e),this.isPublic){this.isMultiple||(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length));let t="";e.recent_voters.forEach((e,s)=>{t+=``}),this.avatarsDiv.innerHTML=t}this.isMultiple&&(this.sendVoteBtn.classList.toggle("hide",!!this.chosenIndexes.length),this.chosenIndexes.length?this.isPublic?(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length)):this.votersCountDiv.classList.toggle("hide",!this.chosenIndexes.length):(this.votersCountDiv.classList.add("hide"),this.viewResults.classList.add("hide")))}setResults(e,s){this.svgLines.forEach(e=>e.style.display=""),this.answerDivs.forEach((e,t)=>{e.classList.toggle("is-chosen",s.includes(t))});const i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),e=e.slice(),t.roundPercents(e),this.isRetracted)for(let t=9,s=0;t>=0;--t,++s)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*t);this.numberDivs[s].innerText=i+"%"})},34*s);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*(t+1));this.numberDivs[s].innerText=i+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){const t=e.total_voters||0,s=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+s:"No "+s)}setLineProgress(e,t){const s=this.svgLines[e];-1==t?(s.style.strokeDasharray="",s.style.strokeDashoffset=""):(s.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",s.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=v,customElements.define("poll-element",v)},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readBlobAsText=void 0,t.readBlobAsText=e=>new Promise(t=>{const s=new FileReader;s.addEventListener("loadend",e=>{t(e.srcElement.result)}),s.readAsText(e)})},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(26);t.default=class{constructor(e,t){this.sidebarEl=e,this.tabs=t,this.historyTabIDs=[],this._selectTab=i.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,250),this._selectTab(0);let s=()=>{let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",s)})}selectTab(e){if(this.historyTabIDs[this.historyTabIDs.length-1]==e)return;const t=this.tabs[e];t&&(t.onOpen&&t.onOpen(),t.onOpenAfterTimeout&&setTimeout(()=>{t.onOpenAfterTimeout()},250)),this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&(t.onClose&&t.onClose(),t.onCloseAfterTimeout&&setTimeout(()=>{t.onCloseAfterTimeout()},250))}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(43)),o=s(3),r=i(s(6)),d=s(20),f=i(s(23)),l=s(4),c=i(s(18)),u=s(0),h=i(s(12));class p extends n.PopupElement{constructor(e){super("popup-stickers",null,{closable:!0,body:!0}),this.stickerSetInput=e,this.onFooterClick=()=>{this.stickersFooter.setAttribute("disabled","true"),a.default.toggleStickerSet(this.set).then(()=>{this.closeBtn.click()}).catch(()=>{this.stickersFooter.removeAttribute("disabled")})},this.onStickersClick=e=>{const t=u.findUpClassName(e.target,"sticker-set-sticker");if(!t)return;const s=t.dataset.docID;h.default.chatInputC.sendMessageWithDocument(s)?this.closeBtn.click():console.warn("got no doc by id:",s)},this.h6=document.createElement("h6"),this.h6.innerText="Loading...",this.header.append(this.h6),this.onClose=()=>{c.default.checkAnimations(!1),this.stickersFooter.removeEventListener("click",this.onFooterClick),this.stickersDiv.removeEventListener("click",this.onStickersClick),this.element.removeEventListener("click",t)},this.onCloseAfterTimeout=()=>{c.default.checkAnimations(void 0,"STICKERS-POPUP")};const t=e=>{u.findUpClassName(e.target,"popup-container")||this.closeBtn.click()};this.element.addEventListener("click",t);const s=document.createElement("div");s.classList.add("sticker-set"),this.stickersDiv=document.createElement("div"),this.stickersDiv.classList.add("sticker-set-stickers"),l.putPreloader(this.stickersDiv),this.stickersFooter=document.createElement("div"),this.stickersFooter.classList.add("sticker-set-footer"),s.append(this.stickersDiv),this.stickersFooter.innerText="Loading...",this.body.append(s);new r.default(this.body,"y",void 0);this.body.append(this.stickersFooter),this.loadStickerSet()}loadStickerSet(){return a.default.getStickerSet(this.stickerSetInput).then(e=>{this.set=e.set,c.default.checkAnimations(!0),this.h6.innerHTML=o.RichTextProcessor.wrapEmojiText(e.set.title),e.set.installed_date?this.stickersFooter.classList.remove("add"):this.stickersFooter.classList.add("add"),this.stickersFooter.innerHTML=e.set.hasOwnProperty("installed_date")?'
Remove stickers
':``,this.stickersFooter.addEventListener("click",this.onFooterClick),e.documents.length&&this.stickersDiv.addEventListener("click",this.onStickersClick);const t=new f.default;this.stickersDiv.innerHTML="";for(let s of e.documents){const e=document.createElement("div");e.classList.add("sticker-set-sticker"),d.wrapSticker({doc:s,div:e,lazyLoadQueue:t,group:"STICKERS-POPUP",play:!0,loop:!0,width:80,height:80}),this.stickersDiv.append(e)}})}}t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppInlineBotsManager=void 0;const n=i(s(7)),a=i(s(2)),o=i(s(8)),r=i(s(33)),d=s(3),f=s(44),l=i(s(5)),c=i(s(13)),u=i(s(11));class h{constructor(){this.inlineResults={}}getInlineResults(e,t,s="",i="",n){return a.default.invokeApi("messages.getInlineBotResults",{flags:0|(n?1:0),bot:l.default.getUserInput(t),peer:o.default.getInputPeerByID(e),query:s,geo_point:n&&{_:"inputGeoPoint",lat:n.lat,long:n.long},offset:i},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{const s=e.query_id;return e.switch_pm&&(e.switch_pm.rText=d.RichTextProcessor.wrapRichText(e.switch_pm.text,{noLinebreaks:!0,noLinks:!0})),e.results.forEach(e=>{const i=s+"_"+e.id;e.qID=i,e.botID=t,e.rTitle=d.RichTextProcessor.wrapRichText(e.title,{noLinebreaks:!0,noLinks:!0}),e.rDescription=d.RichTextProcessor.wrapRichText(e.description,{noLinebreaks:!0,noLinks:!0}),e.initials=(e.url||e.title||e.type||"").substr(0,1),"botInlineMediaResult"==e._&&(e.document&&(e.document=u.default.saveDoc(e.document)),e.photo&&(e.photo=c.default.savePhoto(e.photo))),this.inlineResults[i]=e}),e})}callbackButtonClick(e,t){let s=n.default.getMessage(e),i=n.default.getMessagePeer(s);return a.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:o.default.getInputPeerByID(i),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&f.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0}))})}}t.AppInlineBotsManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(11)),o=s(20),r=s(4);t.default=class{constructor(e){this.element=e}add(e,t,s){var i;let d=e.w,f=e.h;f<100&&(d*=100/f,f=100);let l=Math.min(300,400,d),{w:c,h:u}=n.calcImageInBox(d,f,l,100),h=document.createElement("div");h.classList.add("gif","fade-in-transition"),h.style.width=c+"px",h.style.opacity="0",h.dataset.docID=e.id,this.element.append(h);const p=a.default.getThumb(e,!1);let m;!!p&&(m=new Image,p.thumb.url||p.promise.then(()=>{m.src=p.thumb.url}));let g=!1;const b=()=>{g=!1,o.wrapVideo({doc:e,container:h,lazyLoadQueue:s,group:t,noInfo:!0});h.querySelector("video").addEventListener("canplay",()=>{h.style.opacity="",g?(m&&m.classList.remove("hide"),h.lastElementChild!=m&&h.lastElementChild.remove()):m&&m.classList.add("hide")},{once:!0})},v=()=>{m&&(h.append(m),h.style.opacity=""),s?b():(h.addEventListener("mouseover",b,{once:!0}),h.addEventListener("mouseout",e=>{const t=e.toElement;if(n.findUpClassName(t,"gif")==h)return;g=!0;const s=()=>{h.lastElementChild!=m&&h.lastElementChild.remove(),h.addEventListener("mouseover",b,{once:!0})};m&&m.classList.remove("hide"),m?window.requestAnimationFrame(()=>window.requestAnimationFrame(s)):s()}))};(null===(i=null==p?void 0:p.thumb)||void 0===i?void 0:i.url)?r.renderImageFromUrl(m,p.thumb.url,v):v()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,s=t.target.parentElement,i=t.rootBounds;e.bottom=i.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let s=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,s)},{root:this.container})}addSentinel(e,t){const s=document.createElement("div");return s.classList.add("sticky_sentinel",t),e.appendChild(s)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(31)),a=s(4),o=i(s(17)),r=i(s(2)),d=i(s(25)),f=s(1),l=i(s(103)),c=s(0);const u=new d.default("page-password",!0,()=>{let e,t=0,s=!1;const i=u.pageEl.querySelector("button"),d=document.getElementById("password"),h=d.nextElementSibling,p=u.pageEl.querySelector(".toggle-visible");let m=()=>l.default.getState().then(e=>{var t;v=e,h.innerText=null!==(t=v.hint)&&void 0!==t?t:"Password"}),g=e=>{i.removeAttribute("disabled"),e.type,i.innerText=e.type,m()};const b=function(i){c.cancelEvent(i),s=!s,this.classList.toggle("tgico-eye2",s),s?(d.setAttribute("type","text"),e.setDirection(1),e.curFrame=0,t=16,e.play()):(d.setAttribute("type","password"),e.setDirection(-1),e.curFrame=16,t=0,e.play())};let v;p.addEventListener("click",b),p.addEventListener("touchend",b),i.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let s=d.value;this.textContent="PLEASE WAIT...",a.putPreloader(this),l.default.check(s,v).then(t=>{switch(t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),n.default.mount(),e&&e.remove();break;default:i.removeAttribute("disabled"),i.innerText=t._}}).catch(g)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return i.click()}));const y=f.mediaSizes.isMobile?100:166;return Promise.all([o.default.loadAnimationFromURL({container:u.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,width:y,height:y,noCache:!0},"assets/img/TwoFactorSetupMonkeyPeek.tgs").then(s=>{e=s,e.addListener("enterFrame",s=>{(1==e.direction&&s>=t||-1==e.direction&&s<=t)&&(e.setSpeed(1),e.pause())}),t=49}),m()])});t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),s(67),s(68),s(69),document.addEventListener("DOMContentLoaded",()=>o(void 0,void 0,void 0,(function*(){const e=()=>{const e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh",e+"px")};window.addEventListener("resize",e),e();const[t,i,n,o]=yield Promise.all([Promise.resolve().then(()=>a(s(1))),Promise.resolve().then(()=>a(s(2))),Promise.resolve().then(()=>a(s(24))),Promise.resolve().then(()=>a(s(16)))]),r=yield o.default.get("user_auth");t.isApple?(document.documentElement.classList.add("is-mac","emoji-supported"),t.isAppleMobile&&document.documentElement.classList.add("is-ios")):t.isAndroid&&document.documentElement.classList.add("is-android"),t.touchSupport||document.documentElement.classList.add("no-touch");const d=r.id||0;d?(yield Promise.resolve().then(()=>a(s(31)))).default.mount():(yield Promise.resolve().then(()=>a(s(48)))).default.mount();const f=yield Promise.resolve().then(()=>a(s(0)));f.$rootScope.myID=d;const l=f.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{const t=l(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});const c=(yield Promise.resolve().then(()=>a(s(19)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>c(e))})))},function(e,t,s){},function(e,t,s){},function(e,t,s){},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const i=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(s=>{s.length&&s.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},n=(...e)=>{self.postMessage(...e)},a=()=>{};t.notifySomeone=t.isServiceWorker?i.bind(null,!1):t.isWebWorker?n:a,t.notifyAll=t.isServiceWorker?i.bind(null,!0):t.isWebWorker?n:a},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(21);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,s){return this.performTaskWorker("pbkdf2",e,t,s)}aesEncrypt(e,t,s){return this.performTaskWorker("aes-encrypt",i.convertToArrayBuffer(e),i.convertToArrayBuffer(t),i.convertToArrayBuffer(s))}aesDecrypt(e,t,s){return this.performTaskWorker("aes-decrypt",e,t,s).then(e=>i.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=i.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,s){return this.performTaskWorker("mod-pow",e,t,s)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,s){e.exports=function(){return new Worker(s.p+"b728a346dae6ae3292c0.worker.js")}},function(e,t,s){e.exports=function(){return new Worker(s.p+"9ec5bf231b8216403a20.worker.js")}},function(e,t,s){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var s,i=e.HTMLElement||e.Element,n=468,a={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:i.prototype.scroll||d,scrollIntoView:i.prototype.scrollIntoView},o=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(s=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(s)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):a.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?a.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var e=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var s=function(e){for(;e!==t.body&&!1===(i=l(s=e,"Y")&&c(s,"Y"),n=l(s,"X")&&c(s,"X"),i||n);)e=e.parentNode||e.host;var s,i,n;return e}(this),i=s.getBoundingClientRect(),n=this.getBoundingClientRect();s!==t.body?(h.call(this,s,s.scrollLeft+n.left-i.left,s.scrollTop+n.top-i.top),"fixed"!==e.getComputedStyle(s).position&&e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):e.scrollBy({left:n.left,top:n.top,behavior:"smooth"})}else a.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function d(e,t){this.scrollLeft=e,this.scrollTop=t}function f(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function l(e,t){return"Y"===t?e.clientHeight+r1?1:d,s=.5*(1-Math.cos(Math.PI*r)),i=t.startX+(t.x-t.startX)*s,a=t.startY+(t.y-t.startY)*s,t.method.call(t.scrollable,i,a),i===t.x&&a===t.y||e.requestAnimationFrame(u.bind(e,t))}function h(s,i,n){var r,f,l,c,h=o();s===t.body?(r=e,f=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,c=a.scroll):(r=s,f=s.scrollLeft,l=s.scrollTop,c=d),u({scrollable:r,method:c,startTime:h,startX:f,startY:l,x:i,y:n})}}}}()},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="(?:👨🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👨🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👨🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👨🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👨🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👩🏻‍🤝‍👩\ud83c[\udffc-\udfff]|👩🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👩🏼‍🤝‍👩\ud83c[\udffb\udffd-\udfff]|👩🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👩🏽‍🤝‍👩\ud83c[\udffb\udffc\udffe\udfff]|👩🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👩🏾‍🤝‍👩\ud83c[\udffb-\udffd\udfff]|👩🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏿‍🤝‍👩\ud83c[\udffb-\udffe]|🧑🏻‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏼‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏽‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏾‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏿‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑‍🤝‍🧑|👫\ud83c[\udffb-\udfff]|👬\ud83c[\udffb-\udfff]|👭\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|🧑)(?:\ud83c[\udffb-\udfff])?‍(?:⚕️|⚖️|✈️|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|⛹)((?:\ud83c[\udffb-\udfff]|️)‍[♀♂]️)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?‍[♀♂]️|(?:👨‍❤️‍💋‍👨|👨‍👨‍👦‍👦|👨‍👨‍👧‍\ud83d[\udc66\udc67]|👨‍👩‍👦‍👦|👨‍👩‍👧‍\ud83d[\udc66\udc67]|👩‍❤️‍💋‍\ud83d[\udc68\udc69]|👩‍👩‍👦‍👦|👩‍👩‍👧‍\ud83d[\udc66\udc67]|👨‍❤️‍👨|👨‍👦‍👦|👨‍👧‍\ud83d[\udc66\udc67]|👨‍👨‍\ud83d[\udc66\udc67]|👨‍👩‍\ud83d[\udc66\udc67]|👩‍❤️‍\ud83d[\udc68\udc69]|👩‍👦‍👦|👩‍👧‍\ud83d[\udc66\udc67]|👩‍👩‍\ud83d[\udc66\udc67]|🏳️‍⚧️|🏳️‍🌈|🏴‍☠️|🐕‍🦺|🐻‍❄️|👁‍🗨|👨‍\ud83d[\udc66\udc67]|👩‍\ud83d[\udc66\udc67]|👯‍♀️|👯‍♂️|🤼‍♀️|🤼‍♂️|🧞‍♀️|🧞‍♂️|🧟‍♀️|🧟‍♂️|🐈‍⬛)|[#*0-9]️?⃣|(?:[©®™♟]️)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[‼⁉ℹ↔-↙↩↪⌚⌛⌨⏏⏭-⏯⏱⏲⏸-⏺Ⓜ▪▫▶◀◻-◾☀-☄☎☑☔☕☘☠☢☣☦☪☮☯☸-☺♀♂♈-♓♠♣♥♦♨♻♿⚒-⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅⛈⛏⛑⛓⛔⛩⛪⛰-⛵⛸⛺⛽✂✈✉✏✒✔✖✝✡✳✴❄❇❗❣❤➡⤴⤵⬅-⬇⬛⬜⭐⭕〰〽㊗㊙])(?:️|(?!︎))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[☝⛷⛹✌✍])(?:️|(?!︎))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[✊✋]))(?:\ud83c[\udffb-\udfff])?|(?:🏴󠁧󠁢󠁥󠁮󠁧󠁿|🏴󠁧󠁢󠁳󠁣󠁴󠁿|🏴󠁧󠁢󠁷󠁬󠁳󠁿|🇦\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|🇧\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|🇨\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|🇩\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|🇪\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|🇫\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|🇬\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|🇭\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|🇮\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|🇯\ud83c[\uddea\uddf2\uddf4\uddf5]|🇰\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|🇱\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|🇲\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|🇳\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|🇴🇲|🇵\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|🇶🇦|🇷\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|🇸\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|🇹\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|🇺\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|🇻\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|🇼\ud83c[\uddeb\uddf8]|🇽🇰|🇾\ud83c[\uddea\uddf9]|🇿\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[⏩-⏬⏰⏳♾⛎✅✨❌❎❓-❕➕-➗➰➿])|️"},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toCodePoints=t.encodeEmoji=void 0,t.encodeEmoji=function(e){return o(a(e)).join("-")};const i=/\uFE0F/g,n=String.fromCharCode(8205),a=e=>e.indexOf(n)<0?e.replace(i,""):e;function o(e){const t=[];let s=0,i=0,n=0;for(;n55296&&s<=56319?i=s:t.push(s.toString(16));return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t}t.toCodePoints=o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(48)),a=i(s(78)),o=i(s(31)),r=i(s(65)),d=i(s(17)),f=i(s(2)),l=i(s(25)),c=(s(30),s(1));let u=null;let h=null,p=null;const m=new l.default("page-authCode",!0,()=>{let e,t,s=0,i=0;const l=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return n.default.mount()}));let b=()=>{setTimeout(()=>{e&&e.remove(),t&&t.remove()},300)};h.addEventListener("input",(function(n){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>l&&(this.value=this.value.slice(0,l));let d,c=this.value.length;if(c==l)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};f.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),o.default.mount(),b();break;case"auth.authorizationSignUpRequired":a.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),b();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":e.handled=!0,b(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(c==i)return;if(i=c,!e)return;c?(d=Math.round(Math.min(45,c)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):d=0;let m=s>d?-1:1;e.setDirection(m),0!=s&&0==d&&e.setSpeed(7),s=d,e.play()}));let v=m.pageEl.querySelector(".auth-image");const y=c.mediaSizes.isMobile?100:166;return Promise.all([d.default.loadAnimationFromURL({container:v,loop:!0,autoplay:!0,width:y,height:y},"assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>{t=e}),d.default.loadAnimationFromURL({container:v,loop:!1,autoplay:!1,width:y,height:y},"assets/img/TwoFactorSetupMonkeyTracking.tgs").then(i=>{e=i,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",i=>{(1==e.direction&&i>=s||-1==e.direction&&i<=s)&&(e.setSpeed(1),e.pause()),0==i&&0==s&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=o(s(31)),f=o(s(2)),l=o(s(25)),c=o(s(45));let u=null;const h=new l.default("page-signUp",!0,()=>Promise.resolve().then(()=>a(s(27))).then(e=>{const t=h.pageEl,s=t.querySelector("#canvas-avatar"),i=e.default;let n;t.querySelector(".auth-image").addEventListener("click",()=>{c.default.open(s,e=>{n=e})});const a=t.getElementsByClassName("fullName")[0];let o=function(e){let t=l.value||"",s=p.value||"",i=t||s?(t+" "+s).trim():"Your Name";a.innerText!=i&&(a.innerText=i),this.classList.remove("error")};const l=document.getElementById("name");l.addEventListener("input",o);const p=document.getElementById("lastName");p.addEventListener("input",o);document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!l.value.length)return l.classList.add("error"),!1;let t=l.value,s=p.value,a={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,first_name:t,last_name:s};this.textContent="PLEASE WAIT...",r.putPreloader(this),f.default.invokeApi("auth.signUp",a).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!n)return e();n().then(s=>{i.uploadProfilePhoto(s).then(e,t)},t)}).then(()=>{d.default.mount()},()=>{d.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))}),e=>{u=e});t.default=h},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(17)),o=s(26);const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=n.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&a.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const n=i(s(16)),a=s(30);class o{constructor(){this.disabled=a.Modes.test||-1==a.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;n.default.get("tgme_sync").then(t=>{var s=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>s)return!1;n.default.set({tgme_sync:{canRedirect:e,ts:s}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=o,t.telegramMeWebService=new o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeWaveform=void 0;const n=i(s(11)),a=s(3),o=s(20),r=i(s(35)),d=s(49),f=i(s(37)),l=s(1);function c(e){e instanceof Uint8Array||(e=new Uint8Array(e));var t=8*e.length/5|0;if(!t)return new Uint8Array([]);for(var s=new DataView(e.buffer),i=new Uint8Array(t),n=0;n>o&31}return i}t.decodeWaveform=c;class u extends HTMLElement{constructor(){super(),this.attachedHandlers={}}connectedCallback(){this.classList.add("audio");const e=+this.getAttribute("message-id"),t=this.getAttribute("doc-id"),s=n.default.getDoc(t),i=+s.id<0,u=String(0|s.duration).toHHMMSS(!0);this.innerHTML='
';const h=document.createElement("div");h.classList.add("audio-download"),i||"audio"==s.type||(h.innerHTML='
'),("audio"!=s.type||i)&&this.append(h);const p="voice"==s.type?function(e,t){t.classList.add("is-voice");const s=l.mediaSizes.isMobile?2:1,i=l.mediaSizes.isMobile?3:2,n=l.mediaSizes.isMobile?16:23,a=l.mediaSizes.isMobile?152:190,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add("audio-waveform"),o.setAttributeNS(null,"width",""+a),o.setAttributeNS(null,"height",""+n),o.setAttributeNS(null,"viewBox",`0 0 ${a} ${n}`);const r=document.createElement("div");r.classList.add("audio-time"),t.append(o,r);let d=e.attributes[0].waveform||[];d=c(d.slice());const f=Math.max(...d),u=d.length?d.length:100,h=Math.min(a/(2+s)|0,u);let p=0;const m=n-i;let g="";for(let e=0,t=0,a=0;e=u){a=a+h-u,a<(h+1)/2&&p\n `,t+=2+s,p=a<(h+1)/2?0:o}else p{let e=0,s=0,i=t.audio;(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")));let n=()=>{clearInterval(e),e=setInterval(()=>{s>o.childElementCount||isNaN(i.duration)||i.paused?clearInterval(e):(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")))},20)};i.paused||n(),t.addAudioListener("playing",()=>{n()}),t.addAudioListener("pause",()=>{clearInterval(e)}),t.addAudioListener("ended",()=>{clearInterval(e),b.forEach(e=>e.classList.remove("active"))});let r=!1,d=!1;function f(e){const t=e.offsetX/a*i.duration;s=Math.round(t/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active"));for(let e=s+1;e{r&&(i.play(),r=!1),d=!1}),v.addEventListener("mousemove",e=>{d=!0,r&&f(e)}),v.addEventListener("mousedown",e=>{e.preventDefault(),i.paused||(i.pause(),f(e),r=!0)}),v.addEventListener("mouseup",e=>{d&&r&&(i.play(),r=!1)}),v.addEventListener("click",e=>{i.paused||f(e)}),()=>{clearInterval(e),v.remove(),v=null,i=null}}}(s,this):function(e,t){const s=!!+t.getAttribute("with-time"),i=e.audioTitle||e.file_name;let n=e.audioPerformer?a.RichTextProcessor.wrapPlainText(e.audioPerformer):"";s?n+=(n?" · ":"")+o.formatDate(e.date):n||(n="Unknown Artist");const r=`\n
\n
${i}
\n
${n}
\n
\n
`;return t.insertAdjacentHTML("beforeend",r),()=>{const s=t.querySelector(".audio-subtitle");let i=!1,a=new d.MediaProgressLine(t.audio,e.supportsStreaming);t.addAudioListener("ended",()=>{t.classList.remove("audio-show-progress"),s.innerHTML=n,i=!1});const o=()=>{i||(t.classList.add("audio-show-progress"),i=!0,s.innerHTML="",a&&s.append(a.container))};return t.addAudioListener("playing",o),(!t.audio.paused||t.audio.currentTime>0)&&o(),()=>{a.removeListeners(),a.container.remove(),a=null}}}(s,this),m=this.querySelector(".audio-time");m.innerHTML=u;const g=(t=!0)=>{const i=this.audio=f.default.addMedia(s,e,t);this.onTypeDisconnect=p();const n=this.querySelector(".audio-toggle"),a=()=>{m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u,i.paused||(n.classList.remove("tgico-largeplay"),n.classList.add("tgico-largepause"))};(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(a(),m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u),n.addEventListener("click",()=>{i.paused?i.play().catch(()=>{}):i.pause()}),this.addAudioListener("ended",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("timeupdate",()=>{f.default.isSafariBuffering(i)||(m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u)}),this.addAudioListener("pause",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("playing",a)};if(i)this.preloader.attach(h,!1);else{let t=this.preloader;if("voice"==s.type){let e;const i=()=>{e?e.cancel():(t||(t=new r.default(null,!0)),e=n.default.downloadDocNew(s.id),t.attach(h,!0,e),e.then(()=>{h.remove(),this.removeEventListener("click",i),g()}).catch(t=>{"AbortError"===t.name&&(e=null)}).finally(()=>{h.classList.remove("downloading")}),h.classList.add("downloading"))};this.addEventListener("click",i),this.click()}else{g(!1);const s=()=>{f.default.resolveWaitingForLoadMedia(e),f.default.willBePlayed(this.audio),t||(t=new r.default(null,!1)),l.isSafari&&(this.audio.autoplay=!0,this.audio.play().catch(()=>{})),t.attach(h),this.append(h),new Promise(e=>{this.audio.readyState>=2?e():this.addAudioListener("canplay",e)}).then(()=>{h.remove(),f.default.willBePlayedMedia==this.audio&&(this.audio.play(),f.default.willBePlayedMedia=null)})};this.addEventListener("click",s,{once:!0})}}}addAudioListener(e,t){this.attachedHandlers[e]||(this.attachedHandlers[e]=[]),this.attachedHandlers[e].push(t),this.audio.addEventListener(e,t)}disconnectedCallback(){this.onTypeDisconnect&&(this.onTypeDisconnect(),this.onTypeDisconnect=null);for(let e in this.attachedHandlers){for(let t of this.attachedHandlers[e])this.audio.removeEventListener(e,t);delete this.attachedHandlers[e]}this.preloader=null}static get observedAttributes(){return[]}attributeChangedCallback(e,t,s){}adoptedCallback(){}}t.default=u,customElements.define("audio-element",u)},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(29)),d=o(s(6)),f=o(s(23)),l=s(0),c=o(s(12)),u=o(s(43)),h=o(s(61)),p=o(s(18)),m=s(3),g=s(20),b=a(s(22));t.default=class{constructor(){this.container=document.getElementById("stickers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.setsDiv=this.contentDiv.firstElementChild,this.scrollable=new d.default(this.contentDiv,"y","STICKERS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.setsDiv),this.lazyLoadQueue=new f.default,this.searchInput=new r.default("Search Stickers",e=>{this.search(e)}),this.backBtn.parentElement.append(this.searchInput.container),this.setsDiv.addEventListener("click",e=>{const t=l.findUpClassName(e.target,"sticker-set-sticker");if(t){const e=t.dataset.docID;return void c.default.chatInputC.sendMessageWithDocument(e)}const s=l.findUpClassName(e.target,"sticker-set");if(!s)return;const i=s.dataset.stickerSet,n=s.dataset.stickerSet,a=l.findUpClassName(e.target,"sticker-set-button");a?(e.preventDefault(),e.cancelBubble=!0,a.setAttribute("disabled","true"),u.default.getStickerSet({id:i,access_hash:n}).then(e=>{u.default.toggleStickerSet(e.set).then(t=>{t&&(a.innerText=e.set.installed_date?"Added":"Add",a.classList.toggle("gray",!!e.set.installed_date))}).finally(()=>{a.removeAttribute("disabled")})})):u.default.getStickerSet({id:i,access_hash:n}).then(e=>{new h.default(e.set).show()})})}onCloseAfterTimeout(){this.setsDiv.innerHTML="",this.searchInput.value="",p.default.checkAnimations(void 0,"STICKERS-SEARCH")}renderSet(e){const t=document.createElement("div");t.classList.add("sticker-set");const s=document.createElement("div");s.classList.add("sticker-set-header");const i=document.createElement("div");i.classList.add("sticker-set-details"),i.innerHTML=`\n
${m.RichTextProcessor.wrapEmojiText(e.title)}
\n
${e.count} stickers
\n `;const n=document.createElement("button");n.classList.add("btn-primary","sticker-set-button"),n.innerText=e.installed_date?"Added":"Add",e.installed_date&&n.classList.add("gray"),s.append(i,n);const a=document.createElement("div");a.classList.add("sticker-set-stickers");const o=Math.min(5,e.count);for(let e=0;e{for(let t=0;t{this.renderFeatured()})}renderFeatured(){return u.default.getFeaturedStickers().then(e=>{this.searchInput.value||(e=this.filterRendered("",e)).forEach(e=>{this.renderSet(e.set)})})}filterRendered(e,t){t=t.slice();return Array.from(this.setsDiv.children).forEachReverse(s=>{const i=s.dataset.stickerSet,n=t.findIndex(e=>e.set.id==i);-1!==n?t.splice(n,1):e&&s.dataset.title.toLowerCase().includes(e.toLowerCase())||s.remove()}),p.default.checkAnimations(void 0,"STICKERS-SEARCH"),t}search(e){return e?u.default.searchStickerSets(e,!1).then(t=>{this.searchInput.value==e&&(t=this.filterRendered(e,t)).forEach(e=>{this.renderSet(e.set)})}):this.renderFeatured()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=a(s(22)),f=o(s(39)),l=s(58),c=s(3),u=o(s(15)),h=s(19);t.default=class{constructor(){this.container=document.getElementById("poll-results-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.resultsDiv=this.contentDiv.firstElementChild,this.scrollable=new r.default(this.contentDiv,"y","POLL-RESULTS",void 0,void 0,2)}cleanup(){this.resultsDiv.innerHTML="",this.pollID="",this.mid=0}onCloseAfterTimeout(){this.cleanup()}init(e,t){if(this.pollID==e&&this.mid==t)return;this.cleanup(),this.pollID=e,this.mid=t,d.default.selectTab(d.AppSidebarRight.SLIDERITEMSIDS.pollResults);const s=f.default.getPoll(e),i=document.createElement("h3");i.innerHTML=s.poll.rQuestion;const n=s.results.results.map(e=>e.voters/s.results.total_voters*100);l.roundPercents(n);const a=document.createDocumentFragment();s.results.results.forEach((e,i)=>{if(!e.voters)return;const o=document.createElement("hr"),r=s.poll.answers[i],d=document.createElement("div");d.classList.add("poll-results-answer");const l=document.createElement("div");l.innerHTML=c.RichTextProcessor.wrapEmojiText(r.text);const p=document.createElement("div");p.innerText=Math.round(n[i])+"%",d.append(l,p);const m=document.createElement("ul");m.classList.add("poll-results-voters"),u.default.setListClickListener(m),m.style.minHeight=50*Math.min(e.voters,4)+"px",a.append(o,d,m);let g,b=4,v=!1,y=e.voters-4;const w=()=>{v||(v=!0,f.default.getVotes(t,r.option,g,b).then(e=>{e.votes.forEach(e=>{const{dom:t}=u.default.addDialog(e.user_id,m,!1,!1,void 0,!1);t.lastMessageSpan.parentElement.remove()}),g&&(y-=e.votes.length,_.lastElementChild.innerText=`Show ${Math.min(20,y)} more voter${y>1?"s":""}`),g=e.next_offset,b=20,y&&e.votes.length||_.remove()}).finally(()=>{v=!1}))};if(w(),y<=0)return;const _=document.createElement("div");_.classList.add("poll-results-more","show-more"),_.addEventListener("click",w),_.innerHTML=`
Show ${Math.min(20,y)} more voter${y>1?"s":""}
`,h.ripple(_),a.append(_)}),this.resultsDiv.append(i,a),d.default.toggleSidebar(!0).then(()=>{})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(29)),f=r(s(6)),l=r(s(23)),c=r(s(18)),u=a(s(22)),h=r(s(5)),p=r(s(62)),m=r(s(63)),g=s(0),b=r(s(12));t.default=class{constructor(){this.container=document.getElementById("search-gifs-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.gifsDiv=this.contentDiv.firstElementChild,this.nextOffset="",this.loadedAll=!1,this.onGifsClick=e=>{const t=g.findUpClassName(e.target,"gif");if(!t)return;const s=t.dataset.docID;b.default.chatInputC.sendMessageWithDocument(s)||console.warn("got no doc by id:",s)},this.scrollable=new f.default(this.contentDiv,"y","GIFS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.gifsDiv),this.masonry=new m.default(this.gifsDiv),this.lazyLoadQueue=new l.default,this.searchInput=new d.default("Search GIFs",e=>{this.reset(),this.search(e)}),this.gifsDiv.addEventListener("click",this.onGifsClick),this.backBtn.parentElement.append(this.searchInput.container)}onClose(){this.scrollable.onScrolledBottom=()=>{}}onCloseAfterTimeout(){this.reset(),this.gifsDiv.innerHTML="",this.searchInput.value="",c.default.checkAnimations(void 0,"GIFS-SEARCH")}reset(){this.searchPromise=null,this.nextOffset="",this.loadedAll=!1,this.lazyLoadQueue.clear()}init(){u.default.selectTab(u.AppSidebarRight.SLIDERITEMSIDS.gifs),u.default.toggleSidebar(!0).then(()=>{this.search("",!0),this.reset(),this.scrollable.onScrolledBottom=()=>{this.search(this.searchInput.value,!1)}})}search(e,t=!0){return o(this,void 0,void 0,(function*(){if(!this.searchPromise&&!this.loadedAll){this.gifBotPeerID||(this.gifBotPeerID=(yield h.default.resolveUsername("gif")).id);try{this.searchPromise=p.default.getInlineResults(0,this.gifBotPeerID,e,this.nextOffset);const{results:s,next_offset:i}=yield this.searchPromise;if(this.searchInput.value!=e)return;this.searchPromise=null,this.nextOffset=i,t&&(this.gifsDiv.innerHTML=""),s.length?s.forEach(e=>{"botInlineMediaResult"===e._&&e.document&&this.masonry.add(e.document,"GIFS-SEARCH",this.lazyLoadQueue)}):this.loadedAll=!0,this.scrollable.onScroll()}catch(e){throw new Error(JSON.stringify(e))}}}))}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(45)),d=o(s(9)),f=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{r.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,d.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{d.default.editPhoto(e,t)}),f.default.removeTabFromHistory(f.AppSidebarLeft.SLIDERITEMSIDS.newChannel),f.default.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var s,i,n,a={},o=1,r=0,d=0,f=0,l=0;function c(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(n=new Image).crossOrigin=e.crossOrigin,n.src=e.src,n.draggable=!1,t||(t=document.createElement("canvas")),(s=document.createElement("div")).classList.add("crop-component"),(i=document.createElement("div")).classList.add("overlay");let a=document.createElement("div");a.classList.add("crop-overlay-color"),s.appendChild(i),e.parentNode.appendChild(s),s.appendChild(n),s.appendChild(e),s.appendChild(a),i.appendChild(n),n.style.maxWidth=e.width+"px",u(e.offsetWidth/2-100,e.offsetHeight/2-100),i.addEventListener("mousedown",b,!1),i.addEventListener("touchstart",b,!1),i.addEventListener("wheel",g,!1),document.addEventListener("keypress",m,!1)}function u(e,t){r=-e*o,d=-t*o,n.style.top=-t+"px",n.style.left=-e+"px"}function h(e,t){let s=t+100+"px",n=e+100+"px";i.style.top=s,i.style.left=n}function p(e){e=e*Math.PI*2;var t,s,a,r,d,f,l=Math.floor(i.clientWidth+e),c=Math.floor(i.clientHeight+e),p=n.clientWidth,m=n.clientHeight;l<50||(l>p||(a=(t=i.offsetLeft-e/2)+l,r=(s=i.offsetTop-e/2)+c,t<0&&(t=0),s<0&&(s=0),a>p||r>m||(o=200/l,d=l,f=l,i.style.width=d+"px",i.style.height=f+"px",u(t,s),h(t,s))))}function m(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":p(4);break;case"-":p(-4)}}function g(e){e.preventDefault(),p(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){a.container_width=i.offsetWidth,a.container_height=i.offsetHeight,a.container_left=i.offsetLeft,a.container_top=i.offsetTop,a.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,a.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,s,o,r,d={x:0,y:0};e.preventDefault(),e.stopPropagation(),d.x=e.pageX||e.touches&&e.touches[0].pageX,d.y=e.pageY||e.touches&&e.touches[0].pageY,t=d.x-(a.mouse_x-a.container_left),s=d.y-(a.mouse_y-a.container_top),o=i.offsetWidth,r=i.offsetHeight,t<0?t=0:t>n.offsetWidth-o&&(t=n.offsetWidth-o),s<0?s=0:s>n.offsetHeight-r&&(s=n.offsetHeight-r),u(t,s),h(t,s)}return e.complete?c():e.onload=c,{crop:function(){f=n.width*o,l=n.height*o,t.width=200,t.height=200,t.getContext("2d").drawImage(n,r,d,f,l)},removeHandlers:function(){i.removeEventListener("mousedown",b),i.removeEventListener("touchstart",b),i.removeEventListener("wheel",g),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",m),s.remove(),i.remove(),n.remove()}}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=s(4),f=o(s(9)),l=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{if(this.skippable)return void this.backBtn.click();const e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,d.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,s,i){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=i,this.skippable=s,this.onCloseAfterTimeout(),this.selector=new r.AppSelectPeers(this.contentDiv,s?null:e=>{this.nextBtn.classList.toggle("is-visible",!!e)},["contacts"]),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),this.nextBtn.classList.toggle("is-visible",s),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.addMembers)}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=o(s(15)),f=o(s(5)),l=o(s(13)),c=a(s(14)),u=s(0),h=o(s(29));t.default=class{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),d.default.setListClickListener(this.list),this.scrollable=new r.default(this.list.parentElement),this.searchInput=new h.default("Search",e=>{this.list.innerHTML="",this.openContacts(e)}),this.container.firstElementChild.append(this.searchInput.container)}onClose(){let e=l.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.searchInput.value=""}openContacts(e){if(-1===c.default.historyTabIDs.indexOf(c.AppSidebarLeft.SLIDERITEMSIDS.contacts)&&c.default.selectTab(c.AppSidebarLeft.SLIDERITEMSIDS.contacts),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=f.default.getContacts(e).then(e=>{if(this.promise=null,c.default.historyTabIDs[c.default.historyTabIDs.length-1]!=c.AppSidebarLeft.SLIDERITEMSIDS.contacts)return void console.warn("user closed contacts before it's loaded");const t=[...e];t.findAndSplice(e=>e==u.$rootScope.myID);let s=t.map(e=>{let t=f.default.getUser(e);return{user:t,status:f.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=l.default.windowH/72*1.25|0;s.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:s}=d.default.addDialog(e.id,this.list,!1),i=f.default.getUserStatusString(e.id);s.lastMessageSpan.innerHTML="online"==i?`${i}`:i}),s.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(42),d=o(s(45)),f=o(s(9)),l=a(s(14)),c=o(s(6)),u=o(s(15)),h=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new r.SearchGroup(" ","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{d.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{const e=this.groupNameInput.value;this.nextBtn.classList.toggle("is-visible",!!e.length)}),this.nextBtn.addEventListener("click",()=>{const e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),l.default.selectTab(0)})});const e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new c.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear();this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1,this.searchGroup.clear()}init(e){this.userIDs=e,l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.newGroup),this.userIDs.forEach(e=>{let{dom:t}=u.default.addDialog(e,this.searchGroup.list,!1,!1),s="";s=h.default.getUserStatusString(e),"online"==s&&(s=`${s}`),s&&(t.lastMessageSpan.innerHTML=s)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=s(0),f=o(s(2)),l=a(s(14)),c=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},r.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),d.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{f.default.logOut().finally(()=>{localStorage.clear(),location.reload()})}),this.buttons.edit.addEventListener("click",()=>{l.default.editProfileTab.fillElements(),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.editProfile)}),this.buttons.folders.addEventListener("click",()=>{l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.chatFolders)})}fillElements(){let e=c.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(45)),a=i(s(2)),o=i(s(27)),r=i(s(14)),d=i(s(6)),f=i(s(5)),l=s(0);t.default=class{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{n.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void a.default.invokeApi("account.checkUsername",{username:t}).then(s=>{this.userNameInput.value==t&&(s?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},s=>{if(this.userNameInput.value==t)switch(s.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(o.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{r.default.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{o.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(o.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new d.default(this.scrollWrapper,"y")}fillElements(){var e,t,s;let i=f.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=i.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=i.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(s=i.username)&&void 0!==s?s:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",o.default.getProfile(i.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+l.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(17)),a=i(s(2)),o=i(s(7)),r=s(3),d=i(s(8)),f=s(0),l=i(s(14)),c=s(19),u=s(44);t.default=class{constructor(){this.filtersRendered={}}renderFolder(e,t,s=document.createElement("div")){let i,n="",a=[];if("dialogFilterSuggested"==e._)i=e.filter,n=e.description;else{i=e,n="";const t=i.id;if(this.filtersRendered.hasOwnProperty(i.id)||s.addEventListener("click",()=>{l.default.editFolderTab.open(o.default.filtersStorage.filters[t])}),this.filtersRendered[i.id]=s,1==Object.keys(i.pFlags).length){n="All ";const e=i.pFlags;e.contacts?n+="Contacts":e.non_contacts?n+="Non-Contacts":e.groups?n+="Groups":e.broadcasts?n+="Channels":e.bots?n+="Bots":e.exclude_muted?n+="Unmuted":e.exclude_read?n+="Unread":e.exclude_archived&&(n+="Unarchived"),a.push(n)}else{const e=o.default.dialogsStorage.getFolder(i.id);let t=0,s=0,n=0;for(const i of e)d.default.isAnyGroup(i.peerID)?n++:d.default.isBroadcast(i.peerID)?s++:t++;t&&a.push(t+" chats"),s&&a.push(s+" channels"),n&&a.push(n+" groups")}}return s.classList.add("category","rp-square"),s.innerHTML=`\n
\n

${r.RichTextProcessor.wrapEmojiText(i.title)}

\n

${a.length?a.join(", "):n}

\n
\n `,c.ripple(s),t&&t.append(s),s}init(){this.container=document.querySelector(".chat-folders-container"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.foldersContainer=this.container.querySelector(".folders-my"),this.suggestedContainer=this.container.querySelector(".folders-suggested"),this.createFolderBtn=this.container.querySelector(".btn-create-folder"),this.createFolderBtn.addEventListener("click",()=>{Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):l.default.editFolderTab.open()}),n.default.loadAnimationFromURL({container:this.stickerContainer,loop:!1,autoplay:!0,width:86,height:86},"assets/img/Folders_1.tgs").then(e=>{this.animation=e}),o.default.filtersStorage.getDialogFilters().then(e=>{for(const t in e){const s=e[t];this.renderFolder(s,this.foldersContainer)}}),f.$rootScope.$on("filter_update",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)?this.renderFolder(t,null,this.filtersRendered[t.id]):this.renderFolder(t,this.foldersContainer),this.getSuggestedFilters()}),f.$rootScope.$on("filter_delete",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)&&(this.getSuggestedFilters(),this.filtersRendered[t.id].remove(),delete this.filtersRendered[t.id])}),this.getSuggestedFilters()}getSuggestedFilters(){a.default.invokeApi("messages.getSuggestedDialogFilters").then(e=>{this.suggestedContainer.style.display=e.length?"":"none",Array.from(this.suggestedContainer.children).slice(1).forEach(e=>e.remove()),e.forEach(e=>{const t=this.renderFolder(e),s=document.createElement("button");s.classList.add("btn-primary"),s.innerText="Add",t.append(s),this.suggestedContainer.append(t),s.addEventListener("click",i=>{f.cancelEvent(i),Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):(s.setAttribute("disabled","true"),o.default.filtersStorage.createDialogFilter(e.filter).then(e=>{e&&t.remove()}).finally(()=>{s.removeAttribute("disabled")}))})})})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(s(14)),d=o(s(17)),f=o(s(7)),l=s(4),c=o(s(15)),u=s(0),h=s(44),p=s(19);t.default=class{constructor(){this.flags={}}init(){this.container=document.querySelector(".edit-folder-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.title=this.container.querySelector(".sidebar-header__title"),this.caption=this.container.querySelector(".caption"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.menuBtn=this.container.querySelector(".btn-menu-toggle"),this.deleteFolderBtn=this.menuBtn.querySelector(".menu-delete"),this.nameInput=this.container.querySelector("#folder-name"),this.include_peers=this.container.querySelector(".folder-list-included"),this.exclude_peers=this.container.querySelector(".folder-list-excluded");const e=this.include_peers.querySelector(".folder-categories"),t=this.exclude_peers.querySelector(".folder-categories");l.parseMenuButtonsTo(this.flags,e.children),l.parseMenuButtonsTo(this.flags,t.children),e.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"included")}),t.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"excluded")}),d.default.loadAnimationFromURL({container:this.stickerContainer,loop:!0,autoplay:!0,width:86,height:86},"assets/img/Folders_2.tgs").then(e=>{this.animation=e}),this.deleteFolderBtn.addEventListener("click",()=>{this.deleteFolderBtn.setAttribute("disabled","true"),f.default.filtersStorage.updateDialogFilter(this.filter,!0).then(e=>{e&&this.closeBtn.click()}).finally(()=>{this.deleteFolderBtn.removeAttribute("disabled")})}),this.confirmBtn.addEventListener("click",()=>{if(!this.nameInput.value.trim())return void this.nameInput.classList.add("error");let t,s=Array.from(e.children).slice(1).reduce((e,t)=>e+ +!t.style.display,0);"UL"==this.include_peers.lastElementChild.tagName&&(s+=this.include_peers.lastElementChild.childElementCount),s?(this.confirmBtn.setAttribute("disabled","true"),t=this.filter.id?f.default.filtersStorage.updateDialogFilter(this.filter):f.default.filtersStorage.createDialogFilter(this.filter),t.then(e=>{e&&this.closeBtn.click()}).catch(e=>{"DIALOG_FILTERS_TOO_MUCH"==e.type?h.toast("Sorry, you can't create more folders."):console.error("updateDialogFilter error:",e)}).finally(()=>{this.confirmBtn.removeAttribute("disabled")})):h.toast("Please choose at least one chat for this folder.")}),this.nameInput.addEventListener("input",()=>{this.nameInput.value.length>12?this.nameInput.value=this.nameInput.value.slice(0,12):(this.filter.title=this.nameInput.value,this.nameInput.classList.remove("error"),this.editCheckForChange())})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}onCloseAfterTimeout(){Array.from(this.container.querySelectorAll("ul, .show-more")).forEach(e=>e.remove())}onCreateOpen(){this.caption.style.display="",this.title.innerText="New Folder",this.menuBtn.classList.add("hide"),this.confirmBtn.classList.remove("hide"),this.nameInput.value="";for(const e in this.flags)this.flags[e].style.display="none"}onEditOpen(){this.caption.style.display="none",this.title.innerText="create"==this.type?"New Folder":"Edit Folder","edit"==this.type&&(this.menuBtn.classList.remove("hide"),this.confirmBtn.classList.add("hide"));const e=this.filter;this.nameInput.value=e.title;for(const t in this.flags)this.flags[t].style.display=e.pFlags[t]?"":"none";["include_peers","exclude_peers"].forEach(t=>{const s=this[t],i=document.createElement("ul"),n=e[t].slice(),a=e=>{for(let t=0,s=Math.min(n.length,e);t
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`:o&&o.remove()};let o;s.append(i),n.length&&(o=document.createElement("div"),o.classList.add("show-more"),o.addEventListener("click",()=>a(20)),o.innerHTML=`
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`,p.ripple(o),s.append(o)),a(4)})}editCheckForChange(){if("edit"==this.type){const e=!u.deepEqual(this.originalFilter,this.filter);this.confirmBtn.classList.toggle("hide",!e),this.menuBtn.classList.toggle("hide",e)}}setFilter(e,t){this.onCloseAfterTimeout(),t?(this.originalFilter=e,this.filter=u.copy(e)):(this.filter=e,this.onEditOpen(),this.editCheckForChange())}open(e){r.default.selectTab(r.AppSidebarLeft.SLIDERITEMSIDS.editFolder),void 0===e?(this.setFilter({_:"dialogFilter",flags:0,id:0,title:"",pFlags:{},pinned_peers:[],include_peers:[],exclude_peers:[]},!0),this.type="create",this.onCreateOpen()):(this.setFilter(e,!0),this.type="edit",this.onEditOpen())}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=a(s(14)),f=o(s(15)),l=o(s(8)),c=o(s(5)),u=s(0);t.default=class{constructor(){this.renderResults=e=>{const t="included"==this.type?this.filter.exclude_peers:this.filter.include_peers;e.forEach(e=>{if(t.includes(e))return;const{dom:s}=f.default.addDialog(e,this.selector.scrollable,!1,!1),i=this.selector.selected.has(e);s.containerEl.insertAdjacentHTML("beforeend",this.checkbox(i)),i&&s.listEl.classList.add("active");let n="";n=e>0?e==u.$rootScope.myID?"Chat with yourself":c.default.isBot(e)?"Bot":c.default.contactsList.has(e)?"Contact":"Non-Contact":l.default.isBroadcast(e)?"Channel":"Group",s.lastMessageSpan.innerHTML=n})},this.onSelectChange=e=>{"included"==this.type&&(this.confirmBtn.style.display=e?"":"none")}}init(){this.container=document.querySelector(".included-chats-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.title=this.container.querySelector(".sidebar-header__title"),this.confirmBtn.addEventListener("click",()=>{const e=this.selector.getSelected();if("included"==this.type)for(const e in this.filter.pFlags)0!==e.indexOf("exclude_")&&delete this.filter.pFlags[e];else for(const e in this.filter.pFlags)0===e.indexOf("exclude_")&&delete this.filter.pFlags[e];const t=[];for(const s of e)"number"==typeof s?t.push(s):this.filter.pFlags[s]=!0;this.filter["included"==this.type?"include_peers":"exclude_peers"]=t,d.default.editFolderTab.setFilter(this.filter,!1),this.closeBtn.click()})}checkbox(e){return`
`}onOpen(){this.init&&(this.init(),this.init=null),this.confirmBtn.style.display="excluded"==this.type?"":"none",this.title.innerText="included"==this.type?"Included Chats":"Excluded Chats";const e=this.filter,t=document.createDocumentFragment(),s=document.createElement("div");s.classList.add("sidebar-left-h2"),s.innerText="Chat types";const i=document.createElement("div");let n;i.classList.add("folder-categories"),n="excluded"==this.type?{exclude_muted:{ico:"tgico-mute",text:"Muted"},exclude_archived:{ico:"tgico-archive",text:"Archived"},exclude_read:{ico:"tgico-readchats",text:"Read"}}:{contacts:{ico:"tgico-newprivate",text:"Contacts"},non_contacts:{ico:"tgico-noncontacts",text:"Non-Contacts"},groups:{ico:"tgico-group",text:"Groups"},broadcasts:{ico:"tgico-newchannel",text:"Channels"},bots:{ico:"tgico-bots",text:"Bots"}};let a="";for(const e in n)a+=`

${n[e].text}

${this.checkbox()}
`;i.innerHTML=a;const o=document.createElement("hr");o.style.margin="7px 0 9px";const d=document.createElement("div");d.classList.add("sidebar-left-h2"),d.innerText="Chats",t.append(s,i,o,d);const f=("included"==this.type?e.include_peers:e.exclude_peers).slice();this.selector=new r.AppSelectPeers(this.container,this.onSelectChange,["dialogs"],null,this.renderResults),this.selector.selected=new Set(f),this.selector.input.placeholder="Search";const l=this.selector.add.bind(this.selector);this.selector.add=(e,t)=>{var s;const i=l(e,null===(s=n[e])||void 0===s?void 0:s.text);return n[e]&&i.querySelector("avatar-element").classList.add(n[e].ico),i},this.selector.list.parentElement.insertBefore(t,this.selector.list),f.forEach(e=>{this.selector.add(e)});for(const t in e.pFlags)n.hasOwnProperty(t)&&e.pFlags[t]&&i.querySelector(`[data-peerID="${t}"]`).click()}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}open(e,t){this.originalFilter=e,this.filter=u.copy(this.originalFilter),this.type=t,d.default.selectTab(d.AppSidebarLeft.SLIDERITEMSIDS.includedChats)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=i(s(6)),a=s(3),o=i(s(2)),r=i(s(55)),d=i(s(12)),f=s(0),l=s(20),c=i(s(7)),u=s(57),h=i(s(96)),p=i(s(54)),m=s(1),g=i(s(11)),b=i(s(46)),v=i(s(100));t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new n.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.btnCancelRecord=this.btnSend.parentElement.previousElementSibling,this.lastUrl="",this.lastTimeType=0,this.inputContainer=this.btnSend.parentElement.parentElement,this.chatInput=this.inputContainer.parentElement,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.recording=!1,this.recordCanceled=!1,this.recordTimeEl=this.inputContainer.querySelector(".record-time"),this.recordRippleEl=this.inputContainer.querySelector(".record-ripple"),this.recordStartTime=0,this.scrollTop=0,this.scrollOffsetTop=0,this.scrollDiff=0,this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle");try{this.recorder=new h.default({encoderSampleRate:48e3,monitorGain:0,numberOfChannels:1,recordingGain:1,reuseWorker:!0})}catch(e){this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"),console.error("Recorder constructor error:",e)}this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key&&!m.touchSupport){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),m.touchSupport&&(this.messageInput.addEventListener("touchend",e=>{this.saveScroll(),b.default.toggle(!1)}),window.addEventListener("resize",()=>{this.restoreScroll()})),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,s=a.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(s){let e=t.slice(s.offset,s.offset+s.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,o.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{r.default.saveWebPage(t),this.lastUrl==e&&(this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")||!this.recorder){this.recorder&&(this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2"));let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,c.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2")),c.default.setTyping("sendMessageCancelAction")}),a.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let s=t.getRangeAt(0),i=s.commonAncestorContainer,n="",a=Array.from(i.childNodes).slice(s.startOffset,s.endOffset);n=a.length?this.serializeNodes(a):t.toString(),event.clipboardData.setData("text/plain",n),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=a.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,i)=>{let n={};n.file=e;let a=document.createElement("div");switch(s.type){case"media":{let s=0===e.type.indexOf("video/");if(a.classList.add("popup-item-media"),s){let s=document.createElement("video"),i=document.createElement("source");i.src=n.objectURL=URL.createObjectURL(e),s.autoplay=!1,s.controls=!1,s.muted=!0,s.setAttribute("playsinline",""),s.onloadeddata=()=>{n.width=s.videoWidth,n.height=s.videoHeight,n.duration=Math.floor(s.duration),a.append(s),t(a)},s.append(i)}else{let s=new Image;s.src=n.objectURL=URL.createObjectURL(e),s.onload=()=>{n.width=s.naturalWidth,n.height=s.naturalHeight,a.append(s),t(a)}}break}case"document":{let s=l.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);n.objectURL=URL.createObjectURL(e),a.append(s),t(a);break}}s.sendFileDetails.push(n)}),t=t=>{this.fileInput.value="";let i=this.attachMediaPopUp.container.firstElementChild;if(i.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",s.sendFileDetails=[],(t=t.filter(e=>"media"!=s.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==s.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),i.classList.add("is-document");else{i.classList.add("is-media");let e=0,s=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++s}),e&&s?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):s&&(this.attachMediaPopUp.titleEl.innerText="Send "+(s>1?s+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==s.type)if(s.sendFileDetails.length>1){i.classList.add("is-album");let t=new u.Layouter(s.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:s,sides:i}of t){let t=e.shift();t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.top=s.y+"px",t.style.left=s.x+"px",i&u.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=s.width+s.x+"px"),i&u.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=s.height+s.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}}else{let t=s.sendFileDetails[0],i=e[0],{w:n,h:a}=f.calcImageInBox(t.width,t.height,380,320);i.style.width=n+"px",i.style.height=a+"px",this.attachMediaPopUp.mediaContainer.append(i)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},s={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let s=e.target.files;s.length&&t(Array.from(s))},!1),this.attachMenu.media.addEventListener("click",()=>{this.fileInput.setAttribute("accept","image/*, video/*"),s.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{this.fileInput.removeAttribute("accept"),s.type="document",this.fileInput.click()}),this.attachMenu.poll.addEventListener("click",()=>{(new v.default).show()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var i=(e.clipboardData||e.originalEvent.clipboardData).items;for(let n=0;n{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;s.isMedia="media"==s.type;let t=d.default.peerID;if(s.sendFileDetails.length>1&&s.isMedia)c.default.sendAlbum(t,s.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},s));else{e&&s.sendFileDetails.length>1&&(c.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);s.sendFileDetails.map(i=>{let n=c.default.sendFile(t,i.file,Object.assign({isMedia:i.file.type.includes("audio/")||s.isMedia,caption:e,replyToMsgID:this.replyToMsgID},i));return e="",this.replyToMsgID=0,n})}this.onMessageSent()});const i=e=>{f.cancelEvent(e),this.btnSend.classList.contains("tgico-send")||!this.recorder?this.recording?this.recorder.stop():this.sendMessage():this.recorder.start().then(()=>{this.recordCanceled=!1,this.btnSend.classList.add("tgico-send"),this.chatInput.classList.add("is-recording"),this.recording=!0,p.default.setKeepAlive(!0),this.recordStartTime=Date.now();const e=this.recorder.sourceNode,t=e.context.createAnalyser();e.connect(t),t.fftSize=32;const s=new Uint8Array(t.frequencyBinCount),i=255*s.length;let n=()=>{if(!this.recording)return;t.getByteFrequencyData(s);let e=0;s.forEach(t=>{e+=t});let a=Math.min(1,e/i+.36);this.recordRippleEl.style.transform=`scale(${a})`;let o=Date.now()-this.recordStartTime,r=o%1e3,d=(""+o/1e3).toHHMMSS()+","+("00"+Math.round(r/10)).slice(-2);this.recordTimeEl.innerText=d,window.requestAnimationFrame(n)};n()}).catch(e=>{console.error("Recorder start error:",e)})};if(this.btnSend.addEventListener("touchend",i),this.btnSend.addEventListener("click",i),this.recorder){const e=e=>{f.cancelEvent(e),this.recordCanceled=!0,this.recorder.stop(),p.default.setKeepAlive(!1)};this.btnCancelRecord.addEventListener("touchend",e),this.btnCancelRecord.addEventListener("click",e),this.recorder.onstop=()=>{this.recording=!1,this.chatInput.classList.remove("is-recording"),this.btnSend.classList.remove("tgico-send"),this.recordRippleEl.style.transform=""},this.recorder.ondataavailable=e=>{if(this.recordCanceled)return;const t=(Date.now()-this.recordStartTime)/1e3|0,s=new Blob([e],{type:"audio/ogg"});performance.now();p.default.decode(e,!0).then(e=>{p.default.setKeepAlive(!1);let i=d.default.peerID;c.default.sendFile(i,s,{isVoiceMessage:!0,isMedia:!0,duration:t,waveform:e.waveform,objectURL:e.url,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0)})}}this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=c.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"));this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0,t){let s=c.default.getDialogByPeerID(d.default.peerID)[0];s&&s.top_message&&c.default.readHistory(d.default.peerID,s.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.noWebPage=!1,this.willSendWebPage=null,this.messageInput.innerText="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))),(t||e)&&(this.replyToMsgID=0,this.replyElements.container.classList.remove("active"))}sendMessage(){let e=f.getRichValue(this.messageInput);this.editMsgID?c.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):c.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}sendMessageWithDocument(e){return"documentEmpty"!=(e=g.default.getDoc(e))._&&(c.default.sendFile(d.default.peerID,e,{isMedia:!0,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0),"sticker"==e.type&&b.default.stickersTab.pushRecentSticker(e),!0)}setTopInfo(e,t,s,i){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(l.wrapReply(e,t,i))),this.replyElements.container.classList.add("active"),void 0!==s&&(this.messageInput.innerHTML=s?a.RichTextProcessor.wrapRichText(s):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}saveScroll(){this.scrollTop=d.default.scrollable.container.scrollTop,this.scrollOffsetTop=this.chatInput.offsetTop}restoreScroll(){if(this.chatInput.style.display)return;let e=this.chatInput.offsetTop,t=d.default.scrollable.container,s=t.scrollTop,i=t.clientHeight,n=t.scrollHeight;if(e{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,s)=>{var i=s=>{switch(s.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=s.data.samplePosition,e(s.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,s)=>{var i=s=>{"flushed"===s.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var s=i=>{"done"===i.data.message&&(e.removeEventListener("message",s),t())};e.addEventListener("message",s),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,s){return e.set(s,t),t+s.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,s(1))},function(e,t){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(e){"object"==typeof window&&(s=window)}e.exports=s}])},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(63)),o=i(s(6)),r=s(4),d=i(s(2)),f=i(s(11));t.default=class{init(){this.content=document.getElementById("content-gifs");const e=this.content.firstElementChild;e.addEventListener("click",n.EmoticonsDropdown.onMediaClick);const t=new a.default(e),s=(new o.default(this.content,"y","GIFS",null),r.putPreloader(this.content,!0));d.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;s.remove(),i.gifs.forEach((e,s)=>{i.gifs[s]=f.default.saveDoc(e),t.add(i.gifs[s],n.EMOTICONSSTICKERGROUP,n.EmoticonsDropdown.lazyLoadQueue)})}),this.init=null}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(6)),o=i(s(1)),r=s(4),d=i(s(40)),f=s(3),l=i(s(12));t.default=class{constructor(){this.recent=[],this.onContentClick=e=>{let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;l.default.chatInputC.messageInput.innerHTML+=t.outerHTML;const s=this.getEmojiFromElement(t);Array.from(this.recentItemsDiv.children).forEach((e,t)=>{const i=this.getEmojiFromElement(e);s==i&&e.remove()});this.recentItemsDiv.scrollHeight;this.appendEmoji(s,this.recentItemsDiv,!0),this.recent.findAndSplice(e=>e==s),this.recent.unshift(s),this.recent.length>36&&(this.recent.length=36),d.default.pushToState("recentEmoji",this.recent);const i=new Event("input",{bubbles:!0,cancelable:!0});l.default.chatInputC.messageInput.dispatchEvent(i)}}init(){this.content=document.getElementById("content-emoji");const e=["Smileys & Emotion","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Flags","Skin Tones"],t={},s={Recent:[]};for(const t in o.default.Emoji){const i=""+o.default.Emoji[t],n=e[+i[0]-1];n&&(s[n]||(s[n]=[]),s[n][+i.slice(1)||0]=t)}e.pop(),delete s["Skin Tones"];for(const e in s){const i=document.createElement("div");i.classList.add("emoji-category");const n=document.createElement("div");n.classList.add("category-title"),n.innerText=e;const a=document.createElement("div");a.classList.add("category-items"),i.append(n,a);s[e].forEach(e=>{e=e.split("-").reduce((e,t)=>e+String.fromCodePoint(parseInt(t,16)),""),this.appendEmoji(e,a,!1)}),t[e]=i}const i=this.content.previousElementSibling.firstElementChild,f=this.scroll=new a.default(this.content,"y","EMOJI",null),l=r.putPreloader(this.content,!0);Promise.all([new Promise(e=>setTimeout(e,200)),d.default.getState().then(e=>{Array.isArray(e.recentEmoji)&&(this.recent=e.recentEmoji)})]).then(()=>{l.remove(),this.recentItemsDiv=t.Recent.querySelector(".category-items");for(const e of this.recent)this.appendEmoji(e,this.recentItemsDiv);e.unshift("Recent"),e.map(e=>{const s=t[e];return s||console.error("no div by category:",e),f.append(s),this.stickyIntersector.observeStickyHeaderChanges(s),s})}),this.content.addEventListener("click",this.onContentClick),this.stickyIntersector=n.EmoticonsDropdown.menuOnClick(i,f),this.init=null}appendEmoji(e,t,s=!1){const i=document.createElement("span");let n;n=f.RichTextProcessor.wrapEmojiText(e),i.innerHTML=n,i.firstElementChild&&i.firstElementChild.setAttribute("loading","lazy"),s?t.prepend(i):t.appendChild(i)}getEmojiFromElement(e){return"SPAN"!=e.tagName||e.classList.contains("emoji")||(e=e.firstElementChild),e.getAttribute("alt")||e.innerText}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(s(46)),f=r(s(6)),l=s(20),c=r(s(43)),u=r(s(28)),h=s(59),p=r(s(17)),m=s(4),g=s(3),b=s(0),v=r(s(2)),y=r(s(11)),w=r(s(18));t.default=class{constructor(){this.stickerSets={},this.recentStickers=[],this.mounted=!1,this.queueCategoryPush=[],this.animatedDivs=new Set}categoryPush(e,t,s,i){const n=document.createElement("div");n.classList.add("category-items");const a=document.createElement("div");a.classList.add("category-title"),a.innerHTML=t,e.append(a,n),this.stickyIntersector.observeStickyHeaderChanges(e),this.queueCategoryPush.push({element:e,prepend:i}),s.then(e=>{e.forEach(e=>{n.append(this.renderSticker(e))}),this.queueCategoryPush.length&&(this.queueCategoryPush.forEach(({element:e,prepend:t})=>{t?this.recentDiv.parentElement?(this.scroll.prepend(e),this.scroll.prepend(this.recentDiv)):this.scroll.prepend(e):this.scroll.append(e)}),this.queueCategoryPush.length=0)})}renderSticker(e,t){return t||(t=document.createElement("div"),2==e.sticker&&(this.animatedDivs.add(t),this.animatedIntersector.observe(t))),l.wrapSticker({doc:e,div:t,lazyLoadQueue:d.EmoticonsDropdown.lazyLoadQueue,group:d.EMOTICONSSTICKERGROUP,onlyThumb:2==e.sticker}),t}renderStickerSet(e,t=!1){return o(this,void 0,void 0,(function*(){const s=document.createElement("div");s.classList.add("sticker-category");const i=document.createElement("li");i.classList.add("btn-icon"),this.stickerSets[e.id]={stickers:s,tab:i},t?this.menu.insertBefore(i,this.menu.firstElementChild.nextSibling):this.menu.append(i);const n=c.default.getStickerSet(e);this.categoryPush(s,g.RichTextProcessor.wrapEmojiText(e.title),n.then(e=>e.documents),t);const a=yield n;if(a.set.thumb){const e=c.default.getStickerSetThumbDownloadOptions(a.set),t=u.default.download(e);if(a.set.pFlags.animated)t.then(h.readBlobAsText).then(JSON.parse).then(e=>{p.default.loadAnimationWorker({container:i,loop:!0,autoplay:!1,animationData:e,width:32,height:32},d.EMOTICONSSTICKERGROUP)});else{const e=new Image;t.then(t=>{m.renderImageFromUrl(e,URL.createObjectURL(t),()=>{i.append(e)})})}}else l.wrapSticker({doc:a.documents[0],div:i,group:d.EMOTICONSSTICKERGROUP})}))}init(){this.content=document.getElementById("content-stickers"),this.recentDiv=document.createElement("div"),this.recentDiv.classList.add("sticker-category");let e=this.content.previousElementSibling;this.menu=e.firstElementChild.firstElementChild;let t=new f.default(e,"x"),s=document.createElement("div");s.classList.add("stickers-categories"),this.content.append(s),b.$rootScope.$on("stickers_installed",e=>{const t=e.detail;!this.stickerSets[t.id]&&this.mounted&&this.renderStickerSet(t,!0)}),b.$rootScope.$on("stickers_deleted",e=>{const t=e.detail;if(this.stickerSets[t.id]&&this.mounted){const e=this.stickerSets[t.id];e.stickers.remove(),e.tab.remove(),delete this.stickerSets[t.id]}}),s.addEventListener("click",d.EmoticonsDropdown.onMediaClick),this.scroll=new f.default(this.content,"y","STICKERS",void 0,void 0,2),this.scroll.setVirtualContainer(s),this.stickyIntersector=d.EmoticonsDropdown.menuOnClick(this.menu,this.scroll,t);const i=m.putPreloader(this.content,!0);Promise.all([c.default.getRecentStickers().then(e=>{this.recentStickers=e.stickers.slice(0,20),this.stickerSets.recent={stickers:this.recentDiv,tab:this.menu.firstElementChild},i.remove(),this.categoryPush(this.recentDiv,"Recent",Promise.resolve(this.recentStickers),!0)}),v.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>o(this,void 0,void 0,(function*(){let t=e;i.remove();for(let e of t.sets)this.renderStickerSet(e)})))]).finally(()=>{this.mounted=!0});const n=e=>{w.default.getAnimations(e).forEach(t=>{u.has(e)?w.default.checkAnimation(t,!1):w.default.checkAnimation(t,!0,!0)})},a=e=>{u.delete(e);const t=e.dataset.docID,s=y.default.getDoc(t);n(e),e.innerHTML="",this.renderSticker(s,e)};let r=!1;const u=new Set;this.animatedIntersector=new IntersectionObserver(e=>{r||e.forEach(e=>{const{target:t,isIntersecting:s}=e,i=t,o=i.dataset.docID,r=y.default.getDoc(o);if(s){if(u.has(i))return;u.add(i),l.wrapSticker({doc:r,div:i,width:80,height:80,lazyLoadQueue:null,group:d.EMOTICONSSTICKERGROUP,onlyThumb:!1,play:!0,loop:!0}).then(()=>{n(i)})}else a(i)})}),d.default.events.onClose.push(()=>{r=!0}),d.default.events.onCloseAfter.push(()=>{const e=[...u];for(const t of e)a(t)}),d.default.events.onOpenAfter.push(()=>{r=!1,this.animatedIntersector.disconnect();const e=[...this.animatedDivs];for(const t of e)this.animatedIntersector.observe(t)}),this.init=null}pushRecentSticker(e){if(!this.recentDiv.parentElement)return;let t=this.recentDiv.querySelector(`[data-doc-i-d="${e.id}"]`);t||(t=this.renderSticker(e));const s=this.recentDiv.querySelector(".category-items");s.prepend(t),s.childElementCount>20&&Array.from(s.children).slice(20).forEach(e=>e.remove())}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(6)),o=i(s(7)),r=s(0),d=s(44),f=(e,t,s)=>{const i=document.createElement("div");return i.classList.add("input-field"),i.innerHTML=`\n \n \n `,i};class l extends n.PopupElement{constructor(){super("popup-create-poll popup-new-media",null,{closable:!0,withConfirm:"CREATE",body:!0}),this.tempID=0,this.onSubmitClick=e=>{const t=this.questionInput.value;if(!t.trim())return void d.toast("Please enter a question");const s=Array.from(this.questions.children).map((e,t)=>e.firstElementChild.value).filter(e=>!!e.trim());if(s.length<2)return void d.toast("Please enter at least two options");this.closeBtn.click(),this.confirmBtn.removeEventListener("click",this.onSubmitClick);const i={_:"poll",flags:0};i.question=t,i.answers=s.map((e,t)=>({_:"pollAnswer",text:e,option:new Uint8Array([t])})),o.default.sendOther(r.$rootScope.selectedPeerID,{_:"inputMediaPoll",flags:0,poll:i})},this.onInput=e=>{const t=e.target;t.value.length&&t.parentElement.classList.add("is-filled");!t.parentElement.nextElementSibling&&t.value.length&&this.questions.childElementCount<10&&this.appendMoreField()},this.onDeleteClick=e=>{e.target.parentElement.remove(),Array.from(this.questions.children).forEach((e,t)=>{e.firstElementChild.nextElementSibling.innerText="Option "+(t+1)})},this.title.innerText="New Poll";const e=f("Ask a Question","Ask a Question","question");this.questionInput=e.firstElementChild,this.header.append(e);const t=document.createElement("hr"),s=document.createElement("div");s.classList.add("caption"),s.innerText="Options",this.questions=document.createElement("div"),this.questions.classList.add("poll-create-questions"),this.body.parentElement.insertBefore(t,this.body),this.body.append(s,this.questions),this.confirmBtn.addEventListener("click",this.onSubmitClick),this.scrollable=new a.default(this.body,"y",void 0),this.appendMoreField()}appendMoreField(){const e=this.questions.childElementCount+1,t=f("Add an Option","Option "+e,"question-"+this.tempID++);t.firstElementChild.addEventListener("input",this.onInput);const s=document.createElement("span");s.classList.add("btn-icon","tgico-close"),t.append(s),s.addEventListener("click",this.onDeleteClick,{once:!0}),this.questions.append(t),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0)}}t.default=l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let s=this.bubblesByGroups.findAndSplice(e=>e.mid==t);s&&s.group.length&&(s.group.findAndSplice(t=>t==e),s.group.length?this.updateGroup(s.group):this.groups.findAndSplice(e=>e==s.group))}addBubble(e,t,s){let n,a=t.date,o=t.fromID;if(o==i.$rootScope.myID&&i.$rootScope.selectedPeerID==i.$rootScope.myID&&t.fwdFromID==o&&(o=-o),this.bubblesByGroups.length)if(s){let t=this.bubblesByGroups[0];t.fromID==o&&t.timestamp-a{if(!(n instanceof SVGDefsElement))if(t)n.removeAttributeNS(null,"clip-path");else{let t,a,o=s.dataset.clipID,r=s.firstElementChild.firstElementChild.lastElementChild,d=+n.getAttributeNS(null,"width"),f=+n.getAttributeNS(null,"height"),l=e.classList.contains("is-out"),c=e.classList.contains("is-reply"),u="";e.classList.contains("forwarded")||c?t=a=0:l?(t=e.classList.contains("is-group-first")?12:6,a=12):(t=12,a=e.classList.contains("is-group-first")?12:6),u=l?i.generatePathData(0,0,d-9,f,a,t,0,12):i.generatePathData(9,0,d-9,f,a,t,12,0),r.setAttributeNS(null,"d",u),n.setAttributeNS(null,"clip-path","url(#"+o+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let s=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(36);class n extends i.PopupElement{constructor(e,t){super("popup-date-picker",[{text:"CANCEL",isCancel:!0},{text:"JUMP TO DATE",callback:()=>{this.onPick&&this.onPick(this.selectedDate.getTime()/1e3|0)}}]),this.onPick=t,this.minDate=new Date("2013-08-01T00:00:00"),this.onPrevClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()-1),this.setMonth(),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.nextBtn.removeAttribute("disabled")},this.onNextClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()+1),this.setMonth(),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.prevBtn.removeAttribute("disabled")},this.onDateClick=e=>{const t=e.target;if(!t.dataset.timestamp)return;if(this.selectedEl){if(this.selectedEl==t)return;this.selectedEl.classList.remove("active")}t.classList.add("active");const s=+t.dataset.timestamp;this.selectedDate=new Date(s),this.setTitle(),this.setMonth()};const s=document.createElement("div");s.classList.add("popup-body"),this.controlsDiv=document.createElement("div"),this.controlsDiv.classList.add("date-picker-controls"),this.prevBtn=document.createElement("button"),this.prevBtn.classList.add("btn-icon","tgico-down","date-picker-prev"),this.prevBtn.addEventListener("click",this.onPrevClick),this.nextBtn=document.createElement("button"),this.nextBtn.classList.add("btn-icon","tgico-down","date-picker-next"),this.nextBtn.addEventListener("click",this.onNextClick),this.monthTitle=document.createElement("div"),this.monthTitle.classList.add("date-picker-month-title"),this.controlsDiv.append(this.prevBtn,this.monthTitle,this.nextBtn),this.monthsContainer=document.createElement("div"),this.monthsContainer.classList.add("date-picker-months"),this.monthsContainer.addEventListener("click",this.onDateClick),s.append(this.controlsDiv,this.monthsContainer),this.container.append(s);const i=document.createElement("div");i.classList.add("popup-centerer"),i.append(this.container),this.element.append(i),e.setHours(0,0,0,0),this.selectedDate=e,this.maxDate=new Date,this.maxDate.setHours(0,0,0,0),this.selectedMonth=new Date(this.selectedDate),this.selectedMonth.setDate(1),this.maxMonth=new Date(this.maxDate),this.maxMonth.setDate(1),this.minMonth=new Date(this.minDate),this.minMonth.setDate(1),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.setTitle(),this.setMonth()}setTitle(){const e=this.selectedDate.toString().split(" ",3);this.title.innerText=e[0]+", "+e[1]+" "+e[2]}setMonth(){this.monthTitle.innerText=["January","February","March","April","May","June","July","August","September","October","November","December"][this.selectedMonth.getMonth()]+" "+this.selectedMonth.getFullYear(),this.month&&this.month.remove(),this.month=document.createElement("div"),this.month.classList.add("date-picker-month");const e=["M","T","W","T","F","S","S"];this.month.append(...e.map(e=>{const t=document.createElement("span");return t.innerText=e,t}));const t=new Date(this.selectedMonth);let s=t.getDay()-1;-1==s&&(s=e.length-1);for(let e=0;ethis.maxDate&&s.setAttribute("disabled","true"),t.getTime()==this.selectedDate.getTime()&&(this.selectedEl=s,s.classList.add("active")),this.month.append(s),t.setDate(e+1)}while(1!=t.getDate());this.container.classList.toggle("is-max-lines",this.month.childElementCount/7>6),this.monthsContainer.append(this.month)}}t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PasswordManager=void 0;const n=i(s(2));class a{getState(e={}){return n.default.invokeApi("account.getPassword",{},e).then(e=>e)}check(e,t,s={}){return n.default.computeSRP(e,t).then(e=>n.default.invokeApi("auth.checkPassword",{password:e},s))}requestRecovery(e={}){return n.default.invokeApi("auth.requestPasswordRecovery",{},e)}recover(e,t={}){return n.default.invokeApi("auth.recoverPassword",{code:e},t)}}t.PasswordManager=a;const o=new a;t.default=o},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(2)),f=r(s(25)),l=r(s(31)),c=r(s(65)),u=r(s(48)),h=s(30),p=s(21),m=r(s(34));let g;const b=new f.default("page-signQR",!0,()=>g,()=>{g||(g=o(void 0,void 0,void 0,(function*(){const e=b.pageEl.querySelector(".auth-image");b.pageEl.querySelector(".a-qr").addEventListener("click",()=>{u.default.mount(),i=!0});const t=(yield Promise.all([Promise.resolve().then(()=>a(s(105)))]))[0].default;let i=!1;document.addEventListener("user_auth",()=>{i=!0,g=null},{once:!0});let n,r={ignoreErrors:!0};return()=>o(void 0,void 0,void 0,(function*(){for(i=!1;!i;)try{let s=yield d.default.invokeApi("auth.exportLoginToken",{api_id:h.App.id,api_hash:h.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==s._&&(r.dcID||(r.dcID=s.dc_id,d.default.setBaseDcID(s.dc_id)),s=yield d.default.invokeApi("auth.importLoginToken",{token:s.token},r)),"auth.loginTokenSuccess"==s._){let e=s.authorization;d.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!n||!p.bytesCmp(n,s.token)){n=s.token;let i="tg://login?token="+p.bytesToBase64(s.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:i,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let i=Date.now()/1e3,a=s.expires-i-m.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,c.default.mount(),i=!0,g=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),g.then(e=>{e()})});t.default=b},function(e,t,s){window,e.exports=function(e){var t={};function s(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,s),n.l=!0,n.exports}return s.m=e,s.c=t,s.d=function(e,t,i){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(i,n,function(t){return e[t]}.bind(null,n));return i},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=1)}([function(e,t,s){var i,n,a=function(){var e=function(e,t){var s=e,i=n[t],o=null,p=0,m=null,b=[],v={},y=function(e,t){o=function(e){for(var t=new Array(e),s=0;s=7&&L(e),null==m&&(m=E(s,i,b)),D(m,t)},w=function(e,t){for(var s=-1;s<=7;s+=1)if(!(e+s<=-1||p<=e+s))for(var i=-1;i<=7;i+=1)t+i<=-1||p<=t+i||(o[e+s][t+i]=0<=s&&s<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==s||6==s)||2<=s&&s<=4&&2<=i&&i<=4)},_=function(){for(var e=8;e>i&1);o[Math.floor(i/3)][i%3+p-8-3]=n}for(i=0;i<18;i+=1)n=!e&&1==(t>>i&1),o[i%3+p-8-3][Math.floor(i/3)]=n},M=function(e,t){for(var s=i<<3|t,n=a.getBCHTypeInfo(s),r=0;r<15;r+=1){var d=!e&&1==(n>>r&1);r<6?o[r][8]=d:r<8?o[r+1][8]=d:o[p-15+r][8]=d}for(r=0;r<15;r+=1)d=!e&&1==(n>>r&1),r<8?o[8][p-r-1]=d:r<9?o[8][15-r-1+1]=d:o[8][15-r-1]=d;o[p-8][8]=!e},D=function(e,t){for(var s=-1,i=p-1,n=7,r=0,d=a.getMaskFunction(t),f=p-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var l=0;l<2;l+=1)if(null==o[i][f-l]){var c=!1;r>>n&1)),d(i,f-l)&&(c=!c),o[i][f-l]=c,-1==(n-=1)&&(r+=1,n=7)}if((i+=s)<0||p<=i){i-=s,s=-s;break}}},E=function(e,t,s){for(var i=d.getRSBlocks(e,t),n=f(),o=0;o8*c)throw"code length overflow. ("+n.getLengthInBits()+">"+8*c+")";for(n.getLengthInBits()+4<=8*c&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*c||(n.put(236,8),n.getLengthInBits()>=8*c));)n.put(17,8);return function(e,t){for(var s=0,i=0,n=0,o=new Array(t.length),d=new Array(t.length),f=0;f=0?p.getAt(m):0}}var g=0;for(u=0;ui)&&(e=i,t=s)}return t}())},v.createTableTag=function(e,t){e=e||2;var s="";s+='',s+="";for(var i=0;i";for(var n=0;n';s+=""}return(s+="")+"
"},v.createSvgTag=function(e,t,s,i){var n={};"object"==typeof arguments[0]&&(e=(n=arguments[0]).cellSize,t=n.margin,s=n.alt,i=n.title),e=e||2,t=void 0===t?4*e:t,(s="string"==typeof s?{text:s}:s||{}).text=s.text||null,s.id=s.text?s.id||"qrcode-description":null,(i="string"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||"qrcode-title":null;var a,o,r,d,f=v.getModuleCount()*e+2*t,l="";for(d="l"+e+",0 0,"+e+" -"+e+",0 0,-"+e+"z ",l+=''+I(i.text)+"":"",l+=s.text?''+I(s.text)+"":"",l+='',l+='"},v.createDataURL=function(e,t){e=e||2,t=void 0===t?4*e:t;var s=v.getModuleCount()*e+2*t,i=t,n=s-t;return g(s,s,(function(t,s){if(i<=t&&t"};var I=function(e){for(var t="",s=0;s":t+=">";break;case"&":t+="&";break;case'"':t+=""";break;default:t+=i}}return t};return v.createASCII=function(e,t){if((e=e||1)<2)return function(e){e=void 0===e?2:e;var t,s,i,n,a,o=1*v.getModuleCount()+2*e,r=e,d=o-e,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},l={"██":"▀","█ ":"▀"," █":" "," ":" "},c="";for(t=0;t=d?l[a]:f[a];c+="\n"}return o%2&&e>0?c.substring(0,c.length-o-1)+Array(o+1).join("▀"):c.substring(0,c.length-1)}(t);e-=1,t=void 0===t?2*e:t;var s,i,n,a,o=v.getModuleCount()*e+2*t,r=t,d=o-t,f=Array(e+1).join("██"),l=Array(e+1).join(" "),c="",u="";for(s=0;s>>8),t.push(255&o)):t.push(i)}}return t}};var t,s,i,n={L:1,M:0,Q:3,H:2},a=(t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],i=function(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t},(s={}).getBCHTypeInfo=function(e){for(var t=e<<10;i(t)-i(1335)>=0;)t^=1335<=0;)t^=7973<5&&(s+=3+a-5)}for(i=0;i=256;)t-=255;return e[t]}}}();function r(e,t){if(void 0===e.length)throw e.length+"/"+t;var s=function(){for(var s=0;s>>7-t%8&1)},put:function(e,t){for(var i=0;i>>t-i-1&1))},getLengthInBits:function(){return t},putBit:function(s){var i=Math.floor(t/8);e.length<=i&&e.push(0),s&&(e[i]|=128>>>t%8),t+=1}};return s},l=function(e){var t=e,s={getMode:function(){return 1},getLength:function(e){return t.length},write:function(e){for(var s=t,n=0;n+2>>8&255)+(255&n),e.put(n,13),s+=2}if(s>>8)},writeBytes:function(e,s,i){s=s||0,i=i||e.length;for(var n=0;n0&&(t+=","),t+=e[s];return t+"]"}};return t},m=function(e){var t=e,s=0,i=0,n=0,a={read:function(){for(;n<8;){if(s>=t.length){if(0==n)return-1;throw"unexpected end of file./"+n}var e=t.charAt(s);if(s+=1,"="==e)return n=0,-1;e.match(/^\s$/)||(i=i<<6|o(e.charCodeAt(0)),n+=6)}var a=i>>>n-8&255;return n-=8,a}},o=function(e){if(65<=e&&e<=90)return e-65;if(97<=e&&e<=122)return e-97+26;if(48<=e&&e<=57)return e-48+52;if(43==e)return 62;if(47==e)return 63;throw"c:"+e};return a},g=function(e,t,s){for(var i=function(e,t){var s=e,i=t,n=new Array(e*t),a={setPixel:function(e,t,i){n[t*s+e]=i},write:function(e){e.writeString("GIF87a"),e.writeShort(s),e.writeShort(i),e.writeByte(128),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(255),e.writeByte(255),e.writeByte(255),e.writeString(","),e.writeShort(0),e.writeShort(0),e.writeShort(s),e.writeShort(i),e.writeByte(0);var t=o(2);e.writeByte(2);for(var n=0;t.length-n>255;)e.writeByte(255),e.writeBytes(t,n,255),n+=255;e.writeByte(t.length-n),e.writeBytes(t,n,t.length-n),e.writeByte(0),e.writeString(";")}},o=function(e){for(var t=1<>>n!=0)throw"length over";for(;s+n>=8;)t.writeByte(255&(e<>>=8-s,i=0,s=0;i|=e<0&&t.writeByte(i)}}}(d);f.write(t,i);var l=0,c=String.fromCharCode(n[l]);for(l+=1;l=6;)a(e>>>t-6),t-=6},n.flush=function(){if(t>0&&(a(e<<6-t),e=0,t=0),s%3!=0)for(var n=3-s%3,o=0;o>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(s++,i=65536+((1023&i)<<10|1023&e.charCodeAt(s)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return t}(e)},void 0===(n="function"==typeof(i=function(){return a})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,s){"use strict";s.r(t);var i={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},n=function(){return(n=Object.assign||function(e){for(var t,s=1,i=arguments.length;si.width||n>i.height)throw"The canvas is too small.";for(var a=Math.min(i.width,i.height),o=Math.floor(a/n),r=Math.floor((i.width-n*o)/2),d=Math.floor((i.height-n*o)/2),l=new f({context:s,type:i.dotsOptions.type}),c=function(a){for(var f=function(f){return e&&!e(a,f)?"continue":u._qr.isDark(a,f)?(s.fillStyle=i.dotsOptions.color,void l.draw(r+a*o,d+f*o,o,(function(s,i){return!(a+s<0||f+i<0||a+s>=n||f+i>=n)&&!(e&&!e(a+s,f+i))&&!!t._qr&&t._qr.isDark(a+s,f+i)}))):"continue"},c=0;ci||n&&n=(a+p)/2||t<(a-m)/2||t>=(a+m)/2})),i.drawImage(c,f+(a*r-d)/2,l+(a*r-h)/2,d,h),t()},c.src=n.image}))},e}(),c={},u=0;u<=40;u++)c[u]=u;var h=c,p={L:"L",M:"M",Q:"Q",H:"H"},m={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:p.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},g=s(0),b=s.n(g),v=function(){function e(e){this._options=e?r(m,e):m,this.update()}return e._clearContainer=function(e){e&&(e.innerHTML="")},e.prototype.update=function(t){e._clearContainer(this._container),this._options=t?r(this._options,t):this._options,this._options.data&&(this._qr=b()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return i.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(e):return i.alphanumeric;default:return i.byte}}(this._options.data)),this._qr.make(),this._canvas=new l(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},e.prototype.append=function(e){if(e){if("function"!=typeof e.appendChild)throw"Container should be a single DOM node";this._canvas&&e.appendChild(this._canvas.getCanvas()),this._container=e}},e.prototype.download=function(e){var t,s,i;this._canvas&&(t=this._canvas.getCanvas().toDataURL(e?"image/"+e:void 0),s="qr."+(e||"png"),(i=document.createElement("a")).download=s,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i))},e}(),y={dots:"dots",rounded:"rounded",square:"square"};s.d(t,"dotTypes",(function(){return y})),s.d(t,"errorCorrectionLevels",(function(){return p})),s.d(t,"errorCorrectionPercents",(function(){return d})),s.d(t,"modes",(function(){return i})),s.d(t,"qrTypes",(function(){return h})),t.default=v}]).default}]); \ No newline at end of file + */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const i=s(52);var n=Date.now();function a(e){return new i.BigInteger(e.toString(16),16)}function o(e){return new i.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function d(e,t){for(var s=atob(e),i=s.length,n=Math.ceil(i/1024),a=new Array(n),o=0;o{n.append(e)}),s=n.getBlob(i)}return s}function l(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function c(e){return new Uint8Array(e).buffer}function u(e){return void 0!==e.buffer?e:new Uint8Array(e)}function h(e,t){var s=e.byteLength||e.length,i=t.byteLength||t.length,n=new Uint8Array(s+i);return n.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),n.set(t instanceof ArrayBuffer?new Uint8Array(t):t,s),n.buffer}function p(e){var t=o(e).divideAndRemainder(a(4294967296));return[t[0].intValue(),t[1].intValue()]}function m(e){for(var t=e.words,s=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255);return i}t.dT=function(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=a,t.bigStringInt=o,t.bytesToHex=function(e){e=e||[];for(var t=[],s=0;s>>t&24),2!==t&&i-a!=1||(s+=String.fromCharCode(r(n>>>18&63),r(n>>>12&63),r(n>>>6&63),r(63&n)),n=0);return s.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=d,t.dataUrlToBlob=function(e){var t=e.split(",");return d(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=f,t.blobSafeMimeType=l,t.bytesCmp=function(e,t){var s=e.length;if(s!=t.length)return!1;for(var i=0;it);)s=s.slice(1);return s},t.bytesToArrayBuffer=c,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:c(e)},t.convertToUint8Array=u,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],s=0,i=(e=u(e)).length;st+=e.byteLength||e.length);var s=new Uint8Array(t);let i=0;return e.forEach(e=>{s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,i),i+=e.byteLength||e.length}),s},t.longToInts=p,t.bytesFromWords=m,t.bytesFromWordss=function(e){for(var t=[],s=0;s<4*e.length;s++)t.push(e[s>>>2]>>>24-s%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var s,i=t.length,n=[];for(s=0;s>>2]|=t[s]<<24-s%4*8;return new Uint32Array(n)},t.longToBytes=function(e){return m({words:p(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return a(e).shiftLeft(32).add(a(t)).toString(10)},t.addPadding=function(e,t=16,s,n=!1,a=!1){let o=t-(e.byteLength||e.length)%t;if(o>0&&(o{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((s,i)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,s(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,i(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppSidebarRight=void 0;const d=s(4),f=r(s(6)),l=s(0),c=r(s(7)),u=r(s(13)),h=r(s(8)),p=r(s(5)),m=r(s(27)),g=s(3),b=s(11),v=r(s(10)),y=r(s(56)),w=r(s(21)),_=s(18),S=a(s(43)),L=(r(s(42)),s(1)),M=r(s(60)),D=r(s(29)),E=s(26),I=r(s(85)),C=r(s(86)),P=r(s(87));let T=(e,t)=>{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let s=document.createElement("p");s.innerHTML=e,t.prepend(s),t.style.display=""})};const k=new I.default,A=new C.default,X=new P.default,x={contentMembers:"inputMessagesFilterContacts",contentMedia:"inputMessagesFilterPhotoVideo",contentDocuments:"inputMessagesFilterDocument",contentLinks:"inputMessagesFilterUrl",contentAudio:"inputMessagesFilterMusic"};let F=(()=>{class e extends M.default{constructor(){super(document.getElementById("column-right"),{[e.SLIDERITEMSIDS.stickers]:k,[e.SLIDERITEMSIDS.pollResults]:A,[e.SLIDERITEMSIDS.gifs]:X}),this.profileElements={},this.sharedMedia={},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["inputMessagesFilterContacts","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="inputMessagesFilterPhotoVideo",this.sharedMediaSelected=null,this.lazyLoadQueue=new w.default,this.historiesStorage={},this.usedFromHistory={},this.log=b.logger("SR",b.LogLevels.error),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.loadMutex=Promise.resolve(),this.onTransitionStart=()=>{const e=this.scroll.container;if("hidden"!==e.style.overflowY){const t=e.offsetWidth-e.clientWidth;e.style.overflowY="hidden",e.style.paddingRight=t+"px"}},this.onTransitionEnd=()=>{const e=this.scroll.container;e.style.overflowY="scroll",e.style.paddingRight="0"},this.stickersTab=k,this.pollResultsTab=A,this.gifsTab=X,this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=new D.default("Search"),this.searchCloseBtn.parentElement.append(this.searchInput.container),this.privateSearch=new S.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new S.SearchGroup("Private Search","messages")});let t=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new f.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},E.horizontalMenu(this.profileTabs,t,(e,t)=>{this.prevTabID!=e&&(-1!=this.prevTabID&&this.onTransitionStart(),this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)},()=>{this.scroll.onScroll(),this.onTransitionEnd()}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{const t=e.target,s=+t.dataset.mid;if(!s)return void this.log.warn("no messageID by click on target:",t);const i=c.default.getMessage(s),n=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),a=n.findIndex(e=>e==s),o=n.map(e=>({element:this.mediaDivsByIDs[e],mid:e}));y.default.openMedia(i,t,!1,this.sidebarEl,o.slice(a+1).reverse(),o.slice(0,a).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{v.default.mutePeer(this.peerID)}),window.addEventListener("resize",()=>{})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){const t=document.body.classList.contains("is-right-column-shown");let s;if(void 0!==e?e?t||(s=!0):t&&(s=!0):s=!0,!s)return Promise.resolve();if(L.mediaSizes.isMobile)return v.default.selectTab(t?1:2),Promise.resolve();const i=()=>{document.body.classList.toggle("is-right-column-shown",e)};return i(),new Promise(e=>{setTimeout(e,200)})}filterMessagesByType(e,t){let s=[];for(let t of e){let e=c.default.getMessage(t);e.media&&s.push(e)}let i=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of s){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||i.push(e))}break;case"inputMessagesFilterDocument":for(let e of s){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||i.push(e)}break;case"inputMessagesFilterUrl":for(let e of s)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&i.push(e);break;case"inputMessagesFilterMusic":for(let e of s)e.media.document&&"audio"==e.media.document.type&&i.push(e)}return i}performSearchResult(e,t){return o(this,void 0,void 0,(function*(){const s=this.peerID,i=[],n=[];let a;switch(t){case"inputMessagesFilterPhotoVideo":a=this.sharedMedia.contentMedia;for(const t of e){const e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,a=document.createElement("div");a.classList.add("media-item");const o="photo"==e._,r=o?u.default.getPhoto(e.id):null;let f;if(r)f=r.downloaded>0;else{const t=u.default.getDocumentCachedThumb(e.id);f=(null==t?void 0:t.downloaded)>0}if(!o){const t=document.createElement("span");t.classList.add("video-time"),a.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}const c=()=>u.default.preloadPhoto(o?e.id:e,u.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");const t=r&&r.url||u.default.getDocumentCachedThumb(e.id).url;if(t){const e=g?()=>{b.style.opacity="",h&&window.setTimeout(()=>{h.remove()},200)}:void 0;d.renderImageFromUrl(b,t,e)}});let h;const p=e.sizes||e.thumbs,m=!f&&p&&p[0].bytes;m&&(h=new Image,h.classList.add("media-image","thumbnail"),h.dataset.mid=""+t.mid,u.default.setAttachmentPreview(p[0].bytes,h,!1,!1),a.append(h));const g=!f||!m,b=new Image;if(b.dataset.mid=""+t.mid,b.classList.add("media-image"),g&&(b.style.opacity="0"),a.append(b),f||m){const t=new Promise((t,s)=>{(h||b).addEventListener("load",()=>{clearTimeout(i),t()});const i=setTimeout(()=>{this.log("didn't load",h,e,f,p),s()},1e3)});n.push(t)}(null==p?void 0:p.length)&&(f?c():this.lazyLoadQueue.push({div:a,load:c})),i.push(a),this.mediaDivsByIDs[t.mid]=a}break;case"inputMessagesFilterDocument":a=this.sharedMedia.contentDocuments;for(let t of e){let e=_.wrapDocument(t.media.document,!0,!1,t.mid);i.push(e)}break;case"inputMessagesFilterUrl":a=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,n=document.createElement("div"),a=document.createElement("div");if(a.classList.add("preview"),a.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),a.classList.add("empty"),e.photo){let t=()=>u.default.preloadPhoto(e.photo.id,u.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(a.classList.remove("empty"),a.innerText="",d.renderImageFromUrl(a,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:a,load:t})}let o=e.rTitle||"",r=e.rDescription||"",f=g.RichTextProcessor.wrapRichText(e.url||"");o||(o=e.display_url.split("/",1)[0]),n.append(a),n.insertAdjacentHTML("beforeend",`\n
${o}\n
${r}
\n
${f}
\n `),n.innerText.trim().length&&i.push(n)}break;case"inputMessagesFilterMusic":a=this.sharedMedia.contentAudio;for(let t of e){let e=_.wrapAudio(t.media.document,!0,t.mid);i.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&n.push(this.loadMutex),n.length&&(yield Promise.all(n),this.peerID!=s))this.log.warn("peer changed");else if(i.length&&a.append(...i),a){const t=a.parentElement;if(Array.from(t.children).slice(1).forEach(e=>{e.remove()}),!e.length&&!a.childElementCount){const e=document.createElement("div");e.innerText="Nothing interesting here yet...",e.classList.add("position-center","text-center","content-empty","no-select"),t.append(e)}}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);const s=this.peerID;let i=e?[this.sharedMediaType]:this.sharedMediaTypes;if(i=i.filter(e=>!this.loadedAllMedia[e]),!i.length)return;const n=3*(u.default.windowH/130|0),a=null!==(t=this.historiesStorage[s])&&void 0!==t?t:this.historiesStorage[s]={},o=i.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];const i=null!==(t=a[e])&&void 0!==t?t:a[e]=[];if(i.length&&this.usedFromHistory[e]n){let e=t.length-n;t=t.slice(0,t.length-e),s-=e}return this.usedFromHistory[e]=s,this.performSearchResult(t,e)}let o=i[i.length-1]||0,r=!o&&c.default.historiesStorage[s]?c.default.historiesStorage[s].history.slice():[];return o=!o&&r.length?r[r.length-1]:o,this.log("loadSidebarMedia: search house of glass pre",e,r,o),this.loadSidebarMediaPromises[e]=c.default.getSearch(s,"",{_:e},o,n).then(t=>{if(r=r.concat(t.history),i.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==s)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(o)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{this.sharedMedia[e].innerHTML="";const t=x[e];if(!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][t]){const t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||d.putPreloader(t,!0);const s=t.querySelector(".content-empty");s&&s.remove()}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){h.default.getPeerUsername(e)&&T(h.default.getPeerUsername(e),this.profileElements.username);let t=c.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),v.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});if(e>0){let t=p.default.getUser(e);t.phone&&e!=l.$rootScope.myID&&T(t.rPhone,this.profileElements.phone),m.default.getProfile(e,!0).then(t=>{this.peerID==e?t.rAbout&&e!=l.$rootScope.myID&&T(t.rAbout,this.profileElements.bio):this.log.warn("peer changed")})}else{let t=h.default.getPeer(e);m.default.getChatFull(t.id).then(t=>{this.peerID==e?t.about&&T(g.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}return e.SLIDERITEMSIDS={search:1,forward:2,stickers:3,pollResults:4,gifs:5},e})();t.AppSidebarRight=F;const B=new F;t.default=B},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(81));t.default=class{constructor(e,t,s,i){this.isAuthPage=t,this.onFirstMount=s,this.onMount=i,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return i(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount)try{const t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}catch(e){console.error("PAGE MOUNT ERROR:",e)}this.installed=!0}a.default.setPage(this)}))}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.horizontalMenu=void 0;const i=s(0);t.horizontalMenu=function(e,t,s,n,a=250){const o={};let r=null,d=-1;const f=s=>{if(s==d)return!1;const i=r,f=t.children[s];if("none"==t.dataset.slider)return i&&i.classList.remove("active"),f.classList.add("active"),d=s,r=f,void(n&&n());const l=d{i.style.transform="",i.style.filter="",i.classList.remove("active"),delete o[c],n&&n()},a)),d=s,r=f};if(e){const n=!e.classList.contains("no-stripe"),a="LI";e.addEventListener("click",(function(o){let r,l=o.target;if(l.tagName!=a&&(l=i.findUpTag(l,a)),!l)return!1;if(l.dataset.tab){if(r=+l.dataset.tab,-1==r)return!1}else r=i.whichChild(l);const c=t.children[r];if(s&&s(r,c),l.classList.contains("active")||r==d)return!1;const u=e.querySelector(a.toLowerCase()+".active");if(u&&u.classList.remove("active"),n&&-1!=d){const e=l.querySelector("i"),t=l.parentElement.children[d].querySelector("i");t.classList.remove("animate"),e.classList.remove("animate");const s=t.parentElement.parentElement.offsetLeft-e.parentElement.parentElement.offsetLeft,i=t.clientWidth/e.clientWidth;e.style.transform=`translate3d(${s}px, 0, 0) scale3d(${i}, 1, 1)`,requestAnimationFrame(()=>{e.classList.add("animate"),e.style.transform="none"})}l.classList.add("active"),f(r)}))}return f}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppProfileManager=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(13)),f=n(s(5)),l=s(3),c=n(s(8)),u=n(s(32)),h=n(s(19)),p=n(s(2)),m=s(4),g=n(s(38)),b=n(s(7)),v=n(s(28));class y{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var s=t.participants;void 0!==(r=this.chatsFull[s.id])&&(r.participants=t.participants,a.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var i=0,n=(s=r.participants.participants||[]).length;i{let t=e.detail,s=this.chatsFull[t],i=r.default.getChat(t);if(!i.photo||!s)return;let n="chatPhotoEmpty"==i.photo._;if(s.chat_photo&&n!=("photoEmpty"==s.chat_photo._))return delete this.chatsFull[t],void a.$rootScope.$broadcast("chat_full_update",t);if(n)return;let o=i.photo.photo_small,f=d.default.choosePhotoSize(s.chat_photo,0,0);JSON.stringify(o)!==JSON.stringify(f.location)&&(delete this.chatsFull[t],a.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let s={};return e.commands.forEach(e=>{s[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:s}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):p.default.invokeApi("users.getFullUser",{id:f.default.getUserInput(e)}).then(s=>(t&&t.phone_number?(s.user.phone=t.phone_number,(t.first_name||t.last_name)&&(s.user.first_name=t.first_name,s.user.last_name=t.last_name),f.default.saveApiUser(s.user)):f.default.saveApiUser(s.user,!0),s.profile_photo&&(s.profile_photo=d.default.savePhoto(s.profile_photo,{user_id:e})),void 0!==s.about&&(s.rAbout=l.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.bot_info&&(s.bot_info=this.saveBotInfo(s.bot_info)),b.default.savePinnedMessage(e,s.pinned_msg_id),this.usersFull[e]=s))}getPeerBots(e){var t=[];return e>=0&&!f.default.isBot(e)||c.default.isChannel(e)&&!c.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var s=e.bot_info;return s&&"botInfoEmpty"!=s._&&t.push(s),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);const s=t.full_chat;return s&&s.chat_photo&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s})}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);let s=t.full_chat;return s&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),s.pinned_msg_id&&(s.pinned_msg_id=o.default.getFullMessageID(s.pinned_msg_id,e)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];a.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let s=t&&t.pinned_msg_id;return!!s&&h.default.get("pinned_hidden"+e).then(e=>o.default.getMessageLocalID(s)!=e&&s)})}hideChannelPinnedMessage(e,t){let s={};s["pinned_hidden"+e]=o.default.getMessageLocalID(t),h.default.set(s),a.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,s){return p.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:s}).then(e=>{f.default.saveApiUser(e)})}uploadProfilePhoto(e){return p.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{f.default.saveApiUsers(e.users),p.default.getUserID().then(t=>{d.default.savePhoto(e.photo,{user_id:t}),u.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:a.tsNow(!0),photo:f.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return p.default.invokeApi("account.updateUsername",{username:e}).then(e=>{f.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putAvatar(e,t,s){return i(this,void 0,void 0,(function*(){const i=c.default.getInputPeerByID(t);if(!this.savedAvatarURLs[t]){const e={_:"inputPeerPhotoFileLocation",flags:0,peer:i,volume_id:s.photo_small.volume_id,local_id:s.photo_small.local_id},n={dcID:s.dc_id,location:e};yield v.default.download(n).then(e=>{this.savedAvatarURLs[t]=URL.createObjectURL(e)})}const n=new Image;m.renderImageFromUrl(n,this.savedAvatarURLs[t])?(e.innerHTML="",e.append(n)):(n.classList.add("fade-in"),n.addEventListener("load",()=>{e.innerHTML="",e.append(n)}))}))}putPhoto(e,t,s=!1,i=""){var n;const o=c.default.getPeerPhoto(t),r=o&&!o.empty&&o.photo_small,d=!!e.firstElementChild,l=a.$rootScope.myID;if(t==l&&s)return e.innerHTML="",e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),void e.classList.remove("tgico-avatar_deletedaccount");if(t>0){const s=f.default.getUser(t);if(s&&s.pFlags&&s.pFlags.deleted)return e.innerHTML="",e.style.backgroundColor="",void e.classList.add("tgico-avatar_deletedaccount")}if(!r||!d||!this.savedAvatarURLs[t]){let s,a="";if(t&&t!=l&&(a=c.default.getPeerColorByID(t)),e.innerHTML="",e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=a,i){const e=g.default.cleanSearchText(i,!1).split(" "),t=e.shift(),n=e.pop();s=t.charAt(0)+(n?n.charAt(0):"")}else s=null!==(n=c.default.getPeer(t).initials)&&void 0!==n?n:"";e.innerText=s.toUpperCase()}r&&this.putAvatar(e,t,o)}}t.AppProfileManager=y,t.default=new y},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDownloadManager=void 0;const n=s(0),a=i(s(2)),o=s(23),r=s(22);class d{constructor(){this.downloads={},this.progress={},this.progressCallbacks={},this.uploadID=0,n.$rootScope.$on("download_progress",e=>{const t=e.detail;this.progress[t.fileName]=t;const s=this.progressCallbacks[t.fileName];s&&s.forEach(e=>e(t));const i=this.downloads[t.fileName];i&&i.notifyAll(t)})}getNewDeferred(e){const t=o.deferredPromise();return t.cancel=()=>{const s=new Error("Download canceled");s.name="AbortError",a.default.cancelDownload(e),this.clearDownload(e),t.reject(s),t.cancel=()=>{}},t.finally(()=>{delete this.progress[e],delete this.progressCallbacks[e]}),this.downloads[e]=t}clearDownload(e){delete this.downloads[e]}download(e){const t=r.getFileNameByLocation(e.location,{fileName:e.fileName});if(this.downloads.hasOwnProperty(t))return this.downloads[t];const s=this.getNewDeferred(t);return a.default.downloadFile(e).then(s.resolve,s.reject),s}upload(e,t){if(!t){const s=null==e?void 0:e.type;if(s){const e=this.uploadID+++"."+s.split("/")[1];t=["image/jpeg","image/png","image/bmp"].indexOf(s)>=0?"photo"+e:0===s.indexOf("audio/")||["video/ogg"].indexOf(s)>=0?"audio"+e:0===s.indexOf("video/")?"video"+e:"document"+e}else t="upload-"+this.uploadID++}const s=this.getNewDeferred(t);return a.default.uploadFile({file:e,fileName:t}).then(s.resolve,s.reject),s.finally(()=>{this.clearDownload(t)}),s}getDownload(e){return this.downloads[e]}addProgressCallback(e,t){var s;const i=this.progress[e];(null!==(s=this.progressCallbacks[e])&&void 0!==s?s:this.progressCallbacks[e]=[]).push(t),i&&t(i)}createDownloadAnchor(e,t,s){const i=document.createElement("a");i.href=e,i.download=t,i.target="_blank",i.style.position="absolute",i.style.top="1px",i.style.left="1px",document.body.append(i);try{var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(n)}catch(t){console.error("Download click error",t);try{i.click()}catch(t){window.open(e,"_blank")}}setTimeout(()=>{i.remove(),s&&s()},100)}downloadToDisc(e,t){const s=this.download(e);return s.then(e=>{const s=URL.createObjectURL(e);this.createDownloadAnchor(s,t,()=>{URL.revokeObjectURL(s)})}),s}}t.AppDownloadManager=d,t.default=new d},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.prevValue="",this.timeout=0,this.onInput=()=>{if(!this.onChange)return;let e=this.input.value;e!=this.prevValue&&(this.prevValue=e,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.onChange(e)},200))},this.onClearClick=()=>{this.value="",this.onChange&&this.onChange("")},this.container=document.createElement("div"),this.container.classList.add("input-search"),this.onChange=t,this.input=document.createElement("input"),this.input.type="text",this.input.placeholder=e,this.input.autocomplete=Math.random().toString(36).substring(7);const s=document.createElement("span");s.classList.add("tgico","tgico-search"),this.clearBtn=document.createElement("span"),this.clearBtn.classList.add("tgico","btn-icon","tgico-close"),this.input.addEventListener("input",this.onInput),this.clearBtn.addEventListener("click",this.onClearClick),this.container.append(this.input,s,this.clearBtn)}get value(){return this.input.value}set value(e){this.input.value=e,this.prevValue=e,clearTimeout(this.timeout)}remove(){clearTimeout(this.timeout),this.input.removeEventListener("input",this.onInput),this.clearBtn.removeEventListener("click",this.onClearClick)}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4);const d=new(o(s(25)).default)("page-chats",!1,()=>{const e=Promise.resolve().then(()=>a(s(10)));return e.finally(()=>{Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let s=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),s.classList.remove("active")):r.openBtnMenu(s)})})}),e});t.default=d},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiUpdatesManager=void 0;const n=i(s(2)),a=s(0),o=i(s(8)),r=i(s(5)),d=i(s(9)),f=s(11);class l{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1,this.log=f.logger("UPDATES",f.LogLevels.error)}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var s=t.updates,i=0,n=s.length;i=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var s,i=t.pts,n=!1,a=0,o=0,r=t.pendingPtsUpdates.length;o=s.pts&&(n=s.pts,a=o);if(!n)return!1;for(this.log("pop pending pts updates",n,t.pendingPtsUpdates.slice(0,a+1)),t.pts=n,o=0;o<=a;o++)s=t.pendingPtsUpdates[o],this.saveUpdate(s);return t.pendingPtsUpdates.splice(0,a+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var s=2&e.flags,i=e.from_id||(s?a.$rootScope.myID:e.user_id),n=e.chat_id?-e.chat_id:s?e.user_id:a.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:i,to_id:o.default.getOutputPeer(n),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),d.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:this.log.warn("Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),n.default.invokeApi("updates.getDifference",{flags:0,pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return this.log("apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1;if("updates.differenceTooLong"!=t._){r.default.saveApiUsers(t.users),d.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const s="updates.difference"==t._?t.state:t.intermediate_state;e.seq=s.seq,e.pts=s.pts,e.date=s.date}else e.pts=t.pts,delete e.seq,delete e.date;"updates.differenceSlice"==t._?this.getDifference():(a.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){const t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),n.default.invokeApi("updates.getChannelDifference",{channel:d.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(s=>(t.pts="pts"in s?s.pts:void 0,"updates.channelDifferenceEmpty"==s._?(this.log("apply channel empty diff",s),t.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==s._?(this.log("channel diff too long",s),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(s.users),d.default.saveApiChats(s.chats),this.log("applying",s.other_updates.length,"channel other updates"),s.other_updates.forEach(e=>{this.saveUpdate(e)}),this.log("applying",s.new_messages.length,"channel new messages"),s.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),this.log("apply channel diff",t.pts),void("updates.channelDifference"!=s._||s.pFlags.final?(this.log("finished channel get diff"),a.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var s=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":s=-o.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":s=e.channel_id;break;case"updateChannelTooLong":if(!((s=e.channel_id)in this.channelStates))return!1}var i,n,f=s?this.getChannelState(s,e.pts):this.updatesState;if(f.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!f.lastPtsUpdateTime||f.lastPtsUpdateTime0&&!r.default.hasUser(c)&&(h="toPeer User")||c<0&&!d.default.hasChat(-c)&&(h="toPeer Chat"))return this.log.warn("Not enough data for message update",c,h,l),s&&d.default.hasChat(s)?this.getChannelDifference(s):this.forceGetDifference(),!1}else if(s&&!d.default.hasChat(s))return!1;if(e.pts){if(f.pts+(e.pts_count||0){s?this.getChannelDifference(s):this.getDifference()},5e3)}),f.syncPending.ptsAwaiting=!0,!1;if(e.pts>f.pts)f.pts=e.pts,i=!0,f.lastPtsUpdateTime=a.tsNow();else if(e.pts_count)return!1;s&&t.date&&this.updatesState.date0){var p=t.seq,m=t.seqStart||p;if(m!=f.seq+1&&m>f.seq)return this.log.warn("Seq hole",f,f.syncPending&&f.syncPending.seqAwaiting),void 0===f.pendingSeqUpdates[m]&&(f.pendingSeqUpdates[m]={seq:p,date:t.date,updates:[]}),f.pendingSeqUpdates[m].updates.push(e),f.syncPending||(f.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!f.syncPending.seqAwaiting||f.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=l,t.default=new l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesIDsManager=void 0;class i{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var s=this.channelLocals[t];return s||(s=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[s]=t,this.channelLocals[t]=s),s+e}getMessageIDInfo(e){if(e{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=o,t.default=new o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(e,t=!0,s=!1){this.cancelable=t,this.tempID=0,this.detached=!0,this.promise=null,this.preloader=document.createElement("div"),this.preloader.classList.add("preloader-container"),s&&this.preloader.classList.add("preloader-streamable"),this.preloader.innerHTML=`\n
\n \n \n \n
`,t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",e=>{i.cancelEvent(e),this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attachPromise(e){this.promise=e;const t=--this.tempID;e.finally(()=>{e.notify=null,t==this.tempID&&(this.detach(),this.promise=e=null)}),e.addNotifyListener&&e.addNotifyListener(e=>{if(t!=this.tempID)return;const s=e.done/e.total*100;this.setProgress(s)})}attach(e,t=!0,s,i=!0){s&&this.attachPromise(s),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[i?"append":"prepend"](this.preloader),this.cancelable&&t&&this.setProgress(0))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.remove())})}setProgress(e){if(i.isInDOM(this.circle))if(0!=e)try{const t=this.circle.getTotalLength();this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}catch(e){}else this.circle.style.strokeDasharray=""}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupPeer=t.PopupElement=void 0;const n=i(s(41)),a=s(17);class o{constructor(e,t,s={}){if(this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),s.closable&&(this.closeBtn=document.createElement("span"),this.closeBtn.classList.add("btn-icon","popup-close","tgico-close"),a.ripple(this.closeBtn),this.header.prepend(this.closeBtn),this.closeBtn.addEventListener("click",()=>{this.destroy()},{once:!0})),s.withConfirm&&(this.confirmBtn=document.createElement("button"),this.confirmBtn.classList.add("btn-primary"),this.confirmBtn.innerText=s.withConfirm,this.header.append(this.confirmBtn),a.ripple(this.confirmBtn)),this.container.append(this.header),s.body&&(this.body=document.createElement("div"),this.body.classList.add("popup-body"),this.container.append(this.body)),t&&t.length){const e=document.createElement("div");e.classList.add("popup-buttons");const s=t.map(e=>{const t=document.createElement("button");return t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,a.ripple(t),e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()},{once:!0}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()},{once:!0}),t});e.append(...s),this.container.append(e)}this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.onClose&&this.onClose(),this.element.classList.remove("active"),setTimeout(()=>{this.element.remove(),this.onCloseAfterTimeout&&this.onCloseAfterTimeout()},1e3)}}t.PopupElement=o;t.PopupPeer=class extends o{constructor(e,t={}){super("popup-peer"+(e?" "+e:""),t.buttons),this.className=e;let s=new n.default;s.setAttribute("dialog","1"),s.setAttribute("peer",""+t.peerID),s.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(s);let i=document.createElement("p");i.classList.add("popup-description"),i.innerHTML=t.description,this.container.insertBefore(i,this.header.nextElementSibling)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(7)),o=i(s(12)),r=s(1),d=s(23);const f=new class{constructor(){this.media={},this.waitingMediaForLoad={},this.onPause=e=>{n.$rootScope.$broadcast("audio_pause")},this.onEnded=e=>{if(this.onPause(e),this.nextMid){const e=this.media[this.nextMid];this.resolveWaitingForLoadMedia(this.nextMid),setTimeout(()=>{e.play()},0)}},this.container=document.createElement("div"),this.container.style.cssText="display: none;",document.body.append(this.container)}addMedia(e,t,s=!0){if(this.media[t])return this.media[t];const i=document.createElement("round"==e.type?"video":"audio");"round"==e.type&&i.setAttribute("playsinline",""),i.dataset.mid=""+t,i.dataset.type=e.type,i.volume=1,this.container.append(i),i.addEventListener("playing",()=>{this.playingMedia!=i&&(this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause(),this.playingMedia=i,this.loadSiblingsMedia(e.type,t)),setTimeout(()=>{n.$rootScope.$broadcast("audio_play",{doc:e,mid:t})},0)}),i.addEventListener("pause",this.onPause),i.addEventListener("ended",this.onEnded);const a=s=>{this.nextMid==t&&this.loadSiblingsMedia(e.type,t).then(()=>{this.nextMid&&this.media[this.nextMid]&&this.media[this.nextMid].play()})};i.addEventListener("error",a);const f=d.deferredPromise();s?f.resolve():this.waitingMediaForLoad[t]=f;const l=e.supportsStreaming?Promise.resolve():o.default.downloadDocNew(e);return Promise.all([f,l]).then(()=>{"audio"==e.type&&e.supportsStreaming&&r.isSafari&&this.handleSafariStreamable(i),i.src=e.url},a),this.media[t]=i}handleSafariStreamable(e){e.addEventListener("play",()=>{const t=e.currentTime;e.addEventListener("progress",()=>{e.currentTime=e.duration-1,e.addEventListener("progress",()=>{e.currentTime=t,e.paused||e.play()},{once:!0})},{once:!0})})}resolveWaitingForLoadMedia(e){const t=this.waitingMediaForLoad[e];t&&(t.resolve(),delete this.waitingMediaForLoad[e])}isSafariBuffering(e){return!!e.safariBuffering}setSafariBuffering(e,t){e.safariBuffering=t}loadSiblingsMedia(e,t){const s=this.playingMedia,i=a.default.getMessage(t);return this.prevMid=this.nextMid=0,a.default.getSearch(i.peerID,"",{_:"audio"==e?"inputMessagesFilterMusic":"inputMessagesFilterRoundVoice"},t,3,0,2).then(e=>{if(this.playingMedia==s){for(let s of e.history)if(s>t)this.nextMid=s;else if(s{const t=a.default.getMessage(e);this.addMedia(t.media.document,e,!1)})}})}toggle(){this.playingMedia&&(this.playingMedia.paused?this.playingMedia.play():this.playingMedia.pause())}pause(){this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause()}willBePlayed(e){this.willBePlayedMedia=e}};t.default=f},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(1));let a=(()=>{class e{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(t,s=!0){const i="%"==t.charAt(0);return t=t.replace(e.badCharsRe,"").replace(e.trimRe,""),s&&(t=t.replace(/[^A-Za-z0-9]/g,e=>{const t=n.default.LatinizeMap[e];return void 0!==t?t:e})),t=t.toLowerCase(),i&&(t="%"+t),t}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,s){if(void 0!==s.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const i=s.shortIndexes;s.fullTexts[e]=t,t.split(" ").forEach(t=>{let s,n,a=Math.min(t.length,3);for(n=1;n<=a;n++)s=t.substr(0,n),void 0===i[s]?i[s]=[e]:i[s].push(e)})}search(e,t){const s=t.shortIndexes,i=t.fullTexts,n=(e=this.cleanSearchText(e)).split(" ");let a,o,r,d,f,l=!1;for(o=0;oa.length)&&(l=a)}for(a={},r=0;r,<]+/g,e.trimRe=/^\s+|\s$/g,e})();t.default=new a},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(3),a=i(s(7)),o=i(s(8)),r=i(s(2)),d=i(s(32)),f=s(0),l=s(11),c=i(s(5));const u=new class{constructor(){this.polls={},this.results={},this.log=l.logger("POLLS",l.LogLevels.error),f.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{this.log("updateMessagePoll:",e);let t=e.poll;if(!t)break;t=this.savePoll(t,e.results),f.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){const s=e.id;return this.polls[s]?(e=Object.assign(this.polls[s],e),this.saveResults(e,t),e):(this.polls[s]=e,e.rQuestion=n.RichTextProcessor.wrapEmojiText(e.question),e.rReply=n.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),e.chosenIndexes=[],this.saveResults(e,t),e)}saveResults(e,t){var s;this.results[e.id]=t,e.chosenIndexes.length=0,(null===(s=null==t?void 0:t.results)||void 0===s?void 0:s.length)&&t.results.forEach((t,s)=>{var i;(null===(i=t.pFlags)||void 0===i?void 0:i.chosen)&&e.chosenIndexes.push(s)})}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){const s=a.default.getMessage(e),i=s.media.poll,n=t.map(e=>i.answers[e].option),f=o.default.getInputPeerByID(s.peerID),l=s.id;return r.default.invokeApi("messages.sendVote",{peer:f,msg_id:l,options:n}).then(e=>{this.log("sendVote updates:",e),d.default.processUpdateMessage(e)})}getResults(e){const t=a.default.getMessage(e),s=o.default.getInputPeerByID(t.peerID),i=t.id;return r.default.invokeApi("messages.getPollResults",{peer:s,msg_id:i}).then(e=>{d.default.processUpdateMessage(e),this.log("getResults updates:",e)})}getVotes(e,t,s,i=20){const n=a.default.getMessage(e),d=o.default.getInputPeerByID(n.peerID),f=n.id;let l=0;return t&&(l|=1),s&&(l|=2),r.default.invokeApi("messages.getPollVotes",{flags:l,peer:d,id:f,option:t,offset:s,limit:i}).then(e=>(this.log("getPollVotes messages:",e),c.default.saveApiUsers(e.users),e))}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppStateManager=void 0;const n=i(s(19)),a=i(s(7)),o=i(s(33)),r=i(s(8)),d=i(s(9)),f=i(s(5)),l=i(s(32)),c=s(0),u=s(11);class h{constructor(){this.log=u.logger("STATE"),this.state={},this.loadSavedState()}loadSavedState(){return this.loaded?this.loaded:this.loaded=new Promise((e,t)=>{n.default.get("state").then(t=>{var s;const i=Date.now();(null!==(s=null==t?void 0:t.stateCreatedTime)&&void 0!==s?s:0)+864e5{delete t[e]}));const{dialogs:n,allDialogsLoaded:r,peers:c,messages:u,contactsList:h,maxSeenMsgID:p,updates:m,filters:g}=t;if(this.state=t||{},this.state.peers=c||{},this.state.hasOwnProperty("stateCreatedTime")||(this.state.stateCreatedTime=Date.now()),this.log("state res",n,u),p&&!o.default.getMessageIDInfo(p)[1]&&(a.default.maxSeenID=p),c)for(let e in c){let t=c[e];+e<0?d.default.saveApiChat(t):f.default.saveApiUser(t)}if(h&&Array.isArray(h)&&h.length&&(h.forEach(e=>{f.default.pushContact(e)}),f.default.contactsFillPromise=Promise.resolve(f.default.contactsList)),u){a.default.saveMessages(u);for(let e of u)e.media&&a.default.wrapSingleMessage(e.mid,!0)}if(r&&(a.default.dialogsStorage.allDialogsLoaded=r),g)for(const e in g)a.default.filtersStorage.saveDialogFilter(g[e],!1);n&&n.forEachReverse(e=>{a.default.saveConversation(e)}),l.default.attach(null!=m?m:null),e(t)}).catch(e).finally(()=>{setInterval(()=>this.saveState(),1e4)})})}getState(){return this.loadSavedState()}saveState(){var e,t;const s=[],i=[],o=this.state.peers;for(const n in a.default.dialogsStorage.byFolders){const d=a.default.dialogsStorage.getFolder(+n);for(let n of d){const d=a.default.historiesStorage[n.peerID],f=[].concat(null!==(e=null==d?void 0:d.pending)&&void 0!==e?e:[],null!==(t=null==d?void 0:d.history)&&void 0!==t?t:[]);n=c.copy(n);let l=0;for(const e of f){const t=a.default.getMessage(e);if(t.id>0){s.push(t),t.fromID!=n.peerID&&(o[t.fromID]=r.default.getPeer(t.fromID)),n.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++l}l&&n.unread_count&&(n.unread_count-=l),i.push(n),o[n.peerID]=r.default.getPeer(n.peerID)}}const d=l.default.updatesState,u={seq:d.seq,pts:d.pts,date:d.date},h=[...f.default.contactsList];for(const e of h)o[e]||(o[e]=f.default.getUser(e));const p=a.default.filtersStorage.filters;n.default.set({state:Object.assign({},this.state,{dialogs:i,messages:s,allDialogsLoaded:a.default.dialogsStorage.allDialogsLoaded,peers:o,contactsList:h,filters:p,updates:u,maxSeenMsgID:a.default.maxSeenID})})}pushToState(e,t){this.state[e]=t}pushPeer(e){this.state.peers[e]=r.default.getPeer(e)}}t.AppStateManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(27));s(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;n.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{e.update()})});class a extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,s){if("peer"==e){if(this.peerID==+s)return;this.peerID=+s,this.update()}else"peer-title"==e?this.peerTitle=s:"dialog"==e&&(this.isDialog=!!+s)}update(){n.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=a,customElements.define("avatar-element",a)},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(24)),a=i(s(7)),o=s(4),r=s(51);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,o.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let s=e.splice(0,3).map(e=>a.default.forwardMessages(e,this.msgIDs));Promise.all(s).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){(this.sidebarWasActive?Promise.resolve():n.default.toggleSidebar(!1)).then(()=>{this.cleanup(),this.container.classList.remove("active")})}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},["dialogs","contacts"],()=>{this.sidebarWasActive=n.default.sidebarEl.classList.contains("active"),n.default.toggleSidebar(!0)})}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchGroup=void 0;const n=i(s(16)),a=i(s(6)),o=i(s(33)),r=i(s(5)),d=i(s(8)),f=i(s(7)),l=s(0),c=s(4),u=i(s(9));t.SearchGroup=class{constructor(e,t,s=!0,i,a=!0){this.name=e,this.type=t,this.clearable=s,this.list=document.createElement("ul"),this.container=document.createElement("div"),i&&(this.container.className=i),e&&(this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.append(this.nameEl)),this.container.classList.add("search-group","search-group-"+t),this.container.append(this.list),this.container.style.display="none",a&&n.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,s,i){this.container=e,this.searchInput=t,this.searchGroups=s,this.onSearch=i,this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new a.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchGroups.messages&&this.scrollable.setVirtualContainer(this.searchGroups.messages.list),this.searchInput.onChange=e=>{this.query=e,this.reset(!1),this.searchMore()},this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=window.setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.input.focus()}renderSaved(){const e=this.searchGroups.contacts;let{dialog:t,dom:s}=n.default.addDialog(l.$rootScope.myID,e.list,!1);s.lastMessageSpan.innerHTML="chat with yourself",e.setActive()}searchMore(){if(this.searchPromise)return this.searchPromise;const e=this.query;if(!e.trim())return void(this.onSearch&&this.onSearch(0));if(-1!=this.foundCount&&this.loadedCount>=this.foundCount)return Promise.resolve();const t=o.default.getMessageIDInfo(this.minMsgID)[0]||0;if(!this.peerID&&!t&&!this.loadedContacts){let t=!1;("saved messages".includes(e.toLowerCase())||r.default.getUser(l.$rootScope.myID).sortName.includes(e.toLowerCase()))&&(this.renderSaved(),t=!0),r.default.searchContacts(e,20).then(s=>{if(this.searchInput.value!=e)return;this.loadedContacts=!0;const i=s.my_results.findAndSplice(e=>e.user_id==l.$rootScope.myID);i&&s.my_results.unshift(i);let a=(s,i,a=!1)=>{s.forEach(s=>{let o=d.default.getPeerID(s);if(o==l.$rootScope.myID)return void(t||this.renderSaved());let h=d.default.getPeer(o),p=f.default.getDialogByPeerID(o)[0];p||(p={peerID:o,pFlags:{},peer:h});let{dialog:m,dom:g}=n.default.addDialog(p,i.list,!1);if(a&&(h.participants_count||h.participants)){let t=new RegExp(`(${l.escapeRegExp(e)})`,"gi");g.titleSpan.innerHTML=g.titleSpan.innerHTML.replace(t,"$1"),g.lastMessageSpan.innerText=u.default.getChatMembersString(-o)}else{let e=d.default.getPeerUsername(o);if(e)e="@"+e;else{let t=r.default.getUser(o);t&&t.phone&&(e="+"+c.formatPhoneNumber(t.phone).formatted)}g.lastMessageSpan.innerHTML=""+e+""}}),s.length?i.setActive():t?Array.from(i.list.children).slice(1).forEach(e=>e.remove()):i.clear()};a(s.my_results,this.searchGroups.contacts,!0),a(s.results,this.searchGroups.globalContacts)})}return this.searchPromise=f.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(t=>{if(this.searchPromise=null,this.searchInput.value!=e)return;const{count:s,history:i,next_rate:a}=t;i[0]==this.minMsgID&&i.shift();this.searchGroups.messages.setActive(),i.forEach(t=>{const s=f.default.getMessage(t);let i=f.default.getDialogByPeerID(s.peerID)[0];i||(i={peerID:s.peerID,pFlags:{},peer:s.to_id});const{dialog:a,dom:o}=n.default.addDialog(i,this.scrollable,!1);n.default.setLastMessage(a,s,o,e)}),this.minMsgID=i[i.length-1],this.offsetRate=a,this.loadedCount+=i.length,-1==this.loadedCount&&(this.loadedCount=0),-1==this.foundCount&&(this.foundCount=s,this.onSearch&&this.onSearch(this.foundCount))}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(19)),o=n(s(2)),r=n(s(12)),d=s(0);const f=new class{constructor(){this.stickerSets={},this.hashes={featured:{},search:{}},a.default.get("stickerSets").then(e=>{if(e){for(let t in e){let s=e[t];this.saveStickers(s.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})}),d.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateNewStickerSet":this.saveStickerSet(t.stickerset,t.stickerset.set.id),d.$rootScope.$broadcast("stickers_installed",t.stickerset.set)}})}saveStickers(e){e.forEachReverse((t,s)=>{(t=r.default.saveDoc(t))?e[s]=t:e.splice(s,1)})}getStickerSet(e,t={}){var s;return i(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite&&(null===(s=this.stickerSets[e.id].documents)||void 0===s?void 0:s.length))return this.stickerSets[e.id];const i=yield o.default.invokeApi("messages.getStickerSet",{stickerset:this.getStickerSetInput(e)});return this.saveStickerSet(i,e.id),i}))}getRecentStickers(){return i(this,void 0,void 0,(function*(){const e=yield o.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return"messages.recentStickers"==e._&&this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;if(t&&t.documents)return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){const s={_:"messages.stickerSet",set:e.set,packs:e.packs,documents:e.documents};this.stickerSets[t]?Object.assign(this.stickerSets[t],s):this.stickerSets[t]=s,this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=window.setTimeout(()=>{const e={};for(const t in this.stickerSets){const s=this.stickerSets[t];(s.set.installed_date||"emoji"==t)&&(e[t]=s)}a.default.set({stickerSets:e}),this.saveSetsTimeout=0},100))}getStickerSetThumbDownloadOptions(e){var t;const s=e.thumb,i=e.thumb_dc_id,n=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return{dcID:i,location:{_:"inputStickerSetThumb",stickerset:this.getStickerSetInput(e),volume_id:s.location.volume_id,local_id:s.location.local_id},size:s.size,mimeType:n?"application/x-tgsticker":"image/webp"}}getStickerSetInput(e){return"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}getFeaturedStickers(){var e,t;return i(this,void 0,void 0,(function*(){const s=yield o.default.invokeApi("messages.getFeaturedStickers",{hash:(null===(e=this.hashes.featured)||void 0===e?void 0:e.hash)||0}),i=null!==(t=this.hashes.featured)&&void 0!==t?t:this.hashes.featured={};return"messages.featuredStickersNotModified"!=s._&&(i.hash=s.hash,i.result=s.sets),i.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)}),i.result}))}toggleStickerSet(e){return i(this,void 0,void 0,(function*(){if(e.installed_date){if(yield o.default.invokeApi("messages.uninstallStickerSet",{stickerset:this.getStickerSetInput(e)}))return delete e.installed_date,d.$rootScope.$broadcast("stickers_deleted",e),!0}else{if(yield o.default.invokeApi("messages.installStickerSet",{stickerset:this.getStickerSetInput(e),archived:!1}))return e.installed_date=Date.now()/1e3|0,d.$rootScope.$broadcast("stickers_installed",e),!0}return!1}))}searchStickerSets(e,t=!0){var s,n;return i(this,void 0,void 0,(function*(){const i=t?1:0,a=yield o.default.invokeApi("messages.searchStickerSets",{flags:i,exclude_featured:t||void 0,q:e,hash:(null===(s=this.hashes.search[e])||void 0===s?void 0:s.hash)||0}),r=null!==(n=this.hashes.search[e])&&void 0!==n?n:this.hashes.search[e]={};"messages.foundStickerSetsNotModified"!=a._&&(r.hash=a.hash,r.result=a.sets),r.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)});const d=[];for(let t in this.stickerSets){const{set:s}=this.stickerSets[t];s.title.toLowerCase().includes(e.toLowerCase())&&!r.result.find(e=>e.set.id==s.id)&&d.push({_:"stickerSetCovered",set:s,cover:null})}return r.result.concat(d)}))}cleanup(){return i(this,void 0,void 0,(function*(){yield a.default.remove("stickerSets")}))}};t.default=f},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toast=void 0;const i=document.createElement("div");i.classList.add("toast"),t.toast=function(e){i.innerHTML=e,document.body.append(i),i.dataset.timeout&&clearTimeout(+i.dataset.timeout),i.dataset.timeout=""+setTimeout(()=>{i.remove(),delete i.dataset.timeout},3e3)}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupAvatar=void 0;const n=i(s(89)),a=i(s(28));class o{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var s=new FileReader;s.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=n.default(this.image,this.canvas),this.input.value=""}},s.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>a.default.upload(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=o,t.default=new o},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EmoticonsDropdown=t.EMOTICONSSTICKERGROUP=void 0;const a=n(s(21)),o=n(s(100)),r=s(1),d=s(0),f=s(26),l=n(s(15)),c=n(s(24)),u=n(s(10)),h=n(s(101)),p=n(s(102)),m=n(s(64));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";let g=(()=>{class e{constructor(){this.tabID=-1,this.events={onClose:[],onCloseAfter:[],onOpen:[],onOpenAfter:[]},this.toggle=s=>i(this,void 0,void 0,(function*(){const i=!!this.element.style.display&&void 0===s||s;if(this.init){if(!i)return;this.init(),this.init=null}r.touchSupport?(this.toggleEl.classList.toggle("flip-icon",i),i&&(u.default.chatInputC.saveScroll(),document.activeElement.blur(),yield new Promise(e=>{setTimeout(e,100)}))):this.toggleEl.classList.toggle("active",s),this.element.style.display&&void 0===s||s?(this.events.onOpen.forEach(e=>e()),e.lazyLoadQueue.lock(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),this.element.style.display="",this.element.offsetLeft,this.element.classList.add("active"),clearTimeout(this.displayTimeout),this.displayTimeout=window.setTimeout(()=>{l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlock(),e.lazyLoadQueue.refresh(),this.events.onOpenAfter.forEach(e=>e())},r.touchSupport?0:200)):(this.events.onClose.forEach(e=>e()),e.lazyLoadQueue.lock(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.element.classList.remove("active"),clearTimeout(this.displayTimeout),this.displayTimeout=window.setTimeout(()=>{this.element.style.display="none",l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlock(),e.lazyLoadQueue.refresh(),this.events.onCloseAfter.forEach(e=>e())},r.touchSupport?0:200))})),this.element=document.getElementById("emoji-dropdown");let s=!0;this.toggleEl=document.getElementById("toggle-emoticons"),r.touchSupport?this.toggleEl.addEventListener("click",()=>{s?(s=!1,this.toggle(!0)):this.toggle()}):this.toggleEl.onmouseover=e=>{clearTimeout(this.displayTimeout),s&&(this.toggleEl.onmouseout=this.element.onmouseout=e=>{if(!this.element.classList.contains("active"))return;const t=e.toElement;t&&d.findUpClassName(t,"emoji-dropdown")||(clearTimeout(this.displayTimeout),this.displayTimeout=window.setTimeout(()=>{this.toggle(!1)},200))},this.element.onmouseover=e=>{clearTimeout(this.displayTimeout)},s=!1),this.toggle(!0)}}init(){this.emojiTab=new h.default,this.stickersTab=new p.default,this.gifsTab=new o.default,this.tabs={0:this.emojiTab,1:this.stickersTab,2:this.gifsTab},this.container=this.element.querySelector(".emoji-container .tabs-container"),this.tabsEl=this.element.querySelector(".emoji-tabs"),f.horizontalMenu(this.tabsEl,this.container,e=>{l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.tabID=e,this.searchButton.classList.toggle("hide",0==this.tabID),this.deleteBtn.classList.toggle("hide",0!=this.tabID)},()=>{const e=this.tabs[this.tabID];e.init&&e.init(),e.onCloseAfterTimeout&&e.onCloseAfterTimeout(),l.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),this.searchButton=this.element.querySelector(".emoji-tabs-search"),this.searchButton.addEventListener("click",()=>{1==this.tabID?c.default.stickersTab.init():c.default.gifsTab.init()}),this.deleteBtn=this.element.querySelector(".emoji-tabs-delete"),this.deleteBtn.addEventListener("click",()=>{var e;const t=u.default.chatInputC.messageInput;(null===(e=t.lastChild)||void 0===e?void 0:e.tagName)?t.lastElementChild.remove():t.lastChild&&(t.lastChild.textContent.length?t.lastChild.textContent=t.lastChild.textContent.slice(0,-1):t.lastChild.remove());const s=new Event("input",{bubbles:!0,cancelable:!0});u.default.chatInputC.messageInput.dispatchEvent(s)}),this.tabsEl.firstElementChild.children[1].click(),this.tabs[0].init()}}return e.lazyLoadQueue=new a.default,e.menuOnClick=(e,t,s)=>{let i=0,n=-1;const a=t=>t!=i&&(e.children[i].classList.remove("active"),e.children[t].classList.add("active"),i=t,!0),o=new m.default(t.container,(i,o)=>{if(Math.abs(n-t.container.scrollTop)<=1)return;n=-1;const r=d.whichChild(o);!i&&r||(a(r),s&&(r{let s=e.target;if(s=d.findUpTag(s,"LI"),!s)return;const i=d.whichChild(s);if(!a(i))return;const o=(t.splitUp||t.container).children[i].offsetTop+1;t.container.scrollTop=n=o}),o},e.onMediaClick=e=>{let t=e.target;if(t=d.findUpTag(t,"DIV"),!t)return;const s=t.dataset.docID;s&&(u.default.chatInputC.sendMessageWithDocument(s)?b.toggle(!1):console.warn("got no doc by id:",s))},e})();t.EmoticonsDropdown=g;const b=new g;t.default=b},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,t.isSafari=!!("safari"in i)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(4),a=i(s(6)),o=s(3),r=i(s(1)),d=s(0),f=i(s(79)),l=i(s(109)),c=i(s(2)),u=i(s(25)),h=s(30);let p=null;const m=new u.default("page-sign",!0,()=>{h.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t=null;var s=m.pageEl.querySelector('input[name="countryCode"]'),i=s.parentElement,u=document.createElement("div");u.classList.add("select-wrapper","z-depth-3","hide");var g=document.createElement("ul");u.appendChild(g);new a.default(u);let b=!1;m.pageEl.querySelector(".a-qr").addEventListener("click",()=>{l.default.mount()});let v,y=()=>{y=null,e.forEach(e=>{b=!0;let t=e.emoji,s=[];e.phoneCode.split(" and ").forEach(i=>{let n=document.createElement("li");var a=document.createElement("span");let r=o.RichTextProcessor.wrapRichText(t);n.appendChild(a),a.outerHTML=r,n.append(e.name);var d=document.createElement("span");d.classList.add("phone-code"),d.innerText="+"+i,n.appendChild(d),s.push(n),g.append(n)}),e.li=s}),g.addEventListener("mousedown",(function(i){let n=i.target;"LI"!=n.tagName&&(n=d.findUpTag(n,"LI"));let a=n.childNodes[1].textContent,o=n.querySelector(".phone-code").innerText;s.value=a,t=e.find(e=>e.name==a),w.value=o,setTimeout(()=>w.focus(),0)})),i.appendChild(u)};y(),s.addEventListener("focus",(function(t){y?y():e.forEach(e=>{e.li.forEach(e=>e.style.display="")}),clearTimeout(v),u.classList.remove("hide"),u.offsetWidth,u.classList.add("active")})),s.addEventListener("blur",(function(e){u.classList.remove("active"),v=setTimeout(()=>{u.classList.add("hide")},200),e.cancelBubble=!0}),{capture:!0}),s.addEventListener("keyup",(function(t){if(t.ctrlKey||"Control"==t.key)return!1;let s=this.value.toLowerCase(),i=[];e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&i.push(e)}),0==i.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),m.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),s.matches(":focus")?s.blur():s.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let w=m.pageEl.querySelector('input[name="phone"]');const _=w.nextElementSibling;w.addEventListener("input",(function(e){this.classList.remove("error"),_.innerText="Phone Number";let{formatted:i,country:a}=n.formatPhoneNumber(this.value);this.value=i?"+"+i:"";let o=a?a.name:"";o==s.value||t&&a&&t.phoneCode==a.phoneCode||(s.value=o,t=a),a||this.value.length-1>1?p.style.visibility="":p.style.visibility="hidden"})),w.addEventListener("keypress",(function(e){return p.style.visibility||"Enter"!=e.key?/\D/.test(e.key)?(e.preventDefault(),!1):void 0:p.click()})),p.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",n.putPreloader(this);let t=w.value;c.default.invokeApi("auth.sendCode",{phone_number:t,api_id:h.App.id,api_hash:h.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{f.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":_.innerText="Phone Number Invalid",w.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));c.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&c.default.getNetworker(e.nearest_dc),e)).then(i=>{let n=e.find(e=>e.code==i.country);n&&(s.value.length||w.value.length||(s.value=n.name,t=n,w.value="+"+n.phoneCode.split(" and ").shift()))})},()=>{p||(p=m.pageEl.querySelector("button")),p.textContent="NEXT",p.removeAttribute("disabled")});t.default=m},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaProgressLine=t.ProgressLine=void 0;const n=s(0),a=s(1),o=i(s(37)),r=s(48);class d{constructor(e=0){this.duration=1,this.mousedown=!1,this.events={},this.onMouseMove=e=>{this.mousedown&&this.scrub(e)},this.onMouseDown=e=>{var t;this.scrub(e),this.mousedown=!0,(null===(t=this.events)||void 0===t?void 0:t.onMouseDown)&&this.events.onMouseDown(e)},this.onMouseUp=e=>{var t;this.mousedown=!1,(null===(t=this.events)||void 0===t?void 0:t.onMouseUp)&&this.events.onMouseUp(e)},this.container=document.createElement("div"),this.container.classList.add("progress-line"),this.filled=document.createElement("div"),this.filled.classList.add("progress-line__filled");const t=this.seek=document.createElement("input");t.classList.add("progress-line__seek"),t.value=""+e,t.setAttribute("min","0"),t.type="range",t.step="0.1",t.max=""+1e3*this.duration,e>0&&this.setProgress(e),this.container.append(this.filled,t)}setHandlers(e){this.events=e}setListeners(){this.container.addEventListener("mousemove",this.onMouseMove),this.container.addEventListener("mousedown",this.onMouseDown),this.container.addEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.addEventListener("touchmove",this.onMouseMove),this.container.addEventListener("touchstart",this.onMouseDown),this.container.addEventListener("touchend",this.onMouseUp))}setProgress(e){this.setFilled(e),this.seek.value=""+1e3*e}setFilled(e){let t=e/this.duration;t=Math.max(0,Math.min(1,t)),this.filled.style.transform="scaleX("+t+")"}scrub(e){var t;let s;if(e instanceof MouseEvent)s=e.offsetX;else{const t=e.target.getBoundingClientRect();s=e.targetTouches[0].pageX-t.left}const i=s/this.container.offsetWidth*this.duration;return this.setFilled(i),(null===(t=this.events)||void 0===t?void 0:t.onScrub)&&this.events.onScrub(i),i}removeListeners(){this.container.removeEventListener("mousemove",this.onMouseMove),this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.removeEventListener("touchmove",this.onMouseMove),this.container.removeEventListener("touchstart",this.onMouseDown),this.container.removeEventListener("touchend",this.onMouseUp)),this.events={}}}t.ProgressLine=d;class f extends d{constructor(e,t=!1){super(),this.media=e,this.streamable=t,this.stopAndScrubTimeout=0,this.progressRAF=0,this.onLoadedData=()=>{this.duration=this.media.duration,this.seek.setAttribute("max",""+1e3*this.duration)},this.onEnded=()=>{this.setProgress()},this.onPlay=()=>{let e=()=>{this.setProgress(),this.progressRAF=this.media.paused?0:window.requestAnimationFrame(e)};this.progressRAF&&window.cancelAnimationFrame(this.progressRAF),this.streamable&&this.setLoadProgress(),this.progressRAF=window.requestAnimationFrame(e)},this.onProgress=e=>{this.setLoadProgress()},t&&(this.filledLoad=document.createElement("div"),this.filledLoad.classList.add("progress-line__filled","progress-line__loaded"),this.container.prepend(this.filledLoad)),(!e.paused||e.currentTime>0)&&this.onPlay(),this.setSeekMax(),this.setListeners(),this.setHandlers({onMouseDown:e=>{this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=setTimeout(()=>{!this.media.paused&&this.media.pause(),this.stopAndScrubTimeout=0},150)},onMouseUp:e=>{this.stopAndScrubTimeout&&(clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=0),this.media.paused&&this.media.play()}})}scrub(e){const t=super.scrub(e);return this.media.currentTime=t,t}setLoadProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.buffered,t=e.length,s=this.media.currentTime;let i=0,n=0;for(let a=0;a=t&&t>=i&&(i=t,n=e.end(a))}const a=this.media.duration?n/this.media.duration:0;this.filledLoad.style.transform="scaleX("+a+")"}setSeekMax(){this.duration=this.media.duration,this.duration>0?this.onLoadedData():this.media.addEventListener("loadeddata",this.onLoadedData)}setProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.currentTime;super.setProgress(e)}setListeners(){super.setListeners(),this.media.addEventListener("ended",this.onEnded),this.media.addEventListener("play",this.onPlay),this.streamable&&this.media.addEventListener("progress",this.onProgress)}removeListeners(){super.removeListeners(),this.media.removeEventListener("loadeddata",this.onLoadedData),this.media.removeEventListener("ended",this.onEnded),this.media.removeEventListener("play",this.onPlay),this.streamable&&this.media.removeEventListener("progress",this.onProgress),this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.progressRAF&&window.cancelAnimationFrame(this.progressRAF)}}t.MediaProgressLine=f;let l=1,c=!l;class u{constructor(e,t=!1,s=!1){var i;if(this.video=e,this.onFullScreen=()=>{null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")},this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new f(e,s),t.prepend(this.progress.container)}if(t){e.play().catch(t=>{"NotAllowedError"==t.name&&(e.muted=!0,e.autoplay=!0,e.play())}).finally(()=>{this.wrapper.classList.toggle("is-playing",!this.video.paused)})}}stylePlayer(){const{wrapper:e,video:t,skin:s}=this;e.classList.add(s);const i=this.buildControls();e.insertAdjacentHTML("beforeend",i);let o=0,r=0,f=0;if("default"===s){const s=e.querySelectorAll(".toggle"),i=e.querySelector(".fullscreen");var u=e.querySelector("#time-elapsed");(m=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS();const r=document.createElement("div");r.classList.add("player-volume"),r.innerHTML='\n \n ';const f=r.firstElementChild;f.addEventListener("click",e=>{n.cancelEvent(e),t.muted=!t.muted});const h=new d;h.setListeners(),h.setHandlers({onScrub:e=>{const s=Math.max(Math.min(e,1),0);t.muted=!1,t.volume=s}}),r.append(h.container);const p=()=>{const e=t.volume;let s;s=!e||t.muted?"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z":e>.5?"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z":e>0&&e<.25?"M7 9v6h4l5 5V4l-5 5H7z":"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z";try{f.innerHTML=``}catch(e){}h.mousedown||h.setProgress(t.muted?0:e)};t.addEventListener("volumechange",()=>{c=t.muted,l=t.volume,p()}),t.volume=l,t.muted=c,p();if(e.querySelector(".left-controls").insertBefore(r,u.parentElement),Array.from(s).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{a.touchSupport||this.togglePlay()}),a.touchSupport){let t=0;const s=()=>{t=setTimeout(()=>{t=0,e.classList.remove("show-controls")},3e3)};e.addEventListener("click",()=>{t?clearTimeout(t):e.classList.add("show-controls"),s()}),e.addEventListener("touchstart",()=>{e.classList.add("show-controls"),clearTimeout(t)}),e.addEventListener("touchend",()=>{e.classList.contains("is-playing")&&s()})}t.addEventListener("pause",()=>{clearInterval(o)}),t.addEventListener("dblclick",()=>{if(!a.touchSupport)return this.toggleFullScreen(i)}),i.addEventListener("click",e=>this.toggleFullScreen(i)),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,this.onFullScreen,!1)})}else if("circle"===s){const s=document.createElement("div");s.classList.add("circle-time-left"),t.parentNode.insertBefore(s,t),s.innerHTML='
';var h=e.querySelector(".progress-ring__circle");const i=h.r.baseVal.value;var p=2*Math.PI*i,m=e.querySelector(".circle-time");const n=e.querySelector(".iconVolume");h.style.strokeDasharray=p+" "+p,h.style.strokeDashoffset=""+p,h.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{n.style.display="none",o=setInterval(()=>{t.currentTime!=f&&(r=t.currentTime,f=t.currentTime);const e=p-r/t.duration*p;h.style.strokeDashoffset=""+e,t.paused&&clearInterval(o)},20)}),t.addEventListener("pause",()=>{n.style.display=""})}t.addEventListener("play",()=>{this.wrapper.classList.add("is-playing")}),t.addEventListener("pause",()=>{this.wrapper.classList.remove("is-playing")}),t.duration>0?m.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{m.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==s&&(u.innerHTML=String(0|t.currentTime).toHHMMSS()),o=this.handleProgress(m,p,h,o)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):void this.video[this.video.paused?"play":"pause"]()}handleProgress(e,t,s,i){const{video:n,skin:a}=this;clearInterval(i);let o=0,r=0;if("circle"===a){i=setInterval(()=>{n.currentTime!=r&&(o=n.currentTime,r=n.currentTime);const e=t-o/n.duration*t;s.style.strokeDashoffset=""+e,n.paused&&clearInterval(i)},20);const a=String(n.duration-n.currentTime|0).toHHMMSS();return"0"!=a&&(e.innerHTML=a),i}}buildControls(){const e=this.skin;return"default"===e?`\n \n
\n
\n
\n
\n \n
\n \n / \n \n
\n
\n
\n \n
\n
\n
`:"circle"===e?'\n \n \n \n ':void 0}static isFullScreen(){return!!(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)}toggleFullScreen(e){const t=this.wrapper;if(r.isAppleMobile){const e=this.video;return e.webkitEnterFullscreen(),void e.enterFullscreen()}u.isFullScreen()?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}}t.default=u},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppSelectPeers=void 0;const a=n(s(6)),o=n(s(7)),r=s(0),d=n(s(16)),f=n(s(9)),l=n(s(5)),c=n(s(8)),u=n(s(13));t.AppSelectPeers=class{constructor(e,t,s=["dialogs"],i,n){this.appendTo=e,this.onChange=t,this.peerType=s,this.renderResultsFunc=n,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected=new Set,this.freezed=!1,this.folderID=0,this.offsetIndex=0,this.query="",this.loadedWhat={},this.container.classList.add("selector"),this.renderResultsFunc||(this.renderResultsFunc=this.renderResults);let o=document.createElement("div");o.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder=s.includes("dialogs")?"Select chat":"Add People...",this.input.type="text",this.selectedContainer.append(this.input),o.append(this.selectedContainer),this.selectedScrollable=new a.default(o);let d=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new a.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.chatsContainer.addEventListener("click",e=>{const t=r.findUpAttribute(e.target,"data-peerID");if(r.cancelEvent(e),!t)return;if(this.freezed)return;let s=t.getAttribute("data-peerID");s=+s||s,t.classList.toggle("active"),this.selected.has(s)?this.remove(s):this.add(s);const i=t.querySelector("input");i.checked=!i.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;const s=t.dataset.key,i=this.chatsContainer.querySelector('[data-peerid="'+s+'"]');i?i.click():this.remove(+s||s)}),this.input.addEventListener("input",()=>{const e=this.input.value;this.query!=e&&(this.peerType.includes("contacts")&&(delete this.loadedWhat.contacts,this.cachedContacts=null),delete this.loadedWhat.dialogs,delete this.loadedWhat.archived,this.folderID=0,this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(o,d,this.chatsContainer),e.append(this.container),setTimeout(()=>{let e=this.getMoreResults();i&&e.then(()=>{i()})},0)}getMoreDialogs(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.loadedWhat.dialogs&&this.loadedWhat.archived)return;const e=u.default.windowH/72*1.25|0;this.promise=o.default.getConversations(this.query,this.offsetIndex,e,this.folderID);const t=yield this.promise;this.promise=null;let s=t.dialogs;if(s.length){const e=s[s.length-1].index||0;s=s.slice(),s.findAndSplice(e=>e.peerID==r.$rootScope.myID),this.offsetIndex||0!=this.folderID||this.query&&!"saved messages".includes(this.query.toLowerCase())||!this.peerType.includes("dialogs")||s.unshift({peerID:r.$rootScope.myID,pFlags:{}}),this.offsetIndex=e,this.renderResultsFunc(s.map(e=>e.peerID))}else{if(!this.loadedWhat.dialogs)return this.loadedWhat.dialogs=!0,this.offsetIndex=0,this.folderID=1,this.getMoreDialogs();if(this.loadedWhat.archived=!0,!this.loadedWhat.contacts&&this.peerType.includes("contacts"))return this.getMoreContacts()}}))}getMoreContacts(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(!this.loadedWhat.contacts){if(this.cachedContacts||(this.promise=l.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==r.$rootScope.myID),this.promise=null),this.cachedContacts.length){const e=u.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResultsFunc(t)}return this.cachedContacts.length||(this.loadedWhat.contacts=!0,this.peerType.includes("dialogs"))?void 0:this.getMoreDialogs()}}))}getMoreResults(){const e=[];return e.push(o.default.getConversationsAll()),!this.peerType.includes("dialogs")&&!this.loadedWhat.contacts||this.loadedWhat.archived||(e.push(this.getMoreDialogs()),this.loadedWhat.archived)?(this.peerType.includes("contacts")&&!this.loadedWhat.contacts&&e.push(this.getMoreContacts()),Promise.all(e)):Promise.all(e)}renderResults(e){!this.peerType.includes("dialogs")&&this.loadedWhat.contacts&&(e=e.filter(e=>l.default.isNonContactUser(e))),e.forEach(e=>{const{dom:t}=d.default.addDialog(e,this.scrollable,!1,!1),s=this.selected.has(e);t.containerEl.insertAdjacentHTML("afterbegin",`
`),s&&t.listEl.classList.add("active");let i="";e<0?i=f.default.getChatMembersString(-e):e==r.$rootScope.myID?i="chat with yourself":(i=l.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e,t){const s=document.createElement("div");s.classList.add("selector-user","scale-in");const i=document.createElement("avatar-element");return i.classList.add("selector-user-avatar","tgico"),i.setAttribute("dialog","1"),s.dataset.key=""+e,this.selected.add(e),"number"==typeof e&&(void 0===t&&(t=e==r.$rootScope.myID?"Saved":c.default.getPeerTitle(e,!1,!0)),i.setAttribute("peer",""+e)),t&&(s.innerHTML=t),s.insertAdjacentElement("afterbegin",i),this.selectedContainer.insertBefore(s,this.input),this.selectedScrollable.scrollTo(this.selectedScrollable.scrollHeight,!0,!0),this.onChange&&this.onChange(this.selected.size),s}remove(e){const t=this.selectedContainer.querySelector(`[data-key="${e}"]`);t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{this.selected.delete(e),t.remove(),this.onChange&&this.onChange(this.selected.size)},{once:!0})}getSelected(){return[...this.selected]}}},,function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WebpWorkerController=void 0;const n=i(s(73)),a=s(23),o=i(s(2));class r{constructor(){this.convertPromises={}}init(){this.worker=new n.default,this.worker.addEventListener("message",e=>{const t=e.data.payload;if(0===t.fileName.indexOf("main-")){const e=this.convertPromises[t.fileName];e&&(t.bytes?e.resolve(t.bytes):e.reject(),delete this.convertPromises[t.fileName])}else o.default.postMessage(e.data)})}postMessage(e){this.init&&(this.init(),this.init=null),this.worker.postMessage(e)}convert(e,t){if(e="main-"+e,this.convertPromises.hasOwnProperty(e))return this.convertPromises[e];const s=a.deferredPromise();return this.postMessage({type:"convertWebp",payload:{fileName:e,bytes:t}}),this.convertPromises[e]=s}}t.WebpWorkerController=r;const d=new r;t.default=d},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.OpusDecodeController=void 0;const n=s(1),a=s(11);class o{constructor(){this.sampleRate=48e3,this.tasks=[],this.keepAlive=!1,this.log=a.logger("OPUS",a.LogLevels.error)}isPlaySupported(){if(void 0!==this.isPlaySupportedResult)return this.isPlaySupportedResult;const e=document.createElement("audio");return this.isPlaySupportedResult=!(!e.canPlayType||!e.canPlayType("audio/ogg;").replace(/no/,""))}loadWavWorker(){this.wavWorker||(this.wavWorker=new Worker("waveWorker.min.js"),this.wavWorker.addEventListener("message",e=>{const t=e.data;if(this.log("[WAV] got message:",t),t&&t.page){const e=t.page;this.onTaskEnd(this.tasks.shift(),e)}}))}loadWorker(){this.worker||(this.worker=new Worker("decoderWorker.min.js"),this.worker.addEventListener("message",e=>{const t=e.data;this.log("[DECODER] got message",t),"done"==t.type?(this.wavWorker.postMessage({command:"done"}),t.waveform&&(this.tasks[0].waveform=t.waveform)):this.wavWorker.postMessage({command:"encode",buffers:e.data},n.isSafari?void 0:t.map(e=>e.buffer))}))}setKeepAlive(e){this.keepAlive=e,this.keepAlive?(this.loadWorker(),this.loadWavWorker()):this.tasks.length||this.terminateWorkers()}onTaskEnd(e,t){t?(clearTimeout(e.timeout),e.callback.resolve({bytes:t,waveform:e.waveform})):e.callback.reject("timeout"),this.tasks.length&&this.executeNewTask(this.tasks[0]),this.terminateWorkers()}terminateWorkers(e=!1){(!this.keepAlive&&!this.tasks.length||e)&&(this.worker&&(this.worker.terminate(),this.worker=null),this.wavWorker&&(this.wavWorker.terminate(),this.wavWorker=null))}executeNewTask(e){this.worker.postMessage({command:"init",decoderSampleRate:this.sampleRate,outputBufferSampleRate:this.sampleRate}),this.wavWorker.postMessage({command:"init",wavBitDepth:16,wavSampleRate:this.sampleRate}),this.log("[DECODER] send decode"),this.worker.postMessage({command:"decode",pages:e.pages,waveform:e.withWaveform},n.isSafari?void 0:[e.pages.buffer]),e.timeout=setTimeout(()=>{this.log.error("decode timeout"),this.terminateWorkers(!0),this.tasks.length&&(this.loadWorker(),this.loadWavWorker()),this.onTaskEnd(this.tasks.shift())},1e4)}pushDecodeTask(e,t){return new Promise((s,i)=>{const n={pages:e,withWaveform:t,callback:{resolve:s,reject:i},timeout:0};this.loadWorker(),this.loadWavWorker(),1==this.tasks.push(n)&&this.executeNewTask(n)})}decode(e,t=!1){return i(this,void 0,void 0,(function*(){return this.pushDecodeTask(e,t).then(e=>{const t=new Blob([e.bytes],{type:"audio/wav"});return{url:URL.createObjectURL(t),waveform:e.waveform}})}))}}t.OpusDecodeController=o;const r=new o;t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(13)),o=i(s(12)),r=s(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},n.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,s){e.photo&&"photo"===e.photo._?e.photo=a.default.savePhoto(e.photo,s):delete e.photo,e.document&&"document"===e.document._?e.document=o.default.saveDoc(e.document,s):("document"==e.type&&delete e.type,delete e.document);var i=e.site_name,d=e.title||e.author||i||"";i&&d==i&&delete e.site_name,d.length>100&&(d=d.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(d,{noLinks:!0,noLinebreaks:!0});var f="";if("GitHub"==i){var l=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);l&&(f=l[0]+"/issues/{1}")}var c=e.description||"";if(c.length>180&&(c=c.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(c,{contextSite:i||"external",contextHashtag:f}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:n.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){const t=[];for(let s in this.pendingWebPages[e.id])t.push(+s);n.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:t})}}getWebPage(e){return this.webpages[e]}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMediaViewer=void 0;const a=n(s(8)),o=n(s(13)),r=n(s(7)),d=s(3),f=s(11),l=n(s(35)),c=s(0),u=n(s(12)),h=n(s(50)),p=s(4),m=s(21),g=n(s(42)),b=s(1),v=n(s(37)),y=s(23);class w{constructor(e,t){this.onSwipe=t,this.handleTouchStart=e=>{if("INPUT"==e.target.tagName)return void(this.xDown=this.yDown=null);const t=e.touches[0];this.xDown=t.clientX,this.yDown=t.clientY},this.handleTouchMove=e=>{if(null==this.xDown||null==this.yDown)return;const t=e.touches[0].clientX,s=e.touches[0].clientY,i=this.xDown-t,n=this.yDown-s;this.onSwipe(i,n)&&(this.xDown=null,this.yDown=null)},e.addEventListener("touchstart",this.handleTouchStart,!1),e.addEventListener("touchmove",this.handleTouchMove,!1)}}class _{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.preloaderStreamable=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.onClickDownload=e=>{const t=r.default.getMessage(this.currentMessageID);if(t.media.photo)o.default.savePhotoFile(t.media.photo);else{let e=null;e=t.media.webpage?t.media.webpage.document:t.media.document,e&&u.default.saveDocFile(e)}},this.onClick=e=>{if(this.setMoverAnimationPromise)return;const t=e.target;if("A"==t.tagName)return;if(c.cancelEvent(e),b.touchSupport)return this.highlightSwitchersTimeout?clearTimeout(this.highlightSwitchersTimeout):this.wholeDiv.classList.add("highlight-switchers"),void(this.highlightSwitchersTimeout=window.setTimeout(()=>{this.wholeDiv.classList.remove("highlight-switchers"),this.highlightSwitchersTimeout=0},3e3));let s=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(s=c.findUpClassName(t,e),s)return!0}catch(e){return!1}}),s&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.onKeyDown=e=>{"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()},this.log=f.logger("AMV"),this.preloader=new l.default,this.preloaderStreamable=new l.default(void 0,!1,!0),this.lazyLoadQueue=new m.LazyLoadQueueBase,p.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']"));const e=e=>{c.cancelEvent(e),this.content.container.innerHTML="",this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,this.setMoverPromise=null,g.default.container.classList.contains("active")&&setTimeout(()=>{g.default.close()},200),window.removeEventListener("keydown",this.onKeyDown)};[this.buttons.close,this.buttons["mobile-close"],this.preloaderStreamable.preloader].forEach(t=>{t.addEventListener("click",e)}),this.buttons.prev.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),[this.buttons.download,this.buttons["menu-download"]].forEach(e=>{e.addEventListener("click",this.onClickDownload)});const t=e=>{g.default.init([this.currentMessageID])};if([this.buttons.forward,this.buttons["menu-forward"]].forEach(e=>{e.addEventListener("click",t)}),this.wholeDiv.addEventListener("click",this.onClick),this.setNewMover(),b.touchSupport){new w(this.wholeDiv,(e,t)=>{if(h.default.isFullScreen())return;if(Math.abs(e)/o.default.windowW>.2||e>125)return e<0?this.buttons.prev.click():this.buttons.next.click(),!0;return(Math.abs(t)/o.default.windowH>.2||t>125)&&(this.buttons.close.click(),!0)})}}setMoverToTarget(e,t=!1,s=0){return i(this,void 0,void 0,(function*(){const i=this.content.mover;e||(e=this.content.container),t||(i.innerHTML=""),this.removeCenterFromMover(i);const n=0!==s,a=n?350:200;let r,d;this.log("setMoverToTarget",e,t,n,s),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(r=c.findUpClassName(e,"attachment"),d=r.getBoundingClientRect()):(r=e.parentElement,d=e.getBoundingClientRect()));const f=this.content.container.getBoundingClientRect();let l,u,h,p="";if(n?(l=1===s?o.default.windowW:-f.width,u=f.top):(l=d.left,u=d.top),p+=`translate3d(${l}px,${u}px,0) `,e instanceof HTMLImageElement||e instanceof HTMLVideoElement||"DIV"==e.tagName){if(i.firstElementChild&&i.firstElementChild.classList.contains("media-viewer-aspecter")){h=i.firstElementChild;const e=h.querySelector(".ckin__player");if(e){const t=e.firstElementChild;h.append(t),e.remove()}h.style.cssText||(i.classList.remove("active"),this.setFullAspect(h,f,d),i.offsetLeft,i.classList.add("active"))}else h=document.createElement("div"),h.classList.add("media-viewer-aspecter"),i.prepend(h);h.style.cssText=`width: ${d.width}px; height: ${d.height}px; transform: scale(${f.width/d.width}, ${f.height/d.height});`}i.style.width=f.width+"px",i.style.height=f.height+"px";const m=d.width/f.width,g=d.height/f.height;n||(p+=`scale(${m},${g}) `);let b=window.getComputedStyle(r).getPropertyValue("border-radius");const v=c.fillPropertyValue(b);let w;b=v.map(e=>parseInt(e)/m+"px").join(" "),n||(i.style.borderRadius=b),i.style.transform=p;const _=e.classList.contains("is-out"),S=this.setMoverAnimationPromise=y.deferredPromise(),L={onAnimationEnd:S};if(this.setMoverAnimationPromise.then(()=>{this.setMoverAnimationPromise=null}),t)return e instanceof SVGSVGElement&&(w=i.querySelector("path"),w&&this.sizeTailPath(w,f,m,a,!1,_,b)),e.classList.contains("media-viewer-media")&&i.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{i.style.borderRadius=b,i.firstElementChild&&(i.firstElementChild.style.borderRadius=b)},a/2),setTimeout(()=>{i.innerHTML="",i.classList.remove("moving","active","hiding"),i.style.cssText="display: none;",S.resolve()},a),L;{let t,s;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,s=e.firstElementChild.src,i.append(t));else if(e instanceof HTMLImageElement)t=new Image,s=e.src;else if(e instanceof HTMLVideoElement){(t=document.createElement("video")).src=null==e?void 0:e.src}else if(e instanceof SVGSVGElement){const t=e.dataset.clipID,s=t+"-mv",{width:n,height:a}=f,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",""+n),o.setAttributeNS(null,"height",""+a),o.setAttributeNS(null,"viewBox",`0 0 ${n} ${a}`),o.setAttributeNS(null,"preserveAspectRatio","xMidYMid meet"),o.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,s)),o.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,s));const r=o.firstElementChild,d=r.firstElementChild.firstElementChild;if(d instanceof SVGUseElement){let e,t=d.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,s,i,o)=>`translate(${t=2!=(t=+t)?n-2/m:2/m}, ${a}) scale(${+i/m}, ${+o/g})`),d.setAttributeNS(null,"transform",t),w=r.firstElementChild.lastElementChild;const s=b.split(" ").map(e=>parseInt(e));e=_?c.generatePathData(0,0,n-9/m,a,...s):c.generatePathData(9/m,0,n-9/m,a,...s),w.setAttributeNS(null,"d",e)}const l=o.lastElementChild;l.setAttributeNS(null,"width",""+f.width),l.setAttributeNS(null,"height",""+f.height),i.prepend(o)}h&&(h.style.borderRadius=b,t&&h.append(t)),t=i.querySelector("video, img"),t instanceof HTMLImageElement&&(t.classList.add("thumbnail"),h||(t.style.width=f.width+"px",t.style.height=f.height+"px"),s&&(yield new Promise((e,i)=>{t.addEventListener("load",e),s&&(t.src=s)}))),i.style.display="",window.requestAnimationFrame(()=>{i.classList.add(n?"moving":"active")})}return yield new Promise(e=>window.requestAnimationFrame(e)),i.style.transform=`translate3d(${f.left}px,${f.top}px,0) scale(1,1)`,h&&this.setFullAspect(h,f,d),setTimeout(()=>{i.style.borderRadius="",i.firstElementChild&&(i.firstElementChild.style.borderRadius="")},a/2),i.dataset.timeout=""+setTimeout(()=>{i.classList.remove("moving"),h&&(i.querySelector("video"),i.classList.remove("active"),h.style.cssText="",i.offsetLeft),i.classList.add("center","no-transition"),i.classList.add("active"),delete i.dataset.timeout,S.resolve()},a),w&&this.sizeTailPath(w,f,m,a,!0,_,b),L}))}setFullAspect(e,t,s){const i=t.width/t.height;let{width:n,height:a}=s;i>0?n=a*i:a=n*i,e.style.cssText=`width: ${n}px; height: ${a}px; transform: scale(${t.width/n}, ${t.height/a});`}sizeTailPath(e,t,s,i,n,a,o){const r=Date.now(),{width:d,height:f}=t;i/=2;const l=o.split(" ").map(e=>parseInt(e)),u=()=>{const t=Date.now()-r;let o=t/i;o>1&&(o=1),n&&(o=1-o);const h=l.map(e=>e*o);let p;p=a?c.generatePathData(0,0,d-9/s*o,f,...h):c.generatePathData(9/s*o,0,d,f,...h),e.setAttributeNS(null,"d",p),t{const a=t?-i.width:s;return e.replace(n,a+"px")});e.style.transform=n,setTimeout(()=>{e.remove()},350)}setNewMover(){const e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return this.content.mover=e}loadMoreMedia(e=!0){if(e&&this.loadedAllMediaDown)return;if(!e&&this.loadedAllMediaUp)return;if(e&&this.loadMediaPromiseDown)return this.loadMediaPromiseDown;if(!e&&this.loadMediaPromiseUp)return this.loadMediaPromiseUp;const t=e?0:50;let s,i=this.currentMessageID;s=e?this.reverse?this.prevTargets[0]:this.nextTargets[this.nextTargets.length-1]:this.reverse?this.nextTargets[this.nextTargets.length-1]:this.prevTargets[0],s&&(i=s.mid),e||(i+=1);const n=this.peerID,a=r.default.getSearch(n,"",{_:"inputMessagesFilterPhotoVideo"},i,50,0,t).then(t=>{if(this.peerID!=n)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",i,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0);(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{const s=r.default.getMessage(t).media;if(!s||!(s.photo||s.document||s.webpage&&s.webpage.document))return;if("document"==s._&&"video"!=s.type)return;const i={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(i):this.nextTargets.push(i):this.reverse?this.nextTargets.push(i):this.prevTargets.unshift(i)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=a:this.loadMediaPromiseUp=a,a}updateMediaSource(e,t,s){const i=e.querySelector(s);p.renderImageFromUrl(i,t)}openMedia(e,t,s=!1,n,r=[],f=[],l=!0){return i(this,void 0,void 0,(function*(){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const n=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,m="video"==n.type||"gif"==n.type,y=!this.peerID;y&&(this.peerID=c.$rootScope.selectedPeerID,this.prevTargets=r,this.nextTargets=f,this.reverse=s,this.needLoadMore=l,g.default.container.classList.contains("active")&&(g.default.close(),yield new Promise(e=>setTimeout(e,200))));let w=0;y||(w=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const _=this.content.container;!t&&(t=_),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),_.firstElementChild&&(_.innerHTML="");const S=new Date(1e3*n.date),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][S.getMonth()]+" "+S.getDate()+" at "+S.getHours()+":"+("0"+S.getMinutes()).slice(-2);this.author.date.innerText=L;const M=a.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=M,e.message?this.content.caption.innerHTML=d.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let D=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),D.parentElement.replaceChild(this.author.avatarEl,D);0!==w?(this.moveTheMover(this.content.mover,1===w),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDown),this.wholeDiv.classList.add("active"));const E=this.content.mover,I=b.mediaSizes.isMobile?this.pageEl.scrollWidth:this.pageEl.scrollWidth-16,C=o.default.windowH-100,P=o.default.setAttachmentSize(n,_,I,C),T=n.supportsStreaming?this.preloaderStreamable:this.preloader;let k;if(m){const s=document.createElement("video");k=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:a})=>{const o=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E,r=E.querySelector("video");r&&r.remove(),s.setAttribute("playsinline",""),b.isSafari&&(s.autoplay=!0),"gif"==n.type&&(s.muted=!0,s.autoplay=!0,s.loop=!0),s.parentElement||o.append(s);const d=new Promise(e=>{s.addEventListener("canplay",e,{once:!0})});if(n.supportsStreaming){a.then(()=>{s.readyState{s.addEventListener("canplay",()=>{T.detach(),s.parentElement.classList.remove("is-buffering")},{once:!0})};s.addEventListener("waiting",t=>{const i=s.networkState===s.NETWORK_LOADING,n=s.readyState{const r=n.supportsStreaming?Promise.resolve():u.default.downloadDocNew(n);return n.supportsStreaming||a.then(()=>{T.attach(E,!0,r)}),r.then(()=>i(this,void 0,void 0,(function*(){if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");const i=n.url;t instanceof SVGSVGElement?(o.firstElementChild.lastElementChild.append(s),this.updateMediaSource(E,i,"video")):p.renderImageFromUrl(s,i),"gif"!=n.type&&(s.dataset.ckin="default",s.dataset.overlay="1",v.default.pause(),v.default.willBePlayedMedia=null,Promise.all([d,a]).then(()=>{new h.default(s,!0,n.supportsStreaming)}))}))),r}})})}else k=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:s})=>{this.lazyLoadQueue.unshift({load:()=>{const i=o.default.preloadPhoto(n.id,P);return s.then(()=>{this.preloader.attach(E,!0,i)}),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");const s=n.url;if(t instanceof SVGSVGElement){if(this.updateMediaSource(t,s,"img"),this.updateMediaSource(E,s,"img"),b.mediaSizes.isMobile){const e=E.querySelectorAll("img");e&&e.length&&e.forEach(e=>{e.classList.remove("thumbnail")})}}else{const e=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E;let t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),p.renderImageFromUrl(t,s,()=>{b.mediaSizes.isMobile&&t.classList.remove("thumbnail"),e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i}})});return this.setMoverPromise=k.catch(()=>{this.setMoverAnimationPromise=null}).finally(()=>{this.setMoverPromise=null})}))}}t.AppMediaViewer=_,t.default=new _},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Layouter=t.RectPart=void 0,t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let i=(e,t)=>e.reduce((e,t)=>e+t,t);function n(e,t,s){return es?s:e}class a{constructor(e,t,s,n,o=t){this.sizes=e,this.maxWidth=t,this.minWidth=s,this.spacing=n,this.maxHeight=o,this.count=e.length,this.ratios=a.countRatios(e),this.proportions=a.countProportions(this.ratios),this.averageRatio=i(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new o(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),s=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),i=this.maxWidth-s-this.spacing,n=Math.min(this.maxHeight,Math.round(Math.min(i/this.ratios[0],s/this.ratios[1])));return[{geometry:{x:0,y:0,width:i,height:n},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:s,height:n},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),i=e-s-this.spacing,n=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(s*this.ratios[2],i*this.ratios[1])))),a=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-n);return[{geometry:{x:0,y:0,width:a,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:a+this.spacing,y:0,width:n,height:i},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:s},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=(this.maxWidth-this.spacing)/2,n=Math.min(this.maxHeight-s-this.spacing,Math.round(Math.min(i/this.ratios[1],i/this.ratios[2]))),a=e-i-this.spacing;return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:i,height:n},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:i+this.spacing,y:s+this.spacing,width:a,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),n=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),i*this.ratios[1]))),a=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),i*this.ratios[3])),o=e-n-a-2*this.spacing,r=Math.min(this.maxHeight-s-this.spacing,i);return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:n,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:n+this.spacing,y:s+this.spacing,width:o,height:r},sides:t.RectPart.Bottom},{geometry:{x:n+this.spacing+o+this.spacing,y:s+this.spacing,width:a,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),i=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),n=Math.round(i/this.ratios[1]),a=Math.round(i/this.ratios[2]),o=e-n-a-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-s-this.spacing,i));return[{geometry:{x:0,y:0,width:s,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:r,height:n},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+this.spacing,width:r,height:a},sides:t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+a+2*this.spacing,width:r,height:o},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=a;class o{constructor(e,t,s,i,n,a=4*s/3){this.averageRatio=t,this.maxWidth=s,this.minWidth=i,this.spacing=n,this.maxHeight=a,this.ratios=o.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?n(e,1,2.75):n(e,.6667,1))}layout(){let e=new Array(this.count),s=[];const n=(e,t)=>{const s=this.ratios.slice(e,e+t),n=i(s,0);return(this.maxWidth-(t-1)*this.spacing)/n},a=e=>{let t=[],i=0;for(let s of e)t.push(n(i,s)),i+=s;s.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||a([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const s=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||s>3||a([e,t,s])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let s=1;s!=this.count-e-t;++s){const i=this.count-e-t-s;e>3||t>3||s>3||i>3||a([e,t,s,i])}let o=null,r=0;for(const e of s){const{heights:t,lineCounts:s}=e,n=s.length,a=i(t,0)+this.spacing*(n-1),d=Math.min(...t),f=(Math.max(...t),d{for(let e=1;e!=n;++e)if(s[e-1]>s[e])return 1.5;return 1})(),c=Math.abs(a-this.maxHeight)*f*l;(!o||c{const t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){const s=t-100,i=e.length;for(let t=0;t=.5&&is&&(s=i,t=n)}if(-1==t)return;e[t]+=1-s}}};const h=[];o.$rootScope.$on("poll_update",e=>{const{poll:t,results:s}=e.detail;for(const e of h)if(e.id==t.id){const i=e.element;i.isClosed=!!t.pFlags.closed,i.performResults(s,t.chosenIndexes)}}),o.$rootScope.$on("peer_changed",()=>{m&&p(m,g,b)});const p=(e,t,s)=>{e.classList.remove("active"),clearTimeout(s),setTimeout(()=>{t(),e.remove(),m==e&&g==t&&b==s&&(m=g=null,b=0)},200)};let m,g,b;class v extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isClosed=!1,this.isQuiz=!1,this.isRetracted=!1,this.isPublic=!1,this.isMultiple=!1,this.chosenIndexes=[],this.chosingIndexes=[],this.sentVote=!1}connectedCallback(){u||(u=document.getElementById("poll-line").getTotalLength()),this.pollID=this.getAttribute("poll-id"),this.mid=+this.getAttribute("message-id");const{poll:e,results:t}=n.default.getPoll(this.pollID);h.push({id:this.pollID,element:this});let s="";if(e.pFlags)if(this.isPublic=!!e.pFlags.public_voters,this.isQuiz=!!e.pFlags.quiz,this.isClosed=!!e.pFlags.closed,this.isMultiple=!!e.pFlags.multiple_choice,this.isClosed)s="Final results",this.classList.add("is-closed");else{let e=this.isQuiz?"Quiz":"Poll";s=(this.isPublic?"":"Anonymous ")+e}const i=this.isMultiple?'':"",f=e.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n ${i}\n
\n
\n
${a.RichTextProcessor.wrapEmojiText(e.text)}
\n \n \n
\n `).join("");if(this.innerHTML=`\n
${e.rQuestion}
\n
\n
${s}
\n
\n
\n ${f}\n \n `,this.descDiv=this.firstElementChild.nextElementSibling,this.typeDiv=this.descDiv.firstElementChild,this.avatarsDiv=this.descDiv.lastElementChild,this.isQuiz&&(this.classList.add("is-quiz"),e.close_period&&e.close_date)){const t=document.createElement("div");t.classList.add("poll-time"),this.descDiv.append(t);const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("poll-quiz-timer"),this.quizTimer=s;const i=2,a=7,o=2*Math.PI*a,r=document.createElementNS("http://www.w3.org/2000/svg","circle");r.classList.add("poll-quiz-timer-circle"),r.setAttributeNS(null,"cx","16"),r.setAttributeNS(null,"cy","16"),r.setAttributeNS(null,"r",""+a),r.setAttributeNS(null,"stroke-width",""+i),s.append(r),this.descDiv.append(s);const d=1e3*e.close_period,f=1e3*(e.close_date-l.default.serverTimeOffset);this.quizInterval=window.setInterval(()=>{const e=Date.now(),s=(f-e)/d,i=(f-e)/1e3+1|0;t.innerHTML=String(i).toHHMMSS(),i<=5&&(t.style.color="#ee545c",r.style.stroke="#ee545c"),r.style.strokeDashoffset=o+s*o,r.style.strokeDasharray=`${o} ${o}`,e>=f&&(clearInterval(this.quizInterval),t.innerHTML="",r.style.strokeDashoffset=o,this.quizInterval=0,setTimeout(()=>{n.default.getResults(this.mid)},3e3))},1e3)}this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));const p=this.lastElementChild;this.viewResults=p.firstElementChild,this.votersCountDiv=p.lastElementChild,this.viewResults.addEventListener("click",e=>{o.cancelEvent(e),d.default.pollResultsTab.init(this.pollID,this.mid)}),c.ripple(this.viewResults),this.isMultiple&&(this.sendVoteBtn=document.createElement("div"),this.sendVoteBtn.classList.add("poll-footer-button","poll-send-vote"),this.sendVoteBtn.innerText="Vote",c.ripple(this.sendVoteBtn),e.chosenIndexes.length||this.votersCountDiv.classList.add("hide"),this.sendVoteBtn.addEventListener("click",()=>{this.chosingIndexes.length&&this.sendVotes(this.chosingIndexes).then(()=>{this.chosingIndexes.length=0,this.answerDivs.forEach(e=>{e.classList.remove("is-chosing")})})}),p.append(this.sendVoteBtn));const m=this.getBoundingClientRect().width;this.maxLength=m+9+this.maxOffset+-13.7,e.chosenIndexes.length||this.isClosed?this.performResults(t,e.chosenIndexes):this.isClosed||(this.setVotersCount(t),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){h.findAndSplice(e=>e.element==this)}static get observedAttributes(){return["poll-id","message-id"]}attributeChangedCallback(e,t,s){"poll-id"==e?this.pollID=s:"message-id"==e&&(this.mid=+s)}adoptedCallback(){}initQuizHint(e){if(e.solution&&e.solution_entities){const t=document.createElement("div");if(t.classList.add("tgico-tip","poll-hint"),this.descDiv.append(t),t.addEventListener("click",s=>{o.cancelEvent(s),t.classList.add("active"),((e,t,s)=>{m&&p(m,g,b);const i=document.createElement("div");i.classList.add("quiz-hint");const n=document.createElement("div");n.classList.add("container","tgico");const o=document.createElement("div");o.classList.add("text"),n.append(o),i.append(n),o.innerHTML=a.RichTextProcessor.wrapRichText(e,{entities:t}),f.default.bubblesContainer.append(i),i.offsetLeft,i.classList.add("active"),m=i,g=s,b=window.setTimeout(()=>{p(i,s,b)},r.touchSupport?5e3:7e3)})(e.solution,e.solution_entities,()=>{t.classList.remove("active")})}),this.sentVote){const s=e.results.find(e=>e.pFlags.correct);s&&!s.pFlags.chosen&&t.click()}}}clickHandler(e){const t=o.findUpClassName(e.target,"poll-answer");if(!t)return;const s=+t.dataset.index;if(this.isMultiple){t.classList.toggle("is-chosing");const e=this.chosingIndexes.indexOf(s);-1!==e?this.chosingIndexes.splice(e,1):this.chosingIndexes.push(s)}else this.sendVotes([s])}sendVotes(e){if(this.sendVotePromise)return this.sendVotePromise;const t=this.answerDivs.filter((t,s)=>e.includes(s));return t.forEach(e=>{e.classList.add("is-voting")}),this.classList.add("disable-hover"),this.sentVote=!0,this.sendVotePromise=n.default.sendVote(this.mid,e).then(()=>{t.forEach(e=>{e.classList.remove("is-voting")}),this.classList.remove("disable-hover")}).catch(()=>{this.sentVote=!1}).finally(()=>{this.sendVotePromise=null})}performResults(e,t){var s,i;if(this.isQuiz&&((null===(s=e.results)||void 0===s?void 0:s.length)||this.isClosed)){this.answerDivs.forEach((t,s)=>{t.classList.toggle("is-correct",!!e.results[s].pFlags.correct)}),this.initQuizHint&&(this.initQuizHint(e),this.initQuizHint=null),this.quizInterval&&(clearInterval(this.quizInterval),this.quizInterval=0),(null===(i=this.quizTimer)||void 0===i?void 0:i.parentElement)&&this.quizTimer.remove();const t=this.descDiv.querySelector(".poll-time");t&&t.remove()}if(this.isClosed&&(this.classList.add("is-closed"),this.typeDiv.innerText="Final results"),(this.chosenIndexes.length!=t.length||this.isClosed)&&(this.isRetracted=this.chosenIndexes.length&&!t.length,this.chosenIndexes=t.slice(),this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),this.chosenIndexes.length||this.isRetracted||this.isClosed){const t=e.results.map(t=>e.total_voters?t.voters/e.total_voters*100:0);this.setResults(this.isRetracted?this.percents:t,this.chosenIndexes),this.percents=t,this.isRetracted=!1}if(this.setVotersCount(e),this.isPublic){this.isMultiple||(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length));let t="";e.recent_voters.forEach((e,s)=>{t+=``}),this.avatarsDiv.innerHTML=t}this.isMultiple&&(this.sendVoteBtn.classList.toggle("hide",!!this.chosenIndexes.length),this.chosenIndexes.length?this.isPublic?(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length)):this.votersCountDiv.classList.toggle("hide",!this.chosenIndexes.length):(this.votersCountDiv.classList.add("hide"),this.viewResults.classList.add("hide")))}setResults(e,s){this.svgLines.forEach(e=>e.style.display=""),this.answerDivs.forEach((e,t)=>{e.classList.toggle("is-chosen",s.includes(t))});const i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),e=e.slice(),t.roundPercents(e),this.isRetracted)for(let t=9,s=0;t>=0;--t,++s)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*t);this.numberDivs[s].innerText=i+"%"})},34*s);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*(t+1));this.numberDivs[s].innerText=i+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){const t=e.total_voters||0,s=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+s:"No "+s)}setLineProgress(e,t){const s=this.svgLines[e];-1==t?(s.style.strokeDasharray="",s.style.strokeDashoffset=""):(s.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",s.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=v,customElements.define("poll-element",v)},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readBlobAsText=void 0,t.readBlobAsText=e=>new Promise(t=>{const s=new FileReader;s.addEventListener("loadend",e=>{t(e.srcElement.result)}),s.readAsText(e)})},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(26);t.default=class{constructor(e,t){this.sidebarEl=e,this.tabs=t,this.historyTabIDs=[],this._selectTab=i.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,250),this._selectTab(0);let s=()=>{let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",s)})}selectTab(e){if(this.historyTabIDs[this.historyTabIDs.length-1]==e)return;const t=this.tabs[e];t&&(t.onOpen&&t.onOpen(),t.onOpenAfterTimeout&&setTimeout(()=>{t.onOpenAfterTimeout()},250)),this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&(t.onClose&&t.onClose(),t.onCloseAfterTimeout&&setTimeout(()=>{t.onCloseAfterTimeout()},250))}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(44)),o=s(3),r=i(s(6)),d=s(18),f=i(s(21)),l=s(4),c=i(s(15)),u=s(0),h=i(s(10));class p extends n.PopupElement{constructor(e){super("popup-stickers",null,{closable:!0,body:!0}),this.stickerSetInput=e,this.onFooterClick=()=>{this.stickersFooter.setAttribute("disabled","true"),a.default.toggleStickerSet(this.set).then(()=>{this.closeBtn.click()}).catch(()=>{this.stickersFooter.removeAttribute("disabled")})},this.onStickersClick=e=>{const t=u.findUpClassName(e.target,"sticker-set-sticker");if(!t)return;const s=t.dataset.docID;h.default.chatInputC.sendMessageWithDocument(s)?this.closeBtn.click():console.warn("got no doc by id:",s)},this.h6=document.createElement("h6"),this.h6.innerText="Loading...",this.header.append(this.h6),this.onClose=()=>{c.default.checkAnimations(!1),this.stickersFooter.removeEventListener("click",this.onFooterClick),this.stickersDiv.removeEventListener("click",this.onStickersClick),this.element.removeEventListener("click",t)},this.onCloseAfterTimeout=()=>{c.default.checkAnimations(void 0,"STICKERS-POPUP")};const t=e=>{u.findUpClassName(e.target,"popup-container")||this.closeBtn.click()};this.element.addEventListener("click",t);const s=document.createElement("div");s.classList.add("sticker-set"),this.stickersDiv=document.createElement("div"),this.stickersDiv.classList.add("sticker-set-stickers"),l.putPreloader(this.stickersDiv),this.stickersFooter=document.createElement("div"),this.stickersFooter.classList.add("sticker-set-footer"),s.append(this.stickersDiv),this.stickersFooter.innerText="Loading...",this.body.append(s);new r.default(this.body,"y",void 0);this.body.append(this.stickersFooter),this.loadStickerSet()}loadStickerSet(){return a.default.getStickerSet(this.stickerSetInput).then(e=>{this.set=e.set,c.default.checkAnimations(!0),this.h6.innerHTML=o.RichTextProcessor.wrapEmojiText(e.set.title),e.set.installed_date?this.stickersFooter.classList.remove("add"):this.stickersFooter.classList.add("add"),this.stickersFooter.innerHTML=e.set.hasOwnProperty("installed_date")?'
Remove stickers
':``,this.stickersFooter.addEventListener("click",this.onFooterClick),e.documents.length&&this.stickersDiv.addEventListener("click",this.onStickersClick);const t=new f.default;this.stickersDiv.innerHTML="";for(let s of e.documents){if("documentEmpty"==s._)continue;const e=document.createElement("div");e.classList.add("sticker-set-sticker"),d.wrapSticker({doc:s,div:e,lazyLoadQueue:t,group:"STICKERS-POPUP",play:!0,loop:!0,width:80,height:80}),this.stickersDiv.append(e)}})}}t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppInlineBotsManager=void 0;const n=i(s(7)),a=i(s(2)),o=i(s(8)),r=i(s(33)),d=s(3),f=s(45),l=i(s(5)),c=i(s(13)),u=i(s(12));class h{constructor(){this.inlineResults={}}getInlineResults(e,t,s="",i="",n){return a.default.invokeApi("messages.getInlineBotResults",{flags:0|(n?1:0),bot:l.default.getUserInput(t),peer:o.default.getInputPeerByID(e),query:s,geo_point:n&&{_:"inputGeoPoint",lat:n.lat,long:n.long},offset:i},{stopTime:-1,noErrorBox:!0}).then(e=>{const t=e.query_id;return e.results.forEach(e=>{const s=t+"_"+e.id;"botInlineMediaResult"==e._&&(e.document&&(e.document=u.default.saveDoc(e.document)),e.photo&&(e.photo=c.default.savePhoto(e.photo))),this.inlineResults[s]=e}),e})}callbackButtonClick(e,t){let s=n.default.getMessage(e),i=n.default.getMessagePeer(s);return a.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:o.default.getInputPeerByID(i),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&f.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0}))})}}t.AppInlineBotsManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(0),o=n(s(12)),r=s(18),d=s(4),f=s(21),l=n(s(15)),c=s(23);t.default=class{constructor(e,t,s){this.element=e,this.group=t,this.scrollable=s,this.scrollPromise=Promise.resolve(),this.processVisibleDiv=e=>{if(e.querySelector("video"))return;this.lazyLoadQueue.push({div:e,load:()=>{const t=e.dataset.docID,s=o.default.getDoc(t);return this.scrollPromise.then(()=>{const t=r.wrapVideo({doc:s,container:e,lazyLoadQueue:null,group:this.group,noInfo:!0});return t.finally(()=>{const t=e.querySelector("video");e.style.opacity="";const s=e.querySelector("img");s&&s.classList.add("hide"),t&&!t.parentElement&&setTimeout(()=>{t.src="",t.load();l.default.getAnimations(t).forEach(e=>{l.default.checkAnimation(e,!0,!0)})},0),this.lazyLoadQueue.intersector.isVisible(e)||this.processInvisibleDiv(e)}),t})}})},this.processInvisibleDiv=e=>i(this,void 0,void 0,(function*(){return this.scrollPromise.then(()=>i(this,void 0,void 0,(function*(){if(this.lazyLoadQueue.intersector.isVisible(e))return;const t=e.querySelector("video"),s=e.querySelector("img");if(s&&(s&&s.classList.remove("hide"),yield new Promise(e=>{window.requestAnimationFrame(()=>window.requestAnimationFrame(e))})),!this.lazyLoadQueue.intersector.isVisible(e)&&t){t.remove(),t.src="",t.load();l.default.getAnimations(t).forEach(e=>{l.default.checkAnimation(e,!0,!0)})}})))})),this.lazyLoadQueue=new f.LazyLoadQueueRepeat2(void 0,(e,t)=>{t?this.processVisibleDiv(e):this.processInvisibleDiv(e)}),setInterval(()=>{const e=l.default.byGroups[t];e&&console.log(`GIFS RENDERED IN ${t}:`,e.length,e.filter(e=>!e.animation.paused).length,this.lazyLoadQueue.intersector.getVisible().length)},250);let n=0;s.container.addEventListener("scroll",()=>{n?clearTimeout(n):this.scrollPromise=c.deferredPromise(),n=window.setTimeout(()=>{n=0,this.scrollPromise.resolve()},150)})}add(e){var t;let s=e.w,i=e.h;i<100&&(s*=100/i,i=100);const n=Math.min(300,400,s),{w:r,h:f}=a.calcImageInBox(s,i,n,100),l=document.createElement("div");l.classList.add("gif","fade-in-transition"),l.style.width=r+"px",l.style.opacity="0",l.dataset.docID=e.id,this.element.append(l),this.lazyLoadQueue.observe(l);const c=o.default.getThumb(e,!1);let u;!!c&&(u=new Image,c.thumb.url||c.promise.then(()=>{u.src=c.thumb.url}));const h=()=>{u&&(l.append(u),l.style.opacity="")};(null===(t=null==c?void 0:c.thumb)||void 0===t?void 0:t.url)?d.renderImageFromUrl(u,c.thumb.url,h):h()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,s=t.target.parentElement,i=t.rootBounds;e.bottom=i.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let s=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,s)},{root:this.container})}addSentinel(e,t){const s=document.createElement("div");return s.classList.add("sticky_sentinel",t),e.appendChild(s)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(36);class n extends i.PopupElement{constructor(e,t){super("popup-date-picker",[{text:"CANCEL",isCancel:!0},{text:"JUMP TO DATE",callback:()=>{this.onPick&&this.onPick(this.selectedDate.getTime()/1e3|0)}}]),this.onPick=t,this.minDate=new Date("2013-08-01T00:00:00"),this.onPrevClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()-1),this.setMonth(),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.nextBtn.removeAttribute("disabled")},this.onNextClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()+1),this.setMonth(),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.prevBtn.removeAttribute("disabled")},this.onDateClick=e=>{const t=e.target;if(!t.dataset.timestamp)return;if(this.selectedEl){if(this.selectedEl==t)return;this.selectedEl.classList.remove("active")}t.classList.add("active");const s=+t.dataset.timestamp;this.selectedDate=new Date(s),this.setTitle(),this.setMonth()};const s=document.createElement("div");s.classList.add("popup-body"),this.controlsDiv=document.createElement("div"),this.controlsDiv.classList.add("date-picker-controls"),this.prevBtn=document.createElement("button"),this.prevBtn.classList.add("btn-icon","tgico-down","date-picker-prev"),this.prevBtn.addEventListener("click",this.onPrevClick),this.nextBtn=document.createElement("button"),this.nextBtn.classList.add("btn-icon","tgico-down","date-picker-next"),this.nextBtn.addEventListener("click",this.onNextClick),this.monthTitle=document.createElement("div"),this.monthTitle.classList.add("date-picker-month-title"),this.controlsDiv.append(this.prevBtn,this.monthTitle,this.nextBtn),this.monthsContainer=document.createElement("div"),this.monthsContainer.classList.add("date-picker-months"),this.monthsContainer.addEventListener("click",this.onDateClick),s.append(this.controlsDiv,this.monthsContainer),this.container.append(s);const i=document.createElement("div");i.classList.add("popup-centerer"),i.append(this.container),this.element.append(i),e.setHours(0,0,0,0),this.selectedDate=e,this.maxDate=new Date,this.maxDate.setHours(0,0,0,0),this.selectedMonth=new Date(this.selectedDate),this.selectedMonth.setDate(1),this.maxMonth=new Date(this.maxDate),this.maxMonth.setDate(1),this.minMonth=new Date(this.minDate),this.minMonth.setDate(1),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.setTitle(),this.setMonth()}setTitle(){const e=this.selectedDate.toString().split(" ",3);this.title.innerText=e[0]+", "+e[1]+" "+e[2]}setMonth(){this.monthTitle.innerText=["January","February","March","April","May","June","July","August","September","October","November","December"][this.selectedMonth.getMonth()]+" "+this.selectedMonth.getFullYear(),this.month&&this.month.remove(),this.month=document.createElement("div"),this.month.classList.add("date-picker-month");const e=["M","T","W","T","F","S","S"];this.month.append(...e.map(e=>{const t=document.createElement("span");return t.innerText=e,t}));const t=new Date(this.selectedMonth);let s=t.getDay()-1;-1==s&&(s=e.length-1);for(let e=0;ethis.maxDate&&s.setAttribute("disabled","true"),t.getTime()==this.selectedDate.getTime()&&(this.selectedEl=s,s.classList.add("active")),this.month.append(s),t.setDate(e+1)}while(1!=t.getDate());this.container.classList.toggle("is-max-lines",this.month.childElementCount/7>6),this.monthsContainer.append(this.month)}}t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(31)),a=s(4),o=i(s(20)),r=i(s(2)),d=i(s(25)),f=s(1),l=i(s(108)),c=s(0);const u=new d.default("page-password",!0,()=>{let e,t=0,s=!1;const i=u.pageEl.querySelector("button"),d=document.getElementById("password"),h=d.nextElementSibling,p=u.pageEl.querySelector(".toggle-visible");let m=()=>l.default.getState().then(e=>{var t;v=e,h.innerText=null!==(t=v.hint)&&void 0!==t?t:"Password"}),g=e=>{i.removeAttribute("disabled"),e.type,i.innerText=e.type,m()};const b=function(i){c.cancelEvent(i),s=!s,this.classList.toggle("tgico-eye2",s),s?(d.setAttribute("type","text"),e.setDirection(1),e.curFrame=0,t=16,e.play()):(d.setAttribute("type","password"),e.setDirection(-1),e.curFrame=16,t=0,e.play())};let v;p.addEventListener("click",b),p.addEventListener("touchend",b),i.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let s=d.value;this.textContent="PLEASE WAIT...",a.putPreloader(this),l.default.check(s,v).then(t=>{switch(t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),n.default.mount(),e&&e.remove();break;default:i.removeAttribute("disabled"),i.innerText=t._}}).catch(g)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return i.click()}));const y=f.mediaSizes.isMobile?100:166;return Promise.all([o.default.loadAnimationFromURL({container:u.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,width:y,height:y,noCache:!0},"assets/img/TwoFactorSetupMonkeyPeek.tgs").then(s=>{e=s,e.addListener("enterFrame",s=>{(1==e.direction&&s>=t||-1==e.direction&&s<=t)&&(e.setSpeed(1),e.pause())}),t=49}),m()])});t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),s(68),s(69),s(70),document.addEventListener("DOMContentLoaded",()=>o(void 0,void 0,void 0,(function*(){const e=()=>{const e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh",e+"px")};window.addEventListener("resize",e),e();const[t,i,n,o]=yield Promise.all([Promise.resolve().then(()=>a(s(1))),Promise.resolve().then(()=>a(s(2))),Promise.resolve().then(()=>a(s(75))),Promise.resolve().then(()=>a(s(19)))]),r=yield o.default.get("user_auth");t.isApple?(document.documentElement.classList.add("is-mac","emoji-supported"),t.isAppleMobile&&document.documentElement.classList.add("is-ios")):t.isAndroid&&document.documentElement.classList.add("is-android"),t.touchSupport||document.documentElement.classList.add("no-touch");const d=r.id||0;d?(yield Promise.resolve().then(()=>a(s(31)))).default.mount():(yield Promise.resolve().then(()=>a(s(49)))).default.mount();const f=yield Promise.resolve().then(()=>a(s(0)));f.$rootScope.myID=d;const l=f.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{const t=l(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});const c=(yield Promise.resolve().then(()=>a(s(17)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>c(e))})))},function(e,t,s){},function(e,t,s){},function(e,t,s){},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const i=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(s=>{s.length&&s.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},n=(...e)=>{self.postMessage(...e)},a=()=>{};t.notifySomeone=t.isServiceWorker?i.bind(null,!1):t.isWebWorker?n:a,t.notifyAll=t.isServiceWorker?i.bind(null,!0):t.isWebWorker?n:a},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(22);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,s){return this.performTaskWorker("pbkdf2",e,t,s)}aesEncrypt(e,t,s){return this.performTaskWorker("aes-encrypt",i.convertToArrayBuffer(e),i.convertToArrayBuffer(t),i.convertToArrayBuffer(s))}aesDecrypt(e,t,s){return this.performTaskWorker("aes-decrypt",e,t,s).then(e=>i.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=i.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,s){return this.performTaskWorker("mod-pow",e,t,s)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,s){e.exports=function(){return new Worker(s.p+"608dbdcf64455bd4cc24.worker.js")}},function(e,t,s){e.exports=function(){return new Worker(s.p+"b601bf8645daa9db7023.worker.js")}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.secureRandom=void 0;const i=s(22),n=s(52);t.secureRandom=new n.SecureRandom,Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(e){this.set(i.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return i.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),s=Math.floor(t/3600);let i=Math.floor((t-3600*s)/60),n=t-3600*s-60*i;return s&&(e=!0),i<10&&(i=e?"0"+i:i),n<10&&(n="0"+n),(s?s+":":"")+i+":"+n}},function(e,t,s){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var s,i=e.HTMLElement||e.Element,n=468,a={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:i.prototype.scroll||d,scrollIntoView:i.prototype.scrollIntoView},o=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(s=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(s)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):a.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?a.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var e=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var s=function(e){for(;e!==t.body&&!1===(i=l(s=e,"Y")&&c(s,"Y"),n=l(s,"X")&&c(s,"X"),i||n);)e=e.parentNode||e.host;var s,i,n;return e}(this),i=s.getBoundingClientRect(),n=this.getBoundingClientRect();s!==t.body?(h.call(this,s,s.scrollLeft+n.left-i.left,s.scrollTop+n.top-i.top),"fixed"!==e.getComputedStyle(s).position&&e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):e.scrollBy({left:n.left,top:n.top,behavior:"smooth"})}else a.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function d(e,t){this.scrollLeft=e,this.scrollTop=t}function f(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function l(e,t){return"Y"===t?e.clientHeight+r1?1:d,s=.5*(1-Math.cos(Math.PI*r)),i=t.startX+(t.x-t.startX)*s,a=t.startY+(t.y-t.startY)*s,t.method.call(t.scrollable,i,a),i===t.x&&a===t.y||e.requestAnimationFrame(u.bind(e,t))}function h(s,i,n){var r,f,l,c,h=o();s===t.body?(r=e,f=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,c=a.scroll):(r=s,f=s.scrollLeft,l=s.scrollTop,c=d),u({scrollable:r,method:c,startTime:h,startX:f,startY:l,x:i,y:n})}}}}()},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="(?:👨🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👨🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👨🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👨🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👨🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👩🏻‍🤝‍👩\ud83c[\udffc-\udfff]|👩🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👩🏼‍🤝‍👩\ud83c[\udffb\udffd-\udfff]|👩🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👩🏽‍🤝‍👩\ud83c[\udffb\udffc\udffe\udfff]|👩🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👩🏾‍🤝‍👩\ud83c[\udffb-\udffd\udfff]|👩🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏿‍🤝‍👩\ud83c[\udffb-\udffe]|🧑🏻‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏼‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏽‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏾‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏿‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑‍🤝‍🧑|👫\ud83c[\udffb-\udfff]|👬\ud83c[\udffb-\udfff]|👭\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|🧑)(?:\ud83c[\udffb-\udfff])?‍(?:⚕️|⚖️|✈️|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|⛹)((?:\ud83c[\udffb-\udfff]|️)‍[♀♂]️)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?‍[♀♂]️|(?:👨‍❤️‍💋‍👨|👨‍👨‍👦‍👦|👨‍👨‍👧‍\ud83d[\udc66\udc67]|👨‍👩‍👦‍👦|👨‍👩‍👧‍\ud83d[\udc66\udc67]|👩‍❤️‍💋‍\ud83d[\udc68\udc69]|👩‍👩‍👦‍👦|👩‍👩‍👧‍\ud83d[\udc66\udc67]|👨‍❤️‍👨|👨‍👦‍👦|👨‍👧‍\ud83d[\udc66\udc67]|👨‍👨‍\ud83d[\udc66\udc67]|👨‍👩‍\ud83d[\udc66\udc67]|👩‍❤️‍\ud83d[\udc68\udc69]|👩‍👦‍👦|👩‍👧‍\ud83d[\udc66\udc67]|👩‍👩‍\ud83d[\udc66\udc67]|🏳️‍⚧️|🏳️‍🌈|🏴‍☠️|🐕‍🦺|🐻‍❄️|👁‍🗨|👨‍\ud83d[\udc66\udc67]|👩‍\ud83d[\udc66\udc67]|👯‍♀️|👯‍♂️|🤼‍♀️|🤼‍♂️|🧞‍♀️|🧞‍♂️|🧟‍♀️|🧟‍♂️|🐈‍⬛)|[#*0-9]️?⃣|(?:[©®™♟]️)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[‼⁉ℹ↔-↙↩↪⌚⌛⌨⏏⏭-⏯⏱⏲⏸-⏺Ⓜ▪▫▶◀◻-◾☀-☄☎☑☔☕☘☠☢☣☦☪☮☯☸-☺♀♂♈-♓♠♣♥♦♨♻♿⚒-⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅⛈⛏⛑⛓⛔⛩⛪⛰-⛵⛸⛺⛽✂✈✉✏✒✔✖✝✡✳✴❄❇❗❣❤➡⤴⤵⬅-⬇⬛⬜⭐⭕〰〽㊗㊙])(?:️|(?!︎))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[☝⛷⛹✌✍])(?:️|(?!︎))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[✊✋]))(?:\ud83c[\udffb-\udfff])?|(?:🏴󠁧󠁢󠁥󠁮󠁧󠁿|🏴󠁧󠁢󠁳󠁣󠁴󠁿|🏴󠁧󠁢󠁷󠁬󠁳󠁿|🇦\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|🇧\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|🇨\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|🇩\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|🇪\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|🇫\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|🇬\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|🇭\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|🇮\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|🇯\ud83c[\uddea\uddf2\uddf4\uddf5]|🇰\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|🇱\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|🇲\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|🇳\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|🇴🇲|🇵\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|🇶🇦|🇷\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|🇸\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|🇹\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|🇺\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|🇻\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|🇼\ud83c[\uddeb\uddf8]|🇽🇰|🇾\ud83c[\uddea\uddf9]|🇿\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[⏩-⏬⏰⏳♾⛎✅✨❌❎❓-❕➕-➗➰➿])|️"},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toCodePoints=t.encodeEmoji=void 0,t.encodeEmoji=function(e){return o(a(e)).join("-")};const i=/\uFE0F/g,n=String.fromCharCode(8205),a=e=>e.indexOf(n)<0?e.replace(i,""):e;function o(e){const t=[];let s=0,i=0,n=0;for(;n55296&&s<=56319?i=s:t.push(s.toString(16));return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t}t.toCodePoints=o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(49)),a=i(s(80)),o=i(s(31)),r=i(s(66)),d=i(s(20)),f=i(s(2)),l=i(s(25)),c=(s(30),s(1));let u=null;let h=null,p=null;const m=new l.default("page-authCode",!0,()=>{let e,t,s=0,i=0;const l=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return n.default.mount()}));let b=()=>{setTimeout(()=>{e&&e.remove(),t&&t.remove()},300)};h.addEventListener("input",(function(n){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>l&&(this.value=this.value.slice(0,l));let d,c=this.value.length;if(c==l)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};f.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),o.default.mount(),b();break;case"auth.authorizationSignUpRequired":a.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),b();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":e.handled=!0,b(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(c==i)return;if(i=c,!e)return;c?(d=Math.round(Math.min(45,c)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):d=0;let m=s>d?-1:1;e.setDirection(m),0!=s&&0==d&&e.setSpeed(7),s=d,e.play()}));let v=m.pageEl.querySelector(".auth-image");const y=c.mediaSizes.isMobile?100:166;return Promise.all([d.default.loadAnimationFromURL({container:v,loop:!0,autoplay:!0,width:y,height:y},"assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>{t=e}),d.default.loadAnimationFromURL({container:v,loop:!1,autoplay:!1,width:y,height:y},"assets/img/TwoFactorSetupMonkeyTracking.tgs").then(i=>{e=i,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",i=>{(1==e.direction&&i>=s||-1==e.direction&&i<=s)&&(e.setSpeed(1),e.pause()),0==i&&0==s&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=o(s(31)),f=o(s(2)),l=o(s(25)),c=o(s(46));let u=null;const h=new l.default("page-signUp",!0,()=>Promise.resolve().then(()=>a(s(27))).then(e=>{const t=h.pageEl,s=t.querySelector("#canvas-avatar"),i=e.default;let n;t.querySelector(".auth-image").addEventListener("click",()=>{c.default.open(s,e=>{n=e})});const a=t.getElementsByClassName("fullName")[0];let o=function(e){let t=l.value||"",s=p.value||"",i=t||s?(t+" "+s).trim():"Your Name";a.innerText!=i&&(a.innerText=i),this.classList.remove("error")};const l=document.getElementById("name");l.addEventListener("input",o);const p=document.getElementById("lastName");p.addEventListener("input",o);document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!l.value.length)return l.classList.add("error"),!1;let t=l.value,s=p.value,a={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,first_name:t,last_name:s};this.textContent="PLEASE WAIT...",r.putPreloader(this),f.default.invokeApi("auth.signUp",a).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!n)return e();n().then(s=>{i.uploadProfilePhoto(s).then(e,t)},t)}).then(()=>{d.default.mount()},()=>{d.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))}),e=>{u=e});t.default=h},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(20)),o=s(26);const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=n.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&a.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const n=i(s(19)),a=s(30);class o{constructor(){this.disabled=a.Modes.test||-1==a.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;n.default.get("tgme_sync").then(t=>{var s=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>s)return!1;n.default.set({tgme_sync:{canRedirect:e,ts:s}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=o,t.telegramMeWebService=new o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e){this.items=new Map,this.locked=!1,this.observer=new IntersectionObserver(t=>{if(this.locked)return;const s=[];t.forEach(e=>{const t=e.target;this.items.get(t)!=e.isIntersecting&&(this.items.set(t,e.isIntersecting),s[e.isIntersecting?"unshift":"push"]({target:t,visible:e.isIntersecting}))}),s.forEach(t=>{e(t.target,t.visible)})})}getVisible(){const e=[];return this.items.forEach((t,s)=>{t&&e.push(s)}),e}clearVisible(){const e=this.getVisible();for(const t of e)this.items.set(t,!1)}isVisible(e){return this.items.get(e)}disconnect(){this.observer.disconnect(),this.items.clear()}refresh(){this.observer.disconnect();const e=[...this.items.keys()];for(const t of e)this.observer.observe(t)}refreshVisible(){const e=this.getVisible();for(const t of e)this.observer.unobserve(t);for(const t of e)this.observer.observe(t)}observe(e){this.items.set(e,!1),this.observer.observe(e)}unobserve(e){this.observer.unobserve(e),this.items.delete(e)}unlock(){this.locked=!1}unlockAndRefresh(){this.unlock(),this.refresh()}lock(){this.locked=!0}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeWaveform=void 0;const n=i(s(12)),a=s(3),o=s(18),r=i(s(35)),d=s(50),f=i(s(37)),l=s(1);function c(e){e instanceof Uint8Array||(e=new Uint8Array(e));var t=8*e.length/5|0;if(!t)return new Uint8Array([]);for(var s=new DataView(e.buffer),i=new Uint8Array(t),n=0;n>o&31}return i}t.decodeWaveform=c;class u extends HTMLElement{constructor(){super(),this.attachedHandlers={}}connectedCallback(){this.classList.add("audio");const e=+this.getAttribute("message-id"),t=this.getAttribute("doc-id"),s=n.default.getDoc(t),i=+s.id<0,u=String(0|s.duration).toHHMMSS(!0);this.innerHTML='
';const h=document.createElement("div");h.classList.add("audio-download"),i||"audio"==s.type||(h.innerHTML='
'),("audio"!=s.type||i)&&this.append(h);const p="voice"==s.type?function(e,t){t.classList.add("is-voice");const s=l.mediaSizes.isMobile?2:1,i=l.mediaSizes.isMobile?3:2,n=l.mediaSizes.isMobile?16:23,a=l.mediaSizes.isMobile?152:190,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add("audio-waveform"),o.setAttributeNS(null,"width",""+a),o.setAttributeNS(null,"height",""+n),o.setAttributeNS(null,"viewBox",`0 0 ${a} ${n}`);const r=document.createElement("div");r.classList.add("audio-time"),t.append(o,r);let d=e.attributes.find(e=>"documentAttributeAudio"==e._).waveform||[];d=c(d.slice());const f=Math.max(...d),u=d.length?d.length:100,h=Math.min(a/(2+s)|0,u);let p=0;const m=n-i;let g="";for(let e=0,t=0,a=0;e=u){a=a+h-u,a<(h+1)/2&&p\n `,t+=2+s,p=a<(h+1)/2?0:o}else p{let e=0,s=0,i=t.audio;(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")));let n=()=>{clearInterval(e),e=setInterval(()=>{s>o.childElementCount||isNaN(i.duration)||i.paused?clearInterval(e):(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")))},20)};i.paused||n(),t.addAudioListener("playing",()=>{n()}),t.addAudioListener("pause",()=>{clearInterval(e)}),t.addAudioListener("ended",()=>{clearInterval(e),b.forEach(e=>e.classList.remove("active"))});let r=!1,d=!1;function f(e){const t=e.offsetX/a*i.duration;s=Math.round(t/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active"));for(let e=s+1;e{r&&(i.play(),r=!1),d=!1}),v.addEventListener("mousemove",e=>{d=!0,r&&f(e)}),v.addEventListener("mousedown",e=>{e.preventDefault(),i.paused||(i.pause(),f(e),r=!0)}),v.addEventListener("mouseup",e=>{d&&r&&(i.play(),r=!1)}),v.addEventListener("click",e=>{i.paused||f(e)}),()=>{clearInterval(e),v.remove(),v=null,i=null}}}(s,this):function(e,t){const s=!!+t.getAttribute("with-time"),i=e.audioTitle||e.file_name;let n=e.audioPerformer?a.RichTextProcessor.wrapPlainText(e.audioPerformer):"";s?n+=(n?" · ":"")+o.formatDate(e.date):n||(n="Unknown Artist");const r=`\n
\n
${i}
\n
${n}
\n
\n
`;return t.insertAdjacentHTML("beforeend",r),()=>{const s=t.querySelector(".audio-subtitle");let i=!1,a=new d.MediaProgressLine(t.audio,e.supportsStreaming);t.addAudioListener("ended",()=>{t.classList.remove("audio-show-progress"),s.innerHTML=n,i=!1});const o=()=>{i||(t.classList.add("audio-show-progress"),i=!0,s.innerHTML="",a&&s.append(a.container))};return t.addAudioListener("playing",o),(!t.audio.paused||t.audio.currentTime>0)&&o(),()=>{a.removeListeners(),a.container.remove(),a=null}}}(s,this),m=this.querySelector(".audio-time");m.innerHTML=u;const g=(t=!0)=>{const i=this.audio=f.default.addMedia(s,e,t);this.onTypeDisconnect=p();const n=this.querySelector(".audio-toggle"),a=()=>{m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u,i.paused||(n.classList.remove("tgico-largeplay"),n.classList.add("tgico-largepause"))};(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(a(),m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u),n.addEventListener("click",()=>{i.paused?i.play().catch(()=>{}):i.pause()}),this.addAudioListener("ended",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("timeupdate",()=>{f.default.isSafariBuffering(i)||(m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u)}),this.addAudioListener("pause",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("playing",a)};if(i)this.preloader.attach(h,!1);else{let t=this.preloader;if("voice"==s.type){let e;const i=()=>{e?e.cancel():(t||(t=new r.default(null,!0)),e=n.default.downloadDocNew(s),t.attach(h,!0,e),e.then(()=>{h.remove(),this.removeEventListener("click",i),g()}).catch(t=>{"AbortError"===t.name&&(e=null)}).finally(()=>{h.classList.remove("downloading")}),h.classList.add("downloading"))};this.addEventListener("click",i),this.click()}else{g(!1);const s=()=>{f.default.resolveWaitingForLoadMedia(e),f.default.willBePlayed(this.audio),t||(t=new r.default(null,!1)),l.isSafari&&(this.audio.autoplay=!0,this.audio.play().catch(()=>{})),t.attach(h),this.append(h),new Promise(e=>{this.audio.readyState>=2?e():this.addAudioListener("canplay",e)}).then(()=>{h.remove(),f.default.willBePlayedMedia==this.audio&&(this.audio.play(),f.default.willBePlayedMedia=null)})};this.addEventListener("click",s,{once:!0})}}}addAudioListener(e,t){this.attachedHandlers[e]||(this.attachedHandlers[e]=[]),this.attachedHandlers[e].push(t),this.audio.addEventListener(e,t)}disconnectedCallback(){this.onTypeDisconnect&&(this.onTypeDisconnect(),this.onTypeDisconnect=null);for(let e in this.attachedHandlers){for(let t of this.attachedHandlers[e])this.audio.removeEventListener(e,t);delete this.attachedHandlers[e]}this.preloader=null}static get observedAttributes(){return[]}attributeChangedCallback(e,t,s){}adoptedCallback(){}}t.default=u,customElements.define("audio-element",u)},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(29)),d=o(s(6)),f=o(s(21)),l=s(0),c=o(s(10)),u=o(s(44)),h=o(s(61)),p=o(s(15)),m=s(3),g=s(18),b=a(s(24));t.default=class{constructor(){this.container=document.getElementById("stickers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.setsDiv=this.contentDiv.firstElementChild,this.scrollable=new d.default(this.contentDiv,"y","STICKERS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.setsDiv),this.lazyLoadQueue=new f.default,this.searchInput=new r.default("Search Stickers",e=>{this.search(e)}),this.backBtn.parentElement.append(this.searchInput.container),this.setsDiv.addEventListener("click",e=>{const t=l.findUpClassName(e.target,"sticker-set-sticker");if(t){const e=t.dataset.docID;return void c.default.chatInputC.sendMessageWithDocument(e)}const s=l.findUpClassName(e.target,"sticker-set");if(!s)return;const i=s.dataset.stickerSet,n=s.dataset.stickerSet,a=l.findUpClassName(e.target,"sticker-set-button");a?(e.preventDefault(),e.cancelBubble=!0,a.setAttribute("disabled","true"),u.default.getStickerSet({id:i,access_hash:n}).then(e=>{u.default.toggleStickerSet(e.set).then(t=>{t&&(a.innerText=e.set.installed_date?"Added":"Add",a.classList.toggle("gray",!!e.set.installed_date))}).finally(()=>{a.removeAttribute("disabled")})})):u.default.getStickerSet({id:i,access_hash:n}).then(e=>{new h.default(e.set).show()})})}onCloseAfterTimeout(){this.setsDiv.innerHTML="",this.searchInput.value="",p.default.checkAnimations(void 0,"STICKERS-SEARCH")}renderSet(e){const t=document.createElement("div");t.classList.add("sticker-set");const s=document.createElement("div");s.classList.add("sticker-set-header");const i=document.createElement("div");i.classList.add("sticker-set-details"),i.innerHTML=`\n
${m.RichTextProcessor.wrapEmojiText(e.title)}
\n
${e.count} stickers
\n `;const n=document.createElement("button");n.classList.add("btn-primary","sticker-set-button"),n.innerText=e.installed_date?"Added":"Add",e.installed_date&&n.classList.add("gray"),s.append(i,n);const a=document.createElement("div");a.classList.add("sticker-set-stickers");const o=Math.min(5,e.count);for(let e=0;e{for(let t=0;t{this.renderFeatured()})}renderFeatured(){return u.default.getFeaturedStickers().then(e=>{this.searchInput.value||(e=this.filterRendered("",e)).forEach(e=>{this.renderSet(e.set)})})}filterRendered(e,t){t=t.slice();return Array.from(this.setsDiv.children).forEachReverse(s=>{const i=s.dataset.stickerSet,n=t.findIndex(e=>e.set.id==i);-1!==n?t.splice(n,1):e&&s.dataset.title.toLowerCase().includes(e.toLowerCase())||s.remove()}),p.default.checkAnimations(void 0,"STICKERS-SEARCH"),t}search(e){return e?u.default.searchStickerSets(e,!1).then(t=>{this.searchInput.value==e&&(t=this.filterRendered(e,t)).forEach(e=>{this.renderSet(e.set)})}):this.renderFeatured()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=a(s(24)),f=o(s(39)),l=s(58),c=s(3),u=o(s(16)),h=s(17);t.default=class{constructor(){this.container=document.getElementById("poll-results-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.resultsDiv=this.contentDiv.firstElementChild,this.scrollable=new r.default(this.contentDiv,"y","POLL-RESULTS",void 0,void 0,2)}cleanup(){this.resultsDiv.innerHTML="",this.pollID="",this.mid=0}onCloseAfterTimeout(){this.cleanup()}init(e,t){if(this.pollID==e&&this.mid==t)return;this.cleanup(),this.pollID=e,this.mid=t,d.default.selectTab(d.AppSidebarRight.SLIDERITEMSIDS.pollResults);const s=f.default.getPoll(e),i=document.createElement("h3");i.innerHTML=s.poll.rQuestion;const n=s.results.results.map(e=>e.voters/s.results.total_voters*100);l.roundPercents(n);const a=document.createDocumentFragment();s.results.results.forEach((e,i)=>{if(!e.voters)return;const o=document.createElement("hr"),r=s.poll.answers[i],d=document.createElement("div");d.classList.add("poll-results-answer");const l=document.createElement("div");l.innerHTML=c.RichTextProcessor.wrapEmojiText(r.text);const p=document.createElement("div");p.innerText=Math.round(n[i])+"%",d.append(l,p);const m=document.createElement("ul");m.classList.add("poll-results-voters"),u.default.setListClickListener(m),m.style.minHeight=50*Math.min(e.voters,4)+"px",a.append(o,d,m);let g,b=4,v=!1,y=e.voters-4;const w=()=>{v||(v=!0,f.default.getVotes(t,r.option,g,b).then(e=>{e.votes.forEach(e=>{const{dom:t}=u.default.addDialog(e.user_id,m,!1,!1,void 0,!1);t.lastMessageSpan.parentElement.remove()}),g&&(y-=e.votes.length,_.lastElementChild.innerText=`Show ${Math.min(20,y)} more voter${y>1?"s":""}`),g=e.next_offset,b=20,y&&e.votes.length||_.remove()}).finally(()=>{v=!1}))};if(w(),y<=0)return;const _=document.createElement("div");_.classList.add("poll-results-more","show-more"),_.addEventListener("click",w),_.innerHTML=`
Show ${Math.min(20,y)} more voter${y>1?"s":""}
`,h.ripple(_),a.append(_)}),this.resultsDiv.append(i,a),d.default.toggleSidebar(!0).then(()=>{})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(29)),f=r(s(6)),l=r(s(15)),c=a(s(24)),u=r(s(5)),h=r(s(62)),p=r(s(63)),m=s(0),g=r(s(10));t.default=class{constructor(){this.container=document.getElementById("search-gifs-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.gifsDiv=this.contentDiv.firstElementChild,this.nextOffset="",this.loadedAll=!1,this.onGifsClick=e=>{const t=m.findUpClassName(e.target,"gif");if(!t)return;const s=t.dataset.docID;g.default.chatInputC.sendMessageWithDocument(s)||console.warn("got no doc by id:",s)},this.scrollable=new f.default(this.contentDiv,"y","GIFS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.gifsDiv),this.masonry=new p.default(this.gifsDiv,"GIFS-SEARCH",this.scrollable),this.searchInput=new d.default("Search GIFs",e=>{this.reset(),this.search(e)}),this.gifsDiv.addEventListener("click",this.onGifsClick),this.backBtn.parentElement.append(this.searchInput.container)}onClose(){this.scrollable.onScrolledBottom=()=>{}}onCloseAfterTimeout(){this.reset(),this.gifsDiv.innerHTML="",this.searchInput.value="",l.default.checkAnimations(void 0,"GIFS-SEARCH")}reset(){this.searchPromise=null,this.nextOffset="",this.loadedAll=!1,this.masonry.lazyLoadQueue.clear()}init(){c.default.selectTab(c.AppSidebarRight.SLIDERITEMSIDS.gifs),c.default.toggleSidebar(!0).then(()=>{this.search("",!0),this.reset(),this.scrollable.onScrolledBottom=()=>{this.search(this.searchInput.value,!1)}})}search(e,t=!0){return o(this,void 0,void 0,(function*(){if(!this.searchPromise&&!this.loadedAll){this.gifBotPeerID||(this.gifBotPeerID=(yield u.default.resolveUsername("gif")).id);try{this.searchPromise=h.default.getInlineResults(0,this.gifBotPeerID,e,this.nextOffset);const{results:s,next_offset:i}=yield this.searchPromise;if(this.searchInput.value!=e)return;this.searchPromise=null,this.nextOffset=i,t&&(this.gifsDiv.innerHTML=""),s.length?s.forEach(e=>{"botInlineMediaResult"===e._&&e.document&&this.masonry.add(e.document)}):this.loadedAll=!0,this.scrollable.onScroll()}catch(e){throw this.searchPromise=null,new Error(JSON.stringify(e))}}}))}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(46)),d=o(s(9)),f=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{r.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,d.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{d.default.editPhoto(e,t)}),f.default.removeTabFromHistory(f.AppSidebarLeft.SLIDERITEMSIDS.newChannel),f.default.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var s,i,n,a={},o=1,r=0,d=0,f=0,l=0;function c(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(n=new Image).crossOrigin=e.crossOrigin,n.src=e.src,n.draggable=!1,t||(t=document.createElement("canvas")),(s=document.createElement("div")).classList.add("crop-component"),(i=document.createElement("div")).classList.add("overlay");let a=document.createElement("div");a.classList.add("crop-overlay-color"),s.appendChild(i),e.parentNode.appendChild(s),s.appendChild(n),s.appendChild(e),s.appendChild(a),i.appendChild(n),n.style.maxWidth=e.width+"px",u(e.offsetWidth/2-100,e.offsetHeight/2-100),i.addEventListener("mousedown",b,!1),i.addEventListener("touchstart",b,!1),i.addEventListener("wheel",g,!1),document.addEventListener("keypress",m,!1)}function u(e,t){r=-e*o,d=-t*o,n.style.top=-t+"px",n.style.left=-e+"px"}function h(e,t){let s=t+100+"px",n=e+100+"px";i.style.top=s,i.style.left=n}function p(e){e=e*Math.PI*2;var t,s,a,r,d,f,l=Math.floor(i.clientWidth+e),c=Math.floor(i.clientHeight+e),p=n.clientWidth,m=n.clientHeight;l<50||(l>p||(a=(t=i.offsetLeft-e/2)+l,r=(s=i.offsetTop-e/2)+c,t<0&&(t=0),s<0&&(s=0),a>p||r>m||(o=200/l,d=l,f=l,i.style.width=d+"px",i.style.height=f+"px",u(t,s),h(t,s))))}function m(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":p(4);break;case"-":p(-4)}}function g(e){e.preventDefault(),p(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){a.container_width=i.offsetWidth,a.container_height=i.offsetHeight,a.container_left=i.offsetLeft,a.container_top=i.offsetTop,a.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,a.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,s,o,r,d={x:0,y:0};e.preventDefault(),e.stopPropagation(),d.x=e.pageX||e.touches&&e.touches[0].pageX,d.y=e.pageY||e.touches&&e.touches[0].pageY,t=d.x-(a.mouse_x-a.container_left),s=d.y-(a.mouse_y-a.container_top),o=i.offsetWidth,r=i.offsetHeight,t<0?t=0:t>n.offsetWidth-o&&(t=n.offsetWidth-o),s<0?s=0:s>n.offsetHeight-r&&(s=n.offsetHeight-r),u(t,s),h(t,s)}return e.complete?c():e.onload=c,{crop:function(){f=n.width*o,l=n.height*o,t.width=200,t.height=200,t.getContext("2d").drawImage(n,r,d,f,l)},removeHandlers:function(){i.removeEventListener("mousedown",b),i.removeEventListener("touchstart",b),i.removeEventListener("wheel",g),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",m),s.remove(),i.remove(),n.remove()}}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=s(4),f=o(s(9)),l=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{if(this.skippable)return void this.backBtn.click();const e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,d.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,s,i){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=i,this.skippable=s,this.onCloseAfterTimeout(),this.selector=new r.AppSelectPeers(this.contentDiv,s?null:e=>{this.nextBtn.classList.toggle("is-visible",!!e)},["contacts"]),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),this.nextBtn.classList.toggle("is-visible",s),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.addMembers)}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=o(s(16)),f=o(s(5)),l=o(s(13)),c=a(s(14)),u=s(0),h=o(s(29));t.default=class{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),d.default.setListClickListener(this.list),this.scrollable=new r.default(this.list.parentElement),this.searchInput=new h.default("Search",e=>{this.list.innerHTML="",this.openContacts(e)}),this.container.firstElementChild.append(this.searchInput.container)}onClose(){let e=l.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.searchInput.value=""}openContacts(e){if(-1===c.default.historyTabIDs.indexOf(c.AppSidebarLeft.SLIDERITEMSIDS.contacts)&&c.default.selectTab(c.AppSidebarLeft.SLIDERITEMSIDS.contacts),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=f.default.getContacts(e).then(t=>{if(this.promise=null,c.default.historyTabIDs[c.default.historyTabIDs.length-1]!=c.AppSidebarLeft.SLIDERITEMSIDS.contacts)return void console.warn("user closed contacts before it's loaded");const s=[...t];e||s.findAndSplice(e=>e==u.$rootScope.myID);let i=s.map(e=>{let t=f.default.getUser(e);return{user:t,status:f.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),n=()=>{let e=l.default.windowH/72*1.25|0;i.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:s}=d.default.addDialog(e.id,this.list,!1),i=f.default.getUserStatusString(e.id);s.lastMessageSpan.innerHTML="online"==i?`${i}`:i}),i.length||(n=void 0)};n(),this.scrollable.onScrolledBottom=()=>{n?n():this.scrollable.onScrolledBottom=null}})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(43),d=o(s(46)),f=o(s(9)),l=a(s(14)),c=o(s(6)),u=o(s(16)),h=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new r.SearchGroup(" ","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{d.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{const e=this.groupNameInput.value;this.nextBtn.classList.toggle("is-visible",!!e.length)}),this.nextBtn.addEventListener("click",()=>{const e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),l.default.selectTab(0)})});const e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new c.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear();this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1,this.searchGroup.clear()}init(e){this.userIDs=e,l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.newGroup),this.userIDs.forEach(e=>{let{dom:t}=u.default.addDialog(e,this.searchGroup.list,!1,!1),s="";s=h.default.getUserStatusString(e),"online"==s&&(s=`${s}`),s&&(t.lastMessageSpan.innerHTML=s)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=s(0),f=o(s(2)),l=a(s(14)),c=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},r.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),d.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{f.default.logOut().finally(()=>{localStorage.clear(),location.reload()})}),this.buttons.edit.addEventListener("click",()=>{l.default.editProfileTab.fillElements(),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.editProfile)}),this.buttons.folders.addEventListener("click",()=>{l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.chatFolders)})}fillElements(){let e=c.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(46)),a=i(s(2)),o=i(s(27)),r=i(s(14)),d=i(s(6)),f=i(s(5)),l=s(0);t.default=class{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{n.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void a.default.invokeApi("account.checkUsername",{username:t}).then(s=>{this.userNameInput.value==t&&(s?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},s=>{if(this.userNameInput.value==t)switch(s.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(o.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{r.default.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{o.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(o.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new d.default(this.scrollWrapper,"y")}fillElements(){var e,t,s;let i=f.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=i.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=i.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(s=i.username)&&void 0!==s?s:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",o.default.getProfile(i.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+l.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(20)),a=i(s(2)),o=i(s(7)),r=s(3),d=i(s(8)),f=s(0),l=i(s(14)),c=s(17),u=s(45);t.default=class{constructor(){this.filtersRendered={}}renderFolder(e,t,s=document.createElement("div")){let i,n="",a=[];if("dialogFilterSuggested"==e._)i=e.filter,n=e.description;else{i=e,n="";const t=i.id;if(this.filtersRendered.hasOwnProperty(i.id)||s.addEventListener("click",()=>{l.default.editFolderTab.open(o.default.filtersStorage.filters[t])}),this.filtersRendered[i.id]=s,1==Object.keys(i.pFlags).length){n="All ";const e=i.pFlags;e.contacts?n+="Contacts":e.non_contacts?n+="Non-Contacts":e.groups?n+="Groups":e.broadcasts?n+="Channels":e.bots?n+="Bots":e.exclude_muted?n+="Unmuted":e.exclude_read?n+="Unread":e.exclude_archived&&(n+="Unarchived"),a.push(n)}else{const e=o.default.dialogsStorage.getFolder(i.id);let t=0,s=0,n=0;for(const i of e)d.default.isAnyGroup(i.peerID)?n++:d.default.isBroadcast(i.peerID)?s++:t++;t&&a.push(t+" chats"),s&&a.push(s+" channels"),n&&a.push(n+" groups")}}return s.classList.add("category","rp-square"),s.innerHTML=`\n
\n

${r.RichTextProcessor.wrapEmojiText(i.title)}

\n

${a.length?a.join(", "):n}

\n
\n `,c.ripple(s),t&&t.append(s),s}init(){this.container=document.querySelector(".chat-folders-container"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.foldersContainer=this.container.querySelector(".folders-my"),this.suggestedContainer=this.container.querySelector(".folders-suggested"),this.createFolderBtn=this.container.querySelector(".btn-create-folder"),this.createFolderBtn.addEventListener("click",()=>{Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):l.default.editFolderTab.open()}),n.default.loadAnimationFromURL({container:this.stickerContainer,loop:!1,autoplay:!0,width:86,height:86},"assets/img/Folders_1.tgs").then(e=>{this.animation=e}),o.default.filtersStorage.getDialogFilters().then(e=>{for(const t in e){const s=e[t];this.renderFolder(s,this.foldersContainer)}}),f.$rootScope.$on("filter_update",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)?this.renderFolder(t,null,this.filtersRendered[t.id]):this.renderFolder(t,this.foldersContainer),this.getSuggestedFilters()}),f.$rootScope.$on("filter_delete",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)&&(this.getSuggestedFilters(),this.filtersRendered[t.id].remove(),delete this.filtersRendered[t.id])}),this.getSuggestedFilters()}getSuggestedFilters(){a.default.invokeApi("messages.getSuggestedDialogFilters").then(e=>{this.suggestedContainer.style.display=e.length?"":"none",Array.from(this.suggestedContainer.children).slice(1).forEach(e=>e.remove()),e.forEach(e=>{const t=this.renderFolder(e),s=document.createElement("button");s.classList.add("btn-primary"),s.innerText="Add",t.append(s),this.suggestedContainer.append(t),s.addEventListener("click",i=>{f.cancelEvent(i),Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):(s.setAttribute("disabled","true"),o.default.filtersStorage.createDialogFilter(e.filter).then(e=>{e&&t.remove()}).finally(()=>{s.removeAttribute("disabled")}))})})})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(s(14)),d=o(s(20)),f=o(s(7)),l=s(4),c=o(s(16)),u=s(0),h=s(45),p=s(17);t.default=class{constructor(){this.flags={}}init(){this.container=document.querySelector(".edit-folder-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.title=this.container.querySelector(".sidebar-header__title"),this.caption=this.container.querySelector(".caption"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.menuBtn=this.container.querySelector(".btn-menu-toggle"),this.deleteFolderBtn=this.menuBtn.querySelector(".menu-delete"),this.nameInput=this.container.querySelector("#folder-name"),this.include_peers=this.container.querySelector(".folder-list-included"),this.exclude_peers=this.container.querySelector(".folder-list-excluded");const e=this.include_peers.querySelector(".folder-categories"),t=this.exclude_peers.querySelector(".folder-categories");l.parseMenuButtonsTo(this.flags,e.children),l.parseMenuButtonsTo(this.flags,t.children),e.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"included")}),t.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"excluded")}),d.default.loadAnimationFromURL({container:this.stickerContainer,loop:!0,autoplay:!0,width:86,height:86},"assets/img/Folders_2.tgs").then(e=>{this.animation=e}),this.deleteFolderBtn.addEventListener("click",()=>{this.deleteFolderBtn.setAttribute("disabled","true"),f.default.filtersStorage.updateDialogFilter(this.filter,!0).then(e=>{e&&this.closeBtn.click()}).finally(()=>{this.deleteFolderBtn.removeAttribute("disabled")})}),this.confirmBtn.addEventListener("click",()=>{if(!this.nameInput.value.trim())return void this.nameInput.classList.add("error");let t,s=Array.from(e.children).slice(1).reduce((e,t)=>e+ +!t.style.display,0);"UL"==this.include_peers.lastElementChild.tagName&&(s+=this.include_peers.lastElementChild.childElementCount),s?(this.confirmBtn.setAttribute("disabled","true"),t=this.filter.id?f.default.filtersStorage.updateDialogFilter(this.filter):f.default.filtersStorage.createDialogFilter(this.filter),t.then(e=>{e&&this.closeBtn.click()}).catch(e=>{"DIALOG_FILTERS_TOO_MUCH"==e.type?h.toast("Sorry, you can't create more folders."):console.error("updateDialogFilter error:",e)}).finally(()=>{this.confirmBtn.removeAttribute("disabled")})):h.toast("Please choose at least one chat for this folder.")}),this.nameInput.addEventListener("input",()=>{this.nameInput.value.length>12?this.nameInput.value=this.nameInput.value.slice(0,12):(this.filter.title=this.nameInput.value,this.nameInput.classList.remove("error"),this.editCheckForChange())})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}onCloseAfterTimeout(){Array.from(this.container.querySelectorAll("ul, .show-more")).forEach(e=>e.remove())}onCreateOpen(){this.caption.style.display="",this.title.innerText="New Folder",this.menuBtn.classList.add("hide"),this.confirmBtn.classList.remove("hide"),this.nameInput.value="";for(const e in this.flags)this.flags[e].style.display="none"}onEditOpen(){this.caption.style.display="none",this.title.innerText="create"==this.type?"New Folder":"Edit Folder","edit"==this.type&&(this.menuBtn.classList.remove("hide"),this.confirmBtn.classList.add("hide"));const e=this.filter;this.nameInput.value=e.title;for(const t in this.flags)this.flags[t].style.display=e.pFlags[t]?"":"none";["include_peers","exclude_peers"].forEach(t=>{const s=this[t],i=document.createElement("ul"),n=e[t].slice(),a=e=>{for(let t=0,s=Math.min(n.length,e);t
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`:o&&o.remove()};let o;s.append(i),n.length&&(o=document.createElement("div"),o.classList.add("show-more"),o.addEventListener("click",()=>a(20)),o.innerHTML=`
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`,p.ripple(o),s.append(o)),a(4)})}editCheckForChange(){if("edit"==this.type){const e=!u.deepEqual(this.originalFilter,this.filter);this.confirmBtn.classList.toggle("hide",!e),this.menuBtn.classList.toggle("hide",e)}}setFilter(e,t){this.onCloseAfterTimeout(),t?(this.originalFilter=e,this.filter=u.copy(e)):(this.filter=e,this.onEditOpen(),this.editCheckForChange())}open(e){r.default.selectTab(r.AppSidebarLeft.SLIDERITEMSIDS.editFolder),void 0===e?(this.setFilter({_:"dialogFilter",flags:0,id:0,title:"",pFlags:{},pinned_peers:[],include_peers:[],exclude_peers:[]},!0),this.type="create",this.onCreateOpen()):(this.setFilter(e,!0),this.type="edit",this.onEditOpen())}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=a(s(14)),f=o(s(16)),l=o(s(8)),c=o(s(5)),u=s(0);t.default=class{constructor(){this.renderResults=e=>{const t="included"==this.type?this.filter.exclude_peers:this.filter.include_peers;e.forEach(e=>{if(t.includes(e))return;const{dom:s}=f.default.addDialog(e,this.selector.scrollable,!1,!1),i=this.selector.selected.has(e);s.containerEl.insertAdjacentHTML("beforeend",this.checkbox(i)),i&&s.listEl.classList.add("active");let n="";n=e>0?e==u.$rootScope.myID?"Chat with yourself":c.default.isBot(e)?"Bot":c.default.contactsList.has(e)?"Contact":"Non-Contact":l.default.isBroadcast(e)?"Channel":"Group",s.lastMessageSpan.innerHTML=n})},this.onSelectChange=e=>{"included"==this.type&&(this.confirmBtn.style.display=e?"":"none")}}init(){this.container=document.querySelector(".included-chats-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.title=this.container.querySelector(".sidebar-header__title"),this.confirmBtn.addEventListener("click",()=>{const e=this.selector.getSelected();if("included"==this.type)for(const e in this.filter.pFlags)0!==e.indexOf("exclude_")&&delete this.filter.pFlags[e];else for(const e in this.filter.pFlags)0===e.indexOf("exclude_")&&delete this.filter.pFlags[e];const t=[];for(const s of e)"number"==typeof s?t.push(s):this.filter.pFlags[s]=!0;this.filter["included"==this.type?"include_peers":"exclude_peers"]=t,d.default.editFolderTab.setFilter(this.filter,!1),this.closeBtn.click()})}checkbox(e){return`
`}onOpen(){this.init&&(this.init(),this.init=null),this.confirmBtn.style.display="excluded"==this.type?"":"none",this.title.innerText="included"==this.type?"Included Chats":"Excluded Chats";const e=this.filter,t=document.createDocumentFragment(),s=document.createElement("div");s.classList.add("sidebar-left-h2"),s.innerText="Chat types";const i=document.createElement("div");let n;i.classList.add("folder-categories"),n="excluded"==this.type?{exclude_muted:{ico:"tgico-mute",text:"Muted"},exclude_archived:{ico:"tgico-archive",text:"Archived"},exclude_read:{ico:"tgico-readchats",text:"Read"}}:{contacts:{ico:"tgico-newprivate",text:"Contacts"},non_contacts:{ico:"tgico-noncontacts",text:"Non-Contacts"},groups:{ico:"tgico-group",text:"Groups"},broadcasts:{ico:"tgico-newchannel",text:"Channels"},bots:{ico:"tgico-bots",text:"Bots"}};let a="";for(const e in n)a+=`

${n[e].text}

${this.checkbox()}
`;i.innerHTML=a;const o=document.createElement("hr");o.style.margin="7px 0 9px";const d=document.createElement("div");d.classList.add("sidebar-left-h2"),d.innerText="Chats",t.append(s,i,o,d);const f=("included"==this.type?e.include_peers:e.exclude_peers).slice();this.selector=new r.AppSelectPeers(this.container,this.onSelectChange,["dialogs"],null,this.renderResults),this.selector.selected=new Set(f),this.selector.input.placeholder="Search";const l=this.selector.add.bind(this.selector);this.selector.add=(e,t)=>{var s;const i=l(e,null===(s=n[e])||void 0===s?void 0:s.text);return n[e]&&i.querySelector("avatar-element").classList.add(n[e].ico),i},this.selector.list.parentElement.insertBefore(t,this.selector.list),f.forEach(e=>{this.selector.add(e)});for(const t in e.pFlags)n.hasOwnProperty(t)&&e.pFlags[t]&&i.querySelector(`[data-peerID="${t}"]`).click()}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}open(e,t){this.originalFilter=e,this.filter=u.copy(this.originalFilter),this.type=t,d.default.selectTab(d.AppSidebarLeft.SLIDERITEMSIDS.includedChats)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=i(s(6)),a=s(3),o=i(s(2)),r=i(s(55)),d=i(s(10)),f=s(0),l=s(18),c=i(s(7)),u=s(57),h=i(s(99)),p=i(s(54)),m=s(1),g=i(s(12)),b=i(s(47)),v=i(s(103));t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new n.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.btnCancelRecord=this.btnSend.parentElement.previousElementSibling,this.lastUrl="",this.lastTimeType=0,this.inputContainer=this.btnSend.parentElement.parentElement,this.chatInput=this.inputContainer.parentElement,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.recording=!1,this.recordCanceled=!1,this.recordTimeEl=this.inputContainer.querySelector(".record-time"),this.recordRippleEl=this.inputContainer.querySelector(".record-ripple"),this.recordStartTime=0,this.scrollTop=0,this.scrollOffsetTop=0,this.scrollDiff=0,this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle");try{this.recorder=new h.default({encoderSampleRate:48e3,monitorGain:0,numberOfChannels:1,recordingGain:1,reuseWorker:!0})}catch(e){this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"),console.error("Recorder constructor error:",e)}this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key&&!m.touchSupport){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),m.touchSupport&&(this.messageInput.addEventListener("touchend",e=>{this.saveScroll(),b.default.toggle(!1)}),window.addEventListener("resize",()=>{this.restoreScroll()})),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,s=a.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(s){let e=t.slice(s.offset,s.offset+s.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,o.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{r.default.saveWebPage(t),this.lastUrl==e&&(this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")||!this.recorder){this.recorder&&(this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2"));let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,c.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2")),c.default.setTyping("sendMessageCancelAction")}),a.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let s=t.getRangeAt(0),i=s.commonAncestorContainer,n="",a=Array.from(i.childNodes).slice(s.startOffset,s.endOffset);n=a.length?this.serializeNodes(a):t.toString(),event.clipboardData.setData("text/plain",n),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=a.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,i)=>{let n={};n.file=e;let a=document.createElement("div");switch(s.type){case"media":{let s=0===e.type.indexOf("video/");if(a.classList.add("popup-item-media"),s){let s=document.createElement("video"),i=document.createElement("source");i.src=n.objectURL=URL.createObjectURL(e),s.autoplay=!1,s.controls=!1,s.muted=!0,s.setAttribute("playsinline",""),s.onloadeddata=()=>{n.width=s.videoWidth,n.height=s.videoHeight,n.duration=Math.floor(s.duration),a.append(s),t(a)},s.append(i)}else{let s=new Image;s.src=n.objectURL=URL.createObjectURL(e),s.onload=()=>{n.width=s.naturalWidth,n.height=s.naturalHeight,a.append(s),t(a)}}break}case"document":{const s=-1!==e.type.indexOf("image/");n.objectURL=URL.createObjectURL(e);let i=l.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:s?"photo":"doc",url:n.objectURL},!1,!0);const o=()=>{a.append(i),t(a)};if(s){let e=new Image;e.src=n.objectURL,e.onload=()=>{n.width=e.naturalWidth,n.height=e.naturalHeight,o()},e.onerror=o}else o();break}}s.sendFileDetails.push(n)}),t=t=>{this.fileInput.value="";let i=this.attachMediaPopUp.container.firstElementChild;if(i.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",s.sendFileDetails=[],(t=t.filter(e=>"media"!=s.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==s.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),i.classList.add("is-document");else{i.classList.add("is-media");let e=0,s=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++s}),e&&s?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):s&&(this.attachMediaPopUp.titleEl.innerText="Send "+(s>1?s+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==s.type)if(s.sendFileDetails.length>1){i.classList.add("is-album");let t=new u.Layouter(s.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:s,sides:i}of t){let t=e.shift();t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.top=s.y+"px",t.style.left=s.x+"px",i&u.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=s.width+s.x+"px"),i&u.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=s.height+s.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}}else{let t=s.sendFileDetails[0],i=e[0],{w:n,h:a}=f.calcImageInBox(t.width,t.height,380,320);i.style.width=n+"px",i.style.height=a+"px",this.attachMediaPopUp.mediaContainer.append(i)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},s={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let s=e.target.files;s.length&&t(Array.from(s))},!1),this.attachMenu.media.addEventListener("click",()=>{this.fileInput.setAttribute("accept","image/*, video/*"),s.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{this.fileInput.removeAttribute("accept"),s.type="document",this.fileInput.click()}),this.attachMenu.poll.addEventListener("click",()=>{(new v.default).show()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var i=(e.clipboardData||e.originalEvent.clipboardData).items;for(let n=0;n{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;s.isMedia="media"==s.type;let t=d.default.peerID;if(s.sendFileDetails.length>1&&s.isMedia)c.default.sendAlbum(t,s.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},s));else{e&&s.sendFileDetails.length>1&&(c.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);s.sendFileDetails.map(i=>{let n=c.default.sendFile(t,i.file,Object.assign({isMedia:i.file.type.includes("audio/")||s.isMedia,caption:e,replyToMsgID:this.replyToMsgID},i));return e="",this.replyToMsgID=0,n})}this.onMessageSent()});const i=e=>{f.cancelEvent(e),this.btnSend.classList.contains("tgico-send")||!this.recorder?this.recording?this.recorder.stop():this.sendMessage():this.recorder.start().then(()=>{this.recordCanceled=!1,this.btnSend.classList.add("tgico-send"),this.chatInput.classList.add("is-recording"),this.recording=!0,p.default.setKeepAlive(!0),this.recordStartTime=Date.now();const e=this.recorder.sourceNode,t=e.context.createAnalyser();e.connect(t),t.fftSize=32;const s=new Uint8Array(t.frequencyBinCount),i=255*s.length;let n=()=>{if(!this.recording)return;t.getByteFrequencyData(s);let e=0;s.forEach(t=>{e+=t});let a=Math.min(1,e/i+.36);this.recordRippleEl.style.transform=`scale(${a})`;let o=Date.now()-this.recordStartTime,r=o%1e3,d=(""+o/1e3).toHHMMSS()+","+("00"+Math.round(r/10)).slice(-2);this.recordTimeEl.innerText=d,window.requestAnimationFrame(n)};n()}).catch(e=>{console.error("Recorder start error:",e)})};if(this.btnSend.addEventListener("touchend",i),this.btnSend.addEventListener("click",i),this.recorder){const e=e=>{f.cancelEvent(e),this.recordCanceled=!0,this.recorder.stop(),p.default.setKeepAlive(!1)};this.btnCancelRecord.addEventListener("touchend",e),this.btnCancelRecord.addEventListener("click",e),this.recorder.onstop=()=>{this.recording=!1,this.chatInput.classList.remove("is-recording"),this.btnSend.classList.remove("tgico-send"),this.recordRippleEl.style.transform=""},this.recorder.ondataavailable=e=>{if(this.recordCanceled)return;const t=(Date.now()-this.recordStartTime)/1e3|0,s=new Blob([e],{type:"audio/ogg"});performance.now();p.default.decode(e,!0).then(e=>{p.default.setKeepAlive(!1);let i=d.default.peerID;c.default.sendFile(i,s,{isVoiceMessage:!0,isMedia:!0,duration:t,waveform:e.waveform,objectURL:e.url,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0)})}}this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=c.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"));this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0,t){let s=c.default.getDialogByPeerID(d.default.peerID)[0];s&&s.top_message&&c.default.readHistory(d.default.peerID,s.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.noWebPage=!1,this.willSendWebPage=null,this.messageInput.innerText="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))),(t||e)&&(this.replyToMsgID=0,this.replyElements.container.classList.remove("active"))}sendMessage(){let e=f.getRichValue(this.messageInput);this.editMsgID?c.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):c.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}sendMessageWithDocument(e){return!(!(e=g.default.getDoc(e))||"documentEmpty"==e._)&&(c.default.sendFile(d.default.peerID,e,{isMedia:!0,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0),"sticker"==e.type&&b.default.stickersTab.pushRecentSticker(e),!0)}setTopInfo(e,t,s,i){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(l.wrapReply(e,t,i))),this.replyElements.container.classList.add("active"),void 0!==s&&(this.messageInput.innerHTML=s?a.RichTextProcessor.wrapRichText(s):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}saveScroll(){this.scrollTop=d.default.scrollable.container.scrollTop,this.scrollOffsetTop=this.chatInput.offsetTop}restoreScroll(){if(this.chatInput.style.display)return;let e=this.chatInput.offsetTop,t=d.default.scrollable.container,s=t.scrollTop,i=t.clientHeight,n=t.scrollHeight;if(e{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,s)=>{var i=s=>{switch(s.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=s.data.samplePosition,e(s.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,s)=>{var i=s=>{"flushed"===s.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var s=i=>{"done"===i.data.message&&(e.removeEventListener("message",s),t())};e.addEventListener("message",s),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,s){return e.set(s,t),t+s.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,s(1))},function(e,t){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(e){"object"==typeof window&&(s=window)}e.exports=s}])},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(47),a=i(s(63)),o=i(s(6)),r=s(4),d=i(s(2)),f=i(s(12));t.default=class{init(){this.content=document.getElementById("content-gifs");const e=this.content.firstElementChild;e.addEventListener("click",n.EmoticonsDropdown.onMediaClick);const t=new o.default(this.content,"y","GIFS",null),s=(new a.default(e,n.EMOTICONSSTICKERGROUP,t),r.putPreloader(this.content,!0));d.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{"messages.savedGifs"==e._&&e.gifs.forEach((t,s)=>{e.gifs[s]=t=f.default.saveDoc(t)}),s.remove()}),this.init=null}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(47),a=i(s(6)),o=i(s(1)),r=s(4),d=i(s(40)),f=s(3),l=i(s(10));t.default=class{constructor(){this.recent=[],this.onContentClick=e=>{let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;l.default.chatInputC.messageInput.innerHTML+=t.outerHTML;const s=this.getEmojiFromElement(t);Array.from(this.recentItemsDiv.children).forEach((e,t)=>{const i=this.getEmojiFromElement(e);s==i&&e.remove()});this.recentItemsDiv.scrollHeight;this.appendEmoji(s,this.recentItemsDiv,!0),this.recent.findAndSplice(e=>e==s),this.recent.unshift(s),this.recent.length>36&&(this.recent.length=36),d.default.pushToState("recentEmoji",this.recent);const i=new Event("input",{bubbles:!0,cancelable:!0});l.default.chatInputC.messageInput.dispatchEvent(i)}}init(){this.content=document.getElementById("content-emoji");const e=["Smileys & Emotion","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Flags","Skin Tones"],t={},s={Recent:[]};for(const t in o.default.Emoji){const i=""+o.default.Emoji[t],n=e[+i[0]-1];n&&(s[n]||(s[n]=[]),s[n][+i.slice(1)||0]=t)}e.pop(),delete s["Skin Tones"];for(const e in s){const i=document.createElement("div");i.classList.add("emoji-category");const n=document.createElement("div");n.classList.add("category-title"),n.innerText=e;const a=document.createElement("div");a.classList.add("category-items"),i.append(n,a);s[e].forEach(e=>{e=e.split("-").reduce((e,t)=>e+String.fromCodePoint(parseInt(t,16)),""),this.appendEmoji(e,a,!1)}),t[e]=i}const i=this.content.previousElementSibling.firstElementChild,f=this.scroll=new a.default(this.content,"y","EMOJI",null),l=r.putPreloader(this.content,!0);Promise.all([new Promise(e=>setTimeout(e,200)),d.default.getState().then(e=>{Array.isArray(e.recentEmoji)&&(this.recent=e.recentEmoji)})]).then(()=>{l.remove(),this.recentItemsDiv=t.Recent.querySelector(".category-items");for(const e of this.recent)this.appendEmoji(e,this.recentItemsDiv);e.unshift("Recent"),e.map(e=>{const s=t[e];return s||console.error("no div by category:",e),f.append(s),this.stickyIntersector.observeStickyHeaderChanges(s),s})}),this.content.addEventListener("click",this.onContentClick),this.stickyIntersector=n.EmoticonsDropdown.menuOnClick(i,f),this.init=null}appendEmoji(e,t,s=!1){const i=document.createElement("span");let n;n=f.RichTextProcessor.wrapEmojiText(e),i.innerHTML=n,i.firstElementChild&&i.firstElementChild.setAttribute("loading","lazy"),s?t.prepend(i):t.appendChild(i)}getEmojiFromElement(e){return"SPAN"!=e.tagName||e.classList.contains("emoji")||(e=e.firstElementChild),e.getAttribute("alt")||e.innerText}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(s(47)),f=r(s(6)),l=s(18),c=r(s(44)),u=r(s(28)),h=s(59),p=r(s(20)),m=s(4),g=s(3),b=s(0),v=r(s(2)),y=r(s(12)),w=r(s(15)),_=s(21);t.default=class{constructor(){this.stickerSets={},this.recentStickers=[],this.mounted=!1,this.queueCategoryPush=[],this.animatedDivs=new Set,this.checkAnimationContainer=(e,t)=>{w.default.getAnimations(e).forEach(e=>{t?w.default.checkAnimation(e,!1):w.default.checkAnimation(e,!0,!0)})},this.processVisibleDiv=e=>{const t=e.dataset.docID,s=y.default.getDoc(t),i=l.wrapSticker({doc:s,div:e,width:80,height:80,lazyLoadQueue:null,group:d.EMOTICONSSTICKERGROUP,onlyThumb:!1,play:!0,loop:!0});return i.then(()=>{this.checkAnimationContainer(e,this.lazyLoadQueue.intersector.isVisible(e))}),i},this.processInvisibleDiv=e=>{const t=e.dataset.docID,s=y.default.getDoc(t);this.checkAnimationContainer(e,!1),e.innerHTML="",this.renderSticker(s,e)}}categoryPush(e,t,s,i){const n=document.createElement("div");n.classList.add("category-items");const a=document.createElement("div");a.classList.add("category-title"),a.innerHTML=t,e.append(a,n),this.stickyIntersector.observeStickyHeaderChanges(e),this.queueCategoryPush.push({element:e,prepend:i}),s.then(e=>{e.forEach(e=>{n.append(this.renderSticker(e))}),this.queueCategoryPush.length&&(this.queueCategoryPush.forEach(({element:e,prepend:t})=>{t?this.recentDiv.parentElement?(this.scroll.prepend(e),this.scroll.prepend(this.recentDiv)):this.scroll.prepend(e):this.scroll.append(e)}),this.queueCategoryPush.length=0)})}renderSticker(e,t){return t||(t=document.createElement("div"),2==e.sticker&&(this.animatedDivs.add(t),this.lazyLoadQueue.observe({div:t,load:this.processVisibleDiv}))),l.wrapSticker({doc:e,div:t,lazyLoadQueue:d.EmoticonsDropdown.lazyLoadQueue,group:d.EMOTICONSSTICKERGROUP,onlyThumb:2==e.sticker}),t}renderStickerSet(e,t=!1){return o(this,void 0,void 0,(function*(){const s=document.createElement("div");s.classList.add("sticker-category");const i=document.createElement("li");i.classList.add("btn-icon"),this.stickerSets[e.id]={stickers:s,tab:i},t?this.menu.insertBefore(i,this.menu.firstElementChild.nextSibling):this.menu.append(i);const n=c.default.getStickerSet(e);this.categoryPush(s,g.RichTextProcessor.wrapEmojiText(e.title),n.then(e=>e.documents),t);const a=yield n;if(a.set.thumb){const e=c.default.getStickerSetThumbDownloadOptions(a.set),t=u.default.download(e);if(a.set.pFlags.animated)t.then(h.readBlobAsText).then(JSON.parse).then(e=>{p.default.loadAnimationWorker({container:i,loop:!0,autoplay:!1,animationData:e,width:32,height:32},d.EMOTICONSSTICKERGROUP)});else{const e=new Image;t.then(t=>{m.renderImageFromUrl(e,URL.createObjectURL(t),()=>{i.append(e)})})}}else"documentEmpty"!=a.documents[0]._&&l.wrapSticker({doc:a.documents[0],div:i,group:d.EMOTICONSSTICKERGROUP})}))}init(){this.content=document.getElementById("content-stickers"),this.recentDiv=document.createElement("div"),this.recentDiv.classList.add("sticker-category");let e=this.content.previousElementSibling;this.menu=e.firstElementChild.firstElementChild;let t=new f.default(e,"x"),s=document.createElement("div");s.classList.add("stickers-categories"),this.content.append(s),b.$rootScope.$on("stickers_installed",e=>{const t=e.detail;!this.stickerSets[t.id]&&this.mounted&&this.renderStickerSet(t,!0)}),b.$rootScope.$on("stickers_deleted",e=>{const t=e.detail;if(this.stickerSets[t.id]&&this.mounted){const e=this.stickerSets[t.id];e.stickers.remove(),e.tab.remove(),delete this.stickerSets[t.id]}}),s.addEventListener("click",d.EmoticonsDropdown.onMediaClick),this.scroll=new f.default(this.content,"y","STICKERS",void 0,void 0,2),this.scroll.setVirtualContainer(s),this.stickyIntersector=d.EmoticonsDropdown.menuOnClick(this.menu,this.scroll,t);const i=m.putPreloader(this.content,!0);Promise.all([c.default.getRecentStickers().then(e=>{this.recentStickers=e.stickers.slice(0,20),this.stickerSets.recent={stickers:this.recentDiv,tab:this.menu.firstElementChild},i.remove(),this.categoryPush(this.recentDiv,"Recent",Promise.resolve(this.recentStickers),!0)}),v.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>o(this,void 0,void 0,(function*(){let t=e;i.remove();for(let e of t.sets)this.renderStickerSet(e)})))]).finally(()=>{this.mounted=!0}),this.lazyLoadQueue=new _.LazyLoadQueueRepeat(void 0,(e,t)=>{t||this.processInvisibleDiv(e)}),d.default.events.onClose.push(()=>{this.lazyLoadQueue.lock()}),d.default.events.onCloseAfter.push(()=>{const e=this.lazyLoadQueue.intersector.getVisible();for(const t of e)this.processInvisibleDiv(t);this.lazyLoadQueue.intersector.clearVisible()}),d.default.events.onOpenAfter.push(()=>{this.lazyLoadQueue.unlockAndRefresh()}),this.init=null}pushRecentSticker(e){if(!this.recentDiv.parentElement)return;let t=this.recentDiv.querySelector(`[data-doc-i-d="${e.id}"]`);t||(t=this.renderSticker(e));const s=this.recentDiv.querySelector(".category-items");s.prepend(t),s.childElementCount>20&&Array.from(s.children).slice(20).forEach(e=>e.remove())}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(6)),o=i(s(7)),r=s(0),d=s(45),f=(e,t,s)=>{const i=document.createElement("div");return i.classList.add("input-field"),i.innerHTML=`\n \n \n `,i};class l extends n.PopupElement{constructor(){super("popup-create-poll popup-new-media",null,{closable:!0,withConfirm:"CREATE",body:!0}),this.tempID=0,this.onSubmitClick=e=>{const t=this.questionInput.value;if(!t.trim())return void d.toast("Please enter a question");const s=Array.from(this.questions.children).map((e,t)=>e.firstElementChild.value).filter(e=>!!e.trim());if(s.length<2)return void d.toast("Please enter at least two options");this.closeBtn.click(),this.confirmBtn.removeEventListener("click",this.onSubmitClick);const i={_:"poll",flags:0};i.question=t,i.answers=s.map((e,t)=>({_:"pollAnswer",text:e,option:new Uint8Array([t])})),o.default.sendOther(r.$rootScope.selectedPeerID,{_:"inputMediaPoll",flags:0,poll:i})},this.onInput=e=>{const t=e.target;t.value.length&&t.parentElement.classList.add("is-filled");!t.parentElement.nextElementSibling&&t.value.length&&this.questions.childElementCount<10&&this.appendMoreField()},this.onDeleteClick=e=>{e.target.parentElement.remove(),Array.from(this.questions.children).forEach((e,t)=>{e.firstElementChild.nextElementSibling.innerText="Option "+(t+1)})},this.title.innerText="New Poll";const e=f("Ask a Question","Ask a Question","question");this.questionInput=e.firstElementChild,this.header.append(e);const t=document.createElement("hr"),s=document.createElement("div");s.classList.add("caption"),s.innerText="Options",this.questions=document.createElement("div"),this.questions.classList.add("poll-create-questions"),this.body.parentElement.insertBefore(t,this.body),this.body.append(s,this.questions),this.confirmBtn.addEventListener("click",this.onSubmitClick),this.scrollable=new a.default(this.body,"y",void 0),this.appendMoreField()}appendMoreField(){const e=this.questions.childElementCount+1,t=f("Add an Option","Option "+e,"question-"+this.tempID++);t.firstElementChild.addEventListener("input",this.onInput);const s=document.createElement("span");s.classList.add("btn-icon","tgico-close"),t.append(s),s.addEventListener("click",this.onDeleteClick,{once:!0}),this.questions.append(t),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0)}}t.default=l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let s=this.bubblesByGroups.findAndSplice(e=>e.mid==t);s&&s.group.length&&(s.group.findAndSplice(t=>t==e),s.group.length?this.updateGroup(s.group):this.groups.findAndSplice(e=>e==s.group))}addBubble(e,t,s){let n,a=t.date,o=t.fromID;if(o==i.$rootScope.myID&&i.$rootScope.selectedPeerID==i.$rootScope.myID&&t.fwdFromID==o&&(o=-o),this.bubblesByGroups.length)if(s){let t=this.bubblesByGroups[0];t.fromID==o&&t.timestamp-a{if(!(n instanceof SVGDefsElement))if(t)n.removeAttributeNS(null,"clip-path");else{let t,a,o=s.dataset.clipID,r=s.firstElementChild.firstElementChild.lastElementChild,d=+n.getAttributeNS(null,"width"),f=+n.getAttributeNS(null,"height"),l=e.classList.contains("is-out"),c=e.classList.contains("is-reply"),u="";e.classList.contains("forwarded")||c?t=a=0:l?(t=e.classList.contains("is-group-first")?12:6,a=12):(t=12,a=e.classList.contains("is-group-first")?12:6),u=l?i.generatePathData(0,0,d-9,f,a,t,0,12):i.generatePathData(9,0,d-9,f,a,t,12,0),r.setAttributeNS(null,"d",u),n.setAttributeNS(null,"clip-path","url(#"+o+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let s=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAudio=void 0;const n=i(s(10)),a=i(s(7)),o=i(s(8)),r=s(3),d=s(0),f=i(s(37)),l=s(18);t.ChatAudio=class{constructor(){this.container=document.createElement("div"),this.container.classList.add("pinned-audio","pinned-container"),this.container.style.display="none",this.toggle=document.createElement("div"),this.toggle.classList.add("pinned-audio-ico","tgico"),this.title=document.createElement("div"),this.title.classList.add("pinned-audio-title"),this.subtitle=document.createElement("div"),this.subtitle.classList.add("pinned-audio-subtitle"),this.close=document.createElement("button"),this.close.classList.add("pinned-audio-close","btn-icon","tgico-close"),this.container.append(this.toggle,this.title,this.subtitle,this.close),this.close.addEventListener("click",t=>{d.cancelEvent(t);const s=n.default.scrollable.scrollTop;this.container.style.display="none",n.default.topbar.classList.remove("is-audio-shown"),this.toggle.classList.contains("flip-icon")&&f.default.toggle(),n.default.topbar.classList.contains("is-pinned-shown")||(n.default.scrollable.scrollTop=s-e)}),this.toggle.addEventListener("click",e=>{d.cancelEvent(e),f.default.toggle()});const e=52;d.$rootScope.$on("audio_play",t=>{const{doc:s,mid:i}=t.detail;let d,f;if("voice"==s.type||"round"==s.type){const e=a.default.getMessage(i);d=o.default.getPeerTitle(e.fromID,!1,!0),f=l.formatDate(e.date,!1,!1)}else d=s.audioTitle||s.file_name,f=s.audioPerformer?r.RichTextProcessor.wrapPlainText(s.audioPerformer):"Unknown Artist";if(this.title.innerHTML=d,this.subtitle.innerHTML=f,this.toggle.classList.add("flip-icon"),this.container.dataset.mid=""+i,this.container.style.display){const t=n.default.scrollable.scrollTop;this.container.style.display="",n.default.topbar.classList.add("is-audio-shown"),n.default.topbar.classList.contains("is-pinned-shown")||(n.default.scrollable.scrollTop=t+e)}}),d.$rootScope.$on("audio_pause",()=>{this.toggle.classList.remove("flip-icon")})}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatContextMenu=void 0;const n=i(s(9)),a=i(s(10)),o=i(s(7)),r=i(s(8)),d=s(0),f=i(s(42)),l=s(4),c=s(36);t.ChatContextMenu=class{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},l.parseMenuButtonsTo(this.buttons,this.element.children),l.attachContextMenuListener(e,e=>{let t=null;try{t=d.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),t=t.parentElement;let s=+t.dataset.mid;if(!s)return;let i=d.$rootScope.selectedPeerID;this.msgID=s;const a=o.default.getMessage(s);this.buttons.copy.style.display=a.message?"":"none",d.$rootScope.myID==i||i<0&&n.default.hasRights(-i,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=o.default.canEditMessage(s)?"":"none";let r=t.classList.contains("is-in")?"left":"right";l.positionMenu(e,this.element,r),l.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=o.default.getMessage(this.msgID),t=e?e.message:"";var s=document.createElement("textarea");s.value=t,s.style.position="fixed",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(s)}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=d.$rootScope.selectedPeerID,a=r.default.getPeerTitle(i,!1,!0),f=e=>{o.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",i==d.$rootScope.myID?s=[{text:"DELETE",isDanger:!0,callback:()=>f(!1)}]:(s=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>f(!1)}],i>0?s.push({text:"DELETE FOR ME AND "+a,isDanger:!0,callback:()=>f(!0)}):n.default.hasRights(-i,"deleteRevoke")&&s.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>f(!0)})),s.push({text:"CANCEL",isCancel:!0}),new c.PopupPeer("popup-delete-chat",{peerID:i,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:s}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=o.default.getMessage(this.msgID),t=a.default.chatInputC;t.setTopInfo(r.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{f.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=o.default.getMessage(this.msgID),t=a.default.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{o.default.updatePinnedMessage(d.$rootScope.selectedPeerID,this.msgID)})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatSearch=void 0;const r=o(s(10)),d=s(0),f=a(s(43)),l=o(s(65)),c=s(17),u=o(s(29));t.ChatSearch=class{constructor(){this.foundCount=0,this.selectedIndex=0,this.onDateClick=e=>{d.cancelEvent(e),new l.default(new Date,r.default.onDatePick).show()},this.selectResult=e=>{if(this.setPeerPromise)return this.setPeerPromise;const t=+e.getAttribute("data-peerID"),s=+e.dataset.mid||void 0,i=d.whichChild(e);i==this.foundCount-1?this.upBtn.setAttribute("disabled","true"):this.upBtn.removeAttribute("disabled"),i?this.downBtn.removeAttribute("disabled"):this.downBtn.setAttribute("disabled","true"),this.results.classList.remove("active"),r.default.bubblesContainer.classList.remove("search-results-active");const n=r.default.setPeer(t,s);this.setPeerPromise=(n instanceof Promise?n:Promise.resolve(n)).then(()=>{this.selectedIndex=i,this.foundCountEl.innerText=`${i+1} of ${this.foundCount}`;const e=this.searchGroup.list.childElementCount;this.selectedIndex>=e-6&&this.appSearch.searchMore()}).finally(()=>{this.setPeerPromise=null})},this.onResultsClick=e=>{const t=d.findUpTag(e.target,"LI");t&&this.selectResult(t)},this.onFooterClick=e=>{this.foundCount&&(r.default.bubblesContainer.classList.toggle("search-results-active"),this.results.classList.toggle("active"))},this.onUpClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex+1])},this.onDownClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex-1])},this.element=document.createElement("div"),this.element.classList.add("sidebar-header","chat-search","chats-container"),this.backBtn=document.createElement("button"),this.backBtn.classList.add("btn-icon","tgico-back","sidebar-close-button"),c.ripple(this.backBtn),this.backBtn.addEventListener("click",()=>{r.default.topbar.classList.remove("hide-pinned"),this.element.remove(),this.searchInput.remove(),this.results.remove(),this.footer.remove(),this.footer.removeEventListener("click",this.onFooterClick),this.dateBtn.removeEventListener("click",this.onDateClick),this.upBtn.removeEventListener("click",this.onUpClick),this.downBtn.removeEventListener("click",this.onDownClick),this.searchGroup.list.removeEventListener("click",this.onResultsClick),r.default.bubblesContainer.classList.remove("search-results-active")},{once:!0}),this.searchInput=new u.default("Search"),this.results=document.createElement("div"),this.results.classList.add("chat-search-results","chats-container"),this.searchGroup=new f.SearchGroup("","messages",void 0,"",!1),this.searchGroup.list.addEventListener("click",this.onResultsClick),this.appSearch=new f.default(this.results,this.searchInput,{messages:this.searchGroup},e=>{this.foundCount=e,this.foundCount?this.selectResult(this.searchGroup.list.children[0]):(this.foundCountEl.innerText=this.searchInput.value?"No results":"",this.results.classList.remove("active"),r.default.bubblesContainer.classList.remove("search-results-active"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"))}),this.appSearch.beginSearch(d.$rootScope.selectedPeerID),r.default.bubblesContainer.append(this.results),this.footer=document.createElement("div"),this.footer.classList.add("chat-search-footer"),this.footer.addEventListener("click",this.onFooterClick),c.ripple(this.footer),this.foundCountEl=document.createElement("span"),this.foundCountEl.classList.add("chat-search-count"),this.dateBtn=document.createElement("button"),this.dateBtn.classList.add("btn-icon","tgico-calendar"),this.controls=document.createElement("div"),this.controls.classList.add("chat-search-controls"),this.upBtn=document.createElement("button"),this.upBtn.classList.add("btn-icon","tgico-up"),this.downBtn=document.createElement("button"),this.downBtn.classList.add("btn-icon","tgico-down"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"),this.dateBtn.addEventListener("click",this.onDateClick),this.upBtn.addEventListener("click",this.onUpClick),this.downBtn.addEventListener("click",this.onDownClick),this.controls.append(this.upBtn,this.downBtn),this.footer.append(this.foundCountEl,this.dateBtn,this.controls),r.default.topbar.parentElement.insertBefore(this.footer,r.default.chatInput),this.element.append(this.backBtn,this.searchInput.container),r.default.topbar.classList.add("hide-pinned"),r.default.topbar.parentElement.append(this.element),this.searchInput.input.focus()}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PasswordManager=void 0;const n=i(s(2));class a{getState(e={}){return n.default.invokeApi("account.getPassword",{},e).then(e=>e)}check(e,t,s={}){return n.default.computeSRP(e,t).then(e=>n.default.invokeApi("auth.checkPassword",{password:e},s))}requestRecovery(e={}){return n.default.invokeApi("auth.requestPasswordRecovery",{},e)}recover(e,t={}){return n.default.invokeApi("auth.recoverPassword",{code:e},t)}}t.PasswordManager=a;const o=new a;t.default=o},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(2)),f=r(s(25)),l=r(s(31)),c=r(s(66)),u=r(s(49)),h=s(30),p=s(22),m=r(s(34));let g;const b=new f.default("page-signQR",!0,()=>g,()=>{g||(g=o(void 0,void 0,void 0,(function*(){const e=b.pageEl.querySelector(".auth-image");b.pageEl.querySelector(".a-qr").addEventListener("click",()=>{u.default.mount(),i=!0});const t=(yield Promise.all([Promise.resolve().then(()=>a(s(110)))]))[0].default;let i=!1;document.addEventListener("user_auth",()=>{i=!0,g=null},{once:!0});let n,r={ignoreErrors:!0};return()=>o(void 0,void 0,void 0,(function*(){for(i=!1;!i;)try{let s=yield d.default.invokeApi("auth.exportLoginToken",{api_id:h.App.id,api_hash:h.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==s._&&(r.dcID||(r.dcID=s.dc_id,d.default.setBaseDcID(s.dc_id)),s=yield d.default.invokeApi("auth.importLoginToken",{token:s.token},r)),"auth.loginTokenSuccess"==s._){const e=s.authorization;d.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!n||!p.bytesCmp(n,s.token)){n=s.token;let i="tg://login?token="+p.bytesToBase64(s.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:i,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let i=Date.now()/1e3,a=s.expires-i-m.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,c.default.mount(),i=!0,g=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),g.then(e=>{e()})});t.default=b},function(e,t,s){window,e.exports=function(e){var t={};function s(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,s),n.l=!0,n.exports}return s.m=e,s.c=t,s.d=function(e,t,i){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(i,n,function(t){return e[t]}.bind(null,n));return i},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=1)}([function(e,t,s){var i,n,a=function(){var e=function(e,t){var s=e,i=n[t],o=null,p=0,m=null,b=[],v={},y=function(e,t){o=function(e){for(var t=new Array(e),s=0;s=7&&L(e),null==m&&(m=E(s,i,b)),D(m,t)},w=function(e,t){for(var s=-1;s<=7;s+=1)if(!(e+s<=-1||p<=e+s))for(var i=-1;i<=7;i+=1)t+i<=-1||p<=t+i||(o[e+s][t+i]=0<=s&&s<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==s||6==s)||2<=s&&s<=4&&2<=i&&i<=4)},_=function(){for(var e=8;e>i&1);o[Math.floor(i/3)][i%3+p-8-3]=n}for(i=0;i<18;i+=1)n=!e&&1==(t>>i&1),o[i%3+p-8-3][Math.floor(i/3)]=n},M=function(e,t){for(var s=i<<3|t,n=a.getBCHTypeInfo(s),r=0;r<15;r+=1){var d=!e&&1==(n>>r&1);r<6?o[r][8]=d:r<8?o[r+1][8]=d:o[p-15+r][8]=d}for(r=0;r<15;r+=1)d=!e&&1==(n>>r&1),r<8?o[8][p-r-1]=d:r<9?o[8][15-r-1+1]=d:o[8][15-r-1]=d;o[p-8][8]=!e},D=function(e,t){for(var s=-1,i=p-1,n=7,r=0,d=a.getMaskFunction(t),f=p-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var l=0;l<2;l+=1)if(null==o[i][f-l]){var c=!1;r>>n&1)),d(i,f-l)&&(c=!c),o[i][f-l]=c,-1==(n-=1)&&(r+=1,n=7)}if((i+=s)<0||p<=i){i-=s,s=-s;break}}},E=function(e,t,s){for(var i=d.getRSBlocks(e,t),n=f(),o=0;o8*c)throw"code length overflow. ("+n.getLengthInBits()+">"+8*c+")";for(n.getLengthInBits()+4<=8*c&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*c||(n.put(236,8),n.getLengthInBits()>=8*c));)n.put(17,8);return function(e,t){for(var s=0,i=0,n=0,o=new Array(t.length),d=new Array(t.length),f=0;f=0?p.getAt(m):0}}var g=0;for(u=0;ui)&&(e=i,t=s)}return t}())},v.createTableTag=function(e,t){e=e||2;var s="";s+='',s+="";for(var i=0;i";for(var n=0;n';s+=""}return(s+="")+"
"},v.createSvgTag=function(e,t,s,i){var n={};"object"==typeof arguments[0]&&(e=(n=arguments[0]).cellSize,t=n.margin,s=n.alt,i=n.title),e=e||2,t=void 0===t?4*e:t,(s="string"==typeof s?{text:s}:s||{}).text=s.text||null,s.id=s.text?s.id||"qrcode-description":null,(i="string"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||"qrcode-title":null;var a,o,r,d,f=v.getModuleCount()*e+2*t,l="";for(d="l"+e+",0 0,"+e+" -"+e+",0 0,-"+e+"z ",l+=''+I(i.text)+"":"",l+=s.text?''+I(s.text)+"":"",l+='',l+='"},v.createDataURL=function(e,t){e=e||2,t=void 0===t?4*e:t;var s=v.getModuleCount()*e+2*t,i=t,n=s-t;return g(s,s,(function(t,s){if(i<=t&&t"};var I=function(e){for(var t="",s=0;s":t+=">";break;case"&":t+="&";break;case'"':t+=""";break;default:t+=i}}return t};return v.createASCII=function(e,t){if((e=e||1)<2)return function(e){e=void 0===e?2:e;var t,s,i,n,a,o=1*v.getModuleCount()+2*e,r=e,d=o-e,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},l={"██":"▀","█ ":"▀"," █":" "," ":" "},c="";for(t=0;t=d?l[a]:f[a];c+="\n"}return o%2&&e>0?c.substring(0,c.length-o-1)+Array(o+1).join("▀"):c.substring(0,c.length-1)}(t);e-=1,t=void 0===t?2*e:t;var s,i,n,a,o=v.getModuleCount()*e+2*t,r=t,d=o-t,f=Array(e+1).join("██"),l=Array(e+1).join(" "),c="",u="";for(s=0;s>>8),t.push(255&o)):t.push(i)}}return t}};var t,s,i,n={L:1,M:0,Q:3,H:2},a=(t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],i=function(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t},(s={}).getBCHTypeInfo=function(e){for(var t=e<<10;i(t)-i(1335)>=0;)t^=1335<=0;)t^=7973<5&&(s+=3+a-5)}for(i=0;i=256;)t-=255;return e[t]}}}();function r(e,t){if(void 0===e.length)throw e.length+"/"+t;var s=function(){for(var s=0;s>>7-t%8&1)},put:function(e,t){for(var i=0;i>>t-i-1&1))},getLengthInBits:function(){return t},putBit:function(s){var i=Math.floor(t/8);e.length<=i&&e.push(0),s&&(e[i]|=128>>>t%8),t+=1}};return s},l=function(e){var t=e,s={getMode:function(){return 1},getLength:function(e){return t.length},write:function(e){for(var s=t,n=0;n+2>>8&255)+(255&n),e.put(n,13),s+=2}if(s>>8)},writeBytes:function(e,s,i){s=s||0,i=i||e.length;for(var n=0;n0&&(t+=","),t+=e[s];return t+"]"}};return t},m=function(e){var t=e,s=0,i=0,n=0,a={read:function(){for(;n<8;){if(s>=t.length){if(0==n)return-1;throw"unexpected end of file./"+n}var e=t.charAt(s);if(s+=1,"="==e)return n=0,-1;e.match(/^\s$/)||(i=i<<6|o(e.charCodeAt(0)),n+=6)}var a=i>>>n-8&255;return n-=8,a}},o=function(e){if(65<=e&&e<=90)return e-65;if(97<=e&&e<=122)return e-97+26;if(48<=e&&e<=57)return e-48+52;if(43==e)return 62;if(47==e)return 63;throw"c:"+e};return a},g=function(e,t,s){for(var i=function(e,t){var s=e,i=t,n=new Array(e*t),a={setPixel:function(e,t,i){n[t*s+e]=i},write:function(e){e.writeString("GIF87a"),e.writeShort(s),e.writeShort(i),e.writeByte(128),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(255),e.writeByte(255),e.writeByte(255),e.writeString(","),e.writeShort(0),e.writeShort(0),e.writeShort(s),e.writeShort(i),e.writeByte(0);var t=o(2);e.writeByte(2);for(var n=0;t.length-n>255;)e.writeByte(255),e.writeBytes(t,n,255),n+=255;e.writeByte(t.length-n),e.writeBytes(t,n,t.length-n),e.writeByte(0),e.writeString(";")}},o=function(e){for(var t=1<>>n!=0)throw"length over";for(;s+n>=8;)t.writeByte(255&(e<>>=8-s,i=0,s=0;i|=e<0&&t.writeByte(i)}}}(d);f.write(t,i);var l=0,c=String.fromCharCode(n[l]);for(l+=1;l=6;)a(e>>>t-6),t-=6},n.flush=function(){if(t>0&&(a(e<<6-t),e=0,t=0),s%3!=0)for(var n=3-s%3,o=0;o>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(s++,i=65536+((1023&i)<<10|1023&e.charCodeAt(s)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return t}(e)},void 0===(n="function"==typeof(i=function(){return a})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,s){"use strict";s.r(t);var i={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},n=function(){return(n=Object.assign||function(e){for(var t,s=1,i=arguments.length;si.width||n>i.height)throw"The canvas is too small.";for(var a=Math.min(i.width,i.height),o=Math.floor(a/n),r=Math.floor((i.width-n*o)/2),d=Math.floor((i.height-n*o)/2),l=new f({context:s,type:i.dotsOptions.type}),c=function(a){for(var f=function(f){return e&&!e(a,f)?"continue":u._qr.isDark(a,f)?(s.fillStyle=i.dotsOptions.color,void l.draw(r+a*o,d+f*o,o,(function(s,i){return!(a+s<0||f+i<0||a+s>=n||f+i>=n)&&!(e&&!e(a+s,f+i))&&!!t._qr&&t._qr.isDark(a+s,f+i)}))):"continue"},c=0;ci||n&&n=(a+p)/2||t<(a-m)/2||t>=(a+m)/2})),i.drawImage(c,f+(a*r-d)/2,l+(a*r-h)/2,d,h),t()},c.src=n.image}))},e}(),c={},u=0;u<=40;u++)c[u]=u;var h=c,p={L:"L",M:"M",Q:"Q",H:"H"},m={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:p.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},g=s(0),b=s.n(g),v=function(){function e(e){this._options=e?r(m,e):m,this.update()}return e._clearContainer=function(e){e&&(e.innerHTML="")},e.prototype.update=function(t){e._clearContainer(this._container),this._options=t?r(this._options,t):this._options,this._options.data&&(this._qr=b()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return i.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(e):return i.alphanumeric;default:return i.byte}}(this._options.data)),this._qr.make(),this._canvas=new l(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},e.prototype.append=function(e){if(e){if("function"!=typeof e.appendChild)throw"Container should be a single DOM node";this._canvas&&e.appendChild(this._canvas.getCanvas()),this._container=e}},e.prototype.download=function(e){var t,s,i;this._canvas&&(t=this._canvas.getCanvas().toDataURL(e?"image/"+e:void 0),s="qr."+(e||"png"),(i=document.createElement("a")).download=s,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i))},e}(),y={dots:"dots",rounded:"rounded",square:"square"};s.d(t,"dotTypes",(function(){return y})),s.d(t,"errorCorrectionLevels",(function(){return p})),s.d(t,"errorCorrectionPercents",(function(){return d})),s.d(t,"modes",(function(){return i})),s.d(t,"qrTypes",(function(){return h})),t.default=v}]).default}]); \ No newline at end of file diff --git a/public/main.bundle.js.gz b/public/main.bundle.js.gz index bd8c196e..0839e8c2 100644 Binary files a/public/main.bundle.js.gz and b/public/main.bundle.js.gz differ diff --git a/public/main.css b/public/main.css index 0280c0f2..c85a2373 100644 --- a/public/main.css +++ b/public/main.css @@ -1,6 +1,6 @@ /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:flex;align-items:center}.z-depth-0{box-shadow:none !important}.z-depth-1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5{box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hide{display:none !important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.center-align,.text-center{text-align:center}.justify-start{justify-content:flex-start !important}.justify-self-start{justify-self:flex-start !important}.justify-self-end{justify-self:flex-end !important}.position-center{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}a{text-decoration:none}html{line-height:1.5;font-weight:normal}h1,h2,h3,h4,h5,h6{line-height:1.3}em{font-style:italic}strong{font-weight:500}small{font-size:75%} -.chats-container{position:relative}@media only screen and (max-width: 896px){.chats-container .search-group-recent.search-group{padding:2px 0 0}}.chats-container .input-search{position:relative;width:100%;margin-left:22px;margin-right:4px}@media only screen and (max-width: 896px){.chats-container .input-search{margin-left:16px}}.chats-container .input-search input{background-color:rgba(112,117,121,0.08);border:2px solid transparent;height:40px;border-radius:22px;box-sizing:border-box;padding:0px 1.5rem 0 40px;transition:all .15s ease-out;width:100%;font-size:16px}.chats-container .input-search input:focus{background-color:rgba(112,117,121,0);border:2px solid #4EA4F6}.chats-container .input-search input:focus+.tgico{color:#4EA4F6;opacity:1}.chats-container .input-search .tgico{position:absolute;left:12px;top:50%;transform:translateY(-50%);text-align:center;font-size:24px;color:#707579;opacity:.6;transition:all .15s ease-out}.chats-container .input-search .tgico:before{vertical-align:middle}.chats-container .input-search .tgico-close{left:auto;right:0px}.chats-container .input-search input:-moz-placeholder-shown ~ .tgico-close{display:none}.chats-container .input-search input:-ms-input-placeholder ~ .tgico-close{display:none}.chats-container .input-search input:placeholder-shown ~ .tgico-close{display:none}.chats-container ul{margin:0;display:flex;flex-direction:column;width:100%;-webkit-user-select:none;-webkit-touch-callout:none}html.is-mac .chats-container ul{transform:translateZ(0)}.chats-container li{background-color:#fff}@media only screen and (max-width: 896px){.chats-container li{padding-bottom:0px}}.chats-container li.is-muted .user-title:after{content:"";color:#a3a3a3;font-size:1.125rem;line-height:27px;vertical-align:middle;margin-left:.125rem;display:inline-block;height:29px}.chats-container li>.rp{height:72px;max-height:72px;border-radius:10px;display:flex;align-items:flex-start;flex-direction:row;position:relative;cursor:pointer;padding:9px 8.5px;margin:0px 8px 0px 8px;overflow:hidden}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none){.chats-container li>.rp{margin-right:3px}}}@media only screen and (max-width: 896px){.chats-container li>.rp{padding:9px 12px 0 9px !important;border-radius:0;margin:0;overflow:hidden}}html.no-touch .chats-container li>.rp:hover{background:rgba(112,117,121,0.08)}.chats-container li.active>.rp,.chats-container li.menu-open>.rp{background:rgba(112,117,121,0.08)}.chats-container .pinned-delimiter{display:flex;padding:8px 0 4px}.chats-container .pinned-delimiter span{margin:0;width:100%;height:1px;background-color:#DADCE0}.chats-container p{margin:0;display:flex;justify-content:space-between;flex-direction:row;align-items:flex-start;height:27px}.chats-container p .user-title+span{font-size:.75rem;padding:1px 0px 0px 0px;flex:0 0 auto}.chats-container p .user-last-message+span:not(.tgico-pinnedchat){font-size:.9rem}.chats-container span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:27px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chats-container .dialog-avatar{flex:0 0 auto}.chats-container .user-caption{max-width:100%;max-height:100%;overflow:hidden;color:#707579;flex:1 1 auto;padding:1px 8.5px 1px 9px}.chats-container .user-caption p:last-child{margin-top:-3px}.chats-container .user-title{max-width:82%}.chats-container .user-title img.emoji{vertical-align:top;margin-top:4px;width:18px;height:18px}.chats-container .user-title span.emoji{overflow:visible;margin:0;width:auto;font-size:14px;margin-top:-1.5px}.chats-container .user-title i.verified-icon{content:" ";background:url(assets/img/icon-verified.svg);display:inline-block;width:20px;height:20px;vertical-align:text-bottom;margin-left:.125rem}.chats-container .user-last-message{max-width:86%}.chats-container .user-last-message img.emoji{width:20px;height:20px;margin-top:-3px}.chats-container .user-last-message span.emoji{font-size:1.2rem;margin:0 .125rem;overflow:visible;margin-top:-1.5px}.chats-container .user-title i,.chats-container .user-last-message i{font-style:normal;color:#50a2e9}.chats-container .message-status{margin-right:.1rem;margin-top:-.3rem}.chats-container .message-status[class*=" tgico-"]{color:#4DCD5E;font-size:1.25rem}.chats-container .message-status:before{vertical-align:middle}.chats-container .unread,.chats-container .unread-muted,.chats-container .tgico-pinnedchat{height:24px;text-align:center;line-height:24px;color:#fff;border-radius:12px;margin-top:4px;margin-right:-3px;flex:0 0 auto}.chats-container .unread,.chats-container .unread-muted{min-width:24px;padding:0 8px;font-weight:500}.chats-container .tgico-pinnedchat{width:24px;font-size:1.5rem}.chats-container .unread:empty,.chats-container .unread-muted:empty{visibility:hidden}.chats-container .unread{background:#4DCD5E}.chats-container .unread-muted,.chats-container .tgico-pinnedchat{background:#c5c9cc}.chats-container .search-group{width:100%;padding:1rem 0 .5rem;margin-bottom:.5rem}@media only screen and (max-width: 896px){.chats-container .search-group{margin-bottom:0}}.chats-container .search-group__name{color:#707579;padding:0 23px;padding-bottom:1rem;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){.chats-container .search-group__name{padding:0 9px 0 16px;font-size:15px}}.chats-container .search-group-contacts{padding:16px 0 7px}@media only screen and (max-width: 896px){.chats-container .search-group-contacts{padding:7px 0 0px}}.chats-container .search-group-contacts .search-group__name{padding-bottom:17px}@media only screen and (max-width: 896px){.chats-container .search-group-contacts .search-group__name{padding-bottom:0}}.chats-container .search-group:last-child{border-bottom:none}.contacts-container .dialog-avatar,.search-group-contacts .dialog-avatar{width:48px;height:48px}.contacts-container li,.search-group-contacts li{padding-bottom:4px;padding-top:2px}@media only screen and (max-width: 896px){.contacts-container li,.search-group-contacts li{padding:0}}.contacts-container li>.rp,.search-group-contacts li>.rp{padding:9px 11.5px !important;height:66px}.contacts-container .user-caption,.search-group-contacts .user-caption{padding:1px 3.5px 1px 13px}@media only screen and (max-width: 896px){.contacts-container .user-caption,.search-group-contacts .user-caption{padding:0px 4px 0px 14px}}.contacts-container .user-title,.contacts-container b,.contacts-container .user-last-message b,.search-group-contacts .user-title,.search-group-contacts b,.search-group-contacts .user-last-message b{font-weight:normal}.contacts-container p,.search-group-contacts p{height:24px}@media only screen and (max-width: 896px){.contacts-container p,.search-group-contacts p{height:26px}}.contacts-container span.user-last-message,.search-group-contacts span.user-last-message{font-size:14px}#contacts-container .sidebar-header{margin-bottom:1px}#contacts-container .input-search{margin-left:16px}#bubble-contextmenu>div{padding:0 84px 0 16px}@media only screen and (max-width: 896px){#bubble-contextmenu>div{padding:0 60px 0 16px}}#topbar{width:100%;background-color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21);z-index:1;min-height:56px;max-height:56px}@media only screen and (max-width: 896px){#topbar.is-audio-shown+#bubbles,#topbar.is-pinned-shown:not(.hide-pinned)+#bubbles{margin-top:52px}#topbar.is-pinned-shown:not(.hide-pinned):not(.is-audio-shown) .pinned-message{display:flex}}@media only screen and (min-width: 897px){#topbar{border-left:1px solid #DADCE0;border-right:1px solid #DADCE0}#topbar .sidebar-close-button,#topbar .menu-search{display:none}#topbar.is-pinned-shown:not(.hide-pinned) .pinned-message{display:flex}}@media only screen and (max-width: 896px){#topbar .chat-mute-button,#topbar .chat-search-button{display:none}}#topbar .chat-more-button .btn-menu{top:calc(100% + 7px)}@media only screen and (max-width: 896px){#topbar .chat-more-button .btn-menu{top:29px}}@media only screen and (max-width: 896px){#topbar .chat-more-button{margin-left:0}}#topbar .chat-info{flex-grow:1}#topbar .chat-join{width:auto;padding:0 22.185px;height:36px;font-weight:400;font-size:0.875rem;margin-right:.5rem}#topbar .chat-join:not(.hide)+.chat-mute-button{display:none}#topbar .content{flex:1;padding-left:10px}@media only screen and (max-width: 896px){#topbar .content{max-width:208px}}#topbar .person{display:flex;align-items:center;cursor:pointer;margin-left:7px}@media only screen and (max-width: 896px){#topbar .person{margin-left:10px}}#topbar .person .bottom{font-size:14px;color:#707579}#topbar .person .bottom .online{color:#50a2e9}#topbar #im-avatar{width:40px;height:40px;line-height:40px;font-size:16px}#topbar #im-avatar:before{font-size:20px}#topbar #im-avatar.tgico-avatar_deletedaccount:before{font-size:40px}#topbar.hide-pinned+#bubbles #bubbles-inner{margin-bottom:.25rem}#chat-input{display:flex;width:100%;max-width:696px;padding-top:.25rem;flex-direction:column;flex:0 0 auto;position:relative}#chat-input .chat-input-container{display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width: 896px){#chat-input .chat-input-container{padding:0 .5rem .5rem}}@media only screen and (min-width: 897px){#chat-input .chat-input-container{padding-bottom:21px}}#chat-input #input-message{background:none;border:none;width:100%;font-size:16px;padding:10px 9px;max-height:30rem;overflow-y:none;resize:none;border:none;outline:none;cursor:text}#chat-input [contenteditable=true]:empty:before{content:attr(data-placeholder);color:#a2acb4;display:block}#chat-input .toggle-emoticons:before{content:""}#chat-input .toggle-emoticons.flip-icon:before{content:""}#chat-input #btn-record-cancel{visibility:hidden;opacity:0;transition:width .1s .1s, margin-right .1s .1s, visibility 0s .1s, opacity .1s 0s;padding:0;z-index:3}#chat-input .btn-send-container{flex:0 0 auto;position:relative;align-self:flex-end;z-index:2}#chat-input #btn-send{color:#9e9e9e}#chat-input #btn-send.tgico-send{color:#50a2e9}#chat-input #btn-record-cancel,#chat-input #btn-send{font-size:1.5rem;line-height:1.5rem;background-color:#fff}#chat-input .record-time{height:44px;line-height:44px;display:none}#chat-input .record-time:after{content:" ";width:10px;height:10px;background-color:#e53935;border-radius:50%;margin:0 9px;display:inline-block;-webkit-animation:recordBlink 1.25s infinite;animation:recordBlink 1.25s infinite}#chat-input .record-ripple{border-radius:50%;background-color:rgba(0,0,0,0.2);width:240px;height:240px;transform:scale(0);position:absolute;top:-94px;left:-94px;transition:transform .03s, visibility .1s;visibility:hidden}@media only screen and (max-width: 896px){#chat-input .record-ripple{width:300px;height:300px;top:-124px;left:-124px}}#chat-input.is-recording #btn-record-cancel{opacity:1;visibility:visible;margin-right:9px;transition:width .1s, margin-right .1s, visibility 0s .1s, opacity .1s .1s}#chat-input.is-recording #attach-file{display:none}#chat-input.is-recording .record-time{display:block}#chat-input.is-recording .record-ripple{transition:transform .03s, visibility 0s;visibility:visible}#chat-input:not(.is-recording) #btn-record-cancel{margin-right:0;width:0px}@-webkit-keyframes recordBlink{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}@keyframes recordBlink{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}#im-title{cursor:pointer;font-size:18px;line-height:24px}@media only screen and (max-width: 896px){#im-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}#im-title span.emoji{vertical-align:inherit}.info#im-subtitle{margin-top:-2px}.chat-container{display:flex;width:100%;align-items:center;flex-direction:column;position:relative;background-image:url("assets/img/camomile_blurred.jpg");background-size:cover;background-position:center center}.chat-container #chat-background-canvas{display:none}.chat-container .input-message{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3.75rem);justify-content:center;background-color:#fff;border-radius:12px;border-bottom-right-radius:0;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);margin-right:9px;padding:4.5px .5rem;min-height:54px;max-height:30rem;caret-color:#4EA4F6;flex:1;position:relative;z-index:3}@media only screen and (max-width: 896px){.chat-container .input-message{min-height:46px;padding:0.5px .5rem}}.chat-container .input-message:after{position:absolute;bottom:-1px;width:11px;height:20px;background-repeat:no-repeat repeat;content:'';background-size:11px 20px;right:-9px;background-image:url("assets/img/msg-tail-left.svg");transform:scaleX(-1)}.chat-container .input-message #attach-file.menu-open{color:#50a2e9;background-color:transparent}.chat-container .input-message #attach-file .btn-menu{padding:8px 0;right:-8px;bottom:calc(100% + 16px)}.chat-container .input-message #attach-file .btn-menu>div{padding:0 38px 0 16px}.chat-container .input-message>div{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-container .input-message .reply-wrapper{justify-content:flex-start;overflow:hidden;transition:.2s all;height:0px}.chat-container .input-message .reply-wrapper.active{height:39px}.chat-container .input-message .reply-wrapper .reply{width:100%;margin-left:.5rem;min-height:35px}.chat-container .input-message .new-message-wrapper{align-items:flex-end}.chat-container .input-message .new-message-wrapper .btn-icon:before{vertical-align:bottom}.chat-container .input-message .input-message-container{width:1%;max-height:inherit;flex:1 1 auto;position:relative;overflow:hidden}.chat-container .input-message .input-message-container>.scrollable{position:relative}.chat-container .input-message .btn-icon{display:block;transition:.2s color;flex:0 0 auto;font-size:24px;line-height:24px;padding:10px 7px 9px 7.5px;color:#8d969c}.chat-container .input-message .btn-icon.active{color:#50a2e9}.chat-container .input-message .emoji{font-size:24px;height:24px;width:24px}@media only screen and (max-width: 896px){.chat-container .pinned-message{position:absolute !important;top:100%;width:100% !important;background:#fff;left:0;max-height:100% !important;height:52px;padding:1rem}.chat-container .pinned-message-subtitle{line-height:13px !important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:280px}}.chat-container .pinned-message,.chat-container .reply{cursor:pointer;display:flex;flex-direction:row;align-items:center;overflow:hidden;box-sizing:border-box;width:187px;margin-right:1rem;max-height:35px;position:relative}.chat-container .pinned-message.is-media .pinned-message-content,.chat-container .pinned-message.is-media .reply-content,.chat-container .reply.is-media .pinned-message-content,.chat-container .reply.is-media .reply-content{padding-left:40px}html.no-touch .chat-container .pinned-message:hover,html.no-touch .chat-container .reply:hover{background-color:rgba(112,117,121,0.08)}.chat-container .pinned-message-border,.chat-container .reply-border{height:32px;border-radius:1px;min-width:2px;background:#50a2e9}.chat-container .pinned-message-content,.chat-container .reply-content{margin-left:8px;flex-grow:1;flex-shrink:1;overflow:hidden;pointer-events:none;position:relative;height:32px;display:flex;flex-direction:column;justify-content:space-between}.chat-container .pinned-message-title,.chat-container .reply-title{color:#50a2e9}.chat-container .pinned-message-title,.chat-container .pinned-message-subtitle,.chat-container .reply-title,.chat-container .reply-subtitle{font-size:14px;line-height:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-container .pinned-message-subtitle,.chat-container .reply-subtitle{white-space:nowrap;color:#111}.chat-container .pinned-message-media,.chat-container .reply-media{height:32px;width:32px;border-radius:8px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.chat-container .pinned-message i,.chat-container .reply i{font-style:normal;color:#50a2e9}.chat-container .pinned-message img.emoji,.chat-container .reply img.emoji{height:16px;width:16px;vertical-align:top}.chat-container .pinned-message span.emoji,.chat-container .reply span.emoji{font-size:16px;vertical-align:unset}.chat-container .pinned-message{display:none}@media only screen and (max-width: 896px){.chat-container .pinned-container{box-shadow:0px 1px 3px 0px rgba(0,0,0,0.15)}.chat-container .pinned-container:before{width:100%;content:" ";height:52px;left:0;top:0;position:absolute;box-shadow:inset 0px 1px 2px 0px rgba(0,0,0,0.15)}}.chat-container .pinned-container .pinned-message-close,.chat-container .pinned-container .pinned-audio-close,.chat-container .pinned-container .pinned-audio-ico{font-size:1.5rem;position:absolute;display:flex;justify-content:center;right:0}.chat-container .pinned-container .pinned-message-close.tgico-close,.chat-container .pinned-container .pinned-audio-close.tgico-close,.chat-container .pinned-container .pinned-audio-ico.tgico-close{visibility:hidden}@media only screen and (max-width: 896px){.chat-container .pinned-container .pinned-message-close.tgico-close,.chat-container .pinned-container .pinned-audio-close.tgico-close,.chat-container .pinned-container .pinned-audio-ico.tgico-close{font-size:1.4rem;right:9px;visibility:visible}}.chat-container .pinned-audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer}@media only screen and (max-width: 896px){.chat-container .pinned-audio{height:52px;padding-left:58px;background:#fff;width:100%;position:absolute;left:0;top:100%}}@media only screen and (min-width: 897px){.chat-container .pinned-audio{padding-left:2.5rem;padding-right:2.5rem;max-width:210px;position:relative}}.chat-container .pinned-audio-ico{left:0;right:auto !important;color:#50a2e9}@media only screen and (max-width: 896px){.chat-container .pinned-audio-ico{margin-left:20px}}.chat-container .pinned-audio-ico:before{content:""}.chat-container .pinned-audio-ico.flip-icon:before{content:""}.chat-container .pinned-audio-title{font-weight:500;width:100%;max-width:100%}.chat-container .pinned-audio-subtitle{color:#707579}.chat-container .pinned-audio-title,.chat-container .pinned-audio-subtitle{white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1.4;overflow:hidden;max-width:240px}#bubbles{width:100%;height:100%;max-height:100%;flex:1 1 auto;overflow:hidden;position:relative;padding:0 .5rem;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}#bubbles>.scrollable{padding:0 .75rem;height:auto;display:block}@media only screen and (max-width: 896px){#bubbles>.scrollable{padding:0 .5rem}}#bubbles:not(.scrolled-down):not(.search-results-active){-webkit-mask-image:linear-gradient(0deg, transparent 0, #000 20px);mask-image:linear-gradient(0deg, transparent 0, #000 20px)}#bubbles:not(.scrolled-down):not(.search-results-active) #bubbles-go-down{opacity:1}#bubbles .preloader{width:100%;height:100%}#bubbles .preloader svg{width:50px;height:50px}#bubbles .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}#bubbles .search-group.search-group-messages{padding:0.25rem 0 .5rem}#bubbles-inner{width:100%;display:flex;flex-direction:column;flex-shrink:1;margin:0 auto;box-sizing:border-box;min-height:100%;justify-content:flex-end}#bubbles-inner.is-chat .is-in .bubble__container{margin-left:45px}@media only screen and (max-width: 896px){#bubbles-inner.is-chat .is-in .bubble__container{max-width:calc(100% - 5.5625rem)}}#bubbles-inner.is-channel:not(.is-chat) .bubble__container{max-width:100%}#bubbles-inner.is-channel:not(.is-chat) .bubble.with-beside-button .bubble__container{max-width:calc(100% - 2.875rem) !important}#bubbles-inner.is-channel:not(.is-chat):not(.has-rights){padding-bottom:55px}#bubbles-inner:not(.is-channel) .message,#bubbles-inner.is-chat .message{max-width:480px}#bubbles-inner.is-scrolling .is-sticky{opacity:0.99999}#bubbles-go-down{position:absolute;background-color:#fff;border-radius:50%;width:3.25rem;height:3.25rem;color:#9e9e9e;font-size:30px;display:flex;align-items:center;justify-content:center;right:17.5px;bottom:17.5px;cursor:pointer;opacity:0;transition:.2s opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}@media only screen and (max-width: 896px){#bubbles-go-down{width:2.875rem;height:2.875rem}}#bubbles-go-down:before{margin-left:.75px}@media only screen and (max-width: 896px){#bubbles-go-down{right:.5rem}}.popup.popup-delete-message .popup-header{margin-bottom:1rem}.chat-search{position:absolute !important;top:0;z-index:2}.chat-search-footer{height:46px;padding:0 8px;flex:0 0 auto;width:100%;background-color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0px -1px 5px -1px rgba(0,0,0,0.21)}.chat-search-footer .chat-search-count{margin-left:8px;color:#949596}.chat-search-footer+#chat-input{display:none}.chat-search-count:empty{display:none}.chat-search-count:not(:empty)+.btn-icon{display:none}.chat-search-controls{display:flex}.chat-search-results{width:100%;height:100%;max-height:100%;overflow:hidden;position:absolute;top:0;left:0;visibility:hidden;opacity:0;background-color:#fff;transition:.2s ease}.chat-search-results.active{opacity:1;visibility:visible}.chat-search .tgico-up{margin-right:2px}.quiz-hint{position:absolute;left:0;display:flex;width:100%;justify-content:center;z-index:5;top:8px;align-items:center;transform:translateY(calc(-100% - 10px));transition:transform .2s ease}.quiz-hint.active{transform:translateY(0)}.quiz-hint .container{background:rgba(0,0,0,0.7);text-align:center;width:auto;padding:10px 18px 12px 50px;min-height:48px;border-radius:12px;line-height:1.5;color:white;font-size:15px;max-width:400px;overflow:hidden;text-align:left;position:relative;display:flex;align-items:center;flex-wrap:wrap}@media only screen and (max-width: 896px){.quiz-hint .container{padding:10px 18px 12px 54px;margin:0 10px;font-size:14px}}.quiz-hint .container .text{word-break:break-word}.quiz-hint .container:before{content:"";position:absolute;left:15px;font-size:1.5rem;top:12px}.quiz-hint .container a{color:white;border-bottom:1px solid white}@-webkit-keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}.bubbles-date-group{position:relative}.bubbles-date-group .sticky_sentinel--top{height:.25rem;top:0}.bubble{padding-top:.25rem;max-width:min(calc(100% - 48px), 696px);position:relative;z-index:1;margin:0 auto}@media only screen and (max-width: 896px){.bubble{max-width:min(100%, 680px)}html.is-mac .bubble{-webkit-user-select:none;-webkit-touch-callout:none}}.bubble.is-selected:after{position:absolute;left:-50%;top:0;height:100%;content:" ";background-color:rgba(0,132,255,0.3);-webkit-animation:bubbleSelected 2s linear;animation:bubbleSelected 2s linear;z-index:1}.bubble.is-selected:not(.is-group-last):after{height:calc(100% + $bubble-margin)}@media only screen and (max-width: 896px){.bubble.is-first-unread{max-width:unset}}.bubble.is-first-unread:before{content:"Unread messages";height:30px;margin-bottom:.25rem;margin-left:-50%;text-align:center;color:#538BCC;line-height:2.1;font-weight:500;font-size:15px;background-color:rgba(255,255,255,0.95)}.bubble.is-selected:after,.bubble.is-first-unread:before{width:200%;display:block}.bubble.is-date{position:-webkit-sticky;position:sticky;top:.25rem;z-index:2;transition:opacity .3s ease;opacity:0.99999}.bubble.is-date.is-sticky{opacity:0.00001}#bubbles-inner:not(.is-scrolling) .bubble.is-date.is-sticky .bubble__container{cursor:default}.bubble.is-date .bubble__container{cursor:pointer}.bubble__container{min-width:56px;max-width:100%;border-radius:12px;box-shadow:0 1px 2px 0 rgba(16,35,47,0.15);position:relative;display:flex;flex-direction:column-reverse;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:2}@media only screen and (min-width: 897px){.bubble__container{max-width:85%}}@media only screen and (max-width: 896px){.bubble__container{max-width:calc(100% - 5.5625rem)}}.bubble__container>.user-avatar{position:absolute;left:-45px;width:40px;height:40px;line-height:40px;bottom:0;font-size:1rem;cursor:pointer}.bubble.service{padding:.25rem 0;max-width:696px}.bubble.service .bubble__container{margin:0 auto;max-width:100%}.bubble-beside-button{position:absolute;right:-46px;bottom:0;width:38px;height:38px;font-size:1.5rem;align-items:center;display:flex;justify-content:center;color:#fff;border-radius:50%;background:rgba(0,0,0,0.16);cursor:pointer}.bubble .forward svg{width:20px;height:20px}.bubble .message strong{font-weight:500 !important}.bubble.is-group-last{padding-bottom:.25rem}.bubble:not(.forwarded):not(.is-group-first) .bubble__container>.name{display:none}.bubble:not(.forwarded):not(.is-group-first):not(.is-message-empty):not(.is-reply) .message{padding-top:6px}.bubble:not(.is-group-last) .bubble__container>.user-avatar{display:none}.bubble:not(.hide-name) .audio{margin:4px 0}.bubble .reply{width:auto}.bubble .reply .reply-content{height:auto;min-height:32px}.bubble.photo .bubble__container,.bubble.video .bubble__container{width:-webkit-min-content;width:-moz-min-content;width:min-content}.bubble.photo .box.web,.bubble.video .box.web{max-width:100%}.bubble.webpage .time{float:none;width:0}.bubble .preview-resizer{display:flex}.bubble img.emoji{height:18px;width:18px;margin:0 .05rem;vertical-align:bottom}.bubble span.emoji{height:auto;width:auto;overflow:visible;vertical-align:unset}.bubble .thumbnail{position:absolute}.bubble.emoji-big{font-size:0}.bubble.emoji-big .bubble__container{background:none !important;box-shadow:none;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble.emoji-big:not(.sticker) .attachment{padding-top:.5rem;padding-bottom:1.5rem;max-height:-webkit-fit-content !important;max-height:-moz-fit-content !important;max-height:fit-content !important}.bubble.emoji-big:not(.sticker) .attachment span.emoji{height:auto;width:auto}.bubble.emoji-big.sticker .bubble__container{max-width:140px !important;max-height:140px !important}.bubble.emoji-1x .attachment{font-size:96px}.bubble.emoji-1x .attachment img.emoji{height:64px;width:64px}.bubble.emoji-2x .attachment{font-size:64px}.bubble.emoji-2x .attachment img.emoji{height:48px;width:48px}.bubble.emoji-3x .attachment{font-size:52px}.bubble.emoji-3x .attachment img.emoji{height:32px;width:32px}.bubble.sticker .bubble__container,.bubble.round .bubble__container,.bubble.emoji-big .bubble__container{cursor:pointer;background:none !important;box-shadow:none}.bubble.sticker img,.bubble.round img,.bubble.emoji-big img{-o-object-fit:contain;object-fit:contain}.bubble.sticker.is-message-empty .message,.bubble.round.is-message-empty .message,.bubble.emoji-big.is-message-empty .message{background-color:rgba(0,0,0,0.23)}.bubble.sticker .attachment{border-radius:0}.bubble.sticker .bubble__container{max-width:200px !important;max-height:200px !important}.bubble.round .attachment{max-width:200px !important;max-height:200px !important}.bubble.round .attachment img{border-radius:50%}.bubble:not(.is-message-empty) .attachment{border-bottom-left-radius:0;border-bottom-right-radius:0}.bubble:not(.emoji-big) .attachment{font-size:0}.bubble .attachment{max-width:100%;border-radius:inherit;overflow:hidden;display:flex;justify-content:center;position:relative}.bubble .attachment img,.bubble .attachment video{max-width:100%;cursor:pointer;opacity:1;transition:opacity .3s ease}.bubble .attachment .download{position:absolute;left:0;top:0;height:100%;width:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.bubble .attachment .download span{background-color:rgba(0,0,0,0.35);font-size:23px;color:#fff;text-align:center}.bubble .attachment .download ~ .video-play,.bubble .attachment .preloader-container ~ .video-play{display:none}.bubble:not(.sticker) .attachment{max-width:min(480px, 100%);max-height:min(480px, 100%);width:-webkit-max-content;width:-moz-max-content;width:max-content}.bubble img:not(.emoji),.bubble video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.bubble.is-album .attachment{max-width:min(451px, 100%);max-height:none}.bubble.is-album .attachment .album-item{background-color:#000;background-size:cover;max-width:100%;cursor:pointer;position:absolute;overflow:hidden}.bubble.is-album .attachment .album-item img,.bubble.is-album .attachment .album-item video{border-radius:inherit}.bubble.round .attachment{max-height:200px;max-width:200px}.bubble .box,.bubble .reply{font-size:.95rem;margin:4px 4px 4px 6px;padding:4px;margin-bottom:-5px;border-radius:4px}.bubble .box.web,.bubble .reply.web{margin-top:-6px;max-width:100%;overflow:hidden}.bubble .box.web .preview,.bubble .reply.web .preview{max-height:min(400px, 100%);max-width:min(480px, 100%);border-radius:4px;margin-bottom:3px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;position:relative;width:-webkit-max-content;width:-moz-max-content;width:max-content}.bubble .box.web .preview img,.bubble .box.web .preview video,.bubble .reply.web .preview img,.bubble .reply.web .preview video{max-width:100%}.bubble .box.web .title,.bubble .reply.web .title{letter-spacing:-0.2px;line-height:1.2;font-weight:500 !important}.bubble .box.web .name,.bubble .reply.web .name{letter-spacing:-0.3px;display:block}html.no-touch .bubble .box.web .name:hover,html.no-touch .bubble .reply.web .name:hover{text-decoration:underline}.bubble .box.web .text,.bubble .reply.web .text{overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:-0.3px;margin-top:2px;font-size:0.965rem}.bubble .box .quote,.bubble .reply .quote{padding-left:0.55rem;max-width:100%;overflow:hidden;width:100%}.bubble .box .text,.bubble .reply .text{line-height:1.2}.bubble .box .name,.bubble .box .reply-title,.bubble .reply .name,.bubble .reply .reply-title{font-weight:500 !important;display:inline !important}.bubble.is-square-photo .bubble__container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bubble.is-square-photo .box.web .quote{display:flex}.bubble.is-square-photo .box.web .preview-resizer{order:2;flex-shrink:0;max-width:5rem;max-height:5rem}.bubble.is-square-photo .box.web .preview-resizer .preview{max-width:min(5rem, 100%);max-height:min(5rem, 100%)}.bubble.is-square-photo .box.web .quote-text{order:1;padding-right:1rem}.bubble.is-vertical-photo .bubble__container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bubble .reply{max-width:300px;margin-bottom:6px;margin-top:0;cursor:pointer}.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:10px;border-radius:12px;border:1px solid #ccc;max-width:300px;height:54px;max-height:54px;white-space:nowrap;position:absolute;top:0;margin-bottom:0}@media only screen and (max-width: 896px){.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:8px 6px 8px 8px;max-width:94px}}.bubble.is-reply.emoji-big .reply .reply-content,.bubble.is-reply.sticker .reply .reply-content{margin-top:0}.bubble.is-reply .reply-content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bubble .message{font-size:16px;padding:0 .6rem 6px .6rem;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#000;line-height:21px;word-break:break-word}.bubble .message:last-child{padding-top:6px}.bubble .message .emoji{font-size:1.2rem}.bubble .message pre,.bubble .message code{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.bubble .message.audio-message{min-width:275px;max-width:275px !important;padding-top:8px !important;padding-left:8px !important}.bubble .message.audio-message .audio{justify-content:unset;max-width:none}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio{height:59px;padding-left:47px}}.bubble .message.audio-message .audio-time{padding-bottom:7px}.bubble .message.audio-message .audio-time,.bubble .message.audio-message .audio-subtitle{color:#4fae4e;line-height:1.45;margin-top:0}.bubble .message.audio-message .audio-title{font-weight:500;margin-left:-1px}.bubble .message.audio-message .audio-details{margin-top:8px}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio-details{margin-top:-1px}}.bubble .message.audio-message .audio-ico{font-size:2.15rem}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio-ico{margin-top:1px;margin-left:2px}}.bubble .message.audio-message .progress-line{width:191px;margin:9px 0 9px}@media only screen and (max-width: 896px){.bubble .message.audio-message .progress-line{width:unset}}.bubble .message.audio-message .progress-line__filled{background-color:#47aa41;transform-origin:left;height:2px}.bubble .message.audio-message .progress-line__seek{height:2px;overflow:visible !important;background:rgba(124,195,107,0.52)}.bubble .message.audio-message .progress-line__seek::-webkit-slider-thumb{height:12px;width:12px;background:#47aa41;border:none}.bubble .message.audio-message .tgico-largeplay:before{content:"";margin-right:-2px}.bubble .message.audio-message .time{width:unset}.bubble .message.contact-message{min-width:200px;padding-left:8px}.bubble .message.contact-message .contact{display:flex;padding:2px 0;cursor:pointer}.bubble .message.contact-message .contact-avatar{color:#fff}.bubble .message.contact-message .contact-details{padding-left:12px;margin-top:8px}.bubble .message.contact-message .contact-name{font-size:1rem;font-weight:500}.bubble .message.contact-message .contact-number{font-size:14px;line-height:1.4}.bubble .message.contact-message .time{width:unset}.bubble .message.document-message{max-width:325px !important}.bubble .message.document-message .time{width:unset}.bubble .message.document-message .document{padding-left:66px;height:58px}@media only screen and (max-width: 896px){.bubble .message.document-message .document{padding-left:44px}}.bubble .message.document-message .document-name{line-height:1.4;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.bubble.is-message-empty .message{position:absolute;bottom:.1rem;right:.2rem;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0 .2rem;z-index:2}.bubble.is-message-empty .message .time{color:#fff;padding:0;display:flex;align-items:center;width:auto !important}.bubble.is-message-empty .message .time .inner{margin-bottom:0;position:relative;padding:0 2.5px;bottom:0}.bubble .time{font-size:.8rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;float:right;user-select:none;height:20px;line-height:20px}.bubble .time .inner{position:absolute;bottom:0;right:0;font-size:12px;display:flex;align-items:center;line-height:1}.bubble .time .inner i{font-size:1.15rem;margin-right:.4rem}.bubble .time .inner i.edited{overflow:visible;font-size:.8rem}.bubble span.video-time{position:absolute;top:3px;left:3px;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 6px;z-index:2;font-size:12px;color:white;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble span.video-play{background-color:rgba(0,0,0,0.35);color:#fff;text-align:center;font-size:34px;line-height:60px;cursor:pointer}.bubble.is-edited.channel-post .time{min-width:calc(5rem + 46px)}.bubble.channel-post .time{width:5rem}.bubble.is-edited .time{width:78px !important}.bubble.is-edited.emoji-big .time,.bubble.is-edited.sticker .time{min-width:unset}.bubble:not(.forwarded).hide-name .name,.bubble.emoji-big .name{display:none}.bubble .name{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble__container>.name{padding:5px .6rem 0 .6rem;font-weight:500 !important;color:#50a2e9;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bubble:not(.webpage).photo .name,.bubble:not(.webpage).video .name{padding-bottom:6px}.bubble:not(.webpage).photo:not(.is-message-empty) .message,.bubble:not(.webpage).video:not(.is-message-empty) .message{padding-top:6px}.bubble:not(.webpage):not(.is-album):not(.sticker):not(.round):not(.emoji-big) .attachment,.bubble .album-item{background-color:#000}.bubble.hide-name:not(.is-reply):not(.is-message-empty) .message{padding-top:6px}.bubble:not(.sticker):not(.emoji-big).hide-name .reply,.bubble:not(.sticker):not(.emoji-big):not(.is-group-first) .reply,.bubble:not(.sticker):not(.emoji-big).is-out .reply{margin-top:6px}.bubble:not(.sticker):not(.emoji-big):not(.round).is-group-last .bubble__container:after{position:absolute;bottom:0;width:11px;height:20px;background-repeat:no-repeat no-repeat;content:'';background-size:11px 20px;background-position-y:1px}.bubble.photo.is-message-empty.is-group-last .bubble__container:after,.bubble.video.is-message-empty.is-group-last .bubble__container:after{display:none}.bubble.is-message-empty.is-group-last.with-media-tail .bubble__container:after{display:none}.bubble.is-message-empty.is-group-last.with-media-tail .attachment{overflow:visible}.bubble__media-container{cursor:pointer}.bubble.service{align-self:center}.bubble.service .service-msg{color:#fff;background-color:rgba(0,0,0,0.24);font-size:14px;padding:0 8px;line-height:24px;border-radius:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.bubble.service .service-msg .name{cursor:pointer;margin-right:5px}.bubble.service .service-msg img.emoji{margin-bottom:3px}.bubble-audio .time{width:unset !important;padding-left:14px !important}@media only screen and (max-width: 896px){.bubble-audio .time{padding-left:0px !important}}.bubble.is-in .bubble__container{margin-right:auto;background-color:#ffffff}.bubble.is-in .bubble__container,.bubble.is-in .bubble__container .poll-footer-button{border-radius:6px 12px 12px 6px}.bubble.is-in.is-group-first .bubble__container,.bubble.is-in.is-group-first .poll-footer-button{border-radius:12px 12px 12px 6px}.bubble.is-in.is-group-last .bubble__container,.bubble.is-in.is-group-last .poll-footer-button{border-radius:6px 12px 12px 0px}.bubble.is-in.is-group-last .bubble__container:after{left:-8.4px;background-image:url("assets/img/msg-tail-left.svg")}.bubble.is-in.is-group-first.is-group-last .bubble__container,.bubble.is-in.is-group-first.is-group-last .poll-footer-button{border-radius:12px 12px 12px 0px}.bubble.is-in.forwarded .attachment,.bubble.is-in.is-reply .attachment,.bubble.is-in:not(.hide-name).is-message-empty .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-in a{color:#50a2e9}html.no-touch .bubble.is-in .quote:hover{background-color:rgba(112,117,121,0.08)}.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 10px);background-color:#fff}@media only screen and (max-width: 896px){.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 1px)}}.bubble.is-in .quote{border-left:2px #50a2e9 solid}.bubble.is-in .quote *{overflow:hidden;text-overflow:ellipsis}.bubble.is-in .quote .name,.bubble.is-in .reply-title{color:#50a2e9}.bubble.is-in .time{color:#a3adb6;padding-left:36px}.bubble.is-in .time .inner{padding:0 7px 0 5px;margin-bottom:4px}.bubble.is-in.is-message-empty.is-group-last:not(.with-media-tail).photo .bubble__container,.bubble.is-in.is-message-empty.is-group-last:not(.with-media-tail).video .bubble__container{border-bottom-left-radius:6px}.bubble.is-in.is-message-empty.is-group-last.with-media-tail .attachment{border-bottom-left-radius:0}.bubble.is-in.is-message-empty.is-group-last.with-media-tail .bubble__media-container{margin-left:-9px}.bubble.is-in .audio-subtitle,.bubble.is-in .contact-number,.bubble.is-in .audio-time{color:#707579 !important}.bubble.is-in .message.audio-message .progress-line__seek{background:rgba(193,207,220,0.39)}.bubble.is-in .message.audio-message .progress-line__filled{background-color:#0089ff}.bubble.is-in .message.audio-message .progress-line__loaded{background-color:#cacaca}.bubble.is-in .message.audio-message .progress-line input::-webkit-slider-thumb{background:#63a2e3;border:none}.bubble.is-out .bubble__container{margin-left:auto;background-color:#eeffde}.bubble.is-out .bubble__container>.user-avatar{left:auto;right:-2.5rem}.bubble.is-out .bubble__container,.bubble.is-out .bubble__container .poll-footer-button{border-radius:12px 6px 6px 12px}.bubble.is-out.is-group-first .bubble__container,.bubble.is-out.is-group-first .poll-footer-button{border-radius:12px 12px 6px 12px}.bubble.is-out.is-group-last .bubble__container,.bubble.is-out.is-group-last .poll-footer-button{border-radius:12px 6px 0px 12px}.bubble.is-out.is-group-last .bubble__container:after{right:-8.4px;background-image:url("assets/img/msg-tail-right.svg")}.bubble.is-out.is-group-first.is-group-last .bubble__container,.bubble.is-out.is-group-first.is-group-last .poll-footer-button{border-radius:12px 12px 0px 12px}.bubble.is-out.forwarded .attachment,.bubble.is-out.is-reply .attachment{border-top-left-radius:0;border-top-right-radius:0}html.no-touch .bubble.is-out .quote:hover{background-color:rgba(77,205,94,0.12)}.bubble.is-out.is-reply.emoji-big .box,.bubble.is-out.is-reply.emoji-big .reply,.bubble.is-out.is-reply.sticker .box,.bubble.is-out.is-reply.sticker .reply{background-color:#eeffde;right:calc(100% + 10px);border-color:rgba(77,205,94,0.12)}.bubble.is-out .quote{border-left:2px #50af4f solid}.bubble.is-out .reply-border{background-color:#50af4f}.bubble.is-out .quote .name,.bubble.is-out .reply-title{color:#50af4f}.bubble.is-out .time{color:#50af4f;width:50px;display:inline-block}.bubble.is-out .time .inner{padding:0 4px 0 4px;bottom:1px}.bubble.is-out .time .tgico:after{font-size:19px;vertical-align:middle;margin-left:1px}.bubble.is-out.forwarded .name{color:#50af4f}.bubble.is-out.is-read .time .tgico:after{content:""}.bubble.is-out.is-sent .time .tgico:after{content:""}.bubble.is-out.is-sending .time .tgico:after{content:""}.bubble.is-out.is-reply .name{display:none}.bubble.is-out.is-edited .time{width:90px !important}.bubble.is-out .document-ico:after{border-top-color:#eeffde;border-right-color:#eeffde}.bubble.is-out .audio-waveform rect{fill:#B8DDA9}.bubble.is-out .audio-waveform rect.active{fill:#68AB5A}.bubble.is-out .audio-time,.bubble.is-out .audio-subtitle{color:#68AB5A}.bubble.is-out .audio-toggle,.bubble.is-out .audio-download{background-color:#4FAE4E}.bubble.is-out .audio-download:empty{display:none}.bubble.is-out.is-message-empty.is-group-last:not(.with-media-tail).photo .bubble__container,.bubble.is-out.is-message-empty.is-group-last:not(.with-media-tail).video .bubble__container{border-bottom-right-radius:6px}.bubble.is-out.is-message-empty.is-group-last.with-media-tail .attachment{border-bottom-right-radius:0}.bubble.is-out.is-message-empty.is-group-last.with-media-tail .bubble__media-container{margin-right:-9px}.bubble.is-out .audio-subtitle,.bubble.is-out .contact-number,.bubble.is-out .document-size{color:#4FAE4E}.bubble.is-out poll-element .poll-desc,.bubble.is-out poll-element .poll-votes-count{color:#50af4f}.bubble.is-out poll-element .poll-line use{stroke:#4fae4e}.bubble.is-out poll-element .poll-answer-selected{background-color:#4fae4e}html.no-touch .bubble.is-out poll-element .poll-answer:hover .animation-ring{background-color:rgba(79,174,78,0.08)}.bubble.is-out poll-element .poll-footer-button{color:#4fae4e}.bubble.is-out poll-element .progress-ring__circle{stroke:#4fae4e}.bubble.is-out.is-sending poll-element{pointer-events:none}.bubble.is-out .progress-line__loaded{background-color:#90e18d !important}.bubble.is-out .bubble-beside-button{right:auto;left:-46px;transform:scaleX(-1)}.reply-markup{position:absolute;width:100%}.reply-markup-row{margin-top:5px;overflow:hidden;height:40px;display:flex}.reply-markup-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.reply-markup-button{display:flex;justify-content:center;align-items:center;border-radius:6px;background-color:rgba(0,0,0,0.23);z-index:2;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;color:white !important;outline:none;border:none;width:100%;cursor:pointer;position:relative;transition:background-color 0.35s ease}html.no-touch .reply-markup-button:hover{background-color:rgba(0,0,0,0.06)}.reply-markup-button+.reply-markup-button{margin-left:5px}.reply-markup-button.is-link:before{content:"";position:absolute;right:2px;top:2px;display:block;transform:rotate(-45deg)}poll-element{margin-top:-1px;display:block;min-width:330px}@media only screen and (max-width: 896px){poll-element{min-width:240px}}poll-element:not(.is-closed):not(.is-voted) .poll-answer{cursor:pointer}poll-element .poll-title{font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){poll-element .poll-title{max-width:88%}}poll-element .poll-desc{font-size:14px;color:#707579;margin-top:2px;margin-bottom:7px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;position:relative}poll-element .poll-hint{position:absolute;font-size:1.5rem;top:-4px;right:2px;color:#50a2e9;cursor:pointer;transform:scale(1);transition:transform .2s ease}poll-element .poll-hint.active{transform:scale(0);pointer-events:none}poll-element .poll-send-vote{cursor:default}poll-element .poll-avatars{display:flex;margin-left:18px}poll-element .poll-answer{display:flex;position:relative;padding-bottom:20px;padding-left:28px;margin-top:1px}poll-element .poll-answer-text{margin-top:6px;margin-left:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}poll-element .poll-answer-percents{position:absolute;left:0;top:0;opacity:0;font-weight:500;margin-top:7px;font-size:14px;transition:.34s opacity;margin-left:-9px;text-align:right;width:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}poll-element .poll-answer-selected{position:absolute;bottom:1px;left:15px;color:#fff;background:#50a2e9;border-radius:50%;height:16px;width:16px;font-weight:bold;font-size:14px;line-height:1.4;opacity:0;-webkit-animation:fadeIn .1s ease forwards;animation:fadeIn .1s ease forwards;animation-direction:reverse;-webkit-animation-delay:.24s;animation-delay:.24s;text-align:center}poll-element .poll-answer-selected:before{content:"";font-weight:bold}html.no-touch poll-element .poll-answer:hover .animation-ring{visibility:visible;transform:scale(1)}poll-element .poll-answer.is-voting .progress-ring__circle{stroke-dashoffset:-19.792;-webkit-animation:pollAnswerRotate 0.65s linear infinite;animation:pollAnswerRotate 0.65s linear infinite}poll-element .poll-answer:not(.is-correct):not(.is-chosen) .poll-answer-selected{display:none}poll-element .poll-answer.is-chosing .poll-answer-selected{opacity:1}poll-element .poll-answer.is-chosing ~ .poll-footer .poll-send-vote{cursor:pointer}poll-element .poll-votes-count{color:#707579;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:1px}poll-element .poll-line{height:35px;position:absolute;left:10px;bottom:2px;transition:stroke-dashoffset .34s linear, stroke-dasharray .34s linear;stroke-dashoffset:0;stroke-dasharray:0, 485.9}poll-element .poll-line use{stroke-width:4px;stroke-linecap:round;stroke:#50a2e9;fill:none}poll-element .poll-footer{text-align:center;margin-top:7px;height:21px}poll-element .poll-footer-button{cursor:pointer;position:absolute;left:0;margin-top:-7px;width:100%;height:41px;color:#50a2e9;font-weight:500;border-top-left-radius:0 !important;border-top-right-radius:0 !important;font-size:1rem;line-height:37px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}poll-element .poll-quiz-timer{width:32px;height:32px;stroke:#a3adb6;transform:rotate(270deg);top:-7px;fill:none;position:absolute;right:-2px;stroke-linecap:round}poll-element .poll-time{font-size:12px;font-weight:500;position:absolute;right:27px;color:#a3adb6}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) use{stroke:#DF3F40}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) .poll-answer-selected{background:#DF3F40}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) .poll-answer-selected:before{content:"";font-size:12px}poll-element avatar-element{width:18px;height:18px;border:1px solid #fff;line-height:20px;font-size:10px;cursor:pointer}poll-element+.time{height:unset !important;padding-top:0px !important;padding-bottom:7px !important}poll-element .circle-hover{display:flex;justify-content:center;align-items:center;width:34px;height:34px;position:absolute;left:-1px;top:-1px;transform:scale(1);transition:.1s transform}poll-element .circle-hover .poll-answer-selected{display:flex !important;opacity:0;left:50%;top:50%;transform:translate(-50%, -50%);width:20px;height:20px;font-size:20px;line-height:16px;-webkit-animation:none;animation:none;transition:opacity .2s ease}poll-element .animation-ring{display:block;border-radius:50%;height:34px;width:34px;transition:transform 0.12s;background-color:#f4f4f4;transform:scale(0.1);visibility:hidden}poll-element .progress-ring{height:26px;width:26px;top:unset;left:unset}poll-element .progress-ring__circle{transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 0.15s;stroke-dasharray:56.5487, 56.5487;stroke-dashoffset:0;stroke-opacity:1;stroke-width:2;stroke:#dadbdc;fill:transparent}poll-element.is-voted .circle-hover,poll-element.is-voted .animation-ring{transform:scale(0)}poll-element.is-voted .poll-answer-percents{opacity:1}poll-element.is-voted .poll-answer-selected{-webkit-animation-direction:normal;animation-direction:normal}poll-element.is-retracting .circle-hover{transition-delay:.24s}poll-element.is-retracting .animation-ring{transition-delay:.22s}@-webkit-keyframes pollAnswerRotate{to{transform:rotate(270deg)}}@keyframes pollAnswerRotate{to{transform:rotate(270deg)}}.sidebar{background-color:#fff}.sidebar-header{background-color:#fff;display:flex;align-items:center;justify-content:space-between;padding:7.5px 16px;min-height:56px;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}@media only screen and (max-width: 896px){.sidebar-header{padding:7.5px 8px}}.sidebar-header__title{flex:1;font-weight:500;padding-left:22px;font-size:20px}@media only screen and (max-width: 896px){.sidebar-header__title{padding-left:24px}}.sidebar-header .btn-icon+.btn-icon{margin-left:.5rem}.sidebar-close-button{padding-left:10px}.sidebar-content{width:100%;max-height:100%;height:100%;overflow:hidden;display:flex;position:relative;flex:1 1 auto}.sidebar-content>div{width:100%}#column-left{flex-direction:column}#column-left .folders-tabs-scrollable{z-index:1;background-color:#fff;border-bottom:1px solid #dadce0}#column-left .folders-tabs-scrollable .scrollable{position:relative}#column-left .folders-tabs-scrollable .menu-horizontal{border-bottom:none}#column-left .folders-tabs-scrollable .menu-horizontal ul{justify-content:space-between;z-index:0}#column-left .folders-tabs-scrollable .menu-horizontal li{height:43px;padding:0 16px;display:flex;justify-content:center;align-items:center}#column-left .folders-tabs-scrollable .menu-horizontal li>span:first-child{overflow:visible}#column-left .folders-tabs-scrollable .menu-horizontal li>span:first-child i{bottom:calc(-.625rem - -2px);padding-right:1rem !important;margin-left:-.5rem !important}#column-left .folders-tabs-scrollable .menu-horizontal__stripe{display:none}#column-left .folders-tabs-scrollable span.unread-count{margin-left:5px;background:#50a2e9;height:20px;border-radius:12px;font-weight:500;color:white;line-height:22px;min-width:20px;padding:0 6px}#column-left .folders-tabs-scrollable span.unread-count:empty{display:none}#column-left .folders-tabs-scrollable:not(.hide)+.scrollable{top:44px;height:calc(100% - 44px)}#column-left #chats-container{max-height:100%;overflow:hidden;position:relative}#column-left #folders-container{min-height:100%}#column-left .sidebar-slider{height:100%}#column-left .sidebar-header__btn-container{position:relative;width:39.75px;height:39px}#column-left .sidebar-header__btn-container>*{visibility:hidden;opacity:0;position:absolute;left:0;top:0;transition:.2s opacity;z-index:2}#column-left .sidebar-header__btn-container>*:before{transition:.2s transform;transform:rotate(180deg)}#column-left .sidebar-header__btn-container>*+*{margin-left:0 !important}#column-left .sidebar-header__btn-container>*.active{opacity:1;visibility:visible;color:#707579}#column-left .sidebar-header__btn-container>*.active:before{transform:rotate(0deg)}@media only screen and (max-width: 896px){#column-left .sidebar-header__btn-container .btn-menu{margin-top:-4px}}#column-left .sidebar-tools-button .btn-menu{width:217px}#column-left .sidebar-tools-button .btn-menu .archived-count{border-radius:12px;min-width:24px;padding:0 8px;height:24px;text-align:center;line-height:24px;color:#fff;font-weight:500;background-color:#c5c9cc;justify-self:flex-end;position:absolute;right:16px}@media only screen and (max-width: 896px){#column-left .sidebar-tools-button .btn-menu .archived-count{font-size:14px;font-weight:600}}#column-left .sidebar-tools-button .btn-menu .archived-count:empty{display:none}#column-left .search-group-people ul{display:flex;flex-direction:row;padding-left:4px;margin-top:-1px;padding-bottom:1px}#column-left .search-group-people li{margin-right:5px;padding:0}#column-left .search-group-people .rp{height:98px;max-height:98px;border-radius:10px;max-width:78px;width:78px;align-items:center;position:relative;display:flex;flex-direction:column;cursor:pointer;padding:12px 0 0 !important;overflow:hidden;margin:0}@media only screen and (max-width: 896px){#column-left .search-group-people .rp{width:77px;max-width:77px}}#column-left .search-group-people .dialog-avatar{width:54px;height:54px}#column-left .search-group-people .user-caption{max-width:65px;padding:2px 0px 9px;font-size:12px}@media only screen and (max-width: 896px){#column-left .search-group-people .user-caption{max-width:56px}}#column-left .search-group-people .user-title{max-width:unset}#column-left .search-group-people .search-group-scrollable{position:relative}@media only screen and (max-width: 896px){#column-left .search-group-people .search-group-scrollable{margin-left:-7px;margin-top:4px}}#column-left .search-group-people .search-group-scrollable>.scrollable{position:relative}#column-left .item-main .sidebar-content .btn-menu{bottom:calc(100% + 10px)}#column-left .item-main .sidebar-content .btn-corner.menu-open:before{content:""}@media only screen and (max-width: 896px){#column-left .item-main .sidebar-content .btn-corner{transform:translateY(0px);position:fixed !important}}@media only screen and (max-width: 896px){#column-left .item-main .sidebar-content .btn-menu-toggle{width:54px;height:54px;bottom:14px;right:14px}}@media only screen and (min-width: 897px){html.no-touch #column-left .item-main .sidebar-content:hover .btn-corner{transform:translateY(0px)}}#search-container{transition:150ms ease-in-out opacity,150ms ease-in-out transform;transform:scale(1.1, 1.1);opacity:0;display:flex}#search-container.active{transform:scale(1, 1);transform-origin:center;opacity:1}.new-channel-container .sidebar-content,.new-group-container .sidebar-content,.edit-profile-container .sidebar-content{flex-direction:column}.new-channel-container .avatar-edit,.new-group-container .avatar-edit,.edit-profile-container .avatar-edit{width:120px;height:120px;margin:1px auto 32px;flex:0 0 auto}.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}@media only screen and (max-width: 896px){.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:100%;padding:0 16px}}.new-channel-container .chats-container,.new-group-container .chats-container,.edit-profile-container .chats-container{flex:1 1 auto}.new-channel-container .caption,.new-group-container .caption,.edit-profile-container .caption{font-size:0.875rem;margin-top:14px;margin-left:23px;color:#707579;padding-right:24px}.edit-folder-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}.new-group-members{padding:1.5rem 0 0.4375rem}.new-group-members .search-group__name{text-transform:capitalize}.settings-container .profile-button{display:flex;padding:1.125rem 0.625rem;height:3.5rem;line-height:1.4;border-radius:0.625rem;margin:0px 0.5rem 0px 0.4375rem}@media only screen and (max-width: 896px){.settings-container .profile-button{padding:0.75rem 0.625rem;height:48px;margin:0 0 2px 0;border-radius:0}}html.no-touch .settings-container .profile-button:hover{background:rgba(112,117,121,0.08);cursor:pointer}.settings-container .profile-button:before{font-size:24px;color:#707579;margin-left:0.375rem;margin-top:-0.0625rem}.settings-container .profile-button p{padding-left:2rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.settings-container .profile-buttons{margin-top:.9375rem;width:100%}@media only screen and (max-width: 896px){.settings-container .profile-buttons{margin-top:0.6875rem}}.edit-profile-container .caption{margin-top:1.063rem;margin-left:1.438rem;line-height:1.2;padding-bottom:1.438rem}@media only screen and (max-width: 896px){.edit-profile-container .caption{padding-right:24px}}.edit-profile-container .sidebar-left-h2{color:#707579;padding:0 1.438rem;padding-bottom:1.5rem;font-weight:500}.edit-profile-container hr{margin-bottom:1.5rem}.edit-profile-container .scroll-wrapper{width:100%}.chat-folders-container,.edit-folder-container{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chat-folders-container .sticker-container,.edit-folder-container .sticker-container{width:86px;height:86px;margin:1px auto 29px;flex:0 0 auto}.chat-folders-container .caption,.edit-folder-container .caption{text-align:center;color:#707579;font-size:14px;line-height:1.3}.chat-folders-container .sidebar-left-h2,.edit-folder-container .sidebar-left-h2{color:#707579;font-size:15px;padding:7px 24px 15px 24px;font-weight:500}@media only screen and (max-width: 896px){.chat-folders-container .sidebar-left-h2,.edit-folder-container .sidebar-left-h2{padding:7px 16px 15px 16px}}.chat-folders-container .btn-primary{width:160px;height:40px;align-items:center;margin:15px auto 24px;border-radius:30px;padding:0 12px;display:flex}.chat-folders-container .tgico-add:before{content:"\e903";font-size:24px;margin-right:6px}.chat-folders-container .category{padding:7px 24px 11px 24px;display:flex;justify-content:space-between;cursor:pointer;position:relative;margin-bottom:10px}@media only screen and (max-width: 896px){.chat-folders-container .category{padding:7px 16px 11px 16px}}.chat-folders-container .category p{height:unset}.chat-folders-container .category p:last-child{color:#707579;font-size:14px;line-height:20px}.chat-folders-container .category .btn-primary{height:30px;font-size:15px;width:52px;transition:width 0.2s;margin:5px 0 0 0}.edit-folder-container .caption{margin-bottom:18px}@media only screen and (max-width: 896px){.edit-folder-container .input-wrapper{width:100%;padding:0 16px}.edit-folder-container .input-field input{height:50px}}.edit-folder-container .sidebar-left-h2{padding:21px 24px 8px 24px}@media only screen and (max-width: 896px){.edit-folder-container .sidebar-left-h2{width:100%;padding:21px 16px 8px 16px}}.edit-folder-container .input-wrapper{margin-bottom:10px}.folder-list li{padding-bottom:2px}.folder-list li .rp{padding:8px 11px !important;height:48px !important}@media only screen and (max-width: 896px){.folder-list li .rp{padding:8px 12px !important}}.folder-list avatar-element{height:32px;width:32px}.folder-list .user-caption{padding:6px 28px}.folder-list p span{font-weight:normal}.folder-categories{width:100%}.folder-categories .checkbox{margin-top:-9px !important;right:0;position:absolute}.folder-categories .checkbox [type="checkbox"]+span{padding-left:46px}@media only screen and (max-width: 896px){.folder-categories .checkbox [type="checkbox"]+span{padding-left:38px}}.folder-categories .checkbox [type="checkbox"]:checked+span:before{top:5px;left:0px}.folder-category-button{display:flex;font-size:1.5rem;padding:13px 24px 10px 24px}@media only screen and (max-width: 896px){.folder-category-button{padding:13px 16px 10px 16px}}.folder-category-button p{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:32px;font-size:16px;flex:1 1 auto}.folder-category-button.blue,.folder-category-button.blue:before{color:#50a2e9}.folder-category-button:first-child{cursor:pointer}.folder-category-button:before{color:#797d82}.sidebar-header .tgico-check1{color:#50a2e9}.included-chats-container .sidebar-left-h2{color:#707579;font-size:15px;font-weight:500;padding:6px 24px 8px 24px}@media only screen and (max-width: 896px){.included-chats-container .sidebar-left-h2{padding:6px 16px 8px 16px}}.included-chats-container .selector ul li>.rp{margin:0 8px !important;padding:7px 12px !important;height:62px}@media only screen and (max-width: 896px){.included-chats-container .selector ul li>.rp{margin:0 !important}}.included-chats-container .selector ul .dialog-avatar{width:46px;height:46px}.included-chats-container .selector ul span.user-title{font-weight:500}.included-chats-container .selector ul .user-caption{padding:0px 0px 0 14px;margin-top:-2px}.included-chats-container .selector ul span.user-last-message{font-size:15px;margin-top:2px}.included-chats-container .selector ul .checkbox{margin-top:10px}.included-chats-container .selector ul [type="checkbox"]+span{padding-left:26px}.included-chats-container .checkbox [type="checkbox"]+span:after{border-radius:50%;height:20px;width:20px;border-color:#dadbdc}.included-chats-container .checkbox [type="checkbox"]:checked+span:after{background-color:#4EA4F6;border:none}.included-chats-container .folder-category-button{cursor:pointer}.search-group-recent .search-group__name{display:flex;justify-content:space-between;align-items:center}@media only screen and (max-width: 896px){.search-group-recent li{padding-top:0}}.search-group-recent .btn-icon{font-size:22px}@media only screen and (max-width: 896px){.search-group-recent .user-caption{margin-top:-2px}}@media only screen and (max-width: 896px){.search-group-recent p span.user-title{font-weight:500}}@media only screen and (max-width: 896px){.search-group-recent .dialog-avatar{width:46px;height:46px}}@media only screen and (max-width: 896px){.search-group-recent li>.rp{height:62px}}@media only screen and (max-width: 896px){.search-group-recent.search-group.search-group-contacts ul{margin-top:-2px}}@media only screen and (max-width: 896px){.search-group.search-group-contacts ul,.search-group.search-group-messages ul{margin-top:7px}}@media only screen and (max-width: 896px){.search-group.search-group-messages{margin-top:-6px}}@media only screen and (min-width: 897px){.search-group-recent.search-group.search-group-contacts{padding:0px 0 7px}}#column-right{position:relative}@media only screen and (min-width: 897px){#column-right{width:0%;transition:.2s ease-in-out}#column-right .sidebar-content{min-width:25vw}}@media only screen and (min-width: 897px) and (min-width: 1681px){#column-right .sidebar-content{min-width:calc(1680px / 4 - 1px) !important}}@media only screen and (min-width: 897px){#column-right:not(.active){border-left-width:0}#column-right.active{width:25%}}#column-right .sidebar-header{flex:0 0 auto}#column-right .sidebar-header .sidebar-close-button:before{content:""}@media only screen and (min-width: 897px){#column-right .sidebar-header .sidebar-close-button:before{content:""}}#column-right #search-private-container .chats-container{position:relative;flex:1 1 auto}#column-right #forward-container{z-index:5}#column-right .sidebar-search{display:none}#column-right .sidebar-search.active{display:flex}.profile-content{flex:0 0 auto;display:flex;flex-direction:column;position:relative;width:100%}.profile-content [type="checkbox"]+span{padding-left:54px;margin-left:-54px}.profile-content-wrapper{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:13px}@media only screen and (min-width: 897px){.profile-content-wrapper{margin-top:15px}}.profile-content .content-container{width:100%;max-width:100%;position:absolute;top:100%;min-height:calc((1vh * 100) - 100% - 60px);min-height:calc((var(--vh, 1vh) * 100) - 100% - 60px);display:flex;flex-direction:column}.profile-container>.scrollable{display:flex;flex-direction:column;transform:none}.profile-name{text-align:center;font-size:20px;line-height:1.4;font-weight:500;text-overflow:ellipsis;overflow:hidden;word-break:break-word;max-width:340px;margin:0 auto}.profile-name span.emoji{vertical-align:inherit;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.profile-subtitle{text-align:center;color:#707579;font-size:14px;margin-bottom:2px;margin-top:1px}@media only screen and (max-width: 896px){.profile-subtitle{margin-top:3px}}.profile-subtitle.online{color:#50a2e9}.profile-row{display:flex;width:100%;flex-direction:column;padding-left:80px;padding-right:12px;position:relative;margin-top:27px;margin-bottom:1px;line-height:1.4}@media only screen and (max-width: 896px){.profile-row{padding-left:71px}}.profile-row:before{position:absolute;left:24px;font-size:24px;color:#707579}@media only screen and (max-width: 896px){.profile-row:before{left:15px}}.profile-row p{color:#000;margin:0;font-size:1rem;text-overflow:ellipsis;overflow:hidden;word-break:break-word}.profile-row-bio .emoji{width:24px;height:24px}.profile-row-label{color:#707579 !important;font-size:14px !important;line-height:1.6}@media only screen and (max-width: 896px){.profile-row-label{line-height:1.6}}.profile-row-notifications{margin-top:26px;line-height:1.3}.profile-avatar{width:120px;height:120px;margin:1px auto 10px;font-size:2.5rem !important}@media only screen and (max-width: 896px){.profile-avatar{margin:0 auto 10px;width:100px;height:100px}}.profile-avatar.tgico-avatar_deletedaccount{font-size:6rem}.profile-name,.profile-subtitle,.profile-row,.profile-avatar{flex:0 0 auto}.profile-tabs{position:-webkit-sticky !important;position:sticky !important;top:0;z-index:2;background-color:#fff}.profile-tabs i{padding-right:1.5rem !important;margin-left:-.75rem !important}.profile-tabs-content{min-height:calc(100% - 49px);grid-template-rows:100%;flex:1 1 auto}.profile-tabs-content>div{position:relative}.profile-tabs-content .preloader{padding:0;position:absolute !important;height:100%}.profile-tabs-content .preloader>svg{height:50px;width:50px}.profile-tabs-content #content-media{width:100%;padding:7.5px;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;grid-gap:3.5px}@media only screen and (max-width: 896px){.profile-tabs-content #content-media{padding:7.5px 7.5px 7.5px 6.5px}}.profile-tabs-content #content-media .media-item{height:0;padding-bottom:100%;overflow:hidden;position:relative;cursor:pointer}.profile-tabs-content #content-media .video-time{position:absolute;left:5px;top:4px;height:18px;border-radius:4px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 5px;z-index:1;font-size:12px;color:white}.profile-tabs-content #content-media .media-image{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:1;transition:opacity .2s ease}html:not(.is-mac) .profile-tabs-content #content-media .media-image.thumbnail{-webkit-filter:blur(7px);filter:blur(7px)}.profile-tabs-content #content-docs{padding:7px 20px}.profile-tabs-content #content-docs .document{padding-left:4rem;padding-right:1rem;height:calc(50px + 1.5rem)}.profile-tabs-content #content-docs .document-ico,.profile-tabs-content #content-docs .document-download{width:48px;height:48px}.profile-tabs-content #content-docs .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-links{padding:0 30px 15px 15px}.profile-tabs-content #content-links>div{display:flex;flex-direction:column;margin-top:20px;margin-left:5px;padding-bottom:2px;position:relative;padding-left:60px;overflow:hidden;min-height:58px}.profile-tabs-content #content-links>div .preview{height:48px;width:48px;border-radius:5px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.profile-tabs-content #content-links>div .preview.empty{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-transform:uppercase;background-color:#50a2e9}.profile-tabs-content #content-links>div .url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-tabs-content #content-links .title{font-size:16px;margin-top:3px}.profile-tabs-content #content-links .subtitle{font-size:14px}.profile-tabs-content #content-audio{padding:20px 15px 15px 20px}.profile-tabs-content #content-audio>div{min-height:60px}.profile-tabs-content #content-audio .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}@media only screen and (max-width: 896px){.profile-tabs-content #content-audio .preloader-container{width:40px;height:40px;top:9px;left:2px}}@media only screen and (min-width: 897px){.profile-tabs-content #content-audio .preloader-container{width:38px;height:38px}}.profile-tabs-content #content-audio .audio{padding-bottom:26px;padding-left:61px;max-width:368px;justify-content:unset}.profile-tabs-content #content-audio .audio-details{height:66px}.profile-tabs-content #content-audio .audio.audio-show-progress .audio-subtitle{overflow:visible}.profile-tabs-content #content-audio .audio-ico{width:48px;height:48px}.profile-tabs-content #content-audio .audio-ico.tgico-largeplay:before{margin-right:-1px}.profile-tabs-content #content-audio .audio-download{border-radius:50%;background-color:#50a2e9;align-items:center}@media only screen and (min-width: 897px){.profile-tabs-content #content-audio .audio-download{width:48px;height:48px}}.profile-tabs-content #content-audio .audio-toggle,.profile-tabs-content #content-audio .audio-download{font-size:1.9rem}.profile-tabs-content #content-audio .audio-title{font-size:1rem;color:#000;line-height:1.2;padding-top:5px;margin-top:0;margin-left:-1px}.profile-tabs-content #content-audio .audio-subtitle{font-size:14px;line-height:1.25;color:#707579;margin-left:-1px;margin-top:3px}.profile-tabs-content #content-audio .audio-time{margin-top:1px}.profile-tabs-content #content-audio .audio-title,.profile-tabs-content #content-audio .audio-subtitle{overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-audio .progress-line{margin:11px 0 8px}.profile-tabs-content #content-audio .progress-line__filled{background-color:#0089ff;transform-origin:left;height:2px}.profile-tabs-content #content-audio .progress-line__loaded{background-color:#cacaca}.profile-tabs-content #content-audio .progress-line__seek{height:2px;background:rgba(193,207,220,0.39)}.profile-tabs-content #content-audio .progress-line__seek::-webkit-slider-thumb{height:12px;width:12px;border:none}#stickers-container .sticker-sets{display:flex;flex-direction:column;margin-top:16px}#stickers-container .sticker-set{display:flex;flex-direction:column;height:140px;cursor:pointer}#stickers-container .sticker-set-name{font-weight:500}#stickers-container .sticker-set-count{font-size:14px;color:#707579}#stickers-container .sticker-set-header{display:flex;padding-left:16px;padding-bottom:12px;justify-content:space-between}#stickers-container .sticker-set-button{height:30px;padding-left:12px;padding-right:13px;margin-right:16px;font-size:15px;border-radius:16px;font-weight:400;width:52px;transition:width 0.2s}#stickers-container .sticker-set-button.gray{background:#F1F3F4;color:#707579;width:68px}#stickers-container .sticker-set-stickers{display:flex;justify-content:space-around}#stickers-container .sticker-set-sticker{width:68px;height:68px}#stickers-container .sticker-set-sticker:hover{border-radius:12px;background-color:rgba(112,117,121,0.08)}#stickers-container .sticker-set-sticker img{max-width:100%;max-height:100%}#poll-results-container .poll-results{display:flex;flex-direction:column;position:relative;width:100%}#poll-results-container .poll-results-answer{color:#707579;padding:0 16px 8px 16px;margin:0;padding-bottom:8px;font-weight:500;justify-content:space-between;display:flex;font-size:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (min-width: 897px){#poll-results-container .poll-results-answer{padding:0 24px 8px 24px}}#poll-results-container .poll-results-more{padding-top:13px;padding-bottom:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}@media only screen and (min-width: 897px){#poll-results-container .poll-results-more{padding-left:8px}}#poll-results-container .poll-results-more .tgico-down{float:left;padding-right:32px;padding-left:16.5px;font-size:24px;color:#707579}#poll-results-container .poll-results h3{padding:0 16px;margin-top:15px;font-size:20px;margin-bottom:16px}@media only screen and (min-width: 897px){#poll-results-container .poll-results h3{padding:0 24px}}#poll-results-container .poll-results hr{margin-bottom:15px;margin-top:7px}#poll-results-container .poll-results avatar-element{width:32px;height:32px}#poll-results-container .poll-results .user-caption{padding:6px 28px}#poll-results-container .poll-results .user-title{font-weight:normal}#poll-results-container .poll-results li{padding-bottom:2px}#poll-results-container .poll-results li>.rp{padding:8px 5px;height:48px}@media only screen and (min-width: 897px){#poll-results-container .poll-results li>.rp{padding:8px 12px}}.media-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 896px){.media-viewer{background:#000}}.media-viewer-author{position:absolute;top:0;left:0;height:60px;padding:8px 8px 8px 80px;display:flex;flex-direction:column;justify-content:center;color:#8b8b8b;transition:.2s}html.no-touch .media-viewer-author:hover{color:#fff}.media-viewer-userpic{width:44px;height:44px;position:absolute;top:8px;left:20px}@media only screen and (max-width: 896px){.media-viewer-userpic{display:none}}.media-viewer-name{font-weight:500}.media-viewer-date{font-size:15px}.media-viewer-buttons{position:absolute;top:0;right:0;display:flex;flex-flow:row nowrap;padding:8px}.media-viewer-buttons .btn-icon{margin:0 .25rem;transition:.2s}html.no-touch .media-viewer-buttons .btn-icon:hover{color:#fff}@media only screen and (max-width: 896px){.media-viewer-buttons{display:none}}.media-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;max-height:100%;max-width:100%;overflow:hidden}.media-viewer-stub{flex:1}.media-viewer-container{align-self:center;position:relative;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto;display:flex;align-items:center}.media-viewer-media{visibility:hidden}.media-viewer-caption{flex:1;text-align:center;color:#707579;transition:.2s;max-width:50vw;word-break:break-word;overflow:hidden;text-overflow:ellipsis}html.no-touch .media-viewer-caption:hover{color:#fff}.media-viewer-switcher{position:absolute;left:0;top:60px;width:7rem;height:calc(100% - 120px);cursor:pointer;z-index:5}html.no-touch .media-viewer-switcher{height:calc(100% - 60px)}html.no-touch .media-viewer-switcher:hover>span{opacity:1}@media only screen and (max-width: 896px){.media-viewer-switcher{width:4rem}}.media-viewer-switcher-right{left:auto;right:0}.media-viewer-prev-button,.media-viewer-next-button{cursor:pointer;position:absolute;color:#fff;font-size:2rem;left:1rem;top:50%;transform:translateY(-50%) rotate(90deg);opacity:0;transition:.2s opacity;z-index:5}@media only screen and (min-width: 897px){.media-viewer-prev-button,.media-viewer-next-button{font-size:3rem;left:2rem}}.media-viewer-next-button{left:auto;right:1rem;transform:translateY(-50%) rotate(-90deg)}@media only screen and (min-width: 897px){.media-viewer-next-button{right:2rem}}.media-viewer-mover{position:fixed !important;z-index:4;display:flex;justify-content:center;align-items:center;min-height:auto !important;left:0;top:0;transform-origin:top left;overflow:hidden;max-width:calc(100% - 16px);max-height:calc(100% - 100px)}@media only screen and (max-width: 896px){.media-viewer-mover{overflow:visible;max-width:100% !important}}.media-viewer-mover .ckin__player{width:100%;height:100%;position:absolute;left:0;top:0}.media-viewer-mover>svg{width:100%;height:100%}.media-viewer-mover img,.media-viewer-mover video{width:100%;height:100%;max-width:100%;max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:cover;object-fit:cover;opacity:1;position:absolute}.media-viewer-mover svg img,.media-viewer-mover svg video{position:unset}.media-viewer-mover.active{transition:.2s transform}.media-viewer-mover.moving{transition:.35s transform ease}.media-viewer-mover.no-transition{transition:none !important}.media-viewer-mover.center{left:50% !important;top:50% !important;transform:translate(-50%, -50%) !important}@media only screen and (max-width: 896px){.media-viewer-mover.center{width:100% !important;height:100% !important}.media-viewer-mover.center .ckin__player:not(.ckin__fullscreen) .default__controls{bottom:-50px}.media-viewer-mover.center .ckin__player:not(.ckin__fullscreen) .default__gradient-bottom{bottom:-50px}}.media-viewer-mover.center img:not(.thumbnail),.media-viewer-mover.center video{height:auto;width:auto;-o-object-fit:contain;object-fit:contain}.media-viewer-mover.center img.thumbnail{width:auto;-o-object-fit:contain;object-fit:contain}.media-viewer-mover.hiding img,.media-viewer-mover.hiding video{transition:.2s opacity;opacity:0}.media-viewer-aspecter{width:100%;height:100%;transform:scale(1);position:absolute;display:flex;align-items:center;justify-content:center}.media-viewer-mover.active .media-viewer-aspecter{transition:.2s all}.media-viewer-whole{top:0;left:0;width:100%;height:100%;position:fixed !important;display:block;z-index:4;visibility:hidden;transition:visibility 0s .2s}.media-viewer-whole.active{visibility:visible;transition-delay:0s}.media-viewer-whole.active .overlays,.media-viewer-whole.active>.btn-icon{opacity:1;visibility:visible;transition:opacity .2s 0s,visibility 0s 0s}@media only screen and (max-width: 896px){.media-viewer-whole .menu-mobile-close{left:20px}.media-viewer-whole>.btn-icon{top:8px;position:fixed;z-index:5;opacity:0;transition:opacity .2s 0s,visibility 0s .2s}.media-viewer-whole .btn-menu-toggle{right:8px}.media-viewer-whole .btn-menu-toggle.menu-open{color:#fff;background-color:rgba(112,117,121,0.2) !important}}.media-viewer-whole.highlight-switchers .media-viewer-switcher>span{opacity:1}.media-viewer-switchers{position:relative;width:1680px;max-width:100%;height:100%;margin:0 auto}.overlays{top:0;left:0;width:100%;height:100%;position:fixed !important;background-color:rgba(0,0,0,0.2);z-index:4;opacity:0;visibility:hidden;transition:opacity .2s 0s,visibility 0s .2s}.ckin__player{letter-spacing:0.02em}.ckin__player.ckin__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important;display:flex}.ckin__player.ckin__fullscreen video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ckin__overlay{position:relative}.ckin__overlay:before{background:radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.5) 100%)}.ckin__overlay--2:before{background:rgba(24,24,24,0.8)}.default{border:0 solid rgba(0,0,0,0.2);box-shadow:0 0 20px rgba(0,0,0,0.2);position:relative;font-size:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.default:before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;transition:opacity .2s;opacity:1;visibility:visible}.default__title{position:absolute;left:20px;top:20px;z-index:1;font-size:24px;color:rgba(255,255,255,0.8);font-style:italic}.default__button{background:none;border:0;color:#fff;outline:0;padding:3px 10px 6px 10px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center}.default__button i{align-self:center}.default__button--big{background:none;border:0;line-height:1;color:#fff;text-align:center;outline:0;padding:0;cursor:pointer;position:absolute;opacity:1;visibility:visible;top:50%;left:50%;transform:translate(-50%, -50%) scale(1);font-size:64px;transition:all .2s;touch-action:manipulation}.default__slider{width:10px;height:30px}.default__controls{position:absolute;bottom:0;right:0;left:0;transition:all .3s;text-align:left;direction:ltr;border-radius:0 0 5px 5px;z-index:6}.default__controls .progress-line{margin:0 16px;height:5px;background:rgba(255,255,255,0.38);border-radius:4px;overflow:visible}.default__controls .progress-line__filled{background:#63a2e3;transform-origin:left;border-radius:4px;height:5px;transform:scaleX(0)}.default__controls .progress-line__loaded{background:rgba(255,255,255,0.38);left:11px;width:calc(100% - 11px)}.default__gradient-bottom{height:49px;padding-top:93px;bottom:0;z-index:2;background-position:bottom;width:100%;position:absolute;background-repeat:repeat-x;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);transition:all .3s;pointer-events:none}.default .toggle:before{content:""}.default.is-playing .default__gradient-bottom{transform:translateY(50px)}html.no-touch .default.is-playing:hover .default__gradient-bottom,.default.is-playing.show-controls .default__gradient-bottom{transform:translateY(0px)}html.no-touch .default.is-playing:hover .default__controls,.default.is-playing.show-controls .default__controls{transform:translateY(0)}.default.is-playing:before{opacity:0;visibility:hidden;transform:translate(-50%, -50%) scale(1.3)}.default.is-playing .default__button--big{opacity:0;visibility:hidden}.default.is-playing .default__controls{transform:translateY(52px)}.default.is-playing .toggle:before{content:""}.default .player-volume{margin:-3px 2px 0 10px;display:flex;align-items:center}@media only screen and (max-width: 896px){.default .player-volume{margin:-3px 2px 0 2px}}.default .player-volume__icon{fill:#fff;width:24px;height:24px;margin-right:8px;cursor:pointer}@media only screen and (max-width: 896px){.default .player-volume__icon{width:20px;height:20px}}.default .player-volume .progress-line{margin:0;width:50px}html.is-ios .default .player-volume .progress-line{display:none}.default .player-volume .progress-line__filled{background:#fff}.default .player-volume .progress-line input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#fff}.default.is-buffering>.toggle{display:none !important}@media (max-width: 480px){.ckin__player button{font-size:18px}}video::-webkit-media-controls-enclosure{display:none !important}.progress-line{position:relative;cursor:pointer}.progress-line input[type=range]{-webkit-appearance:none;-moz-appearance:none;background:transparent;height:4.5px;cursor:pointer;padding:0;outline:none}.progress-line input[type=range]:focus{outline:none}.progress-line input[type=range]:focus::-webkit-slider-runnable-track{background:transparent}.progress-line input[type=range]:focus::-moz-range-track{outline:none}.progress-line input[type=range]::-webkit-slider-runnable-track{width:100%;cursor:pointer;border-radius:1.3px;-webkit-appearance:none;-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.progress-line input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#63a2e3;cursor:pointer;-webkit-appearance:none;margin-left:-1px;border:none}.progress-line input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:1.3px}.progress-line input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50px;border:1px solid #63a2e3;background:#63a2e3;cursor:pointer;margin-top:5px}.progress-line__seek{position:absolute;top:0;width:100%;cursor:pointer;margin:0}.progress-line__loaded{position:absolute;left:12px;top:0;width:calc(100% - 12px)}input[type=range]::-ms-track{visibility:hidden}input[type=range]::-ms-ticks{background:none;color:none;border:none}input[type=range]::-ms-thumb{visibility:hidden}input[type=range]::-ms-tooltip{visibility:hidden}.left-controls{display:flex;align-items:center}.right-controls{float:right}.bottom-controls{padding:3px 4px 0px 4px;display:flex;justify-content:space-between;align-items:center}.time{float:right;padding:7px 0px 9px 14px;font-size:15px;color:white}@media only screen and (max-width: 896px){.time{padding:7px 0px 9px 0px}}.circle .circle-time{color:#fff;font-size:13px;float:left}.circle .circle-time-left{position:absolute;top:3px;left:2px;border-radius:12px;background-color:rgba(0,0,0,0.23);padding:1px 7px 2px 7px;z-index:2;display:flex;align-items:center}video[data-ckin="circle"]{border-radius:50%;overflow:hidden}.progress-ring{position:absolute;top:0;left:0;cursor:pointer}.progress-ring__circle{transition:stroke-dashoffset}.ckin__player.circle{position:relative;width:200px;height:200px}.iconVolume{padding:0 1px 0 3px;display:flex;align-items:center;font-size:1.25rem;color:#fff}.emoji-dropdown{display:flex;flex-direction:column;width:100%;height:282px;background:#fff;display:flex;overflow:hidden;flex:0 0 auto}@media only screen and (min-width: 897px){.emoji-dropdown{position:absolute !important;left:0;bottom:calc(85px);width:420px !important;height:420px;box-shadow:0px 5px 10px 5px rgba(16,35,47,0.14);z-index:3;border-radius:10px;transition:all 0.2s ease-out;transform:scale(0);transform-origin:0 100%}.emoji-dropdown.active{transition:all 0.2s ease-in;transform:scale(1)}}.emoji-dropdown>.menu-horizontal{margin-top:2px;border:none}.emoji-dropdown .emoji-container{width:100%;max-width:100%;overflow:hidden;height:100%}.emoji-dropdown .btn-icon{color:#8d969c}.emoji-dropdown .emoji-tabs ul{justify-content:center}.emoji-dropdown .emoji-tabs-search{position:absolute;left:0;margin-left:4px !important}.emoji-dropdown .emoji-tabs-delete{position:absolute;right:0;margin-right:4px !important}.emoji-dropdown .tabs-container{height:100%}.emoji-dropdown .tabs-container .category-title{top:0;font-size:14px;font-weight:500;color:#707579;z-index:2;padding:12px 6px 6px 6px;width:100%}.emoji-dropdown .tabs-container .sticky_sentinel--top{top:0;height:1px}.emoji-dropdown .tabs-container .emoji-category{position:relative}.emoji-dropdown .tabs-container .emoji-category .category-items{display:grid;grid-column-gap:2.44px;grid-template-columns:repeat(9, 1fr);font-size:2.25rem;line-height:2.25rem}.emoji-dropdown .tabs-container .emoji-category .category-items>span{margin:0;padding:4px 4px;line-height:inherit;border-radius:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:42px;height:42px}.emoji-dropdown .tabs-container .emoji-category .category-items>span .emoji{width:100%;height:100%;vertical-align:unset}html.no-touch .emoji-dropdown .tabs-container .emoji-category .category-items>span:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category{position:relative}.emoji-dropdown .tabs-container .sticker-category::after{content:"";flex:auto}.emoji-dropdown .tabs-container .sticker-category .category-items{width:100%;display:grid;grid-template-columns:repeat(5, 1fr);grid-column-gap:1px}.emoji-dropdown .tabs-container .sticker-category .category-items>div{width:80px;height:80px;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:1px 2.5px;justify-content:center;border-radius:12px;padding:0}@media only screen and (max-width: 896px){.emoji-dropdown .tabs-container .sticker-category .category-items>div{height:75px;justify-self:center;padding:0;min-width:64px;width:100%}}html.no-touch .emoji-dropdown .tabs-container .sticker-category .category-items>div:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category .category-items>div>img{max-width:100%;max-height:100%;-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}.emoji-dropdown .tabs-container>div{min-height:100%;flex-direction:column;height:100%}.emoji-dropdown .tabs-container .emoticons-content{flex:1;padding:0}.emoji-dropdown .tabs-container .scrollable{padding:0 10px}@media only screen and (max-width: 896px){.emoji-dropdown .emoji-padding.active .menu-horizontal li{flex:unset;padding:0}.emoji-dropdown .emoji-padding.active .category-items>span{width:40px;height:40px;justify-self:center}.emoji-dropdown .emoji-padding.active .category-title{padding:12px 6px 6px 10px}.emoji-dropdown .emoji-padding.active .scrollable{padding:0}.emoji-dropdown .emoji-padding.active .emoji-category .category-items{grid-column-gap:unset;grid-template-columns:repeat(8, 1fr)}}.emoji-dropdown .emoji-padding .menu-horizontal,.emoji-dropdown .stickers-padding .menu-horizontal{height:48px;border-bottom:none;padding:2px 2px 2px 2px;width:100%;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21);z-index:4}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{margin:0}.emoji-dropdown .menu-horizontal li{border-radius:50%}.emoji-dropdown #content-stickers .scrollable{padding:0px 5px 0}.emoji-dropdown .menu-horizontal{width:100%;height:48px;box-shadow:0px -2px 5px -1px rgba(0,0,0,0.21)}.emoji-dropdown .menu-horizontal li{font-size:1.5rem;margin:0 12px;width:48px;height:48px;line-height:48px;display:flex;align-items:center;flex:0 0 auto}.emoji-dropdown .stickers-padding.active .scrollable{padding:0;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21)}.emoji-dropdown .stickers-padding.active .menu-horizontal{box-shadow:none}.emoji-dropdown .stickers-padding.active .menu-horizontal li{height:48px;width:48px;padding:0;margin-right:1px;margin-left:1px}.emoji-dropdown .stickers-padding .menu-wrapper{padding:0;height:48px;max-width:100%}.emoji-dropdown .stickers-padding li{flex:0 0 auto}.emoji-dropdown .stickers-padding li.active:not(.tgico-recent){background-color:rgba(112,117,121,0.08)}.emoji-dropdown .stickers-padding li>canvas,.emoji-dropdown .stickers-padding li>img{padding:8px;max-width:100%;max-height:100%;width:100%;height:100%}div.scrollable::-webkit-scrollbar{width:0;height:0}div.scrollable::-webkit-scrollbar-thumb{width:0;height:0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.scrollable{width:100%;height:100%;overflow-y:hidden;overflow-x:hidden;max-height:100%;transform:translateZ(0);position:absolute;top:0px;left:0px;bottom:0px;right:0px;-webkit-overflow-scrolling:touch}.scrollable.scrollable-x{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.scrollable.scrollable-y{overflow-y:auto;overflow-y:overlay;scrollbar-width:none;-ms-overflow-style:none}div.scrollable-y::-webkit-scrollbar{width:.375rem;opacity:0}div.scrollable:hover::-webkit-scrollbar{opacity:1}::-webkit-scrollbar-thumb{opacity:0;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}div.scrollable:hover::-webkit-scrollbar-thumb{height:200px;border-radius:10px;background-color:rgba(0,0,0,0.2);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}div.scrollable-x::-webkit-scrollbar{display:none}.menu-horizontal{color:#707579;border-bottom:1px solid #dadce0;position:relative}.menu-horizontal ul{width:100%;height:100%;margin:0;display:flex;justify-content:space-around;align-items:center;position:relative;z-index:2;flex-direction:row}.menu-horizontal li{display:inline-block;padding:.75rem 1rem;cursor:pointer;text-align:center;flex:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;font-weight:500;position:relative;border-top-left-radius:6px;border-top-right-radius:6px}.menu-horizontal li>span{position:relative;display:inline-flex;align-items:center}.menu-horizontal li.active{color:#50a2e9}.menu-horizontal li.active i{opacity:1}.menu-horizontal i{position:absolute;bottom:calc(-.625rem - 2px);left:0;opacity:0;background-color:#50a2e9;height:.1875rem;width:100%;border-radius:.1875rem .1875rem 0 0;pointer-events:none;padding-right:.5rem;margin-left:-.25rem;box-sizing:content-box;transform-origin:left}.menu-horizontal i.animate{transition:transform .25s}.tabs-container{min-width:100%;width:100%;display:grid;grid-template-columns:100%}.tabs-container>div{width:100%;max-width:100%;transition:transform .25s,-webkit-filter .25s;transition:transform .25s,filter .25s;transition:transform .25s,filter .25s,-webkit-filter .25s;display:none;flex-direction:column;position:relative;grid-row-start:1;grid-column-start:1;background-color:#fff;overflow:hidden}.tabs-container>div.active{display:flex}.tabs-container>div>div:not(.scroll-padding){width:100%;max-width:100%;position:relative}.tabs-container[data-slider="tabs"]{transition:transform .25s}@-webkit-keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}@keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}.selector{height:100%;display:flex;flex-direction:column}.selector-search-container{flex:0 0 auto;position:relative;max-height:132px;overflow:hidden}.selector-search-container .scrollable{position:relative;max-height:inherit}.selector-search-container avatar-element:before{font-size:18px}.selector-search{padding:0 24px 0 24px;display:flex;flex-flow:wrap}.selector-search input{border:none;padding:7px 0px 19px 0px;outline:none;flex:1 1 auto}.selector-user{color:#000;background-color:rgba(112,117,121,0.08);font-size:16px;padding:0 17px 0px 0px;line-height:31px;margin-left:-4px;margin-right:12px;height:32px;margin-bottom:7px;border-radius:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex:0 0 auto;transition:.2s all}html.no-touch .selector-user:hover{background-color:#fae2e3;cursor:pointer}html.no-touch .selector-user:hover .selector-user-avatar:after{opacity:1;transform:scaleX(-1) rotate(-90deg)}.selector-user.scale-in{-webkit-animation:scaleIn .15s ease forwards;animation:scaleIn .15s ease forwards}.selector-user.scale-out{-webkit-animation:scaleIn .1s ease forwards;animation:scaleIn .1s ease forwards;animation-direction:reverse}.selector-user-avatar{height:32px !important;width:32px !important;float:left;margin-right:8px;overflow:hidden;font-size:14px;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.selector-user-avatar:after{position:absolute;content:"";left:0;top:0;background-color:#df3f40;height:100%;width:100%;z-index:2;font-size:23px;line-height:32px !important;opacity:0;transition:.2s opacity, .2s transform;transform:scaleX(-1) rotate(0deg)}.selector .chats-container{height:100%;flex:1 1 auto}.selector ul .dialog-avatar{height:48px;width:48px}.selector ul .user-caption{padding:1px 3.5px 1px 12px}.selector ul p{height:24px}.selector ul span.user-title{font-weight:normal}.selector ul span.user-last-message{font-size:14px}.selector ul li{padding-bottom:0}.selector ul li>.rp{margin:0px 9px 0px 8px;padding:12px 8.5px}@media only screen and (max-width: 896px){.selector ul li>.rp{margin:0}}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none){.selector ul li>.rp{margin-right:4px}}}.selector hr{margin:0 0 8px}.selector [type="checkbox"]+span{padding-left:calc(9px + 2.25rem)}.selector .checkbox{margin-top:11px;padding-left:11px}.gifs-masonry{display:flex;flex-wrap:wrap}.gifs-masonry>.gif{flex:1 0 auto;max-width:100%;height:100px;margin:2.5px;cursor:pointer;position:relative}.gifs-masonry>.gif video,.gifs-masonry>.gif img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.gifs-masonry>.gif img{position:absolute;left:0;top:0}.preloader-circular{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.preloader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:white;stroke-width:3}.preloader-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:50px;height:50px}.preloader-container .you-spin-me-round{width:100%;height:100%;-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite}.preloader-container .preloader-circular{-webkit-animation:none;animation:none;cursor:pointer;background-color:rgba(0,0,0,0.7);border-radius:50%;width:100%;height:100%}.preloader-container .preloader-path-new{stroke-dasharray:5, 200;stroke-dashoffset:0;transition:stroke-dasharray 400ms ease-in-out;stroke-linecap:round;stroke:white;stroke-width:1.5}.preloader-container.preloader-swing{cursor:default}.preloader-container.preloader-swing .preloader-circular{cursor:default}.preloader-container.preloader-swing .preloader-path-new{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dashNew 1.5s ease-in-out infinite;animation:dashNew 1.5s ease-in-out infinite}.preloader-container .preloader-close{cursor:pointer;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;color:#fff;stroke:#fff;width:34%;height:34%}html.no-touch .preloader-container .preloader-close:hover{background:none}.preloader-container.preloader-streamable,.preloader-container.preloader-streamable svg{cursor:pointer !important}.preloader-container.preloader-streamable circle{stroke-width:2.5 !important;-webkit-animation:dashNewStreamable 1.5s ease-in-out infinite !important;animation:dashNewStreamable 1.5s ease-in-out infinite !important}.preloader-container.preloader-streamable:after{content:"";position:absolute;width:.8125rem;height:.8125rem;border-radius:.125rem;background-color:#fff;left:50%;top:50%;transform:translate3d(-50%, -50%, 0)}@-webkit-keyframes rotate{100%{transform:rotate(360deg)}}@keyframes rotate{100%{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@-webkit-keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}@keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}@-webkit-keyframes dashNewStreamable{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-237%}}@keyframes dashNewStreamable{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-237%}}.popup{position:fixed !important;left:0;top:0;height:100%;max-width:none;width:100%;z-index:3;background-color:rgba(0,0,0,0.3);margin:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;transition:opacity 0.3s 0s, visibility 0s 0.3s;overflow:auto;display:flex}.popup.active{opacity:1;visibility:visible;transition:opacity 0.3s 0s, visibility 0s 0s;z-index:4}.popup.active .popup-container{transform:translateY(0)}.popup-container{position:relative;border-radius:10px;background-color:#fff;padding:1rem;transform:translateY(-40px);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:transform;transition-duration:0.3s;display:flex;flex-direction:column;overflow:hidden;margin:auto}.popup-centerer{margin:auto}.popup-close{cursor:pointer;color:#707579;z-index:3;text-align:center;justify-self:center;line-height:1;transition:.2s}html.no-touch .popup-close:hover{color:#000}.popup-header{display:flex;margin-bottom:2rem;align-items:center}.popup-body{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.popup-body .scrollable{position:relative}.popup-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.popup-buttons button{background:none;outline:none;border:none;font-weight:500;padding:.5rem;text-transform:uppercase;transition:.2s;border-radius:8px;cursor:pointer;color:#50a2e9;position:relative}html.no-touch .popup-buttons button:hover{background-color:rgba(112,117,121,0.08)}.popup-buttons button+button{margin-top:.5rem;text-overflow:ellipsis;white-space:nowrap;max-width:286px;overflow:hidden}.popup.popup-delete-chat .popup-container{max-width:328px}.popup-avatar .popup-container{max-width:600px;padding:15px 16px 16px 24px}.popup-avatar .popup-container>button{position:absolute;bottom:20px;right:20px}.popup-avatar .popup-close{font-size:1.5rem;margin-top:4px}.popup-avatar .popup-header{margin-bottom:1px}.popup-avatar h6{font-size:1.25rem;text-align:left;margin:0;margin-left:2rem}.popup-avatar .crop{max-width:100%;max-height:100%;padding:24px 54px 46px 46px;border-radius:8px}.popup-avatar .crop>img{display:none}.popup-avatar .crop img{border-radius:8px}.popup-new-media .popup-container{width:420px;max-width:420px;padding:12px 20px 32.5px}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo{max-height:320px;margin:0 auto}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo img{-o-object-fit:contain;object-fit:contain}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo>div{display:flex;justify-content:center}.popup-new-media .popup-container.is-album .popup-photo{margin:0 auto;position:relative}.popup-new-media .popup-container.is-album .popup-photo>div{position:absolute}.popup-new-media .popup-container.is-document .popup-photo img,.popup-new-media .popup-container.is-document .popup-photo video,.popup-new-media .popup-container.is-album .popup-photo img,.popup-new-media .popup-container.is-album .popup-photo video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.popup-new-media .popup-header{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:9px;padding:12px 20px 15px}.popup-new-media .popup-header .btn-primary{width:79px;height:36px;font-size:14px;font-weight:normal;padding:0;padding-top:2px;margin-top:-3px;border-radius:10px}.popup-new-media .popup-close{font-size:1.5rem;margin:-1px 0 0 -4px}.popup-new-media .popup-title{flex:1;padding:0 2rem 0 1.5rem;margin:0;margin-top:-3px;font-size:1.25rem;font-weight:500}.popup-new-media .popup-photo{max-width:380px;overflow:hidden;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-radius:10px}.popup-new-media .popup-photo .document{max-width:100%;overflow:hidden;cursor:default;padding-left:3.75rem;height:4.5rem}.popup-new-media .popup-photo .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.popup-new-media .popup-photo .document-ico{height:48px;width:48px;font-size:16px;font-weight:normal;line-height:11px;letter-spacing:0}.popup-new-media .input-field{width:100%;margin-top:25px}.popup-new-media .input-field::-moz-placeholder{color:#a2acb4}.popup-new-media .input-field:-ms-input-placeholder{color:#a2acb4}.popup-new-media .input-field::-ms-input-placeholder{color:#a2acb4}.popup-new-media .input-field::placeholder{color:#a2acb4}.popup-new-media .input-field input{font-size:1rem;padding:0 15px;border-radius:10px}.popup-new-media .input-field input:focus{padding:0 14.5px}.popup-new-media .input-field label{font-size:inherit;opacity:0}.popup-create-poll.popup-new-media .btn-primary{width:94px}.popup-new-media.popup-send-photo .popup-header{padding:0}.popup-peer .popup-header{display:flex;margin-bottom:0.4375rem;align-items:center;padding:0.125rem 0.25rem}.popup-peer .popup-container{padding:1rem 1.5rem 0.75rem 1rem}.popup-peer .popup-title{padding-left:0.75rem;font-size:1.25rem;font-weight:500;margin-bottom:0.125rem;text-transform:capitalize}.popup-peer .popup-description{padding:0 0.25rem;margin-top:0;margin-bottom:1.625rem;min-width:15rem;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.popup-peer .popup-buttons{margin-right:-0.75rem}.popup-peer .popup-buttons .btn{font-weight:500}.popup-peer .popup-buttons .btn+.btn{margin-top:0.625rem}.popup-peer .peer-avatar{height:2rem;width:2rem}.popup-stickers h6{padding:0 2rem 0 1.5rem;margin:0;margin-top:3px;font-size:1.25rem;font-weight:500}.popup-stickers .sticker-set-footer{padding:19px 0 17px 0;border-top:1px solid #dadce0;text-align:center;color:#50a2e9}.popup-stickers .sticker-set-footer .btn-primary{width:164px;height:44px}.popup-stickers .sticker-set-footer.add{padding:8px 0}.popup-stickers .popup-container{max-width:420px;max-height:420px;width:420px;padding:0}.popup-stickers .popup-close{font-size:1.5rem;margin-top:6px;margin-left:16px}.popup-stickers .popup-header{margin-bottom:12px;flex:0 0 auto;margin-top:5px}.popup-stickers .sticker-set{margin-bottom:8px}.popup-stickers .sticker-set-stickers{padding:0 5px;display:grid;grid-template-columns:repeat(5, 1fr)}@media only screen and (max-width: 896px){.popup-stickers .sticker-set-stickers{grid-template-columns:repeat(4, 1fr)}}.popup-stickers .sticker-set-sticker{width:80px;height:80px;margin-bottom:2px;justify-self:center;cursor:pointer}.popup-stickers .sticker-set-sticker:hover{border-radius:12px;background-color:rgba(112,117,121,0.08)}.popup-stickers .sticker-set-sticker img{max-width:100%;max-height:100%}.popup-date-picker .popup-container{min-width:300px;width:300px;padding:12px 14px}@media (min-height: 470px){.popup-date-picker .popup-container.is-max-lines{top:19px}}.popup-date-picker .popup-header{margin-left:6px;margin-top:4px;margin-bottom:1.375rem}.popup-date-picker .popup-title{font-weight:500;font-size:20px}.popup-date-picker .popup-buttons{flex-direction:row;order:2;margin-right:-2px}.popup-date-picker .popup-buttons button+button{margin-left:9px;margin-top:0}.popup-date-picker .date-picker-controls{display:flex;justify-content:space-between;align-items:center}.popup-date-picker .date-picker-controls .date-picker-month-title{font-size:14px;font-weight:500}.popup-date-picker .date-picker-prev{transform:rotate(90deg)}.popup-date-picker .date-picker-next{transform:rotate(-90deg)}.popup-date-picker .date-picker-prev:disabled,.popup-date-picker .date-picker-next:disabled{visibility:hidden}.popup-date-picker .date-picker-months{margin-top:7px;margin-bottom:1.5rem}.popup-date-picker .date-picker-month{display:grid;grid-template-columns:repeat(7, 1fr);width:100%;justify-content:center}.popup-date-picker .date-picker-month span,.popup-date-picker .date-picker-month .btn-icon{justify-self:center;width:38px;height:38px;font-size:12px;color:#707579;display:flex;justify-content:center;align-items:center}.popup-date-picker .date-picker-month .btn-icon:not(:disabled){color:#000}.popup-date-picker .date-picker-month .btn-icon.active{color:#fff;border-radius:50%;background-color:#50a2e9}.popup-create-poll .popup-container{max-height:468px;padding:0}.popup-create-poll .input-field{margin-top:25px}.popup-create-poll .input-field .btn-icon{position:absolute;right:.5rem;top:50%;z-index:1;transform:translateY(-50%);opacity:1;transition:opacity .2s ease}.popup-create-poll .input-field:not(.is-filled) .btn-icon,.popup-create-poll .input-field:first-child:last-child .btn-icon{pointer-events:none;opacity:0}.popup-create-poll .caption{color:#707579;font-weight:500;padding:16px 24px 0}.popup-create-poll .poll-create-questions{padding:0px 20px 32.5px}.popup-create-poll hr{border-bottom:1px solid #edeff1}#auth-pages{max-width:720px;overflow:hidden}@media only screen and (max-width: 896px){#auth-pages .btn-primary{height:50px}}#auth-pages .subtitle{margin:0}@media only screen and (max-width: 896px){#auth-pages .subtitle{font-size:14px}}#auth-pages .input-wrapper{margin-top:49px}@media only screen and (max-width: 896px){#auth-pages .input-wrapper{margin-top:41px;width:100%;padding:0 16px}}#auth-pages .tabs-container{height:100%;transform:translateX(0);width:100%}#auth-pages .tabs-container.animated{transition:.42s transform}#auth-pages .tabs-container>div:before,#auth-pages .tabs-container>div:after{content:" ";flex:1;min-height:3rem;width:100%}#auth-pages .tabs-container>div>div{height:810px;padding:0;flex:1 1 auto;display:flex;flex-direction:column}@media only screen and (max-width: 896px){#auth-pages .page-password .input-wrapper{margin-top:31px}}#auth-pages .page-password .input-wrapper .btn-primary{margin-top:1rem}.page-sign .auth-image,.page-signUp .auth-image{width:7.5rem;height:7.5rem;margin-bottom:1.5rem}@media only screen and (min-width: 897px){.page-sign .auth-image,.page-signUp .auth-image{width:10rem;height:10rem;margin-bottom:1.5rem}}.sign-logo{max-width:100%;max-height:100%}.page-sign .qr,.page-signQR .qr{margin-top:1.5rem}.page-sign p.qr-description,.page-signQR p.qr-description{color:#707579;line-height:1.85;text-align:left;margin-left:auto;margin-right:auto}@media only screen and (max-width: 896px){.page-signQR .auth-image{width:166px;height:166px}}.page-signUp .auth-image{margin-top:10px;margin-bottom:14px}@media only screen and (max-width: 896px){.page-signUp .auth-image{margin-bottom:24px}}@media only screen and (max-width: 896px){.page-signUp #signUp{margin-top:100px}}.page-authCode .auth-image{transform:translateY(12px)}.page-authCode .phone-wrapper{display:flex;align-items:center;justify-content:center}.page-authCode .phone-wrapper h4[contenteditable="true"]{padding:0 1rem;border:none;outline:none;padding:0 1rem;border-bottom:2px solid #4EA4F6}.page-authCode .phone-wrapper .phone.error{border-color:#E53935 !important}.page-authCode .subtitle{margin-top:0}.page-chats{display:flex}.page-chats .avatar-edit .tgico-cameraadd{top:52%}.page-chats>div{position:relative;min-height:100%;height:100%;max-height:100%}.page-chats #main-columns{width:100%;overflow:hidden}@media only screen and (max-width: 896px){.page-chats .main-column{width:100%}.page-chats .main-column:not(.active){display:none}}@media only screen and (min-width: 897px){.page-chats #column-left{width:25%}.page-chats #column-center{display:flex !important;background-color:#e6ebee;width:100%;flex:1}.page-chats #column-right{display:flex !important}.page-chats .main-column{height:100%;position:relative;min-height:100%;max-height:100%}.page-chats #main-columns{display:flex}}.page-chats .preloader{width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}.page-chats .preloader-path{stroke:#4EA4F6}.page-chats #search-container,.page-chats .sidebar-search{flex-direction:column;width:100%;max-height:100%;height:100%;overflow:hidden;position:absolute;left:0;top:0;z-index:3;background:#fff}@media only screen and (min-width: 1681px){.page-chats{border-top-width:0;border-bottom-width:0;border-left-width:1px;border-right-width:1px;border-style:solid;border-color:#DADCE0}}#dialogs-contextmenu .menu-unread:before{content:""}#dialogs-contextmenu .menu-unread.flip-icon:before{content:""}#dialogs-contextmenu .menu-pin:before{content:""}#dialogs-contextmenu .menu-pin.flip-icon:before{content:""}#dialogs-contextmenu .menu-mute:before{content:""}#dialogs-contextmenu .menu-mute.flip-icon:before{content:""}#dialogs-contextmenu .menu-archive:before{content:""}#dialogs-contextmenu .menu-archive.flip-icon:before{content:""}.page-password #password{padding-right:2.5rem}.page-password #password[type="password"]{font-size:2.25rem;padding-left:10px}.page-password .toggle-visible{position:absolute;right:.25rem;z-index:2;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9e9e9e;cursor:pointer;transition:.2s;padding:.5rem}html.no-touch .page-password .toggle-visible:hover{color:#000}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format("woff2");unicode-range:U400-45F,U490-491,U4B0-4B1,U2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format("woff2");unicode-range:U100-24F,U259,U1E00-1EFF,U2020,U20A0-20AB,U20AD-20CF,U2113,U2C60-2C7F,UA720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format("woff2");unicode-range:U0-0FF,U131,U152-153,U2BB-2BC,U2C6,U2DA,U2DC,U2000-206F,U2074,U20AC,U2122,U2191,U2193,U2212,U2215,UFEFF,UFFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2) format("woff2");unicode-range:U400-45F,U490-491,U4B0-4B1,U2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2) format("woff2");unicode-range:U100-24F,U259,U1E00-1EFF,U2020,U20A0-20AB,U20AD-20CF,U2113,U2C60-2C7F,UA720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format("woff2");unicode-range:U0-0FF,U131,U152-153,U2BB-2BC,U2C6,U2DA,U2DC,U2000-206F,U2074,U20AC,U2122,U2191,U2193,U2212,U2215,UFEFF,UFFFD}html,body{height:100%;width:100%;-webkit-font-smoothing:antialiased}@media only screen and (max-width: 896px){html,body{height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100)}}html{font-size:16px;overflow:hidden}a{color:#50a2e9}button,input,optgroup,select,textarea,html{font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}input,textarea,button,select,a,div{-webkit-tap-highlight-color:rgba(0,0,0,0)}.whole{min-height:100%;width:100%;margin:0 auto;max-width:1680px;height:100%}.disable-hover,.disable-hover *{pointer-events:none !important}@media only screen and (min-width: 897px){.only-handhelds{display:none !important}}.container{margin:0 auto}h1,h2,h3,h4,h5,h6{font-weight:500}h4{font-size:2rem;margin:22px 0 14px;line-height:110%}@media only screen and (max-width: 896px){h4{font-size:20px;margin:2px 0 8px}}input{caret-color:#4EA4F6}input,textarea{-webkit-appearance:none}.subtitle{color:#707579;line-height:1.35}.btn-icon{text-align:center;font-size:1.5rem;line-height:1.5rem;border-radius:50%;transition:background-color .15s ease-out;color:#707579;cursor:pointer;background:none;border:none;padding:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.btn-icon.active{color:#50a2e9}html.no-touch .btn-icon:hover{background-color:rgba(112,117,121,0.08)}.btn-icon:disabled{color:#cacaca}.btn-corner{position:absolute !important;bottom:20px;right:20px;transition:.2s ease;transform:translateY(calc(100% + 20px));z-index:3}.btn-corner.is-visible{transform:translateY(0px)}.danger{color:#E53935 !important}.btn-menu{visibility:hidden;position:absolute;background:#fff;box-shadow:0 5px 8px 1px rgba(0,0,0,0.24);z-index:3;top:100%;margin-top:8px;padding:9px 0;border-radius:10px;opacity:0;transform:scale(0.8);transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);font-size:16px;-webkit-user-select:none;-webkit-touch-callout:none}.btn-menu.active{visibility:visible;opacity:1;transform:scale(1)}.btn-menu.bottom-left{right:0;top:100%;transform-origin:top right}.btn-menu.bottom-right{left:0;top:100%;transform-origin:top left}.btn-menu.top-left{top:auto;top:initial;right:0;bottom:100%;transform-origin:bottom right}.btn-menu.top-right{top:auto;top:initial;left:0;bottom:100%;transform-origin:bottom left}.btn-menu-item{display:flex;position:relative;padding:0 40px 0 20px;height:56px;cursor:pointer !important;pointer-events:all !important;background-position:16px center;background-size:24px 24px;background-repeat:no-repeat;color:#000;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items:center}html.no-touch .btn-menu-item:hover{background-color:rgba(112,117,121,0.06)}.btn-menu-item:before{color:#707579;font-size:1.5rem;margin-right:32px}.btn-menu-item.danger:before{color:#E53935}@media only screen and (max-width: 896px){.btn-menu-item{padding:0 30px 0 16px;height:50px}}#bubble-contextmenu,#dialogs-contextmenu{position:fixed;right:auto;bottom:auto;width:auto;z-index:4}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);padding:.5rem 1rem;background-color:rgba(0,0,0,0.66);color:#fff;font-size:1rem;border-radius:10px;-webkit-animation:fadeInFadeOut 3s linear forwards;animation:fadeInFadeOut 3s linear forwards;z-index:5}hr{width:100%;border:none;border-bottom:1px solid #DADCE0;margin:0 0 8px}avatar-element{color:#fff;width:54px;height:54px;line-height:54px;border-radius:50%;background-color:#50a2e9;text-align:center;font-size:1.25em;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 896px){avatar-element{font-size:14px}}avatar-element img{width:100%;height:100%;border-radius:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}avatar-element img.fade-in{-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}avatar-element[class*=" tgico-"]{line-height:52px;font-size:28px}avatar-element path{fill:white}avatar-element.is-online:after{position:absolute;content:" ";display:block;border-radius:50%;border:2px solid white;background-color:#0ac630;left:74%;top:73%;width:14px;height:14px}avatar-element.tgico-avatar_deletedaccount{font-size:3rem}.user-title,b{color:#000;font-weight:500}.user-last-message b{font-weight:400}.rp{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-ripple{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden;background:transparent;border-radius:inherit;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.c-ripple__circle{background-color:rgba(0,0,0,0.08);display:block;position:absolute;transform:scale(0);border-radius:50%;-webkit-animation:ripple-effect .7s forwards;animation:ripple-effect .7s forwards;transition:.35s opacity;overflow:hidden}@media only screen and (max-width: 896px){.c-ripple__circle{-webkit-animation-duration:.2s;animation-duration:.2s;transition-duration:.1s;border-radius:15%}}.c-ripple.is-square .c-ripple__circle,.btn-menu .c-ripple .c-ripple__circle{-webkit-animation-duration:.2s;animation-duration:.2s;transition-duration:.1s;border-radius:15%}.c-ripple__circle.hiding,.c-ripple__square.hiding{opacity:0}@-webkit-keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}@keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}.document{padding-left:4.5rem;height:70px}.document-ico{background-color:#50a2e9;border-radius:5px;line-height:10px}.document-ico:after{content:"";display:block;position:absolute;top:0;right:0;width:1.125rem;height:1.125rem;border-bottom-left-radius:.25rem;border-left:0.5625rem solid rgba(0,0,0,0.25);border-bottom:0.5625rem solid rgba(0,0,0,0.25);border-top:.5625rem solid #fff;border-right:.5625rem solid #fff}.document-ico,.document-download{font-weight:500;letter-spacing:1px;font-size:1.1rem;background-size:contain;overflow:hidden;text-overflow:ellipsis}.document-download{background-color:#50a2e9;border-radius:8px}.document.ext-zip .document-ico,.document.ext-zip .document-download{background-color:#FB8C00}.document.ext-pdf .document-ico,.document.ext-pdf .document-download{background-color:#DF3F40}.document.ext-apk .document-ico,.document.ext-apk .document-download{background-color:#43A047}.document:not(.photo) .document-ico{padding-top:1.5rem}.document.photo .document-ico{background:#000;border-radius:8px}.document.photo .document-ico:after{display:none}.document-name{white-space:nowrap;font-weight:500;line-height:1.3}.document-size{white-space:nowrap;color:#707579;font-size:14px;padding-right:32px;line-height:1.3}.document,.audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.document-ico,.document-download,.audio-ico,.audio-download{position:absolute;left:0;width:54px;height:54px;color:#fff;display:flex;justify-content:center}.document-ico.tgico-largeplay:before,.document-download.tgico-largeplay:before,.audio-ico.tgico-largeplay:before,.audio-download.tgico-largeplay:before{margin-right:-1px}@media only screen and (max-width: 896px){.document-ico,.document-download,.audio-ico,.audio-download{height:36px;width:36px}}.document-download,.audio-download{z-index:1;align-items:center;font-size:24px;cursor:pointer}.document-download .tgico-download,.audio-download .tgico-download{transform:scale(1);transition:.2s scale}.document-download.downloading .tgico-download,.audio-download.downloading .tgico-download{transform:scale(0)}.document .preloader-container,.audio .preloader-container{width:42px;height:42px}@media only screen and (max-width: 896px){.document .preloader-container,.audio .preloader-container{width:30px;height:30px}}.audio{position:relative;padding-left:67px;min-height:58px;max-width:244px;overflow:visible !important}@media only screen and (max-width: 896px){.audio{padding-left:45px}}.audio-toggle,.audio-download{border-radius:50%;background-color:#50a2e9;font-size:2.3rem;align-items:center}@media only screen and (max-width: 896px){.audio-toggle,.audio-download{font-size:24px !important}}.audio-download{z-index:2}.audio-waveform{height:23px}.audio-waveform rect{fill:#CBCBCB}.audio-waveform rect.active{fill:#50a2e9}.audio-title{font-size:1rem;color:#000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.audio-time,.audio-subtitle{font-size:14px;color:#707579;margin-top:3px;margin-left:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){.audio-time,.audio-subtitle{margin-top:1px;font-size:12px}}.audio-title,.audio:not(.audio-show-progress) .audio-subtitle{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}@media only screen and (max-width: 896px){.audio-download{margin-left:2px;margin-top:1px}.audio.is-voice .audio-download{margin:0}}.avatar-edit{position:relative;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-edit-canvas{max-width:100%;max-height:100%;width:100%;height:100%;background-color:#50a2e9}.avatar-edit .tgico-cameraadd{position:absolute;font-size:48px;line-height:48px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);z-index:2;color:#fff}.avatar-edit .avatar-placeholder{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-filter:brightness(0.7);filter:brightness(0.7)}.input-wrapper{width:360px;margin:0 auto}.input-field{position:relative}.input-field .arrow-down{position:absolute;content:" ";top:50%;bottom:0;right:21px;cursor:pointer;height:0;width:0;border:solid #707579;border-radius:1px;border-width:0 2px 2px 0;display:inline-block;padding:5px;vertical-align:middle;z-index:2;margin-top:-9px;transform:rotate(45deg);-webkit-transform:rotate(45deg);transition:.2s all}.input-field label{position:absolute;color:#9e9e9e;left:1rem;right:auto;z-index:2;top:50%;transform:translateY(-50%);background-color:#fff;transition:.2s all, .1s opacity;display:inline-block;cursor:text}.input-field input{border:1px solid #DADCE0;border-radius:10px;padding:0 1rem;box-sizing:border-box;width:100%;height:54px;transition:.2s border-color;position:relative;z-index:1}@media only screen and (max-width: 896px){.input-field input{height:50px}}.input-field input:focus{border-color:#4EA4F6;border-width:2px;padding:0 calc(1rem - 1px)}.input-field input:disabled{background-color:#fff;color:#000}.input-field input.error{border-color:#E53935}.input-field input.error+label{color:#E53935 !important}.input-field input.valid{border-color:#26962F}.input-field input.valid+label{color:#26962F !important}.input-field input:focus ~ .arrow-down{margin-top:-4px;transform:rotate(225deg);-webkit-transform:rotate(225deg);border-color:#4EA4F6}.input-field input:focus+label{color:#4EA4F6}.input-field input:focus+label,.input-field input:valid+label,.input-field input:disabled+label{top:-.5rem;transform:none;padding:0 5px;left:.75rem;font-size:0.75rem !important;opacity:1}.checkbox-field{margin:1.25rem 0;display:block;text-align:left;padding:0 18px;position:relative}@media only screen and (max-width: 896px){.checkbox-field{margin-bottom:27px}}[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;box-sizing:border-box;padding:0}[type="checkbox"]+span{position:relative;padding-left:calc(18px + 2.25rem);cursor:pointer;display:inline-block;height:25px;line-height:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:before,[type="checkbox"]+span:after{content:'';left:0;position:absolute;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s}[type="checkbox"]+span:before{border-radius:2px;z-index:1}[type="checkbox"]+span:after{height:18px;width:18px;z-index:0;border:2px solid #4EA4F6;border-radius:3px;top:50%;transform:translateY(-50%)}[type="checkbox"]:not(:checked)+span:before{width:0;height:0;border:2px solid transparent;left:6px;top:10px;transform:rotateZ(45deg);transform-origin:100% 100%}[type="checkbox"]:checked+span:before{top:4px;left:-1px;width:8px;height:14px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotateZ(45deg);transform-origin:100% 100%}[type="checkbox"]:not(:checked)+span:after{background-color:transparent;border-color:#8d969c}[type="checkbox"]:checked+span:after{background-color:#4EA4F6}.input-wrapper>*+*{margin-top:1.5rem}.select-wrapper{max-height:23.5rem;position:absolute;width:100%;top:calc(100% + .5rem);left:0;overflow:hidden;background-color:#fff;z-index:3;border-radius:10px;display:flex;flex-direction:column;flex-wrap:wrap;transition:opacity .2s ease-out, transform .2s ease-out;transform:scale(0.95);transform-origin:top center;opacity:0}.select-wrapper.active{transform:scale(1);opacity:1}.select-wrapper ul{margin:.5rem 0}.select-wrapper li{align-items:center;padding:0 1rem;justify-content:space-between;height:3.5rem;cursor:pointer;text-align:left;display:grid;grid-template-columns:calc(26px + 2rem) 1fr 50px}html.no-touch .select-wrapper li:hover{background-color:rgba(112,117,121,0.08)}.select-wrapper .emoji{height:26px;width:26px;font-size:26px;line-height:1}.select-wrapper .scrollable{position:relative}.phone-code{color:#9e9e9e;text-align:right}::-moz-placeholder{color:#909192;opacity:1}:-ms-input-placeholder{color:#909192;opacity:1}::-ms-input-placeholder{color:#909192;opacity:1}::placeholder{color:#909192;opacity:1}:-ms-input-placeholder{color:#a2acb4}::-ms-input-placeholder{color:#a2acb4}input:focus,button:focus{outline:none}.auth-image{width:166px;height:166px;margin:0 auto 18px}@media only screen and (max-width: 896px){.auth-image{width:120px;height:120px}}.phone-edit{display:inline-block;width:24px;height:24px;margin-left:.4rem;opacity:.5;transition:.2s;cursor:pointer;font-size:1.5rem}@media only screen and (max-width: 896px){.phone-edit{margin-top:-14px}}html.no-touch .phone-edit:hover{opacity:1}.btn-primary{background:#50a2e9;color:#fff;border-radius:10px;width:100%;text-align:center;height:54px;border:none;font-weight:500;cursor:pointer;overflow:hidden;position:relative;padding:0}html.no-touch .btn-primary:hover{background:#2c8fe4}.btn-primary svg,.btn-primary use{height:calc(100% - 20px);right:15px;left:auto}.btn-primary.btn-circle .preloader-circular{height:calc(100% - 20px);right:auto;left:auto;margin:0;top:10px}.btn-primary.btn-circle .preloader-circular .preloader-path{stroke:#fff}.btn-menu-toggle{position:relative;overflow:visible !important;font-weight:normal !important;cursor:pointer !important;pointer-events:all !important}.btn-menu-toggle:not(.btn-primary).menu-open{background-color:rgba(112,117,121,0.08)}.emoji{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle;line-height:1em;font-size:1em;font-family:apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol}img.emoji{width:18px;height:18px;margin:0 .125rem}.btn-circle{border-radius:50%;height:54px;width:54px;line-height:54px}@media only screen and (max-width: 896px){.btn-circle{height:46px;width:46px}}.btn-circle path{fill:white}.overlay::-moz-selection{background:transparent}.overlay::selection{background:transparent}.crop-component::-moz-selection{background:transparent}.crop-component::selection{background:transparent}.crop-image,.overlay>img{width:auto;height:auto;display:block;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.crop-image{display:block;position:relative;pointer-events:none}.crop-component{position:relative;z-index:999;background-color:white;margin:0 auto;overflow:hidden}.crop-component>img{max-width:100%}.crop-component .crop-overlay-color{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);border-radius:8px}.overlay{position:absolute;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-100px;width:200px;height:200px;overflow:hidden;box-sizing:content-box;border-radius:50%}html.no-touch .overlay:hover,.overlay:active{cursor:move}.overlay>img{position:absolute;display:block}[contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sticky_sentinel{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}.rlottie{max-width:100%;max-height:100%;width:100%;height:100%}.rlottie.fade-in{-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}.fade-in-transition{opacity:1;transition:opacity .2s ease}.show-more{padding-top:13px;padding-bottom:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}@media only screen and (min-width: 897px){.show-more{padding-left:8px}}.show-more .tgico-down{float:left;padding-right:32px;padding-left:16px;font-size:24px;color:#707579}.chats-container #chats-container .scrollable #dialogs .rp avatar-element{font-size:20px}.chats-container #chats-container .scrollable #dialogs .rp avatar-element:before{font-size:26px}.chats-container #chats-container .scrollable #dialogs .rp avatar-element.tgico-avatar_deletedaccount:before{font-size:56px}.btn-disabled{pointer-events:none !important;cursor:default !important;color:#707579 !important}.btn-disabled:before{color:#707579 !important}.content-empty{color:#707579} +:root{--layer-transition: .2s ease-in-out}@media only screen and (max-width: 896px){:root{--right-column-width: 100vw}}@media only screen and (min-width: 897px){:root{--right-column-width: calc(1680px / 4)}}.chats-container{position:relative}@media only screen and (max-width: 896px){.chats-container .search-group-recent.search-group{padding:2px 0 0}}.chats-container .input-search{position:relative;width:100%;margin-left:22px;margin-right:4px}@media only screen and (max-width: 896px){.chats-container .input-search{margin-left:16px}}.chats-container .input-search input{background-color:rgba(112,117,121,0.08);border:2px solid transparent;height:40px;border-radius:22px;box-sizing:border-box;padding:0px 1.5rem 0 40px;transition:all .15s ease-out;width:100%;font-size:16px}.chats-container .input-search input:focus{background-color:rgba(112,117,121,0);border:2px solid #4EA4F6}.chats-container .input-search input:focus+.tgico{color:#4EA4F6;opacity:1}.chats-container .input-search .tgico{position:absolute;left:12px;top:50%;transform:translateY(-50%);text-align:center;font-size:24px;color:#707579;opacity:.6;transition:all .15s ease-out}.chats-container .input-search .tgico:before{vertical-align:middle}.chats-container .input-search .tgico-close{left:auto;right:0px}.chats-container .input-search input:-moz-placeholder-shown ~ .tgico-close{display:none}.chats-container .input-search input:-ms-input-placeholder ~ .tgico-close{display:none}.chats-container .input-search input:placeholder-shown ~ .tgico-close{display:none}.chats-container ul{margin:0;display:flex;flex-direction:column;width:100%;-webkit-user-select:none;-webkit-touch-callout:none}html.is-mac .chats-container ul{transform:translateZ(0)}.chats-container li{background-color:#fff}@media only screen and (max-width: 896px){.chats-container li{padding-bottom:0px}}.chats-container li.is-muted .user-title:after{content:"";color:#a3a3a3;font-size:1.125rem;line-height:27px;vertical-align:middle;margin-left:.125rem;display:inline-block;height:29px}.chats-container li>.rp{height:72px;max-height:72px;border-radius:10px;display:flex;align-items:flex-start;flex-direction:row;position:relative;cursor:pointer;padding:9px 8.5px;margin:0px 8px 0px 8px;overflow:hidden}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none){.chats-container li>.rp{margin-right:3px}}}@media only screen and (max-width: 896px){.chats-container li>.rp{padding:9px 12px 0 9px !important;border-radius:0;margin:0;overflow:hidden}}html.no-touch .chats-container li>.rp:hover{background:rgba(112,117,121,0.08)}.chats-container li.active>.rp,.chats-container li.menu-open>.rp{background:rgba(112,117,121,0.08)}.chats-container .pinned-delimiter{display:flex;padding:8px 0 4px}.chats-container .pinned-delimiter span{margin:0;width:100%;height:1px;background-color:#DADCE0}.chats-container p{margin:0;display:flex;justify-content:space-between;flex-direction:row;align-items:flex-start;height:27px}.chats-container p .user-title+span{font-size:.75rem;padding:1px 0px 0px 0px;flex:0 0 auto}.chats-container p .user-last-message+span:not(.tgico-pinnedchat){font-size:.9rem}.chats-container span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:27px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chats-container .dialog-avatar{flex:0 0 auto}.chats-container .user-caption{max-width:100%;max-height:100%;overflow:hidden;color:#707579;flex:1 1 auto;padding:1px 8.5px 1px 9px}.chats-container .user-caption p:last-child{margin-top:-3px}.chats-container .user-title{max-width:82%}.chats-container .user-title img.emoji{vertical-align:top;margin-top:4px;width:18px;height:18px}.chats-container .user-title span.emoji{overflow:visible;margin:0;width:auto;font-size:14px;margin-top:-1.5px}.chats-container .user-title i.verified-icon{content:" ";background:url(assets/img/icon-verified.svg);display:inline-block;width:20px;height:20px;vertical-align:text-bottom;margin-left:.125rem}.chats-container .user-last-message{max-width:86%}.chats-container .user-last-message img.emoji{width:20px;height:20px;margin-top:-3px}.chats-container .user-last-message span.emoji{font-size:1.2rem;margin:0 .125rem;overflow:visible;margin-top:-1.5px}.chats-container .user-title i,.chats-container .user-last-message i{font-style:normal;color:#50a2e9}.chats-container .message-status{margin-right:.1rem;margin-top:-.3rem}.chats-container .message-status[class*=" tgico-"]{color:#4DCD5E;font-size:1.25rem}.chats-container .message-status:before{vertical-align:middle}.chats-container .unread,.chats-container .unread-muted,.chats-container .tgico-pinnedchat{height:24px;text-align:center;line-height:24px;color:#fff;border-radius:12px;margin-top:4px;margin-right:-3px;flex:0 0 auto}.chats-container .unread,.chats-container .unread-muted{min-width:24px;padding:0 8px;font-weight:500}.chats-container .tgico-pinnedchat{width:24px;font-size:1.5rem}.chats-container .unread:empty,.chats-container .unread-muted:empty{visibility:hidden}.chats-container .unread{background:#4DCD5E}.chats-container .unread-muted,.chats-container .tgico-pinnedchat{background:#c5c9cc}.chats-container .search-group{width:100%;padding:1rem 0 .5rem;margin-bottom:.5rem}@media only screen and (max-width: 896px){.chats-container .search-group{margin-bottom:0}}.chats-container .search-group__name{color:#707579;padding:0 23px;padding-bottom:1rem;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){.chats-container .search-group__name{padding:0 9px 0 16px;font-size:15px}}.chats-container .search-group-contacts{padding:16px 0 7px}@media only screen and (max-width: 896px){.chats-container .search-group-contacts{padding:7px 0 0px}}.chats-container .search-group-contacts .search-group__name{padding-bottom:17px}@media only screen and (max-width: 896px){.chats-container .search-group-contacts .search-group__name{padding-bottom:0}}.chats-container .search-group:last-child{border-bottom:none}.contacts-container .dialog-avatar,.search-group-contacts .dialog-avatar{width:48px;height:48px}.contacts-container li,.search-group-contacts li{padding-bottom:4px;padding-top:2px}@media only screen and (max-width: 896px){.contacts-container li,.search-group-contacts li{padding:0}}.contacts-container li>.rp,.search-group-contacts li>.rp{padding:9px 11.5px !important;height:66px}.contacts-container .user-caption,.search-group-contacts .user-caption{padding:1px 3.5px 1px 13px}@media only screen and (max-width: 896px){.contacts-container .user-caption,.search-group-contacts .user-caption{padding:0px 4px 0px 14px}}.contacts-container .user-title,.contacts-container b,.contacts-container .user-last-message b,.search-group-contacts .user-title,.search-group-contacts b,.search-group-contacts .user-last-message b{font-weight:normal}.contacts-container p,.search-group-contacts p{height:24px}@media only screen and (max-width: 896px){.contacts-container p,.search-group-contacts p{height:26px}}.contacts-container span.user-last-message,.search-group-contacts span.user-last-message{font-size:14px}#contacts-container .sidebar-header{margin-bottom:1px}#contacts-container .input-search{margin-left:16px}#bubble-contextmenu>div{padding:0 84px 0 16px}@media only screen and (max-width: 896px){#bubble-contextmenu>div{padding:0 60px 0 16px}}#topbar{width:100%;background-color:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21);z-index:1;min-height:56px;max-height:56px}@media only screen and (max-width: 896px){#topbar.is-audio-shown+#bubbles,#topbar.is-pinned-shown:not(.hide-pinned)+#bubbles{margin-top:52px}#topbar.is-pinned-shown:not(.hide-pinned):not(.is-audio-shown) .pinned-message{display:flex}}@media only screen and (min-width: 897px){#topbar{border-left:1px solid #DADCE0;border-right:1px solid #DADCE0}#topbar .sidebar-close-button,#topbar .menu-search{display:none}#topbar.is-pinned-shown:not(.hide-pinned) .pinned-message{display:flex}}@media only screen and (max-width: 896px){#topbar .chat-mute-button,#topbar .chat-search-button{display:none}}#topbar .chat-more-button .btn-menu{top:calc(100% + 7px)}@media only screen and (max-width: 896px){#topbar .chat-more-button .btn-menu{top:29px}}@media only screen and (max-width: 896px){#topbar .chat-more-button{margin-left:0}}#topbar .chat-info{flex:1 1 auto;overflow:hidden}@media only screen and (min-width: 1276px){body.is-right-column-shown #topbar .chat-info{max-width:calc(100% - var(--right-column-width) * 1.6)}}@media only screen and (min-width: 1276px){body.is-right-column-shown #topbar.is-pinned-shown .chat-info{max-width:calc(100% - var(--right-column-width) * 1.75)}body.is-right-column-shown #topbar.is-pinned-shown.is-audio-shown .chat-info{max-width:calc(100% - var(--right-column-width) * 2.25)}}#topbar .chat-utils{display:flex;align-items:center;flex:0 0 auto}@media only screen and (min-width: 1276px){#topbar .chat-utils{transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.is-right-column-shown #topbar .chat-utils{transform:translate3d(calc(var(--right-column-width) * -1), 0, 0)}body.animation-level-0 #topbar .chat-utils{transition:none}}#topbar .chat-join{width:auto;width:117px;height:36px;font-weight:400;font-size:0.875rem;margin-right:.5rem}#topbar .chat-join:not(.hide)+.chat-mute-button{display:none}#topbar .content{flex:1 1 auto;padding-left:10px;max-width:100%;overflow:hidden}@media only screen and (max-width: 896px){#topbar .content{max-width:208px}}#topbar .person{display:flex;align-items:center;cursor:pointer;margin-left:7px}@media only screen and (max-width: 896px){#topbar .person{margin-left:10px}}#topbar .person .bottom{font-size:14px;color:#707579}#topbar .person .bottom .online{color:#50a2e9}#topbar #im-avatar{width:40px;height:40px;line-height:40px;font-size:16px;flex:0 0 auto}#topbar #im-avatar:before{font-size:20px}#topbar #im-avatar.tgico-avatar_deletedaccount:before{font-size:40px}#topbar.hide-pinned+#bubbles #bubbles-inner{margin-bottom:.25rem}#chat-input{display:flex;width:100%;max-width:696px;padding-top:.25rem;flex-direction:column;flex:0 0 auto;position:relative}@media only screen and (min-width: 1276px){#chat-input{transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.is-right-column-shown #chat-input{transform:translate3d(calc(var(--right-column-width) / -2), 0, 0)}body.animation-level-0 #chat-input{transition:none}}#chat-input .chat-input-container{display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width: 896px){#chat-input .chat-input-container{padding:0 .5rem .5rem}}@media only screen and (min-width: 897px){#chat-input .chat-input-container{padding-bottom:21px}}#chat-input #input-message{background:none;border:none;width:100%;font-size:16px;padding:10px 9px;max-height:30rem;overflow-y:none;resize:none;border:none;outline:none;cursor:text}#chat-input [contenteditable=true]:empty:before{content:attr(data-placeholder);color:#a2acb4;display:block}#chat-input .toggle-emoticons:before{content:""}#chat-input .toggle-emoticons.flip-icon:before{content:""}#chat-input #btn-record-cancel{visibility:hidden;opacity:0;transition:width .1s .1s, margin-right .1s .1s, visibility 0s .1s, opacity .1s 0s;padding:0;z-index:3}#chat-input .btn-send-container{flex:0 0 auto;position:relative;align-self:flex-end;z-index:2}#chat-input #btn-send{color:#9e9e9e}#chat-input #btn-send.tgico-send{color:#50a2e9}#chat-input #btn-record-cancel,#chat-input #btn-send{font-size:1.5rem;line-height:1.5rem;background-color:#fff}#chat-input .record-time{height:44px;line-height:44px;display:none}#chat-input .record-time:after{content:" ";width:10px;height:10px;background-color:#e53935;border-radius:50%;margin:0 9px;display:inline-block;-webkit-animation:recordBlink 1.25s infinite;animation:recordBlink 1.25s infinite}#chat-input .record-ripple{border-radius:50%;background-color:rgba(0,0,0,0.2);width:240px;height:240px;transform:scale(0);position:absolute;top:-94px;left:-94px;transition:transform .03s, visibility .1s;visibility:hidden}@media only screen and (max-width: 896px){#chat-input .record-ripple{width:300px;height:300px;top:-124px;left:-124px}}#chat-input.is-recording #btn-record-cancel{opacity:1;visibility:visible;margin-right:9px;transition:width .1s, margin-right .1s, visibility 0s .1s, opacity .1s .1s}#chat-input.is-recording #attach-file{display:none}#chat-input.is-recording .record-time{display:block}#chat-input.is-recording .record-ripple{transition:transform .03s, visibility 0s;visibility:visible}#chat-input:not(.is-recording) #btn-record-cancel{margin-right:0;width:0px}@-webkit-keyframes recordBlink{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}@keyframes recordBlink{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}#im-title{cursor:pointer;font-size:18px;line-height:24px;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 1.5rem);overflow:hidden}#im-title span.emoji{vertical-align:inherit}.info#im-subtitle{margin-top:-2px}.chat-container{display:flex;width:100%;align-items:center;flex-direction:column;position:relative}.chat-container .chat-background{overflow:hidden}.chat-container .chat-background,.chat-container .chat-background:before{position:absolute !important;top:0;left:0;bottom:0;right:0}.chat-container .chat-background:before{content:"";display:block;background-image:url("assets/img/camomile_blurred.jpg");background-size:cover;background-position:center center}@media only screen and (min-width: 1276px){body.animation-level-2 .chat-container .chat-background:before{margin:-16rem -5rem -20rem 0;transform:scale(1);transform-origin:left center;transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.animation-level-2.is-right-column-shown .chat-container .chat-background:before{transform:scale(0.67)}}.chat-container #chat-background-canvas{display:none}.chat-container .input-message{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3.75rem);justify-content:center;background-color:#fff;border-radius:12px;border-bottom-right-radius:0;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);margin-right:9px;padding:4.5px .5rem;min-height:54px;max-height:30rem;caret-color:#4EA4F6;flex:1;position:relative;z-index:3}@media only screen and (max-width: 896px){.chat-container .input-message{min-height:46px;padding:.5px .5rem}}.chat-container .input-message:after{position:absolute;bottom:-1px;width:11px;height:20px;background-repeat:no-repeat repeat;content:'';background-size:11px 20px;right:-9px;background-image:url("assets/img/msg-tail-left.svg");transform:scaleX(-1)}.chat-container .input-message #attach-file.menu-open{color:#50a2e9;background-color:transparent}.chat-container .input-message #attach-file .btn-menu{padding:8px 0;right:-8px;bottom:calc(100% + 16px)}.chat-container .input-message #attach-file .btn-menu>div{padding:0 38px 0 16px}.chat-container .input-message>div{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-container .input-message .reply-wrapper{justify-content:flex-start;overflow:hidden;transition:.2s all;height:0px}.chat-container .input-message .reply-wrapper.active{height:39px}.chat-container .input-message .reply-wrapper .reply{width:100%;margin-left:.5rem;min-height:35px}.chat-container .input-message .new-message-wrapper{align-items:flex-end}.chat-container .input-message .new-message-wrapper .btn-icon:before{vertical-align:bottom}.chat-container .input-message .input-message-container{width:1%;max-height:inherit;flex:1 1 auto;position:relative;overflow:hidden}.chat-container .input-message .input-message-container>.scrollable{position:relative}.chat-container .input-message .btn-icon{display:block;transition:.2s color;flex:0 0 auto;font-size:24px;line-height:24px;padding:10px 7px 9px 7.5px;color:#8d969c}.chat-container .input-message .btn-icon.active{color:#50a2e9}.chat-container .input-message .emoji{font-size:24px;height:24px;width:24px}@media only screen and (max-width: 896px){.chat-container .pinned-message{position:absolute !important;top:100%;width:100% !important;background:#fff;left:0;max-height:100% !important;height:52px;padding:1rem}.chat-container .pinned-message-subtitle{line-height:13px !important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:280px}}.chat-container .pinned-message,.chat-container .reply{cursor:pointer;display:flex;flex-direction:row;align-items:center;overflow:hidden;box-sizing:border-box;width:187px;margin-right:1rem;max-height:35px;position:relative}.chat-container .pinned-message.is-media .pinned-message-content,.chat-container .pinned-message.is-media .reply-content,.chat-container .reply.is-media .pinned-message-content,.chat-container .reply.is-media .reply-content{padding-left:40px}html.no-touch .chat-container .pinned-message:hover,html.no-touch .chat-container .reply:hover{background-color:rgba(112,117,121,0.08)}.chat-container .pinned-message-border,.chat-container .reply-border{height:32px;border-radius:1px;min-width:2px;background:#50a2e9}.chat-container .pinned-message-content,.chat-container .reply-content{margin-left:8px;flex-grow:1;flex-shrink:1;overflow:hidden;pointer-events:none;position:relative;height:32px;display:flex;flex-direction:column;justify-content:space-between}.chat-container .pinned-message-title,.chat-container .reply-title{color:#50a2e9}.chat-container .pinned-message-title,.chat-container .pinned-message-subtitle,.chat-container .reply-title,.chat-container .reply-subtitle{font-size:14px;line-height:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-container .pinned-message-subtitle,.chat-container .reply-subtitle{white-space:nowrap;color:#111}.chat-container .pinned-message-media,.chat-container .reply-media{height:32px;width:32px;border-radius:8px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.chat-container .pinned-message i,.chat-container .reply i{font-style:normal;color:#50a2e9}.chat-container .pinned-message img.emoji,.chat-container .reply img.emoji{height:16px;width:16px;vertical-align:top}.chat-container .pinned-message span.emoji,.chat-container .reply span.emoji{font-size:16px;vertical-align:unset}.chat-container .pinned-message{display:none}.chat-container .pinned-container{flex:0 0 auto}@media only screen and (max-width: 896px){.chat-container .pinned-container{box-shadow:0px 1px 3px 0px rgba(0,0,0,0.15)}.chat-container .pinned-container:before{width:100%;content:" ";height:52px;left:0;top:0;position:absolute;box-shadow:inset 0px 1px 2px 0px rgba(0,0,0,0.15)}}.chat-container .pinned-container .pinned-message-close,.chat-container .pinned-container .pinned-audio-close,.chat-container .pinned-container .pinned-audio-ico{font-size:1.5rem;position:absolute;display:flex;justify-content:center;right:0}.chat-container .pinned-container .pinned-message-close.tgico-close,.chat-container .pinned-container .pinned-audio-close.tgico-close,.chat-container .pinned-container .pinned-audio-ico.tgico-close{visibility:hidden}@media only screen and (max-width: 896px){.chat-container .pinned-container .pinned-message-close.tgico-close,.chat-container .pinned-container .pinned-audio-close.tgico-close,.chat-container .pinned-container .pinned-audio-ico.tgico-close{font-size:1.4rem;right:9px;visibility:visible}}.chat-container .pinned-audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer}@media only screen and (max-width: 896px){.chat-container .pinned-audio{height:52px;padding-left:58px;background:#fff;width:100%;position:absolute;left:0;top:100%}}@media only screen and (min-width: 897px){.chat-container .pinned-audio{padding-left:2.5rem;padding-right:2.5rem;max-width:210px;position:relative}}.chat-container .pinned-audio-ico{left:0;right:auto !important;color:#50a2e9}@media only screen and (max-width: 896px){.chat-container .pinned-audio-ico{margin-left:20px}}.chat-container .pinned-audio-ico:before{content:""}.chat-container .pinned-audio-ico.flip-icon:before{content:""}.chat-container .pinned-audio-title{font-weight:500;width:100%;max-width:100%}.chat-container .pinned-audio-subtitle{color:#707579}.chat-container .pinned-audio-title,.chat-container .pinned-audio-subtitle{white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1.4;overflow:hidden;max-width:240px}#bubbles{width:100%;height:100%;max-height:100%;flex:1 1 auto;overflow:hidden;position:relative;padding:0 .5rem;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}#bubbles>.scrollable{padding:0 .75rem;height:auto;display:block}@media only screen and (max-width: 896px){#bubbles>.scrollable{padding:0 .5rem}}@media only screen and (min-width: 1276px){#bubbles>.scrollable{transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.is-right-column-shown #bubbles>.scrollable{transform:translate3d(calc(var(--right-column-width) / -2), 0, 0)}body.animation-level-0 #bubbles>.scrollable{transition:none}}@media only screen and (min-width: 1276px){#bubbles>.preloader-container{transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.is-right-column-shown #bubbles>.preloader-container{transform:translate3d(calc(var(--right-column-width) / -2), 0, 0)}body.animation-level-0 #bubbles>.preloader-container{transition:none}}#bubbles:not(.scrolled-down):not(.search-results-active){-webkit-mask-image:linear-gradient(0deg, transparent 0, #000 20px);mask-image:linear-gradient(0deg, transparent 0, #000 20px)}#bubbles:not(.scrolled-down):not(.search-results-active) #bubbles-go-down{opacity:1}#bubbles .preloader{width:100%;height:100%}#bubbles .preloader svg{width:50px;height:50px}#bubbles .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}#bubbles .search-group.search-group-messages{padding:0.25rem 0 .5rem}#bubbles-inner{width:100%;display:flex;flex-direction:column;flex-shrink:1;margin:0 auto;box-sizing:border-box;min-height:100%;justify-content:flex-end;max-width:min(calc(100% - 48px), 696px)}@media only screen and (max-width: 896px){#bubbles-inner{max-width:min(100%, 680px)}html.is-mac #bubbles-inner{-webkit-user-select:none;-webkit-touch-callout:none}}#bubbles-inner.is-chat .is-in .bubble__container{margin-left:45px}@media only screen and (max-width: 896px){#bubbles-inner.is-chat .is-in .bubble__container{max-width:calc(100% - 5.5625rem)}}#bubbles-inner.is-channel:not(.is-chat) .bubble__container{max-width:100%}#bubbles-inner.is-channel:not(.is-chat) .bubble.with-beside-button .bubble__container{max-width:calc(100% - 2.875rem) !important}#bubbles-inner.is-channel:not(.is-chat):not(.has-rights){padding-bottom:55px}#bubbles-inner:not(.is-channel) .message,#bubbles-inner.is-chat .message{max-width:480px}#bubbles-inner.is-scrolling .is-sticky{opacity:0.99999}#bubbles-go-down{position:absolute;background-color:#fff;border-radius:50%;width:3.25rem;height:3.25rem;color:#9e9e9e;font-size:30px;display:flex;align-items:center;justify-content:center;right:17.5px;bottom:17.5px;cursor:pointer;opacity:0;transition:.2s opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}@media only screen and (max-width: 896px){#bubbles-go-down{width:2.875rem;height:2.875rem}}#bubbles-go-down:before{margin-left:.75px}@media only screen and (max-width: 896px){#bubbles-go-down{right:.5rem}}@media only screen and (min-width: 1276px){#bubbles-go-down{transition:transform .2s ease-in-out;transition:transform var(--layer-transition)}body.is-right-column-shown #bubbles-go-down{transform:translate3d(calc(var(--right-column-width) * -1), 0, 0)}body.animation-level-0 #bubbles-go-down{transition:none}}.popup.popup-delete-message .popup-header{margin-bottom:1rem}.chat-search{position:absolute !important;top:0;z-index:2}.chat-search-footer{height:46px;padding:0 8px;flex:0 0 auto;width:100%;background-color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0px -1px 5px -1px rgba(0,0,0,0.21)}.chat-search-footer .chat-search-count{margin-left:8px;color:#949596}.chat-search-footer+#chat-input{display:none}.chat-search-count:empty{display:none}.chat-search-count:not(:empty)+.btn-icon{display:none}.chat-search-controls{display:flex}.chat-search-results{width:100%;height:100%;max-height:100%;overflow:hidden;position:absolute;top:0;left:0;visibility:hidden;opacity:0;background-color:#fff;transition:.2s ease}.chat-search-results.active{opacity:1;visibility:visible}.chat-search .tgico-up{margin-right:2px}.quiz-hint{position:absolute;left:0;display:flex;width:100%;justify-content:center;z-index:5;top:8px;align-items:center;transform:translateY(calc(-100% - 10px));transition:transform .2s ease}.quiz-hint.active{transform:translateY(0)}.quiz-hint .container{background:rgba(0,0,0,0.7);text-align:center;width:auto;padding:10px 18px 12px 50px;min-height:48px;border-radius:12px;line-height:1.5;color:white;font-size:15px;max-width:400px;overflow:hidden;text-align:left;position:relative;display:flex;align-items:center;flex-wrap:wrap}@media only screen and (max-width: 896px){.quiz-hint .container{padding:10px 18px 12px 54px;margin:0 10px;font-size:14px}}.quiz-hint .container .text{word-break:break-word}.quiz-hint .container:before{content:"";position:absolute;left:15px;font-size:1.5rem;top:12px}.quiz-hint .container a{color:white;border-bottom:1px solid white}@-webkit-keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}.bubbles-date-group{position:relative}.bubbles-date-group .sticky_sentinel--top{height:.25rem;top:0}.bubble{padding-top:.25rem;position:relative;z-index:1;margin:0 auto}.bubble.is-selected:after{position:absolute;left:-50%;top:0;height:100%;content:" ";background-color:rgba(0,132,255,0.3);-webkit-animation:bubbleSelected 2s linear;animation:bubbleSelected 2s linear;z-index:1}.bubble.is-selected:not(.is-group-last):after{height:calc(100% + $bubble-margin)}@media only screen and (max-width: 896px){.bubble.is-first-unread{max-width:unset}}.bubble.is-first-unread:before{content:"Unread messages";height:30px;margin-bottom:.25rem;margin-left:-50%;text-align:center;color:#538BCC;line-height:2.1;font-weight:500;font-size:15px;background-color:rgba(255,255,255,0.95)}.bubble.is-selected:after,.bubble.is-first-unread:before{width:200%;display:block}.bubble.is-date{position:-webkit-sticky;position:sticky;top:.25rem;z-index:2;transition:opacity .3s ease;opacity:0.99999}.bubble.is-date.is-sticky{opacity:0.00001}#bubbles-inner:not(.is-scrolling) .bubble.is-date.is-sticky .bubble__container{cursor:default}.bubble.is-date .bubble__container{cursor:pointer}.bubble__container{min-width:56px;max-width:100%;border-radius:12px;box-shadow:0 1px 2px 0 rgba(16,35,47,0.15);position:relative;display:flex;flex-direction:column-reverse;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:2}@media only screen and (min-width: 897px){.bubble__container{max-width:85%}}@media only screen and (max-width: 896px){.bubble__container{max-width:calc(100% - 5.5625rem)}}.bubble__container>.user-avatar{position:absolute;left:-45px;width:40px;height:40px;line-height:40px;bottom:0;font-size:1rem;cursor:pointer}.bubble.service{padding:.25rem 0;max-width:696px}.bubble.service .bubble__container{margin:0 auto;max-width:100%}.bubble-beside-button{position:absolute;right:-46px;bottom:0;width:38px;height:38px;font-size:1.5rem;align-items:center;display:flex;justify-content:center;color:#fff;border-radius:50%;background:rgba(0,0,0,0.16);cursor:pointer}.bubble .forward svg{width:20px;height:20px}.bubble .message strong{font-weight:500 !important}.bubble.is-group-last{padding-bottom:.25rem}.bubble:not(.forwarded):not(.is-group-first) .bubble__container>.name{display:none}.bubble:not(.forwarded):not(.is-group-first):not(.is-message-empty):not(.is-reply) .message{padding-top:6px}.bubble:not(.is-group-last) .bubble__container>.user-avatar{display:none}.bubble:not(.hide-name) .audio{margin:4px 0}.bubble .reply{width:auto}.bubble .reply .reply-content{height:auto;min-height:32px}.bubble.photo .bubble__container,.bubble.video .bubble__container{width:-webkit-min-content;width:-moz-min-content;width:min-content}.bubble.photo .box.web,.bubble.video .box.web{max-width:100%}.bubble.webpage .time{float:none;width:0}.bubble .preview-resizer{display:flex}.bubble img.emoji{height:18px;width:18px;margin:0 .05rem;vertical-align:bottom}.bubble span.emoji{height:auto;width:auto;overflow:visible;vertical-align:unset}.bubble .thumbnail{position:absolute}.bubble.emoji-big{font-size:0}.bubble.emoji-big .bubble__container{background:none !important;box-shadow:none;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble.emoji-big:not(.sticker) .attachment{padding-top:.5rem;padding-bottom:1.5rem;max-height:-webkit-fit-content !important;max-height:-moz-fit-content !important;max-height:fit-content !important}.bubble.emoji-big:not(.sticker) .attachment span.emoji{height:auto;width:auto}.bubble.emoji-big.sticker .bubble__container{max-width:140px !important;max-height:140px !important}.bubble.emoji-1x .attachment{font-size:96px}.bubble.emoji-1x .attachment img.emoji{height:64px;width:64px}.bubble.emoji-2x .attachment{font-size:64px}.bubble.emoji-2x .attachment img.emoji{height:48px;width:48px}.bubble.emoji-3x .attachment{font-size:52px}.bubble.emoji-3x .attachment img.emoji{height:32px;width:32px}.bubble.sticker .bubble__container,.bubble.round .bubble__container,.bubble.emoji-big .bubble__container{cursor:pointer;background:none !important;box-shadow:none}.bubble.sticker img,.bubble.round img,.bubble.emoji-big img{-o-object-fit:contain;object-fit:contain}.bubble.sticker.is-message-empty .message,.bubble.round.is-message-empty .message,.bubble.emoji-big.is-message-empty .message{background-color:rgba(0,0,0,0.23)}.bubble.sticker .attachment{border-radius:0}.bubble.sticker .bubble__container{max-width:200px !important;max-height:200px !important}.bubble.round .attachment{max-width:200px !important;max-height:200px !important}.bubble.round .attachment img{border-radius:50%}.bubble:not(.is-message-empty) .attachment{border-bottom-left-radius:0;border-bottom-right-radius:0}.bubble:not(.emoji-big) .attachment{font-size:0}.bubble .attachment{max-width:100%;border-radius:inherit;overflow:hidden;display:flex;justify-content:center;position:relative}.bubble .attachment img,.bubble .attachment video{max-width:100%;cursor:pointer;opacity:1;transition:opacity .3s ease}.bubble .attachment .download{position:absolute;left:0;top:0;height:100%;width:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.bubble .attachment .download span{background-color:rgba(0,0,0,0.35);font-size:23px;color:#fff;text-align:center}.bubble .attachment .download ~ .video-play,.bubble .attachment .preloader-container ~ .video-play{display:none}.bubble:not(.sticker) .attachment{max-width:min(480px, 100%);max-height:min(480px, 100%);width:-webkit-max-content;width:-moz-max-content;width:max-content}.bubble img:not(.emoji),.bubble video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.bubble.is-album .attachment{max-width:min(451px, 100%);max-height:none}.bubble.is-album .attachment .album-item{background-color:#000;background-size:cover;max-width:100%;cursor:pointer;position:absolute;overflow:hidden}.bubble.is-album .attachment .album-item img,.bubble.is-album .attachment .album-item video{border-radius:inherit}.bubble.round .attachment{max-height:200px;max-width:200px}.bubble .box,.bubble .reply{font-size:.95rem;margin:4px 4px 4px 6px;padding:4px;margin-bottom:-5px;border-radius:4px}.bubble .box.web,.bubble .reply.web{margin-top:-6px;max-width:100%;overflow:hidden}.bubble .box.web .preview,.bubble .reply.web .preview{max-height:min(400px, 100%);max-width:min(480px, 100%);border-radius:4px;margin-bottom:3px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;position:relative;width:-webkit-max-content;width:-moz-max-content;width:max-content}.bubble .box.web .preview img,.bubble .box.web .preview video,.bubble .reply.web .preview img,.bubble .reply.web .preview video{max-width:100%}.bubble .box.web .title,.bubble .reply.web .title{letter-spacing:-0.2px;line-height:1.2;font-weight:500 !important}.bubble .box.web .name,.bubble .reply.web .name{letter-spacing:-0.3px;display:block}html.no-touch .bubble .box.web .name:hover,html.no-touch .bubble .reply.web .name:hover{text-decoration:underline}.bubble .box.web .text,.bubble .reply.web .text{overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:-0.3px;margin-top:2px;font-size:0.965rem}.bubble .box .quote,.bubble .reply .quote{padding-left:0.55rem;max-width:100%;overflow:hidden;width:100%}.bubble .box .text,.bubble .reply .text{line-height:1.2}.bubble .box .name,.bubble .box .reply-title,.bubble .reply .name,.bubble .reply .reply-title{font-weight:500 !important;display:inline !important}.bubble.is-square-photo .bubble__container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bubble.is-square-photo .box.web .quote{display:flex}.bubble.is-square-photo .box.web .preview-resizer{order:2;flex-shrink:0;max-width:5rem;max-height:5rem}.bubble.is-square-photo .box.web .preview-resizer .preview{max-width:min(5rem, 100%);max-height:min(5rem, 100%)}.bubble.is-square-photo .box.web .quote-text{order:1;padding-right:1rem}.bubble.is-vertical-photo .bubble__container{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bubble .reply{max-width:300px;margin-bottom:6px;margin-top:0;cursor:pointer}.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:10px;border-radius:12px;border:1px solid #ccc;max-width:300px;height:54px;max-height:54px;white-space:nowrap;position:absolute;top:0;margin-bottom:0}@media only screen and (max-width: 896px){.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:8px 6px 8px 8px;max-width:94px}}.bubble.is-reply.emoji-big .reply .reply-content,.bubble.is-reply.sticker .reply .reply-content{margin-top:0}.bubble.is-reply .reply-content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bubble .message{font-size:16px;padding:0 .6rem 6px .6rem;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#000;line-height:21px;word-break:break-word}.bubble .message:last-child{padding-top:6px}.bubble .message .emoji{font-size:1.2rem}.bubble .message pre,.bubble .message code{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.bubble .message.audio-message{min-width:275px;max-width:275px !important;padding-top:8px !important;padding-left:8px !important}.bubble .message.audio-message .audio{justify-content:unset;max-width:none}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio{height:59px;padding-left:47px}}.bubble .message.audio-message .audio-time{padding-bottom:7px}.bubble .message.audio-message .audio-time,.bubble .message.audio-message .audio-subtitle{color:#4fae4e;line-height:1.45;margin-top:0}.bubble .message.audio-message .audio-title{font-weight:500;margin-left:-1px}.bubble .message.audio-message .audio-details{margin-top:8px}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio-details{margin-top:-1px}}.bubble .message.audio-message .audio-ico{font-size:2.15rem}@media only screen and (max-width: 896px){.bubble .message.audio-message .audio-ico{margin-top:1px;margin-left:2px}}.bubble .message.audio-message .progress-line{width:191px;margin:9px 0 9px}@media only screen and (max-width: 896px){.bubble .message.audio-message .progress-line{width:unset}}.bubble .message.audio-message .progress-line__filled{background-color:#47aa41;transform-origin:left;height:2px}.bubble .message.audio-message .progress-line__seek{height:2px;overflow:visible !important;background:rgba(124,195,107,0.52)}.bubble .message.audio-message .progress-line__seek::-webkit-slider-thumb{height:12px;width:12px;background:#47aa41;border:none}.bubble .message.audio-message .tgico-largeplay:before{content:"";margin-right:-2px}.bubble .message.audio-message .time{width:unset}.bubble .message.contact-message{min-width:200px;padding-left:8px}.bubble .message.contact-message .contact{display:flex;padding:2px 0;cursor:pointer}.bubble .message.contact-message .contact-avatar{color:#fff}.bubble .message.contact-message .contact-details{padding-left:12px;margin-top:8px}.bubble .message.contact-message .contact-name{font-size:1rem;font-weight:500}.bubble .message.contact-message .contact-number{font-size:14px;line-height:1.4}.bubble .message.contact-message .time{width:unset}.bubble .message.document-message{max-width:325px !important}.bubble .message.document-message .time{width:unset}.bubble .message.document-message .document{padding-left:66px;height:58px}@media only screen and (max-width: 896px){.bubble .message.document-message .document{padding-left:44px}}.bubble .message.document-message .document-name{line-height:1.4;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.bubble.is-message-empty .message{position:absolute;bottom:.1rem;right:.2rem;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0 .2rem;z-index:2}.bubble.is-message-empty .message .time{color:#fff;padding:0;display:flex;align-items:center;width:auto !important}.bubble.is-message-empty .message .time .inner{margin-bottom:0;position:relative;padding:0 2.5px;bottom:0}.bubble .time{font-size:.8rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;float:right;user-select:none;height:20px;line-height:20px}.bubble .time .inner{position:absolute;bottom:0;right:0;font-size:12px;display:flex;align-items:center;line-height:1}.bubble .time .inner i{font-size:1.15rem;margin-right:.4rem}.bubble .time .inner i.edited{overflow:visible;font-size:.8rem}.bubble span.video-time{position:absolute;top:3px;left:3px;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 6px;z-index:2;font-size:12px;color:white;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble span.video-play{background-color:rgba(0,0,0,0.35);color:#fff;text-align:center;font-size:34px;line-height:60px;cursor:pointer}.bubble.is-edited.channel-post .time{min-width:calc(5rem + 46px)}.bubble.channel-post .time{width:5rem}.bubble.is-edited .time{width:78px !important}.bubble.is-edited.emoji-big .time,.bubble.is-edited.sticker .time{min-width:unset}.bubble:not(.forwarded).hide-name .name,.bubble.emoji-big .name{display:none}.bubble .name{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bubble__container>.name{padding:5px .6rem 0 .6rem;font-weight:500 !important;color:#50a2e9;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bubble:not(.webpage).photo .name,.bubble:not(.webpage).video .name{padding-bottom:6px}.bubble:not(.webpage).photo:not(.is-message-empty) .message,.bubble:not(.webpage).video:not(.is-message-empty) .message{padding-top:6px}.bubble:not(.webpage):not(.is-album):not(.sticker):not(.round):not(.emoji-big) .attachment,.bubble .album-item{background-color:#000}.bubble.hide-name:not(.is-reply):not(.is-message-empty) .message{padding-top:6px}.bubble:not(.sticker):not(.emoji-big).hide-name .reply,.bubble:not(.sticker):not(.emoji-big):not(.is-group-first) .reply,.bubble:not(.sticker):not(.emoji-big).is-out .reply{margin-top:6px}.bubble:not(.sticker):not(.emoji-big):not(.round).is-group-last .bubble__container:after{position:absolute;bottom:0;width:11px;height:20px;background-repeat:no-repeat no-repeat;content:'';background-size:11px 20px;background-position-y:1px}.bubble.photo.is-message-empty.is-group-last .bubble__container:after,.bubble.video.is-message-empty.is-group-last .bubble__container:after{display:none}.bubble.is-message-empty.is-group-last.with-media-tail .bubble__container:after{display:none}.bubble.is-message-empty.is-group-last.with-media-tail .attachment{overflow:visible}.bubble__media-container{cursor:pointer}.bubble.service{align-self:center}.bubble.service .service-msg{color:#fff;background-color:rgba(0,0,0,0.24);font-size:14px;padding:0 8px;line-height:24px;border-radius:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.bubble.service .service-msg .name{cursor:pointer;margin-right:5px}.bubble.service .service-msg img.emoji{margin-bottom:3px}.bubble-audio .time{width:unset !important;padding-left:14px !important}@media only screen and (max-width: 896px){.bubble-audio .time{padding-left:0px !important}}.bubble.is-in .bubble__container{margin-right:auto;background-color:#ffffff}.bubble.is-in .bubble__container,.bubble.is-in .bubble__container .poll-footer-button{border-radius:6px 12px 12px 6px}.bubble.is-in.is-group-first .bubble__container,.bubble.is-in.is-group-first .poll-footer-button{border-radius:12px 12px 12px 6px}.bubble.is-in.is-group-last .bubble__container,.bubble.is-in.is-group-last .poll-footer-button{border-radius:6px 12px 12px 0px}.bubble.is-in.is-group-last .bubble__container:after{left:-8.4px;background-image:url("assets/img/msg-tail-left.svg")}.bubble.is-in.is-group-first.is-group-last .bubble__container,.bubble.is-in.is-group-first.is-group-last .poll-footer-button{border-radius:12px 12px 12px 0px}.bubble.is-in.forwarded .attachment,.bubble.is-in.is-reply .attachment,.bubble.is-in:not(.hide-name).is-message-empty .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-in a{color:#50a2e9}html.no-touch .bubble.is-in .quote:hover{background-color:rgba(112,117,121,0.08)}.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 10px);background-color:#fff}@media only screen and (max-width: 896px){.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 1px)}}.bubble.is-in .quote{border-left:2px #50a2e9 solid}.bubble.is-in .quote *{overflow:hidden;text-overflow:ellipsis}.bubble.is-in .quote .name,.bubble.is-in .reply-title{color:#50a2e9}.bubble.is-in .time{color:#a3adb6;padding-left:36px}.bubble.is-in .time .inner{padding:0 7px 0 5px;margin-bottom:4px}.bubble.is-in.is-message-empty.is-group-last:not(.with-media-tail).photo .bubble__container,.bubble.is-in.is-message-empty.is-group-last:not(.with-media-tail).video .bubble__container{border-bottom-left-radius:6px}.bubble.is-in.is-message-empty.is-group-last.with-media-tail .attachment{border-bottom-left-radius:0}.bubble.is-in.is-message-empty.is-group-last.with-media-tail .bubble__media-container{margin-left:-9px}.bubble.is-in .audio-subtitle,.bubble.is-in .contact-number,.bubble.is-in .audio-time{color:#707579 !important}.bubble.is-in .message.audio-message .progress-line__seek{background:rgba(193,207,220,0.39)}.bubble.is-in .message.audio-message .progress-line__filled{background-color:#0089ff}.bubble.is-in .message.audio-message .progress-line__loaded{background-color:#cacaca}.bubble.is-in .message.audio-message .progress-line input::-webkit-slider-thumb{background:#63a2e3;border:none}.bubble.is-out .bubble__container{margin-left:auto;background-color:#eeffde}.bubble.is-out .bubble__container>.user-avatar{left:auto;right:-2.5rem}.bubble.is-out .bubble__container,.bubble.is-out .bubble__container .poll-footer-button{border-radius:12px 6px 6px 12px}.bubble.is-out.is-group-first .bubble__container,.bubble.is-out.is-group-first .poll-footer-button{border-radius:12px 12px 6px 12px}.bubble.is-out.is-group-last .bubble__container,.bubble.is-out.is-group-last .poll-footer-button{border-radius:12px 6px 0px 12px}.bubble.is-out.is-group-last .bubble__container:after{right:-8.4px;background-image:url("assets/img/msg-tail-right.svg")}.bubble.is-out.is-group-first.is-group-last .bubble__container,.bubble.is-out.is-group-first.is-group-last .poll-footer-button{border-radius:12px 12px 0px 12px}.bubble.is-out.forwarded .attachment,.bubble.is-out.is-reply .attachment{border-top-left-radius:0;border-top-right-radius:0}html.no-touch .bubble.is-out .quote:hover{background-color:rgba(77,205,94,0.12)}.bubble.is-out.is-reply.emoji-big .box,.bubble.is-out.is-reply.emoji-big .reply,.bubble.is-out.is-reply.sticker .box,.bubble.is-out.is-reply.sticker .reply{background-color:#eeffde;right:calc(100% + 10px);border-color:rgba(77,205,94,0.12)}.bubble.is-out .quote{border-left:2px #50af4f solid}.bubble.is-out .reply-border{background-color:#50af4f}.bubble.is-out .quote .name,.bubble.is-out .reply-title{color:#50af4f}.bubble.is-out .time{color:#50af4f;width:50px;display:inline-block}.bubble.is-out .time .inner{padding:0 4px 0 4px;bottom:1px}.bubble.is-out .time .tgico:after{font-size:19px;vertical-align:middle;margin-left:1px}.bubble.is-out.forwarded .name{color:#50af4f}.bubble.is-out.is-read .time .tgico:after{content:""}.bubble.is-out.is-sent .time .tgico:after{content:""}.bubble.is-out.is-sending .time .tgico:after{content:""}.bubble.is-out.is-reply .name{display:none}.bubble.is-out.is-edited .time{width:90px !important}.bubble.is-out .document-ico:after{border-top-color:#eeffde;border-right-color:#eeffde}.bubble.is-out .audio-waveform rect{fill:#B8DDA9}.bubble.is-out .audio-waveform rect.active{fill:#68AB5A}.bubble.is-out .audio-time,.bubble.is-out .audio-subtitle{color:#68AB5A}.bubble.is-out .audio-toggle,.bubble.is-out .audio-download{background-color:#4FAE4E}.bubble.is-out .audio-download:empty{display:none}.bubble.is-out.is-message-empty.is-group-last:not(.with-media-tail).photo .bubble__container,.bubble.is-out.is-message-empty.is-group-last:not(.with-media-tail).video .bubble__container{border-bottom-right-radius:6px}.bubble.is-out.is-message-empty.is-group-last.with-media-tail .attachment{border-bottom-right-radius:0}.bubble.is-out.is-message-empty.is-group-last.with-media-tail .bubble__media-container{margin-right:-9px}.bubble.is-out .audio-subtitle,.bubble.is-out .contact-number,.bubble.is-out .document-size{color:#4FAE4E}.bubble.is-out poll-element .poll-desc,.bubble.is-out poll-element .poll-votes-count{color:#50af4f}.bubble.is-out poll-element .poll-line use{stroke:#4fae4e}.bubble.is-out poll-element .poll-answer-selected{background-color:#4fae4e}html.no-touch .bubble.is-out poll-element .poll-answer:hover .animation-ring{background-color:rgba(79,174,78,0.08)}.bubble.is-out poll-element .poll-footer-button{color:#4fae4e}.bubble.is-out poll-element .progress-ring__circle{stroke:#4fae4e}.bubble.is-out.is-sending poll-element{pointer-events:none}.bubble.is-out .progress-line__loaded{background-color:#90e18d !important}.bubble.is-out .bubble-beside-button{right:auto;left:-46px}.reply-markup{position:absolute;width:100%}.reply-markup-row{margin-top:5px;overflow:hidden;height:40px;display:flex}.reply-markup-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.reply-markup-button{display:flex;justify-content:center;align-items:center;border-radius:6px;background-color:rgba(0,0,0,0.23);z-index:2;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;color:white !important;outline:none;border:none;width:100%;cursor:pointer;position:relative;transition:background-color 0.35s ease}html.no-touch .reply-markup-button:hover{background-color:rgba(0,0,0,0.06)}.reply-markup-button+.reply-markup-button{margin-left:5px}.reply-markup-button.is-link:before{content:"";position:absolute;right:2px;top:2px;display:block;transform:rotate(-45deg)}poll-element{margin-top:-1px;display:block;min-width:330px}@media only screen and (max-width: 896px){poll-element{min-width:240px}}poll-element:not(.is-closed):not(.is-voted) .poll-answer{cursor:pointer}poll-element .poll-title{font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){poll-element .poll-title{max-width:88%}}poll-element .poll-desc{font-size:14px;color:#707579;margin-top:2px;margin-bottom:7px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;position:relative}poll-element .poll-hint{position:absolute;font-size:1.5rem;top:-4px;right:2px;color:#50a2e9;cursor:pointer;transform:scale(1);transition:transform .2s ease}poll-element .poll-hint.active{transform:scale(0);pointer-events:none}poll-element .poll-send-vote{cursor:default}poll-element .poll-avatars{display:flex;margin-left:18px}poll-element .poll-answer{display:flex;position:relative;padding-bottom:20px;padding-left:28px;margin-top:1px}poll-element .poll-answer-text{margin-top:6px;margin-left:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}poll-element .poll-answer-percents{position:absolute;left:0;top:0;opacity:0;font-weight:500;margin-top:7px;font-size:14px;transition:.34s opacity;margin-left:-9px;text-align:right;width:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}poll-element .poll-answer-selected{position:absolute;bottom:1px;left:15px;color:#fff;background:#50a2e9;border-radius:50%;height:16px;width:16px;font-weight:bold;font-size:14px;line-height:1.4;opacity:0;-webkit-animation:fadeIn .1s ease forwards;animation:fadeIn .1s ease forwards;animation-direction:reverse;-webkit-animation-delay:.24s;animation-delay:.24s;text-align:center}poll-element .poll-answer-selected:before{content:"";font-weight:bold}html.no-touch poll-element .poll-answer:hover .animation-ring{visibility:visible;transform:scale(1)}poll-element .poll-answer.is-voting .progress-ring__circle{stroke-dashoffset:-19.792;-webkit-animation:pollAnswerRotate 0.65s linear infinite;animation:pollAnswerRotate 0.65s linear infinite}poll-element .poll-answer:not(.is-correct):not(.is-chosen) .poll-answer-selected{display:none}poll-element .poll-answer.is-chosing .poll-answer-selected{opacity:1}poll-element .poll-answer.is-chosing ~ .poll-footer .poll-send-vote{cursor:pointer}poll-element .poll-votes-count{color:#707579;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:1px}poll-element .poll-line{height:35px;position:absolute;left:10px;bottom:2px;transition:stroke-dashoffset .34s linear, stroke-dasharray .34s linear;stroke-dashoffset:0;stroke-dasharray:0, 485.9}poll-element .poll-line use{stroke-width:4px;stroke-linecap:round;stroke:#50a2e9;fill:none}poll-element .poll-footer{text-align:center;margin-top:7px;height:21px}poll-element .poll-footer-button{cursor:pointer;position:absolute;left:0;margin-top:-7px;width:100%;height:41px;color:#50a2e9;font-weight:500;border-top-left-radius:0 !important;border-top-right-radius:0 !important;font-size:1rem;line-height:37px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}poll-element .poll-quiz-timer{width:32px;height:32px;stroke:#a3adb6;transform:rotate(270deg);top:-7px;fill:none;position:absolute;right:-2px;stroke-linecap:round}poll-element .poll-time{font-size:12px;font-weight:500;position:absolute;right:27px;color:#a3adb6}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) use{stroke:#DF3F40}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) .poll-answer-selected{background:#DF3F40}poll-element.is-quiz .poll-answer.is-chosen:not(.is-correct) .poll-answer-selected:before{content:"";font-size:12px}poll-element avatar-element{width:18px;height:18px;border:1px solid #fff;line-height:20px;font-size:10px;cursor:pointer}poll-element+.time{height:unset !important;padding-top:0px !important;padding-bottom:7px !important}poll-element .circle-hover{display:flex;justify-content:center;align-items:center;width:34px;height:34px;position:absolute;left:-1px;top:-1px;transform:scale(1);transition:.1s transform}poll-element .circle-hover .poll-answer-selected{display:flex !important;opacity:0;left:50%;top:50%;transform:translate(-50%, -50%);width:20px;height:20px;font-size:20px;line-height:16px;-webkit-animation:none;animation:none;transition:opacity .2s ease}poll-element .animation-ring{display:block;border-radius:50%;height:34px;width:34px;transition:transform 0.12s;background-color:#f4f4f4;transform:scale(0.1);visibility:hidden}poll-element .progress-ring{height:26px;width:26px;top:unset;left:unset}poll-element .progress-ring__circle{transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 0.15s;stroke-dasharray:56.5487, 56.5487;stroke-dashoffset:0;stroke-opacity:1;stroke-width:2;stroke:#dadbdc;fill:transparent}poll-element.is-voted .circle-hover,poll-element.is-voted .animation-ring{transform:scale(0)}poll-element.is-voted .poll-answer-percents{opacity:1}poll-element.is-voted .poll-answer-selected{-webkit-animation-direction:normal;animation-direction:normal}poll-element.is-retracting .circle-hover{transition-delay:.24s}poll-element.is-retracting .animation-ring{transition-delay:.22s}@-webkit-keyframes pollAnswerRotate{to{transform:rotate(270deg)}}@keyframes pollAnswerRotate{to{transform:rotate(270deg)}}.sidebar{background-color:#fff}.sidebar-header{background-color:#fff;display:flex;align-items:center;justify-content:space-between;padding:7.5px 16px;min-height:56px;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}@media only screen and (max-width: 896px){.sidebar-header{padding:7.5px 8px}}.sidebar-header__title{flex:1;font-weight:500;padding-left:22px;font-size:20px}@media only screen and (max-width: 896px){.sidebar-header__title{padding-left:24px}}.sidebar-header .btn-icon+.btn-icon{margin-left:.5rem}.sidebar-close-button{padding-left:10px}.sidebar-content{width:100%;max-height:100%;height:100%;overflow:hidden;display:flex;position:relative;flex:1 1 auto}.sidebar-content>div{width:100%}#column-left{flex-direction:column}#column-left .folders-tabs-scrollable{z-index:1;background-color:#fff;border-bottom:1px solid #dadce0}#column-left .folders-tabs-scrollable .scrollable{position:relative}#column-left .folders-tabs-scrollable .menu-horizontal{border-bottom:none}#column-left .folders-tabs-scrollable .menu-horizontal ul{justify-content:space-between;z-index:0}#column-left .folders-tabs-scrollable .menu-horizontal li{height:43px;padding:0 16px;display:flex;justify-content:center;align-items:center}#column-left .folders-tabs-scrollable .menu-horizontal li>span:first-child{overflow:visible}#column-left .folders-tabs-scrollable .menu-horizontal li>span:first-child i{bottom:calc(-.625rem - -2px);padding-right:1rem !important;margin-left:-.5rem !important}#column-left .folders-tabs-scrollable .menu-horizontal__stripe{display:none}#column-left .folders-tabs-scrollable span.unread-count{margin-left:5px;background:#50a2e9;height:20px;border-radius:12px;font-weight:500;color:white;line-height:22px;min-width:20px;padding:0 6px}#column-left .folders-tabs-scrollable span.unread-count:empty{display:none}#column-left .folders-tabs-scrollable:not(.hide)+.scrollable{top:44px;height:calc(100% - 44px)}#column-left #chats-container{max-height:100%;overflow:hidden;position:relative}#column-left #folders-container{min-height:100%}#column-left .sidebar-slider{height:100%}#column-left .sidebar-header__btn-container{position:relative;width:39.75px;height:39px}#column-left .sidebar-header__btn-container>*{visibility:hidden;opacity:0;position:absolute;left:0;top:0;transition:.2s opacity;z-index:2}#column-left .sidebar-header__btn-container>*:before{transition:.2s transform;transform:rotate(180deg)}#column-left .sidebar-header__btn-container>*+*{margin-left:0 !important}#column-left .sidebar-header__btn-container>*.active{opacity:1;visibility:visible;color:#707579}#column-left .sidebar-header__btn-container>*.active:before{transform:rotate(0deg)}@media only screen and (max-width: 896px){#column-left .sidebar-header__btn-container .btn-menu{margin-top:-4px}}#column-left .sidebar-tools-button .btn-menu{width:217px}#column-left .sidebar-tools-button .btn-menu .archived-count{border-radius:12px;min-width:24px;padding:0 8px;height:24px;text-align:center;line-height:24px;color:#fff;font-weight:500;background-color:#c5c9cc;justify-self:flex-end;position:absolute;right:16px}@media only screen and (max-width: 896px){#column-left .sidebar-tools-button .btn-menu .archived-count{font-size:14px;font-weight:600}}#column-left .sidebar-tools-button .btn-menu .archived-count:empty{display:none}#column-left .search-group-people ul{display:flex;flex-direction:row;padding-left:4px;margin-top:-1px;padding-bottom:1px}#column-left .search-group-people li{margin-right:5px;padding:0}#column-left .search-group-people .rp{height:98px;max-height:98px;border-radius:10px;max-width:78px;width:78px;align-items:center;position:relative;display:flex;flex-direction:column;cursor:pointer;padding:12px 0 0 !important;overflow:hidden;margin:0}@media only screen and (max-width: 896px){#column-left .search-group-people .rp{width:77px;max-width:77px}}#column-left .search-group-people .dialog-avatar{width:54px;height:54px}#column-left .search-group-people .user-caption{max-width:65px;padding:2px 0px 9px;font-size:12px}@media only screen and (max-width: 896px){#column-left .search-group-people .user-caption{max-width:56px}}#column-left .search-group-people .user-title{max-width:unset}#column-left .search-group-people .search-group-scrollable{position:relative}@media only screen and (max-width: 896px){#column-left .search-group-people .search-group-scrollable{margin-left:-7px;margin-top:4px}}#column-left .search-group-people .search-group-scrollable>.scrollable{position:relative}#column-left .item-main .sidebar-content .btn-menu{bottom:calc(100% + 10px)}#column-left .item-main .sidebar-content .btn-corner.menu-open:before{content:""}@media only screen and (max-width: 896px){#column-left .item-main .sidebar-content .btn-corner{transform:translateY(0px);position:fixed !important}}@media only screen and (max-width: 896px){#column-left .item-main .sidebar-content .btn-menu-toggle{width:54px;height:54px;bottom:14px;right:14px}}@media only screen and (min-width: 897px){html.no-touch #column-left .item-main .sidebar-content:hover .btn-corner{transform:translateY(0px)}}#search-container{transition:150ms ease-in-out opacity,150ms ease-in-out transform;transform:scale(1.1, 1.1);opacity:0;display:flex}#search-container.active{transform:scale(1, 1);transform-origin:center;opacity:1}.new-channel-container .sidebar-content,.new-group-container .sidebar-content,.edit-profile-container .sidebar-content{flex-direction:column}.new-channel-container .avatar-edit,.new-group-container .avatar-edit,.edit-profile-container .avatar-edit{width:120px;height:120px;margin:1px auto 32px;flex:0 0 auto}.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}@media only screen and (max-width: 896px){.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:100%;padding:0 16px}}.new-channel-container .chats-container,.new-group-container .chats-container,.edit-profile-container .chats-container{flex:1 1 auto}.new-channel-container .caption,.new-group-container .caption,.edit-profile-container .caption{font-size:0.875rem;margin-top:14px;margin-left:23px;color:#707579;padding-right:24px}.edit-folder-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}.new-group-members{padding:1.5rem 0 0.4375rem}.new-group-members .search-group__name{text-transform:capitalize}.settings-container .profile-button{display:flex;padding:1.125rem 0.625rem;height:3.5rem;line-height:1.4;border-radius:0.625rem;margin:0px 0.5rem 0px 0.4375rem}@media only screen and (max-width: 896px){.settings-container .profile-button{padding:0.75rem 0.625rem;height:48px;margin:0 0 2px 0;border-radius:0}}html.no-touch .settings-container .profile-button:hover{background:rgba(112,117,121,0.08);cursor:pointer}.settings-container .profile-button:before{font-size:24px;color:#707579;margin-left:0.375rem;margin-top:-0.0625rem}.settings-container .profile-button p{padding-left:2rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.settings-container .profile-buttons{margin-top:.9375rem;width:100%}@media only screen and (max-width: 896px){.settings-container .profile-buttons{margin-top:0.6875rem}}.edit-profile-container .caption{margin-top:1.063rem;margin-left:1.438rem;line-height:1.2;padding-bottom:1.438rem}@media only screen and (max-width: 896px){.edit-profile-container .caption{padding-right:24px}}.edit-profile-container .sidebar-left-h2{color:#707579;padding:0 1.438rem;padding-bottom:1.5rem;font-weight:500}.edit-profile-container hr{margin-bottom:1.5rem}.edit-profile-container .scroll-wrapper{width:100%}.chat-folders-container,.edit-folder-container{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chat-folders-container .sticker-container,.edit-folder-container .sticker-container{width:86px;height:86px;margin:1px auto 29px;flex:0 0 auto}.chat-folders-container .caption,.edit-folder-container .caption{text-align:center;color:#707579;font-size:14px;line-height:1.3}.chat-folders-container .sidebar-left-h2,.edit-folder-container .sidebar-left-h2{color:#707579;font-size:15px;padding:7px 24px 15px 24px;font-weight:500}@media only screen and (max-width: 896px){.chat-folders-container .sidebar-left-h2,.edit-folder-container .sidebar-left-h2{padding:7px 16px 15px 16px}}.chat-folders-container .btn-primary{width:160px;height:40px;align-items:center;margin:15px auto 24px;border-radius:30px;padding:0 12px;display:flex}.chat-folders-container .tgico-add:before{content:"\e903";font-size:24px;margin-right:6px}.chat-folders-container .category{padding:7px 24px 11px 24px;display:flex;justify-content:space-between;cursor:pointer;position:relative;margin-bottom:10px}@media only screen and (max-width: 896px){.chat-folders-container .category{padding:7px 16px 11px 16px}}.chat-folders-container .category p{height:unset}.chat-folders-container .category p:last-child{color:#707579;font-size:14px;line-height:20px}.chat-folders-container .category .btn-primary{height:30px;font-size:15px;width:52px;transition:width 0.2s;margin:5px 0 0 0}.edit-folder-container .caption{margin-bottom:18px}@media only screen and (max-width: 896px){.edit-folder-container .input-wrapper{width:100%;padding:0 16px}.edit-folder-container .input-field input{height:50px}}.edit-folder-container .sidebar-left-h2{padding:21px 24px 8px 24px}@media only screen and (max-width: 896px){.edit-folder-container .sidebar-left-h2{width:100%;padding:21px 16px 8px 16px}}.edit-folder-container .input-wrapper{margin-bottom:10px}.folder-list li{padding-bottom:2px}.folder-list li .rp{padding:8px 11px !important;height:48px !important}@media only screen and (max-width: 896px){.folder-list li .rp{padding:8px 12px !important}}.folder-list avatar-element{height:32px;width:32px}.folder-list .user-caption{padding:6px 28px}.folder-list p span{font-weight:normal}.folder-categories{width:100%}.folder-categories .checkbox{margin-top:-9px !important;right:0;position:absolute}.folder-categories .checkbox [type="checkbox"]+span{padding-left:46px}@media only screen and (max-width: 896px){.folder-categories .checkbox [type="checkbox"]+span{padding-left:38px}}.folder-categories .checkbox [type="checkbox"]:checked+span:before{top:5px;left:0px}.folder-category-button{display:flex;font-size:1.5rem;padding:13px 24px 10px 24px}@media only screen and (max-width: 896px){.folder-category-button{padding:13px 16px 10px 16px}}.folder-category-button p{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:32px;font-size:16px;flex:1 1 auto}.folder-category-button.blue,.folder-category-button.blue:before{color:#50a2e9}.folder-category-button:first-child{cursor:pointer}.folder-category-button:before{color:#797d82}.sidebar-header .tgico-check1{color:#50a2e9}.included-chats-container .sidebar-left-h2{color:#707579;font-size:15px;font-weight:500;padding:6px 24px 8px 24px}@media only screen and (max-width: 896px){.included-chats-container .sidebar-left-h2{padding:6px 16px 8px 16px}}.included-chats-container .selector ul li>.rp{margin:0 8px !important;padding:7px 12px !important;height:62px}@media only screen and (max-width: 896px){.included-chats-container .selector ul li>.rp{margin:0 !important}}.included-chats-container .selector ul .dialog-avatar{width:46px;height:46px}.included-chats-container .selector ul span.user-title{font-weight:500}.included-chats-container .selector ul .user-caption{padding:0px 0px 0 14px;margin-top:-2px}.included-chats-container .selector ul span.user-last-message{font-size:15px;margin-top:2px}.included-chats-container .selector ul .checkbox{margin-top:10px}.included-chats-container .selector ul [type="checkbox"]+span{padding-left:26px}.included-chats-container .checkbox [type="checkbox"]+span:after{border-radius:50%;height:20px;width:20px;border-color:#dadbdc}.included-chats-container .checkbox [type="checkbox"]:checked+span:after{background-color:#4EA4F6;border:none}.included-chats-container .folder-category-button{cursor:pointer}.search-group-recent .search-group__name{display:flex;justify-content:space-between;align-items:center}@media only screen and (max-width: 896px){.search-group-recent li{padding-top:0}}.search-group-recent .btn-icon{font-size:22px}@media only screen and (max-width: 896px){.search-group-recent .user-caption{margin-top:-2px}}@media only screen and (max-width: 896px){.search-group-recent p span.user-title{font-weight:500}}@media only screen and (max-width: 896px){.search-group-recent .dialog-avatar{width:46px;height:46px}}@media only screen and (max-width: 896px){.search-group-recent li>.rp{height:62px}}@media only screen and (max-width: 896px){.search-group-recent.search-group.search-group-contacts ul{margin-top:-2px}}@media only screen and (max-width: 896px){.search-group.search-group-contacts ul,.search-group.search-group-messages ul{margin-top:7px}}@media only screen and (max-width: 896px){.search-group.search-group-messages{margin-top:-6px}}@media only screen and (min-width: 897px){.search-group-recent.search-group.search-group-contacts{padding:0px 0 7px}}#column-right{position:relative}@media only screen and (min-width: 897px) and (max-width: 1275px){#column-right{box-shadow:0 0.25rem 0.5rem 0.1rem rgba(114,114,114,0.25)}}@media only screen and (min-width: 897px){#column-right{width:var(--right-column-width);transition:transform .2s ease-in-out;transition:transform var(--layer-transition);position:absolute;right:0;z-index:3;transform:translate3d(var(--right-column-width), 0, 0)}#column-right .sidebar-content{min-width:var(--right-column-width)}body.is-right-column-shown #column-right{transform:translate3d(0, 0, 0)}body.animation-level-0 #column-right{transition:none}}@media only screen and (min-width: 1276px){#column-right{border-left:1px solid #DADCE0}}#column-right .sidebar-header{flex:0 0 auto}#column-right .sidebar-header .sidebar-close-button:before{content:""}@media only screen and (min-width: 897px){#column-right .sidebar-header .sidebar-close-button:before{content:""}}#column-right #search-private-container .chats-container{position:relative;flex:1 1 auto}#column-right #forward-container{z-index:5}#column-right .sidebar-search{display:none}#column-right .sidebar-search.active{display:flex}.profile-content{flex:0 0 auto;display:flex;flex-direction:column;position:relative;width:100%}.profile-content [type="checkbox"]+span{padding-left:54px;margin-left:-54px}.profile-content-wrapper{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:13px}@media only screen and (min-width: 897px){.profile-content-wrapper{margin-top:15px}}.profile-content .content-container{width:100%;max-width:100%;position:absolute;top:100%;min-height:calc((1vh * 100) - 100% - 60px);min-height:calc((var(--vh, 1vh) * 100) - 100% - 60px);display:flex;flex-direction:column}.profile-container>.scrollable{display:flex;flex-direction:column}.profile-name{text-align:center;font-size:20px;line-height:1.4;font-weight:500;text-overflow:ellipsis;overflow:hidden;word-break:break-word;max-width:340px;margin:0 auto}.profile-name span.emoji{vertical-align:inherit;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.profile-subtitle{text-align:center;color:#707579;font-size:14px;margin-bottom:2px;margin-top:1px}@media only screen and (max-width: 896px){.profile-subtitle{margin-top:3px}}.profile-subtitle.online{color:#50a2e9}.profile-row{display:flex;width:100%;flex-direction:column;padding-left:80px;padding-right:12px;position:relative;margin-top:27px;margin-bottom:1px;line-height:1.4}@media only screen and (max-width: 896px){.profile-row{padding-left:71px}}.profile-row:before{position:absolute;left:24px;font-size:24px;color:#707579}@media only screen and (max-width: 896px){.profile-row:before{left:15px}}.profile-row p{color:#000;margin:0;font-size:1rem;text-overflow:ellipsis;overflow:hidden;word-break:break-word}.profile-row-bio .emoji{width:24px;height:24px}.profile-row-label{color:#707579 !important;font-size:14px !important;line-height:1.6}@media only screen and (max-width: 896px){.profile-row-label{line-height:1.6}}.profile-row-notifications{margin-top:26px;line-height:1.3}.profile-avatar{width:120px;height:120px;margin:1px auto 10px;font-size:2.5rem !important}@media only screen and (max-width: 896px){.profile-avatar{margin:0 auto 10px;width:100px;height:100px}}.profile-avatar.tgico-avatar_deletedaccount{font-size:6rem}.profile-name,.profile-subtitle,.profile-row,.profile-avatar{flex:0 0 auto}.profile-tabs{position:-webkit-sticky !important;position:sticky !important;top:0;z-index:2;background-color:#fff}.profile-tabs i{padding-right:1.5rem !important;margin-left:-.75rem !important}.profile-tabs-content{min-height:calc(100% - 49px);grid-template-rows:100%;flex:1 1 auto}.profile-tabs-content>div{position:relative}.profile-tabs-content .preloader{padding:0;position:absolute !important;height:100%}.profile-tabs-content .preloader>svg{height:50px;width:50px}.profile-tabs-content #content-media{width:100%;padding:7.5px;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;grid-gap:3.5px}@media only screen and (max-width: 896px){.profile-tabs-content #content-media{padding:7.5px 7.5px 7.5px 6.5px}}.profile-tabs-content #content-media .media-item{height:0;padding-bottom:100%;overflow:hidden;position:relative;cursor:pointer}.profile-tabs-content #content-media .video-time{position:absolute;left:5px;top:4px;height:18px;border-radius:4px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 5px;z-index:1;font-size:12px;color:white}.profile-tabs-content #content-media .media-image{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:1;transition:opacity .2s ease}html:not(.is-mac) .profile-tabs-content #content-media .media-image.thumbnail{-webkit-filter:blur(7px);filter:blur(7px)}.profile-tabs-content #content-docs{padding:7px 20px}.profile-tabs-content #content-docs .document{padding-left:4rem;padding-right:1rem;height:calc(50px + 1.5rem)}.profile-tabs-content #content-docs .document-ico,.profile-tabs-content #content-docs .document-download{width:48px;height:48px}.profile-tabs-content #content-docs .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-links{padding:0 30px 15px 15px}.profile-tabs-content #content-links>div{display:flex;flex-direction:column;margin-top:20px;margin-left:5px;padding-bottom:2px;position:relative;padding-left:60px;overflow:hidden;min-height:58px}.profile-tabs-content #content-links>div .preview{height:48px;width:48px;border-radius:5px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.profile-tabs-content #content-links>div .preview.empty{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-transform:uppercase;background-color:#50a2e9}.profile-tabs-content #content-links>div .url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-tabs-content #content-links .title{font-size:16px;margin-top:3px}.profile-tabs-content #content-links .subtitle{font-size:14px}.profile-tabs-content #content-audio{padding:20px 15px 15px 20px}.profile-tabs-content #content-audio>div{min-height:60px}.profile-tabs-content #content-audio .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}@media only screen and (max-width: 896px){.profile-tabs-content #content-audio .preloader-container{width:40px;height:40px;top:9px;left:2px}}@media only screen and (min-width: 897px){.profile-tabs-content #content-audio .preloader-container{width:38px;height:38px}}.profile-tabs-content #content-audio .audio{padding-bottom:26px;padding-left:61px;max-width:368px;justify-content:unset}.profile-tabs-content #content-audio .audio-details{height:66px}.profile-tabs-content #content-audio .audio.audio-show-progress .audio-subtitle{overflow:visible}.profile-tabs-content #content-audio .audio-ico{width:48px;height:48px}.profile-tabs-content #content-audio .audio-ico.tgico-largeplay:before{margin-right:-1px}.profile-tabs-content #content-audio .audio-download{border-radius:50%;background-color:#50a2e9;align-items:center}@media only screen and (min-width: 897px){.profile-tabs-content #content-audio .audio-download{width:48px;height:48px}}.profile-tabs-content #content-audio .audio-toggle,.profile-tabs-content #content-audio .audio-download{font-size:1.9rem}.profile-tabs-content #content-audio .audio-title{font-size:1rem;color:#000;line-height:1.2;padding-top:5px;margin-top:0;margin-left:-1px}.profile-tabs-content #content-audio .audio-subtitle{font-size:14px;line-height:1.25;color:#707579;margin-left:-1px;margin-top:3px}.profile-tabs-content #content-audio .audio-time{margin-top:1px}.profile-tabs-content #content-audio .audio-title,.profile-tabs-content #content-audio .audio-subtitle{overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-audio .progress-line{margin:11px 0 8px}.profile-tabs-content #content-audio .progress-line__filled{background-color:#0089ff;transform-origin:left;height:2px}.profile-tabs-content #content-audio .progress-line__loaded{background-color:#cacaca}.profile-tabs-content #content-audio .progress-line__seek{height:2px;background:rgba(193,207,220,0.39)}.profile-tabs-content #content-audio .progress-line__seek::-webkit-slider-thumb{height:12px;width:12px;border:none}#stickers-container .sticker-sets{display:flex;flex-direction:column;margin-top:16px}#stickers-container .sticker-set{display:flex;flex-direction:column;height:140px;cursor:pointer}#stickers-container .sticker-set-name{font-weight:500}#stickers-container .sticker-set-count{font-size:14px;color:#707579}#stickers-container .sticker-set-header{display:flex;padding-left:16px;padding-bottom:12px;justify-content:space-between}#stickers-container .sticker-set-button{height:30px;padding-left:12px;padding-right:13px;margin-right:16px;font-size:15px;border-radius:16px;font-weight:400;width:52px;transition:width 0.2s}#stickers-container .sticker-set-button.gray{background:#F1F3F4;color:#707579;width:68px}#stickers-container .sticker-set-stickers{display:flex;justify-content:space-around}#stickers-container .sticker-set-sticker{width:68px;height:68px}#stickers-container .sticker-set-sticker:hover{border-radius:12px;background-color:rgba(112,117,121,0.08)}#stickers-container .sticker-set-sticker img{max-width:100%;max-height:100%}#poll-results-container .poll-results{display:flex;flex-direction:column;position:relative;width:100%}#poll-results-container .poll-results-answer{color:#707579;padding:0 16px 8px 16px;margin:0;padding-bottom:8px;font-weight:500;justify-content:space-between;display:flex;font-size:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (min-width: 897px){#poll-results-container .poll-results-answer{padding:0 24px 8px 24px}}#poll-results-container .poll-results-more{padding-top:13px;padding-bottom:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}@media only screen and (min-width: 897px){#poll-results-container .poll-results-more{padding-left:8px}}#poll-results-container .poll-results-more .tgico-down{float:left;padding-right:32px;padding-left:16.5px;font-size:24px;color:#707579}#poll-results-container .poll-results h3{padding:0 16px;margin-top:15px;font-size:20px;margin-bottom:16px}@media only screen and (min-width: 897px){#poll-results-container .poll-results h3{padding:0 24px}}#poll-results-container .poll-results hr{margin-bottom:15px;margin-top:7px}#poll-results-container .poll-results avatar-element{width:32px;height:32px}#poll-results-container .poll-results .user-caption{padding:6px 28px}#poll-results-container .poll-results .user-title{font-weight:normal}#poll-results-container .poll-results li{padding-bottom:2px}#poll-results-container .poll-results li>.rp{padding:8px 5px;height:48px}@media only screen and (min-width: 897px){#poll-results-container .poll-results li>.rp{padding:8px 12px}}.media-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 896px){.media-viewer{background:#000}}.media-viewer-author{position:absolute;top:0;left:0;height:60px;padding:8px 8px 8px 80px;display:flex;flex-direction:column;justify-content:center;color:#8b8b8b;transition:.2s}html.no-touch .media-viewer-author:hover{color:#fff}.media-viewer-userpic{width:44px;height:44px;position:absolute;top:8px;left:20px}@media only screen and (max-width: 896px){.media-viewer-userpic{display:none}}.media-viewer-name{font-weight:500}.media-viewer-date{font-size:15px}.media-viewer-buttons{position:absolute;top:0;right:0;display:flex;flex-flow:row nowrap;padding:8px}.media-viewer-buttons .btn-icon{margin:0 .25rem;transition:.2s}html.no-touch .media-viewer-buttons .btn-icon:hover{color:#fff}@media only screen and (max-width: 896px){.media-viewer-buttons{display:none}}.media-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;max-height:100%;max-width:100%;overflow:hidden}.media-viewer-stub{flex:1}.media-viewer-container{align-self:center;position:relative;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto;display:flex;align-items:center}.media-viewer-media{visibility:hidden}.media-viewer-caption{flex:1;text-align:center;color:#707579;transition:.2s;max-width:50vw;word-break:break-word;overflow:hidden;text-overflow:ellipsis}html.no-touch .media-viewer-caption:hover{color:#fff}.media-viewer-switcher{position:absolute;left:0;top:60px;width:7rem;height:calc(100% - 120px);cursor:pointer;z-index:5}html.no-touch .media-viewer-switcher{height:calc(100% - 60px)}html.no-touch .media-viewer-switcher:hover>span{opacity:1}@media only screen and (max-width: 896px){.media-viewer-switcher{width:4rem}}.media-viewer-switcher-right{left:auto;right:0}.media-viewer-prev-button,.media-viewer-next-button{cursor:pointer;position:absolute;color:#fff;font-size:2rem;left:1rem;top:50%;transform:translateY(-50%) rotate(90deg);opacity:0;transition:.2s opacity;z-index:5}@media only screen and (min-width: 897px){.media-viewer-prev-button,.media-viewer-next-button{font-size:3rem;left:2rem}}.media-viewer-next-button{left:auto;right:1rem;transform:translateY(-50%) rotate(-90deg)}@media only screen and (min-width: 897px){.media-viewer-next-button{right:2rem}}.media-viewer-mover{position:fixed !important;z-index:4;display:flex;justify-content:center;align-items:center;min-height:auto !important;left:0;top:0;transform-origin:top left;overflow:hidden;max-width:calc(100% - 16px);max-height:calc(100% - 100px)}@media only screen and (max-width: 896px){.media-viewer-mover{overflow:visible;max-width:100% !important}}.media-viewer-mover .ckin__player{width:100%;height:100%;position:absolute;left:0;top:0}.media-viewer-mover>svg{width:100%;height:100%}.media-viewer-mover img,.media-viewer-mover video{width:100%;height:100%;max-width:100%;max-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:cover;object-fit:cover;opacity:1;position:absolute}.media-viewer-mover svg img,.media-viewer-mover svg video{position:unset}.media-viewer-mover.active{transition:.2s transform}.media-viewer-mover.moving{transition:.35s transform ease}.media-viewer-mover.no-transition{transition:none !important}.media-viewer-mover.center{left:50% !important;top:50% !important;transform:translate3d(-50%, -50%, 0) !important}@media only screen and (max-width: 896px){.media-viewer-mover.center{width:100% !important;height:100% !important}.media-viewer-mover.center .ckin__player:not(.ckin__fullscreen) .default__controls{bottom:-50px}.media-viewer-mover.center .ckin__player:not(.ckin__fullscreen) .default__gradient-bottom{bottom:-50px}}.media-viewer-mover.center img:not(.thumbnail),.media-viewer-mover.center video{height:auto;width:auto;-o-object-fit:contain;object-fit:contain}.media-viewer-mover.center img.thumbnail{width:auto;-o-object-fit:contain;object-fit:contain}.media-viewer-mover.hiding img,.media-viewer-mover.hiding video{transition:.2s opacity;opacity:0}.media-viewer-aspecter{width:100%;height:100%;transform:scale(1);position:absolute;display:flex;align-items:center;justify-content:center}.media-viewer-mover.active .media-viewer-aspecter{transition:.2s all}.media-viewer-whole{top:0;left:0;width:100%;height:100%;position:fixed !important;display:block;z-index:4;visibility:hidden;transition:visibility 0s .2s}.media-viewer-whole.active{visibility:visible;transition-delay:0s}.media-viewer-whole.active .overlays,.media-viewer-whole.active>.btn-icon{opacity:1;visibility:visible;transition:opacity .2s 0s,visibility 0s 0s}@media only screen and (max-width: 896px){.media-viewer-whole .menu-mobile-close{left:20px}.media-viewer-whole>.btn-icon{top:8px;position:fixed;z-index:5;opacity:0;transition:opacity .2s 0s,visibility 0s .2s}.media-viewer-whole .btn-menu-toggle{right:8px}.media-viewer-whole .btn-menu-toggle.menu-open{color:#fff;background-color:rgba(112,117,121,0.2) !important}}.media-viewer-whole.highlight-switchers .media-viewer-switcher>span{opacity:1}.media-viewer-switchers{position:relative;width:1680px;max-width:100%;height:100%;margin:0 auto}.overlays{top:0;left:0;width:100%;height:100%;position:fixed !important;background-color:rgba(0,0,0,0.2);z-index:4;opacity:0;visibility:hidden;transition:opacity .2s 0s,visibility 0s .2s}.ckin__player{letter-spacing:0.02em}.ckin__player.ckin__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important;display:flex}.ckin__player.ckin__fullscreen video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ckin__overlay{position:relative}.ckin__overlay:before{background:radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.5) 100%)}.ckin__overlay--2:before{background:rgba(24,24,24,0.8)}.default{border:0 solid rgba(0,0,0,0.2);box-shadow:0 0 20px rgba(0,0,0,0.2);position:relative;font-size:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.default:before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;transition:opacity .2s;opacity:1;visibility:visible}.default__title{position:absolute;left:20px;top:20px;z-index:1;font-size:24px;color:rgba(255,255,255,0.8);font-style:italic}.default__button{background:none;border:0;color:#fff;outline:0;padding:3px 10px 6px 10px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center}.default__button i{align-self:center}.default__button--big{background:none;border:0;line-height:1;color:#fff;text-align:center;outline:0;padding:0;cursor:pointer;position:absolute;opacity:1;visibility:visible;top:50%;left:50%;transform:translate3d(-50%, -50%, 0) scale(1);font-size:64px;transition:all .2s;touch-action:manipulation}.default__slider{width:10px;height:30px}.default__controls{position:absolute;bottom:0;right:0;left:0;transition:all .3s;text-align:left;direction:ltr;border-radius:0 0 5px 5px;z-index:6}.default__controls .progress-line{margin:0 16px;height:5px;background:rgba(255,255,255,0.38);border-radius:4px;overflow:visible}.default__controls .progress-line__filled{background:#63a2e3;transform-origin:left;border-radius:4px;height:5px;transform:scaleX(0)}.default__controls .progress-line__loaded{background:rgba(255,255,255,0.38);left:11px;width:calc(100% - 11px)}.default__gradient-bottom{height:49px;padding-top:93px;bottom:0;z-index:2;background-position:bottom;width:100%;position:absolute;background-repeat:repeat-x;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);transition:all .3s;pointer-events:none}.default .toggle:before{content:""}.default.is-playing .default__gradient-bottom{transform:translate3d(0, 50px, 0)}html.no-touch .default.is-playing:hover .default__gradient-bottom,.default.is-playing.show-controls .default__gradient-bottom{transform:translateZ(0)}html.no-touch .default.is-playing:hover .default__controls,.default.is-playing.show-controls .default__controls{transform:translateZ(0)}.default.is-playing:before{opacity:0;visibility:hidden;transform:translate3d(-50%, -50%, 0) scale(1.3)}.default.is-playing .default__button--big{opacity:0;visibility:hidden}.default.is-playing .default__controls{transform:translate3d(0, 52px, 0)}.default.is-playing .toggle:before{content:""}.default .player-volume{margin:-3px 2px 0 10px;display:flex;align-items:center}@media only screen and (max-width: 896px){.default .player-volume{margin:-3px 2px 0 2px}}.default .player-volume__icon{fill:#fff;width:24px;height:24px;margin-right:8px;cursor:pointer}@media only screen and (max-width: 896px){.default .player-volume__icon{width:20px;height:20px}}.default .player-volume .progress-line{margin:0;width:50px}html.is-ios .default .player-volume .progress-line{display:none}.default .player-volume .progress-line__filled{background:#fff}.default .player-volume .progress-line input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#fff}.default.is-buffering>.toggle{display:none !important}@media (max-width: 480px){.ckin__player button{font-size:18px}}video::-webkit-media-controls-enclosure{display:none !important}.progress-line{position:relative;cursor:pointer}.progress-line input[type=range]{-webkit-appearance:none;-moz-appearance:none;background:transparent;height:4.5px;cursor:pointer;padding:0;outline:none}.progress-line input[type=range]:focus{outline:none}.progress-line input[type=range]:focus::-webkit-slider-runnable-track{background:transparent}.progress-line input[type=range]:focus::-moz-range-track{outline:none}.progress-line input[type=range]::-webkit-slider-runnable-track{width:100%;cursor:pointer;border-radius:1.3px;-webkit-appearance:none;-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.progress-line input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#63a2e3;cursor:pointer;-webkit-appearance:none;margin-left:-1px;border:none}.progress-line input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:1.3px}.progress-line input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50px;border:1px solid #63a2e3;background:#63a2e3;cursor:pointer;margin-top:5px}.progress-line__seek{position:absolute;top:0;width:100%;cursor:pointer;margin:0}.progress-line__loaded{position:absolute;left:12px;top:0;width:calc(100% - 12px)}input[type=range]::-ms-track{visibility:hidden}input[type=range]::-ms-ticks{background:none;color:none;border:none}input[type=range]::-ms-thumb{visibility:hidden}input[type=range]::-ms-tooltip{visibility:hidden}.left-controls{display:flex;align-items:center}.right-controls{float:right}.bottom-controls{padding:3px 4px 0px 4px;display:flex;justify-content:space-between;align-items:center}.time{float:right;padding:7px 0px 9px 14px;font-size:15px;color:white}@media only screen and (max-width: 896px){.time{padding:7px 0px 9px 0px}}.circle .circle-time{color:#fff;font-size:13px;float:left}.circle .circle-time-left{position:absolute;top:3px;left:2px;border-radius:12px;background-color:rgba(0,0,0,0.23);padding:1px 7px 2px 7px;z-index:2;display:flex;align-items:center}video[data-ckin="circle"]{border-radius:50%;overflow:hidden}.progress-ring{position:absolute;top:0;left:0;cursor:pointer}.progress-ring__circle{transition:stroke-dashoffset}.ckin__player.circle{position:relative;width:200px;height:200px}.iconVolume{padding:0 1px 0 3px;display:flex;align-items:center;font-size:1.25rem;color:#fff}.emoji-dropdown{display:flex;flex-direction:column;width:100%;height:282px;background:#fff;display:flex;overflow:hidden;flex:0 0 auto}@media only screen and (min-width: 897px){.emoji-dropdown{position:absolute !important;left:0;bottom:calc(85px);width:420px !important;height:420px;box-shadow:0px 5px 10px 5px rgba(16,35,47,0.14);z-index:3;border-radius:10px;transition:all 0.2s ease-out;transform:scale(0);transform-origin:0 100%}.emoji-dropdown.active{transition:all 0.2s ease-in;transform:scale(1)}}.emoji-dropdown>.menu-horizontal{margin-top:2px;border:none}.emoji-dropdown .emoji-container{width:100%;max-width:100%;overflow:hidden;height:100%}.emoji-dropdown .btn-icon{color:#8d969c}.emoji-dropdown .emoji-tabs ul{justify-content:center}.emoji-dropdown .emoji-tabs-search{position:absolute;left:0;margin-left:4px !important}.emoji-dropdown .emoji-tabs-delete{position:absolute;right:0;margin-right:4px !important}.emoji-dropdown .tabs-container{height:100%}.emoji-dropdown .tabs-container .category-title{top:0;font-size:14px;font-weight:500;color:#707579;z-index:2;padding:12px 6px 6px 6px;width:100%}.emoji-dropdown .tabs-container .sticky_sentinel--top{top:0;height:1px}.emoji-dropdown .tabs-container .emoji-category{position:relative}.emoji-dropdown .tabs-container .emoji-category .category-items{display:grid;grid-column-gap:2.44px;grid-template-columns:repeat(9, 1fr);font-size:2.25rem;line-height:2.25rem}.emoji-dropdown .tabs-container .emoji-category .category-items>span{margin:0;padding:4px 4px;line-height:inherit;border-radius:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:42px;height:42px}.emoji-dropdown .tabs-container .emoji-category .category-items>span .emoji{width:100%;height:100%;vertical-align:unset}html.no-touch .emoji-dropdown .tabs-container .emoji-category .category-items>span:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category{position:relative}.emoji-dropdown .tabs-container .sticker-category::after{content:"";flex:auto}.emoji-dropdown .tabs-container .sticker-category .category-items{width:100%;display:grid;grid-template-columns:repeat(5, 1fr);grid-column-gap:1px}.emoji-dropdown .tabs-container .sticker-category .category-items>div{width:80px;height:80px;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:1px 2.5px;justify-content:center;border-radius:12px;padding:0}@media only screen and (max-width: 896px){.emoji-dropdown .tabs-container .sticker-category .category-items>div{height:75px;justify-self:center;padding:0;min-width:64px;width:100%}}html.no-touch .emoji-dropdown .tabs-container .sticker-category .category-items>div:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category .category-items>div>img{max-width:100%;max-height:100%;-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}.emoji-dropdown .tabs-container>div{min-height:100%;flex-direction:column;height:100%}.emoji-dropdown .tabs-container .emoticons-content{flex:1;padding:0}.emoji-dropdown .tabs-container .scrollable{padding:0 10px}@media only screen and (max-width: 896px){.emoji-dropdown .emoji-padding.active .menu-horizontal li{flex:unset;padding:0}.emoji-dropdown .emoji-padding.active .category-items>span{width:40px;height:40px;justify-self:center}.emoji-dropdown .emoji-padding.active .category-title{padding:12px 6px 6px 10px}.emoji-dropdown .emoji-padding.active .scrollable{padding:0}.emoji-dropdown .emoji-padding.active .emoji-category .category-items{grid-column-gap:unset;grid-template-columns:repeat(8, 1fr)}}.emoji-dropdown .emoji-padding .menu-horizontal,.emoji-dropdown .stickers-padding .menu-horizontal{height:48px;border-bottom:none;padding:2px 2px 2px 2px;width:100%;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21);z-index:4}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{margin:0}.emoji-dropdown .menu-horizontal li{border-radius:50%}.emoji-dropdown #content-stickers .scrollable{padding:0px 5px 0}.emoji-dropdown .menu-horizontal{width:100%;height:48px;box-shadow:0px -2px 5px -1px rgba(0,0,0,0.21)}.emoji-dropdown .menu-horizontal li{font-size:1.5rem;margin:0 12px;width:48px;height:48px;line-height:48px;display:flex;align-items:center;flex:0 0 auto}.emoji-dropdown .stickers-padding.active .scrollable{padding:0;box-shadow:0px 1px 5px -1px rgba(0,0,0,0.21)}.emoji-dropdown .stickers-padding.active .menu-horizontal{box-shadow:none}.emoji-dropdown .stickers-padding.active .menu-horizontal li{height:48px;width:48px;padding:0;margin-right:1px;margin-left:1px}.emoji-dropdown .stickers-padding .menu-wrapper{padding:0;height:48px;max-width:100%}.emoji-dropdown .stickers-padding li{flex:0 0 auto}.emoji-dropdown .stickers-padding li.active:not(.tgico-recent){background-color:rgba(112,117,121,0.08)}.emoji-dropdown .stickers-padding li>canvas,.emoji-dropdown .stickers-padding li>img{padding:8px;max-width:100%;max-height:100%;width:100%;height:100%}div.scrollable::-webkit-scrollbar{width:0;height:0}div.scrollable::-webkit-scrollbar-thumb{width:0;height:0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.scrollable{width:100%;height:100%;overflow-y:hidden;overflow-x:hidden;max-height:100%;transform:translateZ(0);position:absolute;top:0px;left:0px;bottom:0px;right:0px;-webkit-overflow-scrolling:touch}.scrollable.scrollable-x{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.scrollable.scrollable-y{overflow-y:auto;overflow-y:overlay;scrollbar-width:none;-ms-overflow-style:none}div.scrollable-y::-webkit-scrollbar{width:.375rem;opacity:0}div.scrollable:hover::-webkit-scrollbar{opacity:1}::-webkit-scrollbar-thumb{opacity:0;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}div.scrollable:hover::-webkit-scrollbar-thumb{height:200px;border-radius:10px;background-color:rgba(0,0,0,0.2);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}div.scrollable-x::-webkit-scrollbar{display:none}.menu-horizontal{color:#707579;border-bottom:1px solid #dadce0;position:relative}.menu-horizontal ul{width:100%;height:100%;margin:0;display:flex;justify-content:space-around;align-items:center;position:relative;z-index:2;flex-direction:row}.menu-horizontal li{display:inline-block;padding:.75rem 1rem;cursor:pointer;text-align:center;flex:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;font-weight:500;position:relative;border-top-left-radius:6px;border-top-right-radius:6px}.menu-horizontal li>span{position:relative;display:inline-flex;align-items:center}.menu-horizontal li.active{color:#50a2e9}.menu-horizontal li.active i{opacity:1}.menu-horizontal i{position:absolute;bottom:calc(-.625rem - 2px);left:0;opacity:0;background-color:#50a2e9;height:.1875rem;width:100%;border-radius:.1875rem .1875rem 0 0;pointer-events:none;padding-right:.5rem;margin-left:-.25rem;box-sizing:content-box;transform-origin:left}.menu-horizontal i.animate{transition:transform .25s}.tabs-container{min-width:100%;width:100%;display:grid;grid-template-columns:100%}.tabs-container>div{width:100%;max-width:100%;transition:transform .25s,-webkit-filter .25s;transition:transform .25s,filter .25s;transition:transform .25s,filter .25s,-webkit-filter .25s;display:none;flex-direction:column;position:relative;grid-row-start:1;grid-column-start:1;background-color:#fff;overflow:hidden}.tabs-container>div.active{display:flex}.tabs-container>div>div:not(.scroll-padding){width:100%;max-width:100%;position:relative}.tabs-container[data-slider="tabs"]{transition:transform .25s}@-webkit-keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}@keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}.selector{height:100%;display:flex;flex-direction:column}.selector-search-container{flex:0 0 auto;position:relative;max-height:132px;overflow:hidden}.selector-search-container .scrollable{position:relative;max-height:inherit}.selector-search-container avatar-element:before{font-size:18px}.selector-search{padding:0 24px 0 24px;display:flex;flex-flow:wrap}.selector-search input{border:none;padding:7px 0px 19px 0px;outline:none;flex:1 1 auto}.selector-user{color:#000;background-color:rgba(112,117,121,0.08);font-size:16px;padding:0 17px 0px 0px;line-height:31px;margin-left:-4px;margin-right:12px;height:32px;margin-bottom:7px;border-radius:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex:0 0 auto;transition:.2s all}html.no-touch .selector-user:hover{background-color:#fae2e3;cursor:pointer}html.no-touch .selector-user:hover .selector-user-avatar:after{opacity:1;transform:scaleX(-1) rotate(-90deg)}.selector-user.scale-in{-webkit-animation:scaleIn .15s ease forwards;animation:scaleIn .15s ease forwards}.selector-user.scale-out{-webkit-animation:scaleIn .1s ease forwards;animation:scaleIn .1s ease forwards;animation-direction:reverse}.selector-user-avatar{height:32px !important;width:32px !important;float:left;margin-right:8px;overflow:hidden;font-size:14px;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.selector-user-avatar:after{position:absolute;content:"";left:0;top:0;background-color:#df3f40;height:100%;width:100%;z-index:2;font-size:23px;line-height:32px !important;opacity:0;transition:.2s opacity, .2s transform;transform:scaleX(-1) rotate(0deg)}.selector .chats-container{height:100%;flex:1 1 auto}.selector ul .dialog-avatar{height:48px;width:48px}.selector ul .user-caption{padding:1px 3.5px 1px 12px}.selector ul p{height:24px}.selector ul span.user-title{font-weight:normal}.selector ul span.user-last-message{font-size:14px}.selector ul li{padding-bottom:0}.selector ul li>.rp{margin:0px 9px 0px 8px;padding:12px 8.5px}@media only screen and (max-width: 896px){.selector ul li>.rp{margin:0}}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none){.selector ul li>.rp{margin-right:4px}}}.selector hr{margin:0 0 8px}.selector [type="checkbox"]+span{padding-left:calc(9px + 2.25rem)}.selector .checkbox{margin-top:11px;padding-left:11px}.gifs-masonry{display:flex;flex-wrap:wrap}.gifs-masonry>.gif{flex:1 0 auto;max-width:100%;height:100px;margin:2.5px;cursor:pointer;position:relative}.gifs-masonry>.gif video,.gifs-masonry>.gif img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.gifs-masonry>.gif img{position:absolute;left:0;top:0}.preloader-circular{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.preloader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:white;stroke-width:3}.preloader-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:50px;height:50px}.preloader-container .you-spin-me-round{width:100%;height:100%;-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite}.preloader-container .preloader-circular{-webkit-animation:none;animation:none;cursor:pointer;background-color:rgba(0,0,0,0.7);border-radius:50%;width:100%;height:100%}.preloader-container .preloader-path-new{stroke-dasharray:5, 200;stroke-dashoffset:0;transition:stroke-dasharray 400ms ease-in-out;stroke-linecap:round;stroke:white;stroke-width:1.5}.preloader-container.preloader-swing{cursor:default}.preloader-container.preloader-swing .preloader-circular{cursor:default}.preloader-container.preloader-swing .preloader-path-new{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dashNew 1.5s ease-in-out infinite;animation:dashNew 1.5s ease-in-out infinite}.preloader-container .preloader-close{cursor:pointer;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;color:#fff;stroke:#fff;width:34%;height:34%}html.no-touch .preloader-container .preloader-close:hover{background:none}.preloader-container.preloader-streamable,.preloader-container.preloader-streamable svg{cursor:pointer !important}.preloader-container.preloader-streamable circle{stroke-width:2.5 !important;-webkit-animation:dashNewStreamable 1.5s ease-in-out infinite !important;animation:dashNewStreamable 1.5s ease-in-out infinite !important}.preloader-container.preloader-streamable:after{content:"";position:absolute;width:.8125rem;height:.8125rem;border-radius:.125rem;background-color:#fff;left:50%;top:50%;transform:translate3d(-50%, -50%, 0)}@-webkit-keyframes rotate{100%{transform:rotate(360deg)}}@keyframes rotate{100%{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@-webkit-keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}@keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}@-webkit-keyframes dashNewStreamable{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-237%}}@keyframes dashNewStreamable{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-237%}}.popup{position:fixed !important;left:0;top:0;height:100%;max-width:none;width:100%;z-index:3;background-color:rgba(0,0,0,0.3);margin:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;transition:opacity 0.3s 0s, visibility 0s 0.3s;overflow:auto;display:flex}.popup.active{opacity:1;visibility:visible;transition:opacity 0.3s 0s, visibility 0s 0s;z-index:4}.popup.active .popup-container{transform:translate3d(0, 0, 0)}.popup-container{position:relative;border-radius:10px;background-color:#fff;padding:1rem;transform:translate3d(0, -40px, 0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:transform;transition-duration:0.3s;display:flex;flex-direction:column;overflow:hidden;margin:auto}.popup-centerer{margin:auto}.popup-close{cursor:pointer;color:#707579;z-index:3;text-align:center;justify-self:center;line-height:1;transition:.2s}html.no-touch .popup-close:hover{color:#000}.popup-header{display:flex;margin-bottom:2rem;align-items:center}.popup-body{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.popup-body .scrollable{position:relative}.popup-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.popup-buttons button{background:none;outline:none;border:none;font-weight:500;padding:.5rem;text-transform:uppercase;transition:.2s;border-radius:8px;cursor:pointer;color:#50a2e9;position:relative}html.no-touch .popup-buttons button:hover{background-color:rgba(112,117,121,0.08)}.popup-buttons button+button{margin-top:.5rem;text-overflow:ellipsis;white-space:nowrap;max-width:286px;overflow:hidden}.popup.popup-delete-chat .popup-container{max-width:328px}.popup-avatar .popup-container{max-width:600px;padding:15px 16px 16px 24px}.popup-avatar .popup-container>button{position:absolute;bottom:20px;right:20px}.popup-avatar .popup-close{font-size:1.5rem;margin-top:4px}.popup-avatar .popup-header{margin-bottom:1px}.popup-avatar h6{font-size:1.25rem;text-align:left;margin:0;margin-left:2rem}.popup-avatar .crop{max-width:100%;max-height:100%;padding:24px 54px 46px 46px;border-radius:8px}.popup-avatar .crop>img{display:none}.popup-avatar .crop img{border-radius:8px}.popup-new-media .popup-container{width:420px;max-width:420px;padding:12px 20px 32.5px}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo{max-height:320px;margin:0 auto}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo img{-o-object-fit:contain;object-fit:contain}.popup-new-media .popup-container.is-media:not(.is-album) .popup-photo>div{display:flex;justify-content:center}.popup-new-media .popup-container.is-album .popup-photo{margin:0 auto;position:relative}.popup-new-media .popup-container.is-album .popup-photo>div{position:absolute}.popup-new-media .popup-container.is-document .popup-photo img,.popup-new-media .popup-container.is-document .popup-photo video,.popup-new-media .popup-container.is-album .popup-photo img,.popup-new-media .popup-container.is-album .popup-photo video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.popup-new-media .popup-header{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:9px;padding:12px 20px 15px}.popup-new-media .popup-header .btn-primary{width:79px;height:36px;font-size:14px;font-weight:normal;padding:0;padding-top:2px;margin-top:-3px;border-radius:10px}.popup-new-media .popup-close{font-size:1.5rem;margin:-1px 0 0 -4px}.popup-new-media .popup-title{flex:1;padding:0 2rem 0 1.5rem;margin:0;margin-top:-3px;font-size:1.25rem;font-weight:500}.popup-new-media .popup-photo{max-width:380px;overflow:hidden;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-radius:10px}.popup-new-media .popup-photo .document{max-width:100%;overflow:hidden;cursor:default;padding-left:3.75rem;height:4.5rem}.popup-new-media .popup-photo .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.popup-new-media .popup-photo .document-ico{height:48px;width:48px;font-size:16px;font-weight:normal;line-height:11px;letter-spacing:0}.popup-new-media .input-field{width:100%;margin-top:25px}.popup-new-media .input-field::-moz-placeholder{color:#a2acb4}.popup-new-media .input-field:-ms-input-placeholder{color:#a2acb4}.popup-new-media .input-field::-ms-input-placeholder{color:#a2acb4}.popup-new-media .input-field::placeholder{color:#a2acb4}.popup-new-media .input-field input{font-size:1rem;padding:0 15px;border-radius:10px}.popup-new-media .input-field input:focus{padding:0 14.5px}.popup-new-media .input-field label{font-size:inherit;opacity:0}.popup-create-poll.popup-new-media .btn-primary{width:94px}.popup-new-media.popup-send-photo .popup-header{padding:0}.popup-peer .popup-header{display:flex;margin-bottom:0.4375rem;align-items:center;padding:0.125rem 0.25rem}.popup-peer .popup-container{padding:1rem 1.5rem 0.75rem 1rem}.popup-peer .popup-title{padding-left:0.75rem;font-size:1.25rem;font-weight:500;margin-bottom:0.125rem;text-transform:capitalize}.popup-peer .popup-description{padding:0 0.25rem;margin-top:0;margin-bottom:1.625rem;min-width:15rem;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.popup-peer .popup-buttons{margin-right:-0.75rem}.popup-peer .popup-buttons .btn{font-weight:500}.popup-peer .popup-buttons .btn+.btn{margin-top:0.625rem}.popup-peer .peer-avatar{height:2rem;width:2rem}.popup-stickers h6{padding:0 2rem 0 1.5rem;margin:0;margin-top:3px;font-size:1.25rem;font-weight:500}.popup-stickers .sticker-set-footer{padding:19px 0 17px 0;border-top:1px solid #dadce0;text-align:center;color:#50a2e9}.popup-stickers .sticker-set-footer .btn-primary{width:164px;height:44px}.popup-stickers .sticker-set-footer.add{padding:8px 0}.popup-stickers .popup-container{max-width:420px;max-height:420px;width:420px;padding:0}.popup-stickers .popup-close{font-size:1.5rem;margin-top:6px;margin-left:16px}.popup-stickers .popup-header{margin-bottom:12px;flex:0 0 auto;margin-top:5px}.popup-stickers .sticker-set{margin-bottom:8px}.popup-stickers .sticker-set-stickers{padding:0 5px;display:grid;grid-template-columns:repeat(5, 1fr)}@media only screen and (max-width: 896px){.popup-stickers .sticker-set-stickers{grid-template-columns:repeat(4, 1fr)}}.popup-stickers .sticker-set-sticker{width:80px;height:80px;margin-bottom:2px;justify-self:center;cursor:pointer}.popup-stickers .sticker-set-sticker:hover{border-radius:12px;background-color:rgba(112,117,121,0.08)}.popup-stickers .sticker-set-sticker img{max-width:100%;max-height:100%}.popup-date-picker .popup-container{min-width:300px;width:300px;padding:12px 14px}@media (min-height: 470px){.popup-date-picker .popup-container.is-max-lines{top:19px}}.popup-date-picker .popup-header{margin-left:6px;margin-top:4px;margin-bottom:1.375rem}.popup-date-picker .popup-title{font-weight:500;font-size:20px}.popup-date-picker .popup-buttons{flex-direction:row;order:2;margin-right:-2px}.popup-date-picker .popup-buttons button+button{margin-left:9px;margin-top:0}.popup-date-picker .date-picker-controls{display:flex;justify-content:space-between;align-items:center}.popup-date-picker .date-picker-controls .date-picker-month-title{font-size:14px;font-weight:500}.popup-date-picker .date-picker-prev{transform:rotate(90deg)}.popup-date-picker .date-picker-next{transform:rotate(-90deg)}.popup-date-picker .date-picker-prev:disabled,.popup-date-picker .date-picker-next:disabled{visibility:hidden}.popup-date-picker .date-picker-months{margin-top:7px;margin-bottom:1.5rem}.popup-date-picker .date-picker-month{display:grid;grid-template-columns:repeat(7, 1fr);width:100%;justify-content:center}.popup-date-picker .date-picker-month span,.popup-date-picker .date-picker-month .btn-icon{justify-self:center;width:38px;height:38px;font-size:12px;color:#707579;display:flex;justify-content:center;align-items:center}.popup-date-picker .date-picker-month .btn-icon:not(:disabled){color:#000}.popup-date-picker .date-picker-month .btn-icon.active{color:#fff;border-radius:50%;background-color:#50a2e9}.popup-create-poll .popup-container{max-height:468px;padding:0}.popup-create-poll .input-field{margin-top:25px}.popup-create-poll .input-field .btn-icon{position:absolute;right:.5rem;top:50%;z-index:1;transform:translateY(-50%);opacity:1;transition:opacity .2s ease}.popup-create-poll .input-field:not(.is-filled) .btn-icon,.popup-create-poll .input-field:first-child:last-child .btn-icon{pointer-events:none;opacity:0}.popup-create-poll .caption{color:#707579;font-weight:500;padding:16px 24px 0}.popup-create-poll .poll-create-questions{padding:0px 20px 32.5px}.popup-create-poll hr{border-bottom:1px solid #edeff1}#auth-pages{max-width:720px;overflow:hidden}@media only screen and (max-width: 896px){#auth-pages .btn-primary{height:50px}}#auth-pages .subtitle{margin:0}@media only screen and (max-width: 896px){#auth-pages .subtitle{font-size:14px}}#auth-pages .input-wrapper{margin-top:49px}@media only screen and (max-width: 896px){#auth-pages .input-wrapper{margin-top:41px;width:100%;padding:0 16px}}#auth-pages .tabs-container{height:100%;transform:translateZ(0);width:100%}#auth-pages .tabs-container.animated{transition:.42s transform}#auth-pages .tabs-container>div:before,#auth-pages .tabs-container>div:after{content:" ";flex:1;min-height:3rem;width:100%}#auth-pages .tabs-container>div>div{height:810px;padding:0;flex:1 1 auto;display:flex;flex-direction:column}@media only screen and (max-width: 896px){#auth-pages .page-password .input-wrapper{margin-top:31px}}#auth-pages .page-password .input-wrapper .btn-primary{margin-top:1rem}.page-sign .auth-image,.page-signUp .auth-image{width:7.5rem;height:7.5rem;margin-bottom:1.5rem}@media only screen and (min-width: 897px){.page-sign .auth-image,.page-signUp .auth-image{width:10rem;height:10rem;margin-bottom:1.5rem}}.sign-logo{max-width:100%;max-height:100%}.page-sign .qr,.page-signQR .qr{margin-top:1.5rem}.page-sign p.qr-description,.page-signQR p.qr-description{color:#707579;line-height:1.85;text-align:left;margin-left:auto;margin-right:auto}@media only screen and (max-width: 896px){.page-signQR .auth-image{width:166px;height:166px}}.page-signUp .auth-image{margin-top:10px;margin-bottom:14px}@media only screen and (max-width: 896px){.page-signUp .auth-image{margin-bottom:24px}}@media only screen and (max-width: 896px){.page-signUp #signUp{margin-top:100px}}.page-authCode .auth-image{transform:translateY(12px)}.page-authCode .phone-wrapper{display:flex;align-items:center;justify-content:center}.page-authCode .phone-wrapper h4[contenteditable="true"]{padding:0 1rem;border:none;outline:none;padding:0 1rem;border-bottom:2px solid #4EA4F6}.page-authCode .phone-wrapper .phone.error{border-color:#E53935 !important}.page-authCode .subtitle{margin-top:0}.page-chats{display:flex}.page-chats .avatar-edit .tgico-cameraadd{top:52%}.page-chats>div{position:relative;min-height:100%;height:100%;max-height:100%}.page-chats #main-columns{width:100%;overflow:hidden}@media only screen and (max-width: 896px){.page-chats .main-column{width:100%}.page-chats .main-column:not(.active){display:none}}@media only screen and (min-width: 897px){.page-chats #column-left{width:25%}.page-chats #column-center{display:flex !important;background-color:#e6ebee;width:100%;flex:1}.page-chats #column-right{display:flex !important}.page-chats .main-column{height:100%;position:relative;min-height:100%;max-height:100%}.page-chats #main-columns{display:flex}}.page-chats .preloader{width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate3d(-50%, -50%, 0)}.page-chats .preloader-path{stroke:#4EA4F6}.page-chats #search-container,.page-chats .sidebar-search{flex-direction:column;width:100%;max-height:100%;height:100%;overflow:hidden;position:absolute;left:0;top:0;z-index:3;background:#fff}@media only screen and (min-width: 1681px){.page-chats{border-top-width:0;border-bottom-width:0;border-left-width:1px;border-right-width:1px;border-style:solid;border-color:#DADCE0}}#dialogs-contextmenu .menu-unread:before{content:""}#dialogs-contextmenu .menu-unread.flip-icon:before{content:""}#dialogs-contextmenu .menu-pin:before{content:""}#dialogs-contextmenu .menu-pin.flip-icon:before{content:""}#dialogs-contextmenu .menu-mute:before{content:""}#dialogs-contextmenu .menu-mute.flip-icon:before{content:""}#dialogs-contextmenu .menu-archive:before{content:""}#dialogs-contextmenu .menu-archive.flip-icon:before{content:""}.page-password #password{padding-right:2.5rem}.page-password #password[type="password"]{font-size:2.25rem;padding-left:10px}.page-password .toggle-visible{position:absolute;right:.25rem;z-index:2;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9e9e9e;cursor:pointer;transition:.2s;padding:.5rem}html.no-touch .page-password .toggle-visible:hover{color:#000}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format("woff2");unicode-range:U400-45F,U490-491,U4B0-4B1,U2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format("woff2");unicode-range:U100-24F,U259,U1E00-1EFF,U2020,U20A0-20AB,U20AD-20CF,U2113,U2C60-2C7F,UA720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular"),url(assets/fonts/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format("woff2");unicode-range:U0-0FF,U131,U152-153,U2BB-2BC,U2C6,U2DA,U2DC,U2000-206F,U2074,U20AC,U2122,U2191,U2193,U2212,U2215,UFEFF,UFFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2) format("woff2");unicode-range:U400-45F,U490-491,U4B0-4B1,U2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2) format("woff2");unicode-range:U100-24F,U259,U1E00-1EFF,U2020,U20A0-20AB,U20AD-20CF,U2113,U2C60-2C7F,UA720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:local("Roboto Medium"),local("Roboto-Medium"),url(assets/fonts/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format("woff2");unicode-range:U0-0FF,U131,U152-153,U2BB-2BC,U2C6,U2DA,U2DC,U2000-206F,U2074,U20AC,U2122,U2191,U2193,U2212,U2215,UFEFF,UFFFD}html,body{height:100%;width:100%;-webkit-font-smoothing:antialiased}@media only screen and (max-width: 896px){html,body{height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100)}}html{font-size:16px;overflow:hidden}a{color:#50a2e9}button,input,optgroup,select,textarea,html{font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}input,textarea,button,select,a,div{-webkit-tap-highlight-color:rgba(0,0,0,0)}.whole{min-height:100%;width:100%;margin:0 auto;max-width:1680px;height:100%}.disable-hover,.disable-hover *{pointer-events:none !important}@media only screen and (min-width: 897px){.only-handhelds{display:none !important}}.container{margin:0 auto}h1,h2,h3,h4,h5,h6{font-weight:500}h4{font-size:2rem;margin:22px 0 14px;line-height:110%}@media only screen and (max-width: 896px){h4{font-size:20px;margin:2px 0 8px}}input{caret-color:#4EA4F6}input,textarea{-webkit-appearance:none}.subtitle{color:#707579;line-height:1.35}.btn-icon{text-align:center;font-size:1.5rem;line-height:1.5rem;border-radius:50%;transition:background-color .15s ease-out;color:#707579;cursor:pointer;background:none;border:none;padding:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.btn-icon.active{color:#50a2e9}html.no-touch .btn-icon:hover{background-color:rgba(112,117,121,0.08)}.btn-icon:disabled{color:#cacaca}.btn-corner{position:absolute !important;bottom:20px;right:20px;transition:.2s ease;transform:translate3d(0, calc(100% + 20px), 0);z-index:3}.btn-corner.is-visible{transform:translate3d(0, 0, 0)}.danger{color:#E53935 !important}.btn-menu{visibility:hidden;position:absolute;background:#fff;box-shadow:0 5px 8px 1px rgba(0,0,0,0.24);z-index:3;top:100%;margin-top:8px;padding:9px 0;border-radius:10px;opacity:0;transform:scale(0.8);transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);font-size:16px;-webkit-user-select:none;-webkit-touch-callout:none}.btn-menu.active{visibility:visible;opacity:1;transform:scale(1)}.btn-menu.bottom-left{right:0;top:100%;transform-origin:top right}.btn-menu.bottom-right{left:0;top:100%;transform-origin:top left}.btn-menu.top-left{top:auto;top:initial;right:0;bottom:100%;transform-origin:bottom right}.btn-menu.top-right{top:auto;top:initial;left:0;bottom:100%;transform-origin:bottom left}.btn-menu-item{display:flex;position:relative;padding:0 40px 0 20px;height:56px;cursor:pointer !important;pointer-events:all !important;background-position:16px center;background-size:24px 24px;background-repeat:no-repeat;color:#000;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items:center}html.no-touch .btn-menu-item:hover{background-color:rgba(112,117,121,0.06)}.btn-menu-item:before{color:#707579;font-size:1.5rem;margin-right:32px}.btn-menu-item.danger:before{color:#E53935}@media only screen and (max-width: 896px){.btn-menu-item{padding:0 30px 0 16px;height:50px}}#bubble-contextmenu,#dialogs-contextmenu{position:fixed;right:auto;bottom:auto;width:auto;z-index:4}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);padding:.5rem 1rem;background-color:rgba(0,0,0,0.66);color:#fff;font-size:1rem;border-radius:10px;-webkit-animation:fadeInFadeOut 3s linear forwards;animation:fadeInFadeOut 3s linear forwards;z-index:5}hr{width:100%;border:none;border-bottom:1px solid #DADCE0;margin:0 0 8px}avatar-element{color:#fff;width:54px;height:54px;line-height:54px;border-radius:50%;background-color:#50a2e9;text-align:center;font-size:1.25em;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}@media only screen and (max-width: 896px){avatar-element{font-size:14px}}avatar-element img{width:100%;height:100%;border-radius:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}avatar-element img.fade-in{-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}avatar-element[class*=" tgico-"]{line-height:52px;font-size:28px}avatar-element path{fill:white}avatar-element.is-online:after{position:absolute;content:" ";display:block;border-radius:50%;border:2px solid white;background-color:#0ac630;left:74%;top:73%;width:14px;height:14px}avatar-element.tgico-avatar_deletedaccount{font-size:3rem}.user-title,b{color:#000;font-weight:500}.user-last-message b{font-weight:400}.rp{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-ripple{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden;background:transparent;border-radius:inherit;-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.c-ripple__circle{background-color:rgba(0,0,0,0.08);display:block;position:absolute;transform:scale(0);border-radius:50%;-webkit-animation:ripple-effect .7s forwards;animation:ripple-effect .7s forwards;transition:.35s opacity;overflow:hidden}@media only screen and (max-width: 896px){.c-ripple__circle{-webkit-animation-duration:.2s;animation-duration:.2s;transition-duration:.1s;border-radius:15%}}.c-ripple.is-square .c-ripple__circle,.btn-menu .c-ripple .c-ripple__circle{-webkit-animation-duration:.2s;animation-duration:.2s;transition-duration:.1s;border-radius:15%}.c-ripple__circle.hiding,.c-ripple__square.hiding{opacity:0}@-webkit-keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}@keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}.document{padding-left:4.5rem;height:70px}.document-ico{background-color:#50a2e9;border-radius:5px;line-height:10px}.document-ico:after{content:"";display:block;position:absolute;top:0;right:0;width:1.125rem;height:1.125rem;border-bottom-left-radius:.25rem;border-left:0.5625rem solid rgba(0,0,0,0.25);border-bottom:0.5625rem solid rgba(0,0,0,0.25);border-top:.5625rem solid #fff;border-right:.5625rem solid #fff}.document-ico,.document-download{font-weight:500;letter-spacing:1px;font-size:1.1rem;background-size:contain;overflow:hidden;text-overflow:ellipsis}.document-download{background-color:#50a2e9;border-radius:8px}.document.ext-zip .document-ico,.document.ext-zip .document-download{background-color:#FB8C00}.document.ext-pdf .document-ico,.document.ext-pdf .document-download{background-color:#DF3F40}.document.ext-apk .document-ico,.document.ext-apk .document-download{background-color:#43A047}.document:not(.photo) .document-ico{padding-top:1.5rem}.document.photo .document-ico{background:#000;border-radius:8px}.document.photo .document-ico .document-thumb{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.document.photo .document-ico:after{display:none}.document.photo .document-download{background-color:rgba(0,0,0,0.15)}.document-name{white-space:nowrap;font-weight:500;line-height:1.3}.document-size{white-space:nowrap;color:#707579;font-size:14px;padding-right:32px;line-height:1.3}.document,.audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.document-ico,.document-download,.audio-ico,.audio-download{position:absolute;left:0;width:54px;height:54px;color:#fff;display:flex;justify-content:center}.document-ico.tgico-largeplay:before,.document-download.tgico-largeplay:before,.audio-ico.tgico-largeplay:before,.audio-download.tgico-largeplay:before{margin-right:-1px}@media only screen and (max-width: 896px){.document-ico,.document-download,.audio-ico,.audio-download{height:36px;width:36px}}.document-download,.audio-download{z-index:1;align-items:center;font-size:24px;cursor:pointer}.document-download .tgico-download,.audio-download .tgico-download{transform:scale(1);transition:.2s scale}.document-download.downloading .tgico-download,.audio-download.downloading .tgico-download{transform:scale(0)}.document .preloader-container,.audio .preloader-container{width:42px;height:42px}@media only screen and (max-width: 896px){.document .preloader-container,.audio .preloader-container{width:30px;height:30px}}.audio{position:relative;padding-left:67px;min-height:58px;max-width:244px;overflow:visible !important}@media only screen and (max-width: 896px){.audio{padding-left:45px}}.audio-toggle,.audio-download{border-radius:50%;background-color:#50a2e9;font-size:2.3rem;align-items:center}@media only screen and (max-width: 896px){.audio-toggle,.audio-download{font-size:24px !important}}.audio-download{z-index:2}.audio-waveform{height:23px}.audio-waveform rect{fill:#CBCBCB}.audio-waveform rect.active{fill:#50a2e9}.audio-title{font-size:1rem;color:#000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.audio-time,.audio-subtitle{font-size:14px;color:#707579;margin-top:3px;margin-left:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media only screen and (max-width: 896px){.audio-time,.audio-subtitle{margin-top:1px;font-size:12px}}.audio-title,.audio:not(.audio-show-progress) .audio-subtitle{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}@media only screen and (max-width: 896px){.audio-download{margin-left:2px;margin-top:1px}.audio.is-voice .audio-download{margin:0}}.avatar-edit{position:relative;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-edit-canvas{max-width:100%;max-height:100%;width:100%;height:100%;background-color:#50a2e9}.avatar-edit .tgico-cameraadd{position:absolute;font-size:48px;line-height:48px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);z-index:2;color:#fff}.avatar-edit .avatar-placeholder{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-filter:brightness(0.7);filter:brightness(0.7)}.input-wrapper{width:360px;margin:0 auto}.input-field{position:relative}.input-field .arrow-down{position:absolute;content:" ";top:50%;bottom:0;right:21px;cursor:pointer;height:0;width:0;border:solid #707579;border-radius:1px;border-width:0 2px 2px 0;display:inline-block;padding:5px;vertical-align:middle;z-index:2;margin-top:-9px;transform:rotate(45deg);-webkit-transform:rotate(45deg);transition:.2s all}.input-field label{position:absolute;color:#9e9e9e;left:1rem;right:auto;z-index:2;top:50%;transform:translateY(-50%);background-color:#fff;transition:.2s all, .1s opacity;display:inline-block;cursor:text}.input-field input{border:1px solid #DADCE0;border-radius:10px;padding:0 1rem;box-sizing:border-box;width:100%;height:54px;transition:.2s border-color;position:relative;z-index:1}@media only screen and (max-width: 896px){.input-field input{height:50px}}.input-field input:focus{border-color:#4EA4F6;border-width:2px;padding:0 calc(1rem - 1px)}.input-field input:disabled{background-color:#fff;color:#000}.input-field input.error{border-color:#E53935}.input-field input.error+label{color:#E53935 !important}.input-field input.valid{border-color:#26962F}.input-field input.valid+label{color:#26962F !important}.input-field input:focus ~ .arrow-down{margin-top:-4px;transform:rotate(225deg);-webkit-transform:rotate(225deg);border-color:#4EA4F6}.input-field input:focus+label{color:#4EA4F6}.input-field input:focus+label,.input-field input:valid+label,.input-field input:disabled+label{top:-.5rem;transform:none;padding:0 5px;left:.75rem;font-size:0.75rem !important;opacity:1}.checkbox-field{margin:1.25rem 0;display:block;text-align:left;padding:0 18px;position:relative}@media only screen and (max-width: 896px){.checkbox-field{margin-bottom:27px}}[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;box-sizing:border-box;padding:0}[type="checkbox"]+span{position:relative;padding-left:calc(18px + 2.25rem);cursor:pointer;display:inline-block;height:25px;line-height:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:before,[type="checkbox"]+span:after{content:'';left:0;position:absolute;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s}[type="checkbox"]+span:before{border-radius:2px;z-index:1}[type="checkbox"]+span:after{height:18px;width:18px;z-index:0;border:2px solid #4EA4F6;border-radius:3px;top:50%;transform:translateY(-50%)}[type="checkbox"]:not(:checked)+span:before{width:0;height:0;border:2px solid transparent;left:6px;top:10px;transform:rotateZ(45deg);transform-origin:100% 100%}[type="checkbox"]:checked+span:before{top:4px;left:-1px;width:8px;height:14px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotateZ(45deg);transform-origin:100% 100%}[type="checkbox"]:not(:checked)+span:after{background-color:transparent;border-color:#8d969c}[type="checkbox"]:checked+span:after{background-color:#4EA4F6}.input-wrapper>*+*{margin-top:1.5rem}.select-wrapper{max-height:23.5rem;position:absolute;width:100%;top:calc(100% + .5rem);left:0;overflow:hidden;background-color:#fff;z-index:3;border-radius:10px;display:flex;flex-direction:column;flex-wrap:wrap;transition:opacity .2s ease-out, transform .2s ease-out;transform:scale(0.95);transform-origin:top center;opacity:0}.select-wrapper.active{transform:scale(1);opacity:1}.select-wrapper ul{margin:.5rem 0}.select-wrapper li{align-items:center;padding:0 1rem;justify-content:space-between;height:3.5rem;cursor:pointer;text-align:left;display:grid;grid-template-columns:calc(26px + 2rem) 1fr 50px}html.no-touch .select-wrapper li:hover{background-color:rgba(112,117,121,0.08)}.select-wrapper .emoji{height:26px;width:26px;font-size:26px;line-height:1}.select-wrapper .scrollable{position:relative}.phone-code{color:#9e9e9e;text-align:right}::-moz-placeholder{color:#909192;opacity:1}:-ms-input-placeholder{color:#909192;opacity:1}::-ms-input-placeholder{color:#909192;opacity:1}::placeholder{color:#909192;opacity:1}:-ms-input-placeholder{color:#a2acb4}::-ms-input-placeholder{color:#a2acb4}input:focus,button:focus{outline:none}.auth-image{width:166px;height:166px;margin:0 auto 18px}@media only screen and (max-width: 896px){.auth-image{width:120px;height:120px}}.phone-edit{display:inline-block;width:24px;height:24px;margin-left:.4rem;opacity:.5;transition:.2s;cursor:pointer;font-size:1.5rem}@media only screen and (max-width: 896px){.phone-edit{margin-top:-14px}}html.no-touch .phone-edit:hover{opacity:1}.btn-primary{background:#50a2e9;color:#fff;border-radius:10px;width:100%;text-align:center;height:54px;border:none;font-weight:500;cursor:pointer;overflow:hidden;position:relative;padding:0}html.no-touch .btn-primary:hover{background:#2c8fe4}.btn-primary svg,.btn-primary use{height:calc(100% - 20px);right:15px;left:auto}.btn-primary.btn-circle .preloader-circular{height:calc(100% - 20px);right:auto;left:auto;margin:0;top:10px}.btn-primary.btn-circle .preloader-circular .preloader-path{stroke:#fff}.btn-menu-toggle{position:relative;overflow:visible !important;font-weight:normal !important;cursor:pointer !important;pointer-events:all !important}.btn-menu-toggle:not(.btn-primary).menu-open{background-color:rgba(112,117,121,0.08)}.emoji{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle;line-height:1em;font-size:1em;font-family:apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol}img.emoji{width:18px;height:18px;margin:0 .125rem}.btn-circle{border-radius:50%;height:54px;width:54px;line-height:54px}@media only screen and (max-width: 896px){.btn-circle{height:46px;width:46px}}.btn-circle path{fill:white}.overlay::-moz-selection{background:transparent}.overlay::selection{background:transparent}.crop-component::-moz-selection{background:transparent}.crop-component::selection{background:transparent}.crop-image,.overlay>img{width:auto;height:auto;display:block;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.crop-image{display:block;position:relative;pointer-events:none}.crop-component{position:relative;z-index:999;background-color:white;margin:0 auto;overflow:hidden}.crop-component>img{max-width:100%}.crop-component .crop-overlay-color{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);border-radius:8px}.overlay{position:absolute;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-100px;width:200px;height:200px;overflow:hidden;box-sizing:content-box;border-radius:50%}html.no-touch .overlay:hover,.overlay:active{cursor:move}.overlay>img{position:absolute;display:block}[contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sticky_sentinel{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}.rlottie{max-width:100%;max-height:100%;width:100%;height:100%}.rlottie.fade-in{-webkit-animation:fadeIn .2s ease forwards;animation:fadeIn .2s ease forwards}.fade-in-transition{opacity:1;transition:opacity .2s ease}.show-more{padding-top:13px;padding-bottom:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}@media only screen and (min-width: 897px){.show-more{padding-left:8px}}.show-more .tgico-down{float:left;padding-right:32px;padding-left:16px;font-size:24px;color:#707579}.chats-container #chats-container .scrollable #dialogs .rp avatar-element{font-size:20px}.chats-container #chats-container .scrollable #dialogs .rp avatar-element:before{font-size:26px}.chats-container #chats-container .scrollable #dialogs .rp avatar-element.tgico-avatar_deletedaccount:before{font-size:56px}.btn-disabled{pointer-events:none !important;cursor:default !important;color:#707579 !important}.btn-disabled:before{color:#707579 !important}.content-empty{color:#707579} @font-face{font-family:"tgico";src:url("assets/fonts/tgico.eot?owpifk");src:url("assets/fonts/tgico.eot?owpifk#iefix") format("embedded-opentype"),url("assets/fonts/tgico.ttf?owpifk") format("truetype"),url("assets/fonts/tgico.woff?owpifk") format("woff"),url("assets/fonts/tgico.svg?owpifk#tgico") format("svg");font-weight:normal;font-style:normal;font-display:block}[class^="tgico-"],.tgico:before,.tgico:after,[class*=" tgico-"]:before,[class*=" tgico-"]:after{font-family:"tgico" !important;speak:none;font-style:normal;font-weight:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tgico-check:before{content:""}.tgico-checks:before{content:""}.tgico-activesessions:before{content:"\e902"}.tgico-add:before{content:"\e903"}.tgico-addmember_filled:before{content:"\e904"}.tgico-adduser:before{content:"\e905"}.tgico-admin:before{content:"\e906"}.tgico-animals:before{content:"\e907"}.tgico-archive:before{content:""}.tgico-attach:before{content:"\e909"}.tgico-avatar_archivedchats:before{content:"\e90a"}.tgico-avatar_deletedaccount:before{content:"\e90b"}.tgico-avatar_savedmessages:before{content:"\e90c"}.tgico-back:before{content:""}.tgico-bots:before{content:"\e90e"}.tgico-calendar:before{content:"\e90f"}.tgico-camera:before{content:"\e910"}.tgico-cameraadd:before{content:"\e911"}.tgico-car:before{content:"\e912"}.tgico-channel:before{content:"\e913"}.tgico-channelviews:before{content:"\e914"}.tgico-chatsplaceholder:before{content:"\e915"}.tgico-check1:before{content:"\e916"}.tgico-checkbox:before{content:"\e917"}.tgico-checkboxblock:before{content:"\e918"}.tgico-checkboxempty:before{content:"\e919"}.tgico-checkboxon:before{content:"\e91a"}.tgico-close:before{content:""}.tgico-clouddownload:before{content:"\e91c"}.tgico-colorize:before{content:"\e91d"}.tgico-copy:before{content:"\e91e"}.tgico-data:before{content:"\e91f"}.tgico-delete:before{content:"\e920"}.tgico-delete_filled:before{content:"\e921"}.tgico-deleteleft:before{content:"\e922"}.tgico-deleteuser:before{content:"\e923"}.tgico-document:before{content:"\e924"}.tgico-down:before{content:"\e925"}.tgico-download:before{content:"\e926"}.tgico-eats:before{content:"\e927"}.tgico-edit:before{content:"\e928"}.tgico-eye1:before{content:"\e929"}.tgico-eye2:before{content:"\e92a"}.tgico-favourites:before{content:"\e92b"}.tgico-flag:before{content:"\e92c"}.tgico-folder:before{content:"\e92d"}.tgico-forward:before{content:"\e92e"}.tgico-fullscreen:before{content:"\e92f"}.tgico-gifs:before{content:"\e930"}.tgico-group:before{content:"\e931"}.tgico-help:before{content:"\e932"}.tgico-info:before{content:"\e933"}.tgico-info2:before{content:""}.tgico-keyboard:before{content:""}.tgico-lamp:before{content:"\e936"}.tgico-language:before{content:"\e937"}.tgico-largepause:before{content:""}.tgico-largeplay:before{content:""}.tgico-livelocation:before{content:"\e93a"}.tgico-location:before{content:"\e93b"}.tgico-lock:before{content:"\e93c"}.tgico-logout:before{content:"\e93d"}.tgico-menu:before{content:"\e93e"}.tgico-message:before{content:"\e93f"}.tgico-microphone:before{content:"\e940"}.tgico-microphone2:before{content:"\e941"}.tgico-minus:before{content:"\e942"}.tgico-more:before{content:"\e943"}.tgico-mute:before{content:""}.tgico-muted:before{content:"\e945"}.tgico-newchannel:before{content:"\e946"}.tgico-newchat_filled:before{content:"\e947"}.tgico-newgroup:before{content:"\e948"}.tgico-newprivate:before{content:"\e949"}.tgico-next:before{content:""}.tgico-noncontacts:before{content:"\e94b"}.tgico-nosound:before{content:""}.tgico-pause:before{content:""}.tgico-permissions:before{content:"\e94e"}.tgico-phone:before{content:"\e94f"}.tgico-photo:before{content:"\e950"}.tgico-pin:before{content:""}.tgico-pinnedchat:before{content:"\e952"}.tgico-play:before{content:""}.tgico-poll:before{content:"\e954"}.tgico-radiooff:before{content:"\e955"}.tgico-radioon:before{content:"\e956"}.tgico-readchats:before{content:""}.tgico-recent:before{content:"\e958"}.tgico-reply:before{content:"\e959"}.tgico-revote:before{content:"\e95a"}.tgico-savedmessages:before{content:"\e95b"}.tgico-search:before{content:"\e95c"}.tgico-send:before{content:"\e95d"}.tgico-send2:before{content:"\e95e"}.tgico-sending:before{content:""}.tgico-sendingerror:before{content:"\e960"}.tgico-settings:before{content:"\e961"}.tgico-smallscreen:before{content:"\e962"}.tgico-smile:before{content:""}.tgico-sport:before{content:"\e964"}.tgico-stickers:before{content:"\e965"}.tgico-stop:before{content:"\e966"}.tgico-tip:before{content:"\e967"}.tgico-unarchive:before{content:""}.tgico-unlock:before{content:"\e969"}.tgico-unmute:before{content:""}.tgico-unpin:before{content:""}.tgico-unread:before{content:""}.tgico-up:before{content:"\e96d"}.tgico-user:before{content:"\e96e"}.tgico-username:before{content:"\e96f"} diff --git a/public/main.css.gz b/public/main.css.gz index 1f45e193..673a9105 100644 Binary files a/public/main.css.gz and b/public/main.css.gz differ diff --git a/public/sw.js b/public/sw.js index a428e5e2..4fa243bf 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,9 +1,3 @@ var serviceWorkerOption = {"assets":[]}; - !function(t){var e={};function r(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(i,o,function(e){return t[e]}.bind(null,o));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){(function(){var e;function r(t,e,r){null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function i(){return new r(null)}var o="undefined"!=typeof navigator;o&&"Microsoft Internet Explorer"==navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(var s=32767&e,h=e>>15;--n>=0;){var u=32767&this[t],a=this[t++]>>15,f=h*u+a*s;o=((u=s*u+((32767&f)<<15)+r[i]+(1073741823&o))>>>30)+(f>>>15)+h*a+(o>>>30),r[i++]=1073741823&u}return o},e=30):o&&"Netscape"!=navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(;--n>=0;){var s=e*this[t++]+r[i]+o;o=Math.floor(s/67108864),r[i++]=67108863&s}return o},e=26):(r.prototype.am=function(t,e,r,i,o,n){for(var s=16383&e,h=e>>14;--n>=0;){var u=16383&this[t],a=this[t++]>>14,f=h*u+a*s;o=((u=s*u+((16383&f)<<14)+r[i]+o)>>28)+(f>>14)+h*a,r[i++]=268435455&u}return o},e=28),r.prototype.DB=e,r.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function p(t){this.m=t}function l(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function b(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function T(){}function S(t){return t}function w(t){this.r2=i(),this.q3=i(),r.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}p.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},p.prototype.revert=function(t){return t},p.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},p.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},p.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},l.prototype.convert=function(t){var e=i();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(r.ZERO)>0&&this.m.subTo(e,e),e},l.prototype.revert=function(t){var e=i();return t.copyTo(e),this.reduce(e),e},l.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,i,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},l.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},l.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},r.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},r.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},r.prototype.fromString=function(t,e){var i;if(16==e)i=4;else if(8==e)i=3;else if(256==e)i=8;else if(2==e)i=1;else if(32==e)i=5;else{if(4!=e)return void this.fromRadix(t,e);i=2}this.t=0,this.s=0;for(var o=t.length,n=!1,s=0;--o>=0;){var h=8==i?255&t[o]:a(t,o);h<0?"-"==t.charAt(o)&&(n=!0):(n=!1,0==s?this[this.t++]=h:s+i>this.DB?(this[this.t-1]|=(h&(1<>this.DB-s):this[this.t-1]|=h<=this.DB&&(s-=this.DB))}8==i&&0!=(128&t[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},r.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},r.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>o|h,h=(this[r]&n)<=0;--r)e[r]=0;e[s]=h,e.t=this.t+s+1,e.s=this.s,e.clamp()},r.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var i=t%this.DB,o=this.DB-i,n=(1<>i;for(var s=r+1;s>i;i>0&&(e[this.t-r-1]|=(this.s&n)<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i-=t.s}e.s=i<0?-1:0,i<-1?e[r++]=this.DV+i:i>0&&(e[r++]=i),e.t=r,e.clamp()},r.prototype.multiplyTo=function(t,e){var i=this.abs(),o=t.abs(),n=i.t;for(e.t=n+o.t;--n>=0;)e[n]=0;for(n=0;n=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},r.prototype.divRemTo=function(t,e,o){var n=t.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(f,h),s.lShiftTo(f,o)):(n.copyTo(h),s.copyTo(o));var p=h.t,l=h[p-1];if(0!=l){var y=l*(1<1?h[p-2]>>this.F2:0),d=this.FV/y,m=(1<=0&&(o[o.t++]=1,o.subTo(T,o)),r.ONE.dlShiftTo(p,T),T.subTo(h,h);h.t=0;){var S=o[--g]==l?this.DM:Math.floor(o[g]*d+(o[g-1]+v)*m);if((o[g]+=h.am(0,S,o,b,0,p))0&&o.rShiftTo(f,o),u<0&&r.ZERO.subTo(o,o)}}},r.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},r.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},r.prototype.exp=function(t,e){if(t>4294967295||t<1)return r.ONE;var o=i(),n=i(),s=e.convert(this),h=c(t)-1;for(s.copyTo(o);--h>=0;)if(e.sqrTo(o,n),(t&1<0)e.mulTo(n,s,o);else{var u=o;o=n,n=u}return e.revert(o)},r.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,i=(1<0)for(h>h)>0&&(o=!0,n=u(r));s>=0;)h>(h+=this.DB-e)):(r=this[s]>>(h-=e)&i,h<=0&&(h+=this.DB,--s)),r>0&&(o=!0),o&&(n+=u(r));return o?n:"0"},r.prototype.negate=function(){var t=i();return r.ZERO.subTo(this,t),t},r.prototype.abs=function(){return this.s<0?this.negate():this},r.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+c(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(t){var e=i();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(r.ZERO)>0&&t.subTo(e,e),e},r.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new p(e):new l(e),this.exp(t,r)},r.ZERO=f(0),r.ONE=f(1),T.prototype.convert=S,T.prototype.revert=S,T.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},T.prototype.sqrTo=function(t,e){t.squareTo(e)},w.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=i();return t.copyTo(e),this.reduce(e),e},w.prototype.revert=function(t){return t},w.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},w.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},w.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var B,A,D,M=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/M[M.length-1];function E(){var t;t=(new Date).getTime(),A[D++]^=255&t,A[D++]^=t>>8&255,A[D++]^=t>>16&255,A[D++]^=t>>24&255,D>=C&&(D-=C)}if(r.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},r.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),o=f(r),n=i(),s=i(),h="";for(this.divRemTo(o,n,s);n.signum()>0;)h=(r+s.intValue()).toString(t).substr(1)+h,n.divRemTo(o,n,s);return s.intValue().toString(t)+h},r.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var i=this.chunkSize(e),o=Math.pow(e,i),n=!1,s=0,h=0,u=0;u=i&&(this.dMultiply(o),this.dAddOffset(h,0),s=0,h=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(h,0)),n&&r.ZERO.subTo(this,this)},r.prototype.fromNumber=function(t,e,i){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo(r.ONE.shiftLeft(t-1),d,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(r.ONE.shiftLeft(t-1),this);else{var o=new Array,n=7&t;o.length=1+(t>>3),e.nextBytes(o),n>0?o[0]&=(1<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i+=t.s}e.s=i<0?-1:0,i>0?e[r++]=i:i<-1&&(e[r++]=this.DV+i),e.t=r,e.clamp()},r.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},r.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},r.prototype.multiplyLowerTo=function(t,e,r){var i,o=Math.min(this.t+t.t,e);for(r.s=0,r.t=o;o>0;)r[--o]=0;for(i=r.t-this.t;o=0;)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r},r.prototype.millerRabin=function(t){var e=this.subtract(r.ONE),o=e.getLowestSetBit();if(o<=0)return!1;var n=e.shiftRight(o);(t=t+1>>1)>M.length&&(t=M.length);for(var s=i(),h=0;h>24},r.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,i=this.DB-t*this.DB%8,o=0;if(t-- >0)for(i>i)!=(this.s&this.DM)>>i&&(e[o++]=r|this.s<=0;)i<8?(r=(this[t]&(1<>(i+=this.DB-8)):(r=this[t]>>(i-=8)&255,i<=0&&(i+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==o&&(128&this.s)!=(128&r)&&++o,(o>0||r!=this.s)&&(e[o++]=r);return e},r.prototype.equals=function(t){return 0==this.compareTo(t)},r.prototype.min=function(t){return this.compareTo(t)<0?this:t},r.prototype.max=function(t){return this.compareTo(t)>0?this:t},r.prototype.and=function(t){var e=i();return this.bitwiseTo(t,y,e),e},r.prototype.or=function(t){var e=i();return this.bitwiseTo(t,d,e),e},r.prototype.xor=function(t){var e=i();return this.bitwiseTo(t,m,e),e},r.prototype.andNot=function(t){var e=i();return this.bitwiseTo(t,v,e),e},r.prototype.not=function(){for(var t=i(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var d=i();for(o.sqrTo(h[1],d);u<=y;)h[u]=i(),o.mulTo(d,h[u-2],h[u]),u+=2}var m,v,g=t.t-1,b=!0,T=i();for(n=c(t[g])-1;g>=0;){for(n>=a?m=t[g]>>n-a&y:(m=(t[g]&(1<0&&(m|=t[g-1]>>this.DB+n-a)),u=r;0==(1&m);)m>>=1,--u;if((n-=u)<0&&(n+=this.DB,--g),b)h[m].copyTo(s),b=!1;else{for(;u>1;)o.sqrTo(s,T),o.sqrTo(T,s),u-=2;u>0?o.sqrTo(s,T):(v=s,s=T,T=v),o.mulTo(T,h[m],s)}for(;g>=0&&0==(t[g]&1<=0?(i.subTo(o,i),e&&n.subTo(h,n),s.subTo(u,s)):(o.subTo(i,o),e&&h.subTo(n,h),u.subTo(s,u))}return 0!=o.compareTo(r.ONE)?r.ZERO:u.compareTo(t)>=0?u.subtract(t):u.signum()<0?(u.addTo(t,u),u.signum()<0?u.add(t):u):u},r.prototype.pow=function(t){return this.exp(t,new T)},r.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r,r=i}var o=e.getLowestSetBit(),n=r.getLowestSetBit();if(n<0)return e;for(o0&&(e.rShiftTo(n,e),r.rShiftTo(n,r));e.signum()>0;)(o=e.getLowestSetBit())>0&&e.rShiftTo(o,e),(o=r.getLowestSetBit())>0&&r.rShiftTo(o,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return n>0&&r.lShiftTo(n,r),r},r.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=M[M.length-1]){for(e=0;e>>8,A[D++]=255&L;D=0,E()}function x(){if(null==B){for(E(),(B=new F).init(A),D=0;D{const e=t.data,r=a[e.id];e.payload?r.resolve(e.payload):r.reject(),delete a[e.id]});let f=0;const c=t=>{try{const[,r,o,u]=/http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(t.request.url)||[];switch(h.debug("[fetch]:",t),o){case"stream":{const o=function(t){if(!t)return[0,0];const[,e]=t.split("="),r=e.split(", "),[i,o]=r[0].split("-");return[+i,+o||0]}(t.request.headers.get("Range"));let[c,p]=o;const y=JSON.parse(decodeURIComponent(u)),d=l;h.debug("[stream]",r,c,p),t.respondWith(Promise.race([(e=45e3,new Promise(t=>{setTimeout(()=>{t(new Response("",{status:408,statusText:"Request timed out."}))},e)})),new Promise((t,e)=>{const r=function(t,e,r){if(0===t[0]&&1===t[1])return new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":"bytes 0-1/"+(r||"*"),"Content-Length":"2","Content-Type":e||"video/mp4"}});return null}(o,y.mimeType,y.size);if(r)return t(r);const u=p&&p{let r=e.bytes;h.debug("[stream] requestFilePart result:",e);const o={"Accept-Ranges":"bytes","Content-Range":`bytes ${l}-${l+r.byteLength-1}/${y.size||"*"}`,"Content-Length":""+r.byteLength};y.mimeType&&(o["Content-Type"]=y.mimeType),i.isSafari&&(r=r.slice(c-l,p-l+1),o["Content-Range"]=`bytes ${c}-${c+r.byteLength-1}/${y.size||"*"}`,o["Content-Length"]=""+r.byteLength),t(new Response(r,{status:206,statusText:"Partial Content",headers:o}))}).catch(t=>{}),s.notifySomeone(m)})]));break}}}catch(e){t.respondWith(new Response("",{status:500,statusText:"Internal Server Error"}))}var e},p=()=>{u.onfetch=c};u.addEventListener("install",t=>{h("installing"),t.waitUntil(u.skipWaiting())}),u.addEventListener("activate",t=>{h("activating",u),t.waitUntil(u.clients.claim())}),u.onerror=t=>{h.error("error:",t)},u.onunhandledrejection=t=>{h.error("onunhandledrejection:",t)},u.onoffline=u.ononline=p,p();const l=524288},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSafari=e.isAppleMobile=e.isAndroid=e.isApple=e.userAgent=void 0,e.userAgent=navigator?navigator.userAgent:null,e.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),e.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;e.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,e.isSafari=!!("safari"in i)||!(!e.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(e.userAgent)||e.userAgent.match("Safari")&&!e.userAgent.match("Chrome")))},function(t,e,r){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.logger=e.LogLevels=void 0,function(t){t[t.log=1]="log",t[t.warn=2]="warn",t[t.error=4]="error",t[t.debug=8]="debug"}(i=e.LogLevels||(e.LogLevels={}));var o=Date.now();function n(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"}e.logger=function(t,e=i.log|i.warn|i.error){function r(...r){return e&i.log&&console.log(n(),"["+t+"]:",...r)}return e=i.error,r.warn=function(...r){return e&i.warn&&console.warn(n(),"["+t+"]:",...r)},r.info=function(...r){return e&i.log&&console.info(n(),"["+t+"]:",...r)},r.error=function(...r){return e&i.error&&console.error(n(),"["+t+"]:",...r)},r.trace=function(...r){return e&i.log&&console.trace(n(),"["+t+"]:",...r)},r.debug=function(...r){return e&i.debug&&console.debug(n(),"["+t+"]:",...r)},r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.deferredPromise=e.secureRandom=void 0;const i=r(5),o=r(0);e.secureRandom=new o.SecureRandom,e.deferredPromise=function(){let t={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...e)=>{t.lastNotify=e,t.listeners.forEach(t=>t(...e))},lastNotify:void 0,listeners:[],addNotifyListener:e=>{t.lastNotify&&e(...t.lastNotify),t.listeners.push(e)}},e=new Promise((r,i)=>{t.resolve=t=>{e.isFulfilled||(e.isFulfilled=!0,r(t))},t.reject=(...t)=>{e.isRejected||(e.isRejected=!0,i(...t))}});return e.finally(()=>{e.notify=null,e.listeners.length=0,e.lastNotify=null}),Object.assign(e,t),e},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(t){this.set(i.bytesFromHex(t))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return e.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...t){return i.bufferConcats(this,...t)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(t){for(var e=this.length-1;e>=0;--e)t(this[e],e,this)},Array.prototype.findAndSplice=function(t){let e=this.findIndex(t);return-1!==e?this.splice(e,1)[0]:void 0},String.prototype.toHHMMSS=function(t=!1){const e=parseInt(this+"",10),r=Math.floor(e/3600);let i=Math.floor((e-3600*r)/60),o=e-3600*r-60*i;return r&&(t=!0),i<10&&(i=t?"0"+i:i),o<10&&(o="0"+o),(r?r+":":"")+i+":"+o}},function(t,e,r){"use strict"; -/*! - * Webogram v0.7.0 - messaging web application for MTProto - * https://github.com/zhukov/webogram - * Copyright (C) 2014 Igor Zhukov - * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(e,"__esModule",{value:!0}),e.getFileNameByLocation=e.nextRandomInt=e.addPadding=e.longFromInts=e.longToBytes=e.bytesToWordss=e.bytesFromWordss=e.bytesFromWords=e.longToInts=e.bufferConcats=e.bufferConcat=e.bytesFromArrayBuffer=e.convertToByteArray=e.convertToUint8Array=e.convertToArrayBuffer=e.bytesToArrayBuffer=e.bytesFromBigInt=e.bytesXor=e.bytesCmp=e.blobSafeMimeType=e.blobConstruct=e.dataUrlToBlob=e.base64ToBlob=e.uint6ToBase64=e.bytesToBase64=e.bytesFromHex=e.bytesToHex=e.bigStringInt=e.bigint=e.isObject=e.dT=void 0;const i=r(0);var o=Date.now();function n(t){return new i.BigInteger(t.toString(16),16)}function s(t){return new i.BigInteger(t,10)}function h(t){return t<26?t+65:t<52?t+71:t<62?t-4:62===t?43:63===t?47:65}function u(t,e){for(var r=atob(t),i=r.length,o=Math.ceil(i/1024),n=new Array(o),s=0;s{o.append(t)}),r=o.getBlob(i)}return r}function f(t){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(t)?"application/octet-stream":t}function c(t){return new Uint8Array(t).buffer}function p(t){return void 0!==t.buffer?t:new Uint8Array(t)}function l(t,e){var r=t.byteLength||t.length,i=e.byteLength||e.length,o=new Uint8Array(r+i);return o.set(t instanceof ArrayBuffer?new Uint8Array(t):t,0),o.set(e instanceof ArrayBuffer?new Uint8Array(e):e,r),o.buffer}function y(t){var e=s(t).divideAndRemainder(n(4294967296));return[e[0].intValue(),e[1].intValue()]}function d(t){for(var e=t.words,r=t.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255);return i}e.dT=function(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"},e.isObject=function(t){return"object"==typeof t&&null!==t},e.bigint=n,e.bigStringInt=s,e.bytesToHex=function(t){t=t||[];for(var e=[],r=0;r>>e&24),2!==e&&i-n!=1||(r+=String.fromCharCode(h(o>>>18&63),h(o>>>12&63),h(o>>>6&63),h(63&o)),o=0);return r.replace(/A(?=A$|$)/g,"=")},e.uint6ToBase64=h,e.base64ToBlob=u,e.dataUrlToBlob=function(t){var e=t.split(",");return u(e[1],e[0].split(":")[1].split(";")[0])},e.blobConstruct=a,e.blobSafeMimeType=f,e.bytesCmp=function(t,e){var r=t.length;if(r!=e.length)return!1;for(var i=0;ie);)r=r.slice(1);return r},e.bytesToArrayBuffer=c,e.convertToArrayBuffer=function(t){return t instanceof ArrayBuffer?t:void 0!==t.buffer&&t.buffer.byteLength==t.length*t.BYTES_PER_ELEMENT?t.buffer:c(t)},e.convertToUint8Array=p,e.convertToByteArray=function(t){if(Array.isArray(t))return t;for(var e=[],r=0,i=(t=p(t)).length;re+=t.byteLength||t.length);var r=new Uint8Array(e);let i=0;return t.forEach(t=>{r.set(t instanceof ArrayBuffer?new Uint8Array(t):t,i),i+=t.byteLength||t.length}),r},e.longToInts=y,e.bytesFromWords=d,e.bytesFromWordss=function(t){for(var e=[],r=0;r<4*t.length;r++)e.push(t[r>>>2]>>>24-r%4*8&255);return e},e.bytesToWordss=function(t){let e;e=t instanceof ArrayBuffer?new Uint8Array(t):t;var r,i=e.length,o=[];for(r=0;r>>2]|=e[r]<<24-r%4*8;return new Uint32Array(o)},e.longToBytes=function(t){return d({words:y(t),sigBytes:8}).reverse()},e.longFromInts=function(t,e){return n(t).shiftLeft(32).add(n(e)).toString(10)},e.addPadding=function(t,e=16,r,o=!1,n=!1){let s=e-(t.byteLength||t.length)%e;if(s>0&&(s{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(r=>{r.length&&r.slice(t?0:-1).forEach(t=>{t.postMessage(...e)})})},o=(...t)=>{self.postMessage(...t)},n=()=>{};e.notifySomeone=e.isServiceWorker?i.bind(null,!1):e.isWebWorker?o:n,e.notifyAll=e.isServiceWorker?i.bind(null,!0):e.isWebWorker?o:n}]); \ No newline at end of file + !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),o=n(2),i=n(3),s=n(4),l=o.logger("SW",o.LogLevels.error),a=self,u={};a.addEventListener("message",e=>{const t=e.data,n=u[t.id];t.payload?n.resolve(t.payload):n.reject(),delete u[t.id]});let c=0;const d=e=>{try{const[,n,o,a]=/http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(e.request.url)||[];switch(l.debug("[fetch]:",e),o){case"stream":{const o=function(e){if(!e)return[0,0];const[,t]=e.split("="),n=t.split(", "),[r,o]=n[0].split("-");return[+r,+o||0]}(e.request.headers.get("Range"));let[d,f]=o;const p=JSON.parse(decodeURIComponent(a)),y=g;l.debug("[stream]",n,d,f),e.respondWith(Promise.race([(t=45e3,new Promise(e=>{setTimeout(()=>{e(new Response("",{status:408,statusText:"Request timed out."}))},t)})),new Promise((e,t)=>{const n=function(e,t,n){if(0===e[0]&&1===e[1])return new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":"bytes 0-1/"+(n||"*"),"Content-Length":"2","Content-Type":t||"video/mp4"}});return null}(o,p.mimeType,p.size);if(n)return e(n);const a=f&&f{let n=t.bytes;l.debug("[stream] requestFilePart result:",t);const o={"Accept-Ranges":"bytes","Content-Range":`bytes ${g}-${g+n.byteLength-1}/${p.size||"*"}`,"Content-Length":""+n.byteLength};p.mimeType&&(o["Content-Type"]=p.mimeType),r.isSafari&&(n=n.slice(d-g,f-g+1),o["Content-Range"]=`bytes ${d}-${d+n.byteLength-1}/${p.size||"*"}`,o["Content-Length"]=""+n.byteLength),e(new Response(n,{status:206,statusText:"Partial Content",headers:o}))}).catch(e=>{}),i.notifySomeone(b)})]));break}}}catch(t){e.respondWith(new Response("",{status:500,statusText:"Internal Server Error"}))}var t},f=()=>{a.onfetch=d};a.addEventListener("install",e=>{l("installing"),e.waitUntil(a.skipWaiting())}),a.addEventListener("activate",e=>{l("activating",a),e.waitUntil(a.clients.claim())}),a.onerror=e=>{l.error("error:",e)},a.onunhandledrejection=e=>{l.error("onunhandledrejection:",e)},a.onoffline=a.ononline=f,f();const g=524288},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const r="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!r.MSStream,t.isSafari=!!("safari"in r)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.LogLevels=void 0,function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(r=t.LogLevels||(t.LogLevels={}));var o=Date.now();function i(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"}t.logger=function(e,t=r.log|r.warn|r.error){function n(...n){return t&r.log&&console.log(i(),"["+e+"]:",...n)}return t=r.error,n.warn=function(...n){return t&r.warn&&console.warn(i(),"["+e+"]:",...n)},n.info=function(...n){return t&r.log&&console.info(i(),"["+e+"]:",...n)},n.error=function(...n){return t&r.error&&console.error(i(),"["+e+"]:",...n)},n.trace=function(...n){return t&r.log&&console.trace(i(),"["+e+"]:",...n)},n.debug=function(...n){return t&r.debug&&console.debug(i(),"["+e+"]:",...n)},n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const r=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(n=>{n.length&&n.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},o=(...e)=>{self.postMessage(...e)},i=()=>{};t.notifySomeone=t.isServiceWorker?r.bind(null,!1):t.isWebWorker?o:i,t.notifyAll=t.isServiceWorker?r.bind(null,!0):t.isWebWorker?o:i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=void 0,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((n,r)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,n(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,r(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t}}]); \ No newline at end of file diff --git a/public/sw.js.gz b/public/sw.js.gz deleted file mode 100644 index a5b0df4b..00000000 Binary files a/public/sw.js.gz and /dev/null differ diff --git a/public/9ec5bf231b8216403a20.worker.js b/public/t/9ec5bf231b8216403a20.worker.js similarity index 100% rename from public/9ec5bf231b8216403a20.worker.js rename to public/t/9ec5bf231b8216403a20.worker.js diff --git a/public/t/b728a346dae6ae3292c0.worker.js b/public/t/b728a346dae6ae3292c0.worker.js new file mode 100644 index 00000000..2d900662 --- /dev/null +++ b/public/t/b728a346dae6ae3292c0.worker.js @@ -0,0 +1 @@ +!function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(a,r,function(e){return t[e]}.bind(null,r));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=8)}([function(t,e,n){"use strict";var a="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var a in n)r(n,a)&&(t[a]=n[a])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,n,a,r){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+a),r);else for(var i=0;i>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{i=i+(r=r+e[a++]|0)|0}while(--s);r%=65521,i%=65521}return r|i<<16|0}},function(t,e,n){"use strict";var a=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var a=0;a<8;a++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();t.exports=function(t,e,n,r){var i=a,s=r+n;t^=-1;for(var o=r;o>>8^i[255&(t^e[o])];return-1^t}},function(t,e,n){"use strict";var a=n(0),r=!0,i=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){i=!1}for(var s=new a.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function f(t,e){if(e<65534&&(t.subarray&&i||!t.subarray&&r))return String.fromCharCode.apply(null,a.shrinkBuf(t,e));for(var n="",s=0;s>>6,e[s++]=128|63&n):n<65536?(e[s++]=224|n>>>12,e[s++]=128|n>>>6&63,e[s++]=128|63&n):(e[s++]=240|n>>>18,e[s++]=128|n>>>12&63,e[s++]=128|n>>>6&63,e[s++]=128|63&n);return e},e.buf2binstring=function(t){return f(t,t.length)},e.binstring2buf=function(t){for(var e=new a.Buf8(t.length),n=0,r=e.length;n4)h[a++]=65533,n+=i-1;else{for(r&=2===i?31:3===i?15:7;i>1&&n1?h[a++]=65533:r<65536?h[a++]=r:(r-=65536,h[a++]=55296|r>>10&1023,h[a++]=56320|1023&r)}return f(h,a)},e.utf8border=function(t,e){var n;for((e=e||t.length)>t.length&&(e=t.length),n=e-1;n>=0&&128==(192&t[n]);)n--;return n<0||0===n?e:n+s[t[n]]>e?n:e}},function(t,e,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(t,e,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const a=n(9),r=self,i=[];function s(){o()}function o(){const t=i.shift();if(t)switch(t.type){case"convertWebp":{const{fileName:e,bytes:n}=t.payload;let i;try{i=a.webp2png(n).bytes}catch(e){console.error("Convert webp2png error:",e,"payload:",t.payload)}r.postMessage({type:"convertWebp",payload:{fileName:e,bytes:i}}),s();break}default:s()}}r.addEventListener("message",t=>{var e;e=t.data,i.push(e),o()})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.webp2pngAsBlob=e.webp2png=void 0;const a=n(10),r=n(20);function i(t){const e=new a.WebPDecoder,n=e.WebPDecoderConfig,i=n.j||n.output,s=n.input;let o;e.WebPInitDecoderConfig(n),e.WebPGetFeatures(t,t.length,s),i.J=1;try{o=e.WebPDecode(t,t.length,n)}catch(t){o=t}if(0===o){const t=i.Jb;return{status:o,bytes:r.encode({data:t,width:i.width,height:i.height,channels:4,depth:8})}}return{status:o,bytes:t}}e.webp2png=i,e.webp2pngAsBlob=function(t){const{status:e,bytes:n}=i(t);return new Blob([n],{type:0===e?"image/png":"image/webp"})}},function(t,e,n){"use strict";let a,r;n.r(e),n.d(e,"WebPDecoder",(function(){return g}));const i=null;function s(t){return JSON.parse(JSON.stringify(t))}function o(t,e,n,r,i){for(a=0;a=0;--n)e=s(b(t[n],e));return e}function w(t){if(!t)throw Error("assert :P")}const g=function(){function t(t){return t==Ce||t==De||t==Le||t==Me}function e(t){return v(t,1)}function n(t,e){const n=1+((t.la-1)*e>>8),a=n<<8;let r=0;for(t.Z>=a?(r=1,t.la-=n,t.Z-=a):(r=0,t.la=n);t.la<128;)t.Z<<=1,t.la<<=1,8==++t.gc&&(t.gc=0,t.bc&&(t.Z+=t.qa[t.Ia++],t.bc--));return r}function g(t,e,n,a){(a-=n)>=2?(t.Z=e[n+0]<<8|e[n+1],t.qa=e,t.Ia=n+2,t.bc=a-2):(t.Z=0,t.qa=i,t.bc=0),t.la=255,t.gc=0}function v(t,e){var a=0,r=0;for(r=e-1;r>=0;r--)a|=n(t,128)<=8&&t.Q>>=8,t.T+=t.qa[t.Ia+t.Q]<<24>>>0,++t.Q,t.g-=8}function A(t){t.g>=8&&y(t),t.Q==t.ya&&32==t.g&&(t.L=1)}function E(t,e){let n=0;if(w(e>=0),!t.L&&e=32&&(t.L=1,t.g+e>32))return n;n=t.T>>t.g&on[e],t.g+=e,t.g>=8&&t.g>=8&&y(t)}else t.fa=1;return n}function x(t){return t.Pa==t.gb}function U(t,e){return w(t!=i),0==e?0:(t.gb=2*e-1,t.Y=_(t.gb,Cn),t.Y==i?0:(t.Y[0].s=-1,t.Pa=1))}function S(t){t!=i&&(t.Y=i,t.Y=i,t.gb=0,t.Pa=0)}function B(t,e,n,a){for(var r=t.Y,i=0,s=+t.gb;a-- >0;){if(i>=s)return 0;if(r[i].s<0){if(x(t))return 0;const e=t,n=e.Y,a=+e.Pa;r[i].s=a-i,e.Pa+=2,n[a+0].s=-1,n[a+1].s=-1}else if(0==r[i].s)return 0;i+=r[i].s+(n>>a&1)}if(r[i].s<0)r[i].s=0;else if(0!=r[i].s)return 0;return r[i].kc=e,1}function T(t,e,n){var a=0;let r=0,s=0;for(w(t!=i),w(e!=i),a=0;a0&&(++r,s=a);if(!U(t,r))return 0;if(1==r)return s<0||s>=n?(S(t),0):B(t,s,0,0);if(r=0,s=b(n,0),s==i)return(r=r&&x(t))||S(t),r;var o=0;o=0,a=b(wn+1,0);let f=0;const h=b(wn+1,0);let l=0;for(w(e!=i),w(n>0),w(s!=i),o=0;ol&&(l=e[o]);if(l>wn)a=0;else{for(o=0;o0?h[e[o]]++:Ln;a=1}if(!a)return(r=r&&x(t))||S(t),r;for(a=0;a0&&!B(t,a,s[a],e[a]))return(r=r&&x(t))||S(t),r;return(r=x(t))||S(t),r}function R(t,e,n,a,r,i,s){var o=0;for(o=0;ot.P.v)&&(n=0==e)){t:{let e=t.Ga;var r=t.G,f=t.ub;n=t.P.l;let d=t.P.v;const _=t.Xb;var h=[i];let p=i,g=d*n;var l=i,c=i;c="WEBP_FILTER_TYPE";let v=0;h=0;var u=0;let m=0;if(w(n>0&&d>0&&a>=n),w(e!=i&&_!=i),f<=xn)n=0;else if(m=e[r+0]>>0&3,c=e[r+0]>>2&3,v=e[r+0]>>4&3,h=e[r+0]>>6&3,mSn||c>=Ua||v>Bn||0!=h)n=0;else{if(m==Un)u=f>=g,h=e,p=r+xn;else{if(h=b(g,0),p=0,h==i){n=0;break t}u=r+xn,f=f-xn,r=h,l=s(tn);let t=0;const a=Zt();a==i?u=0:(a.l=n,a.v=d,a.N=l,ct(Be),l.put=ge,l.Mb=we,l.Pb=ve,l.ka=i,l.ka=r,l.fd=0,l.width=n,l.height=d,a.a=je,k(a.o,e,u,f),a.Wa=ma,Kt(n,d,1,a,i)&&Yt(a,n)&&(a.Wa=va,t=Ht(a,a.V,a.Ha,a.l,a.v,$t)),a!=i&&Gt(a),u=t)}if(u){for(e=Sa[c],e!=i?((l=b(g,0))==i&&(u=0,m!=Un&&(p=h=i)),e(h,p,n,d,1,n,l,c=0),g=l,m=c):(g=h,m=p),e=0;d-- >0;)o(_,e,g,m,n),m+=n,e+=a;v==Bn&&(u=h==i||p<=0||n<=0?0:1)}n=u}}n=!n}return n?i:0==e?t.Xb:+e*a}function O(t,e,n,a){if(a==i||t<=0||e<=0)return Ge;if(n!=i){if(n.Ua){const a=n.wc,r=n.vc,i=-2&n.t,s=-2&n.k;if(i<0||s<0||a<=0||r<=0||i+a>t||s+r>e)return Ge;t=a,e=r}if(n.I){if(n.Ba<=0||n.Aa<=0)return Ge;t=n.Ba,e=n.Aa}}return a.width=t,a.height=e,function(t){let e=t.width;const n=t.height;let a=t.J;if(e<=0||n<=0||!(a>=Te&&a=Te&&s=o*Ba[s],a&=t.ma!=i):(h=(t=t.c.Va).nb*parseInt((f+1)/2,10),l=t.rb*parseInt((f+1)/2,10),c=t.Fa*f,a&=t.F*f<=t.Wc,a&=h<=t.Rc,a&=l<=t.Uc,a&=c<=t.Wb,a&=t.F>=o,a&=t.nb>=parseInt((o+1)/2,10),a&=t.rb>=parseInt((o+1)/2,10),a&=t.y!=i,a&=t.c!=i,a&=t.S!=i,s==Fe&&(a&=t.Fa>=o,a&=c<=t.Wb,a&=t.p!=i)):a=0,a?je:Ge}(a)}function N(t){return-256&t?t<0?0:255:t}function P(t,e,n,a){const r=b(16,0);let i,s;for(i=0,s=0;s<4;++s){var o=t[e+0]+t[e+8],f=t[e+0]-t[e+8],h=(t[e+4]*Ca>>16)-(t[e+12]*Ia>>16),l=(t[e+4]*Ia>>16)+(t[e+12]*Ca>>16);r[i+0]=o+l,r[i+1]=f+h,r[i+2]=f-h,r[i+3]=o-l,i+=4,e++}for(s=i=0;s<4;++s)o=(t=r[i+0]+4)+r[i+8],f=t-r[i+8],h=(r[i+4]*Ca>>16)-(r[i+12]*Ia>>16),l=(r[i+4]*Ia>>16)+(r[i+12]*Ca>>16),n[a+0+0*aa]=N(n[a+0+0*aa]+(o+l>>3)),n[a+1+0*aa]=N(n[a+1+0*aa]+(f+h>>3)),n[a+2+0*aa]=N(n[a+2+0*aa]+(f-h>>3)),n[a+3+0*aa]=N(n[a+3+0*aa]+(o-l>>3)),i++,a+=aa}function I(t,e,n,a,r){P(t,e,n,a),r&&P(t,e+16,n,a+4)}function C(t,e,n,a){Wa(t,e+0,n,a+0,1),Wa(t,e+32,n,a+4*aa,1)}function D(t,e,n,a){let r;for(t=t[e+0]+4,r=0;r<4;++r)for(e=0;e<4;++e)n[a+e+r*aa]=N(n[a+e+r*aa]+(t>>3))}function L(t,e,n,a){t[e+0]&&D(t,e+0,n,a+0),t[e+16]&&D(t,e+16,n,a+4),t[e+32]&&D(t,e+32,n,a+4*aa),t[e+48]&&D(t,e+48,n,a+4*aa+4)}function M(t,e,n){const a=e-aa,r=Na,i=255-t[a-1];let s;for(s=0;s>2}function V(t,e,n){let a,r;for(a=0;a<8;++a)for(r=0;r<8;++r)e[n+r+a*aa]=t}function H(t,e,n){const a=t[e-n],r=t[e+0],i=3*(r-a)+za[1020+t[e-2*n]-t[e+n]],s=Oa[112+(i+4>>3)];t[e-n]=Na[255+a+Oa[112+(i+3>>3)]],t[e+0]=Na[255+r-s]}function Z(t,e,n,a){const r=t[e+0],i=t[e+n];return Ta[255+t[e-2*n]-t[e-n]]>a||Ta[255+i-r]>a}function G(t,e,n,a,r){const i=t[e-3*n],s=t[e-2*n],o=t[e-n],f=t[e+0],h=t[e+n],l=t[e+2*n],c=t[e+3*n];return 2*Ta[255+o-f]+Ra[255+s-h]>a?0:Ta[255+t[e-4*n]-i]<=r&&Ta[255+i-s]<=r&&Ta[255+s-o]<=r&&Ta[255+c-l]<=r&&Ta[255+l-h]<=r&&Ta[255+h-f]<=r}function K(t,e,n,a){let r;for(r=0;r<16;++r)2*Ta[255+t[e+r-n]-t[e+r+0]]+Ra[255+t[e+r-2*n]-t[e+r+n]]<=a&&H(t,e+r,n)}function Y(t,e,n,a){let r;for(r=0;r<16;++r)2*Ta[255+t[e+r*n-1]-t[e+r*n+0]]+Ra[255+t[e+r*n-2]-t[e+r*n+1]]<=a&&H(t,e+r*n,1)}function $(t,e,n,a){let r;for(r=3;r>0;--r)K(t,(e+=4*n)+0,n,a)}function X(t,e,n,a){let r;for(r=3;r>0;--r)Y(t,(e+=4)+0,n,a)}function q(t,e,n,a,r,i,s,o){for(;r-- >0;){if(G(t,e+0,n,i,s))if(Z(t,e+0,n,o))H(t,e+0,n);else{const a=t,r=e+0,i=n,s=a[r-2*i],o=a[r-i],h=a[r+0],l=a[r+i],c=a[r+2*i];const u=27*(f=za[1020+3*(h-o)+za[1020+s-l]])+63>>7,d=18*f+63>>7;var f=9*f+63>>7;a[r-3*i]=Na[255+a[r-3*i]+f],a[r-2*i]=Na[255+s+d],a[r-i]=Na[255+o+u],a[r+0]=Na[255+h-u],a[r+i]=Na[255+l-d],a[r+2*i]=Na[255+c-f]}e+=a}}function J(t,e,n,a,r,i,s,o){for(;r-- >0;){if(G(t,e+0,n,i,s))if(Z(t,e+0,n,o))H(t,e+0,n);else{const a=t,r=e+0,i=n,s=a[r-i],o=a[r+0],h=a[r+i];const l=Oa[112+((f=3*(o-s))+4>>3)];var f=Oa[112+(f+3>>3)];const c=l+1>>1;a[r-2*i]=Na[255+a[r-2*i]+c],a[r-i]=Na[255+s+f],a[r+0]=Na[255+o-l],a[r+i]=Na[255+h-c]}e+=a}}function Q(t,e,n,a,r,i){q(t,e+0,n,1,16,a,r,i)}function tt(t,e,n,a,r,i){q(t,e+0,1,n,16,a,r,i)}function et(t,e,n,a,r,i){let s;for(s=3;s>0;--s)J(t,(e+=4*n)+0,n,1,16,a,r,i)}function nt(t,e,n,a,r,i){let s;for(s=3;s>0;--s)J(t,(e+=4)+0,1,n,16,a,r,i)}function at(t,e,n,a,r,i,s,o){q(t,e,r,1,8,i,s,o),q(n,a,r,1,8,i,s,o)}function rt(t,e,n,a,r,i,s,o){q(t,e,1,r,8,i,s,o),q(n,a,1,r,8,i,s,o)}function it(t,e,n,a,r,i,s,o){J(t,e+4*r,r,1,8,i,s,o),J(n,a+4*r,r,1,8,i,s,o)}function st(t,e,n,a,r,i,s,o){J(t,e+4,1,r,8,i,s,o),J(n,a+4,1,r,8,i,s,o)}function ot(t,e){return e==Fn?0==t.i?0==t.d?Yn:Kn:0==t.d?Gn:Fn:e}function ft(t,e,n,r){for(a=0;a<4;++a)t[e+a]=n[r+a]}function ht(t,e){return t<0?0:t>e?e:t}function lt(t){t.a="VP8_STATUS_OK",t.xc="OK"}function ct(t){t>>>8!=Be>>>8&&alert("mismatch error")}function ut(t,e,n){return t.a==je&&(t.a=e,t.xc=n,t.za=0),0}function dt(t,r){let o=[0],f=0;var h=[0],l=s(fa),c=s(ha);let u=s(an);h="VP8StatusCode",l=s(nn);if(t==i)return alert("(dec == null)"),0;if(lt(t),r==i)return ut(t,"VP8_STATUS_INVALID_PARAM","null VP8Io passed to VP8GetHeaders()");if(l.data=r.data,l.b=r.b,l.e=r.e,l.b=[l.b],l.e=[l.e],(h=Ae(l=[l]))!=je)return ut(t,h,"Incorrect/incomplete header.");if((l=l[0]).b=l.b[0],l.e=l.e[0],l.ia)return ut(t,Ke,"Unexpected lossless format encountered.");if(t.Ga==i&&(w(0==t.ub),t.Ga=l.$,t.G=l.G,t.ub=l.pa),f=l.data,o=l.b+l.offset,h=l.e-l.offset,w(l.e>=l.offset),h[0]<4)return ut(t,qe,"Truncated header.");if(u=f[o+0]|f[o+1]<<8|f[o+2]<<16,(l=t.Ac).fb=!(1&u)+0,l.Jc=u>>1&7,l.Nc=u>>4&1,l.Ra=u>>5,l.Jc>3)return ut(t,"VP8_STATUS_BITSTREAM_ERROR","Incorrect keyframe parameters.");if(!l.Nc)return ut(t,"VP8_STATUS_UNSUPPORTED_FEATURE","Frame not displayable.");if(o+=3,h-=3,c=t.P,l.fb){if(h<7)return ut(t,"VP8_STATUS_NOT_ENOUGH_DATA","cannot parse picture header");if(!(h>=3&&157==f[o+0]&&1==f[o+1]&&42==f[o+2]))return ut(t,"VP8_STATUS_BITSTREAM_ERROR","Bad code word");for(c.l=16383&(f[o+4]<<8|f[o+3]),c.gd=f[o+4]>>6,c.v=16383&(f[o+6]<<8|f[o+5]),c.hd=f[o+6]>>6,o+=7,h-=7,t.Ma=c.l+15>>4,t.hb=c.v+15>>4,r.width=c.l,r.height=c.v,r.I=0,r.Ua=0,r.k=0,r.t=0,r.Ka=r.width,r.K=r.height,r.m=r.width,r.h=r.height,u=t.R,a=0;ah)return ut(t,"VP8_STATUS_NOT_ENOUGH_DATA","bad partition length");u=t.o,g(u,f,o,o+l.Ra),o+=l.Ra,h-=l.Ra,l.fb&&(c.uc=e(u),c.$c=e(u));c=u;var d=t.Ca;let b=t.R;if(w(c!=i),w(d!=i),d.pb=e(c),d.pb){if(d.ob=e(c),e(c)){var _;for(d.tb=e(c),_=0;_0)if(t.Ca.pb)for(b=0;bh&&(y=c),g(t.ic[+k],b,_,A),b=y,_=A,d+=3}g(t.ic[+p],b,_,h),h=_0){t.yb[y]=t.yb[0];continue}A=h}const e=t.yb[y];e.sc[0]=or[ht(A+c,127)],e.sc[1]=fr[ht(A+0,127)],e.sb[0]=2*or[ht(A+d,127)],e.sb[1]=101581*fr[ht(A+b,127)]>>16,e.sb[1]<8&&(e.sb[1]=8),e.qc[0]=or[ht(A+_,117)],e.qc[1]=fr[ht(A+p,127)]}if(!l.fb)return ut(t,Ye,"Not a key frame.");for(t.Zc=259,e(u),h=t.R,c=0;c0)+0],16==i||!n(t,o[0]))return i}else o=e[dr[i]][0];if(16==i)return 16}}function _t(t,e){return((16777216*t[0]+65536*t[1]+256*t[2]+1*t[3])*gr&4278190080)>>e}function pt(t,e){let r,s=0;if(t==i)return 0;if(e==i)return ut(t,"VP8_STATUS_INVALID_PARAM","NULL VP8Io parameter in VP8Decode().");if(!t.za&&!dt(t,e))return 0;if(w(t.za),e.Mb&&!e.Mb(e))ut(t,Xe,"Frame setup failed"),r=t.a;else{e.Za&&(t.A=0);const n=ar[t.A];2==t.A?(t.lb=0,t.mb=0):(t.lb=e.t-n>>4,t.mb=e.k-n>>4,t.lb<0&&(t.lb=0),t.mb<0&&(t.mb=0)),t.Ya=e.K+15+n>>4,t.wb=e.Ka+15+n>>4,t.wb>t.Ma&&(t.wb=t.Ma),t.Ya>t.hb&&(t.Ya=t.hb),r=je}if(s=r==je){if(s){let n,a;t:{if(t.Ja=0,t.qb){const e=t.rc;if(!WebPWorkerReset(e)){n=ut(t,Ze,"thread initialization failed.");break t}e.Qd=t,e.Rd=t.oa.N,e.Ud=FinishRow,t.jb=t.A>0?rr:rr-1}else t.jb=ir;n=1}if(!(a=!n)){let e;t:{const n=t.jb,a=t.Ma,r=4*a,s=32*a,o=a+1,f=t.A>0?a*(t.qb?2:1):0,c=ra,u=s*(16*n+parseInt(3*ar[t.A]/2,10)),d=t.Ga!=i?t.P.l*t.P.v:0,_=r+s+o+f+c+384+u+d+nr;if(_!=_)e=0;else{if(_>t.Gb){if(t.ib=0,t.Gb=0,t.ib==i){e=ut(t,"VP8_STATUS_OUT_OF_MEMORY","no memory during frame initialization.");break t}t.Gb=_}t.dc=205,t.Xc=l(205,16*a),t.Sc=l(205,8*a),t.Vc=l(205,8*a),t.M=f?h(da,f):i,t.Sd=f?0:i,t.oa.ha=0,t.oa.M=t.M,w(0==(c&nr)),t.Ea=l(205,1*c),t.z=-12851,t.H=16*a,t.r=8*a;const s=ar[t.A],p=s*t.H,g=s/2*t.r;t.ca=b(u,205),t.da=+p,t.aa=t.ca,t.ba=t.da+16*n*t.H+g,t.ra=t.aa,t.sa=t.ba+8*n*t.r+g,t.Xb=d?b(d,0):i,t.La=h(ba,o),t.dc=l(Fn,r),e=1}}a=!e}if(a)s=0;else{if(e.width=t.P.l,e.height=t.P.v,e.w=0,e.y=t.ca,e.D=t.da,e.c=t.aa,e.B=t.ba,e.S=t.ra,e.C=t.sa,e.F=t.H,e.Da=t.r,e.p=i,e.q=i,!Pa){let t;for(t=-255;t<=255;++t)Ta[255+t]=t<0?-t:t,Ra[255+t]=Ta[255+t]>>1;for(t=-1020;t<=1020;++t)za[1020+t]=t<-128?-128:t>127?127:t;for(t=-112;t<=112;++t)Oa[112+t]=t<-16?-16:t>15?15:t;for(t=-255;t<=510;++t)Na[255+t]=t<0?0:t>255?255:t;Pa=1}Wa=I,Fa=C,Va=D,Ha=L,ja=Q,Za=tt,Ga=at,Ka=rt,Ya=et,$a=nt,Xa=it,qa=st,Ja=K,Qa=Y,tr=$,er=X,s=1}}if(s)t:{for(t.d=0;t.d0&&h.d>=h.mb&&h.d<=h.Ya)+0,t.i=0;t.i0);v=-m,z[z[z.length-1]+g]=v,d[_]=v,_++}I[p]=v}}else{v=n(h,156)?n(h,128)?Zn:jn:n(h,163)?Hn:Vn;for(e.Eb[0]=v,m=0;m<4;++m)z[m+z[z.length-1]]=v;for(m=0;m<4;++m)I[m]=v}if(e.Tc=n(h,142)?n(h,114)?n(h,183)?Zn:jn:Hn:Vn,h.Ab)c=0;else{if(w.Nb)u.X=w.X=0,e.wa||(u.ua=w.ua=0),e.ja=0,e.Oa=0;else{let t=0,n=0;var k=0,y=pr;const a=e.yb[e.Lb];var A=e.z;const r=e.La[0],s=b(4,0),o=b(4,0);let h=b(4,0),c=b(4,0),u=0,d=0;var E=0;let _=0,p=0;A=l(0,384);if(e.wa)k=0,y=e.R.z[3];else{const t=b(16,0);var x=w.ua+r.ua;w.ua=r.ua=(bt(i,e.R.z[1],x,a.sb,0,t)>0)+0;k=1,y=e.R.z[0];var U=t,S=A,B=b(16,0),T=0;for(T=0;T<4;++T){var R=U[0+T]+U[12+T],O=U[4+T]+U[8+T],N=U[4+T]-U[8+T],P=U[0+T]-U[12+T];B[0+T]=R+O,B[8+T]=R-O,B[4+T]=P+N,B[12+T]=P-N}for(T=0;T<4;++T){const t=S[S.length-1],e=B[0+4*T]+3;R=e+B[3+4*T],O=B[1+4*T]+B[2+4*T],N=B[1+4*T]-B[2+4*T],P=e-B[3+4*T];S[t+0]=R+O>>3,S[t+16]=P+N>>3,S[t+32]=R-O>>3,S[t+48]=P-N>>3,S[S.length-1]+=64}A[A.length-1]=0}for(h=f(wr[15&w.X]),c=f(wr[15&r.X]),_=0;_<4;++_){var M=c[_];for(E=0;E<4;++E){var W=bt(i,y,x=M+h[E],a.sc,k,A);h[E]=M=(W>0)+0,o[E]=(0!=A[A[A.length-1]+0])+0,s[E]=(W>1)+0,A[A.length-1]+=16}c[_]=M,d|=_t(o,24-4*_),u|=_t(s,24-4*_)}for(t=_t(h,24),n=_t(c,24),h=f(wr[w.X>>4]),c=f(wr[r.X>>4]),p=0;p<4;p+=2){for(_=0;_<2;++_){for(M=c[p+_],E=0;E<2;++E)x=M+h[p+E],W=bt(i,e.R.z[2],x,a.qc,0,A),h[p+E]=M=(W>0)+0,o[2*_+E]=(0!=A[A[A.length-1]+0])+0,s[2*_+E]=(W>1)+0,A[A.length-1]+=16;c[p+_]=M}d|=_t(o,8-2*p),u|=_t(s,8-2*p)}t|=_t(h,20),n|=_t(c,20),w.X=t,r.X=n,e.z=A,e.Oa=u+0,e.ja=u|d,w.Nb=!e.ja+0}c=!i.Ab}if(!c){s=ut(t,"VP8_STATUS_NOT_ENOUGH_DATA",`Premature end-of-file encountered.${t.i} ${t.d}`);break t}const C=t,D=C.Ea,L=ia,K=C.Ea,Y=sa,$=C.Ea,X=oa;if(C.i>0){var F=0;for(F=-1;F<16;++F)ft(D,L+F*aa-4,D,L+F*aa+12);for(F=-1;F<8;++F)ft(K,Y+F*aa-4,K,Y+F*aa+4),ft($,X+F*aa-4,$,X+F*aa+4)}else{for(F=0;F<16;++F)D[L+F*aa-1]=129;for(F=0;F<8;++F)K[Y+F*aa-1]=129,$[X+F*aa-1]=129;C.d>0&&(D[L-1-aa]=K[Y-1-aa]=$[X-1-aa]=129)}const Q=C.Xc,tt=16*+C.i,et=C.Sc,nt=8*+C.i,at=C.Vc,rt=8*+C.i,it=C.z;let st=0;if(C.d>0)o(D,L-aa,Q,tt,16),o(K,Y-aa,et,nt,8),o($,X-aa,at,rt,8);else if(0==C.i){for(a=0;a<21;++a)D[L-aa-1+a]=127;for(a=0;a<9;++a)K[Y-aa-1+a]=127;for(a=0;a<9;++a)$[X-aa-1+a]=127}if(C.wa){const t=L-aa+16;C.d>0&&(C.i>=C.Ma-1?D[t+0]=D[t+1]=D[t+2]=D[t+3]=Q[tt+15]:o(D,t+0,Q,tt+16,4));for(let e=0;e<4;++e)D[e+t+4*aa]=D[e+t+4*aa]=D[e+t+8*aa]=D[e+t+12*aa]=D[e+t+0];for(st=0;st<16;st++){var V=D,H=L+sr[st];Da[C.Eb[st]](V,H),C.Oa&1<0){const t=dt.M[1+dt.i],e=dt.La[1+dt.i].Nb;let n=dt.Zb[dt.Lb];dt.ga.oc&&(n+=dt.ga.Lc[0],dt.wa&&(n+=dt.ga.Gc[0])),n=n<0?0:n>63?63:n,t.zc=n,dt.ga.kb>0&&(n=dt.ga.kb>4?n>>2:n>>1,n>9-dt.ga.kb&&(n=9-dt.ga.kb)),t.yc=n<1?1:n,t.ab=(!e||dt.wa)+0}var G=0,q=8*dt.Ja*dt.r,J=dt.ca,ht=dt.da+16*dt.i+16*dt.Ja*dt.H,lt=dt.aa,ct=dt.ba+8*dt.i+q,pt=dt.ra,gt=dt.sa+8*dt.i+q;for(G=0;G<16;++G)o(J,ht+G*dt.H,dt.Ea,+ia+G*aa,16);for(G=0;G<8;++G)o(lt,ct+G*dt.r,dt.Ea,+sa+G*aa,8),o(pt,gt+G*dt.r,dt.Ea,+oa+G*aa,8)}const C=t,D=e;var vt=1;const L=C.oa;if(C.qb){const t=C.rc;vt=vt&WebPWorkerSync(t);if(w(t.a==OK),vt){if(L.N=D,L.ha=C.Ja,L.d=C.d,L.W=C.W,L.W){const t=L.M;L.M=C.M,C.M=t}WebPWorkerLaunch(t),++C.Ja==C.jb&&(C.Ja=0)}}else{L.d=C.d,L.W=C.W;e:{let t=1;const e=C.oa,n=ar[C.A],a=n*C.H,r=parseInt(n/2)*C.r,s=16*e.ha*C.H,f=8*e.ha*C.r,h=C.ca,l=C.da-a+s,c=C.aa,u=C.ba-r+f,d=C.ra,b=C.sa-r+f,_=0==e.d,p=(e.d>=C.hb-1)+0;var mt=16*e.d;let g=16*(e.d+1);if(e.W){const t=C;let e=0;const n=t.oa.d;for(w(t.oa.W),e=t.lb;e0&&Qa(h,l,o,d+4),f.ab&&er(h,l,o,d),i>0&&Ja(h,l,o,d+4),f.ab&&tr(h,l,o,d);else{const t=a.r,e=a.aa,n=a.ba+8*s.ha*t+8*r,b=a.ra,_=a.sa+8*s.ha*t+8*r,p=a.Ac.fb?c>=40?2:c>=15?1:0:c>=40?3:c>=20?2:c>=15?1:0;r>0&&(Za(h,l,o,d+4,u,p),Ka(e,n,b,_,t,d+4,u,p)),f.ab&&($a(h,l,o,d,u,p),qa(e,n,b,_,t,d,u,p)),i>0&&(ja(h,l,o,d+4,u,p),Ga(e,n,b,_,t,d+4,u,p)),f.ab&&(Ya(h,l,o,d,u,p),Xa(e,n,b,_,t,d,u,p))}}}if(D.put){if(_?(D.y=C.ca,D.D=C.da+s,D.c=C.aa,D.B=C.ba+f,D.S=C.ra,D.C=C.sa+f):(mt-=n,D.y=h,D.D=l,D.c=c,D.B=u,D.S=d,D.C=b),p||(g-=n),g>D.K&&(g=D.K),C.Ga!=i&&mt>1),D.C+=C.r*(t>>1),D.p!=i&&(D.q+=D.width*t)}mt>1,D.C+=D.t>>1,D.p!=i&&(D.q+=D.t),D.w=mt-D.k,D.m=D.Ka-D.t,D.h=g-mt,t=D.put(D))}e.ha+1==C.jb&&!p&&(o(C.ca,C.da-a,h,l+16*C.H,a),o(C.aa,C.ba-r,c,u+8*C.r,r),o(C.ra,C.sa-r,d,b+8*C.r,r)),vt=t}}if(!vt){s=ut(t,"VP8_STATUS_USER_ABORT","Output aborted.");break t}}let r;if(!(r=t.qb&&!WebPWorkerSync(t.rc))){let e;(e=t.fc>0)&&(w(t),w(t.fc>0),e=!1),r=e}s=r?0:1}const r=s;e.Pb&&e.Pb(e),s=1&r}return s?(t.za=0,s):(wt(t),0)}function wt(t){t!=i&&(t.ib&&(t.ib=0),t.ib=i,t.Gb=0,t.za=0)}function gt(t,e){return t+(1<>e}function vt(t,e,n,a,r){const i=Vr[n]+Hr[e]>>vr;e=Fr[e],a[r+0]=jr[t+Wr[n]-mr],a[r+1]=jr[t+i-mr],a[r+2]=jr[t+e-mr]}function mt(t,e,n,a,r){const i=Vr[n]+Hr[e]>>vr;e=Fr[e],a[r+0]=248&jr[t+Wr[n]-mr]|jr[t+i-mr]>>5,a[r+1]=jr[t+i-mr]<<3&224|jr[t+e-mr]>>3}function kt(t,e,n,a,r){a[r+0]=255,vt(t,e,n,a,r+1)}function yt(t,e,n,a,r){const i=Fr[e];a[r+0]=Zr[t+Wr[n]-mr]<<4|Zr[t+(Vr[n]+Hr[e]>>vr)-mr],a[r+1]=15|Zr[t+i-mr]<<4}function At(t,e,n,a,r){const i=Wr[n];n=Vr[n]+Hr[e]>>vr,a[r+0]=jr[t+Fr[e]-mr],a[r+1]=jr[t+n-mr],a[r+2]=jr[t+i-mr]}function Et(t,e,n,a,r){At(t,e,n,a,r),a[r+3]=255}function xt(t,e,n,a,r){vt(t,e,n,a,r),a[r+3]=255}function Ut(t,e,n){t[e]=((((4278255360&t[e])>>>0)+((4278255360&n)>>>0)&4278255360)>>>0|(16711935&t[e])+(16711935&n)&16711935)>>>0}function St(t,e){return((4278124286&(t^e))>>>1)+((t&e)>>>0)>>>0}function Bt(t){return t<256&&t>0?t:t<=0?0:~t>>24&255}function Tt(t,e){return Bt(t+parseInt((t-e)/2,10))}function Rt(){return _n}function zt(t,e){return(t&=255)>127&&(t-=256),(e&=255)>127&&(e-=256),t*e>>>5}function Ot(t,e,n,a,r,i,s){var o=0;const f=8>>t.n,h=t.U,l=t.u;if(f<8){t=(1<>8&255),i[s++]=l[e&c],e>>=f}}else for(o=e;o>8&255]}function Nt(t,e,n,a,r){for(n=e+n;e>16&255,a[r++]=n>>8&255,a[r++]=n>>0&255,a[r++]=n>>24&255}}function Pt(t,e,n,a,r){for(n=e+n;e>16&240|n>>12&15,a[r++]=n>>0&240|n>>28&15}}function It(t,e,n,a,r){for(n=e+n;e>24&255,a[r++]=n>>16&255,a[r++]=n>>8&255,a[r++]=n>>0&255}}function Ct(t,e,n,a){return E(t,8)!=hn?0:(e[0]=E(t,ln)+1,n[0]=E(t,ln)+1,a[0]=E(t,1),E(t,cn),1)}function Dt(t,e){let n=0;return t<4?t+1:(n=t-2>>1,(2+(1&t)<e.ya){var n=t.Y,a=0;for(w(n!=i);0!=n[a].s;){var r=n,s=e;const t=s.T>>s.g&1;s.L?s.fa=1:(++s.g,s.g>=8&&y(s),s.Q==s.ya&&32==s.g&&(s.L=1)),a=a+r[a].s+t}return n[a].kc}for(a=0,w((n=t.Y)!=i);0!=n[a].s;)r=n,s=e.T>>e.g&1,++e.g,a=a+r[a].s+s;return n[a].kc}function Mt(t,e){if(t!=i){var n=0,a=0;for(n=0;n>t.eb)+(e>>t.eb)])0;){e=t.nc[r];let S=f;var d=l,b=u;u=a,l=n;switch(w(S<(_=h)),w(_<=e.Vb),e.Qc){case An:for(d=0,e=l+(_-S)*e.U;l>8&255,g=16711935&(g=(g=(16711935&_[b])>>>0)+(p<<16|p));u[l++]=((4278255360&_[b])>>>0|g)>>>0,32==S&&d++}break;case kn:var v=S;d=_,b=u,p=l,g=(E=e).U;if(0==v){var m=0;for(Ut(b,p,_n),m=1;m>E.n)*y;v>8&15],m=1;m>8&15]),e=t(b[p+m-1],b,p+m-g),Ut(b,p+m,e)}p+=g,0==(++v&k)&&(E+=y)}_!=e.Vb&&o(u,l-(e=e.U),u,l+(_-S-1)*e,e);break;case yn:for(d=e.U,b=(1<>e.n)*p;S<_;){for(m=g,v=e,k=s(Ar),y=0,y=0;y>0&255,E.Bc=A>>8&255,E.Kc=A>>16&255),E=(A=u[l+y])>>>8,x=A>>>16,U=A,x+=zt(k.Cc,E),x&=255,U+=zt(k.Bc,E),U+=zt(k.Kc,x),U&=255,u[l+y]=(4278255360&A|x<<16|U)>>>0;l+=d,++S,0==(S&b)&&(e+=p)}break;case En:d==u&&e.n>0?(d=(_-S)*gt(e.U,e.n),c(u,b=l+(_-S)*e.U-d,u,l,d),Ot(e,S,_,u,b,u,l)):Ot(e,S,_,d,b,u,l)}l=a,u=n}}function Vt(t,e){var n=t.V,a=t.Ha+t.l*t.O;if(!((i=e-t.O)<=0)){Ft(t,i,n,a);var r=t.N;n=t.Xa;let u=[t.vb];a=t.O;var i=e,s=u,o=r.width;if(w(ar.K&&(i=r.K),a=i?a=0:(s[0]+=r.t,r.w=a-r.k,r.m=r.Ka-r.t,r.h=i-a,a=1),a){if(u=u[0],a=t.Ib,i=r.width,a.J0;){const t=n;let a=u,r=f;const l=s;let d=e;switch(o){case Te:for(r=a+r;a>16&255,l[d++]=c>>8&255,l[d++]=c>>0&255}break;case Re:Nt(t,a,r,l,d);break;case Ce:Nt(t,a,r,l,d),WebPApplyAlphaMultiply(l,0,r,1,0);break;case ze:for(r=a+r;a>0&255,l[d++]=c>>8&255,l[d++]=c>>16&255;break;case Oe:It(t,a,r,l,d);break;case De:It(t,a,r,l,d),WebPApplyAlphaMultiply(l,0,r,1,0);break;case Ne:It(t,a,r,l,d);break;case Le:It(t,a,r,l,d),WebPApplyAlphaMultiply(l,1,r,1,0);break;case Pe:Pt(t,a,r,l,d);break;case Me:Pt(t,a,r,l,d),WebPApplyAlphaMultiply4444(l,r,1,0);break;case Ie:for(r=a+r;a>16&248|c>>13&7,l[d++]=c>>5&224|c>>3&31;break;default:w(0)}u+=i,e+=h}n=r}t.xa+=n}else t.xa=r.I?EmitRescaledRowsYUVA(t,n,u,i,r.h):EmitRowsYUVA(t,n,u,i,r.m,r.h);w(t.xa<=a.height)}t.O=e,w(t.O<=t.v)}}function Ht(t,e,n,a,r,s){let o=1,f=0,h=0;const l=t.o,c=t.cb;let u=c.Db,d=n,b=n;n+=a*r;const _=(r=gn+vn)+c.xb,p=c.xb>0?c.Yb:i,g=c.Dc;let v=!1;for(w(u!=i);!l.L&&d>>0)+(v<<16)+(o<<8)+m}if(v=!1,++d,++f,f>=a&&(f=0,++h,s!=i&&h%Er==0&&s(t,h),p!=i))for(;b>>p.bb]=o}else if(yDr?m-=Dr:(y=Lr[m-1],y=(y>>4)*a+(8-(15&y)),m=y>=1?y:1),y=0,y=0;y=a;)f-=a,++h,s!=i&&h%Er==0&&s(t,h);if(d>>p.bb]=o}else if(y<_){for(v=y-r,w(p!=i);b>>p.bb]=y;y=e,m=d,w(v<=-1>>>(k=p).bb),y[m]=k.ea[v],v=!0;continue}(o=!l.fa)||End}return s!=i&&s(t,h),l.fa||!o||l.L&&d16?0:d>4?1:d>2?2:3,u[0]=gt(o.U,p),o.n=p,u=p=Kt(d,1,0,R,o.u))if(u=d,p=0,d=1<<(8>>>(R=o).n)>>>0,(g=Array(d))==i)u=0;else{v=R.u[0];var m=R.b;for(g[0]=R.u[0][R.b+0],p=1;p>>0)+((4278255360&g[p-1])>>>0)&4278255360)>>>0|(16711935&v[m+p])+(16711935&g[p-1])&16711935)>>>0;for(;p=1&&c<=dn)){a.a=Ke;break}if(o)t:{o=a;var k=t[0],y=e[0],R=(u=c,m=v=0,m=o.o,o.cb);p=[i],d=i,g=1;if(n&&E(m,1)){y=(k=gt(k,v=E(m,3)+2))*(z=gt(y,v));if(!Kt(k,z,0,o,p)){o.a=Ke,Mt(d,g),o=0;break t}for(p=p[0],R.eb=v,v=0;v>>8&65535,p[v]=k,k>=g&&(g=k+1)}if(m.fa)Mt(d,g),o=0;else if(w(g<=65536),(d=_(g,Aa))==i)o.a=Ze,Mt(d,g),o=0;else{for(v=0;v0&&(k+=1<=t){(C=C&&x(e))||S(e),O=C;break n}if(!B(e,N[D],P[D],I[D])){(C=C&&x(e))||S(e),O=C;break n}}(C=(C=1)&&x(e))||S(e),O=C}else O=0}}else{if(O=0,P=[],(N=E(z,4)+4)>Ir){k.a=Ke,k=0;break e}if((I=Array(t))==i){k.a=Ze,k=0;break e}for(O=0;OP){O.a=Ke,S(r),O=C;break n}}else n=P;for(e=0;eP){O.a=Ke,S(r),O=C;break n}for(L=L?a:0;M-- >0;)N[e++]=L}}C=1,S(r),O=C}else O.a=Ke,O=0}O&&(O=T(e,I,t))}(O=O&&!z.fa)?k=1:(k.a=Ke,k=0)}if(!k){Mt(d,g),o=0;break t}}R.ac=p,R.hc=g,R.Db=d,o=1}}if(!o){a.a=Ke;break}if(c>0){if(h.xb=1<0),u.ea=b(R,0),u.ea==i?c=0:(u.bb=32-c,c=1),!c){a.a=Ze,o=0;break}}else h.xb=0;if(c=a,u=t[0],R=e[0],d=(p=c.cb).eb,c.l=u,c.v=R,p.Ec=gt(u,d),p.Dc=0==d?-1:(1<>>8&255;t.O=t.xa=e}}function ht(t,e){return t<0?0:t>e?e:t}function Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,w,g){let v;const m=p-1>>1;let k=r[i+0]|s[o+0]<<16,y=f[h+0]|l[c+0]<<16;if(t){var A=3*k+y+131074>>2;w(t[e+0],255&A,A>>16,u,d)}for(n&&(A=3*y+k+131074>>2,w(n[a+0],255&A,A>>16,b,_)),v=1;v<=m;++v){const p=r[i+v]|s[o+v]<<16,m=f[h+v]|l[c+v]<<16;const E=(A=k+p+y+m+524296)+2*(p+y)>>3,x=A+2*(k+m)>>3;t&&(A=E+k>>1,k=x+p>>1,w(t[e+2*v-1],255&A,A>>16,u,d+(2*v-1)*g),w(t[e+2*v-0],255&k,k>>16,u,d+(2*v-0)*g)),n&&(A=x+y>>1,k=E+m>>1,w(n[a+2*v-1],255&A,A>>16,b,_+(2*v-1)*g),w(n[a+2*v+0],255&k,k>>16,b,_+(2*v+0)*g)),k=p,y=m}1&p||(t&&(A=3*k+y+131074>>2,w(t[e+p-1],255&A,A>>16,u,d+(p-1)*g)),n&&(A=3*y+k+131074>>2,w(n[a+p-1],255&A,A>>16,b,_+(p-1)*g)))}function qt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,vt,3)}function Jt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,At,3)}function Qt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,xt,4)}function te(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,Et,4)}function ee(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,kt,4)}function ne(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,yt,2)}function ae(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,mt,2)}function re(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b){let _;for(_=0;_0;){var s=t,o=e+(n?1:0),f=t,h=e+(n?0:3),l=0;for(l=0;l>1)*n.nb,f=n.S,h=n.C+(t.w>>1)*n.rb,l=t.m,c=t.h,u=parseInt((l+1)/2,10),d=parseInt((c+1)/2,10);let b;for(b=0;b>4;l[c+2*d]=240&l[c+2*d]|t,u&=t}r+=e.width,c+=f.f}15!=u&&t(o)&&WebPApplyAlphaMultiply4444(l,s,i,h,f.f)}return 0}function we(e){let n=e.ka;const a=n.j.J,r=a>1,a=e.m+2*t;let r;const s=[];for(r=0;r>vr,Hr[e]=-22014*(e-128)+Mr,Vr[e]=-45773*(e-128),Fr[e]=113618*(e-128)+Mr>>vr;for(e=mr;e>vr,jr[e-mr]=ht(n,255),Zr[e-mr]=ht(n+8>>4,15);Gr=1}return 1}function ge(t){const e=t.ka;let n=t.m;const a=t.h;return w(!(1&t.w)),n<=0||a<=0?0:(n=e.$a(t,e),e.ec+=n,e.zb&&e.zb(t,e),1)}function ve(t){(t=t.ka).memory="",t.memory=i}function me(t,e){return t[e+0]|t[e+1]<<8|t[e+2]<<16}function ke(t,e){return(me(t,e)|t[e+3]<<24)>>>0}function ye(t,e,n,a,r,o,f){var h=0,l=[0],c="VP8StatusCode";const u=s(nn);if(t==i||n[0]=zn&&!d(t,e[0],"RIFF",Tn)){if(d(t,e[0]+8,"WEBP",Tn)){c=Ke;break t}if((g=ke(t,e[0]+Tn))0,g=[0];t:if(c=Rn+On,w(t!=i),w(n!=i),w(l!=i),l[0]=0,n[0]=Pn){c=Ke;break t}g!=i&&(g[0]=p),a!=i&&(a[0]=b),r!=i&&(r[0]=_),e[0]+=c,n[0]-=c,l[0]=1}c=je}if(c!=je)return c;if(!h&&l[0])return Ke;if(o!=i&&(o[0]=!!(g[0]&Nn)),l&&f==i)return je;if(n0&&a>l){c=Ke;break t}if(p=b&&_>l-b){c=Ke;break t}h[0]=_,e[0]+=Rn,n[0]-=Rn,g[0]=c}else g[0]=n>=1&&t[e+0]==hn,h[0]=n[0];c=je}if(u.ta=u.ta[0],u.ia=u.ia[0],c!=je)return c;if(u.ta>In)return Ke;if(u.ia){if(n[0]=3&&157==t[l+3+0]&&1==t[l+3+1]&&42==t[l+3+2]?(h=t[l+0]|t[l+1]<<8|t[l+2]<<16,g=16383&(t[l+7]<<8|t[l+6]),t=16383&(t[l+9]<<8|t[l+8]),!(!(1&h)+0)||(h>>1&7)>3||!(h>>4&1)||h>>5>=u.ta?t=0:(a&&(a[0]=g),r&&(r[0]=t),t=1)):t=0}return t?(o!=i&&(o[0]|=u.$!=i),f!=i&&(f[0]=u,f[0].offset=e[0]-f[0].b,w(e[0]-f[0].b0,e.Ua&&(f=t.wc,h=t.vc,s=t.t,o=t.k,na||o+h>r))return 0;if(e.t=s,e.k=o,e.Ka=s+f,e.K=o+h,e.m=f,e.h=h,e.I=t!=i&&t.I>0,e.I){if(t.Ba<=0||t.Aa<=0)return 0;e.Ba=t.Ba,e.Aa=t.Aa}return e.Za=t&&t.Za,e.Bb=t==i||!t.ed,e.I&&(e.Za=e.Ba<3*a/4&&e.Aa<3*r/4,e.Bb=0),1}var Be=512,Te=0,Re=1,ze=2,Oe=3,Ne=4,Pe=5,Ie=6,Ce=7,De=8,Le=9,Me=10,We=11,Fe=12,Ve=13;this.WEBP_CSP_MODE=this.Cd={nd:0,od:1,kd:2,ld:3,jd:4,pd:5,qd:6,rd:7,sd:8,md:9};var He={J:"WEBP_CSP_MODE",width:0,height:0,Fc:0,c:{RGBA:{ma:0,Sa:0,f:0,size:0},Va:{y:0,c:0,S:0,p:0,D:0,B:0,C:0,q:0,F:0,nb:0,rb:0,Fa:0,Wc:0,Rc:0,Uc:0,Wb:0}},Ic:b(4,0),Jb:i,jc:0},je=0,Ze=1,Ge=2,Ke=3,Ye=4,$e=5,Xe=6,qe=7;this.VP8StatusCode=this.td={xd:0,yd:1,vd:2,ud:3,Ad:4,zd:5,Bd:6,wd:7};var Je={width:{value:0},height:{value:0},$b:{value:0},tc:0,Yd:0,rotate:0,be:0,Ic:b(3,0)};this.WebPGetFeatures=this.Md=function(t,e,n){let a="VP8StatusCode";return Be>>>8!=Be>>>8||n==i?t=Ge:(a=Ue(t,[0],e=[e],n),t=a==qe?Ke:a),t};const Qe={Za:0,ed:0,Ua:0,t:0,k:0,wc:0,vc:0,I:0,Ba:0,Aa:0,ae:0,Td:0,Xd:0,Ic:b(6,0)};this.WebPDecoderConfig=this.Kd={input:s(Je),j:s(He),options:s(Qe)},this.WebPInitDecoderConfig=this.Nd=function(t){return Be>>>8!=Be>>>8||t==i?t=0:(w((t=t.input)!=i),t.tc=0,t=1),t};var tn={width:0,height:0,w:0,m:0,h:0,y:0,c:0,S:0,D:0,B:0,C:0,F:0,Da:0,ka:0,put:0,Mb:0,Pb:0,Bb:0,e:0,data:0,b:0,Za:0,Ua:0,t:0,Ka:0,k:0,K:0,I:0,Ba:0,Aa:0,p:0,q:0},en={j:s(He),Sb:0,Qb:0,lc:0,Tb:0,Rb:0,mc:0,ec:0,Qa:s(Qe),memory:0,$a:"(OutputFunc)",zb:"(OutputFunc)",ad:"(OutputRowFunc)"},nn={data:0,b:0,e:0,offset:0,$:i,G:0,pa:0,ta:0,na:0,ia:0},an={qa:0,Ia:i,Pd:0,Ab:0,la:0,Z:0,gc:0},rn={T:0,qa:0,Ia:0,ya:0,Q:0,g:0,L:0,fa:0},sn=25,on=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],fn=10,hn=47,ln=14,cn=3,un=5,dn=11,bn=5,_n=4278190080,pn=8,wn=15,gn=256,vn=24,mn=4,kn=0,yn=1,An=2,En=3,xn=1,Un=0,Sn=1,Bn=1,Tn=4,Rn=8,zn=12,On=10,Nn=16,Pn=1*Math.pow(2,32),In=-1-Rn-1>>>0,Cn={kc:0,s:0},Dn={Y:"HuffmanTreeNode*",gb:0,Pa:0},Ln=-1;const Mn={ea:0,bb:0};var Wn=506832829,Fn=0,Vn=Fn,Hn=2,jn=3,Zn=1,Gn=4,Kn=5,Yn=6,$n=3,Xn=4,qn=4,Jn=4,Qn=4,ta=8,ea=3,na=11,aa=32,ra=17*aa+9*aa,ia=1*aa+8,sa=ia+16*aa+aa,oa=sa+16,fa={fb:0,Jc:0,Nc:0,Ra:0},ha={l:0,v:0,gd:0,hd:0,uc:0,$c:0};const la={pb:0,ob:0,tb:0,Kb:b(Xn,0),Cb:b(Xn,0)},ca={Ta:b($n,0),z:p([Qn,ta,ea,na],0)},ua={Oc:0,Fb:0,kb:0,oc:0,Lc:b(qn,0),Gc:b(qn,0)};var da={zc:0,yc:0,ab:0},ba={X:0,ua:0,Nb:0};const _a=b(2,0),pa={sc:s(_a),sb:s(_a),qc:s(_a)},wa={ha:0,d:0,W:0,M:da,N:tn};var ga={a:"VP8StatusCode",za:0,xc:0,o:s(an),Ac:s(fa),P:s(ha),ga:s(ua),Ca:s(la),rc:"WebPWorker",qb:0,Ja:0,jb:0,oa:wa,Ma:0,hb:0,lb:0,mb:0,wb:0,Ya:0,Hb:0,ic:_(8,an),Zc:0,yb:_(Xn,pa),R:s(ca),pc:0,Pc:0,dc:0,cc:b(4,0),Xc:0,Sc:0,Vc:0,La:s(ba),M:s(da),Ea:0,z:0,ca:0,aa:0,ra:0,da:0,ba:0,sa:0,H:0,r:0,ib:0,Gb:0,i:0,d:0,wa:0,Eb:b(16,0),Vd:0,Tc:0,Lb:0,ja:0,Oa:0,A:0,W:0,Zb:b(Xn,0),Ga:i,G:0,ub:0,Xb:0,Od:0,cd:0,dd:0,Wd:0,fc:0},va=0,ma=1,ka=2;const ya={Qc:"VP8LImageTransformType",n:0,U:0,Vb:0,u:0,b:0};var Aa={va:_(bn,Dn)};const Ea={xb:0,Yb:s(Mn),Dc:0,eb:0,Ec:0,ac:0,bd:0,hc:0,Db:"HTreeGroup"};var xa={a:"VP8StatusCode",Wa:"VP8LDecodeState",Ob:"VP8LDecodeState",N:"VP8Io",Ib:"WebPDecBuffer",Hc:"WebPDecBuffer",V:0,Ha:0,Xa:0,vb:0,o:s(rn),l:0,v:0,O:0,xa:0,cb:s(Ea),Na:0,nc:_(mn,ya),Ub:0,Mc:0,$d:0,Zd:"*WebPRescaler"},Ua=4,Sa=[i,function(t,e,n,a,r,s,f,h){let l=0,c=h;for(w(t!=i),w(f!=i),w(n>0),w(a>0),w(r>0),w(s>=n*r),l=0;l0),w(a>0),w(r>0),w(s>=n*r),o(f,h,t,e,r),R(t,e+r,f,c,f,h+r,r*(n-1)),l=1;l0),w(a>0),w(r>0),w(s>=n*r),o(f,h,t,e,r),R(t,e+r,f,l,f,h+r,r*(n-1)),c=1;c255?255:n)&255}}}],Ba=[3,4,3,4,4,2,2,4,4,4,2,1,1];this.WebPFreeDecBuffer=this.Yc=function(t){t!=i&&(t.Fc||(t.Jb=""),t.jc=0,t.Jb=t.jc=i)},r=this;var Ta=b(511,0),Ra=b(511,0),za=b(2041,0),Oa=b(225,0),Na=b(766,0),Pa=0,Ia=85627,Ca=35468,Da=[function(t,e){let n,a=4;for(n=0;n<4;++n)a+=t[e+n-aa]+t[e-1+n*aa];for(a>>=3,n=0;n<4;++n)u(t,e+n*aa,a,4)},function(t,e){M(t,e,4)},function(t,e){let n=e-aa;const a=[];for(a.push(F(t[n-1],t[n+0],t[n+1])),a.push(F(t[n+0],t[n+1],t[n+2])),a.push(F(t[n+1],t[n+2],t[n+3])),a.push(F(t[n+2],t[n+3],t[n+4])),n=0;n<4;++n)o(t,e+n*aa,a,0,4)},function(t,e){const n=t[e-1],a=t[e-1+aa],r=t[e-1+2*aa],i=t[e-1+3*aa];t[e+0+0*aa]=t[e+1+0*aa]=t[e+2+0*aa]=t[e+3+0*aa]=F(t[e-1-aa],n,a),t[e+0+1*aa]=t[e+1+1*aa]=t[e+2+1*aa]=t[e+3+1*aa]=F(n,a,r),t[e+0+2*aa]=t[e+1+2*aa]=t[e+2+2*aa]=t[e+3+2*aa]=F(a,r,i),t[e+0+3*aa]=t[e+1+3*aa]=t[e+2+3*aa]=t[e+3+3*aa]=F(r,i,i)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1-aa],s=t[e+0-aa],o=t[e+1-aa],f=t[e+2-aa],h=t[e+3-aa];t[e+0+3*aa]=F(a,r,t[e-1+3*aa]),t[e+0+2*aa]=t[e+1+3*aa]=F(n,a,r),t[e+0+1*aa]=t[e+1+2*aa]=t[e+2+3*aa]=F(i,n,a),t[e+0+0*aa]=t[e+1+1*aa]=t[e+2+2*aa]=t[e+3+3*aa]=F(s,i,n),t[e+1+0*aa]=t[e+2+1*aa]=t[e+3+2*aa]=F(o,s,i),t[e+2+0*aa]=t[e+3+1*aa]=F(f,o,s),t[e+3+0*aa]=F(h,f,o)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1-aa],s=t[e+0-aa],o=t[e+1-aa],f=t[e+2-aa],h=t[e+3-aa];t[e+0+0*aa]=t[e+1+2*aa]=i+s+1>>1,t[e+1+0*aa]=t[e+2+2*aa]=s+o+1>>1,t[e+2+0*aa]=t[e+3+2*aa]=o+f+1>>1,t[e+3+0*aa]=f+h+1>>1,t[e+0+3*aa]=F(r,a,n),t[e+0+2*aa]=F(a,n,i),t[e+0+1*aa]=t[e+1+3*aa]=F(n,i,s),t[e+1+1*aa]=t[e+2+3*aa]=F(i,s,o),t[e+2+1*aa]=t[e+3+3*aa]=F(s,o,f),t[e+3+1*aa]=F(o,f,h)},function(t,e){const n=t[e+1-aa],a=t[e+2-aa],r=t[e+3-aa],i=t[e+4-aa],s=t[e+5-aa],o=t[e+6-aa],f=t[e+7-aa];t[e+0+0*aa]=F(t[e+0-aa],n,a),t[e+1+0*aa]=t[e+0+1*aa]=F(n,a,r),t[e+2+0*aa]=t[e+1+1*aa]=t[e+0+2*aa]=F(a,r,i),t[e+3+0*aa]=t[e+2+1*aa]=t[e+1+2*aa]=t[e+0+3*aa]=F(r,i,s),t[e+3+1*aa]=t[e+2+2*aa]=t[e+1+3*aa]=F(i,s,o),t[e+3+2*aa]=t[e+2+3*aa]=F(s,o,f),t[e+3+3*aa]=F(o,f,f)},function(t,e){const n=t[e+0-aa],a=t[e+1-aa],r=t[e+2-aa],i=t[e+3-aa],s=t[e+4-aa],o=t[e+5-aa],f=t[e+6-aa],h=t[e+7-aa];t[e+0+0*aa]=n+a+1>>1,t[e+1+0*aa]=t[e+0+2*aa]=a+r+1>>1,t[e+2+0*aa]=t[e+1+2*aa]=r+i+1>>1,t[e+3+0*aa]=t[e+2+2*aa]=i+s+1>>1,t[e+0+1*aa]=F(n,a,r),t[e+1+1*aa]=t[e+0+3*aa]=F(a,r,i),t[e+2+1*aa]=t[e+1+3*aa]=F(r,i,s),t[e+3+1*aa]=t[e+2+3*aa]=F(i,s,o),t[e+3+2*aa]=F(s,o,f),t[e+3+3*aa]=F(o,f,h)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1+3*aa],s=t[e-1-aa],o=t[e+0-aa],f=t[e+1-aa],h=t[e+2-aa];t[e+0+0*aa]=t[e+2+1*aa]=n+s+1>>1,t[e+0+1*aa]=t[e+2+2*aa]=a+n+1>>1,t[e+0+2*aa]=t[e+2+3*aa]=r+a+1>>1,t[e+0+3*aa]=i+r+1>>1,t[e+3+0*aa]=F(o,f,h),t[e+2+0*aa]=F(s,o,f),t[e+1+0*aa]=t[e+3+1*aa]=F(n,s,o),t[e+1+1*aa]=t[e+3+2*aa]=F(a,n,s),t[e+1+2*aa]=t[e+3+3*aa]=F(r,a,n),t[e+1+3*aa]=F(i,r,a)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1+3*aa];t[e+0+0*aa]=n+a+1>>1,t[e+2+0*aa]=t[e+0+1*aa]=a+r+1>>1,t[e+2+1*aa]=t[e+0+2*aa]=r+i+1>>1,t[e+1+0*aa]=F(n,a,r),t[e+3+0*aa]=t[e+1+1*aa]=F(a,r,i),t[e+3+1*aa]=t[e+1+2*aa]=F(r,i,i),t[e+3+2*aa]=t[e+2+2*aa]=t[e+0+3*aa]=t[e+1+3*aa]=t[e+2+3*aa]=t[e+3+3*aa]=i}],La=[function(t,e){let n,a=16;for(n=0;n<16;++n)a+=t[e-1+n*aa]+t[e+n-aa];W(a>>5,t,e)},function(t,e){M(t,e,16)},function(t,e){let n;for(n=0;n<16;++n)o(t,e+n*aa,t,e-aa,16)},function(t,e){let n;for(n=16;n>0;--n)u(t,e+0,t[e-1],16),e+=aa},function(t,e){let n,a=8;for(n=0;n<16;++n)a+=t[e-1+n*aa];W(a>>4,t,e)},function(t,e){let n,a=8;for(n=0;n<16;++n)a+=t[e+n-aa];W(a>>4,t,e)},function(t,e){W(128,t,e)}],Ma=[function(t,e){let n,a=8;for(n=0;n<8;++n)a+=t[e+n-aa]+t[e-1+n*aa];V(1*(a>>4),t,e)},function(t,e){M(t,e,8)},function(t,e){let n;for(n=0;n<8;++n)o(t,e+n*aa,t,e-aa,8)},function(t,e){let n;for(n=0;n<8;++n)u(t,e+0,t[e-1],8),e+=aa},function(t,e){let n,a=4;for(n=0;n<8;++n)a+=t[e-1+n*aa];V(1*(a>>3),t,e)},function(t,e){let n,a=4;for(n=0;n<8;++n)a+=t[e+n-aa];V(1*(a>>3),t,e)},function(t,e){V(128,t,e)}];let Wa,Fa,Va,Ha,ja,Za,Ga,Ka,Ya,$a,Xa,qa,Ja,Qa,tr,er;var nr=31,ar=[0,2,8],rr=3,ir=1,sr=[0+0*aa,4+0*aa,8+0*aa,12+0*aa,0+4*aa,4+4*aa,8+4*aa,12+4*aa,0+8*aa,4+8*aa,8+8*aa,12+8*aa,0+12*aa,4+12*aa,8+12*aa,12+12*aa],or=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],fr=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],hr=[-Fn,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],lr=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],cr=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ur=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]];this.WebPGetDecoderVersion=this.Ld=function(){return 512};var dr=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],br=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],_r=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],pr=p([ea,na],"");b(4,0);var wr=[[0,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,0,0],[0,0,1,0],[1,0,1,0],[0,1,1,0],[1,1,1,0],[0,0,0,1],[1,0,0,1],[0,1,0,1],[1,1,0,1],[0,0,1,1],[1,0,1,1],[0,1,1,1],[1,1,1,1]],gr=134480385,vr=16,mr=-227,kr=482,yr=[Rt,function(t){return t},function(t,e,n){return e[n+0]},function(t,e,n){return e[n+1]},function(t,e,n){return e[n-1]},function(t,e,n){return St(St(t,e[n+1]),e[n+0])},function(t,e,n){return St(t,e[n-1])},function(t,e,n){return St(t,e[n+0])},function(t,e,n){return St(e[n-1],e[n+0])},function(t,e,n){return St(e[n+0],e[n+1])},function(t,e,n){return St(St(t,e[n-1]),St(e[n+0],e[n+1]))},function(t,e,n){return Math.abs((t>>24&255)-(e[n-1]>>24&255))-Math.abs((e[n+0]>>24&255)-(e[n-1]>>24&255))+(Math.abs((t>>16&255)-(e[n-1]>>16&255))-Math.abs((e[n+0]>>16&255)-(e[n-1]>>16&255)))+(Math.abs((t>>8&255)-(e[n-1]>>8&255))-Math.abs((e[n+0]>>8&255)-(e[n-1]>>8&255)))+(Math.abs((255&t)-(255&e[n-1]))-Math.abs((255&e[n+0])-(255&e[n-1])))<=0?e[n+0]:t},function(t,e,n){return(Bt((t>>24&255)+(e[n+0]>>24&255)-(e[n-1]>>24&255))<<24|Bt((t>>16&255)+(e[n+0]>>16&255)-(e[n-1]>>16&255))<<16|Bt((t>>8&255)+(e[n+0]>>8&255)-(e[n-1]>>8&255))<<8|Bt((255&t)+(255&e[n+0])-(255&e[n-1])))>>>0},function(t,e,n){const a=e[n-1];return(Tt((t=St(t,e[n+0]))>>24&255,a>>24&255)<<24|Tt(t>>16&255,a>>16&255)<<16|Tt(t>>8&255,a>>8&255)<<8|Tt(t>>0&255,a>>0&255))>>>0},Rt,Rt],Ar={Cc:0,Bc:0,Kc:0},Er=16,xr=16,Ur=16,Sr=[2,3,7],Br=[3,3,11],Tr=0,Rr=1,zr=2,Or=3,Nr=4,Pr=[gn+vn,gn,gn,gn,40],Ir=19,Cr=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Dr=120,Lr=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Mr=1<>1)+7),s=new Uint8Array(i>>3<<3);for(;n=55296&&e<=56319){if(n=55296&&e<=56319)continue}if(r+4>s.length){i+=8,i*=1+n/t.length*2,i=i>>3<<3;const e=new Uint8Array(i);e.set(s),s=e}if(0!=(4294967168&e)){if(0==(4294965248&e))s[r++]=e>>6&31|192;else if(0==(4294901760&e))s[r++]=e>>12&15|224,s[r++]=e>>6&63|128;else{if(0!=(4292870144&e))continue;s[r++]=e>>18&7|240,s[r++]=e>>12&63|128,s[r++]=e>>6&63|128}s[r++]=63&e|128}else s[r++]=e}return s.slice(0,r)},Object.defineProperty(n.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(n.prototype,"fatal",{value:!1}),Object.defineProperty(n.prototype,"ignoreBOM",{value:!1}),n.prototype.decode=function(t,e={stream:!1}){if(e.stream)throw new Error("Failed to decode: the 'stream' option is unsupported.");const n=new Uint8Array(t);let a=0;const r=n.length,i=[];for(;a65535&&(e-=65536,i.push(e>>>10&1023|55296),e=56320|1023&e),i.push(e)}}return String.fromCharCode.apply(null,i)},t.TextEncoder=e,t.TextDecoder=n}("undefined"!=typeof window?window:"undefined"!=typeof self?self:this)},function(t,e,n){"use strict";var a=n(13),r=n(0),i=n(5),s=n(2),o=n(6),f=Object.prototype.toString;function h(t){if(!(this instanceof h))return new h(t);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var n=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==n)throw new Error(s[n]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var l;if(l="string"==typeof e.dictionary?i.string2buf(e.dictionary):"[object ArrayBuffer]"===f.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(n=a.deflateSetDictionary(this.strm,l)))throw new Error(s[n]);this._dict_set=!0}}function l(t,e){var n=new h(e);if(n.push(t,!0),n.err)throw n.msg||s[n.err];return n.result}h.prototype.push=function(t,e){var n,s,o=this.strm,h=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=i.string2buf(t):"[object ArrayBuffer]"===f.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new r.Buf8(h),o.next_out=0,o.avail_out=h),1!==(n=a.deflate(o,s))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(i.buf2binstring(r.shrinkBuf(o.output,o.next_out))):this.onData(r.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===s?(n=a.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==s||(this.onEnd(0),o.avail_out=0,!0)},h.prototype.onData=function(t){this.chunks.push(t)},h.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=h,e.deflate=l,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,l(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,l(t,e)}},function(t,e,n){"use strict";var a,r=n(0),i=n(14),s=n(3),o=n(4),f=n(2);function h(t,e){return t.msg=f[e],e}function l(t){return(t<<1)-(t>4?9:0)}function c(t){for(var e=t.length;--e>=0;)t[e]=0}function u(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(r.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function d(t,e){i._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,u(t.strm)}function b(t,e){t.pending_buf[t.pending++]=e}function _(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function p(t,e){var n,a,r=t.max_chain_length,i=t.strstart,s=t.prev_length,o=t.nice_match,f=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,h=t.window,l=t.w_mask,c=t.prev,u=t.strstart+258,d=h[i+s-1],b=h[i+s];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do{if(h[(n=e)+s]===b&&h[n+s-1]===d&&h[n]===h[i]&&h[++n]===h[i+1]){i+=2,n++;do{}while(h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&is){if(t.match_start=e,s=a,a>=o)break;d=h[i+s-1],b=h[i+s]}}}while((e=c[e&l])>f&&0!=--r);return s<=t.lookahead?s:t.lookahead}function w(t){var e,n,a,i,f,h,l,c,u,d,b=t.w_size;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=b+(b-262)){r.arraySet(t.window,t.window,b,b,0),t.match_start-=b,t.strstart-=b,t.block_start-=b,e=n=t.hash_size;do{a=t.head[--e],t.head[e]=a>=b?a-b:0}while(--n);e=n=b;do{a=t.prev[--e],t.prev[e]=a>=b?a-b:0}while(--n);i+=b}if(0===t.strm.avail_in)break;if(h=t.strm,l=t.window,c=t.strstart+t.lookahead,u=i,d=void 0,(d=h.avail_in)>u&&(d=u),n=0===d?0:(h.avail_in-=d,r.arraySet(l,h.input,h.next_in,d,c),1===h.state.wrap?h.adler=s(h.adler,l,d,c):2===h.state.wrap&&(h.adler=o(h.adler,l,d,c)),h.next_in+=d,h.total_in+=d,d),t.lookahead+=n,t.lookahead+t.insert>=3)for(f=t.strstart-t.insert,t.ins_h=t.window[f],t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<=3)if(a=i._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,a=i._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=(t.ins_h<15&&(o=2,a-=16),i<1||i>9||8!==n||a<8||a>15||e<0||e>9||s<0||s>4)return h(t,-2);8===a&&(a=9);var f=new k;return t.state=f,f.strm=t,f.wrap=o,f.gzhead=null,f.w_bits=a,f.w_size=1<t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(w(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var a=t.block_start+n;if((0===t.strstart||t.strstart>=a)&&(t.lookahead=t.strstart-a,t.strstart=a,d(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(d(t,!1),t.strm.avail_out),1)})),new m(4,4,8,4,g),new m(4,5,16,8,g),new m(4,6,32,32,g),new m(4,4,16,16,v),new m(8,16,32,32,v),new m(8,16,128,128,v),new m(8,32,128,256,v),new m(32,128,258,1024,v),new m(32,258,258,4096,v)],e.deflateInit=function(t,e){return E(t,e,8,15,8,0)},e.deflateInit2=E,e.deflateReset=A,e.deflateResetKeep=y,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?-2:(t.state.gzhead=e,0):-2},e.deflate=function(t,e){var n,r,s,f;if(!t||!t.state||e>5||e<0)return t?h(t,-2):-2;if(r=t.state,!t.output||!t.input&&0!==t.avail_in||666===r.status&&4!==e)return h(t,0===t.avail_out?-5:-2);if(r.strm=t,n=r.last_flush,r.last_flush=e,42===r.status)if(2===r.wrap)t.adler=0,b(r,31),b(r,139),b(r,8),r.gzhead?(b(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),b(r,255&r.gzhead.time),b(r,r.gzhead.time>>8&255),b(r,r.gzhead.time>>16&255),b(r,r.gzhead.time>>24&255),b(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),b(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(b(r,255&r.gzhead.extra.length),b(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=o(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(b(r,0),b(r,0),b(r,0),b(r,0),b(r,0),b(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),b(r,3),r.status=113);else{var p=8+(r.w_bits-8<<4)<<8;p|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(p|=32),p+=31-p%31,r.status=113,_(r,p),0!==r.strstart&&(_(r,t.adler>>>16),_(r,65535&t.adler)),t.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending!==r.pending_buf_size));)b(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending===r.pending_buf_size)){f=1;break}f=r.gzindexs&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),0===f&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending===r.pending_buf_size)){f=1;break}f=r.gzindexs&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),0===f&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&u(t),r.pending+2<=r.pending_buf_size&&(b(r,255&t.adler),b(r,t.adler>>8&255),t.adler=0,r.status=113)):r.status=113),0!==r.pending){if(u(t),0===t.avail_out)return r.last_flush=-1,0}else if(0===t.avail_in&&l(e)<=l(n)&&4!==e)return h(t,-5);if(666===r.status&&0!==t.avail_in)return h(t,-5);if(0!==t.avail_in||0!==r.lookahead||0!==e&&666!==r.status){var g=2===r.strategy?function(t,e){for(var n;;){if(0===t.lookahead&&(w(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,n=i._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(d(t,!1),0===t.strm.avail_out)?1:2}(r,e):3===r.strategy?function(t,e){for(var n,a,r,s,o=t.window;;){if(t.lookahead<=258){if(w(t),t.lookahead<=258&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=o[r=t.strstart-1])===o[++r]&&a===o[++r]&&a===o[++r]){s=t.strstart+258;do{}while(a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=i._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=i._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(d(t,!1),0===t.strm.avail_out)?1:2}(r,e):a[r.level].func(r,e);if(3!==g&&4!==g||(r.status=666),1===g||3===g)return 0===t.avail_out&&(r.last_flush=-1),0;if(2===g&&(1===e?i._tr_align(r):5!==e&&(i._tr_stored_block(r,0,0,!1),3===e&&(c(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),u(t),0===t.avail_out))return r.last_flush=-1,0}return 4!==e?0:r.wrap<=0?1:(2===r.wrap?(b(r,255&t.adler),b(r,t.adler>>8&255),b(r,t.adler>>16&255),b(r,t.adler>>24&255),b(r,255&t.total_in),b(r,t.total_in>>8&255),b(r,t.total_in>>16&255),b(r,t.total_in>>24&255)):(_(r,t.adler>>>16),_(r,65535&t.adler)),u(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?h(t,-2):(t.state=null,113===e?h(t,-3):0):-2},e.deflateSetDictionary=function(t,e){var n,a,i,o,f,h,l,u,d=e.length;if(!t||!t.state)return-2;if(2===(o=(n=t.state).wrap)||1===o&&42!==n.status||n.lookahead)return-2;for(1===o&&(t.adler=s(t.adler,e,d,0)),n.wrap=0,d>=n.w_size&&(0===o&&(c(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new r.Buf8(n.w_size),r.arraySet(u,e,d-n.w_size,n.w_size,0),e=u,d=n.w_size),f=t.avail_in,h=t.next_in,l=t.input,t.avail_in=d,t.next_in=0,t.input=e,w(n);n.lookahead>=3;){a=n.strstart,i=n.lookahead-2;do{n.ins_h=(n.ins_h<=0;)t[e]=0}var i=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],s=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);r(h);var l=new Array(60);r(l);var c=new Array(512);r(c);var u=new Array(256);r(u);var d=new Array(29);r(d);var b,_,p,w=new Array(30);function g(t,e,n,a,r){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=a,this.max_length=r,this.has_stree=t&&t.length}function v(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function m(t){return t<256?c[t]:c[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function y(t,e,n){t.bi_valid>16-n?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function x(t,e,n){var a,r,i=new Array(16),s=0;for(a=1;a<=15;a++)i[a]=s=s+n[a-1]<<1;for(r=0;r<=e;r++){var o=t[2*r+1];0!==o&&(t[2*r]=E(i[o]++,o))}}function U(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function S(t){t.bi_valid>8?k(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function B(t,e,n,a){var r=2*e,i=2*n;return t[r]>1;n>=1;n--)T(t,i,n);r=f;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],T(t,i,1),a=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=a,i[2*r]=i[2*n]+i[2*a],t.depth[r]=(t.depth[n]>=t.depth[a]?t.depth[n]:t.depth[a])+1,i[2*n+1]=i[2*a+1]=r,t.heap[1]=r++,T(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,a,r,i,s,o,f=e.dyn_tree,h=e.max_code,l=e.stat_desc.static_tree,c=e.stat_desc.has_stree,u=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,b=e.stat_desc.max_length,_=0;for(i=0;i<=15;i++)t.bl_count[i]=0;for(f[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;n<573;n++)(i=f[2*f[2*(a=t.heap[n])+1]+1]+1)>b&&(i=b,_++),f[2*a+1]=i,a>h||(t.bl_count[i]++,s=0,a>=d&&(s=u[a-d]),o=f[2*a],t.opt_len+=o*(i+s),c&&(t.static_len+=o*(l[2*a+1]+s)));if(0!==_){do{for(i=b-1;0===t.bl_count[i];)i--;t.bl_count[i]--,t.bl_count[i+1]+=2,t.bl_count[b]--,_-=2}while(_>0);for(i=b;0!==i;i--)for(a=t.bl_count[i];0!==a;)(r=t.heap[--n])>h||(f[2*r+1]!==i&&(t.opt_len+=(i-f[2*r+1])*f[2*r],f[2*r+1]=i),a--)}}(t,e),x(i,h,t.bl_count)}function O(t,e,n){var a,r,i=-1,s=e[1],o=0,f=7,h=4;for(0===s&&(f=138,h=3),e[2*(n+1)+1]=65535,a=0;a<=n;a++)r=s,s=e[2*(a+1)+1],++o>=7;a<30;a++)for(w[a]=r<<7,t=0;t<1<0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),z(t,t.l_desc),z(t,t.d_desc),s=function(t){var e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),z(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*f[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),r=t.opt_len+3+7>>>3,(i=t.static_len+3+7>>>3)<=r&&(r=i)):r=i=n+5,n+4<=r&&-1!==e?I(t,e,n,a):4===t.strategy||i===r?(y(t,2+(a?1:0),3),R(t,h,l)):(y(t,4+(a?1:0),3),function(t,e,n,a){var r;for(y(t,e-257,5),y(t,n-1,5),y(t,a-4,4),r=0;r>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(u[n]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){y(t,2,3),A(t,256,h),function(t){16===t.bi_valid?(k(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},function(t,e,n){"use strict";var a=n(16),r=n(0),i=n(5),s=n(7),o=n(2),f=n(6),h=n(19),l=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var n=a.inflateInit2(this.strm,e.windowBits);if(n!==s.Z_OK)throw new Error(o[n]);if(this.header=new h,a.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=i.string2buf(e.dictionary):"[object ArrayBuffer]"===l.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=a.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[n])}function u(t,e){var n=new c(e);if(n.push(t,!0),n.err)throw n.msg||o[n.err];return n.result}c.prototype.push=function(t,e){var n,o,f,h,c,u=this.strm,d=this.options.chunkSize,b=this.options.dictionary,_=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?u.input=i.binstring2buf(t):"[object ArrayBuffer]"===l.call(t)?u.input=new Uint8Array(t):u.input=t,u.next_in=0,u.avail_in=u.input.length;do{if(0===u.avail_out&&(u.output=new r.Buf8(d),u.next_out=0,u.avail_out=d),(n=a.inflate(u,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&b&&(n=a.inflateSetDictionary(this.strm,b)),n===s.Z_BUF_ERROR&&!0===_&&(n=s.Z_OK,_=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),this.ended=!0,!1;u.next_out&&(0!==u.avail_out&&n!==s.Z_STREAM_END&&(0!==u.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(f=i.utf8border(u.output,u.next_out),h=u.next_out-f,c=i.buf2string(u.output,f),u.next_out=h,u.avail_out=d-h,h&&r.arraySet(u.output,u.output,f,h,0),this.onData(c)):this.onData(r.shrinkBuf(u.output,u.next_out)))),0===u.avail_in&&0===u.avail_out&&(_=!0)}while((u.avail_in>0||0===u.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(n=a.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),u.avail_out=0,!0)},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=c,e.inflate=u,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,u(t,e)},e.ungzip=u},function(t,e,n){"use strict";var a=n(0),r=n(3),i=n(4),s=n(17),o=n(18);function f(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function h(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function l(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new a.Buf32(852),e.distcode=e.distdyn=new a.Buf32(592),e.sane=1,e.back=-1,0):-2}function c(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,l(t)):-2}function u(t,e){var n,a;return t&&t.state?(a=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?-2:(null!==a.window&&a.wbits!==e&&(a.window=null),a.wrap=n,a.wbits=e,c(t))):-2}function d(t,e){var n,a;return t?(a=new h,t.state=a,a.window=null,0!==(n=u(t,e))&&(t.state=null),n):-2}var b,_,p=!0;function w(t){if(p){var e;for(b=new a.Buf32(512),_=new a.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,b,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,_,0,t.work,{bits:5}),p=!1}t.lencode=b,t.lenbits=9,t.distcode=_,t.distbits=5}function g(t,e,n,r){var i,s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(a.arraySet(s.window,e,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((i=s.wsize-s.wnext)>r&&(i=r),a.arraySet(s.window,e,n-r,i,s.wnext),(r-=i)?(a.arraySet(s.window,e,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,n.check=i(n.check,I,2,0),_=0,p=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",n.mode=30;break}if(8!=(15&_)){t.msg="unknown compression method",n.mode=30;break}if(p-=4,R=8+(15&(_>>>=4)),0===n.wbits)n.wbits=R;else if(R>n.wbits){t.msg="invalid window size",n.mode=30;break}n.dmax=1<>8&1),512&n.flags&&(I[0]=255&_,I[1]=_>>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0,n.mode=3;case 3:for(;p<32;){if(0===d)break t;d--,_+=h[c++]<>>8&255,I[2]=_>>>16&255,I[3]=_>>>24&255,n.check=i(n.check,I,4,0)),_=0,p=0,n.mode=4;case 4:for(;p<16;){if(0===d)break t;d--,_+=h[c++]<>8),512&n.flags&&(I[0]=255&_,I[1]=_>>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0,n.mode=5;case 5:if(1024&n.flags){for(;p<16;){if(0===d)break t;d--,_+=h[c++]<>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((k=n.length)>d&&(k=d),k&&(n.head&&(R=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),a.arraySet(n.head.extra,h,c,k,R)),512&n.flags&&(n.check=i(n.check,h,k,c)),d-=k,c+=k,n.length-=k),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===d)break t;k=0;do{R=h[c+k++],n.head&&R&&n.length<65536&&(n.head.name+=String.fromCharCode(R))}while(R&&k>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=12;break;case 10:for(;p<32;){if(0===d)break t;d--,_+=h[c++]<>>=7&p,p-=7&p,n.mode=27;break}for(;p<3;){if(0===d)break t;d--,_+=h[c++]<>>=1)){case 0:n.mode=14;break;case 1:if(w(n),n.mode=20,6===e){_>>>=2,p-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=30}_>>>=2,p-=2;break;case 14:for(_>>>=7&p,p-=7&p;p<32;){if(0===d)break t;d--,_+=h[c++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&_,_=0,p=0,n.mode=15,6===e)break t;case 15:n.mode=16;case 16:if(k=n.length){if(k>d&&(k=d),k>b&&(k=b),0===k)break t;a.arraySet(l,h,c,k,u),d-=k,c+=k,b-=k,u+=k,n.length-=k;break}n.mode=12;break;case 17:for(;p<14;){if(0===d)break t;d--,_+=h[c++]<>>=5,p-=5,n.ndist=1+(31&_),_>>>=5,p-=5,n.ncode=4+(15&_),_>>>=4,p-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,p-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},z=o(0,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,z){t.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=E,p-=E,n.lens[n.have++]=U;else{if(16===U){for(N=E+2;p>>=E,p-=E,0===n.have){t.msg="invalid bit length repeat",n.mode=30;break}R=n.lens[n.have-1],k=3+(3&_),_>>>=2,p-=2}else if(17===U){for(N=E+3;p>>=E)),_>>>=3,p-=3}else{for(N=E+7;p>>=E)),_>>>=7,p-=7}if(n.have+k>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=30;break}for(;k--;)n.lens[n.have++]=R}}if(30===n.mode)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,O={bits:n.lenbits},z=o(1,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,z){t.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},z=o(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,z){t.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===e)break t;case 20:n.mode=21;case 21:if(d>=6&&b>=258){t.next_out=u,t.avail_out=b,t.next_in=c,t.avail_in=d,n.hold=_,n.bits=p,s(t,m),u=t.next_out,l=t.output,b=t.avail_out,c=t.next_in,h=t.input,d=t.avail_in,_=n.hold,p=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;x=(P=n.lencode[_&(1<>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>S)])>>>16&255,U=65535&P,!(S+(E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=S,p-=S,n.back+=S}if(_>>>=E,p-=E,n.back+=E,n.length=U,0===x){n.mode=26;break}if(32&x){n.back=-1,n.mode=12;break}if(64&x){t.msg="invalid literal/length code",n.mode=30;break}n.extra=15&x,n.mode=22;case 22:if(n.extra){for(N=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;x=(P=n.distcode[_&(1<>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>S)])>>>16&255,U=65535&P,!(S+(E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=S,p-=S,n.back+=S}if(_>>>=E,p-=E,n.back+=E,64&x){t.msg="invalid distance code",n.mode=30;break}n.offset=U,n.extra=15&x,n.mode=24;case 24:if(n.extra){for(N=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===b)break t;if(k=m-b,n.offset>k){if((k=n.offset-k)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=30;break}k>n.wnext?(k-=n.wnext,y=n.wsize-k):y=n.wnext-k,k>n.length&&(k=n.length),A=n.window}else A=l,y=u-n.offset,k=n.length;k>b&&(k=b),b-=k,n.length-=k;do{l[u++]=A[y++]}while(--k);0===n.length&&(n.mode=21);break;case 26:if(0===b)break t;l[u++]=n.length,b--,n.mode=21;break;case 27:if(n.wrap){for(;p<32;){if(0===d)break t;d--,_|=h[c++]<>>=m=v>>>24,b-=m,0===(m=v>>>16&255))U[i++]=65535&v;else{if(!(16&m)){if(0==(64&m)){v=_[(65535&v)+(d&(1<>>=m,b-=m),b<15&&(d+=x[a++]<>>=m=v>>>24,b-=m,!(16&(m=v>>>16&255))){if(0==(64&m)){v=p[(65535&v)+(d&(1<f){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=m,b-=m,y>(m=i-s)){if((m=y-m)>l&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(A=0,E=u,0===c){if(A+=h-m,m2;)U[i++]=E[A++],U[i++]=E[A++],U[i++]=E[A++],k-=3;k&&(U[i++]=E[A++],k>1&&(U[i++]=E[A++]))}else{A=i-y;do{U[i++]=U[A++],U[i++]=U[A++],U[i++]=U[A++],k-=3}while(k>2);k&&(U[i++]=U[A++],k>1&&(U[i++]=U[A++]))}break}}break}}while(a>3,d&=(1<<(b-=k<<3))-1,t.next_in=a,t.next_out=i,t.avail_in=a=1&&0===I[U];U--);if(S>U&&(S=U),0===U)return h[l++]=20971520,h[l++]=20971520,u.bits=1,0;for(x=1;x0&&(0===t||1!==U))return-1;for(C[1]=0,A=1;A<15;A++)C[A+1]=C[A]+I[A];for(E=0;E852||2===t&&z>592)return 1;for(;;){v=A-T,c[E]g?(m=D[L+c[E]],k=N[P+c[E]]):(m=96,k=0),d=1<>T)+(b-=d)]=v<<24|m<<16|k|0}while(0!==b);for(d=1<>=1;if(0!==d?(O&=d-1,O+=d):O=0,E++,0==--I[A]){if(A===U)break;A=e[n+c[E]]}if(A>S&&(O&p)!==_){for(0===T&&(T=S),w+=x,R=1<<(B=A-T);B+T852||2===t&&z>592)return 1;h[_=O&p]=S<<24|B<<16|w-l|0}}return 0!==O&&(h[w+O]=A-T<<24|64<<16|0),u.bits=S,0}},function(t,e,n){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(t,e,n){"use strict";n.r(e),n.d(e,"ResolutionUnitSpecifier",(function(){return T})),n.d(e,"decode",(function(){return R})),n.d(e,"encode",(function(){return z}));n(11);const a=new TextDecoder("utf-8");const r=new TextEncoder;class i{constructor(t=8192,e={}){let n=!1;"number"==typeof t?t=new ArrayBuffer(t):(n=!0,this.lastWrittenByte=t.byteLength);const a=e.offset?e.offset>>>0:0,r=t.byteLength-a;let s=a;(ArrayBuffer.isView(t)||t instanceof i)&&(t.byteLength!==t.buffer.byteLength&&(s=t.byteOffset+a),t=t.buffer),this.lastWrittenByte=n?r:0,this.buffer=t,this.length=r,this.byteLength=r,this.byteOffset=s,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,s,r),this._mark=0,this._marks=[]}available(t=1){return this.offset+t<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(t=1){return this.offset+=t,this}seek(t){return this.offset=t,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const t=this._marks.pop();if(void 0===t)throw new Error("Mark stack empty");return this.seek(t),this}rewind(){return this.offset=0,this}ensureAvailable(t=1){if(!this.available(t)){const e=2*(this.offset+t),n=new Uint8Array(e);n.set(new Uint8Array(this.buffer)),this.buffer=n.buffer,this.length=this.byteLength=e,this._data=new DataView(this.buffer)}return this}readBoolean(){return 0!==this.readUint8()}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(t=1){const e=new Uint8Array(t);for(let n=0;nthis.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}var s=n(1);const o=[137,80,78,71,13,10,26,10],f=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;f[t]=e}function h(t,e){return(4294967295^function(t,e,n){let a=t;for(let t=0;t>>8;return a}(4294967295,t,e))>>>0}var l,c,u,d;!function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.GREYSCALE=0]="GREYSCALE",t[t.TRUECOLOUR=2]="TRUECOLOUR",t[t.INDEXED_COLOUR=3]="INDEXED_COLOUR",t[t.GREYSCALE_ALPHA=4]="GREYSCALE_ALPHA",t[t.TRUECOLOUR_ALPHA=6]="TRUECOLOUR_ALPHA"}(l||(l={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.DEFLATE=0]="DEFLATE"}(c||(c={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.ADAPTIVE=0]="ADAPTIVE"}(u||(u={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.NO_INTERLACE=0]="NO_INTERLACE",t[t.ADAM7=1]="ADAM7"}(d||(d={}));const b=new Uint8Array(0),_=new Uint16Array([255]),p=255===new Uint8Array(_.buffer)[0];class w extends i{constructor(t,e={}){super(t);const{checkCrc:n=!1}=e;this._checkCrc=n,this._inflator=new s.Inflate,this._png={width:-1,height:-1,channels:-1,data:new Uint8Array(0),depth:1,text:{}},this._end=!1,this._hasPalette=!1,this._palette=[],this._compressionMethod=c.UNKNOWN,this._filterMethod=u.UNKNOWN,this._interlaceMethod=d.UNKNOWN,this._colorType=-1,this.setBigEndian()}decode(){for(this.decodeSignature();!this._end;)this.decodeChunk();return this.decodeImage(),this._png}decodeSignature(){for(let t=0;tthis._palette.length)throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${t} vs ${this._palette.length})`);let e=0;for(;e>8&255;this._png.data=t}else this._png.data=r;var h}}function g(t,e,n){for(let a=0;a>1)&255}else{for(;i>1)&255;for(;i>1)&255}}function y(t,e,n,a,r){let i=0;if(0===n.length){for(;i0)return t;throw new TypeError(e+" must be a positive integer")}function S(t,e,n,a){for(let r=0;rs&&(s=h),r++%t==0&&(ol&&(e[i]=l);var c=5*this.resultSamples/8+1,m=new Uint8Array(Math.floor(c));for(i=0;i1){for(var a=r.getUint8(s+26,!0),f=s+27+a,h=0;h0){var l=this.HEAPF32.subarray(this.decoderOutputPointer>>2,(this.decoderOutputPointer>>2)+this.decoderOutputMaxLength);this.waveformGenerator.saveSamples(this.decoderOutputMaxLength,l)}var c=Math.ceil(d*this.config.outputBufferSampleRate/this.config.decoderSampleRate);this.HEAP32[this.decoderOutputLengthPointer>>2]=d,this.HEAP32[this.resampleOutputLengthPointer>>2]=c,this._speex_resampler_process_interleaved_float(this.resampler,this.decoderOutputPointer,this.decoderOutputLengthPointer,this.resampleOutputBufferPointer,this.resampleOutputLengthPointer),this.sendToOutputBuffers(this.HEAPF32.subarray(this.resampleOutputBufferPointer>>2,(this.resampleOutputBufferPointer>>2)+c*this.numberOfChannels)),this.decoderBufferIndex=0}}(4&u||o==i)&&this.sendLastBuffer()}},this)},i.prototype.getPageBoundaries=function(e){for(var t=[],r=0;r1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":14,"maximum":14,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280704,DYNAMICTOP_PTR=37616;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="decoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"j":___wasi_fd_close,"i":___wasi_fd_seek,"h":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"g":_abort,"d":_emscripten_get_heap_size,"f":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["k"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["l"].apply(null,arguments)};var _opus_decode_float=Module["_opus_decode_float"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _opus_decoder_create=Module["_opus_decoder_create"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_decoder_destroy=Module["_opus_decoder_destroy"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["r"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["s"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["t"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t/decoderWorker.min.wasm b/public/t/decoderWorker.min.wasm new file mode 100644 index 00000000..1e905189 Binary files /dev/null and b/public/t/decoderWorker.min.wasm differ diff --git a/public/t/encoderWorker.min.js b/public/t/encoderWorker.min.js new file mode 100644 index 00000000..101f2415 --- /dev/null +++ b/public/t/encoderWorker.min.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.EncoderWorker=t():e.EncoderWorker=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var r=t[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(s,r,function(t){return e[t]}.bind(null,r));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";(function(t){var n,s,r=new Promise(function(e){s=e});t.onmessage=function(e){r.then(function(){switch(e.data.command){case"encode":n&&n.encode(e.data.buffers);break;case"getHeaderPages":n&&(n.generateIdPage(),n.generateCommentPage());break;case"done":n&&(n.encodeFinalFrame(),t.postMessage({message:"done"}));break;case"close":t.close();break;case"flush":n&&n.flush();break;case"init":n&&n.destroy(),n=new i(e.data,Module),t.postMessage({message:"ready"})}})};var i=function(e,t){if(!t)throw new Error("Module with exports required to initialize an encoder instance");this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderSampleRate:48e3,maxFramesPerPage:40,numberOfChannels:1,originalSampleRate:44100,resampleQuality:3,serial:Math.floor(4294967296*Math.random())},e),this._opus_encoder_create=t._opus_encoder_create,this._opus_encoder_destroy=t._opus_encoder_destroy,this._opus_encoder_ctl=t._opus_encoder_ctl,this._speex_resampler_process_interleaved_float=t._speex_resampler_process_interleaved_float,this._speex_resampler_init=t._speex_resampler_init,this._speex_resampler_destroy=t._speex_resampler_destroy,this._opus_encode_float=t._opus_encode_float,this._free=t._free,this._malloc=t._malloc,this.HEAPU8=t.HEAPU8,this.HEAP32=t.HEAP32,this.HEAPF32=t.HEAPF32,this.pageIndex=0,this.granulePosition=0,this.segmentData=new Uint8Array(65025),this.segmentDataIndex=0,this.segmentTable=new Uint8Array(255),this.segmentTableIndex=0,this.framesInPage=0,this.initChecksumTable(),this.initCodec(),this.initResampler(),1===this.config.numberOfChannels?this.interleave=function(e){return e[0]}:this.interleavedBuffers=new Float32Array(this.config.bufferLength*this.config.numberOfChannels)};i.prototype.encode=function(e){for(var t=this.interleave(e),n=0;n=this.config.maxFramesPerPage&&this.generatePage()}}},i.prototype.destroy=function(){this.encoder&&(this._free(this.encoderSamplesPerChannelPointer),delete this.encoderSamplesPerChannelPointer,this._free(this.encoderBufferPointer),delete this.encoderBufferPointer,this._free(this.encoderOutputPointer),delete this.encoderOutputPointer,this._free(this.resampleSamplesPerChannelPointer),delete this.resampleSamplesPerChannelPointer,this._free(this.resampleBufferPointer),delete this.resampleBufferPointer,this._speex_resampler_destroy(this.resampler),delete this.resampler,this._opus_encoder_destroy(this.encoder),delete this.encoder)},i.prototype.flush=function(){this.framesInPage&&this.generatePage(),this.resampleBufferIndex=0,t.postMessage({message:"flushed"})},i.prototype.encodeFinalFrame=function(){if(this.resampleBufferIndex>0){for(var e=[],t=0;t>>24&255^e[n]];return t>>>0},i.prototype.generateCommentPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1936154964,!0),e.setUint32(8,10,!0),e.setUint32(12,1868784978,!0),e.setUint32(16,1919247474,!0),e.setUint16(20,21322,!0),e.setUint32(22,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=26,this.headerType=0,this.generatePage()},i.prototype.generateIdPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1684104520,!0),e.setUint8(8,1,!0),e.setUint8(9,this.config.numberOfChannels,!0),e.setUint16(10,3840,!0),e.setUint32(12,this.config.originalSampleRateOverride||this.config.originalSampleRate,!0),e.setUint16(16,0,!0),e.setUint8(18,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=19,this.headerType=2,this.generatePage()},i.prototype.generatePage=function(){var e=this.lastPositiveGranulePosition===this.granulePosition?-1:this.granulePosition,n=new ArrayBuffer(27+this.segmentTableIndex+this.segmentDataIndex),s=new DataView(n),r=new Uint8Array(n);s.setUint32(0,1399285583,!0),s.setUint8(4,0,!0),s.setUint8(5,this.headerType,!0),s.setUint32(6,e,!0),e<0?s.setInt32(10,Math.ceil(e/4294967297)-1,!0):s.setInt32(10,Math.floor(e/4294967296),!0),s.setUint32(14,this.config.serial,!0),s.setUint32(18,this.pageIndex++,!0),s.setUint8(26,this.segmentTableIndex,!0),r.set(this.segmentTable.subarray(0,this.segmentTableIndex),27),r.set(this.segmentData.subarray(0,this.segmentDataIndex),27+this.segmentTableIndex),s.setUint32(22,this.getChecksum(r),!0),t.postMessage({message:"page",page:r,samplePosition:this.granulePosition},[r.buffer]),this.segmentTableIndex=0,this.segmentDataIndex=0,this.framesInPage=0,e>0&&(this.lastPositiveGranulePosition=e)},i.prototype.initChecksumTable=function(){this.checksumTable=[];for(var e=0;e<256;e++){for(var t=e<<24,n=0;n<8;n++)t=0!=(2147483648&t)?t<<1^79764919:t<<1;this.checksumTable[e]=4294967295&t}},i.prototype.setOpusControl=function(e,t){var n=this._malloc(4);this.HEAP32[n>>2]=t,this._opus_encoder_ctl(this.encoder,e,n),this._free(n)},i.prototype.initCodec=function(){var e=this._malloc(4);this.encoder=this._opus_encoder_create(this.config.encoderSampleRate,this.config.numberOfChannels,this.config.encoderApplication,e),this._free(e),this.config.encoderBitRate&&this.setOpusControl(4002,this.config.encoderBitRate),this.config.encoderComplexity&&this.setOpusControl(4010,this.config.encoderComplexity),this.encoderSamplesPerChannel=this.config.encoderSampleRate*this.config.encoderFrameSize/1e3,this.encoderSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.encoderSamplesPerChannelPointer>>2]=this.encoderSamplesPerChannel,this.encoderBufferLength=this.encoderSamplesPerChannel*this.config.numberOfChannels,this.encoderBufferPointer=this._malloc(4*this.encoderBufferLength),this.encoderBuffer=this.HEAPF32.subarray(this.encoderBufferPointer>>2,(this.encoderBufferPointer>>2)+this.encoderBufferLength),this.encoderOutputMaxLength=4e3,this.encoderOutputPointer=this._malloc(this.encoderOutputMaxLength),this.encoderOutputBuffer=this.HEAPU8.subarray(this.encoderOutputPointer,this.encoderOutputPointer+this.encoderOutputMaxLength)},i.prototype.initResampler=function(){var e=this._malloc(4);this.resampler=this._speex_resampler_init(this.config.numberOfChannels,this.config.originalSampleRate,this.config.encoderSampleRate,this.config.resampleQuality,e),this._free(e),this.resampleBufferIndex=0,this.resampleSamplesPerChannel=this.config.originalSampleRate*this.config.encoderFrameSize/1e3,this.resampleSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.resampleSamplesPerChannelPointer>>2]=this.resampleSamplesPerChannel,this.resampleBufferLength=this.resampleSamplesPerChannel*this.config.numberOfChannels,this.resampleBufferPointer=this._malloc(4*this.resampleBufferLength),this.resampleBuffer=this.HEAPF32.subarray(this.resampleBufferPointer>>2,(this.resampleBufferPointer>>2)+this.resampleBufferLength)},i.prototype.interleave=function(e){for(var t=0;t=0;){255===this.segmentTableIndex&&(this.generatePage(),this.headerType=1);var n=Math.min(e,255);this.segmentTable[this.segmentTableIndex++]=n,this.segmentData.set(this.encoderOutputBuffer.subarray(t,t+n),this.segmentDataIndex),this.segmentDataIndex+=n,t+=n,e-=255}this.granulePosition+=48*this.config.encoderFrameSize,255===this.segmentTableIndex&&(this.generatePage(),this.headerType=0)},Module||(Module={}),Module.mainReady=r,Module.OggOpusEncoder=i,Module.onRuntimeInitialized=s,e.exports=Module}).call(this,n(1))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":16,"maximum":16,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5289600,DYNAMICTOP_PTR=46512;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="encoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(a0){return _llvm_log10_f32(a0)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"l":___wasi_fd_close,"k":___wasi_fd_seek,"j":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"i":_abort,"d":_emscripten_get_heap_size,"h":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"g":_llvm_exp2_f64,"f":_llvm_log10_f64,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_encode_float=Module["_opus_encode_float"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _opus_encoder_create=Module["_opus_encoder_create"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=function(){return Module["asm"]["r"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["s"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["t"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["u"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["v"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["w"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t/encoderWorker.min.wasm b/public/t/encoderWorker.min.wasm new file mode 100644 index 00000000..c61f179c Binary files /dev/null and b/public/t/encoderWorker.min.wasm differ diff --git a/public/t/main.bundle.js b/public/t/main.bundle.js new file mode 100644 index 00000000..283c3f40 --- /dev/null +++ b/public/t/main.bundle.js @@ -0,0 +1,19 @@ +!function(e){function t(t){for(var i,o,r=t[0],d=t[1],f=t[2],c=0,u=[];c + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.positionElementByIndex=t.getFileURL=t.getEmojiToneIndex=t.calcImageInBox=t.fillPropertyValue=t.encodeEntities=t.escapeRegExp=t.listMergeSorted=t.deepEqual=t.formatNumber=t.formatBytes=t.copy=t.whichChild=t.getObjectKeysAndSort=t.findUpAttribute=t.findUpTag=t.findUpClassName=t.numberWithCommas=t.safeReplaceObject=t.tsNow=t.isObject=t.langPack=t.generatePathData=t.$rootScope=t.getRichElementValue=t.placeCaretAtEnd=t.getRichValue=t.cancelEvent=t.checkDragEvent=t.isInDOM=t.dT=void 0;var i=Date.now();function n(e,t,s,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o=i===e,r="DIV"==e.tagName||"P"==e.tagName;r&&s.length||"BR"==e.tagName?(t.push(s.join("")),s.splice(0,s.length)):"IMG"==e.tagName&&e.alt&&s.push(e.alt),o&&!a&&s.push("");for(var d=e.firstChild;d;)n(d,t,s,i,a),d=d.nextSibling;o&&a&&s.push(""),r&&s.length&&(t.push(s.join("")),s.splice(0,s.length))}}else if(i===e){var f=e.nodeValue;s.push(f.substr(0,a)+""+f.substr(a))}else s.push(e.nodeValue)}t.dT=function(){return"["+((Date.now()-i)/1e3).toFixed(3)+"]"},t.isInDOM=function e(t,s){return!!t&&(t==(s=s||document.body)||e(t.parentNode,s))},t.checkDragEvent=function(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t{let s=new CustomEvent(e,{detail:t});document.dispatchEvent(s)},$on:(e,t)=>{document.addEventListener(e,t)},$off:(e,t)=>{document.removeEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var a=function(e,t,s,i,n,a,o){return[e,",",t," ",s," ",i,",",n," ",a,",",o].join("")};function o(e){if(!e.parentNode)return-1;let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function r(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(r(e))})),t}let s=new e.constructor;for(var i in e)e.hasOwnProperty(i)&&(s[i]=r(e[i]));return s}t.generatePathData=function(e,t,s,i,n,o,r,d){var f=[];return f.push("M"+(e+s/2)+","+t),f.push("H"+(e+s-o)),o>0&&f.push("A"+a(o,o,0,0,1,e+s,t+o)),f.push("V"+(t+i-r)),r>0&&f.push("A"+a(r,r,0,0,1,e+s-r,t+i)),f.push("H"+(e+d)),d>0&&f.push("A"+a(d,d,0,0,1,e+0,t+i-d)),f.push("V"+(t+n)),n>0&&f.push("A"+a(n,n,0,0,1,e+n,t+0)),f.push("Z"),f.join(" ")},t.langPack={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"",messageActionChannelMigrateFrom:"","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.tsNow=function(e){var t=+new Date;return e?Math.floor(t/1e3):t},t.safeReplaceObject=function(e,t){for(var s in e)t.hasOwnProperty(s)||"$"==s.charAt(0)||delete e[s];for(var s in t)e[s]=t[s]},t.numberWithCommas=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},t.findUpClassName=function(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null},t.findUpTag=function(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null},t.findUpAttribute=function(e,t){if(null!=e.getAttribute(t))return e;for(;e.parentElement;)if(null!=(e=e.parentElement).getAttribute(t))return e;return null},t.getObjectKeysAndSort=function(e,t="asc"){const s=Object.keys(e).map(e=>+e);return"asc"==t?s.sort((e,t)=>e-t):s.sort((e,t)=>t-e)},t.whichChild=o,t.copy=r,t.formatBytes=function(e,t=2){if(0===e)return"0 Bytes";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(s))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},t.formatNumber=function(e,t=2){if(0===e)return"0";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,i)).toFixed(s))+["","K","M","B","T"][i]},t.deepEqual=function e(t,s){const i=Object.keys,n=typeof t;return t&&s&&"object"===n&&n===typeof s?i(t).length===i(s).length&&i(t).every(i=>e(t[i],s[i])):t===s},t.listMergeSorted=function(e,t){t=t||[];for(var s=r(e=e||[]),i=e.length?e[e.length-1]:4294967295,n=0;n"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";").replace(/([^\#-~| |!])/g,e=>"&#"+e.charCodeAt(0)+";").replace(//g,">")},t.fillPropertyValue=function(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t},t.calcImageInBox=function(e,t,s,i,n){if(es/i?o=t*s/e|0:(a=e*i/t|0)>s&&(o=o*s/a|0,a=s),n&&a>=e&&o>=t&&(a=e,o=t),{w:a,h:o}},t.getEmojiToneIndex=function(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0},t.getFileURL=function(e,t){return"/"+e+"/"+encodeURIComponent(JSON.stringify(t))},t.positionElementByIndex=function(e,t,s){const i=o(e);return i!=s&&(-1!=i&&is?t.insertBefore(e,t.children[s]):t.append(e),!0)}},function(e,t,s){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.isServiceWorkerSupported=t.touchSupport=t.mediaSizes=t.LatinizeMap=t.TLD=t.Countries=t.Emoji=t.isAppleMobile=t.isApple=t.isAndroid=t.isSafari=void 0;const i=s(47);Object.defineProperty(t,"isSafari",{enumerable:!0,get:function(){return i.isSafari}}),Object.defineProperty(t,"isAndroid",{enumerable:!0,get:function(){return i.isAndroid}}),Object.defineProperty(t,"isApple",{enumerable:!0,get:function(){return i.isApple}}),Object.defineProperty(t,"isAppleMobile",{enumerable:!0,get:function(){return i.isAppleMobile}}),t.Emoji={2049:6356,2122:6364,2139:6389,2194:6269,2195:6268,2196:6267,2197:6261,2198:6263,2199:6265,2328:680,2600:4177,2601:4185,2602:4200,2603:4205,2604:4207,2611:6341,2614:4201,2615:3101,2618:2123,2620:194,2622:6258,2623:6259,2626:6288,2638:6285,2639:166,2648:6293,2649:6294,2650:6301,2651:6302,2652:6303,2653:6304,2660:567,2663:570,2665:568,2666:569,2668:457,2692:6184,2693:4110,2694:6187,2696:6195,2697:6201,2699:6193,2702:6171,2705:6340,2708:4118,2709:6132,2712:6146,2714:6342,2716:6343,2721:6284,2728:56,2733:6352,2734:6353,2744:4204,2747:6354,2753:6357,2754:6358,2755:6359,2757:6360,2763:1125,2764:1127,2795:6346,2796:6347,2797:6348,2934:6272,2935:6273,3030:6361,3297:6413,3299:6414,"0023-20e3":6365,"002a-20e3":6366,"0030-20e3":6367,"0031-20e3":6368,"0032-20e3":6369,"0033-20e3":6370,"0034-20e3":6371,"0035-20e3":6372,"0036-20e3":6373,"0037-20e3":6374,"0038-20e3":6375,"0039-20e3":6376,"00a9":6362,"00ae":6363,"1f004":573,"1f0cf":572,"1f170":6383,"1f171":6385,"1f17e":6394,"1f17f":6396,"1f18e":6384,"1f191":6386,"1f192":6387,"1f193":6388,"1f194":6390,"1f195":6392,"1f196":6393,"1f197":6395,"1f198":6397,"1f199":6398,"1f19a":6399,"1f1e6-1f1e8":78,"1f1e6-1f1e9":79,"1f1e6-1f1ea":710,"1f1e6-1f1eb":711,"1f1e6-1f1ec":712,"1f1e6-1f1ee":713,"1f1e6-1f1f1":714,"1f1e6-1f1f2":715,"1f1e6-1f1f4":716,"1f1e6-1f1f6":717,"1f1e6-1f1f7":718,"1f1e6-1f1f8":719,"1f1e6-1f1f9":720,"1f1e6-1f1fa":721,"1f1e6-1f1fc":722,"1f1e6-1f1fd":723,"1f1e6-1f1ff":724,"1f1e7-1f1e6":725,"1f1e7-1f1e7":726,"1f1e7-1f1e9":727,"1f1e7-1f1ea":728,"1f1e7-1f1eb":729,"1f1e7-1f1ec":730,"1f1e7-1f1ed":731,"1f1e7-1f1ee":732,"1f1e7-1f1ef":733,"1f1e7-1f1f1":734,"1f1e7-1f1f2":735,"1f1e7-1f1f3":736,"1f1e7-1f1f4":737,"1f1e7-1f1f6":738,"1f1e7-1f1f7":739,"1f1e7-1f1f8":740,"1f1e7-1f1f9":741,"1f1e7-1f1fb":742,"1f1e7-1f1fc":743,"1f1e7-1f1fe":744,"1f1e7-1f1ff":745,"1f1e8-1f1e6":746,"1f1e8-1f1e8":747,"1f1e8-1f1e9":748,"1f1e8-1f1eb":749,"1f1e8-1f1ec":750,"1f1e8-1f1ed":751,"1f1e8-1f1ee":752,"1f1e8-1f1f0":753,"1f1e8-1f1f1":754,"1f1e8-1f1f2":755,"1f1e8-1f1f3":756,"1f1e8-1f1f4":757,"1f1e8-1f1f5":758,"1f1e8-1f1f7":759,"1f1e8-1f1fa":760,"1f1e8-1f1fb":761,"1f1e8-1f1fc":762,"1f1e8-1f1fd":763,"1f1e8-1f1fe":764,"1f1e8-1f1ff":765,"1f1e9-1f1ea":766,"1f1e9-1f1ec":767,"1f1e9-1f1ef":768,"1f1e9-1f1f0":769,"1f1e9-1f1f2":770,"1f1e9-1f1f4":771,"1f1e9-1f1ff":772,"1f1ea-1f1e6":773,"1f1ea-1f1e8":774,"1f1ea-1f1ea":775,"1f1ea-1f1ec":776,"1f1ea-1f1ed":777,"1f1ea-1f1f7":778,"1f1ea-1f1f8":779,"1f1ea-1f1f9":780,"1f1ea-1f1fa":781,"1f1eb-1f1ee":782,"1f1eb-1f1ef":783,"1f1eb-1f1f0":784,"1f1eb-1f1f2":785,"1f1eb-1f1f4":786,"1f1eb-1f1f7":787,"1f1ec-1f1e6":788,"1f1ec-1f1e7":789,"1f1ec-1f1e9":790,"1f1ec-1f1ea":791,"1f1ec-1f1eb":792,"1f1ec-1f1ec":793,"1f1ec-1f1ed":794,"1f1ec-1f1ee":795,"1f1ec-1f1f1":796,"1f1ec-1f1f2":797,"1f1ec-1f1f3":798,"1f1ec-1f1f5":799,"1f1ec-1f1f6":7100,"1f1ec-1f1f7":7101,"1f1ec-1f1f8":7102,"1f1ec-1f1f9":7103,"1f1ec-1f1fa":7104,"1f1ec-1f1fc":7105,"1f1ec-1f1fe":7106,"1f1ed-1f1f0":7107,"1f1ed-1f1f2":7108,"1f1ed-1f1f3":7109,"1f1ed-1f1f7":7110,"1f1ed-1f1f9":7111,"1f1ed-1f1fa":7112,"1f1ee-1f1e8":7113,"1f1ee-1f1e9":7114,"1f1ee-1f1ea":7115,"1f1ee-1f1f1":7116,"1f1ee-1f1f2":7117,"1f1ee-1f1f3":7118,"1f1ee-1f1f4":7119,"1f1ee-1f1f6":7120,"1f1ee-1f1f7":7121,"1f1ee-1f1f8":7122,"1f1ee-1f1f9":7123,"1f1ef-1f1ea":7124,"1f1ef-1f1f2":7125,"1f1ef-1f1f4":7126,"1f1ef-1f1f5":7127,"1f1f0-1f1ea":7128,"1f1f0-1f1ec":7129,"1f1f0-1f1ed":7130,"1f1f0-1f1ee":7131,"1f1f0-1f1f2":7132,"1f1f0-1f1f3":7133,"1f1f0-1f1f5":7134,"1f1f0-1f1f7":7135,"1f1f0-1f1fc":7136,"1f1f0-1f1fe":7137,"1f1f0-1f1ff":7138,"1f1f1-1f1e6":7139,"1f1f1-1f1e7":7140,"1f1f1-1f1e8":7141,"1f1f1-1f1ee":7142,"1f1f1-1f1f0":7143,"1f1f1-1f1f7":7144,"1f1f1-1f1f8":7145,"1f1f1-1f1f9":7146,"1f1f1-1f1fa":7147,"1f1f1-1f1fb":7148,"1f1f1-1f1fe":7149,"1f1f2-1f1e6":7150,"1f1f2-1f1e8":7151,"1f1f2-1f1e9":7152,"1f1f2-1f1ea":7153,"1f1f2-1f1eb":7154,"1f1f2-1f1ec":7155,"1f1f2-1f1ed":7156,"1f1f2-1f1f0":7157,"1f1f2-1f1f1":7158,"1f1f2-1f1f2":7159,"1f1f2-1f1f3":7160,"1f1f2-1f1f4":7161,"1f1f2-1f1f5":7162,"1f1f2-1f1f6":7163,"1f1f2-1f1f7":7164,"1f1f2-1f1f8":7165,"1f1f2-1f1f9":7166,"1f1f2-1f1fa":7167,"1f1f2-1f1fb":7168,"1f1f2-1f1fc":7169,"1f1f2-1f1fd":7170,"1f1f2-1f1fe":7171,"1f1f2-1f1ff":7172,"1f1f3-1f1e6":7173,"1f1f3-1f1e8":7174,"1f1f3-1f1ea":7175,"1f1f3-1f1eb":7176,"1f1f3-1f1ec":7177,"1f1f3-1f1ee":7178,"1f1f3-1f1f1":7179,"1f1f3-1f1f4":7180,"1f1f3-1f1f5":7181,"1f1f3-1f1f7":7182,"1f1f3-1f1fa":7183,"1f1f3-1f1ff":7184,"1f1f4-1f1f2":7185,"1f1f5-1f1e6":7186,"1f1f5-1f1ea":7187,"1f1f5-1f1eb":7188,"1f1f5-1f1ec":7189,"1f1f5-1f1ed":7190,"1f1f5-1f1f0":7191,"1f1f5-1f1f1":7192,"1f1f5-1f1f2":7193,"1f1f5-1f1f3":7194,"1f1f5-1f1f7":7195,"1f1f5-1f1f8":7196,"1f1f5-1f1f9":7197,"1f1f5-1f1fc":7198,"1f1f5-1f1fe":7199,"1f1f6-1f1e6":7200,"1f1f7-1f1ea":7201,"1f1f7-1f1f4":7202,"1f1f7-1f1f8":7203,"1f1f7-1f1fa":7204,"1f1f7-1f1fc":7205,"1f1f8-1f1e6":7206,"1f1f8-1f1e7":7207,"1f1f8-1f1e8":7208,"1f1f8-1f1e9":7209,"1f1f8-1f1ea":7210,"1f1f8-1f1ec":7211,"1f1f8-1f1ed":7212,"1f1f8-1f1ee":7213,"1f1f8-1f1ef":7214,"1f1f8-1f1f0":7215,"1f1f8-1f1f1":7216,"1f1f8-1f1f2":7217,"1f1f8-1f1f3":7218,"1f1f8-1f1f4":7219,"1f1f8-1f1f7":7220,"1f1f8-1f1f8":7221,"1f1f8-1f1f9":7222,"1f1f8-1f1fb":7223,"1f1f8-1f1fd":7224,"1f1f8-1f1fe":7225,"1f1f8-1f1ff":7226,"1f1f9-1f1e6":7227,"1f1f9-1f1e8":7228,"1f1f9-1f1e9":7229,"1f1f9-1f1eb":7230,"1f1f9-1f1ec":7231,"1f1f9-1f1ed":7232,"1f1f9-1f1ef":7233,"1f1f9-1f1f0":7234,"1f1f9-1f1f1":7235,"1f1f9-1f1f2":7236,"1f1f9-1f1f3":7237,"1f1f9-1f1f4":7238,"1f1f9-1f1f7":7239,"1f1f9-1f1f9":7240,"1f1f9-1f1fb":7241,"1f1f9-1f1fc":7242,"1f1f9-1f1ff":7243,"1f1fa-1f1e6":7244,"1f1fa-1f1ec":7245,"1f1fa-1f1f2":7246,"1f1fa-1f1f3":7247,"1f1fa-1f1f8":7248,"1f1fa-1f1fe":7249,"1f1fa-1f1ff":7250,"1f1fb-1f1e6":7251,"1f1fb-1f1e8":7252,"1f1fb-1f1ea":7253,"1f1fb-1f1ec":7254,"1f1fb-1f1ee":7255,"1f1fb-1f1f3":7256,"1f1fb-1f1fa":7257,"1f1fc-1f1eb":7258,"1f1fc-1f1f8":7259,"1f1fd-1f1f0":7260,"1f1fe-1f1ea":7261,"1f1fe-1f1f9":7262,"1f1ff-1f1e6":7263,"1f1ff-1f1f2":7264,"1f1ff-1f1fc":7265,"1f201":6400,"1f202":6401,"1f21a":6407,"1f22f":6404,"1f232":6408,"1f233":6412,"1f234":6411,"1f235":6416,"1f236":6403,"1f237":6402,"1f238":6410,"1f239":6406,"1f23a":6415,"1f250":6405,"1f251":6409,"1f300":4197,"1f301":449,"1f302":4199,"1f303":450,"1f304":452,"1f305":453,"1f306":454,"1f307":455,"1f308":4198,"1f309":456,"1f30a":4210,"1f30b":410,"1f30c":4184,"1f30d":41,"1f30e":42,"1f30f":43,"1f310":44,"1f311":4164,"1f312":4165,"1f313":4166,"1f314":4167,"1f315":4168,"1f316":4169,"1f317":4170,"1f318":4171,"1f319":4172,"1f31a":4173,"1f31b":4174,"1f31c":4175,"1f31d":4178,"1f31e":4179,"1f31f":4182,"1f320":4183,"1f321":4176,"1f324":4188,"1f325":4189,"1f326":4190,"1f327":4191,"1f328":4192,"1f329":4193,"1f32a":4194,"1f32b":4195,"1f32c":4196,"1f32d":347,"1f32e":349,"1f32f":350,"1f330":331,"1f331":2116,"1f332":2117,"1f333":2118,"1f334":2119,"1f335":2120,"1f336":323,"1f337":2115,"1f338":2107,"1f339":2110,"1f33a":2112,"1f33b":2113,"1f33c":2114,"1f33d":322,"1f33e":2121,"1f33f":2122,"1f340":2124,"1f341":2125,"1f342":2126,"1f343":2127,"1f344":329,"1f345":316,"1f346":319,"1f347":31,"1f348":32,"1f349":33,"1f34a":34,"1f34b":35,"1f34c":36,"1f34d":37,"1f34e":39,"1f34f":310,"1f350":311,"1f351":312,"1f352":313,"1f353":314,"1f354":344,"1f355":346,"1f356":340,"1f357":341,"1f358":364,"1f359":365,"1f35a":366,"1f35b":367,"1f35c":368,"1f35d":369,"1f35e":332,"1f35f":345,"1f360":370,"1f361":376,"1f362":371,"1f363":372,"1f364":373,"1f365":374,"1f366":385,"1f367":386,"1f368":387,"1f369":388,"1f36a":389,"1f36b":394,"1f36c":395,"1f36d":396,"1f36e":397,"1f36f":398,"1f370":391,"1f371":363,"1f372":356,"1f373":354,"1f374":3118,"1f375":3102,"1f376":3103,"1f377":3105,"1f378":3106,"1f379":3107,"1f37a":3108,"1f37b":3109,"1f37c":399,"1f37d":3117,"1f37e":3104,"1f37f":359,"1f380":517,"1f381":518,"1f382":390,"1f383":51,"1f384":52,"1f385":1326,"1f386":53,"1f387":54,"1f388":57,"1f389":58,"1f38a":59,"1f38b":510,"1f38c":73,"1f38d":511,"1f38e":512,"1f38f":513,"1f390":514,"1f391":515,"1f392":625,"1f393":637,"1f396":522,"1f397":519,"1f399":656,"1f39a":657,"1f39b":658,"1f39e":689,"1f39f":520,"1f3a0":458,"1f3a1":459,"1f3a2":460,"1f3a3":549,"1f3a4":659,"1f3a5":688,"1f3a6":6324,"1f3a7":660,"1f3a8":577,"1f3a9":636,"1f3aa":462,"1f3ab":521,"1f3ac":691,"1f3ad":575,"1f3ae":561,"1f3af":555,"1f3b0":563,"1f3b1":558,"1f3b2":564,"1f3b3":537,"1f3b4":574,"1f3b5":654,"1f3b6":655,"1f3b7":662,"1f3b8":663,"1f3b9":664,"1f3ba":665,"1f3bb":666,"1f3bc":653,"1f3bd":551,"1f3be":535,"1f3bf":552,"1f3c0":531,"1f3c1":71,"1f3c2":1397,"1f3c3-200d-2640-fe0f":1381,"1f3c3-200d-2642-fe0f":1380,"1f3c3":1379,"1f3c4-200d-2640-fe0f":1403,"1f3c4-200d-2642-fe0f":1402,"1f3c4":1401,"1f3c5":524,"1f3c6":523,"1f3c7":1395,"1f3c8":533,"1f3c9":534,"1f3ca-200d-2640-fe0f":1409,"1f3ca-200d-2642-fe0f":1408,"1f3ca":1407,"1f3cb-fe0f-200d-2640-fe0f":1415,"1f3cb-fe0f-200d-2642-fe0f":1414,"1f3cb":1413,"1f3cc-fe0f-200d-2640-fe0f":1400,"1f3cc-fe0f-200d-2642-fe0f":1399,"1f3cc":1398,"1f3cd":492,"1f3ce":491,"1f3cf":538,"1f3d0":532,"1f3d1":539,"1f3d2":540,"1f3d3":542,"1f3d4":48,"1f3d5":412,"1f3d6":413,"1f3d7":419,"1f3d8":421,"1f3d9":451,"1f3da":422,"1f3db":418,"1f3dc":414,"1f3dd":415,"1f3de":416,"1f3df":417,"1f3e0":423,"1f3e1":424,"1f3e2":425,"1f3e3":426,"1f3e4":427,"1f3e5":428,"1f3e6":429,"1f3e7":6234,"1f3e8":430,"1f3e9":431,"1f3ea":432,"1f3eb":433,"1f3ec":434,"1f3ed":435,"1f3ee":6102,"1f3ef":436,"1f3f0":437,"1f3f3-fe0f-200d-1f308":76,"1f3f3":75,"1f3f4-200d-2620-fe0f":77,"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f":7266,"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f":7267,"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f":7268,"1f3f4":74,"1f3f5":2109,"1f3f7":6120,"1f3f8":543,"1f3f9":6189,"1f3fa":3121,"1f3fb":81,"1f3fc":82,"1f3fd":83,"1f3fe":84,"1f3ff":85,"1f400":244,"1f401":243,"1f402":225,"1f403":226,"1f404":227,"1f405":217,"1f406":218,"1f407":247,"1f408":214,"1f409":282,"1f40a":277,"1f40b":286,"1f40c":294,"1f40d":280,"1f40e":220,"1f40f":232,"1f410":234,"1f411":233,"1f412":22,"1f413":262,"1f414":261,"1f415-200d-1f9ba":28,"1f415":26,"1f416":229,"1f417":230,"1f418":239,"1f419":292,"1f41a":293,"1f41b":296,"1f41c":297,"1f41d":298,"1f41e":299,"1f41f":288,"1f420":289,"1f421":290,"1f422":278,"1f423":263,"1f424":264,"1f425":265,"1f426":266,"1f427":267,"1f428":252,"1f429":29,"1f42a":235,"1f42b":236,"1f42c":287,"1f42d":242,"1f42e":224,"1f42f":216,"1f430":246,"1f431":213,"1f432":281,"1f433":285,"1f434":219,"1f435":21,"1f436":25,"1f437":228,"1f438":276,"1f439":245,"1f43a":210,"1f43b":251,"1f43c":253,"1f43d":231,"1f43e":259,"1f43f":248,"1f440":1194,"1f441-fe0f-200d-1f5e8-fe0f":1145,"1f441":1195,"1f442":1188,"1f443":1190,"1f444":1197,"1f445":1196,"1f446":1164,"1f447":1166,"1f448":1162,"1f449":1163,"1f44a":1171,"1f44b":1150,"1f44c":1155,"1f44d":1168,"1f44e":1169,"1f44f":1174,"1f450":1176,"1f451":634,"1f452":635,"1f453":61,"1f454":66,"1f455":67,"1f456":68,"1f457":613,"1f458":614,"1f459":619,"1f45a":620,"1f45b":621,"1f45c":622,"1f45d":623,"1f45e":626,"1f45f":627,"1f460":630,"1f461":631,"1f462":633,"1f463":1483,"1f464":1481,"1f465":1482,"1f466":1200,"1f467":1201,"1f468-200d-1f33e":1267,"1f468-200d-1f373":1270,"1f468-200d-1f393":1258,"1f468-200d-1f3a4":1288,"1f468-200d-1f3a8":1291,"1f468-200d-1f3eb":1261,"1f468-200d-1f3ed":1276,"1f468-200d-1f466-200d-1f466":1471,"1f468-200d-1f466":1470,"1f468-200d-1f467-200d-1f466":1473,"1f468-200d-1f467-200d-1f467":1474,"1f468-200d-1f467":1472,"1f468-200d-1f468-200d-1f466":1460,"1f468-200d-1f468-200d-1f466-200d-1f466":1463,"1f468-200d-1f468-200d-1f467":1461,"1f468-200d-1f468-200d-1f467-200d-1f466":1462,"1f468-200d-1f468-200d-1f467-200d-1f467":1464,"1f468-200d-1f469-200d-1f466":1455,"1f468-200d-1f469-200d-1f466-200d-1f466":1458,"1f468-200d-1f469-200d-1f467":1456,"1f468-200d-1f469-200d-1f467-200d-1f466":1457,"1f468-200d-1f469-200d-1f467-200d-1f467":1459,"1f468-200d-1f4bb":1285,"1f468-200d-1f4bc":1279,"1f468-200d-1f527":1273,"1f468-200d-1f52c":1282,"1f468-200d-1f680":1297,"1f468-200d-1f692":1300,"1f468-200d-1f9af":1371,"1f468-200d-1f9b0":1206,"1f468-200d-1f9b1":1207,"1f468-200d-1f9b2":1209,"1f468-200d-1f9b3":1208,"1f468-200d-1f9bc":1374,"1f468-200d-1f9bd":1377,"1f468-200d-2695-fe0f":1255,"1f468-200d-2696-fe0f":1264,"1f468-200d-2708-fe0f":1294,"1f468-200d-2764-fe0f-200d-1f468":1452,"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468":1448,"1f468":1204,"1f469-200d-1f33e":1268,"1f469-200d-1f373":1271,"1f469-200d-1f393":1259,"1f469-200d-1f3a4":1289,"1f469-200d-1f3a8":1292,"1f469-200d-1f3eb":1262,"1f469-200d-1f3ed":1277,"1f469-200d-1f466-200d-1f466":1476,"1f469-200d-1f466":1475,"1f469-200d-1f467-200d-1f466":1478,"1f469-200d-1f467-200d-1f467":1479,"1f469-200d-1f467":1477,"1f469-200d-1f469-200d-1f466":1465,"1f469-200d-1f469-200d-1f466-200d-1f466":1468,"1f469-200d-1f469-200d-1f467":1466,"1f469-200d-1f469-200d-1f467-200d-1f466":1467,"1f469-200d-1f469-200d-1f467-200d-1f467":1469,"1f469-200d-1f4bb":1286,"1f469-200d-1f4bc":1280,"1f469-200d-1f527":1274,"1f469-200d-1f52c":1283,"1f469-200d-1f680":1298,"1f469-200d-1f692":1301,"1f469-200d-1f9af":1372,"1f469-200d-1f9b0":1211,"1f469-200d-1f9b1":1213,"1f469-200d-1f9b2":1217,"1f469-200d-1f9b3":1215,"1f469-200d-1f9bc":1375,"1f469-200d-1f9bd":1378,"1f469-200d-2695-fe0f":1256,"1f469-200d-2696-fe0f":1265,"1f469-200d-2708-fe0f":1295,"1f469-200d-2764-fe0f-200d-1f468":1451,"1f469-200d-2764-fe0f-200d-1f469":1453,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468":1447,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469":1449,"1f469":1210,"1f46a":1454,"1f46b":1444,"1f46c":1445,"1f46d":1443,"1f46e-200d-2640-fe0f":1304,"1f46e-200d-2642-fe0f":1303,"1f46e":1302,"1f46f-200d-2640-fe0f":1387,"1f46f-200d-2642-fe0f":1386,"1f46f":1385,"1f470":1322,"1f471-200d-2640-fe0f":1219,"1f471-200d-2642-fe0f":1220,"1f471":1203,"1f472":1319,"1f473-200d-2640-fe0f":1318,"1f473-200d-2642-fe0f":1317,"1f473":1316,"1f474":1222,"1f475":1223,"1f476":1198,"1f477-200d-2640-fe0f":1313,"1f477-200d-2642-fe0f":1312,"1f477":1311,"1f478":1315,"1f479":197,"1f47a":198,"1f47b":199,"1f47c":1325,"1f47d":1100,"1f47e":1101,"1f47f":192,"1f480":193,"1f481-200d-2640-fe0f":1238,"1f481-200d-2642-fe0f":1237,"1f481":1236,"1f482-200d-2640-fe0f":1310,"1f482-200d-2642-fe0f":1309,"1f482":1308,"1f483":1382,"1f484":641,"1f485":1181,"1f486-200d-2640-fe0f":1357,"1f486-200d-2642-fe0f":1356,"1f486":1355,"1f487-200d-2640-fe0f":1360,"1f487-200d-2642-fe0f":1359,"1f487":1358,"1f488":461,"1f489":6208,"1f48a":6210,"1f48b":1115,"1f48c":1116,"1f48d":642,"1f48e":643,"1f48f":1446,"1f490":2106,"1f491":1450,"1f492":438,"1f493":1121,"1f494":1126,"1f495":1123,"1f496":1119,"1f497":1120,"1f498":1117,"1f499":1131,"1f49a":1130,"1f49b":1129,"1f49c":1132,"1f49d":1118,"1f49e":1122,"1f49f":1124,"1f4a0":6447,"1f4a1":6100,"1f4a2":1137,"1f4a3":1143,"1f4a4":1149,"1f4a5":1138,"1f4a6":1140,"1f4a7":4209,"1f4a8":1141,"1f4a9":195,"1f4aa":1183,"1f4ab":1139,"1f4ac":1144,"1f4ad":1148,"1f4ae":2108,"1f4af":1136,"1f4b0":6121,"1f4b1":6130,"1f4b2":6131,"1f4b3":6127,"1f4b4":6122,"1f4b5":6123,"1f4b6":6124,"1f4b7":6125,"1f4b8":6126,"1f4b9":6129,"1f4ba":4123,"1f4bb":677,"1f4bc":6152,"1f4bd":683,"1f4be":684,"1f4bf":685,"1f4c0":686,"1f4c1":6153,"1f4c2":6154,"1f4c3":6113,"1f4c4":6115,"1f4c5":6156,"1f4c6":6157,"1f4c7":6160,"1f4c8":6161,"1f4c9":6162,"1f4ca":6163,"1f4cb":6164,"1f4cc":6165,"1f4cd":6166,"1f4ce":6167,"1f4cf":6169,"1f4d0":6170,"1f4d1":6118,"1f4d2":6112,"1f4d3":6111,"1f4d4":6104,"1f4d5":6105,"1f4d6":6106,"1f4d7":6107,"1f4d8":6108,"1f4d9":6109,"1f4da":6110,"1f4db":6337,"1f4dc":6114,"1f4dd":6151,"1f4de":672,"1f4df":673,"1f4e0":674,"1f4e1":6207,"1f4e2":648,"1f4e3":649,"1f4e4":6136,"1f4e5":6137,"1f4e6":6138,"1f4e7":6133,"1f4e8":6134,"1f4e9":6135,"1f4ea":6140,"1f4eb":6139,"1f4ec":6141,"1f4ed":6142,"1f4ee":6143,"1f4ef":650,"1f4f0":6116,"1f4f1":669,"1f4f2":670,"1f4f3":6328,"1f4f4":6329,"1f4f5":6256,"1f4f6":6327,"1f4f7":693,"1f4f8":694,"1f4f9":695,"1f4fa":692,"1f4fb":661,"1f4fc":696,"1f4fd":690,"1f4ff":640,"1f500":6306,"1f501":6307,"1f502":6308,"1f503":6274,"1f504":6275,"1f505":6325,"1f506":6326,"1f507":644,"1f508":645,"1f509":646,"1f50a":647,"1f50b":675,"1f50c":676,"1f50d":697,"1f50e":698,"1f50f":6177,"1f510":6178,"1f511":6179,"1f512":6175,"1f513":6176,"1f514":651,"1f515":652,"1f516":6119,"1f517":6197,"1f518":6448,"1f519":6276,"1f51a":6277,"1f51b":6278,"1f51c":6279,"1f51d":6280,"1f51e":6257,"1f51f":6377,"1f520":6378,"1f521":6379,"1f522":6380,"1f523":6381,"1f524":6382,"1f525":4208,"1f526":6101,"1f527":6191,"1f528":6181,"1f529":6192,"1f52a":3120,"1f52b":6188,"1f52c":6205,"1f52d":6206,"1f52e":559,"1f52f":6292,"1f530":6338,"1f531":6336,"1f532":6450,"1f533":6449,"1f534":6417,"1f535":6421,"1f536":6441,"1f537":6442,"1f538":6443,"1f539":6444,"1f53a":6445,"1f53b":6446,"1f53c":6316,"1f53d":6318,"1f549":6283,"1f54a":268,"1f54b":446,"1f54c":442,"1f54d":444,"1f54e":6291,"1f550":4142,"1f551":4144,"1f552":4146,"1f553":4148,"1f554":4150,"1f555":4152,"1f556":4154,"1f557":4156,"1f558":4158,"1f559":4160,"1f55a":4162,"1f55b":4140,"1f55c":4143,"1f55d":4145,"1f55e":4147,"1f55f":4149,"1f560":4151,"1f561":4153,"1f562":4155,"1f563":4157,"1f564":4159,"1f565":4161,"1f566":4163,"1f567":4141,"1f56f":699,"1f570":4139,"1f573":1142,"1f574":1384,"1f575-fe0f-200d-2640-fe0f":1307,"1f575-fe0f-200d-2642-fe0f":1306,"1f575":1305,"1f576":62,"1f577":2101,"1f578":2102,"1f579":562,"1f57a":1383,"1f587":6168,"1f58a":6148,"1f58b":6147,"1f58c":6149,"1f58d":6150,"1f590":1152,"1f595":1165,"1f596":1154,"1f5a4":1134,"1f5a5":678,"1f5a8":679,"1f5b1":681,"1f5b2":682,"1f5bc":576,"1f5c2":6155,"1f5c3":6172,"1f5c4":6173,"1f5d1":6174,"1f5d2":6158,"1f5d3":6159,"1f5dc":6194,"1f5dd":6180,"1f5de":6117,"1f5e1":6186,"1f5e3":1480,"1f5e8":1146,"1f5ef":1147,"1f5f3":6144,"1f5fa":45,"1f5fb":411,"1f5fc":439,"1f5fd":440,"1f5fe":46,"1f5ff":6233,"1f600":11,"1f601":14,"1f602":18,"1f603":12,"1f604":13,"1f605":16,"1f606":15,"1f607":113,"1f608":191,"1f609":111,"1f60a":112,"1f60b":122,"1f60c":142,"1f60d":115,"1f60e":160,"1f60f":137,"1f610":134,"1f611":135,"1f612":138,"1f613":183,"1f614":143,"1f615":163,"1f616":180,"1f617":118,"1f618":117,"1f619":121,"1f61a":120,"1f61b":123,"1f61c":124,"1f61d":126,"1f61e":182,"1f61f":164,"1f620":189,"1f621":188,"1f622":177,"1f623":181,"1f624":187,"1f625":176,"1f626":172,"1f627":173,"1f628":174,"1f629":184,"1f62a":144,"1f62b":185,"1f62c":140,"1f62d":178,"1f62e":167,"1f62f":168,"1f630":175,"1f631":179,"1f632":169,"1f633":170,"1f634":146,"1f635":156,"1f636":136,"1f637":147,"1f638":1104,"1f639":1105,"1f63a":1103,"1f63b":1106,"1f63c":1107,"1f63d":1108,"1f63e":1111,"1f63f":1110,"1f640":1109,"1f641":165,"1f642":19,"1f643":110,"1f644":139,"1f645-200d-2640-fe0f":1232,"1f645-200d-2642-fe0f":1231,"1f645":1230,"1f646-200d-2640-fe0f":1235,"1f646-200d-2642-fe0f":1234,"1f646":1233,"1f647-200d-2640-fe0f":1247,"1f647-200d-2642-fe0f":1246,"1f647":1245,"1f648":1112,"1f649":1113,"1f64a":1114,"1f64b-200d-2640-fe0f":1241,"1f64b-200d-2642-fe0f":1240,"1f64b":1239,"1f64c":1175,"1f64d-200d-2640-fe0f":1226,"1f64d-200d-2642-fe0f":1225,"1f64d":1224,"1f64e-200d-2640-fe0f":1229,"1f64e-200d-2642-fe0f":1228,"1f64e":1227,"1f64f":1179,"1f680":4129,"1f681":4124,"1f682":463,"1f683":464,"1f684":465,"1f685":466,"1f686":467,"1f687":468,"1f688":469,"1f689":470,"1f68a":471,"1f68b":474,"1f68c":475,"1f68d":476,"1f68e":477,"1f68f":4100,"1f690":478,"1f691":479,"1f692":480,"1f693":481,"1f694":482,"1f695":483,"1f696":484,"1f697":485,"1f698":486,"1f699":487,"1f69a":488,"1f69b":489,"1f69c":490,"1f69d":472,"1f69e":473,"1f69f":4125,"1f6a0":4126,"1f6a1":4127,"1f6a2":4117,"1f6a3-200d-2640-fe0f":1406,"1f6a3-200d-2642-fe0f":1405,"1f6a3":1404,"1f6a4":4113,"1f6a5":4106,"1f6a6":4107,"1f6a7":4109,"1f6a8":4105,"1f6a9":72,"1f6aa":6213,"1f6ab":6250,"1f6ac":6230,"1f6ad":6252,"1f6ae":6235,"1f6af":6253,"1f6b0":6236,"1f6b1":6254,"1f6b2":497,"1f6b3":6251,"1f6b4-200d-2640-fe0f":1418,"1f6b4-200d-2642-fe0f":1417,"1f6b4":1416,"1f6b5-200d-2640-fe0f":1421,"1f6b5-200d-2642-fe0f":1420,"1f6b5":1419,"1f6b6-200d-2640-fe0f":1363,"1f6b6-200d-2642-fe0f":1362,"1f6b6":1361,"1f6b7":6255,"1f6b8":6248,"1f6b9":6238,"1f6ba":6239,"1f6bb":6240,"1f6bc":6241,"1f6bd":6217,"1f6be":6242,"1f6bf":6218,"1f6c0":1440,"1f6c1":6219,"1f6c2":6243,"1f6c3":6244,"1f6c4":6245,"1f6c5":6246,"1f6cb":6215,"1f6cc":1441,"1f6cd":624,"1f6ce":4131,"1f6cf":6214,"1f6d0":6281,"1f6d1":4108,"1f6d2":6229,"1f6d5":443,"1f6e0":6185,"1f6e1":6190,"1f6e2":4103,"1f6e3":4101,"1f6e4":4102,"1f6e5":4116,"1f6e9":4119,"1f6eb":4120,"1f6ec":4121,"1f6f0":4128,"1f6f3":4114,"1f6f4":498,"1f6f5":493,"1f6f6":4112,"1f6f7":553,"1f6f8":4130,"1f6f9":499,"1f6fa":496,"1f7e0":6418,"1f7e1":6419,"1f7e2":6420,"1f7e3":6422,"1f7e4":6423,"1f7e5":6426,"1f7e6":6430,"1f7e7":6427,"1f7e8":6428,"1f7e9":6429,"1f7ea":6431,"1f7eb":6432,"1f90d":1135,"1f90e":1133,"1f90f":1156,"1f910":132,"1f911":127,"1f912":148,"1f913":161,"1f914":131,"1f915":149,"1f916":1102,"1f917":128,"1f918":1160,"1f919":1161,"1f91a":1151,"1f91b":1172,"1f91c":1173,"1f91d":1178,"1f91e":1158,"1f91f":1159,"1f920":158,"1f921":196,"1f922":150,"1f923":17,"1f924":145,"1f925":141,"1f926-200d-2640-fe0f":1250,"1f926-200d-2642-fe0f":1249,"1f926":1248,"1f927":152,"1f928":133,"1f929":116,"1f92a":125,"1f92b":130,"1f92c":190,"1f92d":129,"1f92e":151,"1f92f":157,"1f930":1323,"1f931":1324,"1f932":1177,"1f933":1182,"1f934":1314,"1f935":1321,"1f936":1327,"1f937-200d-2640-fe0f":1253,"1f937-200d-2642-fe0f":1252,"1f937":1251,"1f938-200d-2640-fe0f":1424,"1f938-200d-2642-fe0f":1423,"1f938":1422,"1f939-200d-2640-fe0f":1436,"1f939-200d-2642-fe0f":1435,"1f939":1434,"1f93a":1394,"1f93c-200d-2640-fe0f":1427,"1f93c-200d-2642-fe0f":1426,"1f93c":1425,"1f93d-200d-2640-fe0f":1430,"1f93d-200d-2642-fe0f":1429,"1f93d":1428,"1f93e-200d-2640-fe0f":1433,"1f93e-200d-2642-fe0f":1432,"1f93e":1431,"1f93f":550,"1f940":2111,"1f941":668,"1f942":3110,"1f943":3111,"1f944":3119,"1f945":546,"1f947":525,"1f948":526,"1f949":527,"1f94a":544,"1f94b":545,"1f94c":554,"1f94d":541,"1f94e":530,"1f94f":536,"1f950":333,"1f951":318,"1f952":324,"1f953":343,"1f954":320,"1f955":321,"1f956":334,"1f957":358,"1f958":355,"1f959":351,"1f95a":353,"1f95b":3100,"1f95c":330,"1f95d":315,"1f95e":337,"1f95f":377,"1f960":378,"1f961":379,"1f962":3116,"1f963":357,"1f964":3112,"1f965":317,"1f966":326,"1f967":393,"1f968":335,"1f969":342,"1f96a":348,"1f96b":362,"1f96c":325,"1f96d":38,"1f96e":375,"1f96f":336,"1f970":114,"1f971":186,"1f973":159,"1f974":155,"1f975":153,"1f976":154,"1f97a":171,"1f97b":615,"1f97c":64,"1f97d":63,"1f97e":628,"1f97f":629,"1f980":380,"1f981":215,"1f982":2103,"1f983":260,"1f984":221,"1f985":269,"1f986":270,"1f987":250,"1f988":291,"1f989":272,"1f98a":211,"1f98b":295,"1f98c":223,"1f98d":23,"1f98e":279,"1f98f":240,"1f990":382,"1f991":383,"1f992":238,"1f993":222,"1f994":249,"1f995":283,"1f996":284,"1f997":2100,"1f998":257,"1f999":237,"1f99a":274,"1f99b":241,"1f99c":275,"1f99d":212,"1f99e":381,"1f99f":2104,"1f9a0":2105,"1f9a1":258,"1f9a2":271,"1f9a5":254,"1f9a6":255,"1f9a7":24,"1f9a8":256,"1f9a9":273,"1f9aa":384,"1f9ae":27,"1f9af":6196,"1f9b4":1193,"1f9b5":1186,"1f9b6":1187,"1f9b7":1192,"1f9b8-200d-2640-fe0f":1330,"1f9b8-200d-2642-fe0f":1329,"1f9b8":1328,"1f9b9-200d-2640-fe0f":1333,"1f9b9-200d-2642-fe0f":1332,"1f9b9":1331,"1f9ba":65,"1f9bb":1189,"1f9bc":495,"1f9bd":494,"1f9be":1184,"1f9bf":1185,"1f9c0":339,"1f9c1":392,"1f9c2":361,"1f9c3":3113,"1f9c4":327,"1f9c5":328,"1f9c6":352,"1f9c7":338,"1f9c8":360,"1f9c9":3114,"1f9ca":3115,"1f9cd-200d-2640-fe0f":1366,"1f9cd-200d-2642-fe0f":1365,"1f9cd":1364,"1f9ce-200d-2640-fe0f":1369,"1f9ce-200d-2642-fe0f":1368,"1f9ce":1367,"1f9cf-200d-2640-fe0f":1244,"1f9cf-200d-2642-fe0f":1243,"1f9cf":1242,"1f9d0":162,"1f9d1-200d-1f33e":1266,"1f9d1-200d-1f373":1269,"1f9d1-200d-1f393":1257,"1f9d1-200d-1f3a4":1287,"1f9d1-200d-1f3a8":1290,"1f9d1-200d-1f3eb":1260,"1f9d1-200d-1f3ed":1275,"1f9d1-200d-1f4bb":1284,"1f9d1-200d-1f4bc":1278,"1f9d1-200d-1f527":1272,"1f9d1-200d-1f52c":1281,"1f9d1-200d-1f680":1296,"1f9d1-200d-1f692":1299,"1f9d1-200d-1f91d-200d-1f9d1":1442,"1f9d1-200d-1f9af":1370,"1f9d1-200d-1f9b0":1212,"1f9d1-200d-1f9b1":1214,"1f9d1-200d-1f9b2":1218,"1f9d1-200d-1f9b3":1216,"1f9d1-200d-1f9bc":1373,"1f9d1-200d-1f9bd":1376,"1f9d1-200d-2695-fe0f":1254,"1f9d1-200d-2696-fe0f":1263,"1f9d1-200d-2708-fe0f":1293,"1f9d1":1202,"1f9d2":1199,"1f9d3":1221,"1f9d4":1205,"1f9d5":1320,"1f9d6-200d-2640-fe0f":1390,"1f9d6-200d-2642-fe0f":1389,"1f9d6":1388,"1f9d7-200d-2640-fe0f":1393,"1f9d7-200d-2642-fe0f":1392,"1f9d7":1391,"1f9d8-200d-2640-fe0f":1439,"1f9d8-200d-2642-fe0f":1438,"1f9d8":1437,"1f9d9-200d-2640-fe0f":1336,"1f9d9-200d-2642-fe0f":1335,"1f9d9":1334,"1f9da-200d-2640-fe0f":1339,"1f9da-200d-2642-fe0f":1338,"1f9da":1337,"1f9db-200d-2640-fe0f":1342,"1f9db-200d-2642-fe0f":1341,"1f9db":1340,"1f9dc-200d-2640-fe0f":1345,"1f9dc-200d-2642-fe0f":1344,"1f9dc":1343,"1f9dd-200d-2640-fe0f":1348,"1f9dd-200d-2642-fe0f":1347,"1f9dd":1346,"1f9de-200d-2640-fe0f":1351,"1f9de-200d-2642-fe0f":1350,"1f9de":1349,"1f9df-200d-2640-fe0f":1354,"1f9df-200d-2642-fe0f":1353,"1f9df":1352,"1f9e0":1191,"1f9e1":1128,"1f9e2":638,"1f9e3":69,"1f9e4":610,"1f9e5":611,"1f9e6":612,"1f9e7":516,"1f9e8":55,"1f9e9":565,"1f9ea":6202,"1f9eb":6203,"1f9ec":6204,"1f9ed":47,"1f9ee":687,"1f9ef":6228,"1f9f0":6199,"1f9f1":420,"1f9f2":6200,"1f9f3":4132,"1f9f4":6221,"1f9f5":578,"1f9f6":579,"1f9f7":6222,"1f9f8":566,"1f9f9":6223,"1f9fa":6224,"1f9fb":6225,"1f9fc":6226,"1f9fd":6227,"1f9fe":6128,"1f9ff":560,"1fa70":632,"1fa71":616,"1fa72":617,"1fa73":618,"1fa78":6209,"1fa79":6211,"1fa7a":6212,"1fa80":556,"1fa81":557,"1fa82":4122,"1fa90":4180,"1fa91":6216,"1fa92":6220,"1fa93":6182,"1fa94":6103,"1fa95":667,"203c":6355,"21a9":6270,"21aa":6271,"231a":4135,"231b":4133,"23cf":6323,"23e9":6310,"23ea":6314,"23eb":6317,"23ec":6319,"23ed":6311,"23ee":6315,"23ef":6312,"23f0":4136,"23f1":4137,"23f2":4138,"23f3":4134,"23f8":6320,"23f9":6321,"23fa":6322,"24c2":6391,"25aa":6439,"25ab":6440,"25b6":6309,"25c0":6313,"25fb":6436,"25fc":6435,"25fd":6438,"25fe":6437,"260e":671,"261d":1167,"262a":6289,"262e":6290,"262f":6286,"263a":119,"264a":6295,"264b":6296,"264c":6297,"264d":6298,"264e":6299,"264f":6300,"265f":571,"267b":6334,"267e":6333,"267f":6237,"269b":6282,"269c":6335,"26a0":6247,"26a1":4203,"26aa":6425,"26ab":6424,"26b0":6231,"26b1":6232,"26bd":528,"26be":529,"26c4":4206,"26c5":4186,"26c8":4187,"26ce":6305,"26cf":6183,"26d1":639,"26d3":6198,"26d4":6249,"26e9":445,"26ea":441,"26f0":49,"26f1":4202,"26f2":447,"26f3":547,"26f4":4115,"26f5":4111,"26f7":1396,"26f8":548,"26f9-fe0f-200d-2640-fe0f":1412,"26f9-fe0f-200d-2642-fe0f":1411,"26f9":1410,"26fa":448,"26fd":4104,"270a":1170,"270b":1153,"270c":1157,"270d":1180,"270f":6145,"271d":6287,"274c":6344,"274e":6345,"27a1":6262,"27b0":6349,"27bf":6350,"2b05":6266,"2b06":6260,"2b07":6264,"2b1b":6433,"2b1c":6434,"2b50":4181,"2b55":6339,"303d":6351,"1f385-1f3fb":0,"1f385-1f3fc":0,"1f385-1f3fd":0,"1f385-1f3fe":0,"1f385-1f3ff":0,"1f3c2-1f3fb":0,"1f3c2-1f3fc":0,"1f3c2-1f3fd":0,"1f3c2-1f3fe":0,"1f3c2-1f3ff":0,"1f3c3-1f3fb-200d-2640-fe0f":0,"1f3c3-1f3fc-200d-2640-fe0f":0,"1f3c3-1f3fd-200d-2640-fe0f":0,"1f3c3-1f3fe-200d-2640-fe0f":0,"1f3c3-1f3ff-200d-2640-fe0f":0,"1f3c3-1f3fb-200d-2642-fe0f":0,"1f3c3-1f3fc-200d-2642-fe0f":0,"1f3c3-1f3fd-200d-2642-fe0f":0,"1f3c3-1f3fe-200d-2642-fe0f":0,"1f3c3-1f3ff-200d-2642-fe0f":0,"1f3c3-1f3fb":0,"1f3c3-1f3fc":0,"1f3c3-1f3fd":0,"1f3c3-1f3fe":0,"1f3c3-1f3ff":0,"1f3c4-1f3fb-200d-2640-fe0f":0,"1f3c4-1f3fc-200d-2640-fe0f":0,"1f3c4-1f3fd-200d-2640-fe0f":0,"1f3c4-1f3fe-200d-2640-fe0f":0,"1f3c4-1f3ff-200d-2640-fe0f":0,"1f3c4-1f3fb-200d-2642-fe0f":0,"1f3c4-1f3fc-200d-2642-fe0f":0,"1f3c4-1f3fd-200d-2642-fe0f":0,"1f3c4-1f3fe-200d-2642-fe0f":0,"1f3c4-1f3ff-200d-2642-fe0f":0,"1f3c4-1f3fb":0,"1f3c4-1f3fc":0,"1f3c4-1f3fd":0,"1f3c4-1f3fe":0,"1f3c4-1f3ff":0,"1f3c7-1f3fb":0,"1f3c7-1f3fc":0,"1f3c7-1f3fd":0,"1f3c7-1f3fe":0,"1f3c7-1f3ff":0,"1f3ca-1f3fb-200d-2640-fe0f":0,"1f3ca-1f3fc-200d-2640-fe0f":0,"1f3ca-1f3fd-200d-2640-fe0f":0,"1f3ca-1f3fe-200d-2640-fe0f":0,"1f3ca-1f3ff-200d-2640-fe0f":0,"1f3ca-1f3fb-200d-2642-fe0f":0,"1f3ca-1f3fc-200d-2642-fe0f":0,"1f3ca-1f3fd-200d-2642-fe0f":0,"1f3ca-1f3fe-200d-2642-fe0f":0,"1f3ca-1f3ff-200d-2642-fe0f":0,"1f3ca-1f3fb":0,"1f3ca-1f3fc":0,"1f3ca-1f3fd":0,"1f3ca-1f3fe":0,"1f3ca-1f3ff":0,"1f3cb-1f3fb-200d-2640-fe0f":0,"1f3cb-1f3fc-200d-2640-fe0f":0,"1f3cb-1f3fd-200d-2640-fe0f":0,"1f3cb-1f3fe-200d-2640-fe0f":0,"1f3cb-1f3ff-200d-2640-fe0f":0,"1f3cb-1f3fb-200d-2642-fe0f":0,"1f3cb-1f3fc-200d-2642-fe0f":0,"1f3cb-1f3fd-200d-2642-fe0f":0,"1f3cb-1f3fe-200d-2642-fe0f":0,"1f3cb-1f3ff-200d-2642-fe0f":0,"1f3cb-1f3fb":0,"1f3cb-1f3fc":0,"1f3cb-1f3fd":0,"1f3cb-1f3fe":0,"1f3cb-1f3ff":0,"1f3cc-1f3fb-200d-2640-fe0f":0,"1f3cc-1f3fc-200d-2640-fe0f":0,"1f3cc-1f3fd-200d-2640-fe0f":0,"1f3cc-1f3fe-200d-2640-fe0f":0,"1f3cc-1f3ff-200d-2640-fe0f":0,"1f3cc-1f3fb-200d-2642-fe0f":0,"1f3cc-1f3fc-200d-2642-fe0f":0,"1f3cc-1f3fd-200d-2642-fe0f":0,"1f3cc-1f3fe-200d-2642-fe0f":0,"1f3cc-1f3ff-200d-2642-fe0f":0,"1f3cc-1f3fb":0,"1f3cc-1f3fc":0,"1f3cc-1f3fd":0,"1f3cc-1f3fe":0,"1f3cc-1f3ff":0,"1f442-1f3fb":0,"1f442-1f3fc":0,"1f442-1f3fd":0,"1f442-1f3fe":0,"1f442-1f3ff":0,"1f443-1f3fb":0,"1f443-1f3fc":0,"1f443-1f3fd":0,"1f443-1f3fe":0,"1f443-1f3ff":0,"1f446-1f3fb":0,"1f446-1f3fc":0,"1f446-1f3fd":0,"1f446-1f3fe":0,"1f446-1f3ff":0,"1f447-1f3fb":0,"1f447-1f3fc":0,"1f447-1f3fd":0,"1f447-1f3fe":0,"1f447-1f3ff":0,"1f448-1f3fb":0,"1f448-1f3fc":0,"1f448-1f3fd":0,"1f448-1f3fe":0,"1f448-1f3ff":0,"1f449-1f3fb":0,"1f449-1f3fc":0,"1f449-1f3fd":0,"1f449-1f3fe":0,"1f449-1f3ff":0,"1f44a-1f3fb":0,"1f44a-1f3fc":0,"1f44a-1f3fd":0,"1f44a-1f3fe":0,"1f44a-1f3ff":0,"1f44b-1f3fb":0,"1f44b-1f3fc":0,"1f44b-1f3fd":0,"1f44b-1f3fe":0,"1f44b-1f3ff":0,"1f44c-1f3fb":0,"1f44c-1f3fc":0,"1f44c-1f3fd":0,"1f44c-1f3fe":0,"1f44c-1f3ff":0,"1f44d-1f3fb":0,"1f44d-1f3fc":0,"1f44d-1f3fd":0,"1f44d-1f3fe":0,"1f44d-1f3ff":0,"1f44e-1f3fb":0,"1f44e-1f3fc":0,"1f44e-1f3fd":0,"1f44e-1f3fe":0,"1f44e-1f3ff":0,"1f44f-1f3fb":0,"1f44f-1f3fc":0,"1f44f-1f3fd":0,"1f44f-1f3fe":0,"1f44f-1f3ff":0,"1f450-1f3fb":0,"1f450-1f3fc":0,"1f450-1f3fd":0,"1f450-1f3fe":0,"1f450-1f3ff":0,"1f466-1f3fb":0,"1f466-1f3fc":0,"1f466-1f3fd":0,"1f466-1f3fe":0,"1f466-1f3ff":0,"1f467-1f3fb":0,"1f467-1f3fc":0,"1f467-1f3fd":0,"1f467-1f3fe":0,"1f467-1f3ff":0,"1f468-1f3fb-200d-1f33e":0,"1f468-1f3fc-200d-1f33e":0,"1f468-1f3fd-200d-1f33e":0,"1f468-1f3fe-200d-1f33e":0,"1f468-1f3ff-200d-1f33e":0,"1f468-1f3fb-200d-1f373":0,"1f468-1f3fc-200d-1f373":0,"1f468-1f3fd-200d-1f373":0,"1f468-1f3fe-200d-1f373":0,"1f468-1f3ff-200d-1f373":0,"1f468-1f3fb-200d-1f393":0,"1f468-1f3fc-200d-1f393":0,"1f468-1f3fd-200d-1f393":0,"1f468-1f3fe-200d-1f393":0,"1f468-1f3ff-200d-1f393":0,"1f468-1f3fb-200d-1f3a4":0,"1f468-1f3fc-200d-1f3a4":0,"1f468-1f3fd-200d-1f3a4":0,"1f468-1f3fe-200d-1f3a4":0,"1f468-1f3ff-200d-1f3a4":0,"1f468-1f3fb-200d-1f3a8":0,"1f468-1f3fc-200d-1f3a8":0,"1f468-1f3fd-200d-1f3a8":0,"1f468-1f3fe-200d-1f3a8":0,"1f468-1f3ff-200d-1f3a8":0,"1f468-1f3fb-200d-1f3eb":0,"1f468-1f3fc-200d-1f3eb":0,"1f468-1f3fd-200d-1f3eb":0,"1f468-1f3fe-200d-1f3eb":0,"1f468-1f3ff-200d-1f3eb":0,"1f468-1f3fb-200d-1f3ed":0,"1f468-1f3fc-200d-1f3ed":0,"1f468-1f3fd-200d-1f3ed":0,"1f468-1f3fe-200d-1f3ed":0,"1f468-1f3ff-200d-1f3ed":0,"1f468-1f3fb-200d-1f4bb":0,"1f468-1f3fc-200d-1f4bb":0,"1f468-1f3fd-200d-1f4bb":0,"1f468-1f3fe-200d-1f4bb":0,"1f468-1f3ff-200d-1f4bb":0,"1f468-1f3fb-200d-1f4bc":0,"1f468-1f3fc-200d-1f4bc":0,"1f468-1f3fd-200d-1f4bc":0,"1f468-1f3fe-200d-1f4bc":0,"1f468-1f3ff-200d-1f4bc":0,"1f468-1f3fb-200d-1f527":0,"1f468-1f3fc-200d-1f527":0,"1f468-1f3fd-200d-1f527":0,"1f468-1f3fe-200d-1f527":0,"1f468-1f3ff-200d-1f527":0,"1f468-1f3fb-200d-1f52c":0,"1f468-1f3fc-200d-1f52c":0,"1f468-1f3fd-200d-1f52c":0,"1f468-1f3fe-200d-1f52c":0,"1f468-1f3ff-200d-1f52c":0,"1f468-1f3fb-200d-1f680":0,"1f468-1f3fc-200d-1f680":0,"1f468-1f3fd-200d-1f680":0,"1f468-1f3fe-200d-1f680":0,"1f468-1f3ff-200d-1f680":0,"1f468-1f3fb-200d-1f692":0,"1f468-1f3fc-200d-1f692":0,"1f468-1f3fd-200d-1f692":0,"1f468-1f3fe-200d-1f692":0,"1f468-1f3ff-200d-1f692":0,"1f468-1f3fb-200d-1f9af":0,"1f468-1f3fc-200d-1f9af":0,"1f468-1f3fd-200d-1f9af":0,"1f468-1f3fe-200d-1f9af":0,"1f468-1f3ff-200d-1f9af":0,"1f468-1f3fb-200d-1f9b0":0,"1f468-1f3fc-200d-1f9b0":0,"1f468-1f3fd-200d-1f9b0":0,"1f468-1f3fe-200d-1f9b0":0,"1f468-1f3ff-200d-1f9b0":0,"1f468-1f3fb-200d-1f9b1":0,"1f468-1f3fc-200d-1f9b1":0,"1f468-1f3fd-200d-1f9b1":0,"1f468-1f3fe-200d-1f9b1":0,"1f468-1f3ff-200d-1f9b1":0,"1f468-1f3fb-200d-1f9b2":0,"1f468-1f3fc-200d-1f9b2":0,"1f468-1f3fd-200d-1f9b2":0,"1f468-1f3fe-200d-1f9b2":0,"1f468-1f3ff-200d-1f9b2":0,"1f468-1f3fb-200d-1f9b3":0,"1f468-1f3fc-200d-1f9b3":0,"1f468-1f3fd-200d-1f9b3":0,"1f468-1f3fe-200d-1f9b3":0,"1f468-1f3ff-200d-1f9b3":0,"1f468-1f3fb-200d-1f9bc":0,"1f468-1f3fc-200d-1f9bc":0,"1f468-1f3fd-200d-1f9bc":0,"1f468-1f3fe-200d-1f9bc":0,"1f468-1f3ff-200d-1f9bc":0,"1f468-1f3fb-200d-1f9bd":0,"1f468-1f3fc-200d-1f9bd":0,"1f468-1f3fd-200d-1f9bd":0,"1f468-1f3fe-200d-1f9bd":0,"1f468-1f3ff-200d-1f9bd":0,"1f468-1f3fb-200d-2695-fe0f":0,"1f468-1f3fc-200d-2695-fe0f":0,"1f468-1f3fd-200d-2695-fe0f":0,"1f468-1f3fe-200d-2695-fe0f":0,"1f468-1f3ff-200d-2695-fe0f":0,"1f468-1f3fb-200d-2696-fe0f":0,"1f468-1f3fc-200d-2696-fe0f":0,"1f468-1f3fd-200d-2696-fe0f":0,"1f468-1f3fe-200d-2696-fe0f":0,"1f468-1f3ff-200d-2696-fe0f":0,"1f468-1f3fb-200d-2708-fe0f":0,"1f468-1f3fc-200d-2708-fe0f":0,"1f468-1f3fd-200d-2708-fe0f":0,"1f468-1f3fe-200d-2708-fe0f":0,"1f468-1f3ff-200d-2708-fe0f":0,"1f468-1f3fb":0,"1f468-1f3fc":0,"1f468-1f3fd":0,"1f468-1f3fe":0,"1f468-1f3ff":0,"1f469-1f3fb-200d-1f33e":0,"1f469-1f3fc-200d-1f33e":0,"1f469-1f3fd-200d-1f33e":0,"1f469-1f3fe-200d-1f33e":0,"1f469-1f3ff-200d-1f33e":0,"1f469-1f3fb-200d-1f373":0,"1f469-1f3fc-200d-1f373":0,"1f469-1f3fd-200d-1f373":0,"1f469-1f3fe-200d-1f373":0,"1f469-1f3ff-200d-1f373":0,"1f469-1f3fb-200d-1f393":0,"1f469-1f3fc-200d-1f393":0,"1f469-1f3fd-200d-1f393":0,"1f469-1f3fe-200d-1f393":0,"1f469-1f3ff-200d-1f393":0,"1f469-1f3fb-200d-1f3a4":0,"1f469-1f3fc-200d-1f3a4":0,"1f469-1f3fd-200d-1f3a4":0,"1f469-1f3fe-200d-1f3a4":0,"1f469-1f3ff-200d-1f3a4":0,"1f469-1f3fb-200d-1f3a8":0,"1f469-1f3fc-200d-1f3a8":0,"1f469-1f3fd-200d-1f3a8":0,"1f469-1f3fe-200d-1f3a8":0,"1f469-1f3ff-200d-1f3a8":0,"1f469-1f3fb-200d-1f3eb":0,"1f469-1f3fc-200d-1f3eb":0,"1f469-1f3fd-200d-1f3eb":0,"1f469-1f3fe-200d-1f3eb":0,"1f469-1f3ff-200d-1f3eb":0,"1f469-1f3fb-200d-1f3ed":0,"1f469-1f3fc-200d-1f3ed":0,"1f469-1f3fd-200d-1f3ed":0,"1f469-1f3fe-200d-1f3ed":0,"1f469-1f3ff-200d-1f3ed":0,"1f469-1f3fb-200d-1f4bb":0,"1f469-1f3fc-200d-1f4bb":0,"1f469-1f3fd-200d-1f4bb":0,"1f469-1f3fe-200d-1f4bb":0,"1f469-1f3ff-200d-1f4bb":0,"1f469-1f3fb-200d-1f4bc":0,"1f469-1f3fc-200d-1f4bc":0,"1f469-1f3fd-200d-1f4bc":0,"1f469-1f3fe-200d-1f4bc":0,"1f469-1f3ff-200d-1f4bc":0,"1f469-1f3fb-200d-1f527":0,"1f469-1f3fc-200d-1f527":0,"1f469-1f3fd-200d-1f527":0,"1f469-1f3fe-200d-1f527":0,"1f469-1f3ff-200d-1f527":0,"1f469-1f3fb-200d-1f52c":0,"1f469-1f3fc-200d-1f52c":0,"1f469-1f3fd-200d-1f52c":0,"1f469-1f3fe-200d-1f52c":0,"1f469-1f3ff-200d-1f52c":0,"1f469-1f3fb-200d-1f680":0,"1f469-1f3fc-200d-1f680":0,"1f469-1f3fd-200d-1f680":0,"1f469-1f3fe-200d-1f680":0,"1f469-1f3ff-200d-1f680":0,"1f469-1f3fb-200d-1f692":0,"1f469-1f3fc-200d-1f692":0,"1f469-1f3fd-200d-1f692":0,"1f469-1f3fe-200d-1f692":0,"1f469-1f3ff-200d-1f692":0,"1f469-1f3fb-200d-1f9af":0,"1f469-1f3fc-200d-1f9af":0,"1f469-1f3fd-200d-1f9af":0,"1f469-1f3fe-200d-1f9af":0,"1f469-1f3ff-200d-1f9af":0,"1f469-1f3fb-200d-1f9b0":0,"1f469-1f3fc-200d-1f9b0":0,"1f469-1f3fd-200d-1f9b0":0,"1f469-1f3fe-200d-1f9b0":0,"1f469-1f3ff-200d-1f9b0":0,"1f469-1f3fb-200d-1f9b1":0,"1f469-1f3fc-200d-1f9b1":0,"1f469-1f3fd-200d-1f9b1":0,"1f469-1f3fe-200d-1f9b1":0,"1f469-1f3ff-200d-1f9b1":0,"1f469-1f3fb-200d-1f9b2":0,"1f469-1f3fc-200d-1f9b2":0,"1f469-1f3fd-200d-1f9b2":0,"1f469-1f3fe-200d-1f9b2":0,"1f469-1f3ff-200d-1f9b2":0,"1f469-1f3fb-200d-1f9b3":0,"1f469-1f3fc-200d-1f9b3":0,"1f469-1f3fd-200d-1f9b3":0,"1f469-1f3fe-200d-1f9b3":0,"1f469-1f3ff-200d-1f9b3":0,"1f469-1f3fb-200d-1f9bc":0,"1f469-1f3fc-200d-1f9bc":0,"1f469-1f3fd-200d-1f9bc":0,"1f469-1f3fe-200d-1f9bc":0,"1f469-1f3ff-200d-1f9bc":0,"1f469-1f3fb-200d-1f9bd":0,"1f469-1f3fc-200d-1f9bd":0,"1f469-1f3fd-200d-1f9bd":0,"1f469-1f3fe-200d-1f9bd":0,"1f469-1f3ff-200d-1f9bd":0,"1f469-1f3fb-200d-2695-fe0f":0,"1f469-1f3fc-200d-2695-fe0f":0,"1f469-1f3fd-200d-2695-fe0f":0,"1f469-1f3fe-200d-2695-fe0f":0,"1f469-1f3ff-200d-2695-fe0f":0,"1f469-1f3fb-200d-2696-fe0f":0,"1f469-1f3fc-200d-2696-fe0f":0,"1f469-1f3fd-200d-2696-fe0f":0,"1f469-1f3fe-200d-2696-fe0f":0,"1f469-1f3ff-200d-2696-fe0f":0,"1f469-1f3fb-200d-2708-fe0f":0,"1f469-1f3fc-200d-2708-fe0f":0,"1f469-1f3fd-200d-2708-fe0f":0,"1f469-1f3fe-200d-2708-fe0f":0,"1f469-1f3ff-200d-2708-fe0f":0,"1f469-1f3fb":0,"1f469-1f3fc":0,"1f469-1f3fd":0,"1f469-1f3fe":0,"1f469-1f3ff":0,"1f46b-1f3fb":0,"1f46b-1f3fc":0,"1f46b-1f3fd":0,"1f46b-1f3fe":0,"1f46b-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46c-1f3fb":0,"1f46c-1f3fc":0,"1f46c-1f3fd":0,"1f46c-1f3fe":0,"1f46c-1f3ff":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46d-1f3fb":0,"1f46d-1f3fc":0,"1f46d-1f3fd":0,"1f46d-1f3fe":0,"1f46d-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe":0,"1f46e-1f3fb-200d-2640-fe0f":0,"1f46e-1f3fc-200d-2640-fe0f":0,"1f46e-1f3fd-200d-2640-fe0f":0,"1f46e-1f3fe-200d-2640-fe0f":0,"1f46e-1f3ff-200d-2640-fe0f":0,"1f46e-1f3fb-200d-2642-fe0f":0,"1f46e-1f3fc-200d-2642-fe0f":0,"1f46e-1f3fd-200d-2642-fe0f":0,"1f46e-1f3fe-200d-2642-fe0f":0,"1f46e-1f3ff-200d-2642-fe0f":0,"1f46e-1f3fb":0,"1f46e-1f3fc":0,"1f46e-1f3fd":0,"1f46e-1f3fe":0,"1f46e-1f3ff":0,"1f470-1f3fb":0,"1f470-1f3fc":0,"1f470-1f3fd":0,"1f470-1f3fe":0,"1f470-1f3ff":0,"1f471-1f3fb-200d-2640-fe0f":0,"1f471-1f3fc-200d-2640-fe0f":0,"1f471-1f3fd-200d-2640-fe0f":0,"1f471-1f3fe-200d-2640-fe0f":0,"1f471-1f3ff-200d-2640-fe0f":0,"1f471-1f3fb-200d-2642-fe0f":0,"1f471-1f3fc-200d-2642-fe0f":0,"1f471-1f3fd-200d-2642-fe0f":0,"1f471-1f3fe-200d-2642-fe0f":0,"1f471-1f3ff-200d-2642-fe0f":0,"1f471-1f3fb":0,"1f471-1f3fc":0,"1f471-1f3fd":0,"1f471-1f3fe":0,"1f471-1f3ff":0,"1f472-1f3fb":0,"1f472-1f3fc":0,"1f472-1f3fd":0,"1f472-1f3fe":0,"1f472-1f3ff":0,"1f473-1f3fb-200d-2640-fe0f":0,"1f473-1f3fc-200d-2640-fe0f":0,"1f473-1f3fd-200d-2640-fe0f":0,"1f473-1f3fe-200d-2640-fe0f":0,"1f473-1f3ff-200d-2640-fe0f":0,"1f473-1f3fb-200d-2642-fe0f":0,"1f473-1f3fc-200d-2642-fe0f":0,"1f473-1f3fd-200d-2642-fe0f":0,"1f473-1f3fe-200d-2642-fe0f":0,"1f473-1f3ff-200d-2642-fe0f":0,"1f473-1f3fb":0,"1f473-1f3fc":0,"1f473-1f3fd":0,"1f473-1f3fe":0,"1f473-1f3ff":0,"1f474-1f3fb":0,"1f474-1f3fc":0,"1f474-1f3fd":0,"1f474-1f3fe":0,"1f474-1f3ff":0,"1f475-1f3fb":0,"1f475-1f3fc":0,"1f475-1f3fd":0,"1f475-1f3fe":0,"1f475-1f3ff":0,"1f476-1f3fb":0,"1f476-1f3fc":0,"1f476-1f3fd":0,"1f476-1f3fe":0,"1f476-1f3ff":0,"1f477-1f3fb-200d-2640-fe0f":0,"1f477-1f3fc-200d-2640-fe0f":0,"1f477-1f3fd-200d-2640-fe0f":0,"1f477-1f3fe-200d-2640-fe0f":0,"1f477-1f3ff-200d-2640-fe0f":0,"1f477-1f3fb-200d-2642-fe0f":0,"1f477-1f3fc-200d-2642-fe0f":0,"1f477-1f3fd-200d-2642-fe0f":0,"1f477-1f3fe-200d-2642-fe0f":0,"1f477-1f3ff-200d-2642-fe0f":0,"1f477-1f3fb":0,"1f477-1f3fc":0,"1f477-1f3fd":0,"1f477-1f3fe":0,"1f477-1f3ff":0,"1f478-1f3fb":0,"1f478-1f3fc":0,"1f478-1f3fd":0,"1f478-1f3fe":0,"1f478-1f3ff":0,"1f47c-1f3fb":0,"1f47c-1f3fc":0,"1f47c-1f3fd":0,"1f47c-1f3fe":0,"1f47c-1f3ff":0,"1f481-1f3fb-200d-2640-fe0f":0,"1f481-1f3fc-200d-2640-fe0f":0,"1f481-1f3fd-200d-2640-fe0f":0,"1f481-1f3fe-200d-2640-fe0f":0,"1f481-1f3ff-200d-2640-fe0f":0,"1f481-1f3fb-200d-2642-fe0f":0,"1f481-1f3fc-200d-2642-fe0f":0,"1f481-1f3fd-200d-2642-fe0f":0,"1f481-1f3fe-200d-2642-fe0f":0,"1f481-1f3ff-200d-2642-fe0f":0,"1f481-1f3fb":0,"1f481-1f3fc":0,"1f481-1f3fd":0,"1f481-1f3fe":0,"1f481-1f3ff":0,"1f482-1f3fb-200d-2640-fe0f":0,"1f482-1f3fc-200d-2640-fe0f":0,"1f482-1f3fd-200d-2640-fe0f":0,"1f482-1f3fe-200d-2640-fe0f":0,"1f482-1f3ff-200d-2640-fe0f":0,"1f482-1f3fb-200d-2642-fe0f":0,"1f482-1f3fc-200d-2642-fe0f":0,"1f482-1f3fd-200d-2642-fe0f":0,"1f482-1f3fe-200d-2642-fe0f":0,"1f482-1f3ff-200d-2642-fe0f":0,"1f482-1f3fb":0,"1f482-1f3fc":0,"1f482-1f3fd":0,"1f482-1f3fe":0,"1f482-1f3ff":0,"1f483-1f3fb":0,"1f483-1f3fc":0,"1f483-1f3fd":0,"1f483-1f3fe":0,"1f483-1f3ff":0,"1f485-1f3fb":0,"1f485-1f3fc":0,"1f485-1f3fd":0,"1f485-1f3fe":0,"1f485-1f3ff":0,"1f486-1f3fb-200d-2640-fe0f":0,"1f486-1f3fc-200d-2640-fe0f":0,"1f486-1f3fd-200d-2640-fe0f":0,"1f486-1f3fe-200d-2640-fe0f":0,"1f486-1f3ff-200d-2640-fe0f":0,"1f486-1f3fb-200d-2642-fe0f":0,"1f486-1f3fc-200d-2642-fe0f":0,"1f486-1f3fd-200d-2642-fe0f":0,"1f486-1f3fe-200d-2642-fe0f":0,"1f486-1f3ff-200d-2642-fe0f":0,"1f486-1f3fb":0,"1f486-1f3fc":0,"1f486-1f3fd":0,"1f486-1f3fe":0,"1f486-1f3ff":0,"1f487-1f3fb-200d-2640-fe0f":0,"1f487-1f3fc-200d-2640-fe0f":0,"1f487-1f3fd-200d-2640-fe0f":0,"1f487-1f3fe-200d-2640-fe0f":0,"1f487-1f3ff-200d-2640-fe0f":0,"1f487-1f3fb-200d-2642-fe0f":0,"1f487-1f3fc-200d-2642-fe0f":0,"1f487-1f3fd-200d-2642-fe0f":0,"1f487-1f3fe-200d-2642-fe0f":0,"1f487-1f3ff-200d-2642-fe0f":0,"1f487-1f3fb":0,"1f487-1f3fc":0,"1f487-1f3fd":0,"1f487-1f3fe":0,"1f487-1f3ff":0,"1f4aa-1f3fb":0,"1f4aa-1f3fc":0,"1f4aa-1f3fd":0,"1f4aa-1f3fe":0,"1f4aa-1f3ff":0,"1f574-1f3fb":0,"1f574-1f3fc":0,"1f574-1f3fd":0,"1f574-1f3fe":0,"1f574-1f3ff":0,"1f575-1f3fb-200d-2640-fe0f":0,"1f575-1f3fc-200d-2640-fe0f":0,"1f575-1f3fd-200d-2640-fe0f":0,"1f575-1f3fe-200d-2640-fe0f":0,"1f575-1f3ff-200d-2640-fe0f":0,"1f575-1f3fb-200d-2642-fe0f":0,"1f575-1f3fc-200d-2642-fe0f":0,"1f575-1f3fd-200d-2642-fe0f":0,"1f575-1f3fe-200d-2642-fe0f":0,"1f575-1f3ff-200d-2642-fe0f":0,"1f575-1f3fb":0,"1f575-1f3fc":0,"1f575-1f3fd":0,"1f575-1f3fe":0,"1f575-1f3ff":0,"1f57a-1f3fb":0,"1f57a-1f3fc":0,"1f57a-1f3fd":0,"1f57a-1f3fe":0,"1f57a-1f3ff":0,"1f590-1f3fb":0,"1f590-1f3fc":0,"1f590-1f3fd":0,"1f590-1f3fe":0,"1f590-1f3ff":0,"1f595-1f3fb":0,"1f595-1f3fc":0,"1f595-1f3fd":0,"1f595-1f3fe":0,"1f595-1f3ff":0,"1f596-1f3fb":0,"1f596-1f3fc":0,"1f596-1f3fd":0,"1f596-1f3fe":0,"1f596-1f3ff":0,"1f645-1f3fb-200d-2640-fe0f":0,"1f645-1f3fc-200d-2640-fe0f":0,"1f645-1f3fd-200d-2640-fe0f":0,"1f645-1f3fe-200d-2640-fe0f":0,"1f645-1f3ff-200d-2640-fe0f":0,"1f645-1f3fb-200d-2642-fe0f":0,"1f645-1f3fc-200d-2642-fe0f":0,"1f645-1f3fd-200d-2642-fe0f":0,"1f645-1f3fe-200d-2642-fe0f":0,"1f645-1f3ff-200d-2642-fe0f":0,"1f645-1f3fb":0,"1f645-1f3fc":0,"1f645-1f3fd":0,"1f645-1f3fe":0,"1f645-1f3ff":0,"1f646-1f3fb-200d-2640-fe0f":0,"1f646-1f3fc-200d-2640-fe0f":0,"1f646-1f3fd-200d-2640-fe0f":0,"1f646-1f3fe-200d-2640-fe0f":0,"1f646-1f3ff-200d-2640-fe0f":0,"1f646-1f3fb-200d-2642-fe0f":0,"1f646-1f3fc-200d-2642-fe0f":0,"1f646-1f3fd-200d-2642-fe0f":0,"1f646-1f3fe-200d-2642-fe0f":0,"1f646-1f3ff-200d-2642-fe0f":0,"1f646-1f3fb":0,"1f646-1f3fc":0,"1f646-1f3fd":0,"1f646-1f3fe":0,"1f646-1f3ff":0,"1f647-1f3fb-200d-2640-fe0f":0,"1f647-1f3fc-200d-2640-fe0f":0,"1f647-1f3fd-200d-2640-fe0f":0,"1f647-1f3fe-200d-2640-fe0f":0,"1f647-1f3ff-200d-2640-fe0f":0,"1f647-1f3fb-200d-2642-fe0f":0,"1f647-1f3fc-200d-2642-fe0f":0,"1f647-1f3fd-200d-2642-fe0f":0,"1f647-1f3fe-200d-2642-fe0f":0,"1f647-1f3ff-200d-2642-fe0f":0,"1f647-1f3fb":0,"1f647-1f3fc":0,"1f647-1f3fd":0,"1f647-1f3fe":0,"1f647-1f3ff":0,"1f64b-1f3fb-200d-2640-fe0f":0,"1f64b-1f3fc-200d-2640-fe0f":0,"1f64b-1f3fd-200d-2640-fe0f":0,"1f64b-1f3fe-200d-2640-fe0f":0,"1f64b-1f3ff-200d-2640-fe0f":0,"1f64b-1f3fb-200d-2642-fe0f":0,"1f64b-1f3fc-200d-2642-fe0f":0,"1f64b-1f3fd-200d-2642-fe0f":0,"1f64b-1f3fe-200d-2642-fe0f":0,"1f64b-1f3ff-200d-2642-fe0f":0,"1f64b-1f3fb":0,"1f64b-1f3fc":0,"1f64b-1f3fd":0,"1f64b-1f3fe":0,"1f64b-1f3ff":0,"1f64c-1f3fb":0,"1f64c-1f3fc":0,"1f64c-1f3fd":0,"1f64c-1f3fe":0,"1f64c-1f3ff":0,"1f64d-1f3fb-200d-2640-fe0f":0,"1f64d-1f3fc-200d-2640-fe0f":0,"1f64d-1f3fd-200d-2640-fe0f":0,"1f64d-1f3fe-200d-2640-fe0f":0,"1f64d-1f3ff-200d-2640-fe0f":0,"1f64d-1f3fb-200d-2642-fe0f":0,"1f64d-1f3fc-200d-2642-fe0f":0,"1f64d-1f3fd-200d-2642-fe0f":0,"1f64d-1f3fe-200d-2642-fe0f":0,"1f64d-1f3ff-200d-2642-fe0f":0,"1f64d-1f3fb":0,"1f64d-1f3fc":0,"1f64d-1f3fd":0,"1f64d-1f3fe":0,"1f64d-1f3ff":0,"1f64e-1f3fb-200d-2640-fe0f":0,"1f64e-1f3fc-200d-2640-fe0f":0,"1f64e-1f3fd-200d-2640-fe0f":0,"1f64e-1f3fe-200d-2640-fe0f":0,"1f64e-1f3ff-200d-2640-fe0f":0,"1f64e-1f3fb-200d-2642-fe0f":0,"1f64e-1f3fc-200d-2642-fe0f":0,"1f64e-1f3fd-200d-2642-fe0f":0,"1f64e-1f3fe-200d-2642-fe0f":0,"1f64e-1f3ff-200d-2642-fe0f":0,"1f64e-1f3fb":0,"1f64e-1f3fc":0,"1f64e-1f3fd":0,"1f64e-1f3fe":0,"1f64e-1f3ff":0,"1f64f-1f3fb":0,"1f64f-1f3fc":0,"1f64f-1f3fd":0,"1f64f-1f3fe":0,"1f64f-1f3ff":0,"1f6a3-1f3fb-200d-2640-fe0f":0,"1f6a3-1f3fc-200d-2640-fe0f":0,"1f6a3-1f3fd-200d-2640-fe0f":0,"1f6a3-1f3fe-200d-2640-fe0f":0,"1f6a3-1f3ff-200d-2640-fe0f":0,"1f6a3-1f3fb-200d-2642-fe0f":0,"1f6a3-1f3fc-200d-2642-fe0f":0,"1f6a3-1f3fd-200d-2642-fe0f":0,"1f6a3-1f3fe-200d-2642-fe0f":0,"1f6a3-1f3ff-200d-2642-fe0f":0,"1f6a3-1f3fb":0,"1f6a3-1f3fc":0,"1f6a3-1f3fd":0,"1f6a3-1f3fe":0,"1f6a3-1f3ff":0,"1f6b4-1f3fb-200d-2640-fe0f":0,"1f6b4-1f3fc-200d-2640-fe0f":0,"1f6b4-1f3fd-200d-2640-fe0f":0,"1f6b4-1f3fe-200d-2640-fe0f":0,"1f6b4-1f3ff-200d-2640-fe0f":0,"1f6b4-1f3fb-200d-2642-fe0f":0,"1f6b4-1f3fc-200d-2642-fe0f":0,"1f6b4-1f3fd-200d-2642-fe0f":0,"1f6b4-1f3fe-200d-2642-fe0f":0,"1f6b4-1f3ff-200d-2642-fe0f":0,"1f6b4-1f3fb":0,"1f6b4-1f3fc":0,"1f6b4-1f3fd":0,"1f6b4-1f3fe":0,"1f6b4-1f3ff":0,"1f6b5-1f3fb-200d-2640-fe0f":0,"1f6b5-1f3fc-200d-2640-fe0f":0,"1f6b5-1f3fd-200d-2640-fe0f":0,"1f6b5-1f3fe-200d-2640-fe0f":0,"1f6b5-1f3ff-200d-2640-fe0f":0,"1f6b5-1f3fb-200d-2642-fe0f":0,"1f6b5-1f3fc-200d-2642-fe0f":0,"1f6b5-1f3fd-200d-2642-fe0f":0,"1f6b5-1f3fe-200d-2642-fe0f":0,"1f6b5-1f3ff-200d-2642-fe0f":0,"1f6b5-1f3fb":0,"1f6b5-1f3fc":0,"1f6b5-1f3fd":0,"1f6b5-1f3fe":0,"1f6b5-1f3ff":0,"1f6b6-1f3fb-200d-2640-fe0f":0,"1f6b6-1f3fc-200d-2640-fe0f":0,"1f6b6-1f3fd-200d-2640-fe0f":0,"1f6b6-1f3fe-200d-2640-fe0f":0,"1f6b6-1f3ff-200d-2640-fe0f":0,"1f6b6-1f3fb-200d-2642-fe0f":0,"1f6b6-1f3fc-200d-2642-fe0f":0,"1f6b6-1f3fd-200d-2642-fe0f":0,"1f6b6-1f3fe-200d-2642-fe0f":0,"1f6b6-1f3ff-200d-2642-fe0f":0,"1f6b6-1f3fb":0,"1f6b6-1f3fc":0,"1f6b6-1f3fd":0,"1f6b6-1f3fe":0,"1f6b6-1f3ff":0,"1f6c0-1f3fb":0,"1f6c0-1f3fc":0,"1f6c0-1f3fd":0,"1f6c0-1f3fe":0,"1f6c0-1f3ff":0,"1f6cc-1f3fb":0,"1f6cc-1f3fc":0,"1f6cc-1f3fd":0,"1f6cc-1f3fe":0,"1f6cc-1f3ff":0,"1f90f-1f3fb":0,"1f90f-1f3fc":0,"1f90f-1f3fd":0,"1f90f-1f3fe":0,"1f90f-1f3ff":0,"1f918-1f3fb":0,"1f918-1f3fc":0,"1f918-1f3fd":0,"1f918-1f3fe":0,"1f918-1f3ff":0,"1f919-1f3fb":0,"1f919-1f3fc":0,"1f919-1f3fd":0,"1f919-1f3fe":0,"1f919-1f3ff":0,"1f91a-1f3fb":0,"1f91a-1f3fc":0,"1f91a-1f3fd":0,"1f91a-1f3fe":0,"1f91a-1f3ff":0,"1f91b-1f3fb":0,"1f91b-1f3fc":0,"1f91b-1f3fd":0,"1f91b-1f3fe":0,"1f91b-1f3ff":0,"1f91c-1f3fb":0,"1f91c-1f3fc":0,"1f91c-1f3fd":0,"1f91c-1f3fe":0,"1f91c-1f3ff":0,"1f91e-1f3fb":0,"1f91e-1f3fc":0,"1f91e-1f3fd":0,"1f91e-1f3fe":0,"1f91e-1f3ff":0,"1f91f-1f3fb":0,"1f91f-1f3fc":0,"1f91f-1f3fd":0,"1f91f-1f3fe":0,"1f91f-1f3ff":0,"1f926-1f3fb-200d-2640-fe0f":0,"1f926-1f3fc-200d-2640-fe0f":0,"1f926-1f3fd-200d-2640-fe0f":0,"1f926-1f3fe-200d-2640-fe0f":0,"1f926-1f3ff-200d-2640-fe0f":0,"1f926-1f3fb-200d-2642-fe0f":0,"1f926-1f3fc-200d-2642-fe0f":0,"1f926-1f3fd-200d-2642-fe0f":0,"1f926-1f3fe-200d-2642-fe0f":0,"1f926-1f3ff-200d-2642-fe0f":0,"1f926-1f3fb":0,"1f926-1f3fc":0,"1f926-1f3fd":0,"1f926-1f3fe":0,"1f926-1f3ff":0,"1f930-1f3fb":0,"1f930-1f3fc":0,"1f930-1f3fd":0,"1f930-1f3fe":0,"1f930-1f3ff":0,"1f931-1f3fb":0,"1f931-1f3fc":0,"1f931-1f3fd":0,"1f931-1f3fe":0,"1f931-1f3ff":0,"1f932-1f3fb":0,"1f932-1f3fc":0,"1f932-1f3fd":0,"1f932-1f3fe":0,"1f932-1f3ff":0,"1f933-1f3fb":0,"1f933-1f3fc":0,"1f933-1f3fd":0,"1f933-1f3fe":0,"1f933-1f3ff":0,"1f934-1f3fb":0,"1f934-1f3fc":0,"1f934-1f3fd":0,"1f934-1f3fe":0,"1f934-1f3ff":0,"1f935-1f3fb":0,"1f935-1f3fc":0,"1f935-1f3fd":0,"1f935-1f3fe":0,"1f935-1f3ff":0,"1f936-1f3fb":0,"1f936-1f3fc":0,"1f936-1f3fd":0,"1f936-1f3fe":0,"1f936-1f3ff":0,"1f937-1f3fb-200d-2640-fe0f":0,"1f937-1f3fc-200d-2640-fe0f":0,"1f937-1f3fd-200d-2640-fe0f":0,"1f937-1f3fe-200d-2640-fe0f":0,"1f937-1f3ff-200d-2640-fe0f":0,"1f937-1f3fb-200d-2642-fe0f":0,"1f937-1f3fc-200d-2642-fe0f":0,"1f937-1f3fd-200d-2642-fe0f":0,"1f937-1f3fe-200d-2642-fe0f":0,"1f937-1f3ff-200d-2642-fe0f":0,"1f937-1f3fb":0,"1f937-1f3fc":0,"1f937-1f3fd":0,"1f937-1f3fe":0,"1f937-1f3ff":0,"1f938-1f3fb-200d-2640-fe0f":0,"1f938-1f3fc-200d-2640-fe0f":0,"1f938-1f3fd-200d-2640-fe0f":0,"1f938-1f3fe-200d-2640-fe0f":0,"1f938-1f3ff-200d-2640-fe0f":0,"1f938-1f3fb-200d-2642-fe0f":0,"1f938-1f3fc-200d-2642-fe0f":0,"1f938-1f3fd-200d-2642-fe0f":0,"1f938-1f3fe-200d-2642-fe0f":0,"1f938-1f3ff-200d-2642-fe0f":0,"1f938-1f3fb":0,"1f938-1f3fc":0,"1f938-1f3fd":0,"1f938-1f3fe":0,"1f938-1f3ff":0,"1f939-1f3fb-200d-2640-fe0f":0,"1f939-1f3fc-200d-2640-fe0f":0,"1f939-1f3fd-200d-2640-fe0f":0,"1f939-1f3fe-200d-2640-fe0f":0,"1f939-1f3ff-200d-2640-fe0f":0,"1f939-1f3fb-200d-2642-fe0f":0,"1f939-1f3fc-200d-2642-fe0f":0,"1f939-1f3fd-200d-2642-fe0f":0,"1f939-1f3fe-200d-2642-fe0f":0,"1f939-1f3ff-200d-2642-fe0f":0,"1f939-1f3fb":0,"1f939-1f3fc":0,"1f939-1f3fd":0,"1f939-1f3fe":0,"1f939-1f3ff":0,"1f93d-1f3fb-200d-2640-fe0f":0,"1f93d-1f3fc-200d-2640-fe0f":0,"1f93d-1f3fd-200d-2640-fe0f":0,"1f93d-1f3fe-200d-2640-fe0f":0,"1f93d-1f3ff-200d-2640-fe0f":0,"1f93d-1f3fb-200d-2642-fe0f":0,"1f93d-1f3fc-200d-2642-fe0f":0,"1f93d-1f3fd-200d-2642-fe0f":0,"1f93d-1f3fe-200d-2642-fe0f":0,"1f93d-1f3ff-200d-2642-fe0f":0,"1f93d-1f3fb":0,"1f93d-1f3fc":0,"1f93d-1f3fd":0,"1f93d-1f3fe":0,"1f93d-1f3ff":0,"1f93e-1f3fb-200d-2640-fe0f":0,"1f93e-1f3fc-200d-2640-fe0f":0,"1f93e-1f3fd-200d-2640-fe0f":0,"1f93e-1f3fe-200d-2640-fe0f":0,"1f93e-1f3ff-200d-2640-fe0f":0,"1f93e-1f3fb-200d-2642-fe0f":0,"1f93e-1f3fc-200d-2642-fe0f":0,"1f93e-1f3fd-200d-2642-fe0f":0,"1f93e-1f3fe-200d-2642-fe0f":0,"1f93e-1f3ff-200d-2642-fe0f":0,"1f93e-1f3fb":0,"1f93e-1f3fc":0,"1f93e-1f3fd":0,"1f93e-1f3fe":0,"1f93e-1f3ff":0,"1f9b5-1f3fb":0,"1f9b5-1f3fc":0,"1f9b5-1f3fd":0,"1f9b5-1f3fe":0,"1f9b5-1f3ff":0,"1f9b6-1f3fb":0,"1f9b6-1f3fc":0,"1f9b6-1f3fd":0,"1f9b6-1f3fe":0,"1f9b6-1f3ff":0,"1f9b8-1f3fb-200d-2640-fe0f":0,"1f9b8-1f3fc-200d-2640-fe0f":0,"1f9b8-1f3fd-200d-2640-fe0f":0,"1f9b8-1f3fe-200d-2640-fe0f":0,"1f9b8-1f3ff-200d-2640-fe0f":0,"1f9b8-1f3fb-200d-2642-fe0f":0,"1f9b8-1f3fc-200d-2642-fe0f":0,"1f9b8-1f3fd-200d-2642-fe0f":0,"1f9b8-1f3fe-200d-2642-fe0f":0,"1f9b8-1f3ff-200d-2642-fe0f":0,"1f9b8-1f3fb":0,"1f9b8-1f3fc":0,"1f9b8-1f3fd":0,"1f9b8-1f3fe":0,"1f9b8-1f3ff":0,"1f9b9-1f3fb-200d-2640-fe0f":0,"1f9b9-1f3fc-200d-2640-fe0f":0,"1f9b9-1f3fd-200d-2640-fe0f":0,"1f9b9-1f3fe-200d-2640-fe0f":0,"1f9b9-1f3ff-200d-2640-fe0f":0,"1f9b9-1f3fb-200d-2642-fe0f":0,"1f9b9-1f3fc-200d-2642-fe0f":0,"1f9b9-1f3fd-200d-2642-fe0f":0,"1f9b9-1f3fe-200d-2642-fe0f":0,"1f9b9-1f3ff-200d-2642-fe0f":0,"1f9b9-1f3fb":0,"1f9b9-1f3fc":0,"1f9b9-1f3fd":0,"1f9b9-1f3fe":0,"1f9b9-1f3ff":0,"1f9bb-1f3fb":0,"1f9bb-1f3fc":0,"1f9bb-1f3fd":0,"1f9bb-1f3fe":0,"1f9bb-1f3ff":0,"1f9cd-1f3fb-200d-2640-fe0f":0,"1f9cd-1f3fc-200d-2640-fe0f":0,"1f9cd-1f3fd-200d-2640-fe0f":0,"1f9cd-1f3fe-200d-2640-fe0f":0,"1f9cd-1f3ff-200d-2640-fe0f":0,"1f9cd-1f3fb-200d-2642-fe0f":0,"1f9cd-1f3fc-200d-2642-fe0f":0,"1f9cd-1f3fd-200d-2642-fe0f":0,"1f9cd-1f3fe-200d-2642-fe0f":0,"1f9cd-1f3ff-200d-2642-fe0f":0,"1f9cd-1f3fb":0,"1f9cd-1f3fc":0,"1f9cd-1f3fd":0,"1f9cd-1f3fe":0,"1f9cd-1f3ff":0,"1f9ce-1f3fb-200d-2640-fe0f":0,"1f9ce-1f3fc-200d-2640-fe0f":0,"1f9ce-1f3fd-200d-2640-fe0f":0,"1f9ce-1f3fe-200d-2640-fe0f":0,"1f9ce-1f3ff-200d-2640-fe0f":0,"1f9ce-1f3fb-200d-2642-fe0f":0,"1f9ce-1f3fc-200d-2642-fe0f":0,"1f9ce-1f3fd-200d-2642-fe0f":0,"1f9ce-1f3fe-200d-2642-fe0f":0,"1f9ce-1f3ff-200d-2642-fe0f":0,"1f9ce-1f3fb":0,"1f9ce-1f3fc":0,"1f9ce-1f3fd":0,"1f9ce-1f3fe":0,"1f9ce-1f3ff":0,"1f9cf-1f3fb-200d-2640-fe0f":0,"1f9cf-1f3fc-200d-2640-fe0f":0,"1f9cf-1f3fd-200d-2640-fe0f":0,"1f9cf-1f3fe-200d-2640-fe0f":0,"1f9cf-1f3ff-200d-2640-fe0f":0,"1f9cf-1f3fb-200d-2642-fe0f":0,"1f9cf-1f3fc-200d-2642-fe0f":0,"1f9cf-1f3fd-200d-2642-fe0f":0,"1f9cf-1f3fe-200d-2642-fe0f":0,"1f9cf-1f3ff-200d-2642-fe0f":0,"1f9cf-1f3fb":0,"1f9cf-1f3fc":0,"1f9cf-1f3fd":0,"1f9cf-1f3fe":0,"1f9cf-1f3ff":0,"1f9d1-1f3fb-200d-1f33e":0,"1f9d1-1f3fc-200d-1f33e":0,"1f9d1-1f3fd-200d-1f33e":0,"1f9d1-1f3fe-200d-1f33e":0,"1f9d1-1f3ff-200d-1f33e":0,"1f9d1-1f3fb-200d-1f373":0,"1f9d1-1f3fc-200d-1f373":0,"1f9d1-1f3fd-200d-1f373":0,"1f9d1-1f3fe-200d-1f373":0,"1f9d1-1f3ff-200d-1f373":0,"1f9d1-1f3fb-200d-1f393":0,"1f9d1-1f3fc-200d-1f393":0,"1f9d1-1f3fd-200d-1f393":0,"1f9d1-1f3fe-200d-1f393":0,"1f9d1-1f3ff-200d-1f393":0,"1f9d1-1f3fb-200d-1f3a4":0,"1f9d1-1f3fc-200d-1f3a4":0,"1f9d1-1f3fd-200d-1f3a4":0,"1f9d1-1f3fe-200d-1f3a4":0,"1f9d1-1f3ff-200d-1f3a4":0,"1f9d1-1f3fb-200d-1f3a8":0,"1f9d1-1f3fc-200d-1f3a8":0,"1f9d1-1f3fd-200d-1f3a8":0,"1f9d1-1f3fe-200d-1f3a8":0,"1f9d1-1f3ff-200d-1f3a8":0,"1f9d1-1f3fb-200d-1f3eb":0,"1f9d1-1f3fc-200d-1f3eb":0,"1f9d1-1f3fd-200d-1f3eb":0,"1f9d1-1f3fe-200d-1f3eb":0,"1f9d1-1f3ff-200d-1f3eb":0,"1f9d1-1f3fb-200d-1f3ed":0,"1f9d1-1f3fc-200d-1f3ed":0,"1f9d1-1f3fd-200d-1f3ed":0,"1f9d1-1f3fe-200d-1f3ed":0,"1f9d1-1f3ff-200d-1f3ed":0,"1f9d1-1f3fb-200d-1f4bb":0,"1f9d1-1f3fc-200d-1f4bb":0,"1f9d1-1f3fd-200d-1f4bb":0,"1f9d1-1f3fe-200d-1f4bb":0,"1f9d1-1f3ff-200d-1f4bb":0,"1f9d1-1f3fb-200d-1f4bc":0,"1f9d1-1f3fc-200d-1f4bc":0,"1f9d1-1f3fd-200d-1f4bc":0,"1f9d1-1f3fe-200d-1f4bc":0,"1f9d1-1f3ff-200d-1f4bc":0,"1f9d1-1f3fb-200d-1f527":0,"1f9d1-1f3fc-200d-1f527":0,"1f9d1-1f3fd-200d-1f527":0,"1f9d1-1f3fe-200d-1f527":0,"1f9d1-1f3ff-200d-1f527":0,"1f9d1-1f3fb-200d-1f52c":0,"1f9d1-1f3fc-200d-1f52c":0,"1f9d1-1f3fd-200d-1f52c":0,"1f9d1-1f3fe-200d-1f52c":0,"1f9d1-1f3ff-200d-1f52c":0,"1f9d1-1f3fb-200d-1f680":0,"1f9d1-1f3fc-200d-1f680":0,"1f9d1-1f3fd-200d-1f680":0,"1f9d1-1f3fe-200d-1f680":0,"1f9d1-1f3ff-200d-1f680":0,"1f9d1-1f3fb-200d-1f692":0,"1f9d1-1f3fc-200d-1f692":0,"1f9d1-1f3fd-200d-1f692":0,"1f9d1-1f3fe-200d-1f692":0,"1f9d1-1f3ff-200d-1f692":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fb-200d-1f9af":0,"1f9d1-1f3fc-200d-1f9af":0,"1f9d1-1f3fd-200d-1f9af":0,"1f9d1-1f3fe-200d-1f9af":0,"1f9d1-1f3ff-200d-1f9af":0,"1f9d1-1f3fb-200d-1f9b0":0,"1f9d1-1f3fc-200d-1f9b0":0,"1f9d1-1f3fd-200d-1f9b0":0,"1f9d1-1f3fe-200d-1f9b0":0,"1f9d1-1f3ff-200d-1f9b0":0,"1f9d1-1f3fb-200d-1f9b1":0,"1f9d1-1f3fc-200d-1f9b1":0,"1f9d1-1f3fd-200d-1f9b1":0,"1f9d1-1f3fe-200d-1f9b1":0,"1f9d1-1f3ff-200d-1f9b1":0,"1f9d1-1f3fb-200d-1f9b2":0,"1f9d1-1f3fc-200d-1f9b2":0,"1f9d1-1f3fd-200d-1f9b2":0,"1f9d1-1f3fe-200d-1f9b2":0,"1f9d1-1f3ff-200d-1f9b2":0,"1f9d1-1f3fb-200d-1f9b3":0,"1f9d1-1f3fc-200d-1f9b3":0,"1f9d1-1f3fd-200d-1f9b3":0,"1f9d1-1f3fe-200d-1f9b3":0,"1f9d1-1f3ff-200d-1f9b3":0,"1f9d1-1f3fb-200d-1f9bc":0,"1f9d1-1f3fc-200d-1f9bc":0,"1f9d1-1f3fd-200d-1f9bc":0,"1f9d1-1f3fe-200d-1f9bc":0,"1f9d1-1f3ff-200d-1f9bc":0,"1f9d1-1f3fb-200d-1f9bd":0,"1f9d1-1f3fc-200d-1f9bd":0,"1f9d1-1f3fd-200d-1f9bd":0,"1f9d1-1f3fe-200d-1f9bd":0,"1f9d1-1f3ff-200d-1f9bd":0,"1f9d1-1f3fb-200d-2695-fe0f":0,"1f9d1-1f3fc-200d-2695-fe0f":0,"1f9d1-1f3fd-200d-2695-fe0f":0,"1f9d1-1f3fe-200d-2695-fe0f":0,"1f9d1-1f3ff-200d-2695-fe0f":0,"1f9d1-1f3fb-200d-2696-fe0f":0,"1f9d1-1f3fc-200d-2696-fe0f":0,"1f9d1-1f3fd-200d-2696-fe0f":0,"1f9d1-1f3fe-200d-2696-fe0f":0,"1f9d1-1f3ff-200d-2696-fe0f":0,"1f9d1-1f3fb-200d-2708-fe0f":0,"1f9d1-1f3fc-200d-2708-fe0f":0,"1f9d1-1f3fd-200d-2708-fe0f":0,"1f9d1-1f3fe-200d-2708-fe0f":0,"1f9d1-1f3ff-200d-2708-fe0f":0,"1f9d1-1f3fb":0,"1f9d1-1f3fc":0,"1f9d1-1f3fd":0,"1f9d1-1f3fe":0,"1f9d1-1f3ff":0,"1f9d2-1f3fb":0,"1f9d2-1f3fc":0,"1f9d2-1f3fd":0,"1f9d2-1f3fe":0,"1f9d2-1f3ff":0,"1f9d3-1f3fb":0,"1f9d3-1f3fc":0,"1f9d3-1f3fd":0,"1f9d3-1f3fe":0,"1f9d3-1f3ff":0,"1f9d4-1f3fb":0,"1f9d4-1f3fc":0,"1f9d4-1f3fd":0,"1f9d4-1f3fe":0,"1f9d4-1f3ff":0,"1f9d5-1f3fb":0,"1f9d5-1f3fc":0,"1f9d5-1f3fd":0,"1f9d5-1f3fe":0,"1f9d5-1f3ff":0,"1f9d6-1f3fb-200d-2640-fe0f":0,"1f9d6-1f3fc-200d-2640-fe0f":0,"1f9d6-1f3fd-200d-2640-fe0f":0,"1f9d6-1f3fe-200d-2640-fe0f":0,"1f9d6-1f3ff-200d-2640-fe0f":0,"1f9d6-1f3fb-200d-2642-fe0f":0,"1f9d6-1f3fc-200d-2642-fe0f":0,"1f9d6-1f3fd-200d-2642-fe0f":0,"1f9d6-1f3fe-200d-2642-fe0f":0,"1f9d6-1f3ff-200d-2642-fe0f":0,"1f9d6-1f3fb":0,"1f9d6-1f3fc":0,"1f9d6-1f3fd":0,"1f9d6-1f3fe":0,"1f9d6-1f3ff":0,"1f9d7-1f3fb-200d-2640-fe0f":0,"1f9d7-1f3fc-200d-2640-fe0f":0,"1f9d7-1f3fd-200d-2640-fe0f":0,"1f9d7-1f3fe-200d-2640-fe0f":0,"1f9d7-1f3ff-200d-2640-fe0f":0,"1f9d7-1f3fb-200d-2642-fe0f":0,"1f9d7-1f3fc-200d-2642-fe0f":0,"1f9d7-1f3fd-200d-2642-fe0f":0,"1f9d7-1f3fe-200d-2642-fe0f":0,"1f9d7-1f3ff-200d-2642-fe0f":0,"1f9d7-1f3fb":0,"1f9d7-1f3fc":0,"1f9d7-1f3fd":0,"1f9d7-1f3fe":0,"1f9d7-1f3ff":0,"1f9d8-1f3fb-200d-2640-fe0f":0,"1f9d8-1f3fc-200d-2640-fe0f":0,"1f9d8-1f3fd-200d-2640-fe0f":0,"1f9d8-1f3fe-200d-2640-fe0f":0,"1f9d8-1f3ff-200d-2640-fe0f":0,"1f9d8-1f3fb-200d-2642-fe0f":0,"1f9d8-1f3fc-200d-2642-fe0f":0,"1f9d8-1f3fd-200d-2642-fe0f":0,"1f9d8-1f3fe-200d-2642-fe0f":0,"1f9d8-1f3ff-200d-2642-fe0f":0,"1f9d8-1f3fb":0,"1f9d8-1f3fc":0,"1f9d8-1f3fd":0,"1f9d8-1f3fe":0,"1f9d8-1f3ff":0,"1f9d9-1f3fb-200d-2640-fe0f":0,"1f9d9-1f3fc-200d-2640-fe0f":0,"1f9d9-1f3fd-200d-2640-fe0f":0,"1f9d9-1f3fe-200d-2640-fe0f":0,"1f9d9-1f3ff-200d-2640-fe0f":0,"1f9d9-1f3fb-200d-2642-fe0f":0,"1f9d9-1f3fc-200d-2642-fe0f":0,"1f9d9-1f3fd-200d-2642-fe0f":0,"1f9d9-1f3fe-200d-2642-fe0f":0,"1f9d9-1f3ff-200d-2642-fe0f":0,"1f9d9-1f3fb":0,"1f9d9-1f3fc":0,"1f9d9-1f3fd":0,"1f9d9-1f3fe":0,"1f9d9-1f3ff":0,"1f9da-1f3fb-200d-2640-fe0f":0,"1f9da-1f3fc-200d-2640-fe0f":0,"1f9da-1f3fd-200d-2640-fe0f":0,"1f9da-1f3fe-200d-2640-fe0f":0,"1f9da-1f3ff-200d-2640-fe0f":0,"1f9da-1f3fb-200d-2642-fe0f":0,"1f9da-1f3fc-200d-2642-fe0f":0,"1f9da-1f3fd-200d-2642-fe0f":0,"1f9da-1f3fe-200d-2642-fe0f":0,"1f9da-1f3ff-200d-2642-fe0f":0,"1f9da-1f3fb":0,"1f9da-1f3fc":0,"1f9da-1f3fd":0,"1f9da-1f3fe":0,"1f9da-1f3ff":0,"1f9db-1f3fb-200d-2640-fe0f":0,"1f9db-1f3fc-200d-2640-fe0f":0,"1f9db-1f3fd-200d-2640-fe0f":0,"1f9db-1f3fe-200d-2640-fe0f":0,"1f9db-1f3ff-200d-2640-fe0f":0,"1f9db-1f3fb-200d-2642-fe0f":0,"1f9db-1f3fc-200d-2642-fe0f":0,"1f9db-1f3fd-200d-2642-fe0f":0,"1f9db-1f3fe-200d-2642-fe0f":0,"1f9db-1f3ff-200d-2642-fe0f":0,"1f9db-1f3fb":0,"1f9db-1f3fc":0,"1f9db-1f3fd":0,"1f9db-1f3fe":0,"1f9db-1f3ff":0,"1f9dc-1f3fb-200d-2640-fe0f":0,"1f9dc-1f3fc-200d-2640-fe0f":0,"1f9dc-1f3fd-200d-2640-fe0f":0,"1f9dc-1f3fe-200d-2640-fe0f":0,"1f9dc-1f3ff-200d-2640-fe0f":0,"1f9dc-1f3fb-200d-2642-fe0f":0,"1f9dc-1f3fc-200d-2642-fe0f":0,"1f9dc-1f3fd-200d-2642-fe0f":0,"1f9dc-1f3fe-200d-2642-fe0f":0,"1f9dc-1f3ff-200d-2642-fe0f":0,"1f9dc-1f3fb":0,"1f9dc-1f3fc":0,"1f9dc-1f3fd":0,"1f9dc-1f3fe":0,"1f9dc-1f3ff":0,"1f9dd-1f3fb-200d-2640-fe0f":0,"1f9dd-1f3fc-200d-2640-fe0f":0,"1f9dd-1f3fd-200d-2640-fe0f":0,"1f9dd-1f3fe-200d-2640-fe0f":0,"1f9dd-1f3ff-200d-2640-fe0f":0,"1f9dd-1f3fb-200d-2642-fe0f":0,"1f9dd-1f3fc-200d-2642-fe0f":0,"1f9dd-1f3fd-200d-2642-fe0f":0,"1f9dd-1f3fe-200d-2642-fe0f":0,"1f9dd-1f3ff-200d-2642-fe0f":0,"1f9dd-1f3fb":0,"1f9dd-1f3fc":0,"1f9dd-1f3fd":0,"1f9dd-1f3fe":0,"1f9dd-1f3ff":0,"261d-1f3fb":0,"261d-1f3fc":0,"261d-1f3fd":0,"261d-1f3fe":0,"261d-1f3ff":0,"26f9-1f3fb-200d-2640-fe0f":0,"26f9-1f3fc-200d-2640-fe0f":0,"26f9-1f3fd-200d-2640-fe0f":0,"26f9-1f3fe-200d-2640-fe0f":0,"26f9-1f3ff-200d-2640-fe0f":0,"26f9-1f3fb-200d-2642-fe0f":0,"26f9-1f3fc-200d-2642-fe0f":0,"26f9-1f3fd-200d-2642-fe0f":0,"26f9-1f3fe-200d-2642-fe0f":0,"26f9-1f3ff-200d-2642-fe0f":0,"26f9-1f3fb":0,"26f9-1f3fc":0,"26f9-1f3fd":0,"26f9-1f3fe":0,"26f9-1f3ff":0,"270a-1f3fb":0,"270a-1f3fc":0,"270a-1f3fd":0,"270a-1f3fe":0,"270a-1f3ff":0,"270b-1f3fb":0,"270b-1f3fc":0,"270b-1f3fd":0,"270b-1f3fe":0,"270b-1f3ff":0,"270c-1f3fb":0,"270c-1f3fc":0,"270c-1f3fd":0,"270c-1f3fe":0,"270c-1f3ff":0,"270d-1f3fb":0,"270d-1f3fc":0,"270d-1f3fd":0,"270d-1f3fe":0,"270d-1f3ff":0},t.Emoji["00a9-fe0f"]=6362,t.Emoji["00ae-fe0f"]=6363,t.Emoji["2122-fe0f"]=6364,t.Countries=[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}],t.TLD=["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],t.LatinizeMap={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj",ſ:"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"};t.mediaSizes=new class{constructor(){this.sizes={handhelds:{regular:{width:293,height:293},webpage:{width:293,height:213},album:{width:293,height:0}},desktop:{regular:{width:480,height:480},webpage:{width:480,height:400},album:{width:451,height:0}}},this.isMobile=!1,window.addEventListener("resize",()=>this.handleResize()),this.handleResize()}handleResize(){const e=window.innerWidth;this.isMobile=e<=896,this.active=this.isMobile?this.sizes.handhelds:this.sizes.desktop}},t.touchSupport="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,t.isServiceWorkerSupported="serviceWorker"in navigator;const n={Emoji:t.Emoji,LatinizeMap:t.LatinizeMap,TLD:t.TLD,Countries:t.Countries,MediaSizes:t.mediaSizes,touchSupport:t.touchSupport,isApple:i.isApple,isSafari:i.isSafari,isAndroid:i.isAndroid};window.Config=n,t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(16)),o=i(s(71)),r=s(10),d=i(s(53)),f=i(s(73)),l=s(1);class c extends o.default{constructor(){super(),this.taskID=0,this.awaiting={},this.pending=[],this.updatesProcessor=null,this.log=r.logger("API-PROXY"),this.log("constructor"),this.registerServiceWorker(),this.registerWorker()}registerServiceWorker(){l.isServiceWorkerSupported&&(navigator.serviceWorker.register("./sw.js",{scope:"./"}).then(e=>{},e=>{this.log.error("SW registration failed!",e)}),navigator.serviceWorker.ready.then(e=>{this.log("set SW"),this.releasePending()}),navigator.serviceWorker.addEventListener("controllerchange",()=>{this.log.warn("controllerchange"),this.releasePending(),navigator.serviceWorker.controller.addEventListener("error",e=>{this.log.error("controller error:",e)})}),navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;n.isObject(t)&&this.postMessage(t)}),navigator.serviceWorker.addEventListener("messageerror",e=>{this.log.error("SW messageerror:",e)}))}registerWorker(){const e=new f.default;e.addEventListener("message",t=>{this.worker||(this.worker=e,this.log("set webWorker"),this.postMessage=this.worker.postMessage.bind(this.worker),this.releasePending());const s=t.data;n.isObject(s)&&(s.useLs?a.default[s.task](...s.args).then(e=>{this.postMessage({useLs:!0,taskID:s.taskID,args:e})}):s.update?this.updatesProcessor&&this.updatesProcessor(s.update.obj,s.update.bool):s.progress?n.$rootScope.$broadcast("download_progress",s.progress):"convertWebp"==s.type?d.default.postMessage(s):"requestFilePart"==s.type?navigator.serviceWorker.controller.postMessage(s):this.finalizeTask(s.taskID,s.result,s.error))})}finalizeTask(e,t,s){const i=this.awaiting[e];void 0!==i&&(this.log.debug("done",i.taskName,t,s),void 0===t?i.reject(s):i.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.log.debug("start",e,t),new Promise((s,i)=>{this.awaiting[this.taskID]={resolve:s,reject:i,taskName:e};const n={task:e,taskID:this.taskID,args:t};this.pending.push(n),this.releasePending(),this.taskID++})}releasePending(){this.postMessage&&(this.log.debug("releasing tasks, length:",this.pending.length),this.pending.forEach(e=>{this.postMessage(e)}),this.log.debug("released tasks"),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},s={}){return this.performTaskWorker("invokeApi",e,t,s)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return n.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}cancelDownload(e){return this.performTaskWorker("cancelDownload",e)}downloadFile(e){return this.performTaskWorker("downloadFile",e)}uploadFile(e){return this.performTaskWorker("uploadFile",e)}}const u=new c;t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RichTextProcessor=void 0;const n=s(0),a=i(s(1)),o=i(s(75)),r=s(76);var d,f={emojiMap:e=>e,shortcuts:[],emojis:[]},l=a.default.Emoji,c=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),u=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|("+o.default+")|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,p=/[`_*@]/,m=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,g={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},b={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},v={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function y(e){let t=r.encodeEmoji(e);return"1f441-200d-1f5e8"==t&&(t="1f441-fe0f-200d-1f5e8-fe0f"),l.hasOwnProperty(t)?t.replace(/(-fe0f|fe0f)/g,""):null}function w(e,t={}){for(var s,i,n=e,o=[],r=0;s=n.match(u);){if(i=r+s.index,s[3])o.push({_:"messageEntityMention",offset:i+s[1].length,length:s[2].length+s[3].length});else if(s[4])if(h.test(s[4]))o.push({_:"messageEntityEmail",offset:i,length:s[4].length});else{var d=!1,f=s[5],l=s[6];if(l){if(f||"xn--"!==l.substr(0,4)&&-1===a.default.TLD.indexOf(l.toLowerCase())||(f="http://"),f){var c=L(s[4]);c.length!==s[4].length&&(s[4].substring(c.length),s[4]=c),d=(s[5]?"":f)+s[4]}}else d=(s[5]?"":"http://")+s[4];d&&o.push({_:"messageEntityUrl",offset:i,length:s[4].length})}else if(s[7])o.push({_:"messageEntityLinebreak",offset:i,length:1});else if(s[8]){let e=y(s[8]);e&&o.push({_:"messageEntityEmoji",offset:i,length:s[8].length,unicode:e})}else s[10]?o.push({_:"messageEntityHashtag",offset:i+(s[9]?s[9].length:0),length:s[10].length}):s[12]&&o.push({_:"messageEntityBotCommand",offset:i+(s[11]?s[11].length:0),length:1+s[12].length+(s[13]?1+s[13].length:0)});n=n.substr(s.index+s[0].length),r+=s.index+s[0].length}return o}function _(e,t,s){return void 0===t?n.encodeEntities(e):(s.hasNested=!0,S(e,{entities:t,nested:!0}))}function S(e,t={}){if(!e||!e.length)return"";var s=t.entities,i=t.contextSite||"Telegram",a="Telegram"!=i;void 0===s&&(s=w(e,t));for(var o,r,d,f,l=s.length,u=[],h=0,p=0;ph)u.push(n.encodeEntities(e.substr(h,o.offset-h)));else if(o.offset',n.encodeEntities(r),"");break;case"messageEntityMentionName":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityHashtag":var y;if(!(y=!t.noLinks&&g[i])){d=!0;break}var S=r.substr(1);u.push("',n.encodeEntities(r),"");break;case"messageEntityEmail":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var L;"messageEntityTextUrl"==o._?(f=M(f=o.url,!0),L=_(r,o.nested,t)):(f=M(r,!1),L=n.encodeEntities(r.replace(/(%[A-Z\d]{2})+/g,e=>{try{return decodeURIComponent(e)}catch(t){return e}}))),t.noLinks?u.push(L):u.push('',L,"");break;case"messageEntityLinebreak":u.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":u.push(c?`${n.encodeEntities(r)}`:`${n.encodeEntities(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||a){d=!0;break}var D,E,I=r.substr(1);-1!=(E=I.indexOf("@"))?(D=I.substr(E+1),I=I.substr(0,E)):D=t.fromBot,u.push('',n.encodeEntities(r),"");break;case"messageEntityBold":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityHighlight":u.push("",_(r,o.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("",n.encodeEntities(r),"");break;case"messageEntityPre":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("
",n.encodeEntities(r),"
");break;default:d=!0}h=o.offset+(d?0:o.length)}return u.push(n.encodeEntities(e.substr(h))),e=u.join("")}function L(e){for(var t=e.length,s=e.split("(").length-1,i=e.split(")").length-1;i>s&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return s>i&&(e=e.replace(/\)+$/,"")),e}function M(e,t){var s,i;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(s=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var n=s[1].split("/");switch(n[0]){case"joinchat":e="tg://join?invite="+n[1];break;case"addstickers":e="tg://addstickers?set="+n[1];break;default:if(n[1]&&n[1].match(/^\d+$/))e="tg://resolve?domain="+n[0]+"&post="+n[1];else if(1==n.length){var a=n[0].split("?"),o=a[0],r=a[1];if("iv"==o){var d=(r||"").match(/url=([^&=]+)/);if(d){e=d[1];try{e=decodeURIComponent(e)}catch(e){}return M(e,t)}}e="tg://resolve?domain="+o+(r?"&"+r:"")}}}else(i=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+i[1]+"&post="+i[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let D={wrapRichText:S,wrapPlainText:function(e,t={}){if(c)return e;if(!e||!e.length)return"";var s,i,n=e=e.replace(/\ufe0f/g,"",e);for(e=[];s=n.match(u);)e.push(n.substr(0,s.index)),s[8]&&(d=f.emojiMap[s[8]])&&(i=l[d][1][0])?e.push(":"+i+":"):e.push(s[0]),n=n.substr(s.index+s[0].length);return e.push(n),e.join("")},wrapDraftText:function(e,t={}){if(!e||!e.length)return"";var s=t.entities;void 0===s&&(s=w(e,t));var i,n,a,o=0,r=s.length,d=[],f=0;for(o=0;of)d.push(e.substr(f,i.offset-f));else if(i.offset"messageEntityEmoji"==e._)}):""},parseEntities:w,parseMarkdown:function(e,t,s){if(!p.test(e))return s?e:e.trim();for(var i,n,a=e,o=[],r=0;i=a.match(m);){n=r+i.index,o.push(a.substr(0,i.index)),r-=(e=i[3]||i[8]||i[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",r-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:n+i[1].length,length:e.length}),r-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:v[i[7]],offset:n+i[6].length,length:e.length}),r-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:n,length:e.length}),r-=i[0].length-e.length),a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o.push(a),(o=o.join("")).replace(/\s+/g,"").length||(o=e,t.splice(0,t.length)),t.length||s||(o=o.trim()),o},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var s=f.shortcuts[t];return void 0!==s?f.emojis[s][0]:e}))},mergeEntities:function(e,t,s){var i,a,o,r,d,f,l,c,u,h=t.slice(),p=e.length,m=t.length,g=0;for(i=0;i=l&&dl&&f<=c){s&&d>=l&&f<=c&&(void 0===r.nested&&(r.nested=[]),o.offset-=l,r.nested.push(n.copy(o))),u=!0;break}if(l>=f)break}u||h.push(o)}return h.sort((e,t)=>e.offset-t.offset),h},getEmojiSpritesheetCoords:y,emojiSupported:c};t.RichTextProcessor=D},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.attachContextMenuListener=t.positionMenu=t.openBtnMenu=t.parseMenuButtonsTo=t.formatPhoneNumber=t.putPreloader=t.renderImageFromUrl=t.loadedURLs=void 0;const o=a(s(1));t.loadedURLs={};const r=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLVideoElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,s,i){if(t.loadedURLs[s]||e instanceof HTMLVideoElement)return r(e,s),i&&i(),!0;{const n=e instanceof HTMLImageElement,a=n?e:new Image;return a.src=s,a.addEventListener("load",()=>{n||r(e,s),t.loadedURLs[s]=!0,i&&i()}),i&&a.addEventListener("error",i),!1}},t.putPreloader=function(e,t=!1){const s='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=s,e&&e.appendChild(t),t}e.innerHTML+=s},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),s=o.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),i=s?s.pattern||s.phoneCode:"";return s&&i.split("").forEach((t,s)=>{" "==t&&" "!=e[s]&&e.length>s&&(e=e.slice(0,s)+" "+e.slice(s))}),{formatted:e,country:s}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{const s=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/);s&&(e[s[1]]=t)})};let d=e=>{let t=c.getBoundingClientRect(),{clientX:s,clientY:i}=e,n=s>=t.right?s-t.right:t.left-s,a=i>=t.bottom?i-t.bottom:t.top-i;(n>=100||a>=100)&&l()},f=e=>{l()},l=()=>{c&&(c.classList.remove("active"),c.parentElement.classList.remove("menu-open"),c=null),u&&(u(),u=null),o.touchSupport?window.removeEventListener("touchmove",f):window.removeEventListener("mousemove",d),window.removeEventListener("click",f),window.removeEventListener("contextmenu",f)},c=null,u=null;t.openBtnMenu=function(e,t){l(),c=e,c.classList.add("active"),c.parentElement.classList.add("menu-open"),u=t,o.touchSupport?window.addEventListener("touchmove",f,{once:!0}):window.addEventListener("mousemove",d),window.addEventListener("click",f,{once:!0}),window.addEventListener("contextmenu",f,{once:!0})},t.positionMenu=function({clientX:e,clientY:t},s,i){let{scrollWidth:n,scrollHeight:a}=s,{innerWidth:r,innerHeight:d}=window;o.mediaSizes.isMobile&&(i=void 0),void 0===i&&e+n>r&&(e-n<0?s.style.left=r-n+"px":i="right"),i||(i="left"),s.classList.remove("bottom-left","bottom-right"),void 0!==i&&(s.style.left=("right"==i?e-n:e)+"px",s.classList.add("left"==i?"bottom-right":"bottom-left")),s.style.top=t+a>d?d-a+"px":t+"px"},t.attachContextMenuListener=function(e,t){if(o.isApple&&o.touchSupport){let s;const i=()=>{clearTimeout(s),e.removeEventListener("touchmove",i),e.removeEventListener("touchend",i),e.removeEventListener("touchcancel",i)};e.addEventListener("touchstart",n=>{n.touches.length>1?clearTimeout(s):(e.addEventListener("touchmove",i,{once:!0}),e.addEventListener("touchend",i,{once:!0}),e.addEventListener("touchcancel",i,{once:!0}),s=setTimeout(()=>{t(n.touches[0]),i()},400))})}else e.addEventListener("contextmenu",t)}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppUsersManager=void 0;const a=s(0),o=s(3),r=n(s(9)),d=n(s(2)),f=n(s(34)),l=s(4),c=n(s(38)),u=n(s(8)),h=n(s(40));class p{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),this.contactsList=new Set,d.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var s=t.user_id;(i=this.users[s])&&(i.status=t.status,i.status&&(i.status.expires&&(i.status.expires-=f.default.serverTimeOffset),i.status.was_online&&(i.status.was_online-=f.default.serverTimeOffset)),i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",s));break;case"updateUserPhoto":var i;s=t.user_id;(i=this.users[s])?(this.forceUserOnline(s),i.photo?a.safeReplaceObject(i.photo,t.photo):i.photo=t.photo,void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",s),a.$rootScope.$broadcast("avatar_update",s)):console.warn("No user by id:",s)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=d.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>(this.saveApiUsers(e.users),e.contacts.forEach(e=>{this.pushContact(e.user_id)}),this.contactsList))}resolveUsername(e){return i(this,void 0,void 0,(function*(){return this.usernames[e]?this.users[this.usernames[e]]:yield d.default.invokeApi("contacts.resolveUsername",{username:e}).then(t=>(this.saveApiUser(t.users[0]),r.default.saveApiChats(t.chats),this.users[this.usernames[e]]))}))}pushContact(e){this.contactsList.add(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)}getUserSearchText(e){const t=this.users[e];if(!t)return"";const s=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+s}getContacts(e){return this.fillContacts().then(t=>{let s=[...t];if(e){const t=c.default.search(e,this.contactsIndex);s=[...s].filter(e=>!!t[e])}return s.sort((e,t)=>{const s=(this.users[e]||{}).sortName||"",i=(this.users[t]||{}).sortName||"";return s.localeCompare(i)}),s})}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var s=e.id,i=this.users[s];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===i){if(e.phone&&(e.rPhone="+"+l.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=s}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),d=r.shift(),u=r.pop();e.initials=d.charAt(0)+(u?u.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=f.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=f.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(i=this.users[s])?i=this.users[s]=e:a.safeReplaceObject(i,e),a.$rootScope.$broadcast("user_update",s),void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var s=a.tsNow(!0);switch(e._){case"userStatusRecently":return s-259200;case"userStatusLastWeek":return s-604800;case"userStatusLastMonth":return s-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){var t;if(this.isBot(e))return"bot";const s=this.getUser(e);if(!s)return"";let i="";switch(null===(t=s.status)||void 0===t?void 0:t._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";const e=s.status.was_online,t=Date.now()/1e3;if(t-e<60)i+=" just now";else if(t-e<3600){const s=(t-e)/60|0;i+=s+" "+(1==s?"minute":"minutes")+" ago"}else if(t-e<86400){const s=(t-e)/3600|0;i+=s+" "+(1==s?"hour":"hours")+" ago"}else{const t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online";break;default:i="last seen a long time ago"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}isContact(e){return this.contactsList.has(e)}isRegularUser(e){const t=this.users[e];return t&&!this.isBot(e)&&!t.pFlags.deleted&&!t.pFlags.support}isNonContactUser(e){return this.isRegularUser(e)&&!this.isContact(e)&&e!=a.$rootScope.myID}hasUser(e,t){var s=this.users[e];return a.isObject(s)&&(t||!s.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let s=this.users[t];s.status&&"userStatusOnline"==s.status._&&s.status.expires{var t;return(null===(t=null==e?void 0:e.topPeers)||void 0===t?void 0:t.length)?e.topPeers:d.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>{this.saveApiUsers(e.users),r.default.saveApiChats(e.chats);const t=e.categories[0].peers.map(e=>{const t=u.default.getPeerID(e.peer);return h.default.pushPeer(t),t});return h.default.pushToState("topPeers",t),t})})}searchContacts(e,t=20){return d.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),r.default.saveApiChats(e.chats),e))}setUserStatus(e,t){if(!this.isBot(e)){var s=this.users[e];if(s){var i=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};s.status=i,s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=p,t.default=new p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10),a=i(s(74)),o=s(1);window.__forceSmoothScrollPolyfill__=!0,a.default.polyfill();t.default=class{constructor(e,t="y",s="",i=e,a=300,r=15,d=document.createElement("div")){if(this.el=e,this.appendTo=i,this.onScrollOffset=a,this.splitCount=r,this.container=d,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.scrollLocked=0,this.isVisible=!1,this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{const t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{const t=e.target;if(e.isIntersecting)this.setVisible(t),this.log.debug("intersection entry:",e,this.lastTopID,this.lastBottomID);else{const s=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=s+1:this.lastBottomID=s-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ti)&&this.setHidden(e)}}),i||(this.appendTo=this.container),this.log=n.logger("SCROLL"+(s?"-"+s:""),n.LogLevels.error),"x"==t){if(this.container.classList.add("scrollable-x"),!o.touchSupport){const e=e=>{if(1==(e=window.event||e).which)return;const t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}const f=this.onScroll.bind(this);window.addEventListener("resize",()=>{this.overflowContainer=(o.mediaSizes.isMobile,this.container),this.onScroll()}),this.container.addEventListener("scroll",f,{passive:!0,capture:!0}),e&&(Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)),this.overflowContainer=(o.mediaSizes.isMobile,this.container)}setVisible(e){this.visible.has(e)||(this.log.debug("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.log.debug("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){this.splitUp&&(clearTimeout(this.disableHoverTimeout),this.disableHoverTimeout=setTimeout(()=>{this.lastScrollDirection=0},100)),this.onScrollMeasure||(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)&&!this.splitUp||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(this.overflowContainer),this.onScrollMeasure=0,!this.splitUp)return;const e=this.overflowContainer.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{this.reorderTimeout=0,Array.from(this.splitUp.children).forEach((e,t)=>{e.dataset.virtual=""+t})},0))}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{const t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){this.splitUp&&(e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.log.debug("prepareElement: prepared"),window.requestAnimationFrame(()=>{const{scrollHeight:t}=e;this.log.debug("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)}))}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){const s=e.classList.contains("is-first-unread");let i=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(i=this.container.scrollTop+i,!t&&s)return void this.scrollTo(i,!1);i-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(i,t)}}scrollTo(e,t=!0,s=!1){if(this.scrollLocked&&!s)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesManager=t.FiltersStorage=t.DialogsStorage=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(5)),f=s(3),l=s(21),c=s(80),u=n(s(32)),h=n(s(13)),p=n(s(16)),m=n(s(8)),g=n(s(34)),b=n(s(11)),v=n(s(35)),y=n(s(34)),w=n(s(2)),_=n(s(55)),S=s(24),L=n(s(39)),M=n(s(38)),D=s(10),E=n(s(28));class I{constructor(){this.dialogs={},this.byFolders={},this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedOrders={0:[],1:[]},this.dialogsNum=0}getFolder(e){var t,s;if(e<=1)return null!==(t=this.byFolders[e])&&void 0!==t?t:this.byFolders[e]=[];const i=[],n=k.filtersStorage.filters[e];for(const e in this.dialogs){const t=this.dialogs[e];if(k.filtersStorage.testDialogForFilter(t,n)){let e;const a=n.pinned_peers.indexOf(t.peerID);e=-1!==a?this.generateDialogIndex(this.generateDialogPinnedDateByIndex(n.pinned_peers.length-1-a)):(null===(s=t.pFlags)||void 0===s?void 0:s.pinned)?this.generateIndexForDialog(t,!0):t.index,i.push({dialog:t,index:e})}}return i.sort((e,t)=>t.index-e.index),i.map(e=>e.dialog)}getDialog(e,t){const s=[];if(void 0===t){const e=this.byFolders;for(const t in e)s.push(e[t])}else s.push(this.getFolder(t));for(let t of s){const s=t.findIndex(t=>t.peerID==e);if(-1!==s)return[t[s],s]}return[]}generateDialogIndex(e){return void 0===e&&(e=a.tsNow(!0)+y.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e,t=!1){const s=m.default.isChannel(e.peerID)?-e.peerID:0,i=o.default.getFullMessageID(e.top_message,s);let n=k.getMessage(i).date;if(s){const e=r.default.getChat(s);(!n||e.date&&e.date>n)&&(n=e.date)}const a={};a&&a.date>n&&(n=a.date),e.pFlags.pinned&&!t&&(n=this.generateDialogPinnedDate(e));const d=this.generateDialogIndex(n);if(t)return d;e.index=d}generateDialogPinnedDateByIndex(e){return 2147418112+(65535&e)}generateDialogPinnedDate(e){const t=this.pinnedOrders[e.folder_id],s=t.indexOf(e.peerID),i=-1===s?t.push(e.peerID)-1:s;return this.generateDialogPinnedDateByIndex(i)}pushDialog(e,t){const s=this.getFolder(e.folder_id),i=s.findIndex(t=>t.peerID==e.peerID);if(-1!==i&&s.splice(i,1),this.dialogs[e.peerID]=e,t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}dropDialog(e){const t=this.getDialog(e);return t[0]&&(this.byFolders[t[0].folder_id].splice(t[1],1),delete this.dialogs[e]),t}}t.DialogsStorage=I;class C{constructor(){this.filters={},this.orderIndex=0,a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)})}handleUpdate(e){switch(e._){case"updateDialogFilter":e.filter?this.saveDialogFilter(e.filter):this.filters[e.id]&&(a.$rootScope.$broadcast("filter_delete",this.filters[e.id]),delete this.filters[e.id])}}testDialogForFilter(e,t){var s;for(const s of t.exclude_peers)if(s==e.peerID)return!1;for(const s of t.include_peers)if(s==e.peerID)return!0;const i=t.pFlags;if(i.exclude_archived&&1==e.folder_id)return!1;if(i.exclude_read&&!e.unread_count)return!1;if(i.exclude_muted){if(1e3*(null===(s=e.notify_settings)||void 0===s?void 0:s.mute_until)>Date.now())return!1}const n=e.peerID;if(n<0){if(i.broadcasts&&m.default.isBroadcast(n))return!0;if(i.groups&&m.default.isAnyGroup(n))return!0}else{if(m.default.isBot(n))return!!i.bots;if(i.non_contacts&&!d.default.contactsList.has(n))return!0;if(i.contacts&&d.default.contactsList.has(n))return!0}return!1}toggleDialogPin(e,t){const s=this.filters[t];return s.pinned_peers.findAndSplice(t=>t==e)||s.pinned_peers.unshift(e),this.updateDialogFilter(s)}createDialogFilter(e){let t=Math.max(1,...Object.keys(this.filters).map(e=>+e));return(e=a.copy(e)).id=t+1,this.updateDialogFilter(e)}updateDialogFilter(e,t=!1){const s=t?0:1;if(!t){e.flags=0;const t={contacts:0,non_contacts:1,groups:2,broadcasts:3,bots:4,exclude_muted:11,exclude_read:12,exclude_archived:13};for(const s in t)e.pFlags[s]&&(e.flags|=1<(s&&this.handleUpdate({_:"updateDialogFilter",id:e.id,filter:t?void 0:e}),s))}getOutputDialogFilter(e){const t=a.copy(e);return["pinned_peers","exclude_peers","include_peers"].forEach(e=>{t[e]=t[e].map(e=>m.default.getInputPeerByID(e))}),t.include_peers.forEachReverse((e,s)=>{t.pinned_peers.includes(e)&&t.include_peers.splice(s,1)}),t}getDialogFilters(e=!1){return i(this,void 0,void 0,(function*(){if(Object.keys(this.filters).length&&!e)return this.filters;const t=yield w.default.invokeApi("messages.getDialogFilters");for(const e of t)this.saveDialogFilter(e,!1);return this.filters}))}saveDialogFilter(e,t=!0){["pinned_peers","exclude_peers","include_peers"].forEach(t=>{e[t]=e[t].map(e=>m.default.getPeerID(e))}),e.include_peers.forEachReverse((t,s)=>{e.pinned_peers.includes(t)&&e.include_peers.splice(s,1)}),e.include_peers=e.pinned_peers.concat(e.include_peers),this.filters[e.id]?Object.assign(this.filters[e.id],e):this.filters[e.id]=e,this.setOrderIndex(e),t&&a.$rootScope.$broadcast("filter_update",e)}setOrderIndex(e){e.hasOwnProperty("orderIndex")?e.orderIndex>this.orderIndex&&(this.orderIndex=e.orderIndex):e.orderIndex=this.orderIndex++}}t.FiltersStorage=C;class P{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.pinnedMessages={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.reloadConversationsPeers=[],this.dialogsIndex=M.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},this.log=D.logger("MESSAGES",D.LogLevels.error),this.dialogsStorage=new I,this.filtersStorage=new C,this.handleNewMessages=()=>{clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,a.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}},this.handleNewDialogs=()=>{clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(const t in this.newDialogsToHandle){const s=this.newDialogsToHandle[t];"reload"in s?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.dialogsStorage.pushDialog(s),m.default.isChannel(+t)||(e=Math.max(e,s.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),a.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}},a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)}),a.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let s=this.getMessage(e);s.webpage=_.default.getWebPage(t.id),a.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(s),id:s.id,mid:e,justMedia:!0})})}),a.$rootScope.$on("draft_updated",e=>{let t=e.detail;var s=t.peerID,i=t.draft,n=this.getDialogByPeerID(s)[0];if(n){if(i&&i.date)d=i.date;else{var o=m.default.isChannel(s)?-s:0,d=this.getMessage(n.top_message).date;if(o){var f=r.default.getChat(o);(!d||f.date&&f.date>d)&&(d=f.date)}}n.pFlags.pinned||(n.index=this.dialogsStorage.generateDialogIndex(d)),this.dialogsStorage.pushDialog(n),a.$rootScope.$broadcast("dialog_draft",{peerID:s,draft:i,index:n.index})}})}getInputEntities(e){var t=a.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=d.default.getUserInput(e.user_id))}),t}editMessage(e,t,s={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((s,i)=>{this.tempFinalizeCallbacks[e].edit=e=>{this.log("invoke callback",e),this.editMessage(e,t).then(s,i)}})}var i=[];t=f.RichTextProcessor.parseMarkdown(t,i);var n=this.getMessage(e),a=this.getMessagePeer(n),r=0;let d=s.noWebPage||!1;return d&&(r|=2),t&&(r|=2056),w.default.invokeApi("messages.editMessage",{flags:r,peer:m.default.getInputPeerByID(a),id:o.default.getMessageLocalID(e),message:t,media:n.media,entities:this.getInputEntities(i),no_webpage:d}).then(e=>{u.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,s={}){if("string"!=typeof t)return;e=m.default.getPeerMigratedTo(e)||e;var i=s.entities||[];if(s.viaBotID||(t=f.RichTextProcessor.parseMarkdown(t,i)),!t.length)return;var n,r=this.getInputEntities(i),c=this.tempID--,h=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],p=l.bigint(h[0]).shiftLeft(32).add(l.bigint(h[1])).toString(),g=this.historiesStorage[e],b=0,v={},_=s.replyToMsgID,S=m.default.isChannel(e),L=S&&m.default.isMegagroup(e),M=!(!S||L);let D=s.noWebPage||!1;void 0===g&&(g=this.historiesStorage[e]={count:null,history:[],pending:[]});var E=d.default.getSelf().id;e!=E&&(b|=2,v.out=!0,S||d.default.isBot(e)||(b|=1,v.unread=!0)),_&&(b|=8),M?(E=0,v.post=!0):b|=256,n={_:"message",id:c,from_id:E,to_id:m.default.getOutputPeer(e),flags:b,pFlags:v,date:a.tsNow(!0)+y.default.serverTimeOffset,message:t,random_id:p,reply_to_msg_id:_,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,entities:i,views:M&&1,pending:!0},s.webPage&&(n.media={_:"messageMediaWebPage",webpage:s.webPage});var I=e=>{e?n.error=!0:delete n.error,a.$rootScope.$broadcast("messages_pending")};n.send=()=>{I(!1);var i={};this.pendingAfterMsgs[e]&&(i.afterMessageID=this.pendingAfterMsgs[e].messageID);var a,d=0;_&&(d|=1),M&&(d|=16),s.clearDraft&&(d|=128),D&&(d|=2),s.viaBotID?a=w.default.invokeApi("messages.sendInlineBotResult",{flags:d,peer:m.default.getInputPeerByID(e),random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),query_id:s.queryID,id:s.resultID},i):(r.length&&(d|=8),a=w.default.invokeApi("messages.sendMessage",{flags:d,no_webpage:D,peer:m.default.getInputPeerByID(e),message:t,random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),entities:r},i)),a.then(e=>{"updateShortSentMessage"==e._?(n.flags=e.flags,n.date=e.date,n.id=e.id,n.media=e.media,n.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:p,id:e.id},{_:S?"updateNewChannelMessage":"updateNewMessage",message:n,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},()=>{I(!0)}).finally(()=>{this.pendingAfterMsgs[e]===i&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=i},this.saveMessages([n]),g.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(()=>n.send(),0),this.pendingByRandomID[p]=[e,c]}sendFile(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;var n,r,c=this.tempID--,p=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],y=l.bigint(p[0]).shiftLeft(32).add(l.bigint(p[1])).toString(),_=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},L=0,M={},D=s.replyToMsgID,I=m.default.isChannel(e),C=I&&m.default.isMegagroup(e),P=!(!I||C);const k="mime_type"in t?t.mime_type:t.type,T=t instanceof File?t.name:"",A=!(t instanceof File||t instanceof Blob);let X=s.caption||"";const x=a.tsNow(!0)+g.default.serverTimeOffset;if(this.log("sendFile",t,k),X){let e=s.entities||[];X=f.RichTextProcessor.parseMarkdown(X,e)}const F=[];let B="";if(s.isMedia)if(A)n="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(k)>=0){n="photo",r="photo."+k.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+c,sizes:[{_:"photoSize",w:s.width,h:s.height,type:"m",size:t.size}],w:s.width,h:s.height,downloaded:t.size,url:s.objectURL||""};h.default.savePhoto(e)}else if(0===k.indexOf("audio/")||["video/ogg"].indexOf(k)>=0){n="audio",r="audio."+("ogg"==k.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";let e=0;s.isVoiceMessage&&(e|=1024,e|=4,n="voice");let t={_:"documentAttributeAudio",flags:e,pFlags:{voice:s.isVoiceMessage},waveform:s.waveform,voice:s.isVoiceMessage,duration:s.duration||0};F.push(t)}else if(0===k.indexOf("video/")){n="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;s.isRoundMessage&&(e|=2);let t={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:s.isRoundMessage},round_message:s.isRoundMessage,supports_streaming:!0,duration:s.duration,w:s.width,h:s.height};F.push(t)}else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";if(F.push({_:"documentAttributeFilename",file_name:T||r}),-1!==["document","video","audio","voice"].indexOf(n)&&!A){let e={_:"document",id:""+c,duration:s.duration,attributes:F,w:s.width,h:s.height,downloaded:t.size,thumbs:[],mime_type:k,url:s.objectURL||"",size:t.size};b.default.saveDoc(e)}this.log("AMM: sendFile",n,r,t.type,s);var R=d.default.getSelf().id;e!=R&&(L|=2,M.out=!0,I||d.default.isBot(e)||(L|=1,M.unread=!0)),D&&(L|=8),P?(R=0,M.post=!0):L|=256;const O=new v.default(null,!0),j={_:"messageMediaPending",type:n,file_name:T||r,size:t.size,file:t,preloader:O,w:s.width,h:s.height,url:s.objectURL},U={_:"message",id:c,from_id:R,to_id:m.default.getOutputPeer(e),flags:L,pFlags:M,date:x,message:X,media:A?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:j,random_id:y,reply_to_msg_id:D,views:P&&1,pending:!0},N=e=>{e?U.error=!0:delete U.error,a.$rootScope.$broadcast("messages_pending")};let H=!1,$=null;const q=(t,i)=>(this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMedia",{flags:t,background:s.background,clear_draft:!0,peer:m.default.getInputPeerByID(e),media:i,message:X,random_id:p,reply_to_msg_id:o.default.getMessageLocalID(D)}).then(e=>{u.default.processUpdateMessage(e)},e=>{if("photo"==n&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,n="document",void U.send();N(!0)}));U.send=()=>{let e=0;if(D&&(e|=1),s.background&&(e|=64),e|=128,A){const{id:s,access_hash:i,file_reference:n}=t;q(e,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:s,access_hash:i,file_reference:n}})}else if(t instanceof File||t instanceof Blob){const s=S.deferredPromise();this.sendFilePromise.then(()=>{H&&!U.error||(H=!1,$=E.default.upload(t),O.attachPromise($)),$&&$.then(t=>{var s;switch(this.log("appMessagesManager: sendFile uploaded:",t),t.name=r,H=!0,n){case"photo":s={_:"inputMediaUploadedPhoto",flags:0,file:t};break;default:s={_:"inputMediaUploadedDocument",file:t,mime_type:k,attributes:F}}q(e,s)},()=>{N(!0)}),$.addNotifyListener(e=>{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:B,progress:0|t})}),$.catch(e=>{"AbortError"!==e.name||H||(this.log("cancelling upload",j),s.resolve(),this.cancelPendingMessage(y),this.setTyping("sendMessageCancelAction"))}),$.finally(s.resolve)}),this.sendFilePromise=s}},this.saveMessages([U]),_.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(U.send.bind(this),0),this.pendingByRandomID[y]=[e,c]}sendAlbum(e,t,s={}){var n;return i(this,void 0,void 0,(function*(){let i;e=m.default.getPeerMigratedTo(e)||e;let r=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]},c=0,p={},y=s.replyToMsgID,_=m.default.isChannel(e),L=_&&m.default.isMegagroup(e),M=!(!_||L),D=s.caption||"",I=a.tsNow(!0)+g.default.serverTimeOffset;if(D){let e=s.entities||[];D=f.RichTextProcessor.parseMarkdown(D,e)}this.log("AMM: sendAlbum",t,s);let C=d.default.getSelf().id;e!=C&&(p.out=!0,_||d.default.isBot(e)||(p.unread=!0)),y&&(c|=1),M?(C=0,p.post=!0):c|=128;let P=t.map(()=>this.tempID--).reverse();i=P[P.length-1];let k=t.map((t,n)=>{let a=P[n],o=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],d=l.bigint(o[0]).shiftLeft(32).add(l.bigint(o[1])).toString(),f=new v.default(null,!0),u=s.sendFileDetails[n],g={_:"messageMediaPending",type:"album",preloader:f,document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+a,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:u.duration,w:u.width,h:u.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:u.objectURL||"",size:t.size};b.default.saveDoc(e),g.document=e}else{let e={_:"photo",id:""+a,sizes:[{_:"photoSize",w:u.width,h:u.height,type:"m",size:t.size}],w:u.width,h:u.height,downloaded:t.size,url:u.objectURL||""};h.default.savePhoto(e),g.photo=e}let w={_:"message",id:a,from_id:C,grouped_id:i,to_id:m.default.getOutputPeer(e),flags:c,pFlags:p,date:I,message:D,media:g,random_id:d,randomID:o,reply_to_msg_id:y,views:M&&1,pending:!0,error:!1};return this.saveMessages([w]),r.pending.unshift(a),this.pendingByRandomID[d]=[e,a],w});a.$rootScope.$broadcast("history_append",{peerID:e,messageID:k[k.length-1].id,my:!0});let T=(e,t)=>{t?e.error=!0:delete e.error,a.$rootScope.$broadcast("messages_pending")},A=!1,X=null,x=m.default.getInputPeerByID(e),F=[];for(let e=0,i=t.length;e{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:r,progress:0|t})}),X.catch(e=>{"AbortError"!==e.name||A||(this.log("cancelling upload item",a),l=!0)}),yield X.then(t=>{if(this.log("appMessagesManager: sendAlbum file uploaded:",t),l)return;let a;t.name=f;let o=s.sendFileDetails[e];return a=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:t,mime_type:i.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:t},w.default.invokeApi("messages.uploadMedia",{peer:x,media:a}).then(e=>{if(l)return;let t;if(e.photo){let s=e.photo;h.default.savePhoto(s),t=h.default.getInput(s)}else{let s=e.document;b.default.saveDoc(s),t=b.default.getMediaInput(s)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:D,entities:[]}),D=""},()=>{T(n,!0)})},()=>{T(n,!0)}),this.log("appMessagesManager: sendAlbum uploadPromise.finally!"),d.resolve()}A=!0,(e=>{this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMultiMedia",{flags:c,peer:x,multi_media:e,reply_to_msg_id:o.default.getMessageLocalID(y)}).then(e=>{u.default.processUpdateMessage(e)},e=>{k.forEach(e=>T(e,!0))})})(F)}))}sendOther(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;const n=this.tempID--,r=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],f=l.bigint(r[0]).shiftLeft(32).add(l.bigint(r[1])).toString(),c=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},h=s.replyToMsgID,p=m.default.isChannel(e),b=p&&m.default.isMegagroup(e),v=!(!p||b);let y,_=d.default.getSelf().id;switch(t._){case"inputMediaPoll":{t.poll.id=n,L.default.savePoll(t.poll,{_:"pollResults",flags:4,total_voters:0,pFlags:{}});const{poll:e,results:s}=L.default.getPoll(""+n);y={_:"messageMediaPoll",poll:e,results:s};break}}let S=0,M={};e!=_&&(S|=2,M.out=!0,d.default.isBot(e)||(S|=1,M.unread=!0)),h&&(S|=8),v?(_=0,M.post=!0):S|=256;const D={_:"message",id:n,from_id:_,to_id:m.default.getOutputPeer(e),flags:S,pFlags:M,date:a.tsNow(!0)+g.default.serverTimeOffset,message:"",media:y,random_id:f,reply_to_msg_id:h,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,views:v&&1,pending:!0};D.send=()=>{let i=0;h&&(i|=1),v&&(i|=16),s.clearDraft&&(i|=128);const n={};let d;this.pendingAfterMsgs[e]&&(n.afterMessageID=this.pendingAfterMsgs[e].messageID),d=s.viaBotID?w.default.invokeApi("messages.sendInlineBotResult",{flags:i,peer:m.default.getInputPeerByID(e),random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h),query_id:s.queryID,id:s.resultID},n):w.default.invokeApi("messages.sendMedia",{flags:i,peer:m.default.getInputPeerByID(e),media:t,random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h)},n),d.then(e=>{e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},e=>{a.$rootScope.$broadcast("messages_pending")}).finally(()=>{this.pendingAfterMsgs[e]===n&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=n},this.saveMessages([D]),c.pending.unshift(n),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:n,my:!0}),setTimeout(D.send,0),this.pendingByRandomID[f]=[e,n]}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(this.log("cancelPendingMessage",e,t),t){var s=t[0],i=t[1],n=this.historiesStorage[s],a=n.pending.indexOf(i);return u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[i]}}),-1!=a&&n.pending.splice(a,1),delete this.messagesStorage[i],!0}return!1}getConversationsAll(e=""){return i(this,void 0,void 0,(function*(){const t=[];for(let s=0;s<2;++s){let i=0;for(;;){const{dialogs:n}=yield k.getConversations(e,i,100,s);if(!n.length)break;t.push(...n),i=n[n.length-1].index||0}}return t}))}getConversations(e="",t,s=20,i=0){const n=i>1?0:i;let a=this.dialogsStorage.getFolder(i);if(e){if(!s||this.cachedResults.query!==e){this.cachedResults.query=e;const t=M.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage.dialogs){const s=this.dialogsStorage.dialogs[e];t[s.peerID]&&this.cachedResults.dialogs.push(s)}this.cachedResults.count=this.cachedResults.dialogs.length}a=this.cachedResults.dialogs}else this.cachedResults.query="";let o=0;if(t>0)for(;oa[o].index);o++);return e||this.dialogsStorage.allDialogsLoaded[n]||a.length>=o+s?Promise.resolve({dialogs:a.slice(o,o+s),count:this.dialogsStorage.allDialogsLoaded[n]?a.length:null}):this.getTopMessages(s,n).then(e=>{if(o=0,t>0)for(;oa[o].index);o++);return{dialogs:a.slice(o,o+s),count:e}})}getTopMessages(e,t){const s=this.dialogsStorage.getFolder(t);let i=0,n=0,f=0;return this.dialogsStorage.dialogsOffsetDate[t]&&(i=this.dialogsStorage.dialogsOffsetDate[t]+y.default.serverTimeOffset,n=65536*this.dialogsStorage.dialogsOffsetDate[t]),f|=2,w.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:i,offset_id:o.default.getMessageLocalID(0),offset_peer:m.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{i||c.telegramMeWebService.setAuthorized(!0),d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var o=!!i,f=!1;let l=e.dialogs.length,u={};for(let t=l-1;t>=0;--t){let s=e.dialogs[t];this.saveConversation(s),n&&s.index>n&&(this.newDialogsToHandle[s.peerID]=s,f=!0),s.read_inbox_max_id||s.read_outbox_max_id||(u[s.peerID]=s),o||m.default.isChannel(m.default.getPeerID(s.peer))||(this.incrementMaxSeenID(s.top_message),o=!0)}return Object.keys(u).length&&this.reloadConversation(Object.keys(u).map(e=>+e)).then(()=>{a.$rootScope.$broadcast("dialogs_multiupdate",u);for(let e in u)a.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||s.length>=e.count)&&(this.dialogsStorage.allDialogsLoaded[t]=!0),f?this.scheduleHandleNewDialogs():a.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,s={}){e=m.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var i=0;s.withMyScore&&(i|=256);let n=o.default.splitMessageIDsByChannels(t),a=[];for(let t in n.msgIDs){let s=n.msgIDs[t],o=s.length,r=[];for(let e=0;e{u.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===d&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=d,a.push(f)}return Promise.all(a)}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&m.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){return this.dialogsStorage.getDialog(e)}reloadConversation(e){return[].concat(e).forEach(e=>{this.reloadConversationsPeers.includes(e)||(this.reloadConversationsPeers.push(e),this.log("will reloadConversation",e))}),this.reloadConversationsPromise?this.reloadConversationsPromise:this.reloadConversationsPromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.reloadConversationsPeers.map(e=>m.default.getInputPeerByID(e));this.reloadConversationsPeers.length=0,w.default.invokeApi("messages.getPeerDialogs",{peers:s}).then(t=>{this.applyConversations(t),e()},t).finally(()=>{this.reloadConversationsPromise=null})},0)})}doFlushHistory(e,t){let s=0;return t&&(s|=1),w.default.invokeApi("messages.deleteHistory",{flags:s,peer:e,max_id:0}).then(s=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:s.pts,pts_count:s.pts_count}}),!s.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return i(this,void 0,void 0,(function*(){if(m.default.isChannel(e)){let t=this.getHistory(e,0,1),s=t instanceof Promise?yield t:t,i=-e,n=o.default.getMessageLocalID(s.history[0]||0);return w.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(i),max_id:n}).then(()=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:i,available_min_id:n}}),!0))}return this.doFlushHistory(m.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}t?a.$rootScope.$broadcast("dialog_flush",{peerID:e}):(this.dialogsStorage.dropDialog(e),a.$rootScope.$broadcast("dialog_drop",{peerID:e}))})}))}savePinnedMessage(e,t){t?(this.pinnedMessages[e]=t,this.wrapSingleMessage(t)):delete this.pinnedMessages[e]}getPinnedMessage(e){return this.getMessage(this.pinnedMessages[e]||0)}updatePinnedMessage(e,t){w.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:m.default.getInputPeerByID(e),id:t}).then(e=>{u.default.processUpdateMessage(e)})}saveMessages(e,t={}){e.forEach(e=>{var s;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const i=this.getMessagePeer(e),n="peerChannel"==e.to_id._,a=n?-i:0,l=n&&r.default.isBroadcast(a),c=o.default.getFullMessageID(e.id,a);if(e.mid=c,e.grouped_id){(null!==(s=this.groupedMessagesStorage[e.grouped_id])&&void 0!==s?s:this.groupedMessagesStorage[e.grouped_id]={})[c]=e}const u=this.getDialogByPeerID(i)[0];u&&c>0?e.pFlags.unread=c>u[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=o.default.getFullMessageID(e.reply_to_msg_id,a)),e.date-=y.default.serverTimeOffset,e.peerID=i,e.fromID=e.pFlags.post?i:e.from_id;const p=e.fwd_from;if(p){if(i==d.default.getSelf().id){if(p.saved_from_peer&&p.saved_from_msg_id){const t=m.default.getPeerID(p.saved_from_peer),s=o.default.getFullMessageID(p.saved_from_msg_id,m.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+s}e.fromID=p.channel_id?-p.channel_id:p.from_id}else e.fwdPostID=p.channel_post;e.fwdFromID=p.channel_id?-p.channel_id:p.from_id,p.date-=y.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const g={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=h.default.savePhoto(e.media.photo,g);break;case"messageMediaPoll":e.media.poll=L.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=b.default.saveDoc(e.media.document,g);break;case"messageMediaWebPage":_.default.saveWebPage(e.media.webpage,e.mid,g);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,s;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=h.default.savePhoto(e.action.photo,g),l&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":l&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":l&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=n?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,s=-a;break;case"messageActionChatMigrateTo":t=-a,s=-e.action.channel_id;break;case"messageActionHistoryClear":e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&s&&!this.migratedFromTo[t]&&!this.migratedToFrom[s]&&this.migrateChecks(t,s)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=f.RichTextProcessor.parseEntities(e.message),s=e.entities||[];e.totalEntities=f.RichTextProcessor.mergeEntities(t,s,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[c]=e)})}getRichReplyText(e,t=e.message){let s="";if(e.media)if(e.grouped_id)s+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":s+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":s+="Geolocation";break;case"messageMediaPoll":s+=""+e.media.poll.rReply+"";break;case"messageMediaContact":s+="Contact";break;case"messageMediaDocument":let t=e.media.document;s="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,i="";if(t.message)i=f.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",s=t._;if("messageActionPhoneCall"==s){s+="."+t.type;let i=t.duration;if(i){let t=[];t.push(i%60+" s"),i>=60&&t.push((i/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}i=(a.langPack[s]||t._)+e}s=i?""+i+"":""}let i="";if(t){let e=f.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});i=f.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return s+i}editPeerFolders(e,t){w.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:m.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{this.log("editPeerFolders updates:",e),u.default.processUpdateMessage(e)})}toggleDialogPin(e,t){var s;if(t>1)return void this.filtersStorage.toggleDialogPin(e,t);const i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();const n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=(null===(s=i.pFlags)||void 0===s?void 0:s.pinned)?0:1;return w.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogPinned",peer:n,pFlags:{pinned:a}})})}markDialogUnread(e,t){var s;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=t||(null===(s=i.pFlags)||void 0===s?void 0:s.unread_mark)?0:1;return w.default.invokeApi("messages.markDialogUnread",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogUnreadMark",peer:n,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){const s=r.default.getChat(-e);s&&s.migrated_to&&s.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{const s=this.dialogsStorage.dropDialog(e);s.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:s[0]}),a.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&d.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==d.default.getSelf().id||!(t.date{const i=m.default.getPeerID(e.peer);let n=e.top_message;const o=this.pendingTopMsgs[i];if(o&&(!n||this.getMessage(o).date>this.getMessage(n).date)&&(e.top_message=n=o),n){const n=this.getDialogByPeerID(i)[0];n&&n.pFlags&&n.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0),this.saveConversation(e),n?a.$rootScope.$broadcast("dialog_top",e):(t[i]=e,s=!0)}else{const e=this.dialogsStorage.dropDialog(i);e.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:i,dialog:e[0]})}if(void 0!==this.newUpdatesAfterReloadToHandle[i]){for(const e in this.newUpdatesAfterReloadToHandle[i]){const t=this.newUpdatesAfterReloadToHandle[i][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[i]}}),s&&a.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=m.default.getPeerID(e.peer);if(!t)return!1;const s=m.default.isChannel(t)?-t:0,i=m.default.getPeerSearchText(t);let n,f;if(M.default.indexObject(t,i,this.dialogsIndex),e.top_message?(n=o.default.getFullMessageID(e.top_message,s),f=this.getMessage(n)):(n=this.tempID--,f={_:"message",id:n,mid:n,from_id:d.default.getSelf().id,to_id:m.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([f])),!s&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const s=m.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=s,void(this.migratedToFrom[s]=t)}}if(e.top_message=n,e.read_inbox_max_id=o.default.getFullMessageID(e.read_inbox_max_id,s),e.read_outbox_max_id=o.default.getFullMessageID(e.read_outbox_max_id,s),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e,f.date),f.mid>0&&(f.mid>e[f.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?f.pFlags.unread=!0:f.pFlags.unread=!1),void 0===this.historiesStorage[t]){const s={count:null,history:[],pending:[]};s[n>0?"history":"pending"].push(n),n<0&&f.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=s,this.mergeReplyKeyboard(s,f)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:t})}s&&e.pts&&u.default.addChannelState(s,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var s=t.reply_markup,i=e.reply_markup;if(s)return!(i&&i.mid>=t.mid)&&(!(s.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.midi.mid||t.mid<0)&&t.message)return i.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(i?t.action.user_id==i.fromID:d.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",s={_:"inputMessagesFilterEmpty"},i,n,f=0,l=0){var c=[],u=!t,h={peer:e,filter:s},p=u&&a.deepEqual(this.lastSearchFilter,h);if(u&&!p&&(this.lastSearchFilter=h,this.lastSearchResults=[]),e&&!i&&!t){var b=this.historiesStorage[e];if(void 0!==b&&b.history.length){var v,y={},_=[],S=n||20;switch(s._){case"inputMessagesFilterPhotos":y.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":y.messageMediaPhoto=!0,y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterVideo":y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterDocument":y.messageMediaDocument=!0;break;case"inputMessagesFilterVoice":y.messageMediaDocument=!0,_.push("voice");break;case"inputMessagesFilterRoundVoice":y.messageMediaDocument=!0,_.push("round","voice");break;case"inputMessagesFilterRoundVideo":y.messageMediaDocument=!0,_.push("round");break;case"inputMessagesFilterMusic":y.messageMediaDocument=!0,_.push("audio");break;case"inputMessagesFilterUrl":y.url=!0;break;case"inputMessagesFilterMyMentions":y.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=S)break}}if(c.length=S));e++);}}if(c.length||1e3==n)return u&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),Promise.resolve({count:0,next_rate:0,history:c});let M;if(e||!t)M=w.default.invokeApi("messages.search",{flags:0,peer:m.default.getInputPeerByID(e),q:t||"",filter:s||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:n,offset_id:o.default.getMessageLocalID(i)||0,add_offset:l?-l:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,E=0,I=i&&this.getMessage(i);I&&I.date&&(I.date+g.default.serverTimeOffset,E=I.id,D=this.getMessagePeer(I)),M=w.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:f,offset_peer:m.default.getInputPeerByID(D),offset_id:o.default.getMessageLocalID(E),limit:n||20},{timeout:0,noErrorBox:!0})}return M.then(e=>{d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return c=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var s=r.default.getChat(-t);s.migrated_to&&this.migrateChecks(t,-s.migrated_to.channel_id)}c.push(e.mid)}),u&&(!i||p&&this.lastSearchResults.indexOf(i)>=0)&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),{count:t,next_rate:e.next_rate,history:c}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs,0))}deleteMessages(e,t){const s=o.default.splitMessageIDsByChannels(e),i=[];for(const e in s.msgIDs){const n=+e;let a,o=s.msgIDs[n];if(n>0){const e=r.default.getChat(n);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&o.forEach((e,i)=>{this.getMessage(s.mids[n][i]).pFlags.out&&t.push(e)}),!t.length)return;o=t}a=w.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(n),id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:n,messages:o,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),a=w.default.invokeApi("messages.deleteMessages",{flags:e,id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:o,pts:e.pts,pts_count:e.pts_count}})})}i.push(a)}return Promise.all(i)}readHistory(e,t=0,s=0){const i=m.default.isChannel(e),n=this.historiesStorage[e],o=this.getDialogByPeerID(e)[0];if(!o||!o.unread_count){if(!n||!n.history.length)return Promise.resolve(!1);if(!!!n.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(n.readPromise)return n.readPromise;let d;return d=i?w.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):w.default.invokeApi("messages.readHistory",{peer:m.default.getInputPeerByID(e),max_id:t}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),n.readPromise=d.then(()=>{let i=-1;0!=t&&n.history.length&&(i=n.history.indexOf(t));let r=1;if(n.history.length&&t)for(let e=-1==i?0:i,s=n.history.length;et)continue;const i=this.messagesStorage[s];i&&!i.pFlags.out&&(i.pFlags.unread=!1,r++)}return!!o&&(n.history.length&&(o.read_inbox_max_id=t),o.read_inbox_max_id==o.top_message||o.read_inbox_max_id==o.read_outbox_max_id?o.unread_count=0:o.unread_count=Math.max(o.unread_count-(s||r),0),this.log("readHistory set unread_count to:",o.unread_count,o),a.$rootScope.$broadcast("dialog_unread",{peerID:e,count:o.unread_count}),a.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete n.readPromise}),n.readPromise}readMessages(e){var t=o.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e];e>0?w.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:s}).then(()=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:s}})}):w.default.invokeApi("messages.readMessageContents",{id:s}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:s,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){var t,s;switch(this.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var i=e.random_id,n=this.pendingByRandomID[i];if(n){var f=n[0],l=n[1],c=m.default.isChannel(f)?-f:0,u=o.default.getFullMessageID(e.id,c);if(p=this.messagesStorage[u]){var h=(g=this.historiesStorage[f]).pending.indexOf(l);-1!=h&&g.pending.splice(h,1),delete this.messagesStorage[l],this.finalizePendingMessageCallbacks(l,u)}else this.pendingByMessageID[u]=i}break;case"updateNewMessage":case"updateNewChannelMessage":var p=e.message,g=(f=this.getMessagePeer(p),this.historiesStorage[f]);if(!(C=this.getDialogByPeerID(f)).length){this.newDialogsToHandle[f]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[f]&&(this.newUpdatesAfterReloadToHandle[f]=[]),this.newUpdatesAfterReloadToHandle[f].push(e);break}if("updateNewChannelMessage"==e._){var b=r.default.getChat(-f);if(b.pFlags&&(b.pFlags.left||b.pFlags.kicked))break}if(this.saveMessages([p],{isNew:!0}),void 0===g&&(g=this.historiesStorage[f]={count:null,history:[],pending:[]}),-1!=(F=p.mid>0?g.history:g.pending).indexOf(p.mid))return!1;var v,_=F[0];F.unshift(p.mid),p.mid>0&&p.mid<_&&F.sort((e,t)=>t-e),p.mid>0&&null!==g.count&&g.count++,this.mergeReplyKeyboard(g,p)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:f}),!p.pFlags.out&&p.from_id&&d.default.forceUserOnline(p.from_id),(i=this.pendingByMessageID[p.mid])&&((v=this.finalizePendingMessage(i,p))&&a.$rootScope.$broadcast("history_update",{peerID:f,mid:p.mid}),delete this.pendingByMessageID[p.mid]),v||(void 0===this.newMessagesToHandle[f]&&(this.newMessagesToHandle[f]=[]),this.newMessagesToHandle[f].push(p.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages,0)));var S=!p.pFlags.out&&p.pFlags.unread;(L=C[0]).top_message=p.mid,S&&L.unread_count++,L.pFlags.pinned&&L.index||(L.index=this.dialogsStorage.generateDialogIndex(p.date)),this.newDialogsToHandle[f]=L,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{this.log("updateDialogUnreadMark",e);let t=m.default.getPeerID(e.peer.peer),s=this.getDialogByPeerID(t);if(s.length){let t=s[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,a.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{this.log("updateFolderPeers",e);const t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{var t;const{folder_id:s,peer:i}=e,n=m.default.getPeerID(i),a=this.dialogsStorage.dropDialog(n);if(a.length){const e=a[0];this.newDialogsToHandle[n]=e,(null===(t=e.pFlags)||void 0===t?void 0:t.pinned)&&(delete e.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(t=>t==e.peerID)),e.folder_id=s,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e)}else this.newDialogsToHandle[n]={reload:!0}});break}case"updateDialogPinned":{const s=null!==(t=e.folder_id)&&void 0!==t?t:0;this.log("updateDialogPinned",e);const i=m.default.getPeerID(e.peer.peer),n=this.getDialogByPeerID(i);if(this.scheduleHandleNewDialogs(),n.length){const t=n[0];this.newDialogsToHandle[i]=t,e.pFlags.pinned?t.pFlags.pinned=!0:(delete t.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(e=>e==t.peerID)),this.dialogsStorage.generateIndexForDialog(t)}else this.newDialogsToHandle[i]={reload:!0};break}case"updatePinnedDialogs":{const t=null!==(s=e.folder_id)&&void 0!==s?s:0;this.log("updatePinnedDialogs",e);const i={};if(!e.order){w.default.invokeApi("messages.getPinnedDialogs",{folder_id:t}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{i[e.peerID]=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.dialogsStorage.pinnedOrders[t].length=0;let n=!1;e.order.reverse(),e.order.forEach(e=>{const t=m.default.getPeerID(e.peer);i[t]=!0;const s=this.getDialogByPeerID(t);if(!s.length)return this.newDialogsToHandle[t]={reload:!0},void(n=!0);const a=s[0];a.pFlags.pinned=!0,this.dialogsStorage.generateIndexForDialog(a),this.newDialogsToHandle[t]=a,n=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},n=!0)}),n&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":p=e.message,f=this.getMessagePeer(p),c="peerChannel"==p.to_id._?-f:0,u=o.default.getFullMessageID(p.id,c);if(void 0===this.messagesStorage[u])break;this.saveMessages([p],{isEdited:!0}),a.safeReplaceObject(this.messagesStorage[u],p);var L,M=(L=this.getDialogByPeerID(f)[0])&&L.top_message==u;if(p.clear_history)M&&a.$rootScope.$broadcast("dialog_flush",{peerID:f});else if(a.$rootScope.$broadcast("message_edit",{peerID:f,id:p.id,mid:u,justMedia:!1}),M){var D={};D[f]=L,a.$rootScope.$broadcast("dialogs_multiupdate",D)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var E="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,I=(c=e.channel_id,o.default.getFullMessageID(e.max_id,c)),C=(f=c?-c:m.default.getPeerID(e.peer),this.getDialogByPeerID(f)),P=0,k=(F=(this.historiesStorage[f]||{}).history||[]).length,T=!1;for(f>0&&E&&d.default.forceUserOnline(f),X=0;XI)&&(p=this.messagesStorage[R])&&p.pFlags.out==E){if(!p.pFlags.unread)break;p&&p.pFlags.unread&&(p.pFlags.unread=!1,T||(T=!0),p.pFlags.out||C[0]&&(P=--C[0].unread_count))}C[0]&&(!E&&P&&C[0].top_message<=I&&(P=C[0].unread_count=0),C[0][E?"read_outbox_max_id":"read_inbox_max_id"]=I),a.$rootScope.$broadcast("dialog_unread",{peerID:f,count:P}),T&&a.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":c=e.channel_id;var A=[];e.messages.forEach(e=>{A.push(o.default.getFullMessageID(e,c))}),e.messages=A;case"updateReadMessagesContents":var X,x=(B=e.messages).length;for(X=0;X{(!e.available_min_id||o.default.getMessageLocalID(t)<=e.available_min_id)&&B.push(t)}),e.messages=B;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},s=e.channel_id;for(let i=0;i{let s=t[+e],i=this.historiesStorage[e];if(void 0!==i){let t=[],n=[];for(let e=0;e0&&(i.count-=s.count,i.count<0&&(i.count=0));for(let e=0;e0;!("channel"!=i._||!i.username&&(i.pFlags.left||i.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],a.$rootScope.$broadcast("history_forbidden",s)),d!=n&&(n?this.reloadConversation(-t):o[0]&&(this.dialogsStorage.dropDialog(s),a.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:o[0]})));break}case"updateChannelReload":{const t=e.channel_id,s=-t;this.dialogsStorage.dropDialog(s),delete this.historiesStorage[s],this.reloadConversation(-t).then(()=>{a.$rootScope.$broadcast("history_reload",s)});break}case"updateChannelMessageViews":{let t=e.views,s=o.default.getFullMessageID(e.id,e.channel_id),i=this.getMessage(s);i&&i.views&&i.views{e(t)}),delete this.tempFinalizeCallbacks[e]),a.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;p.default.set({max_seen_msg:e}),w.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,s,i){var n;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const a=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,d=!1,f=!1,l=e;if(this.migratedToFrom[e]&&(f=!0,t&&t0)for(d=!0;ra.history[r]){d=!1;break}if(!d&&(null!==a.count&&a.history.length==a.count||a.history.length>=r+s)){i?(i=Math.min(r,i),r=Math.max(0,r-i),s+=i):s=s;let e=a.history.slice(r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})}return d&&(r=0),(i||t)&&-1==a.history.indexOf(t)?(i&&(r=-i,s+=i),this.requestHistory(l,t,s,r).then(e=>{a.count=e.count||e.messages.length,f&&a.count++;let s=[];return e.messages.forEach(e=>{s.push(e.mid)}),!t&&a.pending.length&&(s=a.pending.slice().concat(s)),this.wrapHistoryResult({count:a.count,history:s,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,s,a).then(()=>{if(r=0,t>0)for(r=0;ra.history[r]);r++);let e=a.history.slice(i?Math.max(r-i,0):r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,s,i){const n=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,s,n).then(n=>{i.count=n.count||n.messages.length,!t&&n.messages.length&&(t=n.messages[0].mid+1);let o=0;if(t>0)for(;oi.history[o]);o++);const r=i.history.length;i.history.splice(o,i.history.length-o),n.messages.forEach(t=>{this.mergeReplyKeyboard(i,t)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:e}),i.history.push(t.mid)});const d=i.history.length;s-=d-r;const f=this.migratedFromTo[e],l=this.migratedToFrom[e],c=void 0!==f||void 0!==l;if(c&&(i.count=Math.max(i.count,d)+1),s>0){if(t=i.history[d-1],c){if(!n.messages.length){if(!l)return i.count=d,!0;t=0,e=l}return this.fillHistoryStorage(e,t,s,i)}if(d=0;t--){const s=this.messagesStorage[e.history[t]];if(s&&!s.pFlags.out&&s.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,s=0,i=0,n=0){const f=m.default.isChannel(e);return a.$rootScope.$broadcast("history_request"),w.default.invokeApi("messages.getHistory",{peer:m.default.getInputPeerByID(e),offset_id:t?o.default.getMessageLocalID(t):0,offset_date:n,add_offset:i,limit:s,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(n=>{this.log("requestHistory result:",n,t,s,i),d.default.saveApiUsers(n.users),r.default.saveApiChats(n.chats),this.saveMessages(n.messages),f&&u.default.addChannelState(-e,n.pts);let a=n.messages.length;a&&n.messages[a-1].deleted&&(n.messages.splice(a-1,1),a--,n.count--);const o=this.historiesStorage[e];return a&&n.messages[a-1].grouped_id&&o.history.length+n.messages.lengthn):n},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;const e=this.needSingleMessages.slice();this.needSingleMessages.length=0;const t=o.default.splitMessageIDsByChannels(e);let s=[];Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var n;n=e>0?w.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:i}):w.default.invokeApi("messages.getMessages",{id:i}),s.push(n.then(s=>{d.default.saveApiUsers(s.users),r.default.saveApiChats(s.chats),this.saveMessages(s.messages),a.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(s).finally(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e,t=!1){this.messagesStorage[e]&&!t?a.$rootScope.$broadcast("messages_downloaded",[e]):-1==this.needSingleMessages.indexOf(e)&&(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)))}setTyping(e){if(!a.$rootScope.myID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=m.default.getInputPeerByID(a.$rootScope.myID);return w.default.invokeApi("messages.setTyping",{peer:t,action:e})}}t.AppMessagesManager=P;const k=new P;t.default=k},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(5)),a=i(s(9)),o=s(0),r=s(3),d=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],f=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],l=[0,7,4,1,6,3,5],c={getPeerPhoto:e=>e>0?n.default.getUserPhoto(e):a.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=a.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&c.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,s=!1)=>{let i={};i=o.isObject(e)?e:c.getPeer(e);let n="";return e>0?(i.first_name&&(n+=i.first_name),i.last_name&&(n+=" "+i.last_name),n=n?n.trim():i.pFlags.deleted?"Deleted account":i.username):n=i.title,s&&(n=n.split(" ")[0]),t?n:r.RichTextProcessor.wrapEmojiText(n)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return a.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?n.default.getUserString(e):a.default.getChatString(-e),getPeerUsername:e=>e>0?n.default.getUser(e).username||"":a.default.getChat(-e).username||"",getPeer:e=>e>0?n.default.getUser(e):a.default.getChat(-e),getPeerID:e=>{if("number"==typeof e)return e;if(o.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);if(!e)return 0;const t="u"==e.charAt(0),s=e.substr(1).split("_");return t?s[0]:-s[0]||0},isChannel:e=>e<0&&a.default.isChannel(-e),isMegagroup:e=>e<0&&a.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!a.default.isBroadcast(-e),isBroadcast:e=>c.isChannel(e)&&!c.isMegagroup(e),isBot:e=>e>0&&n.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),s=e.substr(1).split("_");let i=+s[0];return"u"==t?(n.default.saveUserAccess(i,s[1]),{_:"inputPeerUser",user_id:i,access_hash:s[1]}):"c"==t||"s"==t?(a.default.saveChannelAccess(i,s[1]),"s"==t&&a.default.saveIsMegagroup(i),{_:"inputPeerChannel",channel_id:i,access_hash:s[1]||0}):{_:"inputPeerChat",chat_id:i}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return a.default.isChannel(t)?a.default.getChannelInputPeer(t):a.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:n.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?f:d)[l[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+n.default.getUserSearchText(e);else if(e<0){t="%pg "+(a.default.getChat(-e).title||"")}return t}};t.default=c},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppChatsManager=void 0;const a=s(0),o=s(3),r=n(s(5)),d=n(s(2)),f=n(s(32)),l=n(s(27)),c=n(s(38));class u{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},this.onChatUpdated=(e,t)=>{f.default.processUpdateMessage(t),t&&t.updates&&t.updates.length&&this.isChannel(e)&&l.default.invalidateChannelParticipants(e)},a.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateChannel":const e=t.channel_id;a.$rootScope.$broadcast("channel_settings",{channelID:e})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!a.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=o.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],s=c.default.cleanSearchText(e.title||"",!1).split(" "),i=s.shift(),n=s.pop();if(e.initials=i.charAt(0)+(n?n.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=c.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let s=t.photo&&t.photo.photo_small,i=e.photo&&e.photo.photo_small;JSON.stringify(s)!==JSON.stringify(i)&&(r=!0),a.safeReplaceObject(t,e),a.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&a.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&a.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{_:"chatEmpty",id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var s,i;const n=this.getChat(e);if("chatEmpty"==n._)return!1;if("chatForbidden"==n._||"channelForbidden"==n._||n.pFlags.kicked||n.pFlags.left)return!1;if(n.pFlags.creator)return!0;let a=null!==(i=null===(s=n.admin_rights||n.banned_rights||n.default_banned_rights)||void 0===s?void 0:s.pFlags)&&void 0!==i?i:{};switch(t){case"send":if("channel"==n._&&!n.pFlags.megagroup&&!a.post_messages)return!1;break;case"deleteRevoke":if("channel"==n._)return!!a.delete_messages;if(!n.pFlags.admin)return!1;break;case"pin":if("channel"==n._)return n.admin_rights?!!a.pin_messages||!!a.post_messages:!a.pin_messages;if(a.pin_messages&&!n.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==n._){if(!n.pFlags.megagroup)return!1;if("invite"!=t||!n.pFlags.democracy)return!1}else if(n.pFlags.admins_enabled&&!n.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){e<0&&(e=-e);let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?(e<0&&(e=-e),{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}):{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let s=this.chats[e];return a.isObject(s)&&(t||!s.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const s=this.getChat(e),i=this.isBroadcast(e),n=s.participants_count||(null===(t=s.participants)||void 0===t?void 0:t.participants.length)||0;return a.numberWithCommas(n)+" "+(i?"followers":"members")}wrapForFull(e,t){let s=a.copy(t),i=this.getChat(e);return s.participants_count||(s.participants_count=i.participants_count),s.participants&&"chatParticipants"==s.participants._&&(s.participants.participants=this.wrapParticipants(e,s.participants.participants)),s.about&&(s.rAbout=o.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.peerString=this.getChatString(e),s.chat=i,s}wrapParticipants(e,t){let s=this.getChat(e),i=r.default.getSelf().id;if(this.isChannel(e)){let e=s.pFlags.creator;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=s.pFlags.creator||s.pFlags.admins_enabled&&s.pFlags.admin;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=!t.canLeave&&(s.pFlags.creator||"chatParticipant"==t._&&(e||i==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return d.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let s=this.getChannelInput(e),i=t.map(e=>r.default.getUserInput(e));return d.default.invokeApi("channels.inviteToChannel",{channel:s,users:i}).then(e=>{f.default.processUpdateMessage(e)})}createChat(e,t){return d.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let s={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?d.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:s}).then(e=>{f.default.processUpdateMessage(e)}):d.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:s}).then(e=>{f.default.processUpdateMessage(e)})}getOnlines(e){var t,s;return i(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let i=Date.now()/1e3|0,n=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(i-n.timestamp<60)return n.onlines;let a=yield d.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),o=null!==(s=a.onlines)&&void 0!==s?s:1;return n.timestamp=i,n.onlines=o,o}if(this.isBroadcast(e))return 1;let i=l.default.getChatFull(e);if("chatFull"==i._&&i.participants&&i.participants.participants){return i.participants.participants.reduce((e,t)=>{let s=r.default.getUser(t.user_id);return s&&s.status&&"userStatusOnline"==s.status._?e+1:e},0)}return 1}))}leaveChannel(e){return d.default.invokeApi("channels.leaveChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}joinChannel(e){return d.default.invokeApi("channels.joinChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}}t.AppChatsManager=u,t.default=new u},function(e,t,s){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.LogLevels=void 0,function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(i=t.LogLevels||(t.LogLevels={}));var n=Date.now();function a(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"}t.logger=function(e,t=i.log|i.warn|i.error){function s(...s){return t&i.log&&console.log(a(),"["+e+"]:",...s)}return t=i.error,s.warn=function(...s){return t&i.warn&&console.warn(a(),"["+e+"]:",...s)},s.info=function(...s){return t&i.log&&console.info(a(),"["+e+"]:",...s)},s.error=function(...s){return t&i.error&&console.error(a(),"["+e+"]:",...s)},s.trace=function(...s){return t&i.log&&console.trace(a(),"["+e+"]:",...s)},s.debug=function(...s){return t&i.debug&&console.debug(a(),"["+e+"]:",...s)},s}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(3),o=s(0),r=n(s(54)),d=s(21),f=n(s(28)),l=n(s(13)),c=s(1);const u=new class{constructor(){this.docs={}}saveDoc(e,t){if(this.docs[e.id]){const t=this.docs[e.id];return e.thumbs&&(t.thumbs||(t.thumbs=e.thumbs)),t.file_reference=e.file_reference,t}if(t&&Object.assign(e,t),this.docs[e.id]=e,e.attributes.forEach(t=>{switch(t._){case"documentAttributeFilename":e.file_name=a.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice&&"audio/ogg"==e.mime_type?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=a.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return c.isServiceWorkerSupported&&("gif"==e.type&&e.size>8e6||"audio"==e.type||"video"==e.type)&&(e.supportsStreaming=!0,e.url||(e.url=this.getFileURL(e))),e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return o.isObject(e)&&"string"!=typeof e?e:this.docs[e]}getMediaInput(e){return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference},ttl_seconds:0}}getInput(e,t){return{_:"inputDocumentFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t}}getFileDownloadOptions(e,t){const s=this.getInput(e,null==t?void 0:t.type);let i;return i=t?e.sticker?"image/webp":"image/jpeg":e.mime_type||"application/octet-stream",{dcID:e.dc_id,location:s,size:t?t.size:e.size,mimeType:i,fileName:e.file_name}}getFileURL(e,t=!1,s){let i;return i=t?"download":s?"thumb":e.supportsStreaming?"stream":"document",o.getFileURL(i,this.getFileDownloadOptions(e,s))}getThumbURL(e,t){let s=Promise.resolve();return t.url||(t.bytes?t.url=l.default.getPreviewURLFromBytes(t.bytes,!!e.sticker):s=this.downloadDocNew(e,t)),{thumb:t,promise:s}}getThumb(e,t=!0){var s;if(null===(s=e.thumbs)||void 0===s?void 0:s.length){let s;return t||(s=e.thumbs.find(e=>!e.bytes)),s||(s=e.thumbs[0]),this.getThumbURL(e,s)}return null}getInputFileName(e,t){return d.getFileNameByLocation(this.getInput(e,t),{fileName:e.file_name})}downloadDocNew(e,t){const s=this.getDoc(e);if("documentEmpty"==s._)throw new Error("Document empty!");const n=this.getInputFileName(s,null==t?void 0:t.type);let a=f.default.getDownload(n);if(a)return a;const o=this.getFileDownloadOptions(s,t);a=f.default.download(o);const d=a;return d.then(e=>{t?t.url=URL.createObjectURL(e):(s.supportsStreaming||(s.url=URL.createObjectURL(e)),s.downloaded=!0)}),"voice"!=s.type||r.default.isPlaySupported()||(a=d.then(e=>i(this,void 0,void 0,(function*(){let t=new FileReader;return yield new Promise((i,n)=>{t.onloadend=e=>{let t=new Uint8Array(e.target.result);r.default.decode(t).then(e=>{s.url=e.url,i()},e=>{delete s.downloaded,n(e)})},t.readAsArrayBuffer(e)}),e})))),a}saveDocFile(e){const t=this.getFileDownloadOptions(e);return f.default.downloadToDisc(t,e.file_name)}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppImManager=void 0;const r=o(s(2)),d=s(0),f=o(s(5)),l=o(s(7)),c=o(s(8)),u=o(s(27)),h=o(s(15)),p=s(3),m=o(s(13)),g=o(s(22)),b=s(10),v=o(s(56)),y=o(s(14)),w=o(s(9)),_=s(20),S=o(s(35)),L=s(4),M=s(95),D=o(s(6)),E=o(s(101)),I=o(s(23)),C=o(s(11)),P=o(s(50)),k=o(s(43)),T=o(s(41)),A=o(s(62)),X=o(s(64)),x=s(36),F=s(1),B=o(s(18)),R=o(s(61)),O=o(s(29)),j=a(s(42)),U=o(s(102)),N=o(s(37)),H=o(s(39)),$=s(19),q=s(26);y.default;class z{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},L.parseMenuButtonsTo(this.buttons,this.element.children),L.attachContextMenuListener(e,e=>{let t=null;try{t=d.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),t=t.parentElement;let s=+t.dataset.mid;if(!s)return;let i=d.$rootScope.selectedPeerID;this.msgID=s;const n=l.default.getMessage(s);this.buttons.copy.style.display=n.message?"":"none",d.$rootScope.myID==i||i<0&&w.default.hasRights(-i,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=l.default.canEditMessage(s)?"":"none";let a=t.classList.contains("is-in")?"left":"right";L.positionMenu(e,this.element,a),L.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=l.default.getMessage(this.msgID),t=e?e.message:"";var s=document.createElement("textarea");s.value=t,s.style.position="fixed",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(s)}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=d.$rootScope.selectedPeerID,n=c.default.getPeerTitle(i,!1,!0),a=e=>{l.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",i==d.$rootScope.myID?s=[{text:"DELETE",isDanger:!0,callback:()=>a(!1)}]:(s=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!1)}],i>0?s.push({text:"DELETE FOR ME AND "+n,isDanger:!0,callback:()=>a(!0)}):w.default.hasRights(-i,"deleteRevoke")&&s.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>a(!0)})),s.push({text:"CANCEL",isCancel:!0}),new x.PopupPeer("popup-delete-chat",{peerID:i,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:s}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo(c.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{P.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{l.default.updatePinnedMessage(d.$rootScope.selectedPeerID,this.msgID)})}}class W{constructor(){this.foundCount=0,this.selectedIndex=0,this.onDateClick=e=>{d.cancelEvent(e),new U.default(new Date,Q.onDatePick).show()},this.selectResult=e=>{if(this.setPeerPromise)return this.setPeerPromise;const t=+e.getAttribute("data-peerID"),s=+e.dataset.mid||void 0,i=d.whichChild(e);i==this.foundCount-1?this.upBtn.setAttribute("disabled","true"):this.upBtn.removeAttribute("disabled"),i?this.downBtn.removeAttribute("disabled"):this.downBtn.setAttribute("disabled","true"),this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active");const n=Q.setPeer(t,s);this.setPeerPromise=(n instanceof Promise?n:Promise.resolve(n)).then(()=>{this.selectedIndex=i,this.foundCountEl.innerText=`${i+1} of ${this.foundCount}`;const e=this.searchGroup.list.childElementCount;this.selectedIndex>=e-6&&this.appSearch.searchMore()}).finally(()=>{this.setPeerPromise=null})},this.onResultsClick=e=>{const t=d.findUpTag(e.target,"LI");t&&this.selectResult(t)},this.onFooterClick=e=>{this.foundCount&&(Q.bubblesContainer.classList.toggle("search-results-active"),this.results.classList.toggle("active"))},this.onUpClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex+1])},this.onDownClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex-1])},this.element=document.createElement("div"),this.element.classList.add("sidebar-header","chat-search","chats-container"),this.backBtn=document.createElement("button"),this.backBtn.classList.add("btn-icon","tgico-back","sidebar-close-button"),$.ripple(this.backBtn),this.backBtn.addEventListener("click",()=>{Q.topbar.classList.remove("hide-pinned"),this.element.remove(),this.searchInput.remove(),this.results.remove(),this.footer.remove(),this.footer.removeEventListener("click",this.onFooterClick),this.dateBtn.removeEventListener("click",this.onDateClick),this.upBtn.removeEventListener("click",this.onUpClick),this.downBtn.removeEventListener("click",this.onDownClick),this.searchGroup.list.removeEventListener("click",this.onResultsClick),Q.bubblesContainer.classList.remove("search-results-active")},{once:!0}),this.searchInput=new O.default("Search"),this.results=document.createElement("div"),this.results.classList.add("chat-search-results","chats-container"),this.searchGroup=new j.SearchGroup("","messages",void 0,"",!1),this.searchGroup.list.addEventListener("click",this.onResultsClick),this.appSearch=new j.default(this.results,this.searchInput,{messages:this.searchGroup},e=>{this.foundCount=e,this.foundCount?this.selectResult(this.searchGroup.list.children[0]):(this.foundCountEl.innerText=this.searchInput.value?"No results":"",this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"))}),this.appSearch.beginSearch(d.$rootScope.selectedPeerID),Q.bubblesContainer.append(this.results),this.footer=document.createElement("div"),this.footer.classList.add("chat-search-footer"),this.footer.addEventListener("click",this.onFooterClick),$.ripple(this.footer),this.foundCountEl=document.createElement("span"),this.foundCountEl.classList.add("chat-search-count"),this.dateBtn=document.createElement("button"),this.dateBtn.classList.add("btn-icon","tgico-calendar"),this.controls=document.createElement("div"),this.controls.classList.add("chat-search-controls"),this.upBtn=document.createElement("button"),this.upBtn.classList.add("btn-icon","tgico-up"),this.downBtn=document.createElement("button"),this.downBtn.classList.add("btn-icon","tgico-down"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"),this.dateBtn.addEventListener("click",this.onDateClick),this.upBtn.addEventListener("click",this.onUpClick),this.downBtn.addEventListener("click",this.onDownClick),this.controls.append(this.upBtn,this.downBtn),this.footer.append(this.foundCountEl,this.dateBtn,this.controls),Q.topbar.parentElement.insertBefore(this.footer,Q.chatInput),this.element.append(this.backBtn,this.searchInput.container),Q.topbar.classList.add("hide-pinned"),Q.topbar.parentElement.append(this.element),this.searchInput.input.focus()}}class G{constructor(){this.container=document.createElement("div"),this.container.classList.add("pinned-audio","pinned-container"),this.container.style.display="none",this.toggle=document.createElement("div"),this.toggle.classList.add("pinned-audio-ico","tgico"),this.title=document.createElement("div"),this.title.classList.add("pinned-audio-title"),this.subtitle=document.createElement("div"),this.subtitle.classList.add("pinned-audio-subtitle"),this.close=document.createElement("button"),this.close.classList.add("pinned-audio-close","btn-icon","tgico-close"),this.container.append(this.toggle,this.title,this.subtitle,this.close),this.close.addEventListener("click",e=>{d.cancelEvent(e),this.container.style.display="none",this.container.parentElement.classList.remove("is-audio-shown"),this.toggle.classList.contains("flip-icon")&&N.default.toggle()}),this.toggle.addEventListener("click",e=>{d.cancelEvent(e),N.default.toggle()}),d.$rootScope.$on("audio_play",e=>{const{doc:t,mid:s}=e.detail;let i,n;if("voice"==t.type||"round"==t.type){const e=l.default.getMessage(s);i=c.default.getPeerTitle(e.fromID,!1,!0),n=_.formatDate(e.date,!1,!1)}else i=t.audioTitle||t.file_name,n=t.audioPerformer?p.RichTextProcessor.wrapPlainText(t.audioPerformer):"Unknown Artist";if(this.title.innerHTML=i,this.subtitle.innerHTML=n,this.toggle.classList.add("flip-icon"),this.container.dataset.mid=""+s,this.container.style.display){const e=Q.scrollable.scrollTop;this.container.style.display="",this.container.parentElement.classList.add("is-audio-shown"),Q.scrollable.scrollTop=e}}),d.$rootScope.$on("audio_pause",()=>{this.toggle.classList.remove("flip-icon")})}}class V{constructor(){this.columnEl=document.getElementById("column-center"),this.btnJoin=this.columnEl.querySelector(".chat-join"),this.btnMute=this.columnEl.querySelector(".chat-mute-button"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.columnEl.querySelector(".chat-search-button"),this.goDownBtn=this.columnEl.querySelector("#bubbles-go-down"),this.menuButtons={},this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=null,this.lazyLoadQueue=new I.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.chatInfo=this.columnEl.querySelector(".chat-info"),this.contextMenu=new z(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new E.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.selectTab=q.horizontalMenu(null,document.getElementById("main-columns")),this.closeBtn=this.topbar.querySelector(".sidebar-close-button"),this.onDatePick=e=>{const t=this.peerID;l.default.requestHistory(t,0,2,-1,e).then(e=>{var s;(null===(s=null==e?void 0:e.messages)||void 0===s?void 0:s.length)?this.peerID==t&&Q.setPeer(this.peerID,e.messages[0].mid):this.log.error("no history!")})},this.log=b.logger("IM",b.LogLevels.log|b.LogLevels.warn|b.LogLevels.debug|b.LogLevels.error),this.chatInputC=new M.ChatInput,this.preloader=new S.default(null,!1),this.selectTab(0),L.parseMenuButtonsTo(this.menuButtons,this.columnEl.querySelector(".chat-more-button").firstElementChild.children),this.chatAudio=new G,this.topbar.insertBefore(this.chatAudio.container,this.chatInfo.nextElementSibling),r.default.getUserID().then(e=>{this.myID=d.$rootScope.myID=e}),d.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=d.$rootScope.myID=t?t.id:0}),d.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),d.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,s=this.bubbles[e];if(!s)return;let i=l.default.getMessage(e);this.getDateContainerByMessage(i,!1).container.append(s),this.bubbleGroups.addBubble(s,i,!1)}}),d.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let s=t[this.peerID];this.renderNewMessagesByIDs(s)}),d.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),d.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),d.$rootScope.$on("chat_update",e=>{var t;const s=e.detail;if(this.peerID==-s){const e=w.default.getChat(s);this.btnJoin.classList.toggle("hide",!(null===(t=null==e?void 0:e.pFlags)||void 0===t?void 0:t.left))}}),d.$rootScope.$on("message_sent",e=>{var t,s,i;const{tempID:n,mid:a}=e.detail;this.log("message_sent",e.detail);const o=l.default.getMessage(a);if(o.media)if(o.media.photo){const e=m.default.getPhoto(n);if(e){const t=o.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(o.media.document){const e=C.default.getDoc(n);if(e&&e.type&&"sticker"!=e.type){const t=o.media.document;t.downloaded=e.downloaded,t.url=e.url}}let r=this.bubbles[n];if(r){if(this.bubbles[a]=r,o.grouped_id){let e=r.querySelectorAll(".album-item"),t=d.getObjectKeysAndSort(l.default.groupedMessagesStorage[o.grouped_id]);Array.from(e).forEach((e,s)=>{e.dataset.mid=""+t[s]})}if(null===(t=o.media)||void 0===t?void 0:t.poll){const e=o.media.poll,t=r.querySelector("poll-element");t&&(t.setAttribute("poll-id",e.id),t.setAttribute("message-id",a),delete H.default.polls[n],delete H.default.results[n])}if(["audio","voice"].includes(null===(i=null===(s=o.media)||void 0===s?void 0:s.document)||void 0===i?void 0:i.type)){const e=r.querySelector("audio-element");e.setAttribute("doc-id",o.media.document.id),e.setAttribute("message-id",""+a)}r.classList.remove("is-sending"),r.classList.add("is-sent"),r.dataset.mid=a,this.bubbleGroups.removeBubble(r,n),delete this.bubbles[n]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(n)&&(this.unreadOut.delete(n),this.unreadOut.add(a))}),d.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:s,id:i,justMedia:n}=e.detail;if(t!=this.peerID)return;let a=l.default.getMessage(s),o=this.bubbles[s];if(!o&&a.grouped_id){let e=this.getAlbumBubble(a.grouped_id);o=e.bubble,a=e.message}o&&this.renderMessage(a,!0,!1,o,!1)}),d.$rootScope.$on("messages_downloaded",e=>{const t=e.detail,s=l.default.getPinnedMessage(this.peerID);t.forEach(e=>{s.mid==e&&(this.messagesQueuePromise||Promise.resolve()).then(()=>{this.setPinnedMessage(s)}),this.needUpdate.forEachReverse((t,s)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(s,1)[0],i=this.bubbles[e];if(!i)return;let n=l.default.getMessage(e);l.default.getMessage(t).deleted&&delete n.reply_to_mid,this.renderMessage(n,!0,!1,i,!1)}})})}),d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{B.default.checkAnimations(!0),this.offline=d.$rootScope.idle.isIDLE=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{this.offline=d.$rootScope.idle.isIDLE=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),B.default.checkAnimations(!1)},{once:!0})}),this.topbar.addEventListener("click",e=>{const t=d.findUpClassName(e.target,"pinned-container");if(t){d.cancelEvent(e);const s=+t.dataset.mid,i=l.default.getMessage(s);this.setPeer(i.peerID,s)}else g.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t,s;let i=e.target,n=null;try{n=d.findUpClassName(i,"bubble")}catch(e){}if(!n)return;if(n.classList.contains("is-date")&&d.findUpClassName(i,"bubble__container")){if(n.classList.contains("is-sticky")&&!this.chatInner.classList.contains("is-scrolling"))return;for(let e in this.dateMessages){if(this.dateMessages[e].div==n){new U.default(new Date(+e),this.onDatePick).show();break}}return}let a=d.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName)if(n.classList.contains("sticker")&&i.parentElement.classList.contains("attachment")){const e=+n.dataset.mid,s=null===(t=l.default.getMessage(e).media)||void 0===t?void 0:t.document;(null==s?void 0:s.stickerSetInput)&&new R.default(s.stickerSetInput).show()}else{if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!n.classList.contains("round")){let e=+(null===(s=d.findUpClassName(i,"album-item"))||void 0===s?void 0:s.dataset.mid)||+n.dataset.mid,t=l.default.getMessage(e);if(!t)return void this.log.warn("no message by messageID:",e);let a=[],o=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=l.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);o.forEach(e=>{let t=".album-item img, .album-item video, .preview img, .preview video, ";t+=this.bubbles[e].classList.contains("with-media-tail")?".bubble__media-container":".attachment img, .attachment video";let s=this.bubbles[e].querySelectorAll(t);Array.from(s).forEach(t=>{let s=d.findUpClassName(t,"album-item");a.push({element:t,mid:+(null==s?void 0:s.dataset.mid)||e})})}),a.sort((e,t)=>e.mid-t.mid);let r=a.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",o,r,a),v.default.openMedia(t,a[r].element,!0,this.scroll.parentElement,a.slice(0,r),a.slice(r+1))}if(-1===["IMG","DIV","AVATAR-ELEMENT"].indexOf(i.tagName)&&(i=d.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=n.dataset.savedFrom.split("_"),t=+e[0],s=+e[1];return void this.setPeer(t,s)}if(i.classList.contains("forward")){const e=+n.dataset.mid;return void P.default.init([e])}if(i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}if("AVATAR-ELEMENT"==i.tagName){let e=+i.getAttribute("peer");return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!d.findUpClassName(e.target,"reply")}catch(e){}if(t&&n.classList.contains("is-reply")){let e=+n.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.getAttribute("peer");isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.closeBtn.addEventListener("click",e=>{d.cancelEvent(e),this.setPeer(0)}),this.searchBtn.addEventListener("click",e=>{d.cancelEvent(e),this.peerID&&g.default.beginSearch()}),this.btnMute.addEventListener("click",e=>{d.cancelEvent(e),this.mutePeer(this.peerID)}),this.btnJoin.addEventListener("click",e=>{d.cancelEvent(e),this.btnJoin.setAttribute("disabled","true"),w.default.joinChannel(-this.peerID).finally(()=>{this.btnJoin.removeAttribute("disabled")})}),this.menuButtons.mute.addEventListener("click",e=>{this.mutePeer(this.peerID)}),this.menuButtons.search.addEventListener("click",e=>{new W});document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"!=e.key||F.touchSupport?"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"):this.chatInputC.attachMediaPopUp.sendBtn.click());if("Escape"==e.key)v.default.wholeDiv.classList.contains("active")?v.default.buttons.close.click():P.default.container.classList.contains("active")?P.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("KeyC"==e.code&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),d.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{l.default.getDialogByPeerID(this.peerID)[0]?this.setPeer(this.peerID):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new X.default(this.scrollable.container,(e,t)=>{for(let s in this.dateMessages){let i=this.dateMessages[s];if(i.container==t){i.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{if(this.offline)return;let t=[];if(e.forEach(e=>{if(e.isIntersecting){let s=e.target,i=+s.dataset.mid;t.push(i),this.unreadedObserver.unobserve(s),this.unreaded.findAndSplice(e=>e==i)}}),t.length){let e=Math.max(...t),s=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),l.default.readHistory(this.peerID,e,s)})}})}setPinnedMessage(e){const t=this.scrollable.container.scrollTop,s=_.wrapReply("Pinned Message",e.message,e,!0);s.dataset.mid=""+e.mid,s.classList.add("pinned-container");const i=document.createElement("button");i.classList.add("pinned-message-close","btn-icon","tgico-close"),i.addEventListener("click",e=>{d.cancelEvent(e);const t=this.scrollable.scrollTop;s.remove(),this.topbar.classList.remove("is-pinned-shown"),this.pinnedMessageContainer=null,this.scrollable.scrollTop=t-52},{once:!0}),s.append(i),this.topbar.insertBefore(s,this.btnJoin),this.topbar.classList.add("is-pinned-shown"),this.pinnedMessageContainer&&this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=s,this.scrollable.scrollTop=t+52}updateStatus(){return this.myID?(f.default.setUserStatus(this.myID,this.offline),r.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=l.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:l.default.getMessage(t)}}return null}loadMoreHistory(e,t=!1){if(!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let s=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!s.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",s[0],"maxID:",s[s.length-1],s),this.getHistory(s[0],!0,void 0,void 0,t)),this.scrolledAllDown)return;let i=l.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==s.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",s[s.length-1],s),this.getHistory(s[s.length-1],!1,!0,void 0,t))}onScroll(e){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{F.touchSupport||(this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350)),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new D.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down"),F.touchSupport&&(this.scroll.addEventListener("touchmove",()=>{this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling")},{passive:!0}),this.scroll.addEventListener("touchend",()=>{this.chatInner.classList.contains("is-scrolling")&&(this.isScrollingTimeout&&clearTimeout(this.isScrollingTimeout),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350))},{passive:!0}))}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=c.default.getPeer(this.peerID),s=c.default.isChannel(this.peerID)&&!c.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=""),u.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e);let i=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(i){let e=d.numberWithCommas(i)+" "+(s?"followers":"members");if(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e,i<2)return;w.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+d.numberWithCommas(t)+" online"),this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e})}})}else if(f.default.isBot(this.peerID))this.subtitleEl.innerText="bot",g.default.profileElements.subtitle.innerText="bot";else{let e=f.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=f.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),g.default.profileElements.subtitle.classList.add("online")),g.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}findMountedBubbleByMsgID(e){return this.bubbles[d.getObjectKeysAndSort(this.bubbles).find(t=>{var s;return!(t+e)),u=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=u.className,this.chatInner.classList.add("disable-hover","is-scrolling"),i||this.lazyLoadQueue.clear(),this.lazyLoadQueue.lock();const{promise:h,cached:p}=this.getHistory(t,!0,r,f);return i?this.peerChanged=!0:g.default.setPeer(this.peerID),p||(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),this.preloader.attach(this.bubblesContainer),F.mediaSizes.isMobile&&this.selectTab(1)),B.default.lockGroup("chat"),this.setPeerPromise=Promise.all([h.then(()=>{var s;if(p?(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),F.mediaSizes.isMobile&&this.selectTab(1)):this.preloader.detach(),this.scrollable.container.append(this.chatInner),B.default.unlockGroup("chat"),B.default.checkAnimations(!1,"chat"),this.lazyLoadQueue.unlock(),n&&(o||t!=a)&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=c>0&&(c{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),g.default.setLoadMutex(this.setPeerPromise),g.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){var e,t;if(this.peerChanged)return;let s=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID),this.avatarEl.update();const i=c.default.isAnyGroup(s),n=c.default.isChannel(s),a=n&&w.default.hasRights(-s,"send");this.chatInner.classList.toggle("has-rights",a),this.chatInput.style.display=!n||a?"":"none",this.topbar.classList.remove("is-pinned-shown"),this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",i||s==this.myID),this.chatInner.classList.toggle("is-channel",n),this.btnMute.classList.toggle("hide",!c.default.isBroadcast(s)),this.btnJoin.classList.toggle("hide",!(null===(t=null===(e=w.default.getChat(-this.peerID))||void 0===e?void 0:e.pFlags)||void 0===t?void 0:t.left)),this.menuButtons.mute.style.display=this.myID==this.peerID?"none":"";const o=l.default.getPinnedMessage(s);o&&!o.deleted?this.setPinnedMessage(o):this.pinnedMessageContainer&&(this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=null),window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":c.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=g.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),g.default.fillProfileElements(),d.$rootScope.$broadcast("peer_changed",this.peerID)}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),B.default.checkAnimations(!1,"chat"),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=l.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){const s=new Date(1e3*e.date);s.setHours(0,0,0);const i=s.getTime();if(!(i in this.dateMessages)){let e="";const n=new Date;if(n.setHours(0,0,0,0),n.getTime()==s.getTime())e="Today";else{e=["January","February","March","April","May","June","July","August","September","October","November","December"][s.getMonth()]+" "+s.getDate(),s.getFullYear()!=n.getFullYear()&&(e+=", "+s.getFullYear())}const a=document.createElement("div");a.className="bubble service is-date",a.innerHTML=`
${e}
`;const o=document.createElement("div");o.className="bubbles-date-group",this.dateMessages[i]={div:a,container:o,firstTimestamp:s.getTime()},o.append(a),t?this.scrollable.prepend(o,!1):this.scrollable.append(o,!1),this.stickyIntersector.observeStickyHeaderChanges(o)}return this.dateMessages[i]}renderMessagesQueue(e,t,s){let i=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){if(!e.src)return;if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=new Promise((t,s)=>{let i,n=()=>{clearTimeout(o),t(),e.removeEventListener(e instanceof HTMLVideoElement?"canplay":"load",n)};e instanceof HTMLVideoElement?(e.addEventListener("canplay",n),i=()=>e.readyState>=1):(e.addEventListener("load",n),i=()=>e.complete);let a=()=>i()?n():window.requestAnimationFrame(a);window.requestAnimationFrame(a);let o=setTimeout(()=>{t()},1500)});i.push(t)}),this.messagesQueue.push({message:e,bubble:t,reverse:s,promises:i}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.chatInner,i=this.messagesQueue.slice();this.messagesQueue.length=0;let n=i.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(n).then(()=>{if(this.chatInner!=s)return t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),i.forEach(({message:e,bubble:t,reverse:s})=>{let i=this.getDateContainerByMessage(e,s);s?i.container.insertBefore(t,i.div.nextSibling):i.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,s=!1,i=null,n=!0){if(this.log.debug("message to render:",e),e.deleted)return;if(e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${l}`,n&&this.renderMessagesQueue(e,i,t),i}let h=new Date(1e3*e.date),g=("0"+h.getHours()).slice(-2)+":"+("0"+h.getMinutes()).slice(-2);if(e.views&&(i.classList.add("channel-post"),g=d.formatNumber(e.views,1)+' '+g,!e.savedFrom)){let e=document.createElement("div");e.classList.add("bubble-beside-button","forward"),e.innerHTML='\n \n \n \n \n \n ',a.append(e),i.classList.add("with-beside-button")}e.edit_date&&(i.classList.add("is-edited"),g='edited '+g);let b=document.createElement("span");b.classList.add("time");let v,y,w=document.createElement("div");if(w.classList.add("inner","tgico"),w.innerHTML=g,e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=0;for(let e in t){let i=t[e];if(i.message){if(++s>1)break;v=i.message,y=i.totalEntities}}s>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let S=p.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y&&!M){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=k.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=S,i.classList.add("emoji-"+e.length+"x"),a.append(t)}i.classList.add("is-message-empty","emoji-big")}else u.innerHTML=S}else u.innerHTML=S;if(b.appendChild(w),u.append(b),a.prepend(u),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){const t=e.reply_markup.rows,s=document.createElement("div");s.classList.add("reply-markup"),t.forEach(t=>{const i=t.buttons;if(!i||!i.length)return;const n=document.createElement("div");n.classList.add("reply-markup-row"),i.forEach(t=>{const s=p.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});let i;switch(t._){case"keyboardButtonUrl":{const s=f.default.getUser(e.fromID),n=!(s&&s.pFlags&&s.pFlags.verified),a=p.RichTextProcessor.wrapUrl(t.url,n);i=document.createElement("a"),i.href=a,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,$.ripple(i),n.append(i)}),s.append(n)}),s.addEventListener("click",s=>{let i=s.target;if(i.classList.contains("reply-markup-button")||(i=d.findUpClassName(i,"reply-markup-button")),!i)return;const n=d.whichChild(i),a=t[d.whichChild(i.parentElement)];if(!a.buttons||!a.buttons[n])return void this.log.warn("no such button",a,n,e);const o=a.buttons[n];A.default.callbackButtonClick(e.mid,o)});const i=45*t.length+"px";a.style.marginBottom=i,s.style.bottom="-"+i,a.prepend(s)}if(r){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",i.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(i),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=r&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||i.classList.add("is-message-empty");let s=!1;switch(M._){case"messageMediaPending":{let n=M,a=n.preloader;switch(n.type){case"album":this.log("will wrap pending album"),i.classList.add("hide-name","photo","is-album"),_.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":{this.log("will wrap pending photo:",n,e,m.default.getPhoto(e.id));const s=!F.isAndroid;s&&i.classList.add("with-media-tail"),_.wrapPhoto(m.default.getPhoto(e.id),e,t,void 0,void 0,s,!0,this.lazyLoadQueue,null),i.classList.add("hide-name","photo");break}case"video":{let s=C.default.getDoc(e.id);this.log("will wrap pending video:",n,e,s);const o=!F.isAndroid&&!F.isApple&&"round"!=s.type;o&&i.classList.add("with-media-tail"),_.wrapVideo({doc:s,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:o,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null,group:"chat"}),a.attach(t,!1),i.classList.add("hide-name","video");break}case"audio":case"voice":case"document":{const t=C.default.getDoc(e.id);this.log("will wrap pending doc:",t);const o=_.wrapDocument(t,!1,!0,e.id);if("audio"==t.type||"voice"==t.type)o.preloader=a;else{const e=o.querySelector(".audio-download, .document-ico");a.attach(e,!1)}"voice"==n.type&&i.classList.add("bubble-audio"),i.classList.remove("is-message-empty"),u.classList.add((n.type||"document")+"-message"),u.append(o),s=!0;break}}break}case"messageMediaPhoto":{let s=M.photo;i.classList.add("hide-name","photo");const n=!F.isAndroid;if(n&&i.classList.add("with-media-tail"),e.grouped_id){i.classList.add("is-album");let s=l.default.groupedMessagesStorage[e.grouped_id];if(1!=Object.keys(s).length){_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});break}}_.wrapPhoto(s,e,t,void 0,void 0,n,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{s=!0;let t=M.webpage;if("webPageEmpty"==t._)break;i.classList.add("webpage");let n=document.createElement("div");n.classList.add("box","web");let o,r,d=document.createElement("div");d.classList.add("quote"),(t.photo||t.document)&&(o=document.createElement("div"),o.classList.add("preview-resizer"),r=document.createElement("div"),r.classList.add("preview"),o.append(r));let f=null;t.document&&(f=t.document,"gif"==f.type||"video"==f.type?(i.classList.add("video"),_.wrapVideo({doc:f,container:r,message:e,boxWidth:F.mediaSizes.active.webpage.width,boxHeight:F.mediaSizes.active.webpage.height,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D,group:"chat"})):f=null),o&&d.append(o);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=p.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(d.append(l),t.photo&&!f){i.classList.add("photo");const s=t.photo.sizes[t.photo.sizes.length-1];s.w==s.h&&l.childElementCount?i.classList.add("is-square-photo"):s.h>s.w&&i.classList.add("is-vertical-photo"),_.wrapPhoto(t.photo,e,r,F.mediaSizes.active.webpage.width,F.mediaSizes.active.webpage.height,!1,D,this.lazyLoadQueue,this.getMiddleware())}n.append(d),a.prepend(b,n);break}case"messageMediaDocument":{let n=M.document;if(n.sticker){i.classList.add("sticker"),n.animated&&i.classList.add("sticker-animated");let e=i.classList.contains("emoji-big")?140:200;m.default.setAttachmentSize(n,t,e,e,!0),a.style.height=t.style.height,a.style.width=t.style.width,_.wrapSticker({doc:n,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!0,loop:!0,emoji:i.classList.contains("emoji-big")?v:void 0,withThumb:!0});break}if("video"==n.type||"gif"==n.type||"round"==n.type){if(i.classList.add("hide-name","round"==n.type?"round":"video"),e.grouped_id)i.classList.add("is-album"),_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});else{const s=!F.isAndroid&&!F.isApple&&"round"!=n.type;s&&i.classList.add("with-media-tail"),_.wrapVideo({doc:n,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:s,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),group:"chat"})}break}if("audio/ogg"==n.mime_type){let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),i.classList.add("bubble-audio"),u.append(t),s=!0;break}{let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),u.append(t),u.classList.add((n.type||"document")+"-message"),s=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,u.classList.add("contact-message"),s=!0;let n=[];e.media.first_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${n.join(" ")}
\n
${e.media.phone_number?"+"+L.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let a=new T.default;a.setAttribute("peer",""+e.media.user_id),a.classList.add("contact-avatar"),t.prepend(a),i.classList.remove("is-message-empty"),u.append(t);break}case"messageMediaPoll":{i.classList.remove("is-message-empty");let t=_.wrapPoll(e.media.poll.id,e.mid);u.prepend(t);break}default:i.classList.remove("is-message-empty"),u.innerHTML="unrecognized media type: "+e.media._,u.append(b),this.log.warn("unrecognized media type:",e.media._,e)}s||a.append(t)}if(this.peerID<0&&!r||e.fwd_from||e.reply_to_mid){let t=c.default.getPeerTitle(e.fwdFromID||e.fromID);const s=!e.fromID&&e.fwd_from;if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=p.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),i.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&i.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("bubble-beside-button","goto-original","tgico-next"),a.append(t),i.dataset.savedFrom=e.savedFrom,i.classList.add("with-beside-button")}if(!i.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID||s?(i.style.color=c.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,a.append(i)}}else{if(e.reply_to_mid){let t=l.default.getMessage(e.reply_to_mid),s=c.default.getPeerTitle(t.fromID||t.fwdFromID,!0)||"";"messageEmpty"==t._&&(l.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),s="Loading..."),t.mid?i.setAttribute("data-original-mid",t.mid):i.setAttribute("data-original-mid",e.reply_to_mid),a.append(_.wrapReply(s,t.message||"",t)),i.classList.add("is-reply")}if(!i.classList.contains("sticker")&&o<0&&o!=e.fromID){let s=document.createElement("div");s.classList.add("name"),s.innerHTML=t,s.style.color=c.default.getPeerColorByID(e.fromID,!1),s.dataset.peerID=e.fromID,a.append(s)}else i.classList.add("hide-name")}if(!r&&this.peerID<0&&(!c.default.isChannel(this.peerID)||c.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new T.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID||s?e.fwdFromID:e.fromID)||0)),t.update(),a.append(t)}}else i.classList.add("hide-name");return i.classList.add(D?"is-out":"is-in"),n?(this.bubbleGroups.addBubble(i,e,t),this.renderMessagesQueue(e,i,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),i}performHistoryResult(e,t,s,i){e.length||(s?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),i&&e.unshift(i);let n=l.default.getDialogByPeerID(this.peerID)[0];if(n&&n.top_message)for(let t of e)if(t==n.top_message){this.scrolledAllDown=!0;break}return new Promise((s,i)=>{let n,a=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;n=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,n),this.messagesQueueOnRender=void 0});e.length;){let e=l.default.getMessage(a());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==n){const e=t?this.scrollable.scrollHeight-n:n;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="hidden"),this.scrollable.scrollTop=e,F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="")}s(!0)},i)}).then(()=>!0)}getHistory(e=0,t=!1,s=!1,i=0,n=!1){const a=this.peerID,o=m.default.windowH/38|0,r=Object.keys(this.bubbles).length>0?Math.max(40,o):o;let f=r;let c=0;s&&(c=f,t||(f=0,e+=1));const u=l.default.getHistory(this.peerID,e,f,c);let h,p;if(u instanceof Promise)p=!1,h=u.then(o=>(this.log("getHistory not cached result by maxID:",e,t,s,o,a,n),n?(this.scrollable.onScroll(),!0):this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,s,i)),e=>(this.log.error("getHistory error:",e),!1));else{if(n)return null;p=!0,this.log("getHistory cached result by maxID:",e,t,s,u,a,n),h=this.performHistoryResult(u.history||[],t,s,i)}return t?this.getHistoryTopPromise=h:this.getHistoryBottomPromise=h,h.finally(()=>{t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0}),n?null:(h.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=d.getObjectKeysAndSort(this.bubbles));const s=2*r;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,s),e&&e.length>s&&(t?(e=e.slice(s),this.scrolledAllDown=!1):(e=e.slice(0,e.length-s),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,f)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),this.setUnreadDelimiter(),setTimeout(()=>{this.loadMoreHistory(!0,!0),this.loadMoreHistory(!1,!0)},0)}),{cached:p,promise:h})}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=l.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let s=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=s&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&s.classList.add("is-first-unread"),this.firstUnreadBubble=s,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){g.default.profileElements.notificationsCheckbox.checked=!e,g.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",c.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none";const t=this.menuButtons.mute;t.classList.remove("tgico-mute","tgico-unmute"),t.classList.add(e?"tgico-unmute":"tgico-mute");let s=t.firstElementChild;t.innerText=e?"Unmute":"Mute",s&&t.appendChild(s)}mutePeer(e){let t={_:"inputNotifyPeer",peer:c.default.getInputPeerByID(e)},s={_:"inputPeerNotifySettings",flags:0,mute_until:0},i=l.default.getDialogByPeerID(e)[0],n=!0;i&&i.notify_settings&&(n=i.notify_settings.mute_until>(Date.now()/1e3|0)),n?s.flags|=2:(s.flags|=4,s.mute_until=2147483647),r.default.invokeApi("account.updateNotifySettings",{peer:t,settings:s}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:s})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,f.default.hasUser(e.user_id)||e.chat_id&&w.default.hasChat(e.chat_id)&&!w.default.isChannel(e.chat_id)&&u.default.getChatFull(e.chat_id),f.default.forceUserOnline(e.user_id);let s=l.default.getDialogByPeerID(t)[0],i=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):s&&(h.default.setTyping(s,f.default.getUser(e.user_id)),i&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],s&&h.default.unsetTyping(s),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:s}=e;t=t.peer;let i=c.default.getPeerID(t),n=l.default.getDialogByPeerID(i)[0];if(n&&(n.notify_settings=s,d.$rootScope.$broadcast("dialog_notify_settings",i)),i==this.peerID){let e=!!s.mute_until&&new Date(1e3*s.mute_until)>new Date;this.setMutedState(e)}break}}}}t.AppImManager=V;const Q=new V;t.default=Q},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppPhotosManager=void 0;const n=s(0),a=s(21),o=i(s(28)),r=s(47);let d=(()=>{class e{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?Object.assign(this.photos[e.id],e):(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,s=0){window.devicePixelRatio>1&&(t*=2,s*=2);let i={_:"photoSizeEmpty"};const a=e.sizes||e.thumbs;if(a)for(const e of a){if(!e.w||!e.h)continue;i=e;const{w:a,h:o}=n.calcImageInBox(e.w,e.h,t,s);if(a==t||o==s)break}return i}getPreviewURLFromBytes(t,s=!1){let i,n;s?i=t instanceof Uint8Array?t:new Uint8Array(t):(i=e.jf.concat(t.slice(3),e.Df),i[164]=t[1],i[166]=t[2]),n=s?r.isSafari?"image/png":"image/webp":"image/jpeg";const a=new Blob([i],{type:n});return URL.createObjectURL(a)}getPreviewURLFromThumb(e,t=!1){var s;return null!==(s=e.url)&&void 0!==s?s:e.url=this.getPreviewURLFromBytes(e.bytes,t)}setAttachmentPreview(e,t,s=!1,i=!1){let n=this.getPreviewURLFromBytes(e,s);if(i){let e=new Image;return e.src=n,e.addEventListener("load",()=>{t.style.backgroundImage="url("+n+")"}),t}if(t instanceof HTMLImageElement)return t.src=n,t;{let e=new Image;return e.src=n,t.append(e),e}}setAttachmentSize(e,t,s,i,a=!1,o=!1){let r,d,f=this.choosePhotoSize(e,s,i),l=e.sizes||e.thumbs;e.downloaded&&"video"!=e.type&&"gif"!=e.type||a||!(null==l?void 0:l.length)||!l[0].bytes||o||this.setAttachmentPreview(l[0].bytes,t,a),"document"==e._?(r=e.w||512,d=e.h||512):(r=f.w||100,d=f.h||100);let{w:c,h:u}=n.calcImageInBox(r,d,s,i);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+c),t.setAttributeNS(null,"height",""+u)):(t.style.width=c+"px",t.style.height=u+"px"),f}getPhotoDownloadOptions(e,t){const s="document"==e._;if(!t||"photoSizeEmpty"==t._)throw new Error("photoSizeEmpty!");const i=t.size&&e.access_hash&&e.file_reference,n=i?{_:s?"inputDocumentFileLocation":"inputPhotoFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t.type}:t.location;return{dcID:e.dc_id,location:n,size:i?t.size:void 0}}preloadPhoto(e,t){const s=this.getPhoto(e);if(!t){const e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}const i=this.getCacheContext(s);if(i.downloaded>=t.size&&i.url)return Promise.resolve();const n=this.getPhotoDownloadOptions(s,t),r=a.getFileNameByLocation(n.location);let d=o.default.getDownload(r);return d||(d=o.default.download(n),d.then(e=>((!i.downloaded||i.downloaded{class e extends M.default{constructor(){super(document.getElementById("column-left"),{[e.SLIDERITEMSIDS.archived]:r.archivedTab,[e.SLIDERITEMSIDS.newChannel]:C,[e.SLIDERITEMSIDS.contacts]:k,[e.SLIDERITEMSIDS.addMembers]:P,[e.SLIDERITEMSIDS.newGroup]:T,[e.SLIDERITEMSIDS.settings]:A,[e.SLIDERITEMSIDS.editProfile]:X,[e.SLIDERITEMSIDS.chatFolders]:x,[e.SLIDERITEMSIDS.editFolder]:F,[e.SLIDERITEMSIDS.includedChats]:B}),this.buttons={},this.newButtons={},this.searchGroups={contacts:new l.SearchGroup("Chats","contacts"),globalContacts:new l.SearchGroup("Global Search","contacts"),messages:new l.SearchGroup("Global Search","messages"),people:new l.SearchGroup("People","contacts",!1,"search-group-people"),recent:new l.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.recentSearch=[],this.recentSearchLoaded=!1,this.searchInput=new D.default("Telegram Search"),this.sidebarEl.querySelector(".item-main .sidebar-header").append(this.searchInput.container),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.archivedTab=r.archivedTab,this.newChannelTab=C,this.addMembersTab=P,this.contactsTab=k,this.newGroupTab=T,this.settingsTab=A,this.editProfileTab=X,this.chatFoldersTab=x,this.editFolderTab=F,this.includedChatsTab=B,this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.globalSearch=new l.default(this.searchContainer,this.searchInput,this.searchGroups,e=>{e||this.searchInput.value.trim()||(this.globalSearch.reset(),this.searchGroups.people.setActive(),this.renderRecentSearch())}),this.searchContainer.addEventListener("click",e=>{const t=d.findUpTag(e.target,"LI");if(!t)return;const s=d.findUpClassName(t,"search-group");if(!s||s.classList.contains("search-group-recent")||s.classList.contains("search-group-people"))return;const n=+t.getAttribute("data-peerID");if(this.recentSearch[0]!=n){this.recentSearch.findAndSplice(e=>e==n),this.recentSearch.unshift(n),this.recentSearch.length>20&&(this.recentSearch.length=20),this.renderRecentSearch(),E.default.pushToState("recentSearch",this.recentSearch);for(const e of this.recentSearch)E.default.pushPeer(e);i.style.display=""}},{capture:!0});let t=document.createElement("div");t.classList.add("search-group-scrollable"),t.append(this.searchGroups.people.list),this.searchGroups.people.container.append(t);new h.default(t,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{f.default.setPeer(f.default.myID)},0)}),this.buttons.archived.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.archived)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",t=>{this.settingsTab.fillElements(),this.selectTab(e.SLIDERITEMSIDS.settings)});let s=!0;this.searchInput.input.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active"),s&&(this.searchGroups.people.setActive(),this.renderRecentSearch(),s=!1)}),this.backBtn.addEventListener("click",e=>{this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),s=!0,setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset()},150)}),this.newButtons.channel.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.newChannel)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),d.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),u.default.getTopPeers().then(e=>{e.forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})}),this.renderRecentSearch();const i=this.recentSearchClearBtn=document.createElement("button");i.classList.add("btn-icon","tgico-close"),this.searchGroups.recent.nameEl.append(i),i.addEventListener("click",()=>{this.recentSearch=[],E.default.pushToState("recentSearch",this.recentSearch),this.renderRecentSearch(!1),i.style.display="none"})}renderRecentSearch(e=!0){E.default.getState().then(t=>{t&&!this.recentSearchLoaded&&Array.isArray(t.recentSearch)&&(this.recentSearch=t.recentSearch,this.recentSearchLoaded=!0),this.searchGroups.recent.list.innerHTML="",this.recentSearchClearBtn.style.display=this.recentSearch.length?"":"none",this.recentSearch.slice(0,20).forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.recent.list,!1,!0,!1,!0);s.lastMessageSpan.innerText=e>0?u.default.getUserStatusString(e):I.default.getChatMembersString(e)}),e&&this.searchGroups.recent.setActive()})}}return e.SLIDERITEMSIDS={archived:1,contacts:2,newChannel:3,addMembers:4,newGroup:5,settings:6,editProfile:7,chatFolders:8,editFolder:9,includedChats:10},e})();t.AppSidebarLeft=R;const O=new R;t.default=O},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDialogsManager=t.archivedTab=t.AppArchivedTab=void 0;const a=s(0),o=n(s(12)),r=n(s(8)),d=n(s(7)),f=n(s(5)),l=s(3),c=s(4),u=n(s(6)),h=s(10),p=n(s(9)),m=n(s(41)),g=s(36),b=n(s(40)),v=s(1),y=s(26),w=s(19);class _{constructor(){this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},this.onContextMenu=e=>{var t,s;let i=null;try{i=a.findUpTag(e.target,"LI")}catch(e){}if(!i)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),this.filterID=M.filterID,this.selectedID=+i.getAttribute("data-peerID");const n=d.default.getDialogByPeerID(this.selectedID)[0],o=n.peerID!=a.$rootScope.myID;if(o){const e=this.buttons.archive,t=1==n.folder_id;e.classList.toggle("flip-icon",t),e.innerText=t?"Unarchive":"Archive",this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin,s=this.filterID>1?d.default.filtersStorage.filters[this.filterID].pinned_peers.includes(n.peerID):!!(null===(t=n.pFlags)||void 0===t?void 0:t.pinned);e.classList.toggle("flip-icon",s),e.innerText=s?"Unpin":"Pin"}if(o){const e=this.buttons.mute,t=n.notify_settings&&n.notify_settings.mute_until>(Date.now()/1e3|0);e.classList.toggle("flip-icon",t),e.innerText=t?"Unmute":"Mute",this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread,t=!(!(null===(s=n.pFlags)||void 0===s?void 0:s.unread_mark)&&!n.unread_count);e.classList.toggle("flip-icon",t),e.innerText=t?"Mark as Read":"Mark as Unread"}let f="";r.default.isMegagroup(this.selectedID)?(f="Leave",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(f="Leave",this.peerType="channel"):this.selectedID<0?(f="Delete",this.peerType="group"):(f="Delete",this.peerType=this.selectedID==a.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=f,i.classList.add("menu-open"),c.positionMenu(e,this.element),c.openBtnMenu(this.element,()=>{i.classList.remove("menu-open")})},c.parseMenuButtonsTo(this.buttons,this.element.children),this.buttons.archive.addEventListener("click",()=>{let e=d.default.getDialogByPeerID(this.selectedID)[0];e&&d.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{d.default.toggleDialogPin(this.selectedID,this.filterID)}),this.buttons.mute.addEventListener("click",()=>{o.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{const e=d.default.getDialogByPeerID(this.selectedID)[0];e&&(e.unread_count?(d.default.readHistory(this.selectedID,e.top_message),d.default.markDialogUnread(this.selectedID,!0)):d.default.markDialogUnread(this.selectedID))}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=r.default.getPeerTitle(this.selectedID,!1,!0),n=e=>{d.default.flushHistory(this.selectedID,e)},a=()=>{p.default.leaveChannel(-this.selectedID)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${i}?`,s=[{text:"DELETE FOR ME AND "+i,isDanger:!0,callback:()=>n(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",s=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>n(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${i}?`,s=[{text:"DELETE AND LEAVE "+i,isDanger:!0,callback:()=>n(!0)}]}s.push({text:"CANCEL",isCancel:!0}),new g.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:s}).show()})}}class S{constructor(){this.container=document.getElementById("chats-archived-container"),this.chatList=document.getElementById("dialogs-archived"),this.scroll=null}init(){this.scroll=new u.default(this.container,"y","CLA",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=M.onChatsScroll,M.setListClickListener(this.chatList,null,!0),window.addEventListener("resize",()=>{setTimeout(M.onChatsScroll,0)})}onOpen(){this.init&&(this.init(),this.init=null),this.wasFilterID=M.filterID,M.scroll=this.scroll,M.filterID=1,M.onTabChange()}onOpenAfterTimeout(){M.chatLists[this.wasFilterID].innerHTML=""}onClose(){M.scroll=M._scroll,M.filterID=this.wasFilterID,M.onTabChange()}onCloseAfterTimeout(){this.chatList.innerHTML=""}}t.AppArchivedTab=S,t.archivedTab=new S;class L{constructor(){if(this._chatList=document.getElementById("dialogs"),this.chatList=this._chatList,this.doms={},this.lastActiveListElement=null,this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.scroll=null,this._scroll=null,this.log=h.logger("DIALOGS",h.LogLevels.log|h.LogLevels.error|h.LogLevels.warn|h.LogLevels.debug),this.contextMenu=new _,this.chatLists={0:this.chatList,1:t.archivedTab.chatList},this.filterID=0,this.folders={menu:document.getElementById("folders-tabs"),menuScrollContainer:null,container:document.getElementById("folders-container")},this.filtersRendered={},this.onTabChange=()=>{this.doms={},this.loadedAll=!1,this.lastActiveListElement=null,this.chatList=this.chatLists[this.filterID],this.loadDialogs(this.filterID)},this.onChatsScroll=()=>{this.loadedAll||this.loadDialogsPromise||(this.log("onChatsScroll"),this.loadDialogs(this.filterID))},this.chatsPreloader=c.putPreloader(null,!0),this.allUnreadCount=this.folders.menu.querySelector(".unread-count"),this.folders.menuScrollContainer=this.folders.menu.parentElement,this.scroll=this._scroll=new u.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.onScrolledBottom=this.onChatsScroll,this.scroll.setVirtualContainer(this.chatList),v.touchSupport&&v.isSafari){let e,t,s;const i=this.scroll.container;i.addEventListener("touchstart",n=>{e=i.scrollTop>0,t=i.scrollTop{var n=i.pageY>s,a=i.pageY{let t=e.detail,s=f.default.getUser(t),i=d.default.getDialogByPeerID(s.id)[0];if(i&&!f.default.isBot(i.peerID)&&i.peerID!=a.$rootScope.myID){let e=s.status&&"userStatusOnline"==s.status._,t=this.getDialogDom(i.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}a.$rootScope.selectedPeerID==s.id&&o.default.setPeerStatus()}),a.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,s=d.default.getDialogByPeerID(t)[0];s&&(this.setLastMessage(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialogs_multiupdate",e=>{const t=e.detail;for(const e in t){const s=t[e];this.updateDialog(s)}this.validateForFilter(),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:s}=e.detail,i=this.getDialogDom(t);i&&(i.listEl.remove(),delete this.doms[t],this.scroll.reorder()),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_unread",e=>{let t=e.detail,s=d.default.getDialogByPeerID(t.peerID)[0];s&&(this.setUnreadMessages(s),s.peerID==a.$rootScope.selectedPeerID&&o.default.updateUnreadByDialog(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialog_notify_settings",e=>{const t=d.default.getDialogByPeerID(e.detail)[0];t&&this.setUnreadMessages(t)}),a.$rootScope.$on("peer_changed",e=>{let t=e.detail,s=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&s!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),s!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),a.$rootScope.$on("filter_update",e=>{const t=e.detail;if(!this.filtersRendered[t.id])return void this.addFilter(t);if(t.id==this.filterID){const e=d.default.dialogsStorage.getFolder(t.id);this.validateForFilter();for(let t=0,s=e.length;t{const t=e.detail,s=this.filtersRendered[t.id];s&&(this.folders.menu.firstElementChild.children[0].click(),s.container.remove(),s.menu.remove(),delete this.chatLists[t.id],delete this.filtersRendered[t.id],Object.keys(this.filtersRendered).length||this.folders.menuScrollContainer.classList.add("hide"))}),new u.default(this.folders.menuScrollContainer,"x"),this.chatsContainer.prepend(this.folders.menuScrollContainer);y.horizontalMenu(this.folders.menu,this.folders.container,(e,t)=>{e=+t.dataset.filterID||0,this.filterID!=e&&(this.chatLists[e].innerHTML="",this.scroll.setVirtualContainer(this.chatLists[e]),this.filterID=e,this.onTabChange())},()=>{for(const e in this.chatLists)+e!=this.filterID&&(this.chatLists[e].innerHTML="")});this.folders.menu.firstElementChild.firstElementChild.click(),b.default.loadSavedState().then(()=>d.default.filtersStorage.getDialogFilters()).then(e=>{for(const t in e)this.addFilter(e[t]);return this.loadDialogs(this.filterID)}).then(e=>{this.loadDialogs(1)})}updateDialog(e){e&&(this.doms.hasOwnProperty(e.peerID)||this.addDialog(e),this.getDialogDom(e.peerID)&&(this.setLastMessage(e),this.setDialogPosition(e)))}setFilterUnreadCount(e,t){var s;const i=0==e?this.allUnreadCount:null===(s=this.filtersRendered[e])||void 0===s?void 0:s.unread;if(!i)return;const n=(t=t||d.default.dialogsStorage.getFolder(e)).reduce((e,t)=>e+ +!!t.unread_count,0);i.innerText=n?""+n:""}setFiltersUnreadCount(){for(const e in this.filtersRendered)this.setFilterUnreadCount(+e);this.setFilterUnreadCount(0)}validateForFilter(){const e=d.default.dialogsStorage.getFolder(this.filterID);let t=!1;for(const s in this.doms){const i=+s;if(-1===e.findIndex(e=>e.peerID==i)){const e=this.doms[i].listEl;e.remove(),t=!0,this.lastActiveListElement==e&&(this.lastActiveListElement=null)}}t&&this.scroll.reorder()}addFilter(e){if(this.filtersRendered[e.id])return;const t=document.createElement("li"),s=document.createElement("span"),i=document.createElement("span");i.innerHTML=l.RichTextProcessor.wrapEmojiText(e.title);const n=document.createElement("span");n.classList.add("unread-count");const o=document.createElement("i");s.append(i,n,o),t.append(s),w.ripple(t);const r=this.folders.menu.firstElementChild;a.positionElementByIndex(t,r,e.orderIndex+1);const d=document.createElement("ul"),f=document.createElement("div");f.append(d),f.dataset.filterID=""+e.id,a.positionElementByIndex(f,this.folders.container,e.orderIndex+1),this.chatLists[e.id]=d,this.setListClickListener(d,null,!0),this.showFiltersTimeout||(this.showFiltersTimeout=setTimeout(()=>{this.showFiltersTimeout=0,this.folders.menuScrollContainer.classList.remove("hide"),this.setFiltersUnreadCount()},0)),this.filtersRendered[e.id]={menu:t,container:f,unread:n,title:i}}loadDialogs(e){return i(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;if(!this.chatList.childElementCount){this.chatList.parentElement.append(this.chatsPreloader)}const t=d.default.dialogsStorage.getFolder(e);let s=0;for(let e=t.length-1;e>=0;--e){const i=t[e];if(this.getDialogDom(i.peerID)){s=i.index;break}}try{const t=50,i=(this.filterID>1?f.default.getContacts():Promise.resolve()).then(()=>d.default.getConversations("",s,t,e));this.loadDialogsPromise=i;const n=yield i;n&&n.dialogs&&n.dialogs.length&&n.dialogs.forEach(e=>{this.addDialog(e)}),n.dialogs.length&&this.chatList.childElementCount!=n.count||(this.loadedAll=!0),this.log.debug("getDialogs "+t+" dialogs by offset:",s,n,this.chatList.childElementCount),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}setListClickListener(e,t,s=!1){e.addEventListener("click",e=>{a.cancelEvent(e),this.log("dialogs click list");let s=e.target,i=s.classList.contains("rp")?s:a.findUpClassName(s,"rp");if(!i)return;i=i.parentElement;let n,r=this.lastActiveListElement==i;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),i){t&&t();let e=+i.getAttribute("data-peerID"),s=+i.dataset.mid||void 0;r||(i.classList.add("active"),this.lastActiveListElement=i),n=o.default.setPeer(e,s)}else n=o.default.setPeer(0)},{capture:!0}),s&&c.attachContextMenuListener(e,this.contextMenu.onContextMenu)}setDialogPosition(e,t){const s=this.getDialogDom(e.peerID);s&&(void 0===t&&(t=d.default.dialogsStorage.getDialog(e.peerID,this.filterID)[1]),a.positionElementByIndex(s.listEl,this.chatList,t)&&(this.scroll.reorder(),this.log.debug("setDialogPosition:",e,s,t)))}setLastMessage(e,t,s,i){if(t||(t=d.default.getMessage(e.top_message)),!s&&!(s=this.getDialogDom(e.peerID)))return;if("messageEmpty"==t._||"messageService"==t._&&!t.rReply)return s.lastMessageSpan.innerHTML="",s.lastTimeSpan.innerHTML="",void delete s.listEl.dataset.mid;let n=e.peer,o=e.peerID;if(i&&t.message){let e,n=d.default.getRichReplyText(t,""),o=t.message,r=l.RichTextProcessor.parseEntities(o.replace(/\n/g," "),{noLinebreakers:!0}),f=new RegExp(a.escapeRegExp(i),"gi");r||(r=[]);let c=!1;for(;null!==(e=f.exec(o));)r.push({_:"messageEntityHighlight",length:i.length,offset:e.index}),c=!0;c&&r.sort((e,t)=>e.offset-t.offset);let u=l.RichTextProcessor.wrapRichText(o,{noLinebreakers:!0,entities:r,noTextFormat:!0});s.lastMessageSpan.innerHTML=n+u}else t.deleted?s.lastMessageSpan.innerHTML="":s.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=n._&&o!=-t.from_id){let e=f.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),i="";i=e.id==a.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=l.RichTextProcessor.wrapRichText(i,{noLinebreakers:!0})+": ",s.lastMessageSpan.prepend(t)}}if(t.deleted)s.lastTimeSpan.innerHTML="";else{let e="",i=t.date,n=Date.now()/1e3,a=new Date(1e3*t.date);if(n-i<86400)e=("0"+a.getHours()).slice(-2)+":"+("0"+a.getMinutes()).slice(-2);else if(n-i<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*i).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a.getMonth()]+" "+("0"+a.getDate()).slice(-2)}s.lastTimeSpan.innerHTML=e}this.doms[o]==s?this.setUnreadMessages(e):s.listEl.dataset.mid=t.mid}setUnreadMessages(e){var t;const s=this.getDialogDom(e.peerID);if(1==e.folder_id&&this.accumulateArchivedUnread(),!s)return;const i=1e3*(null===(t=e.notify_settings)||void 0===t?void 0:t.mute_until)>Date.now();s.listEl.classList.toggle("is-muted",i);const n=d.default.getMessage(e.top_message);if("messageEmpty"!=n._&&!n.deleted&&n.from_id==a.$rootScope.myID&&n.peerID!=a.$rootScope.myID&&e.read_outbox_max_id){n.pFlags&&n.pFlags.unread?(s.statusSpan.classList.remove("tgico-checks"),s.statusSpan.classList.add("tgico-check")):(s.statusSpan.classList.remove("tgico-check"),s.statusSpan.classList.add("tgico-checks"))}else s.statusSpan.classList.remove("tgico-check","tgico-checks");s.unreadMessagesSpan.innerText="",s.unreadMessagesSpan.classList.remove("tgico-pinnedchat");const o=d.default.filtersStorage.filters[this.filterID];let r;r=o?-1!==o.pinned_peers.findIndex(t=>t==e.peerID):!!e.pFlags.pinned,e.unread_count||e.pFlags.unread_mark?(s.unreadMessagesSpan.innerText=""+(e.unread_count||" "),s.unreadMessagesSpan.classList.add(i?"unread-muted":"unread")):r&&(s.unreadMessagesSpan.classList.remove("unread","unread-muted"),s.unreadMessagesSpan.classList.add("tgico-pinnedchat"))}accumulateArchivedUnread(){this.accumulateArchivedTimeout||(this.accumulateArchivedTimeout=setTimeout(()=>{this.accumulateArchivedTimeout=0;const e=d.default.dialogsStorage.getFolder(1).reduce((e,t)=>e+t.unread_count,0);a.$rootScope.$broadcast("dialogs_archived_unread",{count:e})},0))}getDialogDom(e){return this.doms[e]}addDialog(e,t,s=!0,i=!0,n=!1,o=!0){var l;let c;if("number"==typeof e){let t=d.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),c=t}else c=e;let u=c.peerID;if(!t){if(this.doms[u])return;const e=d.default.filtersStorage.filters[this.filterID];if(e&&!d.default.filtersStorage.testDialogForFilter(c,e)||!e&&this.filterID!=c.folder_id)return}let h=r.default.getPeerTitle(u,!1,n),g=new m.default;if(g.setAttribute("dialog",o?"1":"0"),g.setAttribute("peer",""+u),g.classList.add("dialog-avatar"),s&&u!=a.$rootScope.myID&&c.peer){switch(c.peer._){case"peerUser":let e=f.default.getUser(u);e.status&&"userStatusOnline"==e.status._&&g.classList.add("is-online")}}let b=document.createElement("div");b.classList.add("user-caption");let v=document.createElement("span");if(v.classList.add("user-title"),u==a.$rootScope.myID&&o&&(h=n?"Saved":"Saved Messages"),v.innerHTML=h,!t){let e;if(u<0?(v.classList.add("tgico"),e=p.default.getChat(-u)):e=f.default.getUser(u),null===(l=null==e?void 0:e.pFlags)||void 0===l?void 0:l.verified){v.classList.add("is-verified");const e=document.createElement("i");e.classList.add("verified-icon"),v.append(e)}}let y=document.createElement("span");y.classList.add("user-last-message");let _=document.createElement("div");_.classList.add("rp"),_.append(g,b),i&&w.ripple(_);let S=document.createElement("li");S.append(_),S.setAttribute("data-peerID",""+u);let L=document.createElement("span");L.classList.add("message-status");let M=document.createElement("span");M.classList.add("message-time");let D=document.createElement("span"),E=document.createElement("p"),I=document.createElement("span");I.append(L,M),E.append(v,I);let C=document.createElement("p");C.append(y,D),b.append(E,C);let P={avatarEl:g,captionDiv:b,titleSpan:v,statusSpan:L,lastTimeSpan:M,unreadMessagesSpan:D,lastMessageSpan:y,containerEl:_,listEl:S};return t?t.append(S):(this.scroll.append(S),this.doms[c.peerID]=P,a.$rootScope.selectedPeerID==u&&(S.classList.add("active"),this.lastActiveListElement=S),this.setLastMessage(c)),{dom:P,dialog:c}}setTyping(e,t){const s=this.getDialogDom(e.peerID);if(!s)return;let i="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;i=e+" "}const n=document.createElement("i");i+="typing...",n.innerHTML=i,s.lastMessageSpan.innerHTML="",s.lastMessageSpan.append(n),s.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){const t=this.getDialogDom(e.peerID);t&&(t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t))}}t.AppDialogsManager=L;const M=new L;t.default=M},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(30),n=s(70);class a{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var s=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),s=1==e.length);var i,n,a,o=[],r=!0,d=this.storageGetPrefix();for(n=0;n{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(s,i)}catch(e){this.useLs=!1}else n[s]=i;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var s,i,n=this.storageGetPrefix();for(s=0;s{},i.Modes.test&&this.setPrefix("t_"),n.isWorker||(this.configStorage=new a)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((s,i)=>{if(n.isWorker){const i=this.taskID++;this.tasks[i]=s;const a={useLs:!0,task:e,taskID:i,args:t};n.notifySomeone(a)}else{let i=Array.prototype.slice.call(t);i.push(e=>{s(e)}),this.configStorage[e].apply(this.configStorage,i)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RLottiePlayer=void 0;const a=s(1),o=s(10),r=n(s(18)),d=n(s(2)),f=s(0);let l=e=>Math.round(255*Math.min(Math.max(e,0),1)),c=(()=>{class e{constructor({el:t,worker:s,options:i}){this.reqId=0,this.width=0,this.height=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.group="",this.frames={},this.cachingDelta=0,this.reqId=++e.reqId,this.el=t,this.worker=s;for(let e in i)this.hasOwnProperty(e)&&(this[e]=i[e]);const n=window.devicePixelRatio;n>1&&(i.needUpscale?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>1&&this.width>100&&this.height>100&&(a.isApple||!a.mediaSizes.isMobile?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>2.5&&(this.width=Math.round(this.width*(n-1.5)),this.height=Math.round(this.height*(n-1.5))))),i.noCache||(a.isApple&&this.width>100&&this.height>100?this.cachingDelta=2:this.width<100&&this.height<100?this.cachingDelta=1/0:this.cachingDelta=4),this.canvas=document.createElement("canvas"),this.canvas.classList.add("rlottie"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d"),this.clamped=new Uint8ClampedArray(this.width*this.height*4),this.imageData=new ImageData(this.width,this.height)}clearCache(){this.frames={}}addListener(e,t,s){var i;(null!==(i=this.listeners[e])&&void 0!==i?i:this.listeners[e]=[]).push({callback:t,once:s}),this.listenerResults.hasOwnProperty(e)&&(t(this.listenerResults[e]),s&&this.removeListener(e,t))}removeListener(e,t){this.listeners[e]&&this.listeners[e].findAndSplice(e=>e.callback==t)}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e].forEach(s=>{s.callback(t),s.once&&this.removeListener(e,s.callback)})}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,clearTimeout(this.rafId))}stop(e=!0){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,e&&this.requestFrame(this.curFrame)}restart(){this.stop(!1),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}remove(){h.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame2(e,t){try{this.imageData.data.set(e),this.context.putImageData(this.imageData,0,0)}catch(e){return console.error("RLottiePlayer renderFrame error:",e,this.width,this.height),this.autoplay=!1,void this.pause()}this.setListenerResult("enterFrame",t)}renderFrame(e,t){if(this.cachingDelta&&(t%this.cachingDelta||!t)&&!this.frames[t]&&(this.frames[t]=new Uint8ClampedArray(e)),this.frInterval){const s=Date.now()-this.frThen;if(s<0)return this.rafId&&clearTimeout(this.rafId),this.rafId=setTimeout(()=>{this.renderFrame2(e,t)},this.frInterval>-s?-s%this.frInterval:this.frInterval)}this.renderFrame2(e,t)}requestFrame(e){this.frames[e]?this.renderFrame(this.frames[e],e):a.isSafari?this.sendQuery("renderFrame",e):(this.clamped.length||(this.clamped=new Uint8ClampedArray(this.width*this.height*4)),this.sendQuery("renderFrame",e,this.clamped))}mainLoopForwards(){if(this.requestFrame(this.curFrame++),this.curFrame>=this.frameCount){if(!this.loop)return this.pause(),!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.requestFrame(this.curFrame--),this.curFrame<0){if(!this.loop)return this.pause(),!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){clearTimeout(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval;const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.currentMethod=e,this.frameListener&&this.listenerResults.hasOwnProperty("enterFrame")&&this.frameListener()}onLoad(e,t){return i(this,void 0,void 0,(function*(){this.curFrame=1==this.direction?0:e-1,this.frameCount=e,this.fps=t,this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval,this.requestFrame(0),this.setListenerResult("ready"),this.addListener("enterFrame",()=>{this.setListenerResult("firstFrame"),this.el.appendChild(this.canvas),this.frameListener=()=>{if(this.paused)return;const e=Date.now();this.frThen=e+this.frInterval;this.currentMethod()||this.loop||!this.autoplay||(this.autoplay=!1)},this.addListener("enterFrame",this.frameListener)},!0)}))}}return e.reqId=0,e})();t.RLottiePlayer=c;class u{constructor(e,t=(()=>{}),s){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),s&&(this.worker.onerror=s),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener](...e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){t=Array.prototype.slice.call(arguments,1);if(a.isSafari)this.worker.postMessage({queryMethod:e,queryMethodArguments:t});else{for(var s=[],i=0;i{class e{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.workers=[],this.curWorkerNum=0,this.log=o.logger("LOTTIE",o.LogLevels.error)}getAnimation(e){for(let t in this.players)if(this.players[t].el==e)return this.players[t];return null}loadLottieWorkers(){if("undefined"==typeof WebAssembly)return Promise.reject();if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((s,i)=>{let n=this.workersLimit;for(let i=0;i{this.log("worker #"+i+" ready"),a.addListener("frame",e),a.addListener("loaded",t),--n,n||(this.log("workers ready"),s(),this.loaded=!0)})}})}applyReplacements(t,s){const i=e.COLORREPLACEMENTS[Math.max(s-1,0)],n=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=l(e[2])|l(e[1])<<8|l(e[0])<<16,n=i.find(e=>e[0]==s);n&&(e[0]=(n[1]>>16&255)/255,e[1]=(n[1]>>8&255)/255,e[2]=(255&n[1])/255)}t.hasOwnProperty("it")&&n(t.it)}};for(let e of t.layers)if(e.shapes)for(let t of e.shapes)n(t.it)}loadAnimationFromURL(e,t){return this.loaded||this.loadLottieWorkers(),fetch(t).then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(t=>this.loadAnimationWorker(Object.assign(e,{animationData:JSON.parse(t),needUpscale:!0})))}loadAnimationWorker(e,t="",s=-1){return i(this,void 0,void 0,(function*(){if(s>=1&&s<=5&&(e.animationData=f.copy(e.animationData),this.applyReplacements(e.animationData,s)),this.loaded||(yield this.loadLottieWorkers()),e.width&&e.height||(e.width=parseInt(e.container.style.width),e.height=parseInt(e.container.style.height)),!e.width||!e.height)throw new Error("No size for sticker!");e.group=t;const i=this.initPlayer(e.container,e);return r.default.addAnimation(i,t),i}))}onPlayerLoaded(e,t,s){const i=this.players[e];i?(this.log.debug("onPlayerLoaded"),i.onLoad(t,s)):this.log.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,s){const i=this.players[e];i?(i.clamped=s,i.renderFrame(s,t)):this.log.warn("onFrame on destroyed player:",e,t)}onDestroy(e){delete this.players[e]}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),this.log("worker #"+t+" terminated")}),this.log("workers destroyed"),this.workers.length=0}initPlayer(e,t){const s=new c({el:e,worker:this.workers[this.curWorkerNum++],options:t});return this.players[s.reqId]=s,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),s.loadFromData(t.animationData),s}}return e.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]],[[16219713,2694162],[16757049,4663842],[16765248,5716784],[16768889,6834492]]],e})());t.default=h},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnimationIntersector=void 0;const i=s(0),n=s(17);class a{constructor(){this.visible=new Set,this.byGroups={},this.lockedGroups={},this.intersectionLockedGroups={},this.observer=new IntersectionObserver(e=>{if(!i.$rootScope.idle.isIDLE)for(const t of e){const e=t.target;for(const s in this.byGroups){if(this.intersectionLockedGroups[s])continue;const i=this.byGroups[s].find(t=>t.el==e);if(i){t.isIntersecting?(this.visible.add(i),this.checkAnimation(i,!1)):(this.visible.delete(i),this.checkAnimation(i,!0),i.animation instanceof n.RLottiePlayer&&i.animation.clearCache());break}}}})}getAnimations(e){const t=[];for(const s in this.byGroups)for(const i of this.byGroups[s])i.el==e&&t.push(i);return t}addAnimation(e,t=""){var s;const i={el:e instanceof n.RLottiePlayer?e.el:e,animation:e,group:t};(null!==(s=this.byGroups[t])&&void 0!==s?s:this.byGroups[t]=[]).push(i),this.observer.observe(i.el)}checkAnimations(e,t,s=!1){if(i.$rootScope.idle.isIDLE)return;const n=t?[t]:Object.keys(this.byGroups);t&&!this.byGroups[t]&&(this.byGroups[t]=[]);for(const t of n){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,s)})}}checkAnimation(e,t=!1,s=!1){const{el:n,animation:a,group:o}=e;if(s||!i.isInDOM(n)&&!this.lockedGroups[o]){a.remove();for(const t in this.byGroups)this.byGroups[t].findAndSplice(t=>t==e);return this.observer.unobserve(n),void this.visible.delete(e)}t?a.paused||a.pause():a.paused&&this.visible.has(e)&&a.autoplay&&a.play()}lockGroup(e){this.lockedGroups[e]=!0}unlockGroup(e){delete this.lockedGroups[e],this.checkAnimations(void 0,e)}refreshGroup(e){const t=this.byGroups[e];t&&t.length&&(t.forEach(e=>{this.observer.unobserve(e.el)}),window.requestAnimationFrame(()=>{t.forEach(e=>{this.observer.observe(e.el)})}))}lockIntersectionGroup(e){this.intersectionLockedGroups[e]=!0}unlockIntersectionGroup(e){delete this.intersectionLockedGroups[e],this.refreshGroup(e)}}t.AnimationIntersector=a;const o=new a;t.default=o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ripple=void 0;const i=s(1);let n=0;t.ripple=function(e,t=(()=>Promise.resolve()),s=null){if(e.querySelector(".c-ripple"))return;e.classList.add("rp");let a=document.createElement("div");a.classList.add("c-ripple");const o=e.classList.contains("rp-square");o&&a.classList.add("is-square");const r=o?200:700;let d;e.append(a);let f=(e,i)=>{let o=Date.now(),f=document.createElement("span"),l=n++;d=()=>{let e=Date.now()-o;if(ef.classList.add("hiding"),Math.max(t-r/2,0)),setTimeout(()=>{f.remove(),s&&s(l)},t)}else f.classList.add("hiding"),setTimeout(()=>{f.remove(),s&&s(l)},r/2);d=null},t&&t(l),window.requestAnimationFrame(()=>{f.classList.add("c-ripple__circle");let t,s,n=a.getBoundingClientRect(),o=e-n.left,r=i-n.top;n.width>n.height?(t=n.width,s=o):(t=n.height,s=r),t-=s>t/2?t-s:s,t*=1.1;let d=o-t/2,l=r-t/2;f.style.width=f.style.height=t+"px",f.style.left=d+"px",f.style.top=l+"px",a.append(f)})},l=!1;if(i.touchSupport){let t=()=>{d&&d()};e.addEventListener("touchstart",s=>{if(s.touches.length>1||"BUTTON"==s.target.tagName&&s.target!=e)return;l=!0;let{clientX:i,clientY:n}=s.touches[0];f(i,n),window.addEventListener("touchend",t,{once:!0}),window.addEventListener("touchmove",e=>{e.cancelBubble=!0,e.stopPropagation(),d&&d(),window.removeEventListener("touchend",t)},{once:!0})},{passive:!0})}else e.addEventListener("mousedown",t=>{if("0"==e.dataset.ripple)return!1;if(l)return l=!1,!1;let{clientX:s,clientY:i}=t;f(s,i),window.addEventListener("mouseup",d,{once:!0})})}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.wrapPoll=t.wrapAlbum=t.wrapReply=t.wrapSticker=t.wrapPhoto=t.wrapAudio=t.wrapDocument=t.formatDate=t.wrapVideo=void 0;const a=n(s(13)),o=n(s(17)),r=n(s(11)),d=s(0),f=n(s(35)),l=n(s(49)),c=s(3),u=s(4),h=n(s(7)),p=s(57),m=n(s(58)),g=s(1),b=n(s(18)),v=n(s(81)),y=n(s(53)),w=s(59),_=n(s(37));function S({doc:e,container:t,message:s,boxWidth:n,boxHeight:o,withTail:c,isOut:h,middleware:p,lazyLoadQueue:m,noInfo:g,group:v}){var y,w;if(!g&&"round"!=e.type){let s,i;s=document.createElement("span"),s.classList.add("video-time"),t.append(s),"gif"!=e.type?(s.innerText=(e.duration+"").toHHMMSS(!1),i=document.createElement("span"),i.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(i)):s.innerText="GIF"}if("image/gif"==e.mime_type)return D(e,s,t,n,o,c,h,m,p);const S=document.createElement("video");if(S.muted=!0,S.setAttribute("playsinline",""),"round"==e.type){const t=_.default.addMedia(e,s.mid);S.addEventListener("canplay",()=>{t.currentTime>0&&(S.currentTime=t.currentTime),t.paused||S.play()},{once:!0});const i=()=>{t.removeEventListener("timeupdate",n),t.removeEventListener("play",a),t.removeEventListener("pause",o),S.removeEventListener("play",r),S.removeEventListener("pause",f)},n=()=>{d.isInDOM(S)||i()},a=()=>{S.play()},o=()=>{S.pause()},r=()=>{t.play()},f=()=>{d.isInDOM(S)?t.pause():i()};t.addEventListener("timeupdate",n),t.addEventListener("play",a),t.addEventListener("pause",o),S.addEventListener("play",r),S.addEventListener("pause",f)}else S.autoplay=!0;let L;if(s){if("video"==e.type&&(null===(y=e.thumbs)||void 0===y?void 0:y.length))return D(e,s,t,n,o,c,h,m,p);if(c?L=M(e,s,t,n,o,h):(n&&o&&a.default.setAttachmentSize(e,t,n,o,!1,!0),e.thumbs&&(null===(w=e.thumbs[0])||void 0===w?void 0:w.bytes)&&a.default.setAttachmentPreview(e.thumbs[0].bytes,t,!1),L=t.lastElementChild,"IMG"!=(null==L?void 0:L.tagName)&&t.append(L=new Image)),L&&L.classList.add("thumbnail"),c){const e=L.parentElement;S.width=+e.getAttributeNS(null,"width"),S.height=+e.getAttributeNS(null,"height"),e.append(S)}}if(!(null==L?void 0:L.parentElement)){const t=r.default.getThumb(e,!1);t&&t.promise.then(()=>{S.poster=t.thumb.url})}!S.parentElement&&t&&t.append(S);const E=()=>i(this,void 0,void 0,(function*(){var i;if(p&&!p())return;let n;if(null===(i=null==s?void 0:s.media)||void 0===i?void 0:i.preloader)n=s.media.preloader,n.attach(t,void 0,void 0,!0);else if(e.downloaded||e.supportsStreaming)e.supportsStreaming&&(n=new f.default(t,!1),S.addEventListener("canplay",()=>{n.detach()},{once:!0}));else{const s=r.default.downloadDocNew(e);n=new f.default(t,!0),n.attach(t,!0,s,!0),yield s}p&&!p()||(S.addEventListener("canplay",()=>{(null==L?void 0:L.parentElement)&&L.remove(),"gif"==e.type&&v&&b.default.addAnimation(S,v)},{once:!0}),u.renderImageFromUrl(S,e.url),"gif"==e.type?(S.muted=!0,S.loop=!0,S.autoplay=!0):"round"==e.type&&(S.dataset.ckin="circle",S.dataset.overlay="1",new l.default(S)))}));return m?m.push({div:t,load:E}):E(),S}function L(e,t=!1,s){let i=new v.default;return i.setAttribute("doc-id",e.id),i.setAttribute("with-time",""+ +t),i.setAttribute("message-id",""+s),i}function M(e,t,s,i,n,o){const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");const d=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");a.default.setAttachmentSize(e,d,i,n);const f=+d.getAttributeNS(null,"width"),l=+d.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+f),r.setAttributeNS(null,"height",""+l),r.setAttributeNS(null,"viewBox","0 0 "+f+" "+l),r.setAttributeNS(null,"preserveAspectRatio","none");const c="clip"+t.mid;r.dataset.clipID=c;const u=document.createElementNS("http://www.w3.org/2000/svg","defs");let h="";t.message||(h+=o?`\n \n \n `:`\n \n \n `),u.innerHTML=`${h}`,s.style.width=parseInt(s.style.width)-9+"px",s.classList.add("with-tail"),r.append(u,d),s.append(r);let p=d.firstElementChild;return p||d.append(p=new Image),p}function D(e,t,s,i=g.mediaSizes.active.regular.width,n=g.mediaSizes.active.regular.height,o,d,l,c,h=null){var p;let m;if(o)m=M(e,t,s,i,n,d);else{if(i&&n&&(h=a.default.setAttachmentSize(e,s,i,n,!1,!0)),"document"==e._||!e.downloaded){const t=e.sizes||e.thumbs;t&&(null===(p=t[0])||void 0===p?void 0:p.bytes)&&a.default.setAttachmentPreview(t[0].bytes,s,!1)}m=s.lastElementChild,m&&"IMG"==m.tagName||s.append(m=new Image)}const b=a.default.getCacheContext(e);let v;t.media.preloader?t.media.preloader.attach(s):b.downloaded||(v=new f.default(s,!1));const y=()=>{const t="document"==e._&&e.animated?r.default.downloadDocNew(e):a.default.preloadPhoto(e,h);return v&&v.attach(s,!0,t),t.then(()=>{c&&!c()||u.renderImageFromUrl(m||s,b.url||e.url)})};return b.downloaded||!l?y():l.push({div:s,load:y,wasSeen:!0})}t.wrapVideo=S,t.formatDate=(e,t=!1,s=!0)=>{const i=new Date(1e3*e);let n=["January","February","March","April","May","June","July","August","September","Octomber","November","December"][i.getMonth()];t&&(n=n.slice(0,3));let a=n+" "+i.getDate();return s&&(a+=", "+i.getFullYear()),a+" at "+i.getHours()+":"+("0"+i.getMinutes()).slice(-2)},t.wrapDocument=function(e,s=!1,i=!1,n){if("audio"==e.type||"voice"==e.type)return L(e,s,n);let a=e.file_name?e.file_name.split("."):"",o="";o=a.length>1&&Array.isArray(a)?a.pop().toLowerCase():"file";let l=document.createElement("div");l.classList.add("document","ext-"+o);let c=o;"photo"==e.type&&(l.classList.add("photo"),c=``);let u=e.file_name||"Unknown.file",h=d.formatBytes(e.size);if(s&&(h+=" · "+t.formatDate(e.date)),l.innerHTML=`\n
${c}
\n ${i?"":'
'}\n
${u}
\n
${h}
\n `,!i){let t,s,i=l.querySelector(".document-download");l.addEventListener("click",()=>{if(s)s.cancel();else{if(i.classList.contains("downloading"))return;t||(t=new f.default(null,!0)),s=r.default.saveDocFile(e),t.attach(i,!0,s),s.then(()=>{i.remove()}).catch(e=>{"AbortError"===e.name&&(s=null)}).finally(()=>{i.classList.remove("downloading")}),i.classList.add("downloading")}})}return l},t.wrapAudio=L,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:s,lazyLoadQueue:n,group:f,play:l,onlyThumb:c,emoji:h,width:p,height:m,withThumb:b,loop:v}){var _;const S=e.sticker;if(p||(p=h?void 0:200),m||(m=h?void 0:200),2!=S||o.default.loaded||o.default.loadLottieWorkers(),!S)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const L=h?d.getEmojiToneIndex(h):-1;if((null===(_=e.thumbs)||void 0===_?void 0:_.length)&&!t.firstElementChild&&(!e.downloaded||2==S||c)&&L<=0){const i=e.thumbs[0];let o;const d=()=>{t.childElementCount||t.append(o)};if(i.bytes||i.url)o=new Image,!g.isSafari||e.stickerThumbConverted||i.url?u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d):y.default.convert(e.id,i.bytes).then(n=>{i.bytes=n,e.stickerThumbConverted=!0,s&&!s()||t.childElementCount||u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d)}).catch(()=>{});else if(2==S&&(b||c)){o=new Image;const a=()=>{if(t.childElementCount||s&&!s())return;const n=()=>{t.childElementCount||s&&!s()||u.renderImageFromUrl(o,i.url,d)};return i.url?(n(),Promise.resolve()):r.default.getThumbURL(e,i).promise.then(n)};if(n&&c)return n.push({div:t,load:a}),Promise.resolve();a()}}if(c)return Promise.resolve();let M=e.downloaded,D=()=>i(this,void 0,void 0,(function*(){if(!s||s())if(2==S)yield r.default.downloadDocNew(e.id).then(w.readBlobAsText).then(JSON.parse).then(e=>i(this,void 0,void 0,(function*(){if(s&&!s())return;let i=yield o.default.loadAnimationWorker({container:t,loop:v&&!h,autoplay:l,animationData:e,width:p,height:m},f,L);i.addListener("firstFrame",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName?t.firstElementChild.remove():i.canvas.classList.add("fade-in")},!0),h&&t.addEventListener("click",()=>{let e=o.default.getAnimation(t);e.paused&&e.restart()})})));else if(1==S){let i=new Image;M||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.classList.add("fade-in-transition"),i.style.opacity="0",i.addEventListener("load",()=>{e.downloaded=!0,window.requestAnimationFrame(()=>{i.style.opacity=""})}));const n=()=>{s&&!s()||u.renderImageFromUrl(i,e.url,()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})};e.url?n():r.default.downloadDocNew(e).then(n)}}));return!n||e.downloaded&&2!=S?D():(n.push({div:t,load:D,wasSeen:"chat"==f&&2!=S}),Promise.resolve())},t.wrapReply=function(e,t,s,i){const n=i?"pinned-message":"reply",o=document.createElement("div");o.classList.add(n);const r=document.createElement("div");r.classList.add(n+"-border");const d=document.createElement("div");d.classList.add(n+"-content");const f=document.createElement("div");f.classList.add(n+"-title");const l=document.createElement("div");l.classList.add(n+"-subtitle"),f.innerHTML=e?c.RichTextProcessor.wrapEmojiText(e):"";const h=s&&s.media;if(h){if(l.innerHTML=s.rReply,h.photo||h.document&&-1!==["video"].indexOf(h.document.type)){let e=document.createElement("div");e.classList.add(n+"-media");let t=h.photo||h.document,s=t.sizes||t.thumbs;s&&s[0].bytes&&a.default.setAttachmentPreview(s[0].bytes,e,!1,!0),a.default.preloadPhoto(t,a.default.choosePhotoSize(t,32,32)).then(()=>{u.renderImageFromUrl(e,"photo"==t._?t.url:a.default.getDocumentCachedThumb(t.id).url)}),d.append(e),o.classList.add("is-media")}}else l.innerHTML=t?c.RichTextProcessor.wrapEmojiText(t):"";return d.append(f,l),o.append(r,d),o},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:s,uploading:i,lazyLoadQueue:n,isOut:o}){const r=[],d=Object.keys(h.default.groupedMessagesStorage[e]).map(e=>+e).sort((e,t)=>e-t);for(const e of d){const t=h.default.getMessage(e),s=t.media.photo||t.media.document,i="photo"==s._?a.default.choosePhotoSize(s,480,480):{w:s.w,h:s.h};r.push({size:i,media:s,message:t})}const f=new p.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),g.mediaSizes.active.album.width,100,2).layout();for(const{geometry:e,sides:i}of f){const a=r.shift();if(!a){console.error("no item for layout!");continue}const{size:d,media:f,message:l}=a,c=document.createElement("div");c.classList.add("album-item"),c.dataset.mid=l.mid,c.style.width=e.width+"px",c.style.height=e.height+"px",c.style.top=e.y+"px",c.style.left=e.x+"px",i&p.RectPart.Right&&(t.style.width=e.width+e.x+"px"),i&p.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),i&p.RectPart.Left&&i&p.RectPart.Top&&(c.style.borderTopLeftRadius="inherit"),i&p.RectPart.Left&&i&p.RectPart.Bottom&&(c.style.borderBottomLeftRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Top&&(c.style.borderTopRightRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Bottom&&(c.style.borderBottomRightRadius="inherit"),"photo"==f._?D(f,l,c,0,0,!1,o,n,s,d):S({doc:l.media.document,container:c,message:l,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:n,middleware:s}),t.append(c)}},t.wrapPoll=function(e,t){const s=new m.default;return s.setAttribute("poll-id",e),s.setAttribute("message-id",""+t),s}},function(e,t,s){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const i=s(52);var n=Date.now();function a(e){return new i.BigInteger(e.toString(16),16)}function o(e){return new i.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function d(e,t){for(var s=atob(e),i=s.length,n=Math.ceil(i/1024),a=new Array(n),o=0;o{n.append(e)}),s=n.getBlob(i)}return s}function l(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function c(e){return new Uint8Array(e).buffer}function u(e){return void 0!==e.buffer?e:new Uint8Array(e)}function h(e,t){var s=e.byteLength||e.length,i=t.byteLength||t.length,n=new Uint8Array(s+i);return n.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),n.set(t instanceof ArrayBuffer?new Uint8Array(t):t,s),n.buffer}function p(e){var t=o(e).divideAndRemainder(a(4294967296));return[t[0].intValue(),t[1].intValue()]}function m(e){for(var t=e.words,s=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255);return i}t.dT=function(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=a,t.bigStringInt=o,t.bytesToHex=function(e){e=e||[];for(var t=[],s=0;s>>t&24),2!==t&&i-a!=1||(s+=String.fromCharCode(r(n>>>18&63),r(n>>>12&63),r(n>>>6&63),r(63&n)),n=0);return s.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=d,t.dataUrlToBlob=function(e){var t=e.split(",");return d(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=f,t.blobSafeMimeType=l,t.bytesCmp=function(e,t){var s=e.length;if(s!=t.length)return!1;for(var i=0;it);)s=s.slice(1);return s},t.bytesToArrayBuffer=c,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:c(e)},t.convertToUint8Array=u,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],s=0,i=(e=u(e)).length;st+=e.byteLength||e.length);var s=new Uint8Array(t);let i=0;return e.forEach(e=>{s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,i),i+=e.byteLength||e.length}),s},t.longToInts=p,t.bytesFromWords=m,t.bytesFromWordss=function(e){for(var t=[],s=0;s<4*e.length;s++)t.push(e[s>>>2]>>>24-s%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var s,i=t.length,n=[];for(s=0;s>>2]|=t[s]<<24-s%4*8;return new Uint32Array(n)},t.longToBytes=function(e){return m({words:p(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return a(e).shiftLeft(32).add(a(t)).toString(10)},t.addPadding=function(e,t=16,s,n=!1,a=!1){let o=t-(e.byteLength||e.length)%t;if(o>0&&(o{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let s=document.createElement("p");s.innerHTML=e,t.prepend(s),t.style.display=""})};const A=new C.default,X=new P.default,x=new k.default,F={contentMembers:"inputMessagesFilterContacts",contentMedia:"inputMessagesFilterPhotoVideo",contentDocuments:"inputMessagesFilterDocument",contentLinks:"inputMessagesFilterUrl",contentAudio:"inputMessagesFilterMusic"};let B=(()=>{class e extends D.default{constructor(){super(document.getElementById("column-right"),{[e.SLIDERITEMSIDS.stickers]:A,[e.SLIDERITEMSIDS.pollResults]:X,[e.SLIDERITEMSIDS.gifs]:x}),this.profileElements={},this.sharedMedia={},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["inputMessagesFilterContacts","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="inputMessagesFilterPhotoVideo",this.sharedMediaSelected=null,this.lazyLoadQueue=new w.default,this.historiesStorage={},this.usedFromHistory={},this.log=b.logger("SR",b.LogLevels.error),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.loadMutex=Promise.resolve(),this.stickersTab=A,this.pollResultsTab=X,this.gifsTab=x,this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=new E.default("Search"),this.searchCloseBtn.parentElement.append(this.searchInput.container),this.privateSearch=new S.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new S.SearchGroup("Private Search","messages")});let t=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new f.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},I.horizontalMenu(this.profileTabs,t,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)},()=>{this.scroll.onScroll()}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{const t=e.target,s=+t.dataset.mid;if(!s)return void this.log.warn("no messageID by click on target:",t);const i=c.default.getMessage(s),n=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),a=n.findIndex(e=>e==s),o=n.map(e=>({element:this.mediaDivsByIDs[e],mid:e}));y.default.openMedia(i,t,!1,this.sidebarEl,o.slice(a+1).reverse(),o.slice(0,a).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{v.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){const t=this.sidebarEl.classList.contains("active");let s;if(void 0!==e?e?t||(s=!0):t&&(s=!0):s=!0,!s)return Promise.resolve();if(M.mediaSizes.isMobile)return v.default.selectTab(t?1:2),Promise.resolve();const i=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((e,s)=>{const n=[],a=new IntersectionObserver(s=>{for(const e of s){const t=e.target;e.isIntersecting||n.push({element:t,height:t.scrollHeight})}for(const e of n)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";a.disconnect(),i(),setTimeout(()=>{for(const e of n)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";t&&(L.default.close(),this.searchCloseBtn.click()),e()},200)});if(Object.keys(v.default.bubbles).length)for(const e in v.default.bubbles)a.observe(v.default.bubbles[e]);else i(),setTimeout(e,200)})}filterMessagesByType(e,t){let s=[];for(let t of e){let e=c.default.getMessage(t);e.media&&s.push(e)}let i=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of s){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||i.push(e))}break;case"inputMessagesFilterDocument":for(let e of s){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||i.push(e)}break;case"inputMessagesFilterUrl":for(let e of s)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&i.push(e);break;case"inputMessagesFilterMusic":for(let e of s)e.media.document&&"audio"==e.media.document.type&&i.push(e)}return i}performSearchResult(e,t){return o(this,void 0,void 0,(function*(){const s=this.peerID,i=[],n=[];let a;switch(t){case"inputMessagesFilterPhotoVideo":a=this.sharedMedia.contentMedia;for(const t of e){const e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,a=document.createElement("div");a.classList.add("media-item");const o="photo"==e._,r=o?u.default.getPhoto(e.id):null;let f;if(r)f=r.downloaded>0;else{const t=u.default.getDocumentCachedThumb(e.id);f=(null==t?void 0:t.downloaded)>0}if(!o){const t=document.createElement("span");t.classList.add("video-time"),a.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}const c=()=>u.default.preloadPhoto(o?e.id:e,u.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");const t=r&&r.url||u.default.getDocumentCachedThumb(e.id).url;if(t){const e=g?()=>{b.style.opacity=""}:void 0;d.renderImageFromUrl(b,t,e)}});let h;const p=e.sizes||e.thumbs,m=!f&&p&&p[0].bytes;m&&(h=new Image,h.classList.add("media-image","thumbnail"),h.dataset.mid=""+t.mid,u.default.setAttachmentPreview(p[0].bytes,h,!1,!1),a.append(h));const g=!f||!m,b=new Image;if(b.dataset.mid=""+t.mid,b.classList.add("media-image"),g&&(b.style.opacity="0"),a.append(b),f||m){const t=new Promise((t,s)=>{(h||b).addEventListener("load",()=>{clearTimeout(i),t()});const i=setTimeout(()=>{this.log("did not loaded",h,e,f,p),s()},1e3)});n.push(t)}(null==p?void 0:p.length)&&(f?c():this.lazyLoadQueue.push({div:a,load:c})),i.push(a),this.mediaDivsByIDs[t.mid]=a}break;case"inputMessagesFilterDocument":a=this.sharedMedia.contentDocuments;for(let t of e){let e=_.wrapDocument(t.media.document,!0,!1,t.mid);i.push(e)}break;case"inputMessagesFilterUrl":a=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,n=document.createElement("div"),a=document.createElement("div");if(a.classList.add("preview"),a.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),a.classList.add("empty"),e.photo){let t=()=>u.default.preloadPhoto(e.photo.id,u.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(a.classList.remove("empty"),a.innerText="",d.renderImageFromUrl(a,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:a,load:t})}let o=e.rTitle||"",r=e.rDescription||"",f=g.RichTextProcessor.wrapRichText(e.url||"");o||(o=e.display_url.split("/",1)[0]),n.append(a),n.insertAdjacentHTML("beforeend",`\n
${o}\n
${r}
\n
${f}
\n `),n.innerText.trim().length&&i.push(n)}break;case"inputMessagesFilterMusic":a=this.sharedMedia.contentAudio;for(let t of e){let e=_.wrapAudio(t.media.document,!0,t.mid);i.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&n.push(this.loadMutex),n.length&&(yield Promise.all(n),this.peerID!=s))this.log.warn("peer changed");else if(i.length&&a.append(...i),a){const t=a.parentElement;if(Array.from(t.children).slice(1).forEach(e=>{e.remove()}),!e.length&&!a.childElementCount){const e=document.createElement("div");e.innerText="Nothing interesting here yet...",e.classList.add("position-center","text-center","content-empty","no-select"),t.append(e)}}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);const s=this.peerID;let i=e?[this.sharedMediaType]:this.sharedMediaTypes;if(i=i.filter(e=>!this.loadedAllMedia[e]),!i.length)return;const n=3*(u.default.windowH/130|0),a=null!==(t=this.historiesStorage[s])&&void 0!==t?t:this.historiesStorage[s]={},o=i.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];const i=null!==(t=a[e])&&void 0!==t?t:a[e]=[];if(i.length&&this.usedFromHistory[e]n){let e=t.length-n;t=t.slice(0,t.length-e),s-=e}return this.usedFromHistory[e]=s,this.performSearchResult(t,e)}let o=i[i.length-1]||0,r=!o&&c.default.historiesStorage[s]?c.default.historiesStorage[s].history.slice():[];return o=!o&&r.length?r[r.length-1]:o,this.log("loadSidebarMedia: search house of glass pre",e,r,o),this.loadSidebarMediaPromises[e]=c.default.getSearch(s,"",{_:e},o,n).then(t=>{if(r=r.concat(t.history),i.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==s)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(o)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{this.sharedMedia[e].innerHTML="";const t=F[e];if(!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][t]){const t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||d.putPreloader(t,!0);const s=t.querySelector(".content-empty");s&&s.remove()}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){h.default.getPeerUsername(e)&&T(h.default.getPeerUsername(e),this.profileElements.username);let t=c.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),v.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});if(e>0){let t=p.default.getUser(e);t.phone&&e!=l.$rootScope.myID&&T(t.rPhone,this.profileElements.phone),m.default.getProfile(e,!0).then(t=>{this.peerID==e?t.rAbout&&e!=l.$rootScope.myID&&T(t.rAbout,this.profileElements.bio):this.log.warn("peer changed")})}else{let t=h.default.getPeer(e);m.default.getChatFull(t.id).then(t=>{this.peerID==e?t.about&&T(g.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}return e.SLIDERITEMSIDS={search:1,forward:2,stickers:3,pollResults:4,gifs:5},e})();t.AppSidebarRight=B;const R=new B;t.default=R},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10);t.default=class{constructor(e=5,t=!1){this.parallelLimit=e,this.noObserver=t,this.lazyLoadMedia=[],this.inProcess=[],this.lockPromise=null,this.unlockResolve=null,this.log=n.logger("LL",n.LogLevels.error),this.intersectionLocked=!1,t||(this.observer=new IntersectionObserver(e=>{if(this.lockPromise||this.intersectionLocked)return;const t=e.filter(e=>e.isIntersecting);t.forEachReverse(e=>{const t=e.target;this.log("isIntersecting",t);const s=this.lazyLoadMedia.findAndSplice(e=>e.div==t);s&&(s.wasSeen=!0,this.lazyLoadMedia.unshift(s))}),t.length&&this.processQueue()}))}clear(){this.inProcess.length=0,this.lazyLoadMedia.length=0;for(let e of this.inProcess)this.lazyLoadMedia.push(e);this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.inProcess.length}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return i(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.inProcess.length>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.inProcess.push(e),this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.log("waited lock:",performance.now()-e)}yield e.load()}catch(e){this.log.error("loadMediaQueue error:",e)}this.noObserver||this.observer.unobserve(e.div),this.inProcess.findAndSplice(t=>t==e),this.log("loaded media",e),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}refresh(){const e=this.lazyLoadMedia;e&&e.length&&(e.forEach(e=>{this.observer.unobserve(e.div)}),window.requestAnimationFrame(()=>{e.forEach(e=>{this.observer.observe(e.div)})}))}lockIntersection(){this.intersectionLocked=!0}unlockIntersection(){this.intersectionLocked=!1,this.refresh()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=t.secureRandom=void 0;const i=s(21),n=s(52);t.secureRandom=new n.SecureRandom,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((s,i)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,s(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,i(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(e){this.set(i.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return i.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),s=Math.floor(t/3600);let i=Math.floor((t-3600*s)/60),n=t-3600*s-60*i;return s&&(e=!0),i<10&&(i=e?"0"+i:i),n<10&&(n="0"+n),(s?s+":":"")+i+":"+n}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(79));t.default=class{constructor(e,t,s,i){this.isAuthPage=t,this.onFirstMount=s,this.onMount=i,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return i(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount)try{const t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}catch(e){console.error("PAGE MOUNT ERROR:",e)}this.installed=!0}a.default.setPage(this)}))}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.horizontalMenu=void 0;const i=s(0);t.horizontalMenu=function(e,t,s,n,a=250){const o={};let r=null,d=-1;const f=s=>{if(s==d)return!1;const i=r,f=t.children[s];if("none"==t.dataset.slider)return i&&i.classList.remove("active"),f.classList.add("active"),d=s,r=f,void(n&&n());const l=d{i.style.transform="",i.style.filter="",i.classList.remove("active"),delete o[c],n&&n()},a)),d=s,r=f};if(e){const n=!e.classList.contains("no-stripe"),a="LI";e.addEventListener("click",(function(o){let r,l=o.target;if(l.tagName!=a&&(l=i.findUpTag(l,a)),!l)return!1;if(l.dataset.tab){if(r=+l.dataset.tab,-1==r)return!1}else r=i.whichChild(l);const c=t.children[r];if(s&&s(r,c),l.classList.contains("active")||r==d)return!1;const u=e.querySelector(a.toLowerCase()+".active");if(u&&u.classList.remove("active"),n&&-1!=d){const e=l.querySelector("i"),t=l.parentElement.children[d].querySelector("i");t.classList.remove("animate"),e.classList.remove("animate");const s=t.parentElement.parentElement.offsetLeft-e.parentElement.parentElement.offsetLeft,i=t.clientWidth/e.clientWidth;e.style.transform=`translate3d(${s}px, 0, 0) scale3d(${i}, 1, 1)`,requestAnimationFrame(()=>{e.classList.add("animate"),e.style.transform="none"})}l.classList.add("active"),f(r)}))}return f}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppProfileManager=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(13)),f=n(s(5)),l=s(3),c=n(s(8)),u=n(s(32)),h=n(s(16)),p=n(s(2)),m=s(4),g=n(s(38)),b=n(s(7)),v=n(s(28));class y{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var s=t.participants;void 0!==(r=this.chatsFull[s.id])&&(r.participants=t.participants,a.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var i=0,n=(s=r.participants.participants||[]).length;i{let t=e.detail,s=this.chatsFull[t],i=r.default.getChat(t);if(!i.photo||!s)return;let n="chatPhotoEmpty"==i.photo._;if(s.chat_photo&&n!=("photoEmpty"==s.chat_photo._))return delete this.chatsFull[t],void a.$rootScope.$broadcast("chat_full_update",t);if(n)return;let o=i.photo.photo_small,f=d.default.choosePhotoSize(s.chat_photo,0,0);JSON.stringify(o)!==JSON.stringify(f.location)&&(delete this.chatsFull[t],a.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let s={};return e.commands.forEach(e=>{s[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:s}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):p.default.invokeApi("users.getFullUser",{id:f.default.getUserInput(e)}).then(s=>(t&&t.phone_number?(s.user.phone=t.phone_number,(t.first_name||t.last_name)&&(s.user.first_name=t.first_name,s.user.last_name=t.last_name),f.default.saveApiUser(s.user)):f.default.saveApiUser(s.user,!0),s.profile_photo&&(s.profile_photo=d.default.savePhoto(s.profile_photo,{user_id:e})),void 0!==s.about&&(s.rAbout=l.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.bot_info&&(s.bot_info=this.saveBotInfo(s.bot_info)),b.default.savePinnedMessage(e,s.pinned_msg_id),this.usersFull[e]=s))}getPeerBots(e){var t=[];return e>=0&&!f.default.isBot(e)||c.default.isChannel(e)&&!c.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var s=e.bot_info;return s&&"botInfoEmpty"!=s._&&t.push(s),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);const s=t.full_chat;return s&&s.chat_photo&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s})}getChatInviteLink(e,t){return this.getChatFull(e).then(s=>{if(!t&&s.exported_invite&&"chatInviteExported"==s.exported_invite._)return s.exported_invite.link;let i;return i=r.default.isChannel(e)?p.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):p.default.invokeApi("messages.exportChatInvite",{chat_id:e}),i.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,s,i){s=s||200,i=i||0;let n=[e,(t=t||{_:"channelParticipantsRecent"})._,i,s].join("_"),o=this.chatParticipantsPromises[n];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let d=n=>{let a=0;if(n){let e=[];n.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{a=(20261*a+2147483648+e)%2147483648})}return p.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:i,limit:s,hash:a}).then(e=>"channels.channelParticipantsNotModified"==e._?n:(f.default.saveApiUsers(e.users),e.participants))},l=s=>{let n=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!i&&!n.pFlags.kicked&&!n.pFlags.left){s=a.copy(s);let e,t=f.default.getSelf().id,i=s.findIndex(e=>e.user_id==t);-1!==i?(e=s[i],s.splice(i,1)):e={_:"channelParticipantSelf",user_id:t},s.unshift(e)}return s},c=a.tsNow();if(void 0!==o){let e=o[1];if(o[0]>c-6e4)return e;let t=e.then(e=>d(e).then(l));return this.chatParticipantsPromises[n]=[c,t],t}let u=d().then(l);return this.chatParticipantsPromises[n]=[c,u],u}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);let s=t.full_chat;return s&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),s.pinned_msg_id&&(s.pinned_msg_id=o.default.getFullMessageID(s.pinned_msg_id,e)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];a.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let s=t&&t.pinned_msg_id;return!!s&&h.default.get("pinned_hidden"+e).then(e=>o.default.getMessageLocalID(s)!=e&&s)})}hideChannelPinnedMessage(e,t){let s={};s["pinned_hidden"+e]=o.default.getMessageLocalID(t),h.default.set(s),a.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,s){return p.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:s}).then(e=>{f.default.saveApiUser(e)})}uploadProfilePhoto(e){return p.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{f.default.saveApiUsers(e.users),p.default.getUserID().then(t=>{d.default.savePhoto(e.photo,{user_id:t}),u.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:a.tsNow(!0),photo:f.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return p.default.invokeApi("account.updateUsername",{username:e}).then(e=>{f.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putAvatar(e,t,s){return i(this,void 0,void 0,(function*(){const i=c.default.getInputPeerByID(t);if(!this.savedAvatarURLs[t]){const e={_:"inputPeerPhotoFileLocation",flags:0,peer:i,volume_id:s.photo_small.volume_id,local_id:s.photo_small.local_id},n={dcID:s.dc_id,location:e};yield v.default.download(n).then(e=>{this.savedAvatarURLs[t]=URL.createObjectURL(e)})}const n=new Image;m.renderImageFromUrl(n,this.savedAvatarURLs[t])?(e.innerHTML="",e.append(n)):(n.classList.add("fade-in"),n.addEventListener("load",()=>{e.innerHTML="",e.append(n)}))}))}putPhoto(e,t,s=!1,i=""){var n;const o=c.default.getPeerPhoto(t),r=o&&!o.empty&&o.photo_small,d=!!e.firstElementChild,l=a.$rootScope.myID;if(t==l&&s)return e.innerHTML="",e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),void e.classList.remove("tgico-avatar_deletedaccount");if(t>0){const s=f.default.getUser(t);if(s&&s.pFlags&&s.pFlags.deleted)return e.innerHTML="",e.style.backgroundColor="",void e.classList.add("tgico-avatar_deletedaccount")}if(!r||!d||!this.savedAvatarURLs[t]){let s,a="";if(t&&t!=l&&(a=c.default.getPeerColorByID(t)),e.innerHTML="",e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=a,i){const e=g.default.cleanSearchText(i,!1).split(" "),t=e.shift(),n=e.pop();s=t.charAt(0)+(n?n.charAt(0):"")}else s=null!==(n=c.default.getPeer(t).initials)&&void 0!==n?n:"";e.innerText=s.toUpperCase()}r&&this.putAvatar(e,t,o)}}t.AppProfileManager=y,t.default=new y},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDownloadManager=void 0;const n=s(0),a=i(s(2)),o=s(24),r=s(21);class d{constructor(){this.downloads={},this.progress={},this.progressCallbacks={},this.uploadID=0,n.$rootScope.$on("download_progress",e=>{const t=e.detail;this.progress[t.fileName]=t;const s=this.progressCallbacks[t.fileName];s&&s.forEach(e=>e(t));const i=this.downloads[t.fileName];i&&i.notifyAll(t)})}getNewDeferred(e){const t=o.deferredPromise();return t.cancel=()=>{const s=new Error("Download canceled");s.name="AbortError",a.default.cancelDownload(e),this.clearDownload(e),t.reject(s),t.cancel=()=>{}},t.finally(()=>{delete this.progress[e],delete this.progressCallbacks[e]}),this.downloads[e]=t}clearDownload(e){delete this.downloads[e]}download(e){const t=r.getFileNameByLocation(e.location,{fileName:e.fileName});if(this.downloads.hasOwnProperty(t))return this.downloads[t];const s=this.getNewDeferred(t);return a.default.downloadFile(e).then(s.resolve,s.reject),s}upload(e,t){if(!t){const s=null==e?void 0:e.type;if(s){const e=this.uploadID+++"."+s.split("/")[1];t=["image/jpeg","image/png","image/bmp"].indexOf(s)>=0?"photo"+e:0===s.indexOf("audio/")||["video/ogg"].indexOf(s)>=0?"audio"+e:0===s.indexOf("video/")?"video"+e:"document"+e}else t="upload-"+this.uploadID++}const s=this.getNewDeferred(t);return a.default.uploadFile({file:e,fileName:t}).then(s.resolve,s.reject),s.finally(()=>{this.clearDownload(t)}),s}getDownload(e){return this.downloads[e]}addProgressCallback(e,t){var s;const i=this.progress[e];(null!==(s=this.progressCallbacks[e])&&void 0!==s?s:this.progressCallbacks[e]=[]).push(t),i&&t(i)}createDownloadAnchor(e,t,s){const i=document.createElement("a");i.href=e,i.download=t,i.target="_blank",i.style.position="absolute",i.style.top="1px",i.style.left="1px",document.body.append(i);try{var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(n)}catch(t){console.error("Download click error",t);try{i.click()}catch(t){window.open(e,"_blank")}}setTimeout(()=>{i.remove(),s&&s()},100)}downloadToDisc(e,t){const s=this.download(e);return s.then(e=>{const s=URL.createObjectURL(e);this.createDownloadAnchor(s,t,()=>{URL.revokeObjectURL(s)})}),s}}t.AppDownloadManager=d,t.default=new d},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.prevValue="",this.timeout=0,this.onInput=()=>{if(!this.onChange)return;let e=this.input.value;e!=this.prevValue&&(this.prevValue=e,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.onChange(e)},200))},this.onClearClick=()=>{this.value="",this.onChange&&this.onChange("")},this.container=document.createElement("div"),this.container.classList.add("input-search"),this.onChange=t,this.input=document.createElement("input"),this.input.type="text",this.input.placeholder=e,this.input.autocomplete=Math.random().toString(36).substring(7);const s=document.createElement("span");s.classList.add("tgico","tgico-search"),this.clearBtn=document.createElement("span"),this.clearBtn.classList.add("tgico","btn-icon","tgico-close"),this.input.addEventListener("input",this.onInput),this.clearBtn.addEventListener("click",this.onClearClick),this.container.append(this.input,s,this.clearBtn)}get value(){return this.input.value}set value(e){this.input.value=e,this.prevValue=e,clearTimeout(this.timeout)}remove(){clearTimeout(this.timeout),this.input.removeEventListener("input",this.onInput),this.clearBtn.removeEventListener("click",this.onClearClick)}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4);const d=new(o(s(25)).default)("page-chats",!1,()=>{const e=Promise.resolve().then(()=>a(s(12)));return e.finally(()=>{Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let s=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),s.classList.remove("active")):r.openBtnMenu(s)})})}),e});t.default=d},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiUpdatesManager=void 0;const n=i(s(2)),a=s(0),o=i(s(8)),r=i(s(5)),d=i(s(9)),f=s(10);class l{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1,this.log=f.logger("UPDATES",f.LogLevels.error)}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var s=t.updates,i=0,n=s.length;i=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var s,i=t.pts,n=!1,a=0,o=0,r=t.pendingPtsUpdates.length;o=s.pts&&(n=s.pts,a=o);if(!n)return!1;for(this.log("pop pending pts updates",n,t.pendingPtsUpdates.slice(0,a+1)),t.pts=n,o=0;o<=a;o++)s=t.pendingPtsUpdates[o],this.saveUpdate(s);return t.pendingPtsUpdates.splice(0,a+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var s=2&e.flags,i=e.from_id||(s?a.$rootScope.myID:e.user_id),n=e.chat_id?-e.chat_id:s?e.user_id:a.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:i,to_id:o.default.getOutputPeer(n),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),d.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:this.log.warn("Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),n.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return this.log("apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),d.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const s=t.intermediate_state||t.state;e.seq=s.seq,e.pts=s.pts,e.date=s.date,"updates.differenceSlice"==t._?this.getDifference():(a.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),n.default.invokeApi("updates.getChannelDifference",{channel:d.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(s=>(t.pts=s.pts,"updates.channelDifferenceEmpty"==s._?(this.log("apply channel empty diff",s),t.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==s._?(this.log("channel diff too long",s),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(s.users),d.default.saveApiChats(s.chats),this.log("applying",s.other_updates.length,"channel other updates"),s.other_updates.forEach(e=>{this.saveUpdate(e)}),this.log("applying",s.new_messages.length,"channel new messages"),s.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),this.log("apply channel diff",t.pts),void("updates.channelDifference"!=s._||s.pFlags.final?(this.log("finished channel get diff"),a.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var s=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":s=-o.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":s=e.channel_id;break;case"updateChannelTooLong":if(!((s=e.channel_id)in this.channelStates))return!1}var i,n,f=s?this.getChannelState(s,e.pts):this.updatesState;if(f.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!f.lastPtsUpdateTime||f.lastPtsUpdateTime0&&!r.default.hasUser(c)&&(h="toPeer User")||c<0&&!d.default.hasChat(-c)&&(h="toPeer Chat"))return this.log.warn("Not enough data for message update",c,h,l),s&&d.default.hasChat(s)?this.getChannelDifference(s):this.forceGetDifference(),!1}else if(s&&!d.default.hasChat(s))return!1;if(e.pts){if(f.pts+(e.pts_count||0){s?this.getChannelDifference(s):this.getDifference()},5e3)}),f.syncPending.ptsAwaiting=!0,!1;if(e.pts>f.pts)f.pts=e.pts,i=!0,f.lastPtsUpdateTime=a.tsNow();else if(e.pts_count)return!1;s&&t.date&&this.updatesState.date0){var p=t.seq,m=t.seqStart||p;if(m!=f.seq+1&&m>f.seq)return this.log.warn("Seq hole",f,f.syncPending&&f.syncPending.seqAwaiting),void 0===f.pendingSeqUpdates[m]&&(f.pendingSeqUpdates[m]={seq:p,date:t.date,updates:[]}),f.pendingSeqUpdates[m].updates.push(e),f.syncPending||(f.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!f.syncPending.seqAwaiting||f.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=l,t.default=new l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesIDsManager=void 0;class i{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var s=this.channelLocals[t];return s||(s=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[s]=t,this.channelLocals[t]=s),s+e}getMessageIDInfo(e){if(e{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=o,t.default=new o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(e,t=!0,s=!1){this.cancelable=t,this.tempID=0,this.detached=!0,this.promise=null,this.preloader=document.createElement("div"),this.preloader.classList.add("preloader-container"),s&&this.preloader.classList.add("preloader-streamable"),this.preloader.innerHTML=`\n
\n \n \n \n
`,t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",e=>{i.cancelEvent(e),this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attachPromise(e){this.promise=e;const t=--this.tempID;e.finally(()=>{e.notify=null,t==this.tempID&&(this.detach(),this.promise=e=null)}),e.addNotifyListener&&e.addNotifyListener(e=>{if(t!=this.tempID)return;const s=e.done/e.total*100;this.setProgress(s)})}attach(e,t=!0,s,i=!0){s&&this.attachPromise(s),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[i?"append":"prepend"](this.preloader),this.cancelable&&t&&this.setProgress(0))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.remove())})}setProgress(e){if(i.isInDOM(this.circle))if(0!=e)try{const t=this.circle.getTotalLength();this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}catch(e){}else this.circle.style.strokeDasharray=""}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupPeer=t.PopupElement=void 0;const n=i(s(41)),a=s(19);class o{constructor(e,t,s={}){if(this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),s.closable&&(this.closeBtn=document.createElement("span"),this.closeBtn.classList.add("btn-icon","popup-close","tgico-close"),a.ripple(this.closeBtn),this.header.prepend(this.closeBtn),this.closeBtn.addEventListener("click",()=>{this.destroy()},{once:!0})),s.withConfirm&&(this.confirmBtn=document.createElement("button"),this.confirmBtn.classList.add("btn-primary"),this.confirmBtn.innerText=s.withConfirm,this.header.append(this.confirmBtn),a.ripple(this.confirmBtn)),this.container.append(this.header),s.body&&(this.body=document.createElement("div"),this.body.classList.add("popup-body"),this.container.append(this.body)),t&&t.length){const e=document.createElement("div");e.classList.add("popup-buttons");const s=t.map(e=>{const t=document.createElement("button");return t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,a.ripple(t),e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()},{once:!0}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()},{once:!0}),t});e.append(...s),this.container.append(e)}this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.onClose&&this.onClose(),this.element.classList.remove("active"),setTimeout(()=>{this.element.remove(),this.onCloseAfterTimeout&&this.onCloseAfterTimeout()},1e3)}}t.PopupElement=o;t.PopupPeer=class extends o{constructor(e,t={}){super("popup-peer"+(e?" "+e:""),t.buttons),this.className=e;let s=new n.default;s.setAttribute("dialog","1"),s.setAttribute("peer",""+t.peerID),s.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(s);let i=document.createElement("p");i.classList.add("popup-description"),i.innerHTML=t.description,this.container.insertBefore(i,this.header.nextElementSibling)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(7)),o=i(s(11)),r=s(1),d=s(24);const f=new class{constructor(){this.media={},this.waitingMediaForLoad={},this.onPause=e=>{n.$rootScope.$broadcast("audio_pause")},this.onEnded=e=>{if(this.onPause(e),this.nextMid){const e=this.media[this.nextMid];this.resolveWaitingForLoadMedia(this.nextMid),setTimeout(()=>{e.play()},0)}},this.container=document.createElement("div"),this.container.style.cssText="display: none;",document.body.append(this.container)}addMedia(e,t,s=!0){if(this.media[t])return this.media[t];const i=document.createElement("round"==e.type?"video":"audio");"round"==e.type&&i.setAttribute("playsinline",""),i.dataset.mid=""+t,i.dataset.type=e.type,i.volume=1,this.container.append(i),i.addEventListener("playing",()=>{this.playingMedia!=i&&(this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause(),this.playingMedia=i,this.loadSiblingsMedia(e.type,t)),setTimeout(()=>{n.$rootScope.$broadcast("audio_play",{doc:e,mid:t})},0)}),i.addEventListener("pause",this.onPause),i.addEventListener("ended",this.onEnded);const a=s=>{this.nextMid==t&&this.loadSiblingsMedia(e.type,t).then(()=>{this.nextMid&&this.media[this.nextMid]&&this.media[this.nextMid].play()})};i.addEventListener("error",a);const f=d.deferredPromise();s?f.resolve():this.waitingMediaForLoad[t]=f;const l=e.supportsStreaming?Promise.resolve():o.default.downloadDocNew(e.id);return Promise.all([f,l]).then(()=>{"audio"==e.type&&e.supportsStreaming&&r.isSafari&&this.handleSafariStreamable(i),i.src=e.url},a),this.media[t]=i}handleSafariStreamable(e){e.addEventListener("play",()=>{const t=e.currentTime;e.addEventListener("progress",()=>{e.currentTime=e.duration-1,e.addEventListener("progress",()=>{e.currentTime=t,e.paused||e.play()},{once:!0})},{once:!0})})}resolveWaitingForLoadMedia(e){const t=this.waitingMediaForLoad[e];t&&(t.resolve(),delete this.waitingMediaForLoad[e])}isSafariBuffering(e){return!!e.safariBuffering}setSafariBuffering(e,t){e.safariBuffering=t}loadSiblingsMedia(e,t){const s=this.playingMedia,i=a.default.getMessage(t);return this.prevMid=this.nextMid=0,a.default.getSearch(i.peerID,"",{_:"audio"==e?"inputMessagesFilterMusic":"inputMessagesFilterRoundVoice"},t,3,0,2).then(e=>{if(this.playingMedia==s){for(let s of e.history)if(s>t)this.nextMid=s;else if(s{const t=a.default.getMessage(e);this.addMedia(t.media.document,e,!1)})}})}toggle(){this.playingMedia&&(this.playingMedia.paused?this.playingMedia.play():this.playingMedia.pause())}pause(){this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause()}willBePlayed(e){this.willBePlayedMedia=e}};t.default=f},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(1));let a=(()=>{class e{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(t,s=!0){const i="%"==t.charAt(0);return t=t.replace(e.badCharsRe,"").replace(e.trimRe,""),s&&(t=t.replace(/[^A-Za-z0-9]/g,e=>{const t=n.default.LatinizeMap[e];return void 0!==t?t:e})),t=t.toLowerCase(),i&&(t="%"+t),t}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,s){if(void 0!==s.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const i=s.shortIndexes;s.fullTexts[e]=t,t.split(" ").forEach(t=>{let s,n,a=Math.min(t.length,3);for(n=1;n<=a;n++)s=t.substr(0,n),void 0===i[s]?i[s]=[e]:i[s].push(e)})}search(e,t){const s=t.shortIndexes,i=t.fullTexts,n=(e=this.cleanSearchText(e)).split(" ");let a,o,r,d,f,l=!1;for(o=0;oa.length)&&(l=a)}for(a={},r=0;r,<]+/g,e.trimRe=/^\s+|\s$/g,e})();t.default=new a},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(3),a=i(s(7)),o=i(s(8)),r=i(s(2)),d=i(s(32)),f=s(0),l=s(10),c=i(s(5));const u=new class{constructor(){this.polls={},this.results={},this.log=l.logger("POLLS",l.LogLevels.error),f.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{this.log("updateMessagePoll:",e);let t=e.poll;if(!t)break;t=this.savePoll(t,e.results),f.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){const s=e.id;return this.polls[s]?(e=Object.assign(this.polls[s],e),this.saveResults(e,t),e):(this.polls[s]=e,e.rQuestion=n.RichTextProcessor.wrapEmojiText(e.question),e.rReply=n.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),e.chosenIndexes=[],this.saveResults(e,t),e)}saveResults(e,t){var s;this.results[e.id]=t,e.chosenIndexes.length=0,(null===(s=null==t?void 0:t.results)||void 0===s?void 0:s.length)&&t.results.forEach((t,s)=>{var i;(null===(i=t.pFlags)||void 0===i?void 0:i.chosen)&&e.chosenIndexes.push(s)})}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){const s=a.default.getMessage(e),i=s.media.poll,n=t.map(e=>i.answers[e].option),f=o.default.getInputPeerByID(s.peerID),l=s.id;return r.default.invokeApi("messages.sendVote",{peer:f,msg_id:l,options:n}).then(e=>{this.log("sendVote updates:",e),d.default.processUpdateMessage(e)})}getResults(e){const t=a.default.getMessage(e),s=o.default.getInputPeerByID(t.peerID),i=t.id;return r.default.invokeApi("messages.getPollResults",{peer:s,msg_id:i}).then(e=>{d.default.processUpdateMessage(e),this.log("getResults updates:",e)})}getVotes(e,t,s,i=20){const n=a.default.getMessage(e),d=o.default.getInputPeerByID(n.peerID),f=n.id;let l=0;return t&&(l|=1),s&&(l|=2),r.default.invokeApi("messages.getPollVotes",{flags:l,peer:d,id:f,option:t,offset:s,limit:i}).then(e=>(this.log("getPollVotes messages:",e),c.default.saveApiUsers(e.users),e))}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppStateManager=void 0;const n=i(s(16)),a=i(s(7)),o=i(s(33)),r=i(s(8)),d=i(s(9)),f=i(s(5)),l=i(s(32)),c=s(0),u=s(10);class h{constructor(){this.log=u.logger("STATE"),this.state={},this.loadSavedState()}loadSavedState(){return this.loaded?this.loaded:this.loaded=new Promise((e,t)=>{n.default.get("state").then(t=>{var s;const i=Date.now();(null!==(s=null==t?void 0:t.stateCreatedTime)&&void 0!==s?s:0)+864e5{delete t[e]}));const{dialogs:n,allDialogsLoaded:r,peers:c,messages:u,contactsList:h,maxSeenMsgID:p,updates:m,filters:g}=t;if(this.state=t||{},this.state.peers=c||{},this.state.hasOwnProperty("stateCreatedTime")||(this.state.stateCreatedTime=Date.now()),this.log("state res",n,u),p&&!o.default.getMessageIDInfo(p)[1]&&(a.default.maxSeenID=p),c)for(let e in c){let t=c[e];+e<0?d.default.saveApiChat(t):f.default.saveApiUser(t)}if(h&&Array.isArray(h)&&h.length&&(h.forEach(e=>{f.default.pushContact(e)}),f.default.contactsFillPromise=Promise.resolve(f.default.contactsList)),u){a.default.saveMessages(u);for(let e of u)e.media&&a.default.wrapSingleMessage(e.mid,!0)}if(r&&(a.default.dialogsStorage.allDialogsLoaded=r),g)for(const e in g)a.default.filtersStorage.saveDialogFilter(g[e],!1);n&&n.forEachReverse(e=>{a.default.saveConversation(e)}),l.default.attach(null!=m?m:null),e(t)}).catch(e).finally(()=>{setInterval(()=>this.saveState(),1e4)})})}getState(){return this.loadSavedState()}saveState(){var e,t;const s=[],i=[],o=this.state.peers;for(const n in a.default.dialogsStorage.byFolders){const d=a.default.dialogsStorage.getFolder(+n);for(let n of d){const d=a.default.historiesStorage[n.peerID],f=[].concat(null!==(e=null==d?void 0:d.pending)&&void 0!==e?e:[],null!==(t=null==d?void 0:d.history)&&void 0!==t?t:[]);n=c.copy(n);let l=0;for(const e of f){const t=a.default.getMessage(e);if(t.id>0){s.push(t),t.fromID!=n.peerID&&(o[t.fromID]=r.default.getPeer(t.fromID)),n.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++l}l&&n.unread_count&&(n.unread_count-=l),i.push(n),o[n.peerID]=r.default.getPeer(n.peerID)}}const d=l.default.updatesState,u={seq:d.seq,pts:d.pts,date:d.date},h=[...f.default.contactsList];for(const e of h)o[e]||(o[e]=f.default.getUser(e));const p=a.default.filtersStorage.filters;n.default.set({state:Object.assign({},this.state,{dialogs:i,messages:s,allDialogsLoaded:a.default.dialogsStorage.allDialogsLoaded,peers:o,contactsList:h,filters:p,updates:u,maxSeenMsgID:a.default.maxSeenID})})}pushToState(e,t){this.state[e]=t}pushPeer(e){this.state.peers[e]=r.default.getPeer(e)}}t.AppStateManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(27));s(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;n.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{e.update()})});class a extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,s){if("peer"==e){if(this.peerID==+s)return;this.peerID=+s,this.update()}else"peer-title"==e?this.peerTitle=s:"dialog"==e&&(this.isDialog=!!+s)}update(){n.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=a,customElements.define("avatar-element",a)},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchGroup=void 0;const n=i(s(15)),a=i(s(6)),o=i(s(33)),r=i(s(5)),d=i(s(8)),f=i(s(7)),l=s(0),c=s(4),u=i(s(9));t.SearchGroup=class{constructor(e,t,s=!0,i,a=!0){this.name=e,this.type=t,this.clearable=s,this.list=document.createElement("ul"),this.container=document.createElement("div"),i&&(this.container.className=i),e&&(this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.append(this.nameEl)),this.container.classList.add("search-group","search-group-"+t),this.container.append(this.list),this.container.style.display="none",a&&n.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,s,i){this.container=e,this.searchInput=t,this.searchGroups=s,this.onSearch=i,this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new a.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchGroups.messages&&this.scrollable.setVirtualContainer(this.searchGroups.messages.list),this.searchInput.onChange=e=>{this.query=e,this.reset(!1),this.searchMore()},this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.input.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;const e=this.query;if(!e.trim())return void(this.onSearch&&this.onSearch(0));if(-1!=this.foundCount&&this.loadedCount>=this.foundCount)return Promise.resolve();const t=o.default.getMessageIDInfo(this.minMsgID)[0]||0;return this.peerID||t||this.loadedContacts||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;this.loadedContacts=!0;let s=(t,s,i=!1)=>{t.forEach(t=>{let a=d.default.getPeerID(t),o=d.default.getPeer(a),h=f.default.getDialogByPeerID(a)[0];h||(h={peerID:a,pFlags:{},peer:o});let{dialog:p,dom:m}=n.default.addDialog(h,s.list,!1);if(i&&(o.participants_count||o.participants)){let t=new RegExp(`(${l.escapeRegExp(e)})`,"gi");m.titleSpan.innerHTML=m.titleSpan.innerHTML.replace(t,"$1"),m.lastMessageSpan.innerText=u.default.getChatMembersString(-a)}else{let e=d.default.getPeerUsername(a);if(e)e="@"+e;else{let t=r.default.getUser(a);t&&t.phone&&(e="+"+c.formatPhoneNumber(t.phone).formatted)}m.lastMessageSpan.innerHTML=""+e+""}}),t.length?s.setActive():s.clear()};s(t.my_results,this.searchGroups.contacts,!0),s(t.results,this.searchGroups.globalContacts)}),this.searchPromise=f.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(s=>{if(this.searchPromise=null,this.searchInput.value!=e)return;console.log("input search result:",this.peerID,e,null,t,20,s);const{count:i,history:a,next_rate:o}=s;a[0]==this.minMsgID&&a.shift();this.searchGroups.messages.setActive(),a.forEach(t=>{const s=f.default.getMessage(t);let i=f.default.getDialogByPeerID(s.peerID)[0];i||(i={peerID:s.peerID,pFlags:{},peer:s.to_id});const{dialog:a,dom:o}=n.default.addDialog(i,this.scrollable,!1);n.default.setLastMessage(a,s,o,e)}),this.minMsgID=a[a.length-1],this.offsetRate=o,this.loadedCount+=a.length,-1==this.loadedCount&&(this.loadedCount=0),-1==this.foundCount&&(this.foundCount=i,this.onSearch&&this.onSearch(this.foundCount))}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(16)),o=n(s(2)),r=n(s(11)),d=s(0);const f=new class{constructor(){this.documents={},this.stickerSets={},this.hashes={featured:{},search:{}},a.default.get("stickerSets").then(e=>{if(e){for(let t in e){let s=e[t];this.saveStickers(s.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})}),d.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateNewStickerSet":this.saveStickerSet(t.stickerset,t.stickerset.set.id),d.$rootScope.$broadcast("stickers_installed",t.stickerset.set)}})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=r.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,s)=>{e[s]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){var s;return i(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite&&(null===(s=this.stickerSets[e.id].documents)||void 0===s?void 0:s.length))return this.stickerSets[e.id];let i=o.default.invokeApi("messages.getStickerSet",{stickerset:this.getStickerSetInput(e)}),n=yield i;return this.saveStickerSet(n,e.id),n}))}getRecentStickers(){return i(this,void 0,void 0,(function*(){let e=yield o.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;if(t&&t.documents)return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){const s={set:e.set,packs:e.packs,documents:e.documents};this.stickerSets[t]?Object.assign(this.stickerSets[t],s):this.stickerSets[t]=s,this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{const e={};for(const t in this.stickerSets){const s=this.stickerSets[t];(s.set.installed_date||"emoji"==t)&&(e[t]=s)}a.default.set({stickerSets:e}),this.saveSetsTimeout=0},100))}getStickerSetThumbDownloadOptions(e){var t;const s=e.thumb,i=e.thumb_dc_id,n=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return{dcID:i,location:{_:"inputStickerSetThumb",stickerset:this.getStickerSetInput(e),volume_id:s.location.volume_id,local_id:s.location.local_id},size:s.size,mimeType:n?"application/x-tgsticker":"image/webp"}}getStickerSetInput(e){return"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}getFeaturedStickers(){var e,t;return i(this,void 0,void 0,(function*(){const s=yield o.default.invokeApi("messages.getFeaturedStickers",{hash:(null===(e=this.hashes.featured)||void 0===e?void 0:e.hash)||0}),i=null!==(t=this.hashes.featured)&&void 0!==t?t:this.hashes.featured={};return"messages.featuredStickersNotModified"!=s._&&(i.hash=s.hash,i.result=s.sets),i.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)}),i.result}))}toggleStickerSet(e){return i(this,void 0,void 0,(function*(){if(e.installed_date){if(yield o.default.invokeApi("messages.uninstallStickerSet",{stickerset:this.getStickerSetInput(e)}))return delete e.installed_date,d.$rootScope.$broadcast("stickers_deleted",e),!0}else{if(yield o.default.invokeApi("messages.installStickerSet",{stickerset:this.getStickerSetInput(e),archived:!1}))return e.installed_date=Date.now()/1e3|0,d.$rootScope.$broadcast("stickers_installed",e),!0}return!1}))}searchStickerSets(e,t=!0){var s,n;return i(this,void 0,void 0,(function*(){const i=t?1:0,a=yield o.default.invokeApi("messages.searchStickerSets",{flags:i,exclude_featured:t,q:e,hash:(null===(s=this.hashes.search[e])||void 0===s?void 0:s.hash)||0}),r=null!==(n=this.hashes.search[e])&&void 0!==n?n:this.hashes.search[e]={};"messages.foundStickerSetsNotModified"!=a._&&(r.hash=a.hash,r.result=a.sets),r.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)});const d=[];for(let t in this.stickerSets){const{set:s}=this.stickerSets[t];s.title.toLowerCase().includes(e.toLowerCase())&&!r.result.find(e=>e.set.id==s.id)&&d.push({_:"stickerSetCovered",set:s,cover:null})}return r.result.concat(d)}))}cleanup(){return i(this,void 0,void 0,(function*(){yield a.default.remove("stickerSets")}))}};t.default=f},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toast=void 0;const i=document.createElement("div");i.classList.add("toast"),t.toast=function(e){i.innerHTML=e,document.body.append(i),i.dataset.timeout&&clearTimeout(+i.dataset.timeout),i.dataset.timeout=""+setTimeout(()=>{i.remove(),delete i.dataset.timeout},3e3)}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupAvatar=void 0;const n=i(s(86)),a=i(s(28));class o{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var s=new FileReader;s.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=n.default(this.image,this.canvas),this.input.value=""}},s.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>a.default.upload(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=o,t.default=new o},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EmoticonsDropdown=t.EMOTICONSSTICKERGROUP=void 0;const a=n(s(23)),o=n(s(97)),r=s(1),d=s(0),f=s(26),l=n(s(18)),c=n(s(22)),u=n(s(12)),h=n(s(98)),p=n(s(99)),m=n(s(64));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";let g=(()=>{class e{constructor(){this.tabID=-1,this.events={onClose:[],onCloseAfter:[],onOpen:[],onOpenAfter:[]},this.toggle=s=>i(this,void 0,void 0,(function*(){const i=!!this.element.style.display&&void 0===s||s;if(this.init){if(!i)return;this.init(),this.init=null}r.touchSupport?(this.toggleEl.classList.toggle("flip-icon",i),i&&(u.default.chatInputC.saveScroll(),document.activeElement.blur(),yield new Promise(e=>{setTimeout(e,100)}))):this.toggleEl.classList.toggle("active",s),this.element.style.display&&void 0===s||s?(this.events.onOpen.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),this.element.style.display="",this.element.offsetLeft,this.element.classList.add("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onOpenAfter.forEach(e=>e())},r.touchSupport?0:200)):(this.events.onClose.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.element.classList.remove("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.element.style.display="none",l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onCloseAfter.forEach(e=>e())},r.touchSupport?0:200))})),this.element=document.getElementById("emoji-dropdown");let s=!0;this.toggleEl=document.getElementById("toggle-emoticons"),r.touchSupport?this.toggleEl.addEventListener("click",()=>{s?(s=!1,this.toggle(!0)):this.toggle()}):this.toggleEl.onmouseover=e=>{clearTimeout(this.displayTimeout),s&&(this.toggleEl.onmouseout=this.element.onmouseout=e=>{if(!this.element.classList.contains("active"))return;const t=e.toElement;t&&d.findUpClassName(t,"emoji-dropdown")||(clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.toggle(!1)},200))},this.element.onmouseover=e=>{clearTimeout(this.displayTimeout)},s=!1),this.toggle(!0)}}init(){this.emojiTab=new h.default,this.stickersTab=new p.default,this.gifsTab=new o.default,this.tabs={0:this.emojiTab,1:this.stickersTab,2:this.gifsTab},this.container=this.element.querySelector(".emoji-container .tabs-container"),this.tabsEl=this.element.querySelector(".emoji-tabs"),f.horizontalMenu(this.tabsEl,this.container,e=>{l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.tabID=e,this.searchButton.classList.toggle("hide",0==this.tabID),this.deleteBtn.classList.toggle("hide",0!=this.tabID)},()=>{const e=this.tabs[this.tabID];e.init&&e.init(),e.onCloseAfterTimeout&&e.onCloseAfterTimeout(),l.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),this.searchButton=this.element.querySelector(".emoji-tabs-search"),this.searchButton.addEventListener("click",()=>{1==this.tabID?c.default.stickersTab.init():c.default.gifsTab.init()}),this.deleteBtn=this.element.querySelector(".emoji-tabs-delete"),this.deleteBtn.addEventListener("click",()=>{var e;const t=u.default.chatInputC.messageInput;(null===(e=t.lastChild)||void 0===e?void 0:e.tagName)?t.lastElementChild.remove():t.lastChild&&(t.lastChild.textContent.length?t.lastChild.textContent=t.lastChild.textContent.slice(0,-1):t.lastChild.remove());const s=new Event("input",{bubbles:!0,cancelable:!0});u.default.chatInputC.messageInput.dispatchEvent(s)}),this.tabsEl.firstElementChild.children[1].click(),this.tabs[0].init()}}return e.lazyLoadQueue=new a.default,e.menuOnClick=(e,t,s)=>{let i=0,n=-1;const a=t=>t!=i&&(e.children[i].classList.remove("active"),e.children[t].classList.add("active"),i=t,!0),o=new m.default(t.container,(i,o)=>{if(Math.abs(n-t.container.scrollTop)<=1)return;n=-1;const r=d.whichChild(o);!i&&r||(a(r),s&&(r{let s=e.target;if(s=d.findUpTag(s,"LI"),!s)return;const i=d.whichChild(s);if(!a(i))return;const o=(t.splitUp||t.container).children[i].offsetTop+1;t.container.scrollTop=n=o}),o},e.onMediaClick=e=>{let t=e.target;if(t=d.findUpTag(t,"DIV"),!t)return;const s=t.dataset.docID;s&&(u.default.chatInputC.sendMessageWithDocument(s)?b.toggle(!1):console.warn("got no doc by id:",s))},e})();t.EmoticonsDropdown=g;const b=new g;t.default=b},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,t.isSafari=!!("safari"in i)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(4),a=i(s(6)),o=s(3),r=i(s(1)),d=s(0),f=i(s(77)),l=i(s(104)),c=i(s(2)),u=i(s(25)),h=s(30);let p=null;const m=new u.default("page-sign",!0,()=>{h.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t=null;var s=m.pageEl.querySelector('input[name="countryCode"]'),i=s.parentElement,u=document.createElement("div");u.classList.add("select-wrapper","z-depth-3","hide");var g=document.createElement("ul");u.appendChild(g);new a.default(u);let b=!1;m.pageEl.querySelector(".a-qr").addEventListener("click",()=>{l.default.mount()});let v,y=()=>{y=null,e.forEach(e=>{b=!0;let t=e.emoji,s=[];e.phoneCode.split(" and ").forEach(i=>{let n=document.createElement("li");var a=document.createElement("span");let r=o.RichTextProcessor.wrapRichText(t);n.appendChild(a),a.outerHTML=r,n.append(e.name);var d=document.createElement("span");d.classList.add("phone-code"),d.innerText="+"+i,n.appendChild(d),s.push(n),g.append(n)}),e.li=s}),g.addEventListener("mousedown",(function(i){let n=i.target;"LI"!=n.tagName&&(n=d.findUpTag(n,"LI"));let a=n.childNodes[1].textContent,o=n.querySelector(".phone-code").innerText;s.value=a,t=e.find(e=>e.name==a),w.value=o,setTimeout(()=>w.focus(),0)})),i.appendChild(u)};y(),s.addEventListener("focus",(function(t){y?y():e.forEach(e=>{e.li.forEach(e=>e.style.display="")}),clearTimeout(v),u.classList.remove("hide"),u.offsetWidth,u.classList.add("active")})),s.addEventListener("blur",(function(e){u.classList.remove("active"),v=setTimeout(()=>{u.classList.add("hide")},200),e.cancelBubble=!0}),{capture:!0}),s.addEventListener("keyup",(function(t){if(t.ctrlKey||"Control"==t.key)return!1;let s=this.value.toLowerCase(),i=[];e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&i.push(e)}),0==i.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),m.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),s.matches(":focus")?s.blur():s.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let w=m.pageEl.querySelector('input[name="phone"]');const _=w.nextElementSibling;w.addEventListener("input",(function(e){this.classList.remove("error"),_.innerText="Phone Number";let{formatted:i,country:a}=n.formatPhoneNumber(this.value);this.value=i?"+"+i:"";let o=a?a.name:"";o==s.value||t&&a&&t.phoneCode==a.phoneCode||(s.value=o,t=a),a||this.value.length-1>1?p.style.visibility="":p.style.visibility="hidden"})),w.addEventListener("keypress",(function(e){return p.style.visibility||"Enter"!=e.key?/\D/.test(e.key)?(e.preventDefault(),!1):void 0:p.click()})),p.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",n.putPreloader(this);let t=w.value;c.default.invokeApi("auth.sendCode",{phone_number:t,api_id:h.App.id,api_hash:h.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{f.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":_.innerText="Phone Number Invalid",w.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));c.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&c.default.getNetworker(e.nearest_dc),e)).then(i=>{let n=e.find(e=>e.code==i.country);n&&(s.value.length||w.value.length||(s.value=n.name,t=n,w.value="+"+n.phoneCode.split(" and ").shift()))})},()=>{p||(p=m.pageEl.querySelector("button")),p.textContent="NEXT",p.removeAttribute("disabled")});t.default=m},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaProgressLine=t.ProgressLine=void 0;const n=s(0),a=s(1),o=i(s(37)),r=s(47);class d{constructor(e=0){this.duration=1,this.mousedown=!1,this.events={},this.onMouseMove=e=>{this.mousedown&&this.scrub(e)},this.onMouseDown=e=>{var t;this.scrub(e),this.mousedown=!0,(null===(t=this.events)||void 0===t?void 0:t.onMouseDown)&&this.events.onMouseDown(e)},this.onMouseUp=e=>{var t;this.mousedown=!1,(null===(t=this.events)||void 0===t?void 0:t.onMouseUp)&&this.events.onMouseUp(e)},this.container=document.createElement("div"),this.container.classList.add("progress-line"),this.filled=document.createElement("div"),this.filled.classList.add("progress-line__filled");const t=this.seek=document.createElement("input");t.classList.add("progress-line__seek"),t.value=""+e,t.setAttribute("min","0"),t.type="range",t.step="0.1",t.max=""+1e3*this.duration,e>0&&this.setProgress(e),this.container.append(this.filled,t)}setHandlers(e){this.events=e}setListeners(){this.container.addEventListener("mousemove",this.onMouseMove),this.container.addEventListener("mousedown",this.onMouseDown),this.container.addEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.addEventListener("touchmove",this.onMouseMove),this.container.addEventListener("touchstart",this.onMouseDown),this.container.addEventListener("touchend",this.onMouseUp))}setProgress(e){this.setFilled(e),this.seek.value=""+1e3*e}setFilled(e){let t=e/this.duration;t=Math.max(0,Math.min(1,t)),this.filled.style.transform="scaleX("+t+")"}scrub(e){var t;let s;if(e instanceof MouseEvent)s=e.offsetX;else{const t=e.target.getBoundingClientRect();s=e.targetTouches[0].pageX-t.left}const i=s/this.container.offsetWidth*this.duration;return this.setFilled(i),(null===(t=this.events)||void 0===t?void 0:t.onScrub)&&this.events.onScrub(i),i}removeListeners(){this.container.removeEventListener("mousemove",this.onMouseMove),this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.removeEventListener("touchmove",this.onMouseMove),this.container.removeEventListener("touchstart",this.onMouseDown),this.container.removeEventListener("touchend",this.onMouseUp)),this.events={}}}t.ProgressLine=d;class f extends d{constructor(e,t=!1){super(),this.media=e,this.streamable=t,this.stopAndScrubTimeout=0,this.progressRAF=0,this.onLoadedData=()=>{this.duration=this.media.duration,this.seek.setAttribute("max",""+1e3*this.duration)},this.onEnded=()=>{this.setProgress()},this.onPlay=()=>{let e=()=>{this.setProgress(),this.progressRAF=this.media.paused?0:window.requestAnimationFrame(e)};this.progressRAF&&window.cancelAnimationFrame(this.progressRAF),this.streamable&&this.setLoadProgress(),this.progressRAF=window.requestAnimationFrame(e)},this.onProgress=e=>{this.setLoadProgress()},t&&(this.filledLoad=document.createElement("div"),this.filledLoad.classList.add("progress-line__filled","progress-line__loaded"),this.container.prepend(this.filledLoad)),(!e.paused||e.currentTime>0)&&this.onPlay(),this.setSeekMax(),this.setListeners(),this.setHandlers({onMouseDown:e=>{this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=setTimeout(()=>{!this.media.paused&&this.media.pause(),this.stopAndScrubTimeout=0},150)},onMouseUp:e=>{this.stopAndScrubTimeout&&(clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=0),this.media.paused&&this.media.play()}})}scrub(e){const t=super.scrub(e);return this.media.currentTime=t,t}setLoadProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.buffered,t=e.length,s=this.media.currentTime;let i=0,n=0;for(let a=0;a=t&&t>=i&&(i=t,n=e.end(a))}const a=this.media.duration?n/this.media.duration:0;this.filledLoad.style.transform="scaleX("+a+")"}setSeekMax(){this.duration=this.media.duration,this.duration>0?this.onLoadedData():this.media.addEventListener("loadeddata",this.onLoadedData)}setProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.currentTime;super.setProgress(e)}setListeners(){super.setListeners(),this.media.addEventListener("ended",this.onEnded),this.media.addEventListener("play",this.onPlay),this.streamable&&this.media.addEventListener("progress",this.onProgress)}removeListeners(){super.removeListeners(),this.media.removeEventListener("loadeddata",this.onLoadedData),this.media.removeEventListener("ended",this.onEnded),this.media.removeEventListener("play",this.onPlay),this.streamable&&this.media.removeEventListener("progress",this.onProgress),this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.progressRAF&&window.cancelAnimationFrame(this.progressRAF)}}t.MediaProgressLine=f;let l=1,c=!l;class u{constructor(e,t=!1,s=!1){var i;if(this.video=e,this.onFullScreen=()=>{null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")},this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new f(e,s),t.prepend(this.progress.container)}if(t){e.play().catch(t=>{"NotAllowedError"==t.name&&(e.muted=!0,e.autoplay=!0,e.play())}).finally(()=>{this.wrapper.classList.toggle("is-playing",!this.video.paused)})}}stylePlayer(){const{wrapper:e,video:t,skin:s}=this;e.classList.add(s);const i=this.buildControls();e.insertAdjacentHTML("beforeend",i);let o=0,r=0,f=0;if("default"===s){const s=e.querySelectorAll(".toggle"),i=e.querySelector(".fullscreen");var u=e.querySelector("#time-elapsed");(m=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS();const r=document.createElement("div");r.classList.add("player-volume"),r.innerHTML='\n \n ';const f=r.firstElementChild;f.addEventListener("click",e=>{n.cancelEvent(e),t.muted=!t.muted});const h=new d;h.setListeners(),h.setHandlers({onScrub:e=>{const s=Math.max(Math.min(e,1),0);t.muted=!1,t.volume=s}}),r.append(h.container);const p=()=>{const e=t.volume;let s;s=!e||t.muted?"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z":e>.5?"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z":e>0&&e<.25?"M7 9v6h4l5 5V4l-5 5H7z":"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z";try{f.innerHTML=``}catch(e){}h.mousedown||h.setProgress(t.muted?0:e)};t.addEventListener("volumechange",()=>{c=t.muted,l=t.volume,p()}),t.volume=l,t.muted=c,p();if(e.querySelector(".left-controls").insertBefore(r,u.parentElement),Array.from(s).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{a.touchSupport||this.togglePlay()}),a.touchSupport){let t=0;const s=()=>{t=setTimeout(()=>{t=0,e.classList.remove("show-controls")},3e3)};e.addEventListener("click",()=>{t?clearTimeout(t):e.classList.add("show-controls"),s()}),e.addEventListener("touchstart",()=>{e.classList.add("show-controls"),clearTimeout(t)}),e.addEventListener("touchend",()=>{e.classList.contains("is-playing")&&s()})}t.addEventListener("pause",()=>{clearInterval(o)}),t.addEventListener("dblclick",()=>{if(!a.touchSupport)return this.toggleFullScreen(i)}),i.addEventListener("click",e=>this.toggleFullScreen(i)),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,this.onFullScreen,!1)})}else if("circle"===s){const s=document.createElement("div");s.classList.add("circle-time-left"),t.parentNode.insertBefore(s,t),s.innerHTML='
';var h=e.querySelector(".progress-ring__circle");const i=h.r.baseVal.value;var p=2*Math.PI*i,m=e.querySelector(".circle-time");const n=e.querySelector(".iconVolume");h.style.strokeDasharray=p+" "+p,h.style.strokeDashoffset=""+p,h.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{n.style.display="none",o=setInterval(()=>{t.currentTime!=f&&(r=t.currentTime,f=t.currentTime);const e=p-r/t.duration*p;h.style.strokeDashoffset=""+e,t.paused&&clearInterval(o)},20)}),t.addEventListener("pause",()=>{n.style.display=""})}t.addEventListener("play",()=>{this.wrapper.classList.add("is-playing")}),t.addEventListener("pause",()=>{this.wrapper.classList.remove("is-playing")}),t.duration>0?m.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{m.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==s&&(u.innerHTML=String(0|t.currentTime).toHHMMSS()),o=this.handleProgress(m,p,h,o)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):void this.video[this.video.paused?"play":"pause"]()}handleProgress(e,t,s,i){const{video:n,skin:a}=this;clearInterval(i);let o=0,r=0;if("circle"===a){i=setInterval(()=>{n.currentTime!=r&&(o=n.currentTime,r=n.currentTime);const e=t-o/n.duration*t;s.style.strokeDashoffset=""+e,n.paused&&clearInterval(i)},20);const a=String(n.duration-n.currentTime|0).toHHMMSS();return"0"!=a&&(e.innerHTML=a),i}}buildControls(){const e=this.skin;return"default"===e?`\n \n
\n
\n
\n
\n \n
\n \n / \n \n
\n
\n
\n \n
\n
\n
`:"circle"===e?'\n \n \n \n ':void 0}static isFullScreen(){return!!(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)}toggleFullScreen(e){const t=this.wrapper;if(r.isAppleMobile){const e=this.video;return e.webkitEnterFullscreen(),void e.enterFullscreen()}u.isFullScreen()?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}}t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(22)),a=i(s(7)),o=s(4),r=s(51);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,o.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let s=e.splice(0,3).map(e=>a.default.forwardMessages(e,this.msgIDs));Promise.all(s).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){(this.sidebarWasActive?Promise.resolve():n.default.toggleSidebar(!1)).then(()=>{this.cleanup(),this.container.classList.remove("active")})}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},["dialogs","contacts"],()=>{this.sidebarWasActive=n.default.sidebarEl.classList.contains("active"),n.default.toggleSidebar(!0)})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppSelectPeers=void 0;const a=n(s(6)),o=n(s(7)),r=s(0),d=n(s(15)),f=n(s(9)),l=n(s(5)),c=n(s(8)),u=n(s(13));t.AppSelectPeers=class{constructor(e,t,s=["dialogs"],i,n){this.appendTo=e,this.onChange=t,this.peerType=s,this.renderResultsFunc=n,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected=new Set,this.freezed=!1,this.folderID=0,this.offsetIndex=0,this.query="",this.loadedWhat={},this.container.classList.add("selector"),this.renderResultsFunc||(this.renderResultsFunc=this.renderResults);let o=document.createElement("div");o.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder=s.includes("dialogs")?"Select chat":"Add People...",this.input.type="text",this.selectedContainer.append(this.input),o.append(this.selectedContainer),this.selectedScrollable=new a.default(o);let d=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new a.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.chatsContainer.addEventListener("click",e=>{const t=r.findUpAttribute(e.target,"data-peerID");if(r.cancelEvent(e),!t)return;if(this.freezed)return;let s=t.getAttribute("data-peerID");s=+s||s,t.classList.toggle("active"),this.selected.has(s)?this.remove(s):this.add(s);const i=t.querySelector("input");i.checked=!i.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;const s=t.dataset.key,i=this.chatsContainer.querySelector('[data-peerid="'+s+'"]');i?i.click():this.remove(+s||s)}),this.input.addEventListener("input",()=>{const e=this.input.value;this.query!=e&&(this.peerType.includes("contacts")&&(delete this.loadedWhat.contacts,this.cachedContacts=null),delete this.loadedWhat.dialogs,delete this.loadedWhat.archived,this.folderID=0,this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(o,d,this.chatsContainer),e.append(this.container),setTimeout(()=>{let e=this.getMoreResults();i&&e.then(()=>{i()})},0)}getMoreDialogs(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.loadedWhat.dialogs&&this.loadedWhat.archived)return;const e=u.default.windowH/72*1.25|0;this.promise=o.default.getConversations(this.query,this.offsetIndex,e,this.folderID);const t=yield this.promise;this.promise=null;let s=t.dialogs;if(s.length){const e=s[s.length-1].index||0;s=s.slice(),s.findAndSplice(e=>e.peerID==r.$rootScope.myID),this.offsetIndex||0!=this.folderID||this.query&&!"saved messages".includes(this.query.toLowerCase())||!this.peerType.includes("dialogs")||s.unshift({peerID:r.$rootScope.myID,pFlags:{}}),this.offsetIndex=e,this.renderResultsFunc(s.map(e=>e.peerID))}else{if(!this.loadedWhat.dialogs)return this.loadedWhat.dialogs=!0,this.offsetIndex=0,this.folderID=1,this.getMoreDialogs();if(this.loadedWhat.archived=!0,!this.loadedWhat.contacts&&this.peerType.includes("contacts"))return this.getMoreContacts()}}))}getMoreContacts(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(!this.loadedWhat.contacts){if(this.cachedContacts||(this.promise=l.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==r.$rootScope.myID),this.promise=null),this.cachedContacts.length){const e=u.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResultsFunc(t)}return this.cachedContacts.length||(this.loadedWhat.contacts=!0,this.peerType.includes("dialogs"))?void 0:this.getMoreDialogs()}}))}getMoreResults(){const e=[];return e.push(o.default.getConversationsAll()),!this.peerType.includes("dialogs")&&!this.loadedWhat.contacts||this.loadedWhat.archived||(e.push(this.getMoreDialogs()),this.loadedWhat.archived)?(this.peerType.includes("contacts")&&!this.loadedWhat.contacts&&e.push(this.getMoreContacts()),Promise.all(e)):Promise.all(e)}renderResults(e){!this.peerType.includes("dialogs")&&this.loadedWhat.contacts&&(e=e.filter(e=>l.default.isNonContactUser(e))),e.forEach(e=>{const{dom:t}=d.default.addDialog(e,this.scrollable,!1,!1),s=this.selected.has(e);t.containerEl.insertAdjacentHTML("afterbegin",`
`),s&&t.listEl.classList.add("active");let i="";e<0?i=f.default.getChatMembersString(-e):e==r.$rootScope.myID?i="chat with yourself":(i=l.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e,t){const s=document.createElement("div");s.classList.add("selector-user","scale-in");const i=document.createElement("avatar-element");return i.classList.add("selector-user-avatar","tgico"),i.setAttribute("dialog","1"),s.dataset.key=""+e,this.selected.add(e),"number"==typeof e&&(void 0===t&&(t=e==r.$rootScope.myID?"Saved":c.default.getPeerTitle(e,!1,!0)),i.setAttribute("peer",""+e)),t&&(s.innerHTML=t),s.insertAdjacentElement("afterbegin",i),this.selectedContainer.insertBefore(s,this.input),this.selectedScrollable.scrollTo(this.selectedScrollable.scrollHeight,!0,!0),this.onChange&&this.onChange(this.selected.size),s}remove(e){const t=this.selectedContainer.querySelector(`[data-key="${e}"]`);t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{this.selected.delete(e),t.remove(),this.onChange&&this.onChange(this.selected.size)},{once:!0})}getSelected(){return[...this.selected]}}},,function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WebpWorkerController=void 0;const n=i(s(72)),a=s(24),o=i(s(2));class r{constructor(){this.convertPromises={}}init(){this.worker=new n.default,this.worker.addEventListener("message",e=>{const t=e.data.payload;if(0===t.fileName.indexOf("main-")){const e=this.convertPromises[t.fileName];e&&(t.bytes?e.resolve(t.bytes):e.reject(),delete this.convertPromises[t.fileName])}else o.default.postMessage(e.data)})}postMessage(e){this.init&&(this.init(),this.init=null),this.worker.postMessage(e)}convert(e,t){if(e="main-"+e,this.convertPromises.hasOwnProperty(e))return this.convertPromises[e];const s=a.deferredPromise();return this.postMessage({type:"convertWebp",payload:{fileName:e,bytes:t}}),this.convertPromises[e]=s}}t.WebpWorkerController=r;const d=new r;t.default=d},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.OpusDecodeController=void 0;const n=s(1),a=s(10);class o{constructor(){this.sampleRate=48e3,this.tasks=[],this.keepAlive=!1,this.log=a.logger("OPUS",a.LogLevels.error)}isPlaySupported(){if(void 0!==this.isPlaySupportedResult)return this.isPlaySupportedResult;const e=document.createElement("audio");return this.isPlaySupportedResult=!(!e.canPlayType||!e.canPlayType("audio/ogg;").replace(/no/,""))}loadWavWorker(){this.wavWorker||(this.wavWorker=new Worker("waveWorker.min.js"),this.wavWorker.addEventListener("message",e=>{const t=e.data;if(this.log("[WAV] got message:",t),t&&t.page){const e=t.page;this.onTaskEnd(this.tasks.shift(),e)}}))}loadWorker(){this.worker||(this.worker=new Worker("decoderWorker.min.js"),this.worker.addEventListener("message",e=>{const t=e.data;this.log("[DECODER] got message",t),"done"==t.type?(this.wavWorker.postMessage({command:"done"}),t.waveform&&(this.tasks[0].waveform=t.waveform)):this.wavWorker.postMessage({command:"encode",buffers:e.data},n.isSafari?void 0:t.map(e=>e.buffer))}))}setKeepAlive(e){this.keepAlive=e,this.keepAlive?(this.loadWorker(),this.loadWavWorker()):this.tasks.length||this.terminateWorkers()}onTaskEnd(e,t){t?(clearTimeout(e.timeout),e.callback.resolve({bytes:t,waveform:e.waveform})):e.callback.reject("timeout"),this.tasks.length&&this.executeNewTask(this.tasks[0]),this.terminateWorkers()}terminateWorkers(e=!1){(!this.keepAlive&&!this.tasks.length||e)&&(this.worker&&(this.worker.terminate(),this.worker=null),this.wavWorker&&(this.wavWorker.terminate(),this.wavWorker=null))}executeNewTask(e){this.worker.postMessage({command:"init",decoderSampleRate:this.sampleRate,outputBufferSampleRate:this.sampleRate}),this.wavWorker.postMessage({command:"init",wavBitDepth:16,wavSampleRate:this.sampleRate}),this.log("[DECODER] send decode"),this.worker.postMessage({command:"decode",pages:e.pages,waveform:e.withWaveform},n.isSafari?void 0:[e.pages.buffer]),e.timeout=setTimeout(()=>{this.log.error("decode timeout"),this.terminateWorkers(!0),this.tasks.length&&(this.loadWorker(),this.loadWavWorker()),this.onTaskEnd(this.tasks.shift())},1e4)}pushDecodeTask(e,t){return new Promise((s,i)=>{const n={pages:e,withWaveform:t,callback:{resolve:s,reject:i},timeout:0};this.loadWorker(),this.loadWavWorker(),1==this.tasks.push(n)&&this.executeNewTask(n)})}decode(e,t=!1){return i(this,void 0,void 0,(function*(){return this.pushDecodeTask(e,t).then(e=>{const t=new Blob([e.bytes],{type:"audio/wav"});return{url:URL.createObjectURL(t),waveform:e.waveform}})}))}}t.OpusDecodeController=o;const r=new o;t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(13)),o=i(s(11)),r=s(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},n.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,s){e.photo&&"photo"===e.photo._?e.photo=a.default.savePhoto(e.photo,s):delete e.photo,e.document&&"document"===e.document._?e.document=o.default.saveDoc(e.document,s):("document"==e.type&&delete e.type,delete e.document);var i=e.site_name,d=e.title||e.author||i||"";i&&d==i&&delete e.site_name,d.length>100&&(d=d.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(d,{noLinks:!0,noLinebreaks:!0});var f="";if("GitHub"==i){var l=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);l&&(f=l[0]+"/issues/{1}")}var c=e.description||"";if(c.length>180&&(c=c.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(c,{contextSite:i||"external",contextHashtag:f}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:n.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var u=[];for(let t in this.pendingWebPages[e.id])u.push(t);n.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:u})}}getWebPage(e){return this.webpages[e]}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMediaViewer=void 0;const a=n(s(8)),o=n(s(13)),r=n(s(7)),d=s(3),f=s(10),l=n(s(35)),c=s(0),u=n(s(11)),h=n(s(49)),p=s(4),m=n(s(23)),g=n(s(50)),b=s(1),v=s(24),y=n(s(37));class w{constructor(e,t){this.onSwipe=t,this.handleTouchStart=e=>{if("INPUT"==e.target.tagName)return void(this.xDown=this.yDown=null);const t=e.touches[0];this.xDown=t.clientX,this.yDown=t.clientY},this.handleTouchMove=e=>{if(null==this.xDown||null==this.yDown)return;const t=e.touches[0].clientX,s=e.touches[0].clientY,i=this.xDown-t,n=this.yDown-s;this.onSwipe(i,n)&&(this.xDown=null,this.yDown=null)},e.addEventListener("touchstart",this.handleTouchStart,!1),e.addEventListener("touchmove",this.handleTouchMove,!1)}}class _{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.preloaderStreamable=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.onClickDownload=e=>{const t=r.default.getMessage(this.currentMessageID);if(t.media.photo)o.default.savePhotoFile(t.media.photo);else{let e=null;e=t.media.webpage?t.media.webpage.document:t.media.document,e&&u.default.saveDocFile(e)}},this.onClick=e=>{if(this.setMoverAnimationPromise)return;const t=e.target;if("A"==t.tagName)return;if(c.cancelEvent(e),b.touchSupport)return this.highlightSwitchersTimeout?clearTimeout(this.highlightSwitchersTimeout):this.wholeDiv.classList.add("highlight-switchers"),void(this.highlightSwitchersTimeout=setTimeout(()=>{this.wholeDiv.classList.remove("highlight-switchers"),this.highlightSwitchersTimeout=0},3e3));let s=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(s=c.findUpClassName(t,e),s)return!0}catch(e){return!1}}),s&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.onKeyDown=e=>{"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()},this.log=f.logger("AMV"),this.preloader=new l.default,this.preloaderStreamable=new l.default(void 0,!1,!0),this.lazyLoadQueue=new m.default(void 0,!0),p.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']"));const e=e=>{c.cancelEvent(e),this.content.container.innerHTML="",this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,this.setMoverPromise=null,g.default.container.classList.contains("active")&&setTimeout(()=>{g.default.close()},200),window.removeEventListener("keydown",this.onKeyDown)};[this.buttons.close,this.buttons["mobile-close"],this.preloaderStreamable.preloader].forEach(t=>{t.addEventListener("click",e)}),this.buttons.prev.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),[this.buttons.download,this.buttons["menu-download"]].forEach(e=>{e.addEventListener("click",this.onClickDownload)});const t=e=>{g.default.init([this.currentMessageID])};if([this.buttons.forward,this.buttons["menu-forward"]].forEach(e=>{e.addEventListener("click",t)}),this.wholeDiv.addEventListener("click",this.onClick),this.setNewMover(),b.touchSupport){new w(this.wholeDiv,(e,t)=>{if(h.default.isFullScreen())return;if(Math.abs(e)/o.default.windowW>.2||e>125)return e<0?this.buttons.prev.click():this.buttons.next.click(),!0;return(Math.abs(t)/o.default.windowH>.2||t>125)&&(this.buttons.close.click(),!0)})}}setMoverToTarget(e,t=!1,s=0){return i(this,void 0,void 0,(function*(){const i=this.content.mover;e||(e=this.content.container),t||(i.innerHTML=""),this.removeCenterFromMover(i);const n=0!==s,a=n?350:200;let r,d;this.log("setMoverToTarget",e,t,n,s),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(r=c.findUpClassName(e,"attachment"),d=r.getBoundingClientRect()):(r=e.parentElement,d=e.getBoundingClientRect()));const f=this.content.container.getBoundingClientRect();let l,u,h,p="";if(n?(l=1===s?o.default.windowW:-f.width,u=f.top):(l=d.left,u=d.top),p+=`translate(${l}px,${u}px) `,e instanceof HTMLImageElement||e instanceof HTMLVideoElement||"DIV"==e.tagName){if(i.firstElementChild&&i.firstElementChild.classList.contains("media-viewer-aspecter")){h=i.firstElementChild;const e=h.querySelector(".ckin__player");if(e){const t=e.firstElementChild;h.append(t),e.remove()}h.style.cssText||(i.classList.remove("active"),this.setFullAspect(h,f,d),i.offsetLeft,i.classList.add("active"))}else h=document.createElement("div"),h.classList.add("media-viewer-aspecter"),i.prepend(h);h.style.cssText=`width: ${d.width}px; height: ${d.height}px; transform: scale(${f.width/d.width}, ${f.height/d.height});`}i.style.width=f.width+"px",i.style.height=f.height+"px";const m=d.width/f.width,g=d.height/f.height;n||(p+=`scale(${m},${g}) `);let b=window.getComputedStyle(r).getPropertyValue("border-radius");const y=c.fillPropertyValue(b);let w;b=y.map(e=>parseInt(e)/m+"px").join(" "),n||(i.style.borderRadius=b),i.style.transform=p;const _=e.classList.contains("is-out"),S=this.setMoverAnimationPromise=v.deferredPromise(),L={onAnimationEnd:S};if(this.setMoverAnimationPromise.then(()=>{this.setMoverAnimationPromise=null}),t)return e instanceof SVGSVGElement&&(w=i.querySelector("path"),w&&this.sizeTailPath(w,f,m,a,!1,_,b)),e.classList.contains("media-viewer-media")&&i.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{i.style.borderRadius=b,i.firstElementChild&&(i.firstElementChild.style.borderRadius=b)},a/2),setTimeout(()=>{i.innerHTML="",i.classList.remove("moving","active","hiding"),i.style.cssText="display: none;",S.resolve()},a),L;{let t,s;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,s=e.firstElementChild.src,i.append(t));else if(e instanceof HTMLImageElement)t=new Image,s=e.src;else if(e instanceof HTMLVideoElement){(t=document.createElement("video")).src=null==e?void 0:e.src}else if(e instanceof SVGSVGElement){const t=e.dataset.clipID,s=t+"-mv",{width:n,height:a}=f,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",""+n),o.setAttributeNS(null,"height",""+a),o.setAttributeNS(null,"viewBox",`0 0 ${n} ${a}`),o.setAttributeNS(null,"preserveAspectRatio","xMidYMid meet"),o.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,s)),o.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,s));const r=o.firstElementChild,d=r.firstElementChild.firstElementChild;if(d instanceof SVGUseElement){let e,t=d.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,s,i,o)=>`translate(${t=2!=(t=+t)?n-2/m:2/m}, ${a}) scale(${+i/m}, ${+o/g})`),d.setAttributeNS(null,"transform",t),w=r.firstElementChild.lastElementChild;const s=b.split(" ").map(e=>parseInt(e));e=_?c.generatePathData(0,0,n-9/m,a,...s):c.generatePathData(9/m,0,n-9/m,a,...s),w.setAttributeNS(null,"d",e)}const l=o.lastElementChild;l.setAttributeNS(null,"width",""+f.width),l.setAttributeNS(null,"height",""+f.height),i.prepend(o)}h&&(h.style.borderRadius=b,t&&h.append(t)),t=i.querySelector("video, img"),t instanceof HTMLImageElement&&(t.classList.add("thumbnail"),h||(t.style.width=f.width+"px",t.style.height=f.height+"px"),s&&(yield new Promise((e,i)=>{t.addEventListener("load",e),s&&(t.src=s)}))),i.style.display="",window.requestAnimationFrame(()=>{i.classList.add(n?"moving":"active")})}return yield new Promise(e=>window.requestAnimationFrame(e)),i.style.transform=`translate(${f.left}px,${f.top}px) scale(1,1)`,h&&this.setFullAspect(h,f,d),setTimeout(()=>{i.style.borderRadius="",i.firstElementChild&&(i.firstElementChild.style.borderRadius="")},a/2),i.dataset.timeout=""+setTimeout(()=>{i.classList.remove("moving"),h&&(i.querySelector("video"),i.classList.remove("active"),h.style.cssText="",i.offsetLeft),i.classList.add("center","no-transition"),i.classList.add("active"),delete i.dataset.timeout,S.resolve()},a),w&&this.sizeTailPath(w,f,m,a,!0,_,b),L}))}setFullAspect(e,t,s){const i=t.width/t.height;let{width:n,height:a}=s;i>0?n=a*i:a=n*i,e.style.cssText=`width: ${n}px; height: ${a}px; transform: scale(${t.width/n}, ${t.height/a});`}sizeTailPath(e,t,s,i,n,a,o){const r=Date.now(),{width:d,height:f}=t;i/=2;const l=o.split(" ").map(e=>parseInt(e)),u=()=>{const t=Date.now()-r;let o=t/i;o>1&&(o=1),n&&(o=1-o);const h=l.map(e=>e*o);let p;p=a?c.generatePathData(0,0,d-9/s*o,f,...h):c.generatePathData(9/s*o,0,d,f,...h),e.setAttributeNS(null,"d",p),t{const a=t?-i.width:s;return e.replace(n,a+"px")});e.style.transform=n,setTimeout(()=>{e.remove()},350)}setNewMover(){const e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return this.content.mover=e}loadMoreMedia(e=!0){if(e&&this.loadedAllMediaDown)return;if(!e&&this.loadedAllMediaUp)return;if(e&&this.loadMediaPromiseDown)return this.loadMediaPromiseDown;if(!e&&this.loadMediaPromiseUp)return this.loadMediaPromiseUp;const t=e?0:50;let s,i=this.currentMessageID;s=e?this.reverse?this.prevTargets[0]:this.nextTargets[this.nextTargets.length-1]:this.reverse?this.nextTargets[this.nextTargets.length-1]:this.prevTargets[0],s&&(i=s.mid),e||(i+=1);const n=this.peerID,a=r.default.getSearch(n,"",{_:"inputMessagesFilterPhotoVideo"},i,50,0,t).then(t=>{if(this.peerID!=n)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",i,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0);(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{const s=r.default.getMessage(t).media;if(!s||!(s.photo||s.document||s.webpage&&s.webpage.document))return;if("document"==s._&&"video"!=s.type)return;const i={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(i):this.nextTargets.push(i):this.reverse?this.nextTargets.push(i):this.prevTargets.unshift(i)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=a:this.loadMediaPromiseUp=a,a}updateMediaSource(e,t,s){const i=e.querySelector(s);p.renderImageFromUrl(i,t)}openMedia(e,t,s=!1,n,r=[],f=[],l=!0){return i(this,void 0,void 0,(function*(){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const n=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,m="video"==n.type||"gif"==n.type,v=!this.peerID;v&&(this.peerID=c.$rootScope.selectedPeerID,this.prevTargets=r,this.nextTargets=f,this.reverse=s,this.needLoadMore=l,g.default.container.classList.contains("active")&&(g.default.close(),yield new Promise(e=>setTimeout(e,200))));let w=0;v||(w=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const _=this.content.container;!t&&(t=_),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),_.firstElementChild&&(_.innerHTML="");const S=new Date(1e3*n.date),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][S.getMonth()]+" "+S.getDate()+" at "+S.getHours()+":"+("0"+S.getMinutes()).slice(-2);this.author.date.innerText=L;const M=a.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=M,e.message?this.content.caption.innerHTML=d.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let D=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),D.parentElement.replaceChild(this.author.avatarEl,D);0!==w?(this.moveTheMover(this.content.mover,1===w),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDown),this.wholeDiv.classList.add("active"));const E=this.content.mover,I=b.mediaSizes.isMobile?this.pageEl.scrollWidth:this.pageEl.scrollWidth-16,C=o.default.windowH-100,P=o.default.setAttachmentSize(n,_,I,C),k=n.supportsStreaming?this.preloaderStreamable:this.preloader;let T;if(m){const s=document.createElement("video");T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:a})=>{const o=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E,r=E.querySelector("video");r&&r.remove(),s.setAttribute("playsinline",""),b.isSafari&&(s.autoplay=!0),"gif"==n.type&&(s.muted=!0,s.autoplay=!0,s.loop=!0),s.parentElement||o.append(s);const d=new Promise(e=>{s.addEventListener("canplay",e,{once:!0})});if(n.supportsStreaming){a.then(()=>{s.readyState{s.addEventListener("canplay",()=>{k.detach(),s.parentElement.classList.remove("is-buffering")},{once:!0})};s.addEventListener("waiting",t=>{const i=s.networkState===s.NETWORK_LOADING,n=s.readyState{const r=n.supportsStreaming?Promise.resolve():u.default.downloadDocNew(n);return n.supportsStreaming||a.then(()=>{k.attach(E,!0,r)}),r.then(()=>i(this,void 0,void 0,(function*(){if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");const i=n.url;t instanceof SVGSVGElement?(o.firstElementChild.lastElementChild.append(s),this.updateMediaSource(E,i,"video")):p.renderImageFromUrl(s,i),"gif"!=n.type&&(s.dataset.ckin="default",s.dataset.overlay="1",y.default.pause(),y.default.willBePlayedMedia=null,Promise.all([d,a]).then(()=>{new h.default(s,!0,n.supportsStreaming)}))}))),r},wasSeen:!0})})}else T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:s})=>{this.lazyLoadQueue.unshift({div:null,load:()=>{const i=o.default.preloadPhoto(n.id,P);return s.then(()=>{this.preloader.attach(E,!0,i)}),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");const s=n.url;if(t instanceof SVGSVGElement){if(this.updateMediaSource(t,s,"img"),this.updateMediaSource(E,s,"img"),b.mediaSizes.isMobile){const e=E.querySelectorAll("img");e&&e.length&&e.forEach(e=>{e.classList.remove("thumbnail")})}}else{const e=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E;let t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),p.renderImageFromUrl(t,s,()=>{b.mediaSizes.isMobile&&t.classList.remove("thumbnail"),e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})});return this.setMoverPromise=T.catch(()=>{this.setMoverAnimationPromise=null}).finally(()=>{this.setMoverPromise=null})}))}}t.AppMediaViewer=_,t.default=new _},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Layouter=t.RectPart=void 0,t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let i=(e,t)=>e.reduce((e,t)=>e+t,t);function n(e,t,s){return es?s:e}class a{constructor(e,t,s,n,o=t){this.sizes=e,this.maxWidth=t,this.minWidth=s,this.spacing=n,this.maxHeight=o,this.count=e.length,this.ratios=a.countRatios(e),this.proportions=a.countProportions(this.ratios),this.averageRatio=i(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new o(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),s=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),i=this.maxWidth-s-this.spacing,n=Math.min(this.maxHeight,Math.round(Math.min(i/this.ratios[0],s/this.ratios[1])));return[{geometry:{x:0,y:0,width:i,height:n},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:s,height:n},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),i=e-s-this.spacing,n=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(s*this.ratios[2],i*this.ratios[1])))),a=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-n);return[{geometry:{x:0,y:0,width:a,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:a+this.spacing,y:0,width:n,height:i},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:s},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=(this.maxWidth-this.spacing)/2,n=Math.min(this.maxHeight-s-this.spacing,Math.round(Math.min(i/this.ratios[1],i/this.ratios[2]))),a=e-i-this.spacing;return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:i,height:n},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:i+this.spacing,y:s+this.spacing,width:a,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),n=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),i*this.ratios[1]))),a=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),i*this.ratios[3])),o=e-n-a-2*this.spacing,r=Math.min(this.maxHeight-s-this.spacing,i);return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:n,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:n+this.spacing,y:s+this.spacing,width:o,height:r},sides:t.RectPart.Bottom},{geometry:{x:n+this.spacing+o+this.spacing,y:s+this.spacing,width:a,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),i=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),n=Math.round(i/this.ratios[1]),a=Math.round(i/this.ratios[2]),o=e-n-a-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-s-this.spacing,i));return[{geometry:{x:0,y:0,width:s,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:r,height:n},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+this.spacing,width:r,height:a},sides:t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+a+2*this.spacing,width:r,height:o},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=a;class o{constructor(e,t,s,i,n,a=4*s/3){this.averageRatio=t,this.maxWidth=s,this.minWidth=i,this.spacing=n,this.maxHeight=a,this.ratios=o.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?n(e,1,2.75):n(e,.6667,1))}layout(){let e=new Array(this.count),s=[];const n=(e,t)=>{const s=this.ratios.slice(e,e+t),n=i(s,0);return(this.maxWidth-(t-1)*this.spacing)/n},a=e=>{let t=[],i=0;for(let s of e)t.push(n(i,s)),i+=s;s.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||a([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const s=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||s>3||a([e,t,s])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let s=1;s!=this.count-e-t;++s){const i=this.count-e-t-s;e>3||t>3||s>3||i>3||a([e,t,s,i])}let o=null,r=0;for(const e of s){const{heights:t,lineCounts:s}=e,n=s.length,a=i(t,0)+this.spacing*(n-1),d=Math.min(...t),f=(Math.max(...t),d{for(let e=1;e!=n;++e)if(s[e-1]>s[e])return 1.5;return 1})(),c=Math.abs(a-this.maxHeight)*f*l;(!o||c{const t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){const s=t-100,i=e.length;for(let t=0;t=.5&&is&&(s=i,t=n)}if(-1==t)return;e[t]+=1-s}}};const h=[];o.$rootScope.$on("poll_update",e=>{const{poll:t,results:s}=e.detail;for(const e of h)if(e.id==t.id){const i=e.element;i.isClosed=!!t.pFlags.closed,i.performResults(s,t.chosenIndexes)}}),o.$rootScope.$on("peer_changed",()=>{m&&p(m,g,b)});const p=(e,t,s)=>{e.classList.remove("active"),clearTimeout(s),setTimeout(()=>{t(),e.remove(),m==e&&g==t&&b==s&&(m=g=null,b=0)},200)};let m,g,b;class v extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isClosed=!1,this.isQuiz=!1,this.isRetracted=!1,this.isPublic=!1,this.isMultiple=!1,this.chosenIndexes=[],this.chosingIndexes=[],this.sentVote=!1}connectedCallback(){u||(u=document.getElementById("poll-line").getTotalLength()),this.pollID=this.getAttribute("poll-id"),this.mid=+this.getAttribute("message-id");const{poll:e,results:t}=n.default.getPoll(this.pollID);h.push({id:this.pollID,element:this});let s="";if(e.pFlags)if(this.isPublic=!!e.pFlags.public_voters,this.isQuiz=!!e.pFlags.quiz,this.isClosed=!!e.pFlags.closed,this.isMultiple=!!e.pFlags.multiple_choice,this.isClosed)s="Final results",this.classList.add("is-closed");else{let e=this.isQuiz?"Quiz":"Poll";s=(this.isPublic?"":"Anonymous ")+e}const i=this.isMultiple?'':"",f=e.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n ${i}\n
\n
\n
${a.RichTextProcessor.wrapEmojiText(e.text)}
\n \n \n
\n `).join("");if(this.innerHTML=`\n
${e.rQuestion}
\n
\n
${s}
\n
\n
\n ${f}\n \n `,this.descDiv=this.firstElementChild.nextElementSibling,this.typeDiv=this.descDiv.firstElementChild,this.avatarsDiv=this.descDiv.lastElementChild,this.isQuiz&&(this.classList.add("is-quiz"),e.close_period&&e.close_date)){const t=document.createElement("div");t.classList.add("poll-time"),this.descDiv.append(t);const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("poll-quiz-timer"),this.quizTimer=s;const i=2,a=7,o=2*Math.PI*a,r=document.createElementNS("http://www.w3.org/2000/svg","circle");r.classList.add("poll-quiz-timer-circle"),r.setAttributeNS(null,"cx","16"),r.setAttributeNS(null,"cy","16"),r.setAttributeNS(null,"r",""+a),r.setAttributeNS(null,"stroke-width",""+i),s.append(r),this.descDiv.append(s);const d=1e3*e.close_period,f=1e3*(e.close_date-l.default.serverTimeOffset);this.quizInterval=setInterval(()=>{const e=Date.now(),s=(f-e)/d,i=(f-e)/1e3+1|0;t.innerHTML=String(i).toHHMMSS(),i<=5&&(t.style.color="#ee545c",r.style.stroke="#ee545c"),r.style.strokeDashoffset=o+s*o,r.style.strokeDasharray=`${o} ${o}`,e>=f&&(clearInterval(this.quizInterval),t.innerHTML="",r.style.strokeDashoffset=o,this.quizInterval=0,setTimeout(()=>{n.default.getResults(this.mid)},3e3))},1e3)}this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));const p=this.lastElementChild;this.viewResults=p.firstElementChild,this.votersCountDiv=p.lastElementChild,this.viewResults.addEventListener("click",e=>{o.cancelEvent(e),d.default.pollResultsTab.init(this.pollID,this.mid)}),c.ripple(this.viewResults),this.isMultiple&&(this.sendVoteBtn=document.createElement("div"),this.sendVoteBtn.classList.add("poll-footer-button","poll-send-vote"),this.sendVoteBtn.innerText="Vote",c.ripple(this.sendVoteBtn),e.chosenIndexes.length||this.votersCountDiv.classList.add("hide"),this.sendVoteBtn.addEventListener("click",()=>{this.chosingIndexes.length&&this.sendVotes(this.chosingIndexes).then(()=>{this.chosingIndexes.length=0,this.answerDivs.forEach(e=>{e.classList.remove("is-chosing")})})}),p.append(this.sendVoteBtn));const m=this.getBoundingClientRect().width;this.maxLength=m+9+this.maxOffset+-13.7,e.chosenIndexes.length||this.isClosed?this.performResults(t,e.chosenIndexes):this.isClosed||(this.setVotersCount(t),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){h.findAndSplice(e=>e.element==this)}static get observedAttributes(){return["poll-id","message-id"]}attributeChangedCallback(e,t,s){"poll-id"==e?this.pollID=s:"message-id"==e&&(this.mid=+s)}adoptedCallback(){}initQuizHint(e){if(e.solution&&e.solution_entities){const t=document.createElement("div");if(t.classList.add("tgico-tip","poll-hint"),this.descDiv.append(t),t.addEventListener("click",s=>{o.cancelEvent(s),t.classList.add("active"),((e,t,s)=>{m&&p(m,g,b);const i=document.createElement("div");i.classList.add("quiz-hint");const n=document.createElement("div");n.classList.add("container","tgico");const o=document.createElement("div");o.classList.add("text"),n.append(o),i.append(n),o.innerHTML=a.RichTextProcessor.wrapRichText(e,{entities:t}),f.default.bubblesContainer.append(i),i.offsetLeft,i.classList.add("active"),m=i,g=s,b=setTimeout(()=>{p(i,s,b)},r.touchSupport?5e3:7e3)})(e.solution,e.solution_entities,()=>{t.classList.remove("active")})}),this.sentVote){const s=e.results.find(e=>e.pFlags.correct);s&&!s.pFlags.chosen&&t.click()}}}clickHandler(e){const t=o.findUpClassName(e.target,"poll-answer");if(!t)return;const s=+t.dataset.index;if(this.isMultiple){t.classList.toggle("is-chosing");const e=this.chosingIndexes.indexOf(s);-1!==e?this.chosingIndexes.splice(e,1):this.chosingIndexes.push(s)}else this.sendVotes([s])}sendVotes(e){if(this.sendVotePromise)return this.sendVotePromise;const t=this.answerDivs.filter((t,s)=>e.includes(s));return t.forEach(e=>{e.classList.add("is-voting")}),this.classList.add("disable-hover"),this.sentVote=!0,this.sendVotePromise=n.default.sendVote(this.mid,e).then(()=>{t.forEach(e=>{e.classList.remove("is-voting")}),this.classList.remove("disable-hover")}).catch(()=>{this.sentVote=!1}).finally(()=>{this.sendVotePromise=null})}performResults(e,t){var s,i;if(this.isQuiz&&((null===(s=e.results)||void 0===s?void 0:s.length)||this.isClosed)){this.answerDivs.forEach((t,s)=>{t.classList.toggle("is-correct",!!e.results[s].pFlags.correct)}),this.initQuizHint&&(this.initQuizHint(e),this.initQuizHint=null),this.quizInterval&&(clearInterval(this.quizInterval),this.quizInterval=0),(null===(i=this.quizTimer)||void 0===i?void 0:i.parentElement)&&this.quizTimer.remove();const t=this.descDiv.querySelector(".poll-time");t&&t.remove()}if(this.isClosed&&(this.classList.add("is-closed"),this.typeDiv.innerText="Final results"),(this.chosenIndexes.length!=t.length||this.isClosed)&&(this.isRetracted=this.chosenIndexes.length&&!t.length,this.chosenIndexes=t.slice(),this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),this.chosenIndexes.length||this.isRetracted||this.isClosed){const t=e.results.map(t=>e.total_voters?t.voters/e.total_voters*100:0);this.setResults(this.isRetracted?this.percents:t,this.chosenIndexes),this.percents=t,this.isRetracted=!1}if(this.setVotersCount(e),this.isPublic){this.isMultiple||(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length));let t="";e.recent_voters.forEach((e,s)=>{t+=``}),this.avatarsDiv.innerHTML=t}this.isMultiple&&(this.sendVoteBtn.classList.toggle("hide",!!this.chosenIndexes.length),this.chosenIndexes.length?this.isPublic?(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length)):this.votersCountDiv.classList.toggle("hide",!this.chosenIndexes.length):(this.votersCountDiv.classList.add("hide"),this.viewResults.classList.add("hide")))}setResults(e,s){this.svgLines.forEach(e=>e.style.display=""),this.answerDivs.forEach((e,t)=>{e.classList.toggle("is-chosen",s.includes(t))});const i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),e=e.slice(),t.roundPercents(e),this.isRetracted)for(let t=9,s=0;t>=0;--t,++s)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*t);this.numberDivs[s].innerText=i+"%"})},34*s);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*(t+1));this.numberDivs[s].innerText=i+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){const t=e.total_voters||0,s=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+s:"No "+s)}setLineProgress(e,t){const s=this.svgLines[e];-1==t?(s.style.strokeDasharray="",s.style.strokeDashoffset=""):(s.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",s.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=v,customElements.define("poll-element",v)},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readBlobAsText=void 0,t.readBlobAsText=e=>new Promise(t=>{const s=new FileReader;s.addEventListener("loadend",e=>{t(e.srcElement.result)}),s.readAsText(e)})},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(26);t.default=class{constructor(e,t){this.sidebarEl=e,this.tabs=t,this.historyTabIDs=[],this._selectTab=i.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,250),this._selectTab(0);let s=()=>{let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",s)})}selectTab(e){if(this.historyTabIDs[this.historyTabIDs.length-1]==e)return;const t=this.tabs[e];t&&(t.onOpen&&t.onOpen(),t.onOpenAfterTimeout&&setTimeout(()=>{t.onOpenAfterTimeout()},250)),this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&(t.onClose&&t.onClose(),t.onCloseAfterTimeout&&setTimeout(()=>{t.onCloseAfterTimeout()},250))}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(43)),o=s(3),r=i(s(6)),d=s(20),f=i(s(23)),l=s(4),c=i(s(18)),u=s(0),h=i(s(12));class p extends n.PopupElement{constructor(e){super("popup-stickers",null,{closable:!0,body:!0}),this.stickerSetInput=e,this.onFooterClick=()=>{this.stickersFooter.setAttribute("disabled","true"),a.default.toggleStickerSet(this.set).then(()=>{this.closeBtn.click()}).catch(()=>{this.stickersFooter.removeAttribute("disabled")})},this.onStickersClick=e=>{const t=u.findUpClassName(e.target,"sticker-set-sticker");if(!t)return;const s=t.dataset.docID;h.default.chatInputC.sendMessageWithDocument(s)?this.closeBtn.click():console.warn("got no doc by id:",s)},this.h6=document.createElement("h6"),this.h6.innerText="Loading...",this.header.append(this.h6),this.onClose=()=>{c.default.checkAnimations(!1),this.stickersFooter.removeEventListener("click",this.onFooterClick),this.stickersDiv.removeEventListener("click",this.onStickersClick),this.element.removeEventListener("click",t)},this.onCloseAfterTimeout=()=>{c.default.checkAnimations(void 0,"STICKERS-POPUP")};const t=e=>{u.findUpClassName(e.target,"popup-container")||this.closeBtn.click()};this.element.addEventListener("click",t);const s=document.createElement("div");s.classList.add("sticker-set"),this.stickersDiv=document.createElement("div"),this.stickersDiv.classList.add("sticker-set-stickers"),l.putPreloader(this.stickersDiv),this.stickersFooter=document.createElement("div"),this.stickersFooter.classList.add("sticker-set-footer"),s.append(this.stickersDiv),this.stickersFooter.innerText="Loading...",this.body.append(s);new r.default(this.body,"y",void 0);this.body.append(this.stickersFooter),this.loadStickerSet()}loadStickerSet(){return a.default.getStickerSet(this.stickerSetInput).then(e=>{this.set=e.set,c.default.checkAnimations(!0),this.h6.innerHTML=o.RichTextProcessor.wrapEmojiText(e.set.title),e.set.installed_date?this.stickersFooter.classList.remove("add"):this.stickersFooter.classList.add("add"),this.stickersFooter.innerHTML=e.set.hasOwnProperty("installed_date")?'
Remove stickers
':``,this.stickersFooter.addEventListener("click",this.onFooterClick),e.documents.length&&this.stickersDiv.addEventListener("click",this.onStickersClick);const t=new f.default;this.stickersDiv.innerHTML="";for(let s of e.documents){const e=document.createElement("div");e.classList.add("sticker-set-sticker"),d.wrapSticker({doc:s,div:e,lazyLoadQueue:t,group:"STICKERS-POPUP",play:!0,loop:!0,width:80,height:80}),this.stickersDiv.append(e)}})}}t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppInlineBotsManager=void 0;const n=i(s(7)),a=i(s(2)),o=i(s(8)),r=i(s(33)),d=s(3),f=s(44),l=i(s(5)),c=i(s(13)),u=i(s(11));class h{constructor(){this.inlineResults={}}getInlineResults(e,t,s="",i="",n){return a.default.invokeApi("messages.getInlineBotResults",{flags:0|(n?1:0),bot:l.default.getUserInput(t),peer:o.default.getInputPeerByID(e),query:s,geo_point:n&&{_:"inputGeoPoint",lat:n.lat,long:n.long},offset:i},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{const s=e.query_id;return e.switch_pm&&(e.switch_pm.rText=d.RichTextProcessor.wrapRichText(e.switch_pm.text,{noLinebreaks:!0,noLinks:!0})),e.results.forEach(e=>{const i=s+"_"+e.id;e.qID=i,e.botID=t,e.rTitle=d.RichTextProcessor.wrapRichText(e.title,{noLinebreaks:!0,noLinks:!0}),e.rDescription=d.RichTextProcessor.wrapRichText(e.description,{noLinebreaks:!0,noLinks:!0}),e.initials=(e.url||e.title||e.type||"").substr(0,1),"botInlineMediaResult"==e._&&(e.document&&(e.document=u.default.saveDoc(e.document)),e.photo&&(e.photo=c.default.savePhoto(e.photo))),this.inlineResults[i]=e}),e})}callbackButtonClick(e,t){let s=n.default.getMessage(e),i=n.default.getMessagePeer(s);return a.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:o.default.getInputPeerByID(i),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&f.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0}))})}}t.AppInlineBotsManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(11)),o=s(20),r=s(4);t.default=class{constructor(e){this.element=e}add(e,t,s){var i;let d=e.w,f=e.h;f<100&&(d*=100/f,f=100);let l=Math.min(300,400,d),{w:c,h:u}=n.calcImageInBox(d,f,l,100),h=document.createElement("div");h.classList.add("gif","fade-in-transition"),h.style.width=c+"px",h.style.opacity="0",h.dataset.docID=e.id,this.element.append(h);const p=a.default.getThumb(e,!1);let m;!!p&&(m=new Image,p.thumb.url||p.promise.then(()=>{m.src=p.thumb.url}));let g=!1;const b=()=>{g=!1,o.wrapVideo({doc:e,container:h,lazyLoadQueue:s,group:t,noInfo:!0});h.querySelector("video").addEventListener("canplay",()=>{h.style.opacity="",g?(m&&m.classList.remove("hide"),h.lastElementChild!=m&&h.lastElementChild.remove()):m&&m.classList.add("hide")},{once:!0})},v=()=>{m&&(h.append(m),h.style.opacity=""),s?b():(h.addEventListener("mouseover",b,{once:!0}),h.addEventListener("mouseout",e=>{const t=e.toElement;if(n.findUpClassName(t,"gif")==h)return;g=!0;const s=()=>{h.lastElementChild!=m&&h.lastElementChild.remove(),h.addEventListener("mouseover",b,{once:!0})};m&&m.classList.remove("hide"),m?window.requestAnimationFrame(()=>window.requestAnimationFrame(s)):s()}))};(null===(i=null==p?void 0:p.thumb)||void 0===i?void 0:i.url)?r.renderImageFromUrl(m,p.thumb.url,v):v()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,s=t.target.parentElement,i=t.rootBounds;e.bottom=i.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let s=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,s)},{root:this.container})}addSentinel(e,t){const s=document.createElement("div");return s.classList.add("sticky_sentinel",t),e.appendChild(s)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(31)),a=s(4),o=i(s(17)),r=i(s(2)),d=i(s(25)),f=s(1),l=i(s(103)),c=s(0);const u=new d.default("page-password",!0,()=>{let e,t=0,s=!1;const i=u.pageEl.querySelector("button"),d=document.getElementById("password"),h=d.nextElementSibling,p=u.pageEl.querySelector(".toggle-visible");let m=()=>l.default.getState().then(e=>{var t;v=e,h.innerText=null!==(t=v.hint)&&void 0!==t?t:"Password"}),g=e=>{i.removeAttribute("disabled"),e.type,i.innerText=e.type,m()};const b=function(i){c.cancelEvent(i),s=!s,this.classList.toggle("tgico-eye2",s),s?(d.setAttribute("type","text"),e.setDirection(1),e.curFrame=0,t=16,e.play()):(d.setAttribute("type","password"),e.setDirection(-1),e.curFrame=16,t=0,e.play())};let v;p.addEventListener("click",b),p.addEventListener("touchend",b),i.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let s=d.value;this.textContent="PLEASE WAIT...",a.putPreloader(this),l.default.check(s,v).then(t=>{switch(t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),n.default.mount(),e&&e.remove();break;default:i.removeAttribute("disabled"),i.innerText=t._}}).catch(g)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return i.click()}));const y=f.mediaSizes.isMobile?100:166;return Promise.all([o.default.loadAnimationFromURL({container:u.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,width:y,height:y,noCache:!0},"assets/img/TwoFactorSetupMonkeyPeek.tgs").then(s=>{e=s,e.addListener("enterFrame",s=>{(1==e.direction&&s>=t||-1==e.direction&&s<=t)&&(e.setSpeed(1),e.pause())}),t=49}),m()])});t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),s(67),s(68),s(69),document.addEventListener("DOMContentLoaded",()=>o(void 0,void 0,void 0,(function*(){const e=()=>{const e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh",e+"px")};window.addEventListener("resize",e),e();const[t,i,n,o]=yield Promise.all([Promise.resolve().then(()=>a(s(1))),Promise.resolve().then(()=>a(s(2))),Promise.resolve().then(()=>a(s(24))),Promise.resolve().then(()=>a(s(16)))]),r=yield o.default.get("user_auth");t.isApple?(document.documentElement.classList.add("is-mac","emoji-supported"),t.isAppleMobile&&document.documentElement.classList.add("is-ios")):t.isAndroid&&document.documentElement.classList.add("is-android"),t.touchSupport||document.documentElement.classList.add("no-touch");const d=r.id||0;d?(yield Promise.resolve().then(()=>a(s(31)))).default.mount():(yield Promise.resolve().then(()=>a(s(48)))).default.mount();const f=yield Promise.resolve().then(()=>a(s(0)));f.$rootScope.myID=d;const l=f.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{const t=l(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});const c=(yield Promise.resolve().then(()=>a(s(19)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>c(e))})))},function(e,t,s){},function(e,t,s){},function(e,t,s){},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const i=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(s=>{s.length&&s.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},n=(...e)=>{self.postMessage(...e)},a=()=>{};t.notifySomeone=t.isServiceWorker?i.bind(null,!1):t.isWebWorker?n:a,t.notifyAll=t.isServiceWorker?i.bind(null,!0):t.isWebWorker?n:a},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(21);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,s){return this.performTaskWorker("pbkdf2",e,t,s)}aesEncrypt(e,t,s){return this.performTaskWorker("aes-encrypt",i.convertToArrayBuffer(e),i.convertToArrayBuffer(t),i.convertToArrayBuffer(s))}aesDecrypt(e,t,s){return this.performTaskWorker("aes-decrypt",e,t,s).then(e=>i.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=i.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,s){return this.performTaskWorker("mod-pow",e,t,s)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,s){e.exports=function(){return new Worker(s.p+"b728a346dae6ae3292c0.worker.js")}},function(e,t,s){e.exports=function(){return new Worker(s.p+"9ec5bf231b8216403a20.worker.js")}},function(e,t,s){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var s,i=e.HTMLElement||e.Element,n=468,a={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:i.prototype.scroll||d,scrollIntoView:i.prototype.scrollIntoView},o=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(s=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(s)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):a.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?a.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var e=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var s=function(e){for(;e!==t.body&&!1===(i=l(s=e,"Y")&&c(s,"Y"),n=l(s,"X")&&c(s,"X"),i||n);)e=e.parentNode||e.host;var s,i,n;return e}(this),i=s.getBoundingClientRect(),n=this.getBoundingClientRect();s!==t.body?(h.call(this,s,s.scrollLeft+n.left-i.left,s.scrollTop+n.top-i.top),"fixed"!==e.getComputedStyle(s).position&&e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):e.scrollBy({left:n.left,top:n.top,behavior:"smooth"})}else a.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function d(e,t){this.scrollLeft=e,this.scrollTop=t}function f(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function l(e,t){return"Y"===t?e.clientHeight+r1?1:d,s=.5*(1-Math.cos(Math.PI*r)),i=t.startX+(t.x-t.startX)*s,a=t.startY+(t.y-t.startY)*s,t.method.call(t.scrollable,i,a),i===t.x&&a===t.y||e.requestAnimationFrame(u.bind(e,t))}function h(s,i,n){var r,f,l,c,h=o();s===t.body?(r=e,f=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,c=a.scroll):(r=s,f=s.scrollLeft,l=s.scrollTop,c=d),u({scrollable:r,method:c,startTime:h,startX:f,startY:l,x:i,y:n})}}}}()},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="(?:👨🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👨🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👨🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👨🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👨🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👩🏻‍🤝‍👩\ud83c[\udffc-\udfff]|👩🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👩🏼‍🤝‍👩\ud83c[\udffb\udffd-\udfff]|👩🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👩🏽‍🤝‍👩\ud83c[\udffb\udffc\udffe\udfff]|👩🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👩🏾‍🤝‍👩\ud83c[\udffb-\udffd\udfff]|👩🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏿‍🤝‍👩\ud83c[\udffb-\udffe]|🧑🏻‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏼‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏽‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏾‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏿‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑‍🤝‍🧑|👫\ud83c[\udffb-\udfff]|👬\ud83c[\udffb-\udfff]|👭\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|🧑)(?:\ud83c[\udffb-\udfff])?‍(?:⚕️|⚖️|✈️|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|⛹)((?:\ud83c[\udffb-\udfff]|️)‍[♀♂]️)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?‍[♀♂]️|(?:👨‍❤️‍💋‍👨|👨‍👨‍👦‍👦|👨‍👨‍👧‍\ud83d[\udc66\udc67]|👨‍👩‍👦‍👦|👨‍👩‍👧‍\ud83d[\udc66\udc67]|👩‍❤️‍💋‍\ud83d[\udc68\udc69]|👩‍👩‍👦‍👦|👩‍👩‍👧‍\ud83d[\udc66\udc67]|👨‍❤️‍👨|👨‍👦‍👦|👨‍👧‍\ud83d[\udc66\udc67]|👨‍👨‍\ud83d[\udc66\udc67]|👨‍👩‍\ud83d[\udc66\udc67]|👩‍❤️‍\ud83d[\udc68\udc69]|👩‍👦‍👦|👩‍👧‍\ud83d[\udc66\udc67]|👩‍👩‍\ud83d[\udc66\udc67]|🏳️‍⚧️|🏳️‍🌈|🏴‍☠️|🐕‍🦺|🐻‍❄️|👁‍🗨|👨‍\ud83d[\udc66\udc67]|👩‍\ud83d[\udc66\udc67]|👯‍♀️|👯‍♂️|🤼‍♀️|🤼‍♂️|🧞‍♀️|🧞‍♂️|🧟‍♀️|🧟‍♂️|🐈‍⬛)|[#*0-9]️?⃣|(?:[©®™♟]️)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[‼⁉ℹ↔-↙↩↪⌚⌛⌨⏏⏭-⏯⏱⏲⏸-⏺Ⓜ▪▫▶◀◻-◾☀-☄☎☑☔☕☘☠☢☣☦☪☮☯☸-☺♀♂♈-♓♠♣♥♦♨♻♿⚒-⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅⛈⛏⛑⛓⛔⛩⛪⛰-⛵⛸⛺⛽✂✈✉✏✒✔✖✝✡✳✴❄❇❗❣❤➡⤴⤵⬅-⬇⬛⬜⭐⭕〰〽㊗㊙])(?:️|(?!︎))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[☝⛷⛹✌✍])(?:️|(?!︎))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[✊✋]))(?:\ud83c[\udffb-\udfff])?|(?:🏴󠁧󠁢󠁥󠁮󠁧󠁿|🏴󠁧󠁢󠁳󠁣󠁴󠁿|🏴󠁧󠁢󠁷󠁬󠁳󠁿|🇦\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|🇧\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|🇨\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|🇩\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|🇪\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|🇫\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|🇬\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|🇭\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|🇮\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|🇯\ud83c[\uddea\uddf2\uddf4\uddf5]|🇰\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|🇱\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|🇲\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|🇳\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|🇴🇲|🇵\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|🇶🇦|🇷\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|🇸\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|🇹\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|🇺\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|🇻\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|🇼\ud83c[\uddeb\uddf8]|🇽🇰|🇾\ud83c[\uddea\uddf9]|🇿\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[⏩-⏬⏰⏳♾⛎✅✨❌❎❓-❕➕-➗➰➿])|️"},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toCodePoints=t.encodeEmoji=void 0,t.encodeEmoji=function(e){return o(a(e)).join("-")};const i=/\uFE0F/g,n=String.fromCharCode(8205),a=e=>e.indexOf(n)<0?e.replace(i,""):e;function o(e){const t=[];let s=0,i=0,n=0;for(;n55296&&s<=56319?i=s:t.push(s.toString(16));return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t}t.toCodePoints=o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(48)),a=i(s(78)),o=i(s(31)),r=i(s(65)),d=i(s(17)),f=i(s(2)),l=i(s(25)),c=(s(30),s(1));let u=null;let h=null,p=null;const m=new l.default("page-authCode",!0,()=>{let e,t,s=0,i=0;const l=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return n.default.mount()}));let b=()=>{setTimeout(()=>{e&&e.remove(),t&&t.remove()},300)};h.addEventListener("input",(function(n){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>l&&(this.value=this.value.slice(0,l));let d,c=this.value.length;if(c==l)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};f.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),o.default.mount(),b();break;case"auth.authorizationSignUpRequired":a.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),b();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":e.handled=!0,b(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(c==i)return;if(i=c,!e)return;c?(d=Math.round(Math.min(45,c)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):d=0;let m=s>d?-1:1;e.setDirection(m),0!=s&&0==d&&e.setSpeed(7),s=d,e.play()}));let v=m.pageEl.querySelector(".auth-image");const y=c.mediaSizes.isMobile?100:166;return Promise.all([d.default.loadAnimationFromURL({container:v,loop:!0,autoplay:!0,width:y,height:y},"assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>{t=e}),d.default.loadAnimationFromURL({container:v,loop:!1,autoplay:!1,width:y,height:y},"assets/img/TwoFactorSetupMonkeyTracking.tgs").then(i=>{e=i,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",i=>{(1==e.direction&&i>=s||-1==e.direction&&i<=s)&&(e.setSpeed(1),e.pause()),0==i&&0==s&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=o(s(31)),f=o(s(2)),l=o(s(25)),c=o(s(45));let u=null;const h=new l.default("page-signUp",!0,()=>Promise.resolve().then(()=>a(s(27))).then(e=>{const t=h.pageEl,s=t.querySelector("#canvas-avatar"),i=e.default;let n;t.querySelector(".auth-image").addEventListener("click",()=>{c.default.open(s,e=>{n=e})});const a=t.getElementsByClassName("fullName")[0];let o=function(e){let t=l.value||"",s=p.value||"",i=t||s?(t+" "+s).trim():"Your Name";a.innerText!=i&&(a.innerText=i),this.classList.remove("error")};const l=document.getElementById("name");l.addEventListener("input",o);const p=document.getElementById("lastName");p.addEventListener("input",o);document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!l.value.length)return l.classList.add("error"),!1;let t=l.value,s=p.value,a={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,first_name:t,last_name:s};this.textContent="PLEASE WAIT...",r.putPreloader(this),f.default.invokeApi("auth.signUp",a).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!n)return e();n().then(s=>{i.uploadProfilePhoto(s).then(e,t)},t)}).then(()=>{d.default.mount()},()=>{d.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))}),e=>{u=e});t.default=h},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(17)),o=s(26);const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=n.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&a.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const n=i(s(16)),a=s(30);class o{constructor(){this.disabled=a.Modes.test||-1==a.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;n.default.get("tgme_sync").then(t=>{var s=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>s)return!1;n.default.set({tgme_sync:{canRedirect:e,ts:s}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=o,t.telegramMeWebService=new o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeWaveform=void 0;const n=i(s(11)),a=s(3),o=s(20),r=i(s(35)),d=s(49),f=i(s(37)),l=s(1);function c(e){e instanceof Uint8Array||(e=new Uint8Array(e));var t=8*e.length/5|0;if(!t)return new Uint8Array([]);for(var s=new DataView(e.buffer),i=new Uint8Array(t),n=0;n>o&31}return i}t.decodeWaveform=c;class u extends HTMLElement{constructor(){super(),this.attachedHandlers={}}connectedCallback(){this.classList.add("audio");const e=+this.getAttribute("message-id"),t=this.getAttribute("doc-id"),s=n.default.getDoc(t),i=+s.id<0,u=String(0|s.duration).toHHMMSS(!0);this.innerHTML='
';const h=document.createElement("div");h.classList.add("audio-download"),i||"audio"==s.type||(h.innerHTML='
'),("audio"!=s.type||i)&&this.append(h);const p="voice"==s.type?function(e,t){t.classList.add("is-voice");const s=l.mediaSizes.isMobile?2:1,i=l.mediaSizes.isMobile?3:2,n=l.mediaSizes.isMobile?16:23,a=l.mediaSizes.isMobile?152:190,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add("audio-waveform"),o.setAttributeNS(null,"width",""+a),o.setAttributeNS(null,"height",""+n),o.setAttributeNS(null,"viewBox",`0 0 ${a} ${n}`);const r=document.createElement("div");r.classList.add("audio-time"),t.append(o,r);let d=e.attributes[0].waveform||[];d=c(d.slice());const f=Math.max(...d),u=d.length?d.length:100,h=Math.min(a/(2+s)|0,u);let p=0;const m=n-i;let g="";for(let e=0,t=0,a=0;e=u){a=a+h-u,a<(h+1)/2&&p\n `,t+=2+s,p=a<(h+1)/2?0:o}else p{let e=0,s=0,i=t.audio;(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")));let n=()=>{clearInterval(e),e=setInterval(()=>{s>o.childElementCount||isNaN(i.duration)||i.paused?clearInterval(e):(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")))},20)};i.paused||n(),t.addAudioListener("playing",()=>{n()}),t.addAudioListener("pause",()=>{clearInterval(e)}),t.addAudioListener("ended",()=>{clearInterval(e),b.forEach(e=>e.classList.remove("active"))});let r=!1,d=!1;function f(e){const t=e.offsetX/a*i.duration;s=Math.round(t/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active"));for(let e=s+1;e{r&&(i.play(),r=!1),d=!1}),v.addEventListener("mousemove",e=>{d=!0,r&&f(e)}),v.addEventListener("mousedown",e=>{e.preventDefault(),i.paused||(i.pause(),f(e),r=!0)}),v.addEventListener("mouseup",e=>{d&&r&&(i.play(),r=!1)}),v.addEventListener("click",e=>{i.paused||f(e)}),()=>{clearInterval(e),v.remove(),v=null,i=null}}}(s,this):function(e,t){const s=!!+t.getAttribute("with-time"),i=e.audioTitle||e.file_name;let n=e.audioPerformer?a.RichTextProcessor.wrapPlainText(e.audioPerformer):"";s?n+=(n?" · ":"")+o.formatDate(e.date):n||(n="Unknown Artist");const r=`\n
\n
${i}
\n
${n}
\n
\n
`;return t.insertAdjacentHTML("beforeend",r),()=>{const s=t.querySelector(".audio-subtitle");let i=!1,a=new d.MediaProgressLine(t.audio,e.supportsStreaming);t.addAudioListener("ended",()=>{t.classList.remove("audio-show-progress"),s.innerHTML=n,i=!1});const o=()=>{i||(t.classList.add("audio-show-progress"),i=!0,s.innerHTML="",a&&s.append(a.container))};return t.addAudioListener("playing",o),(!t.audio.paused||t.audio.currentTime>0)&&o(),()=>{a.removeListeners(),a.container.remove(),a=null}}}(s,this),m=this.querySelector(".audio-time");m.innerHTML=u;const g=(t=!0)=>{const i=this.audio=f.default.addMedia(s,e,t);this.onTypeDisconnect=p();const n=this.querySelector(".audio-toggle"),a=()=>{m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u,i.paused||(n.classList.remove("tgico-largeplay"),n.classList.add("tgico-largepause"))};(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(a(),m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u),n.addEventListener("click",()=>{i.paused?i.play().catch(()=>{}):i.pause()}),this.addAudioListener("ended",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("timeupdate",()=>{f.default.isSafariBuffering(i)||(m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u)}),this.addAudioListener("pause",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("playing",a)};if(i)this.preloader.attach(h,!1);else{let t=this.preloader;if("voice"==s.type){let e;const i=()=>{e?e.cancel():(t||(t=new r.default(null,!0)),e=n.default.downloadDocNew(s.id),t.attach(h,!0,e),e.then(()=>{h.remove(),this.removeEventListener("click",i),g()}).catch(t=>{"AbortError"===t.name&&(e=null)}).finally(()=>{h.classList.remove("downloading")}),h.classList.add("downloading"))};this.addEventListener("click",i),this.click()}else{g(!1);const s=()=>{f.default.resolveWaitingForLoadMedia(e),f.default.willBePlayed(this.audio),t||(t=new r.default(null,!1)),l.isSafari&&(this.audio.autoplay=!0,this.audio.play().catch(()=>{})),t.attach(h),this.append(h),new Promise(e=>{this.audio.readyState>=2?e():this.addAudioListener("canplay",e)}).then(()=>{h.remove(),f.default.willBePlayedMedia==this.audio&&(this.audio.play(),f.default.willBePlayedMedia=null)})};this.addEventListener("click",s,{once:!0})}}}addAudioListener(e,t){this.attachedHandlers[e]||(this.attachedHandlers[e]=[]),this.attachedHandlers[e].push(t),this.audio.addEventListener(e,t)}disconnectedCallback(){this.onTypeDisconnect&&(this.onTypeDisconnect(),this.onTypeDisconnect=null);for(let e in this.attachedHandlers){for(let t of this.attachedHandlers[e])this.audio.removeEventListener(e,t);delete this.attachedHandlers[e]}this.preloader=null}static get observedAttributes(){return[]}attributeChangedCallback(e,t,s){}adoptedCallback(){}}t.default=u,customElements.define("audio-element",u)},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(29)),d=o(s(6)),f=o(s(23)),l=s(0),c=o(s(12)),u=o(s(43)),h=o(s(61)),p=o(s(18)),m=s(3),g=s(20),b=a(s(22));t.default=class{constructor(){this.container=document.getElementById("stickers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.setsDiv=this.contentDiv.firstElementChild,this.scrollable=new d.default(this.contentDiv,"y","STICKERS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.setsDiv),this.lazyLoadQueue=new f.default,this.searchInput=new r.default("Search Stickers",e=>{this.search(e)}),this.backBtn.parentElement.append(this.searchInput.container),this.setsDiv.addEventListener("click",e=>{const t=l.findUpClassName(e.target,"sticker-set-sticker");if(t){const e=t.dataset.docID;return void c.default.chatInputC.sendMessageWithDocument(e)}const s=l.findUpClassName(e.target,"sticker-set");if(!s)return;const i=s.dataset.stickerSet,n=s.dataset.stickerSet,a=l.findUpClassName(e.target,"sticker-set-button");a?(e.preventDefault(),e.cancelBubble=!0,a.setAttribute("disabled","true"),u.default.getStickerSet({id:i,access_hash:n}).then(e=>{u.default.toggleStickerSet(e.set).then(t=>{t&&(a.innerText=e.set.installed_date?"Added":"Add",a.classList.toggle("gray",!!e.set.installed_date))}).finally(()=>{a.removeAttribute("disabled")})})):u.default.getStickerSet({id:i,access_hash:n}).then(e=>{new h.default(e.set).show()})})}onCloseAfterTimeout(){this.setsDiv.innerHTML="",this.searchInput.value="",p.default.checkAnimations(void 0,"STICKERS-SEARCH")}renderSet(e){const t=document.createElement("div");t.classList.add("sticker-set");const s=document.createElement("div");s.classList.add("sticker-set-header");const i=document.createElement("div");i.classList.add("sticker-set-details"),i.innerHTML=`\n
${m.RichTextProcessor.wrapEmojiText(e.title)}
\n
${e.count} stickers
\n `;const n=document.createElement("button");n.classList.add("btn-primary","sticker-set-button"),n.innerText=e.installed_date?"Added":"Add",e.installed_date&&n.classList.add("gray"),s.append(i,n);const a=document.createElement("div");a.classList.add("sticker-set-stickers");const o=Math.min(5,e.count);for(let e=0;e{for(let t=0;t{this.renderFeatured()})}renderFeatured(){return u.default.getFeaturedStickers().then(e=>{this.searchInput.value||(e=this.filterRendered("",e)).forEach(e=>{this.renderSet(e.set)})})}filterRendered(e,t){t=t.slice();return Array.from(this.setsDiv.children).forEachReverse(s=>{const i=s.dataset.stickerSet,n=t.findIndex(e=>e.set.id==i);-1!==n?t.splice(n,1):e&&s.dataset.title.toLowerCase().includes(e.toLowerCase())||s.remove()}),p.default.checkAnimations(void 0,"STICKERS-SEARCH"),t}search(e){return e?u.default.searchStickerSets(e,!1).then(t=>{this.searchInput.value==e&&(t=this.filterRendered(e,t)).forEach(e=>{this.renderSet(e.set)})}):this.renderFeatured()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=a(s(22)),f=o(s(39)),l=s(58),c=s(3),u=o(s(15)),h=s(19);t.default=class{constructor(){this.container=document.getElementById("poll-results-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.resultsDiv=this.contentDiv.firstElementChild,this.scrollable=new r.default(this.contentDiv,"y","POLL-RESULTS",void 0,void 0,2)}cleanup(){this.resultsDiv.innerHTML="",this.pollID="",this.mid=0}onCloseAfterTimeout(){this.cleanup()}init(e,t){if(this.pollID==e&&this.mid==t)return;this.cleanup(),this.pollID=e,this.mid=t,d.default.selectTab(d.AppSidebarRight.SLIDERITEMSIDS.pollResults);const s=f.default.getPoll(e),i=document.createElement("h3");i.innerHTML=s.poll.rQuestion;const n=s.results.results.map(e=>e.voters/s.results.total_voters*100);l.roundPercents(n);const a=document.createDocumentFragment();s.results.results.forEach((e,i)=>{if(!e.voters)return;const o=document.createElement("hr"),r=s.poll.answers[i],d=document.createElement("div");d.classList.add("poll-results-answer");const l=document.createElement("div");l.innerHTML=c.RichTextProcessor.wrapEmojiText(r.text);const p=document.createElement("div");p.innerText=Math.round(n[i])+"%",d.append(l,p);const m=document.createElement("ul");m.classList.add("poll-results-voters"),u.default.setListClickListener(m),m.style.minHeight=50*Math.min(e.voters,4)+"px",a.append(o,d,m);let g,b=4,v=!1,y=e.voters-4;const w=()=>{v||(v=!0,f.default.getVotes(t,r.option,g,b).then(e=>{e.votes.forEach(e=>{const{dom:t}=u.default.addDialog(e.user_id,m,!1,!1,void 0,!1);t.lastMessageSpan.parentElement.remove()}),g&&(y-=e.votes.length,_.lastElementChild.innerText=`Show ${Math.min(20,y)} more voter${y>1?"s":""}`),g=e.next_offset,b=20,y&&e.votes.length||_.remove()}).finally(()=>{v=!1}))};if(w(),y<=0)return;const _=document.createElement("div");_.classList.add("poll-results-more","show-more"),_.addEventListener("click",w),_.innerHTML=`
Show ${Math.min(20,y)} more voter${y>1?"s":""}
`,h.ripple(_),a.append(_)}),this.resultsDiv.append(i,a),d.default.toggleSidebar(!0).then(()=>{})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(29)),f=r(s(6)),l=r(s(23)),c=r(s(18)),u=a(s(22)),h=r(s(5)),p=r(s(62)),m=r(s(63)),g=s(0),b=r(s(12));t.default=class{constructor(){this.container=document.getElementById("search-gifs-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.gifsDiv=this.contentDiv.firstElementChild,this.nextOffset="",this.loadedAll=!1,this.onGifsClick=e=>{const t=g.findUpClassName(e.target,"gif");if(!t)return;const s=t.dataset.docID;b.default.chatInputC.sendMessageWithDocument(s)||console.warn("got no doc by id:",s)},this.scrollable=new f.default(this.contentDiv,"y","GIFS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.gifsDiv),this.masonry=new m.default(this.gifsDiv),this.lazyLoadQueue=new l.default,this.searchInput=new d.default("Search GIFs",e=>{this.reset(),this.search(e)}),this.gifsDiv.addEventListener("click",this.onGifsClick),this.backBtn.parentElement.append(this.searchInput.container)}onClose(){this.scrollable.onScrolledBottom=()=>{}}onCloseAfterTimeout(){this.reset(),this.gifsDiv.innerHTML="",this.searchInput.value="",c.default.checkAnimations(void 0,"GIFS-SEARCH")}reset(){this.searchPromise=null,this.nextOffset="",this.loadedAll=!1,this.lazyLoadQueue.clear()}init(){u.default.selectTab(u.AppSidebarRight.SLIDERITEMSIDS.gifs),u.default.toggleSidebar(!0).then(()=>{this.search("",!0),this.reset(),this.scrollable.onScrolledBottom=()=>{this.search(this.searchInput.value,!1)}})}search(e,t=!0){return o(this,void 0,void 0,(function*(){if(!this.searchPromise&&!this.loadedAll){this.gifBotPeerID||(this.gifBotPeerID=(yield h.default.resolveUsername("gif")).id);try{this.searchPromise=p.default.getInlineResults(0,this.gifBotPeerID,e,this.nextOffset);const{results:s,next_offset:i}=yield this.searchPromise;if(this.searchInput.value!=e)return;this.searchPromise=null,this.nextOffset=i,t&&(this.gifsDiv.innerHTML=""),s.length?s.forEach(e=>{"botInlineMediaResult"===e._&&e.document&&this.masonry.add(e.document,"GIFS-SEARCH",this.lazyLoadQueue)}):this.loadedAll=!0,this.scrollable.onScroll()}catch(e){throw new Error(JSON.stringify(e))}}}))}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(45)),d=o(s(9)),f=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{r.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,d.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{d.default.editPhoto(e,t)}),f.default.removeTabFromHistory(f.AppSidebarLeft.SLIDERITEMSIDS.newChannel),f.default.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var s,i,n,a={},o=1,r=0,d=0,f=0,l=0;function c(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(n=new Image).crossOrigin=e.crossOrigin,n.src=e.src,n.draggable=!1,t||(t=document.createElement("canvas")),(s=document.createElement("div")).classList.add("crop-component"),(i=document.createElement("div")).classList.add("overlay");let a=document.createElement("div");a.classList.add("crop-overlay-color"),s.appendChild(i),e.parentNode.appendChild(s),s.appendChild(n),s.appendChild(e),s.appendChild(a),i.appendChild(n),n.style.maxWidth=e.width+"px",u(e.offsetWidth/2-100,e.offsetHeight/2-100),i.addEventListener("mousedown",b,!1),i.addEventListener("touchstart",b,!1),i.addEventListener("wheel",g,!1),document.addEventListener("keypress",m,!1)}function u(e,t){r=-e*o,d=-t*o,n.style.top=-t+"px",n.style.left=-e+"px"}function h(e,t){let s=t+100+"px",n=e+100+"px";i.style.top=s,i.style.left=n}function p(e){e=e*Math.PI*2;var t,s,a,r,d,f,l=Math.floor(i.clientWidth+e),c=Math.floor(i.clientHeight+e),p=n.clientWidth,m=n.clientHeight;l<50||(l>p||(a=(t=i.offsetLeft-e/2)+l,r=(s=i.offsetTop-e/2)+c,t<0&&(t=0),s<0&&(s=0),a>p||r>m||(o=200/l,d=l,f=l,i.style.width=d+"px",i.style.height=f+"px",u(t,s),h(t,s))))}function m(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":p(4);break;case"-":p(-4)}}function g(e){e.preventDefault(),p(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){a.container_width=i.offsetWidth,a.container_height=i.offsetHeight,a.container_left=i.offsetLeft,a.container_top=i.offsetTop,a.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,a.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,s,o,r,d={x:0,y:0};e.preventDefault(),e.stopPropagation(),d.x=e.pageX||e.touches&&e.touches[0].pageX,d.y=e.pageY||e.touches&&e.touches[0].pageY,t=d.x-(a.mouse_x-a.container_left),s=d.y-(a.mouse_y-a.container_top),o=i.offsetWidth,r=i.offsetHeight,t<0?t=0:t>n.offsetWidth-o&&(t=n.offsetWidth-o),s<0?s=0:s>n.offsetHeight-r&&(s=n.offsetHeight-r),u(t,s),h(t,s)}return e.complete?c():e.onload=c,{crop:function(){f=n.width*o,l=n.height*o,t.width=200,t.height=200,t.getContext("2d").drawImage(n,r,d,f,l)},removeHandlers:function(){i.removeEventListener("mousedown",b),i.removeEventListener("touchstart",b),i.removeEventListener("wheel",g),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",m),s.remove(),i.remove(),n.remove()}}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=s(4),f=o(s(9)),l=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{if(this.skippable)return void this.backBtn.click();const e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,d.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,s,i){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=i,this.skippable=s,this.onCloseAfterTimeout(),this.selector=new r.AppSelectPeers(this.contentDiv,s?null:e=>{this.nextBtn.classList.toggle("is-visible",!!e)},["contacts"]),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),this.nextBtn.classList.toggle("is-visible",s),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.addMembers)}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=o(s(15)),f=o(s(5)),l=o(s(13)),c=a(s(14)),u=s(0),h=o(s(29));t.default=class{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),d.default.setListClickListener(this.list),this.scrollable=new r.default(this.list.parentElement),this.searchInput=new h.default("Search",e=>{this.list.innerHTML="",this.openContacts(e)}),this.container.firstElementChild.append(this.searchInput.container)}onClose(){let e=l.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.searchInput.value=""}openContacts(e){if(-1===c.default.historyTabIDs.indexOf(c.AppSidebarLeft.SLIDERITEMSIDS.contacts)&&c.default.selectTab(c.AppSidebarLeft.SLIDERITEMSIDS.contacts),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=f.default.getContacts(e).then(e=>{if(this.promise=null,c.default.historyTabIDs[c.default.historyTabIDs.length-1]!=c.AppSidebarLeft.SLIDERITEMSIDS.contacts)return void console.warn("user closed contacts before it's loaded");const t=[...e];t.findAndSplice(e=>e==u.$rootScope.myID);let s=t.map(e=>{let t=f.default.getUser(e);return{user:t,status:f.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=l.default.windowH/72*1.25|0;s.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:s}=d.default.addDialog(e.id,this.list,!1),i=f.default.getUserStatusString(e.id);s.lastMessageSpan.innerHTML="online"==i?`${i}`:i}),s.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(42),d=o(s(45)),f=o(s(9)),l=a(s(14)),c=o(s(6)),u=o(s(15)),h=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new r.SearchGroup(" ","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{d.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{const e=this.groupNameInput.value;this.nextBtn.classList.toggle("is-visible",!!e.length)}),this.nextBtn.addEventListener("click",()=>{const e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),l.default.selectTab(0)})});const e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new c.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear();this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1,this.searchGroup.clear()}init(e){this.userIDs=e,l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.newGroup),this.userIDs.forEach(e=>{let{dom:t}=u.default.addDialog(e,this.searchGroup.list,!1,!1),s="";s=h.default.getUserStatusString(e),"online"==s&&(s=`${s}`),s&&(t.lastMessageSpan.innerHTML=s)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=s(0),f=o(s(2)),l=a(s(14)),c=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},r.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),d.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{f.default.logOut().finally(()=>{localStorage.clear(),location.reload()})}),this.buttons.edit.addEventListener("click",()=>{l.default.editProfileTab.fillElements(),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.editProfile)}),this.buttons.folders.addEventListener("click",()=>{l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.chatFolders)})}fillElements(){let e=c.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(45)),a=i(s(2)),o=i(s(27)),r=i(s(14)),d=i(s(6)),f=i(s(5)),l=s(0);t.default=class{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{n.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void a.default.invokeApi("account.checkUsername",{username:t}).then(s=>{this.userNameInput.value==t&&(s?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},s=>{if(this.userNameInput.value==t)switch(s.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(o.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{r.default.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{o.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(o.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new d.default(this.scrollWrapper,"y")}fillElements(){var e,t,s;let i=f.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=i.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=i.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(s=i.username)&&void 0!==s?s:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",o.default.getProfile(i.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+l.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(17)),a=i(s(2)),o=i(s(7)),r=s(3),d=i(s(8)),f=s(0),l=i(s(14)),c=s(19),u=s(44);t.default=class{constructor(){this.filtersRendered={}}renderFolder(e,t,s=document.createElement("div")){let i,n="",a=[];if("dialogFilterSuggested"==e._)i=e.filter,n=e.description;else{i=e,n="";const t=i.id;if(this.filtersRendered.hasOwnProperty(i.id)||s.addEventListener("click",()=>{l.default.editFolderTab.open(o.default.filtersStorage.filters[t])}),this.filtersRendered[i.id]=s,1==Object.keys(i.pFlags).length){n="All ";const e=i.pFlags;e.contacts?n+="Contacts":e.non_contacts?n+="Non-Contacts":e.groups?n+="Groups":e.broadcasts?n+="Channels":e.bots?n+="Bots":e.exclude_muted?n+="Unmuted":e.exclude_read?n+="Unread":e.exclude_archived&&(n+="Unarchived"),a.push(n)}else{const e=o.default.dialogsStorage.getFolder(i.id);let t=0,s=0,n=0;for(const i of e)d.default.isAnyGroup(i.peerID)?n++:d.default.isBroadcast(i.peerID)?s++:t++;t&&a.push(t+" chats"),s&&a.push(s+" channels"),n&&a.push(n+" groups")}}return s.classList.add("category","rp-square"),s.innerHTML=`\n
\n

${r.RichTextProcessor.wrapEmojiText(i.title)}

\n

${a.length?a.join(", "):n}

\n
\n `,c.ripple(s),t&&t.append(s),s}init(){this.container=document.querySelector(".chat-folders-container"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.foldersContainer=this.container.querySelector(".folders-my"),this.suggestedContainer=this.container.querySelector(".folders-suggested"),this.createFolderBtn=this.container.querySelector(".btn-create-folder"),this.createFolderBtn.addEventListener("click",()=>{Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):l.default.editFolderTab.open()}),n.default.loadAnimationFromURL({container:this.stickerContainer,loop:!1,autoplay:!0,width:86,height:86},"assets/img/Folders_1.tgs").then(e=>{this.animation=e}),o.default.filtersStorage.getDialogFilters().then(e=>{for(const t in e){const s=e[t];this.renderFolder(s,this.foldersContainer)}}),f.$rootScope.$on("filter_update",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)?this.renderFolder(t,null,this.filtersRendered[t.id]):this.renderFolder(t,this.foldersContainer),this.getSuggestedFilters()}),f.$rootScope.$on("filter_delete",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)&&(this.getSuggestedFilters(),this.filtersRendered[t.id].remove(),delete this.filtersRendered[t.id])}),this.getSuggestedFilters()}getSuggestedFilters(){a.default.invokeApi("messages.getSuggestedDialogFilters").then(e=>{this.suggestedContainer.style.display=e.length?"":"none",Array.from(this.suggestedContainer.children).slice(1).forEach(e=>e.remove()),e.forEach(e=>{const t=this.renderFolder(e),s=document.createElement("button");s.classList.add("btn-primary"),s.innerText="Add",t.append(s),this.suggestedContainer.append(t),s.addEventListener("click",i=>{f.cancelEvent(i),Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):(s.setAttribute("disabled","true"),o.default.filtersStorage.createDialogFilter(e.filter).then(e=>{e&&t.remove()}).finally(()=>{s.removeAttribute("disabled")}))})})})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(s(14)),d=o(s(17)),f=o(s(7)),l=s(4),c=o(s(15)),u=s(0),h=s(44),p=s(19);t.default=class{constructor(){this.flags={}}init(){this.container=document.querySelector(".edit-folder-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.title=this.container.querySelector(".sidebar-header__title"),this.caption=this.container.querySelector(".caption"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.menuBtn=this.container.querySelector(".btn-menu-toggle"),this.deleteFolderBtn=this.menuBtn.querySelector(".menu-delete"),this.nameInput=this.container.querySelector("#folder-name"),this.include_peers=this.container.querySelector(".folder-list-included"),this.exclude_peers=this.container.querySelector(".folder-list-excluded");const e=this.include_peers.querySelector(".folder-categories"),t=this.exclude_peers.querySelector(".folder-categories");l.parseMenuButtonsTo(this.flags,e.children),l.parseMenuButtonsTo(this.flags,t.children),e.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"included")}),t.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"excluded")}),d.default.loadAnimationFromURL({container:this.stickerContainer,loop:!0,autoplay:!0,width:86,height:86},"assets/img/Folders_2.tgs").then(e=>{this.animation=e}),this.deleteFolderBtn.addEventListener("click",()=>{this.deleteFolderBtn.setAttribute("disabled","true"),f.default.filtersStorage.updateDialogFilter(this.filter,!0).then(e=>{e&&this.closeBtn.click()}).finally(()=>{this.deleteFolderBtn.removeAttribute("disabled")})}),this.confirmBtn.addEventListener("click",()=>{if(!this.nameInput.value.trim())return void this.nameInput.classList.add("error");let t,s=Array.from(e.children).slice(1).reduce((e,t)=>e+ +!t.style.display,0);"UL"==this.include_peers.lastElementChild.tagName&&(s+=this.include_peers.lastElementChild.childElementCount),s?(this.confirmBtn.setAttribute("disabled","true"),t=this.filter.id?f.default.filtersStorage.updateDialogFilter(this.filter):f.default.filtersStorage.createDialogFilter(this.filter),t.then(e=>{e&&this.closeBtn.click()}).catch(e=>{"DIALOG_FILTERS_TOO_MUCH"==e.type?h.toast("Sorry, you can't create more folders."):console.error("updateDialogFilter error:",e)}).finally(()=>{this.confirmBtn.removeAttribute("disabled")})):h.toast("Please choose at least one chat for this folder.")}),this.nameInput.addEventListener("input",()=>{this.nameInput.value.length>12?this.nameInput.value=this.nameInput.value.slice(0,12):(this.filter.title=this.nameInput.value,this.nameInput.classList.remove("error"),this.editCheckForChange())})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}onCloseAfterTimeout(){Array.from(this.container.querySelectorAll("ul, .show-more")).forEach(e=>e.remove())}onCreateOpen(){this.caption.style.display="",this.title.innerText="New Folder",this.menuBtn.classList.add("hide"),this.confirmBtn.classList.remove("hide"),this.nameInput.value="";for(const e in this.flags)this.flags[e].style.display="none"}onEditOpen(){this.caption.style.display="none",this.title.innerText="create"==this.type?"New Folder":"Edit Folder","edit"==this.type&&(this.menuBtn.classList.remove("hide"),this.confirmBtn.classList.add("hide"));const e=this.filter;this.nameInput.value=e.title;for(const t in this.flags)this.flags[t].style.display=e.pFlags[t]?"":"none";["include_peers","exclude_peers"].forEach(t=>{const s=this[t],i=document.createElement("ul"),n=e[t].slice(),a=e=>{for(let t=0,s=Math.min(n.length,e);t
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`:o&&o.remove()};let o;s.append(i),n.length&&(o=document.createElement("div"),o.classList.add("show-more"),o.addEventListener("click",()=>a(20)),o.innerHTML=`
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`,p.ripple(o),s.append(o)),a(4)})}editCheckForChange(){if("edit"==this.type){const e=!u.deepEqual(this.originalFilter,this.filter);this.confirmBtn.classList.toggle("hide",!e),this.menuBtn.classList.toggle("hide",e)}}setFilter(e,t){this.onCloseAfterTimeout(),t?(this.originalFilter=e,this.filter=u.copy(e)):(this.filter=e,this.onEditOpen(),this.editCheckForChange())}open(e){r.default.selectTab(r.AppSidebarLeft.SLIDERITEMSIDS.editFolder),void 0===e?(this.setFilter({_:"dialogFilter",flags:0,id:0,title:"",pFlags:{},pinned_peers:[],include_peers:[],exclude_peers:[]},!0),this.type="create",this.onCreateOpen()):(this.setFilter(e,!0),this.type="edit",this.onEditOpen())}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=a(s(14)),f=o(s(15)),l=o(s(8)),c=o(s(5)),u=s(0);t.default=class{constructor(){this.renderResults=e=>{const t="included"==this.type?this.filter.exclude_peers:this.filter.include_peers;e.forEach(e=>{if(t.includes(e))return;const{dom:s}=f.default.addDialog(e,this.selector.scrollable,!1,!1),i=this.selector.selected.has(e);s.containerEl.insertAdjacentHTML("beforeend",this.checkbox(i)),i&&s.listEl.classList.add("active");let n="";n=e>0?e==u.$rootScope.myID?"Chat with yourself":c.default.isBot(e)?"Bot":c.default.contactsList.has(e)?"Contact":"Non-Contact":l.default.isBroadcast(e)?"Channel":"Group",s.lastMessageSpan.innerHTML=n})},this.onSelectChange=e=>{"included"==this.type&&(this.confirmBtn.style.display=e?"":"none")}}init(){this.container=document.querySelector(".included-chats-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.title=this.container.querySelector(".sidebar-header__title"),this.confirmBtn.addEventListener("click",()=>{const e=this.selector.getSelected();if("included"==this.type)for(const e in this.filter.pFlags)0!==e.indexOf("exclude_")&&delete this.filter.pFlags[e];else for(const e in this.filter.pFlags)0===e.indexOf("exclude_")&&delete this.filter.pFlags[e];const t=[];for(const s of e)"number"==typeof s?t.push(s):this.filter.pFlags[s]=!0;this.filter["included"==this.type?"include_peers":"exclude_peers"]=t,d.default.editFolderTab.setFilter(this.filter,!1),this.closeBtn.click()})}checkbox(e){return`
`}onOpen(){this.init&&(this.init(),this.init=null),this.confirmBtn.style.display="excluded"==this.type?"":"none",this.title.innerText="included"==this.type?"Included Chats":"Excluded Chats";const e=this.filter,t=document.createDocumentFragment(),s=document.createElement("div");s.classList.add("sidebar-left-h2"),s.innerText="Chat types";const i=document.createElement("div");let n;i.classList.add("folder-categories"),n="excluded"==this.type?{exclude_muted:{ico:"tgico-mute",text:"Muted"},exclude_archived:{ico:"tgico-archive",text:"Archived"},exclude_read:{ico:"tgico-readchats",text:"Read"}}:{contacts:{ico:"tgico-newprivate",text:"Contacts"},non_contacts:{ico:"tgico-noncontacts",text:"Non-Contacts"},groups:{ico:"tgico-group",text:"Groups"},broadcasts:{ico:"tgico-newchannel",text:"Channels"},bots:{ico:"tgico-bots",text:"Bots"}};let a="";for(const e in n)a+=`

${n[e].text}

${this.checkbox()}
`;i.innerHTML=a;const o=document.createElement("hr");o.style.margin="7px 0 9px";const d=document.createElement("div");d.classList.add("sidebar-left-h2"),d.innerText="Chats",t.append(s,i,o,d);const f=("included"==this.type?e.include_peers:e.exclude_peers).slice();this.selector=new r.AppSelectPeers(this.container,this.onSelectChange,["dialogs"],null,this.renderResults),this.selector.selected=new Set(f),this.selector.input.placeholder="Search";const l=this.selector.add.bind(this.selector);this.selector.add=(e,t)=>{var s;const i=l(e,null===(s=n[e])||void 0===s?void 0:s.text);return n[e]&&i.querySelector("avatar-element").classList.add(n[e].ico),i},this.selector.list.parentElement.insertBefore(t,this.selector.list),f.forEach(e=>{this.selector.add(e)});for(const t in e.pFlags)n.hasOwnProperty(t)&&e.pFlags[t]&&i.querySelector(`[data-peerID="${t}"]`).click()}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}open(e,t){this.originalFilter=e,this.filter=u.copy(this.originalFilter),this.type=t,d.default.selectTab(d.AppSidebarLeft.SLIDERITEMSIDS.includedChats)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=i(s(6)),a=s(3),o=i(s(2)),r=i(s(55)),d=i(s(12)),f=s(0),l=s(20),c=i(s(7)),u=s(57),h=i(s(96)),p=i(s(54)),m=s(1),g=i(s(11)),b=i(s(46)),v=i(s(100));t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new n.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.btnCancelRecord=this.btnSend.parentElement.previousElementSibling,this.lastUrl="",this.lastTimeType=0,this.inputContainer=this.btnSend.parentElement.parentElement,this.chatInput=this.inputContainer.parentElement,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.recording=!1,this.recordCanceled=!1,this.recordTimeEl=this.inputContainer.querySelector(".record-time"),this.recordRippleEl=this.inputContainer.querySelector(".record-ripple"),this.recordStartTime=0,this.scrollTop=0,this.scrollOffsetTop=0,this.scrollDiff=0,this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle");try{this.recorder=new h.default({encoderSampleRate:48e3,monitorGain:0,numberOfChannels:1,recordingGain:1,reuseWorker:!0})}catch(e){this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"),console.error("Recorder constructor error:",e)}this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key&&!m.touchSupport){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),m.touchSupport&&(this.messageInput.addEventListener("touchend",e=>{this.saveScroll(),b.default.toggle(!1)}),window.addEventListener("resize",()=>{this.restoreScroll()})),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,s=a.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(s){let e=t.slice(s.offset,s.offset+s.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,o.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{r.default.saveWebPage(t),this.lastUrl==e&&(this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")||!this.recorder){this.recorder&&(this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2"));let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,c.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2")),c.default.setTyping("sendMessageCancelAction")}),a.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let s=t.getRangeAt(0),i=s.commonAncestorContainer,n="",a=Array.from(i.childNodes).slice(s.startOffset,s.endOffset);n=a.length?this.serializeNodes(a):t.toString(),event.clipboardData.setData("text/plain",n),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=a.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,i)=>{let n={};n.file=e;let a=document.createElement("div");switch(s.type){case"media":{let s=0===e.type.indexOf("video/");if(a.classList.add("popup-item-media"),s){let s=document.createElement("video"),i=document.createElement("source");i.src=n.objectURL=URL.createObjectURL(e),s.autoplay=!1,s.controls=!1,s.muted=!0,s.setAttribute("playsinline",""),s.onloadeddata=()=>{n.width=s.videoWidth,n.height=s.videoHeight,n.duration=Math.floor(s.duration),a.append(s),t(a)},s.append(i)}else{let s=new Image;s.src=n.objectURL=URL.createObjectURL(e),s.onload=()=>{n.width=s.naturalWidth,n.height=s.naturalHeight,a.append(s),t(a)}}break}case"document":{let s=l.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);n.objectURL=URL.createObjectURL(e),a.append(s),t(a);break}}s.sendFileDetails.push(n)}),t=t=>{this.fileInput.value="";let i=this.attachMediaPopUp.container.firstElementChild;if(i.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",s.sendFileDetails=[],(t=t.filter(e=>"media"!=s.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==s.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),i.classList.add("is-document");else{i.classList.add("is-media");let e=0,s=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++s}),e&&s?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):s&&(this.attachMediaPopUp.titleEl.innerText="Send "+(s>1?s+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==s.type)if(s.sendFileDetails.length>1){i.classList.add("is-album");let t=new u.Layouter(s.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:s,sides:i}of t){let t=e.shift();t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.top=s.y+"px",t.style.left=s.x+"px",i&u.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=s.width+s.x+"px"),i&u.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=s.height+s.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}}else{let t=s.sendFileDetails[0],i=e[0],{w:n,h:a}=f.calcImageInBox(t.width,t.height,380,320);i.style.width=n+"px",i.style.height=a+"px",this.attachMediaPopUp.mediaContainer.append(i)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},s={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let s=e.target.files;s.length&&t(Array.from(s))},!1),this.attachMenu.media.addEventListener("click",()=>{this.fileInput.setAttribute("accept","image/*, video/*"),s.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{this.fileInput.removeAttribute("accept"),s.type="document",this.fileInput.click()}),this.attachMenu.poll.addEventListener("click",()=>{(new v.default).show()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var i=(e.clipboardData||e.originalEvent.clipboardData).items;for(let n=0;n{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;s.isMedia="media"==s.type;let t=d.default.peerID;if(s.sendFileDetails.length>1&&s.isMedia)c.default.sendAlbum(t,s.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},s));else{e&&s.sendFileDetails.length>1&&(c.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);s.sendFileDetails.map(i=>{let n=c.default.sendFile(t,i.file,Object.assign({isMedia:i.file.type.includes("audio/")||s.isMedia,caption:e,replyToMsgID:this.replyToMsgID},i));return e="",this.replyToMsgID=0,n})}this.onMessageSent()});const i=e=>{f.cancelEvent(e),this.btnSend.classList.contains("tgico-send")||!this.recorder?this.recording?this.recorder.stop():this.sendMessage():this.recorder.start().then(()=>{this.recordCanceled=!1,this.btnSend.classList.add("tgico-send"),this.chatInput.classList.add("is-recording"),this.recording=!0,p.default.setKeepAlive(!0),this.recordStartTime=Date.now();const e=this.recorder.sourceNode,t=e.context.createAnalyser();e.connect(t),t.fftSize=32;const s=new Uint8Array(t.frequencyBinCount),i=255*s.length;let n=()=>{if(!this.recording)return;t.getByteFrequencyData(s);let e=0;s.forEach(t=>{e+=t});let a=Math.min(1,e/i+.36);this.recordRippleEl.style.transform=`scale(${a})`;let o=Date.now()-this.recordStartTime,r=o%1e3,d=(""+o/1e3).toHHMMSS()+","+("00"+Math.round(r/10)).slice(-2);this.recordTimeEl.innerText=d,window.requestAnimationFrame(n)};n()}).catch(e=>{console.error("Recorder start error:",e)})};if(this.btnSend.addEventListener("touchend",i),this.btnSend.addEventListener("click",i),this.recorder){const e=e=>{f.cancelEvent(e),this.recordCanceled=!0,this.recorder.stop(),p.default.setKeepAlive(!1)};this.btnCancelRecord.addEventListener("touchend",e),this.btnCancelRecord.addEventListener("click",e),this.recorder.onstop=()=>{this.recording=!1,this.chatInput.classList.remove("is-recording"),this.btnSend.classList.remove("tgico-send"),this.recordRippleEl.style.transform=""},this.recorder.ondataavailable=e=>{if(this.recordCanceled)return;const t=(Date.now()-this.recordStartTime)/1e3|0,s=new Blob([e],{type:"audio/ogg"});performance.now();p.default.decode(e,!0).then(e=>{p.default.setKeepAlive(!1);let i=d.default.peerID;c.default.sendFile(i,s,{isVoiceMessage:!0,isMedia:!0,duration:t,waveform:e.waveform,objectURL:e.url,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0)})}}this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=c.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"));this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0,t){let s=c.default.getDialogByPeerID(d.default.peerID)[0];s&&s.top_message&&c.default.readHistory(d.default.peerID,s.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.noWebPage=!1,this.willSendWebPage=null,this.messageInput.innerText="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))),(t||e)&&(this.replyToMsgID=0,this.replyElements.container.classList.remove("active"))}sendMessage(){let e=f.getRichValue(this.messageInput);this.editMsgID?c.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):c.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}sendMessageWithDocument(e){return"documentEmpty"!=(e=g.default.getDoc(e))._&&(c.default.sendFile(d.default.peerID,e,{isMedia:!0,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0),"sticker"==e.type&&b.default.stickersTab.pushRecentSticker(e),!0)}setTopInfo(e,t,s,i){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(l.wrapReply(e,t,i))),this.replyElements.container.classList.add("active"),void 0!==s&&(this.messageInput.innerHTML=s?a.RichTextProcessor.wrapRichText(s):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}saveScroll(){this.scrollTop=d.default.scrollable.container.scrollTop,this.scrollOffsetTop=this.chatInput.offsetTop}restoreScroll(){if(this.chatInput.style.display)return;let e=this.chatInput.offsetTop,t=d.default.scrollable.container,s=t.scrollTop,i=t.clientHeight,n=t.scrollHeight;if(e{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,s)=>{var i=s=>{switch(s.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=s.data.samplePosition,e(s.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,s)=>{var i=s=>{"flushed"===s.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var s=i=>{"done"===i.data.message&&(e.removeEventListener("message",s),t())};e.addEventListener("message",s),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,s){return e.set(s,t),t+s.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,s(1))},function(e,t){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(e){"object"==typeof window&&(s=window)}e.exports=s}])},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(63)),o=i(s(6)),r=s(4),d=i(s(2)),f=i(s(11));t.default=class{init(){this.content=document.getElementById("content-gifs");const e=this.content.firstElementChild;e.addEventListener("click",n.EmoticonsDropdown.onMediaClick);const t=new a.default(e),s=(new o.default(this.content,"y","GIFS",null),r.putPreloader(this.content,!0));d.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;s.remove(),i.gifs.forEach((e,s)=>{i.gifs[s]=f.default.saveDoc(e),t.add(i.gifs[s],n.EMOTICONSSTICKERGROUP,n.EmoticonsDropdown.lazyLoadQueue)})}),this.init=null}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(6)),o=i(s(1)),r=s(4),d=i(s(40)),f=s(3),l=i(s(12));t.default=class{constructor(){this.recent=[],this.onContentClick=e=>{let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;l.default.chatInputC.messageInput.innerHTML+=t.outerHTML;const s=this.getEmojiFromElement(t);Array.from(this.recentItemsDiv.children).forEach((e,t)=>{const i=this.getEmojiFromElement(e);s==i&&e.remove()});this.recentItemsDiv.scrollHeight;this.appendEmoji(s,this.recentItemsDiv,!0),this.recent.findAndSplice(e=>e==s),this.recent.unshift(s),this.recent.length>36&&(this.recent.length=36),d.default.pushToState("recentEmoji",this.recent);const i=new Event("input",{bubbles:!0,cancelable:!0});l.default.chatInputC.messageInput.dispatchEvent(i)}}init(){this.content=document.getElementById("content-emoji");const e=["Smileys & Emotion","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Flags","Skin Tones"],t={},s={Recent:[]};for(const t in o.default.Emoji){const i=""+o.default.Emoji[t],n=e[+i[0]-1];n&&(s[n]||(s[n]=[]),s[n][+i.slice(1)||0]=t)}e.pop(),delete s["Skin Tones"];for(const e in s){const i=document.createElement("div");i.classList.add("emoji-category");const n=document.createElement("div");n.classList.add("category-title"),n.innerText=e;const a=document.createElement("div");a.classList.add("category-items"),i.append(n,a);s[e].forEach(e=>{e=e.split("-").reduce((e,t)=>e+String.fromCodePoint(parseInt(t,16)),""),this.appendEmoji(e,a,!1)}),t[e]=i}const i=this.content.previousElementSibling.firstElementChild,f=this.scroll=new a.default(this.content,"y","EMOJI",null),l=r.putPreloader(this.content,!0);Promise.all([new Promise(e=>setTimeout(e,200)),d.default.getState().then(e=>{Array.isArray(e.recentEmoji)&&(this.recent=e.recentEmoji)})]).then(()=>{l.remove(),this.recentItemsDiv=t.Recent.querySelector(".category-items");for(const e of this.recent)this.appendEmoji(e,this.recentItemsDiv);e.unshift("Recent"),e.map(e=>{const s=t[e];return s||console.error("no div by category:",e),f.append(s),this.stickyIntersector.observeStickyHeaderChanges(s),s})}),this.content.addEventListener("click",this.onContentClick),this.stickyIntersector=n.EmoticonsDropdown.menuOnClick(i,f),this.init=null}appendEmoji(e,t,s=!1){const i=document.createElement("span");let n;n=f.RichTextProcessor.wrapEmojiText(e),i.innerHTML=n,i.firstElementChild&&i.firstElementChild.setAttribute("loading","lazy"),s?t.prepend(i):t.appendChild(i)}getEmojiFromElement(e){return"SPAN"!=e.tagName||e.classList.contains("emoji")||(e=e.firstElementChild),e.getAttribute("alt")||e.innerText}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(s(46)),f=r(s(6)),l=s(20),c=r(s(43)),u=r(s(28)),h=s(59),p=r(s(17)),m=s(4),g=s(3),b=s(0),v=r(s(2)),y=r(s(11)),w=r(s(18));t.default=class{constructor(){this.stickerSets={},this.recentStickers=[],this.mounted=!1,this.queueCategoryPush=[],this.animatedDivs=new Set}categoryPush(e,t,s,i){const n=document.createElement("div");n.classList.add("category-items");const a=document.createElement("div");a.classList.add("category-title"),a.innerHTML=t,e.append(a,n),this.stickyIntersector.observeStickyHeaderChanges(e),this.queueCategoryPush.push({element:e,prepend:i}),s.then(e=>{e.forEach(e=>{n.append(this.renderSticker(e))}),this.queueCategoryPush.length&&(this.queueCategoryPush.forEach(({element:e,prepend:t})=>{t?this.recentDiv.parentElement?(this.scroll.prepend(e),this.scroll.prepend(this.recentDiv)):this.scroll.prepend(e):this.scroll.append(e)}),this.queueCategoryPush.length=0)})}renderSticker(e,t){return t||(t=document.createElement("div"),2==e.sticker&&(this.animatedDivs.add(t),this.animatedIntersector.observe(t))),l.wrapSticker({doc:e,div:t,lazyLoadQueue:d.EmoticonsDropdown.lazyLoadQueue,group:d.EMOTICONSSTICKERGROUP,onlyThumb:2==e.sticker}),t}renderStickerSet(e,t=!1){return o(this,void 0,void 0,(function*(){const s=document.createElement("div");s.classList.add("sticker-category");const i=document.createElement("li");i.classList.add("btn-icon"),this.stickerSets[e.id]={stickers:s,tab:i},t?this.menu.insertBefore(i,this.menu.firstElementChild.nextSibling):this.menu.append(i);const n=c.default.getStickerSet(e);this.categoryPush(s,g.RichTextProcessor.wrapEmojiText(e.title),n.then(e=>e.documents),t);const a=yield n;if(a.set.thumb){const e=c.default.getStickerSetThumbDownloadOptions(a.set),t=u.default.download(e);if(a.set.pFlags.animated)t.then(h.readBlobAsText).then(JSON.parse).then(e=>{p.default.loadAnimationWorker({container:i,loop:!0,autoplay:!1,animationData:e,width:32,height:32},d.EMOTICONSSTICKERGROUP)});else{const e=new Image;t.then(t=>{m.renderImageFromUrl(e,URL.createObjectURL(t),()=>{i.append(e)})})}}else l.wrapSticker({doc:a.documents[0],div:i,group:d.EMOTICONSSTICKERGROUP})}))}init(){this.content=document.getElementById("content-stickers"),this.recentDiv=document.createElement("div"),this.recentDiv.classList.add("sticker-category");let e=this.content.previousElementSibling;this.menu=e.firstElementChild.firstElementChild;let t=new f.default(e,"x"),s=document.createElement("div");s.classList.add("stickers-categories"),this.content.append(s),b.$rootScope.$on("stickers_installed",e=>{const t=e.detail;!this.stickerSets[t.id]&&this.mounted&&this.renderStickerSet(t,!0)}),b.$rootScope.$on("stickers_deleted",e=>{const t=e.detail;if(this.stickerSets[t.id]&&this.mounted){const e=this.stickerSets[t.id];e.stickers.remove(),e.tab.remove(),delete this.stickerSets[t.id]}}),s.addEventListener("click",d.EmoticonsDropdown.onMediaClick),this.scroll=new f.default(this.content,"y","STICKERS",void 0,void 0,2),this.scroll.setVirtualContainer(s),this.stickyIntersector=d.EmoticonsDropdown.menuOnClick(this.menu,this.scroll,t);const i=m.putPreloader(this.content,!0);Promise.all([c.default.getRecentStickers().then(e=>{this.recentStickers=e.stickers.slice(0,20),this.stickerSets.recent={stickers:this.recentDiv,tab:this.menu.firstElementChild},i.remove(),this.categoryPush(this.recentDiv,"Recent",Promise.resolve(this.recentStickers),!0)}),v.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>o(this,void 0,void 0,(function*(){let t=e;i.remove();for(let e of t.sets)this.renderStickerSet(e)})))]).finally(()=>{this.mounted=!0});const n=e=>{w.default.getAnimations(e).forEach(t=>{u.has(e)?w.default.checkAnimation(t,!1):w.default.checkAnimation(t,!0,!0)})},a=e=>{u.delete(e);const t=e.dataset.docID,s=y.default.getDoc(t);n(e),e.innerHTML="",this.renderSticker(s,e)};let r=!1;const u=new Set;this.animatedIntersector=new IntersectionObserver(e=>{r||e.forEach(e=>{const{target:t,isIntersecting:s}=e,i=t,o=i.dataset.docID,r=y.default.getDoc(o);if(s){if(u.has(i))return;u.add(i),l.wrapSticker({doc:r,div:i,width:80,height:80,lazyLoadQueue:null,group:d.EMOTICONSSTICKERGROUP,onlyThumb:!1,play:!0,loop:!0}).then(()=>{n(i)})}else a(i)})}),d.default.events.onClose.push(()=>{r=!0}),d.default.events.onCloseAfter.push(()=>{const e=[...u];for(const t of e)a(t)}),d.default.events.onOpenAfter.push(()=>{r=!1,this.animatedIntersector.disconnect();const e=[...this.animatedDivs];for(const t of e)this.animatedIntersector.observe(t)}),this.init=null}pushRecentSticker(e){if(!this.recentDiv.parentElement)return;let t=this.recentDiv.querySelector(`[data-doc-i-d="${e.id}"]`);t||(t=this.renderSticker(e));const s=this.recentDiv.querySelector(".category-items");s.prepend(t),s.childElementCount>20&&Array.from(s.children).slice(20).forEach(e=>e.remove())}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(6)),o=i(s(7)),r=s(0),d=s(44),f=(e,t,s)=>{const i=document.createElement("div");return i.classList.add("input-field"),i.innerHTML=`\n \n \n `,i};class l extends n.PopupElement{constructor(){super("popup-create-poll popup-new-media",null,{closable:!0,withConfirm:"CREATE",body:!0}),this.tempID=0,this.onSubmitClick=e=>{const t=this.questionInput.value;if(!t.trim())return void d.toast("Please enter a question");const s=Array.from(this.questions.children).map((e,t)=>e.firstElementChild.value).filter(e=>!!e.trim());if(s.length<2)return void d.toast("Please enter at least two options");this.closeBtn.click(),this.confirmBtn.removeEventListener("click",this.onSubmitClick);const i={_:"poll",flags:0};i.question=t,i.answers=s.map((e,t)=>({_:"pollAnswer",text:e,option:new Uint8Array([t])})),o.default.sendOther(r.$rootScope.selectedPeerID,{_:"inputMediaPoll",flags:0,poll:i})},this.onInput=e=>{const t=e.target;t.value.length&&t.parentElement.classList.add("is-filled");!t.parentElement.nextElementSibling&&t.value.length&&this.questions.childElementCount<10&&this.appendMoreField()},this.onDeleteClick=e=>{e.target.parentElement.remove(),Array.from(this.questions.children).forEach((e,t)=>{e.firstElementChild.nextElementSibling.innerText="Option "+(t+1)})},this.title.innerText="New Poll";const e=f("Ask a Question","Ask a Question","question");this.questionInput=e.firstElementChild,this.header.append(e);const t=document.createElement("hr"),s=document.createElement("div");s.classList.add("caption"),s.innerText="Options",this.questions=document.createElement("div"),this.questions.classList.add("poll-create-questions"),this.body.parentElement.insertBefore(t,this.body),this.body.append(s,this.questions),this.confirmBtn.addEventListener("click",this.onSubmitClick),this.scrollable=new a.default(this.body,"y",void 0),this.appendMoreField()}appendMoreField(){const e=this.questions.childElementCount+1,t=f("Add an Option","Option "+e,"question-"+this.tempID++);t.firstElementChild.addEventListener("input",this.onInput);const s=document.createElement("span");s.classList.add("btn-icon","tgico-close"),t.append(s),s.addEventListener("click",this.onDeleteClick,{once:!0}),this.questions.append(t),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0)}}t.default=l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let s=this.bubblesByGroups.findAndSplice(e=>e.mid==t);s&&s.group.length&&(s.group.findAndSplice(t=>t==e),s.group.length?this.updateGroup(s.group):this.groups.findAndSplice(e=>e==s.group))}addBubble(e,t,s){let n,a=t.date,o=t.fromID;if(o==i.$rootScope.myID&&i.$rootScope.selectedPeerID==i.$rootScope.myID&&t.fwdFromID==o&&(o=-o),this.bubblesByGroups.length)if(s){let t=this.bubblesByGroups[0];t.fromID==o&&t.timestamp-a{if(!(n instanceof SVGDefsElement))if(t)n.removeAttributeNS(null,"clip-path");else{let t,a,o=s.dataset.clipID,r=s.firstElementChild.firstElementChild.lastElementChild,d=+n.getAttributeNS(null,"width"),f=+n.getAttributeNS(null,"height"),l=e.classList.contains("is-out"),c=e.classList.contains("is-reply"),u="";e.classList.contains("forwarded")||c?t=a=0:l?(t=e.classList.contains("is-group-first")?12:6,a=12):(t=12,a=e.classList.contains("is-group-first")?12:6),u=l?i.generatePathData(0,0,d-9,f,a,t,0,12):i.generatePathData(9,0,d-9,f,a,t,12,0),r.setAttributeNS(null,"d",u),n.setAttributeNS(null,"clip-path","url(#"+o+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let s=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(36);class n extends i.PopupElement{constructor(e,t){super("popup-date-picker",[{text:"CANCEL",isCancel:!0},{text:"JUMP TO DATE",callback:()=>{this.onPick&&this.onPick(this.selectedDate.getTime()/1e3|0)}}]),this.onPick=t,this.minDate=new Date("2013-08-01T00:00:00"),this.onPrevClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()-1),this.setMonth(),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.nextBtn.removeAttribute("disabled")},this.onNextClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()+1),this.setMonth(),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.prevBtn.removeAttribute("disabled")},this.onDateClick=e=>{const t=e.target;if(!t.dataset.timestamp)return;if(this.selectedEl){if(this.selectedEl==t)return;this.selectedEl.classList.remove("active")}t.classList.add("active");const s=+t.dataset.timestamp;this.selectedDate=new Date(s),this.setTitle(),this.setMonth()};const s=document.createElement("div");s.classList.add("popup-body"),this.controlsDiv=document.createElement("div"),this.controlsDiv.classList.add("date-picker-controls"),this.prevBtn=document.createElement("button"),this.prevBtn.classList.add("btn-icon","tgico-down","date-picker-prev"),this.prevBtn.addEventListener("click",this.onPrevClick),this.nextBtn=document.createElement("button"),this.nextBtn.classList.add("btn-icon","tgico-down","date-picker-next"),this.nextBtn.addEventListener("click",this.onNextClick),this.monthTitle=document.createElement("div"),this.monthTitle.classList.add("date-picker-month-title"),this.controlsDiv.append(this.prevBtn,this.monthTitle,this.nextBtn),this.monthsContainer=document.createElement("div"),this.monthsContainer.classList.add("date-picker-months"),this.monthsContainer.addEventListener("click",this.onDateClick),s.append(this.controlsDiv,this.monthsContainer),this.container.append(s);const i=document.createElement("div");i.classList.add("popup-centerer"),i.append(this.container),this.element.append(i),e.setHours(0,0,0,0),this.selectedDate=e,this.maxDate=new Date,this.maxDate.setHours(0,0,0,0),this.selectedMonth=new Date(this.selectedDate),this.selectedMonth.setDate(1),this.maxMonth=new Date(this.maxDate),this.maxMonth.setDate(1),this.minMonth=new Date(this.minDate),this.minMonth.setDate(1),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.setTitle(),this.setMonth()}setTitle(){const e=this.selectedDate.toString().split(" ",3);this.title.innerText=e[0]+", "+e[1]+" "+e[2]}setMonth(){this.monthTitle.innerText=["January","February","March","April","May","June","July","August","September","October","November","December"][this.selectedMonth.getMonth()]+" "+this.selectedMonth.getFullYear(),this.month&&this.month.remove(),this.month=document.createElement("div"),this.month.classList.add("date-picker-month");const e=["M","T","W","T","F","S","S"];this.month.append(...e.map(e=>{const t=document.createElement("span");return t.innerText=e,t}));const t=new Date(this.selectedMonth);let s=t.getDay()-1;-1==s&&(s=e.length-1);for(let e=0;ethis.maxDate&&s.setAttribute("disabled","true"),t.getTime()==this.selectedDate.getTime()&&(this.selectedEl=s,s.classList.add("active")),this.month.append(s),t.setDate(e+1)}while(1!=t.getDate());this.container.classList.toggle("is-max-lines",this.month.childElementCount/7>6),this.monthsContainer.append(this.month)}}t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PasswordManager=void 0;const n=i(s(2));class a{getState(e={}){return n.default.invokeApi("account.getPassword",{},e).then(e=>e)}check(e,t,s={}){return n.default.computeSRP(e,t).then(e=>n.default.invokeApi("auth.checkPassword",{password:e},s))}requestRecovery(e={}){return n.default.invokeApi("auth.requestPasswordRecovery",{},e)}recover(e,t={}){return n.default.invokeApi("auth.recoverPassword",{code:e},t)}}t.PasswordManager=a;const o=new a;t.default=o},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(2)),f=r(s(25)),l=r(s(31)),c=r(s(65)),u=r(s(48)),h=s(30),p=s(21),m=r(s(34));let g;const b=new f.default("page-signQR",!0,()=>g,()=>{g||(g=o(void 0,void 0,void 0,(function*(){const e=b.pageEl.querySelector(".auth-image");b.pageEl.querySelector(".a-qr").addEventListener("click",()=>{u.default.mount(),i=!0});const t=(yield Promise.all([Promise.resolve().then(()=>a(s(105)))]))[0].default;let i=!1;document.addEventListener("user_auth",()=>{i=!0,g=null},{once:!0});let n,r={ignoreErrors:!0};return()=>o(void 0,void 0,void 0,(function*(){for(i=!1;!i;)try{let s=yield d.default.invokeApi("auth.exportLoginToken",{api_id:h.App.id,api_hash:h.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==s._&&(r.dcID||(r.dcID=s.dc_id,d.default.setBaseDcID(s.dc_id)),s=yield d.default.invokeApi("auth.importLoginToken",{token:s.token},r)),"auth.loginTokenSuccess"==s._){let e=s.authorization;d.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!n||!p.bytesCmp(n,s.token)){n=s.token;let i="tg://login?token="+p.bytesToBase64(s.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:i,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let i=Date.now()/1e3,a=s.expires-i-m.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,c.default.mount(),i=!0,g=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),g.then(e=>{e()})});t.default=b},function(e,t,s){window,e.exports=function(e){var t={};function s(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,s),n.l=!0,n.exports}return s.m=e,s.c=t,s.d=function(e,t,i){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(i,n,function(t){return e[t]}.bind(null,n));return i},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=1)}([function(e,t,s){var i,n,a=function(){var e=function(e,t){var s=e,i=n[t],o=null,p=0,m=null,b=[],v={},y=function(e,t){o=function(e){for(var t=new Array(e),s=0;s=7&&L(e),null==m&&(m=E(s,i,b)),D(m,t)},w=function(e,t){for(var s=-1;s<=7;s+=1)if(!(e+s<=-1||p<=e+s))for(var i=-1;i<=7;i+=1)t+i<=-1||p<=t+i||(o[e+s][t+i]=0<=s&&s<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==s||6==s)||2<=s&&s<=4&&2<=i&&i<=4)},_=function(){for(var e=8;e>i&1);o[Math.floor(i/3)][i%3+p-8-3]=n}for(i=0;i<18;i+=1)n=!e&&1==(t>>i&1),o[i%3+p-8-3][Math.floor(i/3)]=n},M=function(e,t){for(var s=i<<3|t,n=a.getBCHTypeInfo(s),r=0;r<15;r+=1){var d=!e&&1==(n>>r&1);r<6?o[r][8]=d:r<8?o[r+1][8]=d:o[p-15+r][8]=d}for(r=0;r<15;r+=1)d=!e&&1==(n>>r&1),r<8?o[8][p-r-1]=d:r<9?o[8][15-r-1+1]=d:o[8][15-r-1]=d;o[p-8][8]=!e},D=function(e,t){for(var s=-1,i=p-1,n=7,r=0,d=a.getMaskFunction(t),f=p-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var l=0;l<2;l+=1)if(null==o[i][f-l]){var c=!1;r>>n&1)),d(i,f-l)&&(c=!c),o[i][f-l]=c,-1==(n-=1)&&(r+=1,n=7)}if((i+=s)<0||p<=i){i-=s,s=-s;break}}},E=function(e,t,s){for(var i=d.getRSBlocks(e,t),n=f(),o=0;o8*c)throw"code length overflow. ("+n.getLengthInBits()+">"+8*c+")";for(n.getLengthInBits()+4<=8*c&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*c||(n.put(236,8),n.getLengthInBits()>=8*c));)n.put(17,8);return function(e,t){for(var s=0,i=0,n=0,o=new Array(t.length),d=new Array(t.length),f=0;f=0?p.getAt(m):0}}var g=0;for(u=0;ui)&&(e=i,t=s)}return t}())},v.createTableTag=function(e,t){e=e||2;var s="";s+='',s+="";for(var i=0;i";for(var n=0;n';s+=""}return(s+="")+"
"},v.createSvgTag=function(e,t,s,i){var n={};"object"==typeof arguments[0]&&(e=(n=arguments[0]).cellSize,t=n.margin,s=n.alt,i=n.title),e=e||2,t=void 0===t?4*e:t,(s="string"==typeof s?{text:s}:s||{}).text=s.text||null,s.id=s.text?s.id||"qrcode-description":null,(i="string"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||"qrcode-title":null;var a,o,r,d,f=v.getModuleCount()*e+2*t,l="";for(d="l"+e+",0 0,"+e+" -"+e+",0 0,-"+e+"z ",l+=''+I(i.text)+"":"",l+=s.text?''+I(s.text)+"":"",l+='',l+='"},v.createDataURL=function(e,t){e=e||2,t=void 0===t?4*e:t;var s=v.getModuleCount()*e+2*t,i=t,n=s-t;return g(s,s,(function(t,s){if(i<=t&&t"};var I=function(e){for(var t="",s=0;s":t+=">";break;case"&":t+="&";break;case'"':t+=""";break;default:t+=i}}return t};return v.createASCII=function(e,t){if((e=e||1)<2)return function(e){e=void 0===e?2:e;var t,s,i,n,a,o=1*v.getModuleCount()+2*e,r=e,d=o-e,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},l={"██":"▀","█ ":"▀"," █":" "," ":" "},c="";for(t=0;t=d?l[a]:f[a];c+="\n"}return o%2&&e>0?c.substring(0,c.length-o-1)+Array(o+1).join("▀"):c.substring(0,c.length-1)}(t);e-=1,t=void 0===t?2*e:t;var s,i,n,a,o=v.getModuleCount()*e+2*t,r=t,d=o-t,f=Array(e+1).join("██"),l=Array(e+1).join(" "),c="",u="";for(s=0;s>>8),t.push(255&o)):t.push(i)}}return t}};var t,s,i,n={L:1,M:0,Q:3,H:2},a=(t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],i=function(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t},(s={}).getBCHTypeInfo=function(e){for(var t=e<<10;i(t)-i(1335)>=0;)t^=1335<=0;)t^=7973<5&&(s+=3+a-5)}for(i=0;i=256;)t-=255;return e[t]}}}();function r(e,t){if(void 0===e.length)throw e.length+"/"+t;var s=function(){for(var s=0;s>>7-t%8&1)},put:function(e,t){for(var i=0;i>>t-i-1&1))},getLengthInBits:function(){return t},putBit:function(s){var i=Math.floor(t/8);e.length<=i&&e.push(0),s&&(e[i]|=128>>>t%8),t+=1}};return s},l=function(e){var t=e,s={getMode:function(){return 1},getLength:function(e){return t.length},write:function(e){for(var s=t,n=0;n+2>>8&255)+(255&n),e.put(n,13),s+=2}if(s>>8)},writeBytes:function(e,s,i){s=s||0,i=i||e.length;for(var n=0;n0&&(t+=","),t+=e[s];return t+"]"}};return t},m=function(e){var t=e,s=0,i=0,n=0,a={read:function(){for(;n<8;){if(s>=t.length){if(0==n)return-1;throw"unexpected end of file./"+n}var e=t.charAt(s);if(s+=1,"="==e)return n=0,-1;e.match(/^\s$/)||(i=i<<6|o(e.charCodeAt(0)),n+=6)}var a=i>>>n-8&255;return n-=8,a}},o=function(e){if(65<=e&&e<=90)return e-65;if(97<=e&&e<=122)return e-97+26;if(48<=e&&e<=57)return e-48+52;if(43==e)return 62;if(47==e)return 63;throw"c:"+e};return a},g=function(e,t,s){for(var i=function(e,t){var s=e,i=t,n=new Array(e*t),a={setPixel:function(e,t,i){n[t*s+e]=i},write:function(e){e.writeString("GIF87a"),e.writeShort(s),e.writeShort(i),e.writeByte(128),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(255),e.writeByte(255),e.writeByte(255),e.writeString(","),e.writeShort(0),e.writeShort(0),e.writeShort(s),e.writeShort(i),e.writeByte(0);var t=o(2);e.writeByte(2);for(var n=0;t.length-n>255;)e.writeByte(255),e.writeBytes(t,n,255),n+=255;e.writeByte(t.length-n),e.writeBytes(t,n,t.length-n),e.writeByte(0),e.writeString(";")}},o=function(e){for(var t=1<>>n!=0)throw"length over";for(;s+n>=8;)t.writeByte(255&(e<>>=8-s,i=0,s=0;i|=e<0&&t.writeByte(i)}}}(d);f.write(t,i);var l=0,c=String.fromCharCode(n[l]);for(l+=1;l=6;)a(e>>>t-6),t-=6},n.flush=function(){if(t>0&&(a(e<<6-t),e=0,t=0),s%3!=0)for(var n=3-s%3,o=0;o>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(s++,i=65536+((1023&i)<<10|1023&e.charCodeAt(s)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return t}(e)},void 0===(n="function"==typeof(i=function(){return a})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,s){"use strict";s.r(t);var i={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},n=function(){return(n=Object.assign||function(e){for(var t,s=1,i=arguments.length;si.width||n>i.height)throw"The canvas is too small.";for(var a=Math.min(i.width,i.height),o=Math.floor(a/n),r=Math.floor((i.width-n*o)/2),d=Math.floor((i.height-n*o)/2),l=new f({context:s,type:i.dotsOptions.type}),c=function(a){for(var f=function(f){return e&&!e(a,f)?"continue":u._qr.isDark(a,f)?(s.fillStyle=i.dotsOptions.color,void l.draw(r+a*o,d+f*o,o,(function(s,i){return!(a+s<0||f+i<0||a+s>=n||f+i>=n)&&!(e&&!e(a+s,f+i))&&!!t._qr&&t._qr.isDark(a+s,f+i)}))):"continue"},c=0;ci||n&&n=(a+p)/2||t<(a-m)/2||t>=(a+m)/2})),i.drawImage(c,f+(a*r-d)/2,l+(a*r-h)/2,d,h),t()},c.src=n.image}))},e}(),c={},u=0;u<=40;u++)c[u]=u;var h=c,p={L:"L",M:"M",Q:"Q",H:"H"},m={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:p.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},g=s(0),b=s.n(g),v=function(){function e(e){this._options=e?r(m,e):m,this.update()}return e._clearContainer=function(e){e&&(e.innerHTML="")},e.prototype.update=function(t){e._clearContainer(this._container),this._options=t?r(this._options,t):this._options,this._options.data&&(this._qr=b()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return i.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(e):return i.alphanumeric;default:return i.byte}}(this._options.data)),this._qr.make(),this._canvas=new l(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},e.prototype.append=function(e){if(e){if("function"!=typeof e.appendChild)throw"Container should be a single DOM node";this._canvas&&e.appendChild(this._canvas.getCanvas()),this._container=e}},e.prototype.download=function(e){var t,s,i;this._canvas&&(t=this._canvas.getCanvas().toDataURL(e?"image/"+e:void 0),s="qr."+(e||"png"),(i=document.createElement("a")).download=s,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i))},e}(),y={dots:"dots",rounded:"rounded",square:"square"};s.d(t,"dotTypes",(function(){return y})),s.d(t,"errorCorrectionLevels",(function(){return p})),s.d(t,"errorCorrectionPercents",(function(){return d})),s.d(t,"modes",(function(){return i})),s.d(t,"qrTypes",(function(){return h})),t.default=v}]).default}]); \ No newline at end of file diff --git a/public/t/npm.jsbn.chunk.js b/public/t/npm.jsbn.chunk.js new file mode 100644 index 00000000..d1e37c23 --- /dev/null +++ b/public/t/npm.jsbn.chunk.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{52:function(t,i,o){(function(){var i;function o(t,i,o){null!=t&&("number"==typeof t?this.fromNumber(t,i,o):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function r(){return new o(null)}var s="undefined"!=typeof navigator;s&&"Microsoft Internet Explorer"==navigator.appName?(o.prototype.am=function(t,i,o,r,s,h){for(var e=32767&i,n=i>>15;--h>=0;){var f=32767&this[t],u=this[t++]>>15,p=n*f+u*e;s=((f=e*f+((32767&p)<<15)+o[r]+(1073741823&s))>>>30)+(p>>>15)+n*u+(s>>>30),o[r++]=1073741823&f}return s},i=30):s&&"Netscape"!=navigator.appName?(o.prototype.am=function(t,i,o,r,s,h){for(;--h>=0;){var e=i*this[t++]+o[r]+s;s=Math.floor(e/67108864),o[r++]=67108863&e}return s},i=26):(o.prototype.am=function(t,i,o,r,s,h){for(var e=16383&i,n=i>>14;--h>=0;){var f=16383&this[t],u=this[t++]>>14,p=n*f+u*e;s=((f=e*f+((16383&p)<<14)+o[r]+s)>>28)+(p>>14)+n*u,o[r++]=268435455&f}return s},i=28),o.prototype.DB=i,o.prototype.DM=(1<>>16)&&(t=i,o+=16),0!=(i=t>>8)&&(t=i,o+=8),0!=(i=t>>4)&&(t=i,o+=4),0!=(i=t>>2)&&(t=i,o+=2),0!=(i=t>>1)&&(t=i,o+=1),o}function c(t){this.m=t}function m(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,i+=16),0==(255&t)&&(t>>=8,i+=8),0==(15&t)&&(t>>=4,i+=4),0==(3&t)&&(t>>=2,i+=2),0==(1&t)&&++i,i}function D(t){for(var i=0;0!=t;)t&=t-1,++i;return i}function b(){}function g(t){return t}function S(t){this.r2=r(),this.q3=r(),o.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}c.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},c.prototype.revert=function(t){return t},c.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},c.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},c.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},m.prototype.convert=function(t){var i=r();return t.abs().dlShiftTo(this.m.t,i),i.divRemTo(this.m,null,i),t.s<0&&i.compareTo(o.ZERO)>0&&this.m.subTo(i,i),i},m.prototype.revert=function(t){var i=r();return t.copyTo(i),this.reduce(i),i},m.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&t.DM;for(t[o=i+this.m.t]+=this.m.am(0,r,t,i,0,this.m.t);t[o]>=t.DV;)t[o]-=t.DV,t[++o]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},m.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},m.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},o.prototype.copyTo=function(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s},o.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},o.prototype.fromString=function(t,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(t,i);r=2}this.t=0,this.s=0;for(var s=t.length,h=!1,e=0;--s>=0;){var n=8==r?255&t[s]:u(t,s);n<0?"-"==t.charAt(s)&&(h=!0):(h=!1,0==e?this[this.t++]=n:e+r>this.DB?(this[this.t-1]|=(n&(1<>this.DB-e):this[this.t-1]|=n<=this.DB&&(e-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,e>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},o.prototype.dlShiftTo=function(t,i){var o;for(o=this.t-1;o>=0;--o)i[o+t]=this[o];for(o=t-1;o>=0;--o)i[o]=0;i.t=this.t+t,i.s=this.s},o.prototype.drShiftTo=function(t,i){for(var o=t;o=0;--o)i[o+e+1]=this[o]>>s|n,n=(this[o]&h)<=0;--o)i[o]=0;i[e]=n,i.t=this.t+e+1,i.s=this.s,i.clamp()},o.prototype.rShiftTo=function(t,i){i.s=this.s;var o=Math.floor(t/this.DB);if(o>=this.t)i.t=0;else{var r=t%this.DB,s=this.DB-r,h=(1<>r;for(var e=o+1;e>r;r>0&&(i[this.t-o-1]|=(this.s&h)<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;o>=this.DB;r-=t.s}i.s=r<0?-1:0,r<-1?i[o++]=this.DV+r:r>0&&(i[o++]=r),i.t=o,i.clamp()},o.prototype.multiplyTo=function(t,i){var r=this.abs(),s=t.abs(),h=r.t;for(i.t=h+s.t;--h>=0;)i[h]=0;for(h=0;h=0;)t[o]=0;for(o=0;o=i.DV&&(t[o+i.t]-=i.DV,t[o+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(o,i[o],t,2*o,0,1)),t.s=0,t.clamp()},o.prototype.divRemTo=function(t,i,s){var h=t.abs();if(!(h.t<=0)){var e=this.abs();if(e.t0?(h.lShiftTo(p,n),e.lShiftTo(p,s)):(h.copyTo(n),e.copyTo(s));var c=n.t,m=n[c-1];if(0!=m){var l=m*(1<1?n[c-2]>>this.F2:0),v=this.FV/l,T=(1<=0&&(s[s.t++]=1,s.subTo(b,s)),o.ONE.dlShiftTo(c,b),b.subTo(n,n);n.t=0;){var g=s[--d]==m?this.DM:Math.floor(s[d]*v+(s[d-1]+y)*T);if((s[d]+=n.am(0,g,s,D,0,c))0&&s.rShiftTo(p,s),f<0&&o.ZERO.subTo(s,s)}}},o.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var i=3&t;return(i=(i=(i=(i=i*(2-(15&t)*i)&15)*(2-(255&t)*i)&255)*(2-((65535&t)*i&65535))&65535)*(2-t*i%this.DV)%this.DV)>0?this.DV-i:-i},o.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},o.prototype.exp=function(t,i){if(t>4294967295||t<1)return o.ONE;var s=r(),h=r(),e=i.convert(this),n=a(t)-1;for(e.copyTo(s);--n>=0;)if(i.sqrTo(s,h),(t&1<0)i.mulTo(h,e,s);else{var f=s;s=h,h=f}return i.revert(s)},o.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var o,r=(1<0)for(n>n)>0&&(s=!0,h=f(o));e>=0;)n>(n+=this.DB-i)):(o=this[e]>>(n-=i)&r,n<=0&&(n+=this.DB,--e)),o>0&&(s=!0),s&&(h+=f(o));return s?h:"0"},o.prototype.negate=function(){var t=r();return o.ZERO.subTo(this,t),t},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.compareTo=function(t){var i=this.s-t.s;if(0!=i)return i;var o=this.t;if(0!=(i=o-t.t))return this.s<0?-i:i;for(;--o>=0;)if(0!=(i=this[o]-t[o]))return i;return 0},o.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+a(this[this.t-1]^this.s&this.DM)},o.prototype.mod=function(t){var i=r();return this.abs().divRemTo(t,null,i),this.s<0&&i.compareTo(o.ZERO)>0&&t.subTo(i,i),i},o.prototype.modPowInt=function(t,i){var o;return o=t<256||i.isEven()?new c(i):new m(i),this.exp(t,o)},o.ZERO=p(0),o.ONE=p(1),b.prototype.convert=g,b.prototype.revert=g,b.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o)},b.prototype.sqrTo=function(t,i){t.squareTo(i)},S.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var i=r();return t.copyTo(i),this.reduce(i),i},S.prototype.revert=function(t){return t},S.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},S.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},S.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)};var B,w,M,E=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/E[E.length-1];function O(){var t;t=(new Date).getTime(),w[M++]^=255&t,w[M++]^=t>>8&255,w[M++]^=t>>16&255,w[M++]^=t>>24&255,M>=I&&(M-=I)}if(o.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},o.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var i=this.chunkSize(t),o=Math.pow(t,i),s=p(o),h=r(),e=r(),n="";for(this.divRemTo(s,h,e);h.signum()>0;)n=(o+e.intValue()).toString(t).substr(1)+n,h.divRemTo(s,h,e);return e.intValue().toString(t)+n},o.prototype.fromRadix=function(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),s=Math.pow(i,r),h=!1,e=0,n=0,f=0;f=r&&(this.dMultiply(s),this.dAddOffset(n,0),e=0,n=0))}e>0&&(this.dMultiply(Math.pow(i,e)),this.dAddOffset(n,0)),h&&o.ZERO.subTo(this,this)},o.prototype.fromNumber=function(t,i,r){if("number"==typeof i)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(o.ONE.shiftLeft(t-1),v,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(o.ONE.shiftLeft(t-1),this);else{var s=new Array,h=7&t;s.length=1+(t>>3),i.nextBytes(s),h>0?s[0]&=(1<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;o>=this.DB;r+=t.s}i.s=r<0?-1:0,r>0?i[o++]=r:r<-1&&(i[o++]=this.DV+r),i.t=o,i.clamp()},o.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},o.prototype.dAddOffset=function(t,i){if(0!=t){for(;this.t<=i;)this[this.t++]=0;for(this[i]+=t;this[i]>=this.DV;)this[i]-=this.DV,++i>=this.t&&(this[this.t++]=0),++this[i]}},o.prototype.multiplyLowerTo=function(t,i,o){var r,s=Math.min(this.t+t.t,i);for(o.s=0,o.t=s;s>0;)o[--s]=0;for(r=o.t-this.t;s=0;)o[r]=0;for(r=Math.max(i-this.t,0);r0)if(0==i)o=this[0]%t;else for(var r=this.t-1;r>=0;--r)o=(i*o+this[r])%t;return o},o.prototype.millerRabin=function(t){var i=this.subtract(o.ONE),s=i.getLowestSetBit();if(s<=0)return!1;var h=i.shiftRight(s);(t=t+1>>1)>E.length&&(t=E.length);for(var e=r(),n=0;n>24},o.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},o.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},o.prototype.toByteArray=function(){var t=this.t,i=new Array;i[0]=this.s;var o,r=this.DB-t*this.DB%8,s=0;if(t-- >0)for(r>r)!=(this.s&this.DM)>>r&&(i[s++]=o|this.s<=0;)r<8?(o=(this[t]&(1<>(r+=this.DB-8)):(o=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),0!=(128&o)&&(o|=-256),0==s&&(128&this.s)!=(128&o)&&++s,(s>0||o!=this.s)&&(i[s++]=o);return i},o.prototype.equals=function(t){return 0==this.compareTo(t)},o.prototype.min=function(t){return this.compareTo(t)<0?this:t},o.prototype.max=function(t){return this.compareTo(t)>0?this:t},o.prototype.and=function(t){var i=r();return this.bitwiseTo(t,l,i),i},o.prototype.or=function(t){var i=r();return this.bitwiseTo(t,v,i),i},o.prototype.xor=function(t){var i=r();return this.bitwiseTo(t,T,i),i},o.prototype.andNot=function(t){var i=r();return this.bitwiseTo(t,y,i),i},o.prototype.not=function(){for(var t=r(),i=0;i=this.t?0!=this.s:0!=(this[i]&1<1){var v=r();for(s.sqrTo(n[1],v);f<=l;)n[f]=r(),s.mulTo(v,n[f-2],n[f]),f+=2}var T,y,d=t.t-1,D=!0,b=r();for(h=a(t[d])-1;d>=0;){for(h>=u?T=t[d]>>h-u&l:(T=(t[d]&(1<0&&(T|=t[d-1]>>this.DB+h-u)),f=o;0==(1&T);)T>>=1,--f;if((h-=f)<0&&(h+=this.DB,--d),D)n[T].copyTo(e),D=!1;else{for(;f>1;)s.sqrTo(e,b),s.sqrTo(b,e),f-=2;f>0?s.sqrTo(e,b):(y=e,e=b,b=y),s.mulTo(b,n[T],e)}for(;d>=0&&0==(t[d]&1<=0?(r.subTo(s,r),i&&h.subTo(n,h),e.subTo(f,e)):(s.subTo(r,s),i&&n.subTo(h,n),f.subTo(e,f))}return 0!=s.compareTo(o.ONE)?o.ZERO:f.compareTo(t)>=0?f.subtract(t):f.signum()<0?(f.addTo(t,f),f.signum()<0?f.add(t):f):f},o.prototype.pow=function(t){return this.exp(t,new b)},o.prototype.gcd=function(t){var i=this.s<0?this.negate():this.clone(),o=t.s<0?t.negate():t.clone();if(i.compareTo(o)<0){var r=i;i=o,o=r}var s=i.getLowestSetBit(),h=o.getLowestSetBit();if(h<0)return i;for(s0&&(i.rShiftTo(h,i),o.rShiftTo(h,o));i.signum()>0;)(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=o.getLowestSetBit())>0&&o.rShiftTo(s,o),i.compareTo(o)>=0?(i.subTo(o,i),i.rShiftTo(1,i)):(o.subTo(i,o),o.rShiftTo(1,o));return h>0&&o.lShiftTo(h,o),o},o.prototype.isProbablePrime=function(t){var i,o=this.abs();if(1==o.t&&o[0]<=E[E.length-1]){for(i=0;i>>8,w[M++]=255&A;M=0,O()}function N(){if(null==B){for(O(),(B=new L).init(w),M=0;M0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var a=i.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==a)throw new Error(s[a]);if(e.header&&i.deflateSetHeader(this.strm,e.header),e.dictionary){var d;if(d="string"==typeof e.dictionary?r.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(a=i.deflateSetDictionary(this.strm,d)))throw new Error(s[a]);this._dict_set=!0}}function d(t,e){var a=new l(e);if(a.push(t,!0),a.err)throw a.msg||s[a.err];return a.result}l.prototype.push=function(t,e){var a,s,o=this.strm,l=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=r.string2buf(t):"[object ArrayBuffer]"===h.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(l),o.next_out=0,o.avail_out=l),1!==(a=i.deflate(o,s))&&0!==a)return this.onEnd(a),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==a);return 4===s?(a=i.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,0===a):2!==s||(this.onEnd(0),o.avail_out=0,!0)},l.prototype.onData=function(t){this.chunks.push(t)},l.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=l,e.deflate=d,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,d(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,d(t,e)}},105:function(t,e,a){"use strict";var i,n=a(18),r=a(106),s=a(60),o=a(61),h=a(49);function l(t,e){return t.msg=h[e],e}function d(t){return(t<<1)-(t>4?9:0)}function _(t){for(var e=t.length;--e>=0;)t[e]=0}function f(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(n.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function u(t,e){r._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,f(t.strm)}function c(t,e){t.pending_buf[t.pending++]=e}function w(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function g(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,l=t.window,d=t.w_mask,_=t.prev,f=t.strstart+258,u=l[r+s-1],c=l[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(l[(a=e)+s]===c&&l[a+s-1]===u&&l[a]===l[r]&&l[++a]===l[r+1]){r+=2,a++;do{}while(l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&rs){if(t.match_start=e,s=i,i>=o)break;u=l[r+s-1],c=l[r+s]}}}while((e=_[e&d])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead}function b(t){var e,a,i,r,h,l,d,_,f,u,c=t.w_size;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=c+(c-262)){n.arraySet(t.window,t.window,c,c,0),t.match_start-=c,t.strstart-=c,t.block_start-=c,e=a=t.hash_size;do{i=t.head[--e],t.head[e]=i>=c?i-c:0}while(--a);e=a=c;do{i=t.prev[--e],t.prev[e]=i>=c?i-c:0}while(--a);r+=c}if(0===t.strm.avail_in)break;if(l=t.strm,d=t.window,_=t.strstart+t.lookahead,f=r,u=void 0,(u=l.avail_in)>f&&(u=f),a=0===u?0:(l.avail_in-=u,n.arraySet(d,l.input,l.next_in,u,_),1===l.state.wrap?l.adler=s(l.adler,d,u,_):2===l.state.wrap&&(l.adler=o(l.adler,d,u,_)),l.next_in+=u,l.total_in+=u,u),t.lookahead+=a,t.lookahead+t.insert>=3)for(h=t.strstart-t.insert,t.ins_h=t.window[h],t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<=3)if(i=r._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=r._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<15&&(o=2,i-=16),r<1||r>9||8!==a||i<8||i>15||e<0||e>9||s<0||s>4)return l(t,-2);8===i&&(i=9);var h=new k;return t.state=h,h.strm=t,h.wrap=o,h.gzhead=null,h.w_bits=i,h.w_size=1<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(b(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,u(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(u(t,!1),t.strm.avail_out),1)})),new v(4,4,8,4,p),new v(4,5,16,8,p),new v(4,6,32,32,p),new v(4,4,16,16,m),new v(8,16,32,32,m),new v(8,16,128,128,m),new v(8,32,128,256,m),new v(32,128,258,1024,m),new v(32,258,258,4096,m)],e.deflateInit=function(t,e){return z(t,e,8,15,8,0)},e.deflateInit2=z,e.deflateReset=x,e.deflateResetKeep=y,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?-2:(t.state.gzhead=e,0):-2},e.deflate=function(t,e){var a,n,s,h;if(!t||!t.state||e>5||e<0)return t?l(t,-2):-2;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||666===n.status&&4!==e)return l(t,0===t.avail_out?-5:-2);if(n.strm=t,a=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,c(n,31),c(n,139),c(n,8),n.gzhead?(c(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),c(n,255&n.gzhead.time),c(n,n.gzhead.time>>8&255),c(n,n.gzhead.time>>16&255),c(n,n.gzhead.time>>24&255),c(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),c(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(c(n,255&n.gzhead.extra.length),c(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=o(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(c(n,0),c(n,0),c(n,0),c(n,0),c(n,0),c(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),c(n,3),n.status=113);else{var g=8+(n.w_bits-8<<4)<<8;g|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(g|=32),g+=31-g%31,n.status=113,w(n,g),0!==n.strstart&&(w(n,t.adler>>>16),w(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending!==n.pending_buf_size));)c(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindexs&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===h&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindexs&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===h&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&f(t),n.pending+2<=n.pending_buf_size&&(c(n,255&t.adler),c(n,t.adler>>8&255),t.adler=0,n.status=113)):n.status=113),0!==n.pending){if(f(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&d(e)<=d(a)&&4!==e)return l(t,-5);if(666===n.status&&0!==t.avail_in)return l(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&666!==n.status){var p=2===n.strategy?function(t,e){for(var a;;){if(0===t.lookahead&&(b(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,a=r._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(u(t,!1),0===t.strm.avail_out)?1:2}(n,e):3===n.strategy?function(t,e){for(var a,i,n,s,o=t.window;;){if(t.lookahead<=258){if(b(t),t.lookahead<=258&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=o[n=t.strstart-1])===o[++n]&&i===o[++n]&&i===o[++n]){s=t.strstart+258;do{}while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=r._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=r._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(u(t,!1),0===t.strm.avail_out)?1:2}(n,e):i[n.level].func(n,e);if(3!==p&&4!==p||(n.status=666),1===p||3===p)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===p&&(1===e?r._tr_align(n):5!==e&&(r._tr_stored_block(n,0,0,!1),3===e&&(_(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),f(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(c(n,255&t.adler),c(n,t.adler>>8&255),c(n,t.adler>>16&255),c(n,t.adler>>24&255),c(n,255&t.total_in),c(n,t.total_in>>8&255),c(n,t.total_in>>16&255),c(n,t.total_in>>24&255)):(w(n,t.adler>>>16),w(n,65535&t.adler)),f(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?l(t,-2):(t.state=null,113===e?l(t,-3):0):-2},e.deflateSetDictionary=function(t,e){var a,i,r,o,h,l,d,f,u=e.length;if(!t||!t.state)return-2;if(2===(o=(a=t.state).wrap)||1===o&&42!==a.status||a.lookahead)return-2;for(1===o&&(t.adler=s(t.adler,e,u,0)),a.wrap=0,u>=a.w_size&&(0===o&&(_(a.head),a.strstart=0,a.block_start=0,a.insert=0),f=new n.Buf8(a.w_size),n.arraySet(f,e,u-a.w_size,a.w_size,0),e=f,u=a.w_size),h=t.avail_in,l=t.next_in,d=t.input,t.avail_in=u,t.next_in=0,t.input=e,b(a);a.lookahead>=3;){i=a.strstart,r=a.lookahead-2;do{a.ins_h=(a.ins_h<=0;)t[e]=0}var r=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],s=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],h=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],l=new Array(576);n(l);var d=new Array(60);n(d);var _=new Array(512);n(_);var f=new Array(256);n(f);var u=new Array(29);n(u);var c,w,g,b=new Array(30);function p(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function m(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function v(t){return t<256?_[t]:_[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function y(t,e,a){t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function B(t,e,a){var i,n,r=new Array(16),s=0;for(i=1;i<=15;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=z(r[o]++,o))}}function S(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function E(t){t.bi_valid>8?k(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function A(t,e,a,i){var n=2*e,r=2*a;return t[n]>1;a>=1;a--)Z(t,r,a);n=h;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Z(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,Z(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a,i,n,r,s,o,h=e.dyn_tree,l=e.max_code,d=e.stat_desc.static_tree,_=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,w=0;for(r=0;r<=15;r++)t.bl_count[r]=0;for(h[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<573;a++)(r=h[2*h[2*(i=t.heap[a])+1]+1]+1)>c&&(r=c,w++),h[2*i+1]=r,i>l||(t.bl_count[r]++,s=0,i>=u&&(s=f[i-u]),o=h[2*i],t.opt_len+=o*(r+s),_&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==w){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,w-=2}while(w>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)(n=t.heap[--a])>l||(h[2*n+1]!==r&&(t.opt_len+=(r-h[2*n+1])*h[2*n],h[2*n+1]=r),i--)}}(t,e),B(r,l,t.bl_count)}function N(t,e,a){var i,n,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o>=7;i<30;i++)for(b[i]=n<<7,t=0;t<1<0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),C(t,t.l_desc),C(t,t.d_desc),s=function(t){var e;for(N(t,t.dyn_ltree,t.l_desc.max_code),N(t,t.dyn_dtree,t.d_desc.max_code),C(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(r=t.static_len+3+7>>>3)<=n&&(n=r)):n=r=a+5,a+4<=n&&-1!==e?D(t,e,a,i):4===t.strategy||r===n?(y(t,2+(i?1:0),3),R(t,l,d)):(y(t,4+(i?1:0),3),function(t,e,a,i){var n;for(y(t,e-257,5),y(t,a-1,5),y(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(f[a]+256+1)]++,t.dyn_dtree[2*v(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){y(t,2,3),x(t,256,l),function(t){16===t.bi_valid?(k(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},107:function(t,e,a){"use strict";var i=a(108),n=a(18),r=a(62),s=a(64),o=a(49),h=a(63),l=a(111),d=Object.prototype.toString;function _(t){if(!(this instanceof _))return new _(t);this.options=n.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var a=i.inflateInit2(this.strm,e.windowBits);if(a!==s.Z_OK)throw new Error(o[a]);if(this.header=new l,i.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=r.string2buf(e.dictionary):"[object ArrayBuffer]"===d.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=i.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[a])}function f(t,e){var a=new _(e);if(a.push(t,!0),a.err)throw a.msg||o[a.err];return a.result}_.prototype.push=function(t,e){var a,o,h,l,_,f=this.strm,u=this.options.chunkSize,c=this.options.dictionary,w=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?f.input=r.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new n.Buf8(u),f.next_out=0,f.avail_out=u),(a=i.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&c&&(a=i.inflateSetDictionary(this.strm,c)),a===s.Z_BUF_ERROR&&!0===w&&(a=s.Z_OK,w=!1),a!==s.Z_STREAM_END&&a!==s.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&a!==s.Z_STREAM_END&&(0!==f.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(h=r.utf8border(f.output,f.next_out),l=f.next_out-h,_=r.buf2string(f.output,h),f.next_out=l,f.avail_out=u-l,l&&n.arraySet(f.output,f.output,h,l,0),this.onData(_)):this.onData(n.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(w=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==s.Z_STREAM_END);return a===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(a=i.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},_.prototype.onData=function(t){this.chunks.push(t)},_.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=_,e.inflate=f,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},e.ungzip=f},108:function(t,e,a){"use strict";var i=a(18),n=a(60),r=a(61),s=a(109),o=a(110);function h(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function l(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new i.Buf32(852),e.distcode=e.distdyn=new i.Buf32(592),e.sane=1,e.back=-1,0):-2}function _(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,d(t)):-2}function f(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?-2:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,_(t))):-2}function u(t,e){var a,i;return t?(i=new l,t.state=i,i.window=null,0!==(a=f(t,e))&&(t.state=null),a):-2}var c,w,g=!0;function b(t){if(g){var e;for(c=new i.Buf32(512),w=new i.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,c,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,w,0,t.work,{bits:5}),g=!1}t.lencode=c,t.lenbits=9,t.distcode=w,t.distbits=5}function p(t,e,a,n){var r,s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(i.arraySet(s.window,e,a-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>n&&(r=n),i.arraySet(s.window,e,a-n,r,s.wnext),(n-=r)?(i.arraySet(s.window,e,a-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,a.check=r(a.check,D,2,0),w=0,g=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&w)<<8)+(w>>8))%31){t.msg="incorrect header check",a.mode=30;break}if(8!=(15&w)){t.msg="unknown compression method",a.mode=30;break}if(g-=4,R=8+(15&(w>>>=4)),0===a.wbits)a.wbits=R;else if(R>a.wbits){t.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(D[0]=255&w,D[1]=w>>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0,a.mode=3;case 3:for(;g<32;){if(0===u)break t;u--,w+=l[_++]<>>8&255,D[2]=w>>>16&255,D[3]=w>>>24&255,a.check=r(a.check,D,4,0)),w=0,g=0,a.mode=4;case 4:for(;g<16;){if(0===u)break t;u--,w+=l[_++]<>8),512&a.flags&&(D[0]=255&w,D[1]=w>>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0,a.mode=5;case 5:if(1024&a.flags){for(;g<16;){if(0===u)break t;u--,w+=l[_++]<>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&((k=a.length)>u&&(k=u),k&&(a.head&&(R=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),i.arraySet(a.head.extra,l,_,k,R)),512&a.flags&&(a.check=r(a.check,l,k,_)),u-=k,_+=k,a.length-=k),a.length))break t;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===u)break t;k=0;do{R=l[_+k++],a.head&&R&&a.length<65536&&(a.head.name+=String.fromCharCode(R))}while(R&&k>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=12;break;case 10:for(;g<32;){if(0===u)break t;u--,w+=l[_++]<>>=7&g,g-=7&g,a.mode=27;break}for(;g<3;){if(0===u)break t;u--,w+=l[_++]<>>=1)){case 0:a.mode=14;break;case 1:if(b(a),a.mode=20,6===e){w>>>=2,g-=2;break t}break;case 2:a.mode=17;break;case 3:t.msg="invalid block type",a.mode=30}w>>>=2,g-=2;break;case 14:for(w>>>=7&g,g-=7&g;g<32;){if(0===u)break t;u--,w+=l[_++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&w,w=0,g=0,a.mode=15,6===e)break t;case 15:a.mode=16;case 16:if(k=a.length){if(k>u&&(k=u),k>c&&(k=c),0===k)break t;i.arraySet(d,l,_,k,f),u-=k,_+=k,c-=k,f+=k,a.length-=k;break}a.mode=12;break;case 17:for(;g<14;){if(0===u)break t;u--,w+=l[_++]<>>=5,g-=5,a.ndist=1+(31&w),w>>>=5,g-=5,a.ncode=4+(15&w),w>>>=4,g-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=30;break}a.have=0,a.mode=18;case 18:for(;a.have>>=3,g-=3}for(;a.have<19;)a.lens[U[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,N={bits:a.lenbits},C=o(0,a.lens,0,19,a.lencode,0,a.work,N),a.lenbits=N.bits,C){t.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=z,g-=z,a.lens[a.have++]=S;else{if(16===S){for(I=z+2;g>>=z,g-=z,0===a.have){t.msg="invalid bit length repeat",a.mode=30;break}R=a.lens[a.have-1],k=3+(3&w),w>>>=2,g-=2}else if(17===S){for(I=z+3;g>>=z)),w>>>=3,g-=3}else{for(I=z+7;g>>=z)),w>>>=7,g-=7}if(a.have+k>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=30;break}for(;k--;)a.lens[a.have++]=R}}if(30===a.mode)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,N={bits:a.lenbits},C=o(1,a.lens,0,a.nlen,a.lencode,0,a.work,N),a.lenbits=N.bits,C){t.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,N={bits:a.distbits},C=o(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,N),a.distbits=N.bits,C){t.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===e)break t;case 20:a.mode=21;case 21:if(u>=6&&c>=258){t.next_out=f,t.avail_out=c,t.next_in=_,t.avail_in=u,a.hold=w,a.bits=g,s(t,v),f=t.next_out,d=t.output,c=t.avail_out,_=t.next_in,l=t.input,u=t.avail_in,w=a.hold,g=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;B=(O=a.lencode[w&(1<>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>E)])>>>16&255,S=65535&O,!(E+(z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=E,g-=E,a.back+=E}if(w>>>=z,g-=z,a.back+=z,a.length=S,0===B){a.mode=26;break}if(32&B){a.back=-1,a.mode=12;break}if(64&B){t.msg="invalid literal/length code",a.mode=30;break}a.extra=15&B,a.mode=22;case 22:if(a.extra){for(I=a.extra;g>>=a.extra,g-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;B=(O=a.distcode[w&(1<>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>E)])>>>16&255,S=65535&O,!(E+(z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=E,g-=E,a.back+=E}if(w>>>=z,g-=z,a.back+=z,64&B){t.msg="invalid distance code",a.mode=30;break}a.offset=S,a.extra=15&B,a.mode=24;case 24:if(a.extra){for(I=a.extra;g>>=a.extra,g-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===c)break t;if(k=v-c,a.offset>k){if((k=a.offset-k)>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=30;break}k>a.wnext?(k-=a.wnext,y=a.wsize-k):y=a.wnext-k,k>a.length&&(k=a.length),x=a.window}else x=d,y=f-a.offset,k=a.length;k>c&&(k=c),c-=k,a.length-=k;do{d[f++]=x[y++]}while(--k);0===a.length&&(a.mode=21);break;case 26:if(0===c)break t;d[f++]=a.length,c--,a.mode=21;break;case 27:if(a.wrap){for(;g<32;){if(0===u)break t;u--,w|=l[_++]<>>=v=m>>>24,c-=v,0===(v=m>>>16&255))S[r++]=65535&m;else{if(!(16&v)){if(0==(64&v)){m=w[(65535&m)+(u&(1<>>=v,c-=v),c<15&&(u+=B[i++]<>>=v=m>>>24,c-=v,!(16&(v=m>>>16&255))){if(0==(64&v)){m=g[(65535&m)+(u&(1<h){t.msg="invalid distance too far back",a.mode=30;break t}if(u>>>=v,c-=v,y>(v=r-s)){if((v=y-v)>d&&a.sane){t.msg="invalid distance too far back",a.mode=30;break t}if(x=0,z=f,0===_){if(x+=l-v,v2;)S[r++]=z[x++],S[r++]=z[x++],S[r++]=z[x++],k-=3;k&&(S[r++]=z[x++],k>1&&(S[r++]=z[x++]))}else{x=r-y;do{S[r++]=S[x++],S[r++]=S[x++],S[r++]=S[x++],k-=3}while(k>2);k&&(S[r++]=S[x++],k>1&&(S[r++]=S[x++]))}break}}break}}while(i>3,u&=(1<<(c-=k<<3))-1,t.next_in=i,t.next_out=r,t.avail_in=i=1&&0===D[S];S--);if(E>S&&(E=S),0===S)return l[d++]=20971520,l[d++]=20971520,f.bits=1,0;for(B=1;B0&&(0===t||1!==S))return-1;for(U[1]=0,x=1;x<15;x++)U[x+1]=U[x]+D[x];for(z=0;z852||2===t&&C>592)return 1;for(;;){m=x-Z,_[z]p?(v=T[F+_[z]],k=I[O+_[z]]):(v=96,k=0),u=1<>Z)+(c-=u)]=m<<24|v<<16|k|0}while(0!==c);for(u=1<>=1;if(0!==u?(N&=u-1,N+=u):N=0,z++,0==--D[x]){if(x===S)break;x=e[a+_[z]]}if(x>E&&(N&g)!==w){for(0===Z&&(Z=E),b+=B,R=1<<(A=x-Z);A+Z852||2===t&&C>592)return 1;l[w=N&g]=E<<24|A<<16|b-d|0}}return 0!==N&&(l[b+N]=x-Z<<24|64<<16|0),f.bits=E,0}},111:function(t,e,a){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},18:function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)n(a,i)&&(t[i]=a[i])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var r={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(a,a+i),n);else for(var r=0;r>>16&65535|0,s=0;0!==a;){a-=s=a>2e3?2e3:a;do{r=r+(n=n+e[i++]|0)|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}},61:function(t,e,a){"use strict";var i=function(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}();t.exports=function(t,e,a,n){var r=i,s=n+a;t^=-1;for(var o=n;o>>8^r[255&(t^e[o])];return-1^t}},62:function(t,e,a){"use strict";var i=a(18),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){r=!1}for(var s=new i.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function h(t,e){if(e<65534&&(t.subarray&&r||!t.subarray&&n))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var a="",s=0;s>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},e.buf2binstring=function(t){return h(t,t.length)},e.binstring2buf=function(t){for(var e=new i.Buf8(t.length),a=0,n=e.length;a4)l[i++]=65533,a+=r-1;else{for(n&=2===r?31:3===r?15:7;r>1&&a1?l[i++]=65533:n<65536?l[i++]=n:(n-=65536,l[i++]=55296|n>>10&1023,l[i++]=56320|1023&n)}return h(l,i)},e.utf8border=function(t,e){var a;for((e=e||t.length)>t.length&&(e=t.length),a=e-1;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+s[t[a]]>e?a:e}},63:function(t,e,a){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},64:function(t,e,a){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}}]); \ No newline at end of file diff --git a/public/t/recorder.min.js b/public/t/recorder.min.js new file mode 100644 index 00000000..a28275fe --- /dev/null +++ b/public/t/recorder.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Recorder=t():e.Recorder=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function o(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(i,n,function(t){return e[t]}.bind(null,n));return i},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";(function(t){var o=t.AudioContext||t.webkitAudioContext,i=function(e){if(!i.isRecordingSupported())throw new Error("Recording is not supported in this browser");e||(e={}),this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,reuseWorker:!1,wavBitDepth:16},e),this.encodedSamplePosition=0};i.isRecordingSupported=function(){return o&&t.navigator&&t.navigator.mediaDevices&&t.navigator.mediaDevices.getUserMedia&&t.WebAssembly},i.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach((function(e){e.stop()})):this.stream.stop(),delete this.stream),this.audioContext&&this.closeAudioContext&&(this.audioContext.close(),delete this.audioContext)},i.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],o=0;o{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,o)=>{var i=o=>{switch(o.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=o.data.samplePosition,e(o.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,o)=>{var i=o=>{"flushed"===o.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var o=i=>{"done"===i.data.message&&(e.removeEventListener("message",o),t())};e.addEventListener("message",o),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,o){return e.set(o,t),t+o.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,o(1))},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o}])})); \ No newline at end of file diff --git a/public/t/rlottie-wasm.js b/public/t/rlottie-wasm.js new file mode 100644 index 00000000..773ad1ab --- /dev/null +++ b/public/t/rlottie-wasm.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":522,"maximum":522+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5275232,DYNAMICTOP_PTR=32192;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="rlottie-wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function __ZN7VRegionC1ERK5VRect(){err("missing function: _ZN7VRegionC1ERK5VRect");abort(-1)}function __ZN7VRegionD1Ev(){err("missing function: _ZN7VRegionD1Ev");abort(-1)}function __ZN7VRegionpLERK5VRect(){err("missing function: _ZN7VRegionpLERK5VRect");abort(-1)}function __ZNK7VRegion12boundingRectEv(){err("missing function: _ZNK7VRegion12boundingRectEv");abort(-1)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___map_file(pathname,size){setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){abort()}var setjmpId=0;function _saveSetjmp(env,label,table,size){env=env|0;label=label|0;table=table|0;size=size|0;var i=0;setjmpId=setjmpId+1|0;HEAP32[env>>2]=setjmpId;while((i|0)<(size|0)){if((HEAP32[table+(i<<3)>>2]|0)==0){HEAP32[table+(i<<3)>>2]=setjmpId;HEAP32[table+((i<<3)+4)>>2]=label;HEAP32[table+((i<<3)+8)>>2]=0;setTempRet0(size|0);return table|0}i=i+1|0}size=size*2|0;table=_realloc(table|0,8*(size+1|0)|0)|0;table=_saveSetjmp(env|0,label|0,table|0,size|0)|0;setTempRet0(size|0);return table|0}function _testSetjmp(id,table,size){id=id|0;table=table|0;size=size|0;var i=0,curr=0;while((i|0)<(size|0)){curr=HEAP32[table+(i<<3)>>2]|0;if((curr|0)==0)break;if((curr|0)==(id|0)){return HEAP32[table+((i<<3)+4)>>2]|0}i=i+1|0}return 0}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _getTempRet0(){return getTempRet0()|0}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _setTempRet0($i){setTempRet0($i|0)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"o":__ZN7VRegionC1ERK5VRect,"m":__ZN7VRegionD1Ev,"n":__ZN7VRegionpLERK5VRect,"x":__ZNK7VRegion12boundingRectEv,"a":___assert_fail,"u":___map_file,"h":___sys_fcntl64,"z":___sys_ioctl,"t":___sys_munmap,"A":___sys_open,"d":_abort,"c":_emscripten_longjmp,"q":_emscripten_memcpy_big,"r":_emscripten_resize_heap,"v":_environ_get,"w":_environ_sizes_get,"g":_fd_close,"y":_fd_read,"p":_fd_seek,"f":_fd_write,"b":_getTempRet0,"k":invoke_iii,"B":invoke_vi,"memory":wasmMemory,"i":_round,"l":_saveSetjmp,"j":_setTempRet0,"s":_strftime_l,"table":wasmTable,"e":_testSetjmp};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["C"]).apply(null,arguments)};var _lottie_init=Module["_lottie_init"]=function(){return(_lottie_init=Module["_lottie_init"]=Module["asm"]["D"]).apply(null,arguments)};var _lottie_resize=Module["_lottie_resize"]=function(){return(_lottie_resize=Module["_lottie_resize"]=Module["asm"]["E"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["F"]).apply(null,arguments)};var _lottie_load_from_data=Module["_lottie_load_from_data"]=function(){return(_lottie_load_from_data=Module["_lottie_load_from_data"]=Module["asm"]["G"]).apply(null,arguments)};var _lottie_buffer=Module["_lottie_buffer"]=function(){return(_lottie_buffer=Module["_lottie_buffer"]=Module["asm"]["H"]).apply(null,arguments)};var _lottie_destroy=Module["_lottie_destroy"]=function(){return(_lottie_destroy=Module["_lottie_destroy"]=Module["asm"]["I"]).apply(null,arguments)};var _lottie_render=Module["_lottie_render"]=function(){return(_lottie_render=Module["_lottie_render"]=Module["asm"]["J"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["K"]).apply(null,arguments)};var _realloc=Module["_realloc"]=function(){return(_realloc=Module["_realloc"]=Module["asm"]["L"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["M"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["N"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["O"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["P"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Q"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["R"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["T"]).apply(null,arguments)};function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["asm"]=asm;Module["intArrayFromString"]=intArrayFromString;Module["cwrap"]=cwrap;Module["allocate"]=allocate;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t/rlottie-wasm.wasm b/public/t/rlottie-wasm.wasm new file mode 100644 index 00000000..7f299645 Binary files /dev/null and b/public/t/rlottie-wasm.wasm differ diff --git a/public/t/rlottie.worker.js b/public/t/rlottie.worker.js new file mode 100644 index 00000000..d7d2600a --- /dev/null +++ b/public/t/rlottie.worker.js @@ -0,0 +1,182 @@ +importScripts('rlottie-wasm.js'); + +function RLottieItem(reqId, jsString, width, height, fps) { + this.stringOnWasmHeap = null; + this.handle = null; + this.frameCount = 0; + + this.reqId = reqId; + this.width = width; + this.height = height; + this.fps = Math.max(1, Math.min(60, fps || 60)); + + this.dead = false; + + this.init(jsString, width, height); + + reply('loaded', this.reqId, this.frameCount, this.fps); +} + +RLottieItem.prototype.init = function(jsString) { + try { + this.handle = RLottieWorker.Api.init(); + + this.stringOnWasmHeap = allocate(intArrayFromString(jsString), 'i8', 0); + + this.frameCount = RLottieWorker.Api.loadFromData(this.handle, this.stringOnWasmHeap); + + RLottieWorker.Api.resize(this.handle, this.width, this.height); + } catch(e) { + console.error('init RLottieItem error:', e); + } +}; + +RLottieItem.prototype.render = function(frameNo, clamped) { + if(this.dead) return; + //return; + + if(this.frameCount < frameNo || frameNo < 0) { + return; + } + + try { + RLottieWorker.Api.render(this.handle, frameNo); + + var bufferPointer = RLottieWorker.Api.buffer(this.handle); + + var data = Module.HEAPU8.subarray(bufferPointer, bufferPointer + (this.width * this.height * 4)); + + if(!clamped) { + clamped = new Uint8ClampedArray(data); + } else { + clamped.set(data); + } + + reply('frame', this.reqId, frameNo, clamped); + } catch(e) { + console.error('Render error:', e); + this.dead = true; + } +}; + +RLottieItem.prototype.destroy = function() { + this.dead = true; + + RLottieWorker.Api.destroy(this.handle); +}; + +var RLottieWorker = (function() { + var worker = {}; + worker.Api = {}; + //worker.lottieHandle = null; + + function initApi() { + worker.Api = { + init: Module.cwrap('lottie_init', '', []), + destroy: Module.cwrap('lottie_destroy', '', ['number']), + resize: Module.cwrap('lottie_resize', '', ['number', 'number', 'number']), + buffer: Module.cwrap('lottie_buffer', 'number', ['number']), + render: Module.cwrap('lottie_render', '', ['number', 'number']), + loadFromData: Module.cwrap('lottie_load_from_data', 'number', ['number', 'number']), + }; + } + + worker.init = function() { + initApi(); + reply('ready'); + }; + + return worker; +}()); + +Module.onRuntimeInitialized = function() { + RLottieWorker.init(); +}; + +var items = {}; +var queryableFunctions = { + loadFromData: function(reqId, jsString, width, height) { + try { + var json_parsed = jsString;//JSON.parse(jsString); + if(!json_parsed.tgs) { + throw new Error('Invalid file'); + } + + items[reqId] = new RLottieItem(reqId, JSON.stringify(jsString), width, height, json_parsed.fr); + } catch(e) {} + }, + destroy: function(reqId) { + items[reqId].destroy(); + delete items[reqId]; + }, + renderFrame: function(reqId, frameNo, clamped) { + //console.log('worker renderFrame', reqId, frameNo, clamped); + items[reqId].render(frameNo, clamped); + } +}; + +function defaultReply(message) { + // your default PUBLIC function executed only when main page calls the queryableWorker.postMessage() method directly + // do something +} + +/** + * Returns true when run in WebKit derived browsers. + * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to + * transfer data between WebWorkers and the main thread. + * https://github.com/mapbox/mapbox-gl-js/issues/8771 + * + * This should be removed once the underlying Safari issue is fixed. + * + * @private + * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context, + * let the calling scope pass in the global scope object. + * @returns {boolean} + */ +var _isSafari = null; +function isSafari(scope) { + if(_isSafari == null) { + var userAgent = scope.navigator ? scope.navigator.userAgent : null; + _isSafari = !!scope.safari || + !!(userAgent && (/\b(iPad|iPhone|iPod)\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome')))); + } + return _isSafari; +} + +function reply() { + if(arguments.length < 1) { + throw new TypeError('reply - not enough arguments'); + } + + //if(arguments[0] == 'frame') return; + + var args = Array.prototype.slice.call(arguments, 1); + if(isSafari(self)) { + postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': args }); + } else { + var transfer = []; + for(var i = 0; i < args.length; i++) { + if(args[i] instanceof ArrayBuffer) { + transfer.push(args[i]); + } + + if(args[i].buffer && args[i].buffer instanceof ArrayBuffer) { + transfer.push(args[i].buffer); + //args[i] = args[i].buffer; + } + } + + postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': args }, transfer); + } + + //postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': Array.prototype.slice.call(arguments, 1) }); + //console.error(transfer, args); +} + +onmessage = function(oEvent) { + if(oEvent.data instanceof Object && oEvent.data.hasOwnProperty('queryMethod') && oEvent.data.hasOwnProperty('queryMethodArguments')) { + queryableFunctions[oEvent.data.queryMethod].apply(self, oEvent.data.queryMethodArguments); + } else { + defaultReply(oEvent.data); + } +}; diff --git a/public/t/sw.js b/public/t/sw.js new file mode 100644 index 00000000..a428e5e2 --- /dev/null +++ b/public/t/sw.js @@ -0,0 +1,9 @@ +var serviceWorkerOption = {"assets":[]}; + + !function(t){var e={};function r(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(i,o,function(e){return t[e]}.bind(null,o));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){(function(){var e;function r(t,e,r){null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function i(){return new r(null)}var o="undefined"!=typeof navigator;o&&"Microsoft Internet Explorer"==navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(var s=32767&e,h=e>>15;--n>=0;){var u=32767&this[t],a=this[t++]>>15,f=h*u+a*s;o=((u=s*u+((32767&f)<<15)+r[i]+(1073741823&o))>>>30)+(f>>>15)+h*a+(o>>>30),r[i++]=1073741823&u}return o},e=30):o&&"Netscape"!=navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(;--n>=0;){var s=e*this[t++]+r[i]+o;o=Math.floor(s/67108864),r[i++]=67108863&s}return o},e=26):(r.prototype.am=function(t,e,r,i,o,n){for(var s=16383&e,h=e>>14;--n>=0;){var u=16383&this[t],a=this[t++]>>14,f=h*u+a*s;o=((u=s*u+((16383&f)<<14)+r[i]+o)>>28)+(f>>14)+h*a,r[i++]=268435455&u}return o},e=28),r.prototype.DB=e,r.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function p(t){this.m=t}function l(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function b(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function T(){}function S(t){return t}function w(t){this.r2=i(),this.q3=i(),r.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}p.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},p.prototype.revert=function(t){return t},p.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},p.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},p.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},l.prototype.convert=function(t){var e=i();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(r.ZERO)>0&&this.m.subTo(e,e),e},l.prototype.revert=function(t){var e=i();return t.copyTo(e),this.reduce(e),e},l.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,i,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},l.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},l.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},r.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},r.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},r.prototype.fromString=function(t,e){var i;if(16==e)i=4;else if(8==e)i=3;else if(256==e)i=8;else if(2==e)i=1;else if(32==e)i=5;else{if(4!=e)return void this.fromRadix(t,e);i=2}this.t=0,this.s=0;for(var o=t.length,n=!1,s=0;--o>=0;){var h=8==i?255&t[o]:a(t,o);h<0?"-"==t.charAt(o)&&(n=!0):(n=!1,0==s?this[this.t++]=h:s+i>this.DB?(this[this.t-1]|=(h&(1<>this.DB-s):this[this.t-1]|=h<=this.DB&&(s-=this.DB))}8==i&&0!=(128&t[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},r.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},r.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>o|h,h=(this[r]&n)<=0;--r)e[r]=0;e[s]=h,e.t=this.t+s+1,e.s=this.s,e.clamp()},r.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var i=t%this.DB,o=this.DB-i,n=(1<>i;for(var s=r+1;s>i;i>0&&(e[this.t-r-1]|=(this.s&n)<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i-=t.s}e.s=i<0?-1:0,i<-1?e[r++]=this.DV+i:i>0&&(e[r++]=i),e.t=r,e.clamp()},r.prototype.multiplyTo=function(t,e){var i=this.abs(),o=t.abs(),n=i.t;for(e.t=n+o.t;--n>=0;)e[n]=0;for(n=0;n=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},r.prototype.divRemTo=function(t,e,o){var n=t.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(f,h),s.lShiftTo(f,o)):(n.copyTo(h),s.copyTo(o));var p=h.t,l=h[p-1];if(0!=l){var y=l*(1<1?h[p-2]>>this.F2:0),d=this.FV/y,m=(1<=0&&(o[o.t++]=1,o.subTo(T,o)),r.ONE.dlShiftTo(p,T),T.subTo(h,h);h.t=0;){var S=o[--g]==l?this.DM:Math.floor(o[g]*d+(o[g-1]+v)*m);if((o[g]+=h.am(0,S,o,b,0,p))0&&o.rShiftTo(f,o),u<0&&r.ZERO.subTo(o,o)}}},r.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},r.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},r.prototype.exp=function(t,e){if(t>4294967295||t<1)return r.ONE;var o=i(),n=i(),s=e.convert(this),h=c(t)-1;for(s.copyTo(o);--h>=0;)if(e.sqrTo(o,n),(t&1<0)e.mulTo(n,s,o);else{var u=o;o=n,n=u}return e.revert(o)},r.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,i=(1<0)for(h>h)>0&&(o=!0,n=u(r));s>=0;)h>(h+=this.DB-e)):(r=this[s]>>(h-=e)&i,h<=0&&(h+=this.DB,--s)),r>0&&(o=!0),o&&(n+=u(r));return o?n:"0"},r.prototype.negate=function(){var t=i();return r.ZERO.subTo(this,t),t},r.prototype.abs=function(){return this.s<0?this.negate():this},r.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+c(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(t){var e=i();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(r.ZERO)>0&&t.subTo(e,e),e},r.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new p(e):new l(e),this.exp(t,r)},r.ZERO=f(0),r.ONE=f(1),T.prototype.convert=S,T.prototype.revert=S,T.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},T.prototype.sqrTo=function(t,e){t.squareTo(e)},w.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=i();return t.copyTo(e),this.reduce(e),e},w.prototype.revert=function(t){return t},w.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},w.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},w.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var B,A,D,M=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/M[M.length-1];function E(){var t;t=(new Date).getTime(),A[D++]^=255&t,A[D++]^=t>>8&255,A[D++]^=t>>16&255,A[D++]^=t>>24&255,D>=C&&(D-=C)}if(r.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},r.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),o=f(r),n=i(),s=i(),h="";for(this.divRemTo(o,n,s);n.signum()>0;)h=(r+s.intValue()).toString(t).substr(1)+h,n.divRemTo(o,n,s);return s.intValue().toString(t)+h},r.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var i=this.chunkSize(e),o=Math.pow(e,i),n=!1,s=0,h=0,u=0;u=i&&(this.dMultiply(o),this.dAddOffset(h,0),s=0,h=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(h,0)),n&&r.ZERO.subTo(this,this)},r.prototype.fromNumber=function(t,e,i){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo(r.ONE.shiftLeft(t-1),d,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(r.ONE.shiftLeft(t-1),this);else{var o=new Array,n=7&t;o.length=1+(t>>3),e.nextBytes(o),n>0?o[0]&=(1<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i+=t.s}e.s=i<0?-1:0,i>0?e[r++]=i:i<-1&&(e[r++]=this.DV+i),e.t=r,e.clamp()},r.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},r.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},r.prototype.multiplyLowerTo=function(t,e,r){var i,o=Math.min(this.t+t.t,e);for(r.s=0,r.t=o;o>0;)r[--o]=0;for(i=r.t-this.t;o=0;)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r},r.prototype.millerRabin=function(t){var e=this.subtract(r.ONE),o=e.getLowestSetBit();if(o<=0)return!1;var n=e.shiftRight(o);(t=t+1>>1)>M.length&&(t=M.length);for(var s=i(),h=0;h>24},r.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,i=this.DB-t*this.DB%8,o=0;if(t-- >0)for(i>i)!=(this.s&this.DM)>>i&&(e[o++]=r|this.s<=0;)i<8?(r=(this[t]&(1<>(i+=this.DB-8)):(r=this[t]>>(i-=8)&255,i<=0&&(i+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==o&&(128&this.s)!=(128&r)&&++o,(o>0||r!=this.s)&&(e[o++]=r);return e},r.prototype.equals=function(t){return 0==this.compareTo(t)},r.prototype.min=function(t){return this.compareTo(t)<0?this:t},r.prototype.max=function(t){return this.compareTo(t)>0?this:t},r.prototype.and=function(t){var e=i();return this.bitwiseTo(t,y,e),e},r.prototype.or=function(t){var e=i();return this.bitwiseTo(t,d,e),e},r.prototype.xor=function(t){var e=i();return this.bitwiseTo(t,m,e),e},r.prototype.andNot=function(t){var e=i();return this.bitwiseTo(t,v,e),e},r.prototype.not=function(){for(var t=i(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var d=i();for(o.sqrTo(h[1],d);u<=y;)h[u]=i(),o.mulTo(d,h[u-2],h[u]),u+=2}var m,v,g=t.t-1,b=!0,T=i();for(n=c(t[g])-1;g>=0;){for(n>=a?m=t[g]>>n-a&y:(m=(t[g]&(1<0&&(m|=t[g-1]>>this.DB+n-a)),u=r;0==(1&m);)m>>=1,--u;if((n-=u)<0&&(n+=this.DB,--g),b)h[m].copyTo(s),b=!1;else{for(;u>1;)o.sqrTo(s,T),o.sqrTo(T,s),u-=2;u>0?o.sqrTo(s,T):(v=s,s=T,T=v),o.mulTo(T,h[m],s)}for(;g>=0&&0==(t[g]&1<=0?(i.subTo(o,i),e&&n.subTo(h,n),s.subTo(u,s)):(o.subTo(i,o),e&&h.subTo(n,h),u.subTo(s,u))}return 0!=o.compareTo(r.ONE)?r.ZERO:u.compareTo(t)>=0?u.subtract(t):u.signum()<0?(u.addTo(t,u),u.signum()<0?u.add(t):u):u},r.prototype.pow=function(t){return this.exp(t,new T)},r.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r,r=i}var o=e.getLowestSetBit(),n=r.getLowestSetBit();if(n<0)return e;for(o0&&(e.rShiftTo(n,e),r.rShiftTo(n,r));e.signum()>0;)(o=e.getLowestSetBit())>0&&e.rShiftTo(o,e),(o=r.getLowestSetBit())>0&&r.rShiftTo(o,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return n>0&&r.lShiftTo(n,r),r},r.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=M[M.length-1]){for(e=0;e>>8,A[D++]=255&L;D=0,E()}function x(){if(null==B){for(E(),(B=new F).init(A),D=0;D{const e=t.data,r=a[e.id];e.payload?r.resolve(e.payload):r.reject(),delete a[e.id]});let f=0;const c=t=>{try{const[,r,o,u]=/http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(t.request.url)||[];switch(h.debug("[fetch]:",t),o){case"stream":{const o=function(t){if(!t)return[0,0];const[,e]=t.split("="),r=e.split(", "),[i,o]=r[0].split("-");return[+i,+o||0]}(t.request.headers.get("Range"));let[c,p]=o;const y=JSON.parse(decodeURIComponent(u)),d=l;h.debug("[stream]",r,c,p),t.respondWith(Promise.race([(e=45e3,new Promise(t=>{setTimeout(()=>{t(new Response("",{status:408,statusText:"Request timed out."}))},e)})),new Promise((t,e)=>{const r=function(t,e,r){if(0===t[0]&&1===t[1])return new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":"bytes 0-1/"+(r||"*"),"Content-Length":"2","Content-Type":e||"video/mp4"}});return null}(o,y.mimeType,y.size);if(r)return t(r);const u=p&&p{let r=e.bytes;h.debug("[stream] requestFilePart result:",e);const o={"Accept-Ranges":"bytes","Content-Range":`bytes ${l}-${l+r.byteLength-1}/${y.size||"*"}`,"Content-Length":""+r.byteLength};y.mimeType&&(o["Content-Type"]=y.mimeType),i.isSafari&&(r=r.slice(c-l,p-l+1),o["Content-Range"]=`bytes ${c}-${c+r.byteLength-1}/${y.size||"*"}`,o["Content-Length"]=""+r.byteLength),t(new Response(r,{status:206,statusText:"Partial Content",headers:o}))}).catch(t=>{}),s.notifySomeone(m)})]));break}}}catch(e){t.respondWith(new Response("",{status:500,statusText:"Internal Server Error"}))}var e},p=()=>{u.onfetch=c};u.addEventListener("install",t=>{h("installing"),t.waitUntil(u.skipWaiting())}),u.addEventListener("activate",t=>{h("activating",u),t.waitUntil(u.clients.claim())}),u.onerror=t=>{h.error("error:",t)},u.onunhandledrejection=t=>{h.error("onunhandledrejection:",t)},u.onoffline=u.ononline=p,p();const l=524288},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSafari=e.isAppleMobile=e.isAndroid=e.isApple=e.userAgent=void 0,e.userAgent=navigator?navigator.userAgent:null,e.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),e.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;e.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,e.isSafari=!!("safari"in i)||!(!e.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(e.userAgent)||e.userAgent.match("Safari")&&!e.userAgent.match("Chrome")))},function(t,e,r){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.logger=e.LogLevels=void 0,function(t){t[t.log=1]="log",t[t.warn=2]="warn",t[t.error=4]="error",t[t.debug=8]="debug"}(i=e.LogLevels||(e.LogLevels={}));var o=Date.now();function n(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"}e.logger=function(t,e=i.log|i.warn|i.error){function r(...r){return e&i.log&&console.log(n(),"["+t+"]:",...r)}return e=i.error,r.warn=function(...r){return e&i.warn&&console.warn(n(),"["+t+"]:",...r)},r.info=function(...r){return e&i.log&&console.info(n(),"["+t+"]:",...r)},r.error=function(...r){return e&i.error&&console.error(n(),"["+t+"]:",...r)},r.trace=function(...r){return e&i.log&&console.trace(n(),"["+t+"]:",...r)},r.debug=function(...r){return e&i.debug&&console.debug(n(),"["+t+"]:",...r)},r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.deferredPromise=e.secureRandom=void 0;const i=r(5),o=r(0);e.secureRandom=new o.SecureRandom,e.deferredPromise=function(){let t={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...e)=>{t.lastNotify=e,t.listeners.forEach(t=>t(...e))},lastNotify:void 0,listeners:[],addNotifyListener:e=>{t.lastNotify&&e(...t.lastNotify),t.listeners.push(e)}},e=new Promise((r,i)=>{t.resolve=t=>{e.isFulfilled||(e.isFulfilled=!0,r(t))},t.reject=(...t)=>{e.isRejected||(e.isRejected=!0,i(...t))}});return e.finally(()=>{e.notify=null,e.listeners.length=0,e.lastNotify=null}),Object.assign(e,t),e},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(t){this.set(i.bytesFromHex(t))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return e.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...t){return i.bufferConcats(this,...t)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(t){for(var e=this.length-1;e>=0;--e)t(this[e],e,this)},Array.prototype.findAndSplice=function(t){let e=this.findIndex(t);return-1!==e?this.splice(e,1)[0]:void 0},String.prototype.toHHMMSS=function(t=!1){const e=parseInt(this+"",10),r=Math.floor(e/3600);let i=Math.floor((e-3600*r)/60),o=e-3600*r-60*i;return r&&(t=!0),i<10&&(i=t?"0"+i:i),o<10&&(o="0"+o),(r?r+":":"")+i+":"+o}},function(t,e,r){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(e,"__esModule",{value:!0}),e.getFileNameByLocation=e.nextRandomInt=e.addPadding=e.longFromInts=e.longToBytes=e.bytesToWordss=e.bytesFromWordss=e.bytesFromWords=e.longToInts=e.bufferConcats=e.bufferConcat=e.bytesFromArrayBuffer=e.convertToByteArray=e.convertToUint8Array=e.convertToArrayBuffer=e.bytesToArrayBuffer=e.bytesFromBigInt=e.bytesXor=e.bytesCmp=e.blobSafeMimeType=e.blobConstruct=e.dataUrlToBlob=e.base64ToBlob=e.uint6ToBase64=e.bytesToBase64=e.bytesFromHex=e.bytesToHex=e.bigStringInt=e.bigint=e.isObject=e.dT=void 0;const i=r(0);var o=Date.now();function n(t){return new i.BigInteger(t.toString(16),16)}function s(t){return new i.BigInteger(t,10)}function h(t){return t<26?t+65:t<52?t+71:t<62?t-4:62===t?43:63===t?47:65}function u(t,e){for(var r=atob(t),i=r.length,o=Math.ceil(i/1024),n=new Array(o),s=0;s{o.append(t)}),r=o.getBlob(i)}return r}function f(t){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(t)?"application/octet-stream":t}function c(t){return new Uint8Array(t).buffer}function p(t){return void 0!==t.buffer?t:new Uint8Array(t)}function l(t,e){var r=t.byteLength||t.length,i=e.byteLength||e.length,o=new Uint8Array(r+i);return o.set(t instanceof ArrayBuffer?new Uint8Array(t):t,0),o.set(e instanceof ArrayBuffer?new Uint8Array(e):e,r),o.buffer}function y(t){var e=s(t).divideAndRemainder(n(4294967296));return[e[0].intValue(),e[1].intValue()]}function d(t){for(var e=t.words,r=t.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255);return i}e.dT=function(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"},e.isObject=function(t){return"object"==typeof t&&null!==t},e.bigint=n,e.bigStringInt=s,e.bytesToHex=function(t){t=t||[];for(var e=[],r=0;r>>e&24),2!==e&&i-n!=1||(r+=String.fromCharCode(h(o>>>18&63),h(o>>>12&63),h(o>>>6&63),h(63&o)),o=0);return r.replace(/A(?=A$|$)/g,"=")},e.uint6ToBase64=h,e.base64ToBlob=u,e.dataUrlToBlob=function(t){var e=t.split(",");return u(e[1],e[0].split(":")[1].split(";")[0])},e.blobConstruct=a,e.blobSafeMimeType=f,e.bytesCmp=function(t,e){var r=t.length;if(r!=e.length)return!1;for(var i=0;ie);)r=r.slice(1);return r},e.bytesToArrayBuffer=c,e.convertToArrayBuffer=function(t){return t instanceof ArrayBuffer?t:void 0!==t.buffer&&t.buffer.byteLength==t.length*t.BYTES_PER_ELEMENT?t.buffer:c(t)},e.convertToUint8Array=p,e.convertToByteArray=function(t){if(Array.isArray(t))return t;for(var e=[],r=0,i=(t=p(t)).length;re+=t.byteLength||t.length);var r=new Uint8Array(e);let i=0;return t.forEach(t=>{r.set(t instanceof ArrayBuffer?new Uint8Array(t):t,i),i+=t.byteLength||t.length}),r},e.longToInts=y,e.bytesFromWords=d,e.bytesFromWordss=function(t){for(var e=[],r=0;r<4*t.length;r++)e.push(t[r>>>2]>>>24-r%4*8&255);return e},e.bytesToWordss=function(t){let e;e=t instanceof ArrayBuffer?new Uint8Array(t):t;var r,i=e.length,o=[];for(r=0;r>>2]|=e[r]<<24-r%4*8;return new Uint32Array(o)},e.longToBytes=function(t){return d({words:y(t),sigBytes:8}).reverse()},e.longFromInts=function(t,e){return n(t).shiftLeft(32).add(n(e)).toString(10)},e.addPadding=function(t,e=16,r,o=!1,n=!1){let s=e-(t.byteLength||t.length)%e;if(s>0&&(s{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(r=>{r.length&&r.slice(t?0:-1).forEach(t=>{t.postMessage(...e)})})},o=(...t)=>{self.postMessage(...t)},n=()=>{};e.notifySomeone=e.isServiceWorker?i.bind(null,!1):e.isWebWorker?o:n,e.notifyAll=e.isServiceWorker?i.bind(null,!0):e.isWebWorker?o:n}]); \ No newline at end of file diff --git a/public/t/waveWorker.min.js b/public/t/waveWorker.min.js new file mode 100644 index 00000000..12c54ec2 --- /dev/null +++ b/public/t/waveWorker.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.WaveWorker=t():e.WaveWorker=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";(function(t){var r;t.onmessage=function(e){switch(e.data.command){case"encode":r&&r.record(e.data.buffers);break;case"done":r&&(r.requestData(),r=null);break;case"close":t.close();break;case"init":r=new n(e.data),t.postMessage({message:"ready"})}};var n=function(e){if(!(e=Object.assign({wavBitDepth:16},e)).wavSampleRate)throw new Error("wavSampleRate value is required to record. NOTE: Audio is not resampled!");if(-1===[8,16,24,32].indexOf(e.wavBitDepth))throw new Error("Only 8, 16, 24 and 32 bits per sample are supported");this.bitDepth=e.wavBitDepth,this.sampleRate=e.wavSampleRate,this.recordedBuffers=[],this.bytesPerSample=this.bitDepth/8};n.prototype.record=function(e){this.numberOfChannels=this.numberOfChannels||e.length;for(var t=e[0].length,r=new Uint8Array(t*this.numberOfChannels*this.bytesPerSample),n=0;n>8,r[a+2]=i>>16,r[a+3]=i>>24;break;case 3:i=8388607.5*i-.5,r[a]=i,r[a+1]=i>>8,r[a+2]=i>>16;break;case 2:i=32767.5*i-.5,r[a]=i,r[a+1]=i>>8;break;case 1:r[a]=127.5*(i+1);break;default:throw new Error("Only 8, 16, 24 and 32 bits per sample are supported")}}this.recordedBuffers.push(r)},n.prototype.requestData=function(){var e=this.recordedBuffers[0].length,r=this.recordedBuffers.length*e,n=new Uint8Array(44+r),s=new DataView(n.buffer);s.setUint32(0,1380533830,!1),s.setUint32(4,36+r,!0),s.setUint32(8,1463899717,!1),s.setUint32(12,1718449184,!1),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,this.numberOfChannels,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(32,this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(34,this.bitDepth,!0),s.setUint32(36,1684108385,!1),s.setUint32(40,r,!0);for(var a=0;a + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const n=a(5);var s=Date.now();function i(e){return new n.BigInteger(e.toString(16),16)}function r(e){return new n.BigInteger(e,10)}function p(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function o(e,t){for(var a=atob(e),n=a.length,s=Math.ceil(n/1024),i=new Array(s),r=0;r{s.append(e)}),a=s.getBlob(n)}return a}function m(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function y(e){return new Uint8Array(e).buffer}function c(e){return void 0!==e.buffer?e:new Uint8Array(e)}function l(e,t){var a=e.byteLength||e.length,n=t.byteLength||t.length,s=new Uint8Array(a+n);return s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),s.set(t instanceof ArrayBuffer?new Uint8Array(t):t,a),s.buffer}function u(e){var t=r(e).divideAndRemainder(i(4294967296));return[t[0].intValue(),t[1].intValue()]}function g(e){for(var t=e.words,a=e.sigBytes,n=[],s=0;s>>2]>>>24-s%4*8&255);return n}t.dT=function(){return"["+((Date.now()-s)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=i,t.bigStringInt=r,t.bytesToHex=function(e){e=e||[];for(var t=[],a=0;a>>t&24),2!==t&&n-i!=1||(a+=String.fromCharCode(p(s>>>18&63),p(s>>>12&63),p(s>>>6&63),p(63&s)),s=0);return a.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=p,t.base64ToBlob=o,t.dataUrlToBlob=function(e){var t=e.split(",");return o(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=d,t.blobSafeMimeType=m,t.bytesCmp=function(e,t){var a=e.length;if(a!=t.length)return!1;for(var n=0;nt);)a=a.slice(1);return a},t.bytesToArrayBuffer=y,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:y(e)},t.convertToUint8Array=c,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],a=0,n=(e=c(e)).length;at+=e.byteLength||e.length);var a=new Uint8Array(t);let n=0;return e.forEach(e=>{a.set(e instanceof ArrayBuffer?new Uint8Array(e):e,n),n+=e.byteLength||e.length}),a},t.longToInts=u,t.bytesFromWords=g,t.bytesFromWordss=function(e){for(var t=[],a=0;a<4*e.length;a++)t.push(e[a>>>2]>>>24-a%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var a,n=t.length,s=[];for(a=0;a>>2]|=t[a]<<24-a%4*8;return new Uint32Array(s)},t.longToBytes=function(e){return g({words:u(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return i(e).shiftLeft(32).add(i(t)).toString(10)},t.addPadding=function(e,t=16,a,s=!1,i=!1){let r=t-(e.byteLength||e.length)%t;if(r>0&&(ri(a(14))).then(e=>{Object.assign(this.utils,{"sha1-hash":e.sha1HashSync,"sha256-hash":e.sha256HashSync,pbkdf2:e.hash_pbkdf2,"aes-encrypt":e.aesEncryptSync,"aes-decrypt":e.aesDecryptSync,"rsa-encrypt":e.rsaEncrypt,factorize:e.pqPrimeFactorization,"mod-pow":e.bytesModPow,gzipUncompress:e.gzipUncompress})}),Promise.resolve().then(()=>i(a(26))).then(e=>{this.utils.computeSRP=e.computeSRP})])}finalizeTask(e,t){let a=this.awaiting[e];void 0!==a&&(this.debug&&console.log(p.dT(),"CW done",a.taskName,t),a.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.debug&&console.log(p.dT(),"CW start",e,t),Promise.resolve(this.utils[e](...t))}releasePending(){this.webWorker&&(this.pending.forEach(e=>{this.webWorker.postMessage(e)}),this.pending.length=0)}}const m=new d;t.default=m},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=a(4),s=a(12);class i{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var a=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),a=1==e.length);var n,s,i,r=[],p=!0,o=this.storageGetPrefix();for(s=0;s{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(a,n)}catch(e){this.useLs=!1}else s[a]=n;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var a,n,s=this.storageGetPrefix();for(a=0;a{},n.Modes.test&&this.setPrefix("t_"),s.isWorker||(this.configStorage=new i)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((a,n)=>{if(s.isWorker){const n=this.taskID++;this.tasks[n]=a;const i={useLs:!0,task:e,taskID:n,args:t};s.notifySomeone(i)}else{let n=Array.prototype.slice.call(t);n.push(e=>{a(e)}),this.configStorage[e].apply(this.configStorage,n)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,a){(function(){var t;function a(e,t,a){null!=e&&("number"==typeof e?this.fromNumber(e,t,a):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function n(){return new a(null)}var s="undefined"!=typeof navigator;s&&"Microsoft Internet Explorer"==navigator.appName?(a.prototype.am=function(e,t,a,n,s,i){for(var r=32767&t,p=t>>15;--i>=0;){var o=32767&this[e],d=this[e++]>>15,m=p*o+d*r;s=((o=r*o+((32767&m)<<15)+a[n]+(1073741823&s))>>>30)+(m>>>15)+p*d+(s>>>30),a[n++]=1073741823&o}return s},t=30):s&&"Netscape"!=navigator.appName?(a.prototype.am=function(e,t,a,n,s,i){for(;--i>=0;){var r=t*this[e++]+a[n]+s;s=Math.floor(r/67108864),a[n++]=67108863&r}return s},t=26):(a.prototype.am=function(e,t,a,n,s,i){for(var r=16383&t,p=t>>14;--i>=0;){var o=16383&this[e],d=this[e++]>>14,m=p*o+d*r;s=((o=r*o+((16383&m)<<14)+a[n]+s)>>28)+(m>>14)+p*d,a[n++]=268435455&o}return s},t=28),a.prototype.DB=t,a.prototype.DM=(1<>>16)&&(e=t,a+=16),0!=(t=e>>8)&&(e=t,a+=8),0!=(t=e>>4)&&(e=t,a+=4),0!=(t=e>>2)&&(e=t,a+=2),0!=(t=e>>1)&&(e=t,a+=1),a}function c(e){this.m=e}function l(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function b(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function v(){}function w(e){return e}function P(e){this.r2=n(),this.q3=n(),a.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}c.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},c.prototype.revert=function(e){return e},c.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},c.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},c.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},l.prototype.convert=function(e){var t=n();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(a.ZERO)>0&&this.m.subTo(t,t),t},l.prototype.revert=function(e){var t=n();return e.copyTo(t),this.reduce(t),t},l.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[a=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[a]>=e.DV;)e[a]-=e.DV,e[++a]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},l.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},l.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},a.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},a.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},a.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(256==t)n=8;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)return void this.fromRadix(e,t);n=2}this.t=0,this.s=0;for(var s=e.length,i=!1,r=0;--s>=0;){var p=8==n?255&e[s]:d(e,s);p<0?"-"==e.charAt(s)&&(i=!0):(i=!1,0==r?this[this.t++]=p:r+n>this.DB?(this[this.t-1]|=(p&(1<>this.DB-r):this[this.t-1]|=p<=this.DB&&(r-=this.DB))}8==n&&0!=(128&e[0])&&(this.s=-1,r>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},a.prototype.dlShiftTo=function(e,t){var a;for(a=this.t-1;a>=0;--a)t[a+e]=this[a];for(a=e-1;a>=0;--a)t[a]=0;t.t=this.t+e,t.s=this.s},a.prototype.drShiftTo=function(e,t){for(var a=e;a=0;--a)t[a+r+1]=this[a]>>s|p,p=(this[a]&i)<=0;--a)t[a]=0;t[r]=p,t.t=this.t+r+1,t.s=this.s,t.clamp()},a.prototype.rShiftTo=function(e,t){t.s=this.s;var a=Math.floor(e/this.DB);if(a>=this.t)t.t=0;else{var n=e%this.DB,s=this.DB-n,i=(1<>n;for(var r=a+1;r>n;n>0&&(t[this.t-a-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;a>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[a++]=this.DV+n:n>0&&(t[a++]=n),t.t=a,t.clamp()},a.prototype.multiplyTo=function(e,t){var n=this.abs(),s=e.abs(),i=n.t;for(t.t=i+s.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[a]=0;for(a=0;a=t.DV&&(e[a+t.t]-=t.DV,e[a+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(a,t[a],e,2*a,0,1)),e.s=0,e.clamp()},a.prototype.divRemTo=function(e,t,s){var i=e.abs();if(!(i.t<=0)){var r=this.abs();if(r.t0?(i.lShiftTo(m,p),r.lShiftTo(m,s)):(i.copyTo(p),r.copyTo(s));var c=p.t,l=p[c-1];if(0!=l){var u=l*(1<1?p[c-2]>>this.F2:0),g=this.FV/u,h=(1<=0&&(s[s.t++]=1,s.subTo(v,s)),a.ONE.dlShiftTo(c,v),v.subTo(p,p);p.t=0;){var w=s[--_]==l?this.DM:Math.floor(s[_]*g+(s[_-1]+f)*h);if((s[_]+=p.am(0,w,s,b,0,c))0&&s.rShiftTo(m,s),o<0&&a.ZERO.subTo(s,s)}}},a.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},a.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},a.prototype.exp=function(e,t){if(e>4294967295||e<1)return a.ONE;var s=n(),i=n(),r=t.convert(this),p=y(e)-1;for(r.copyTo(s);--p>=0;)if(t.sqrTo(s,i),(e&1<0)t.mulTo(i,r,s);else{var o=s;s=i,i=o}return t.revert(s)},a.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var a,n=(1<0)for(p>p)>0&&(s=!0,i=o(a));r>=0;)p>(p+=this.DB-t)):(a=this[r]>>(p-=t)&n,p<=0&&(p+=this.DB,--r)),a>0&&(s=!0),s&&(i+=o(a));return s?i:"0"},a.prototype.negate=function(){var e=n();return a.ZERO.subTo(this,e),e},a.prototype.abs=function(){return this.s<0?this.negate():this},a.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var a=this.t;if(0!=(t=a-e.t))return this.s<0?-t:t;for(;--a>=0;)if(0!=(t=this[a]-e[a]))return t;return 0},a.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)},a.prototype.mod=function(e){var t=n();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(a.ZERO)>0&&e.subTo(t,t),t},a.prototype.modPowInt=function(e,t){var a;return a=e<256||t.isEven()?new c(t):new l(t),this.exp(e,a)},a.ZERO=m(0),a.ONE=m(1),v.prototype.convert=w,v.prototype.revert=w,v.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a)},v.prototype.sqrTo=function(e,t){e.squareTo(t)},P.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=n();return e.copyTo(t),this.reduce(t),t},P.prototype.revert=function(e){return e},P.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},P.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},P.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var S,k,I,M=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],A=(1<<26)/M[M.length-1];function C(){var e;e=(new Date).getTime(),k[I++]^=255&e,k[I++]^=e>>8&255,k[I++]^=e>>16&255,k[I++]^=e>>24&255,I>=E&&(I-=E)}if(a.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},a.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),a=Math.pow(e,t),s=m(a),i=n(),r=n(),p="";for(this.divRemTo(s,i,r);i.signum()>0;)p=(a+r.intValue()).toString(e).substr(1)+p,i.divRemTo(s,i,r);return r.intValue().toString(e)+p},a.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var n=this.chunkSize(t),s=Math.pow(t,n),i=!1,r=0,p=0,o=0;o=n&&(this.dMultiply(s),this.dAddOffset(p,0),r=0,p=0))}r>0&&(this.dMultiply(Math.pow(t,r)),this.dAddOffset(p,0)),i&&a.ZERO.subTo(this,this)},a.prototype.fromNumber=function(e,t,n){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,n),this.testBit(e-1)||this.bitwiseTo(a.ONE.shiftLeft(e-1),g,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(a.ONE.shiftLeft(e-1),this);else{var s=new Array,i=7&e;s.length=1+(e>>3),t.nextBytes(s),i>0?s[0]&=(1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;a>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[a++]=n:n<-1&&(t[a++]=this.DV+n),t.t=a,t.clamp()},a.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},a.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},a.prototype.multiplyLowerTo=function(e,t,a){var n,s=Math.min(this.t+e.t,t);for(a.s=0,a.t=s;s>0;)a[--s]=0;for(n=a.t-this.t;s=0;)a[n]=0;for(n=Math.max(t-this.t,0);n0)if(0==t)a=this[0]%e;else for(var n=this.t-1;n>=0;--n)a=(t*a+this[n])%e;return a},a.prototype.millerRabin=function(e){var t=this.subtract(a.ONE),s=t.getLowestSetBit();if(s<=0)return!1;var i=t.shiftRight(s);(e=e+1>>1)>M.length&&(e=M.length);for(var r=n(),p=0;p>24},a.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},a.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},a.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var a,n=this.DB-e*this.DB%8,s=0;if(e-- >0)for(n>n)!=(this.s&this.DM)>>n&&(t[s++]=a|this.s<=0;)n<8?(a=(this[e]&(1<>(n+=this.DB-8)):(a=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&a)&&(a|=-256),0==s&&(128&this.s)!=(128&a)&&++s,(s>0||a!=this.s)&&(t[s++]=a);return t},a.prototype.equals=function(e){return 0==this.compareTo(e)},a.prototype.min=function(e){return this.compareTo(e)<0?this:e},a.prototype.max=function(e){return this.compareTo(e)>0?this:e},a.prototype.and=function(e){var t=n();return this.bitwiseTo(e,u,t),t},a.prototype.or=function(e){var t=n();return this.bitwiseTo(e,g,t),t},a.prototype.xor=function(e){var t=n();return this.bitwiseTo(e,h,t),t},a.prototype.andNot=function(e){var t=n();return this.bitwiseTo(e,f,t),t},a.prototype.not=function(){for(var e=n(),t=0;t=this.t?0!=this.s:0!=(this[t]&1<1){var g=n();for(s.sqrTo(p[1],g);o<=u;)p[o]=n(),s.mulTo(g,p[o-2],p[o]),o+=2}var h,f,_=e.t-1,b=!0,v=n();for(i=y(e[_])-1;_>=0;){for(i>=d?h=e[_]>>i-d&u:(h=(e[_]&(1<0&&(h|=e[_-1]>>this.DB+i-d)),o=a;0==(1&h);)h>>=1,--o;if((i-=o)<0&&(i+=this.DB,--_),b)p[h].copyTo(r),b=!1;else{for(;o>1;)s.sqrTo(r,v),s.sqrTo(v,r),o-=2;o>0?s.sqrTo(r,v):(f=r,r=v,v=f),s.mulTo(v,p[h],r)}for(;_>=0&&0==(e[_]&1<=0?(n.subTo(s,n),t&&i.subTo(p,i),r.subTo(o,r)):(s.subTo(n,s),t&&p.subTo(i,p),o.subTo(r,o))}return 0!=s.compareTo(a.ONE)?a.ZERO:o.compareTo(e)>=0?o.subtract(e):o.signum()<0?(o.addTo(e,o),o.signum()<0?o.add(e):o):o},a.prototype.pow=function(e){return this.exp(e,new v)},a.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),a=e.s<0?e.negate():e.clone();if(t.compareTo(a)<0){var n=t;t=a,a=n}var s=t.getLowestSetBit(),i=a.getLowestSetBit();if(i<0)return t;for(s0&&(t.rShiftTo(i,t),a.rShiftTo(i,a));t.signum()>0;)(s=t.getLowestSetBit())>0&&t.rShiftTo(s,t),(s=a.getLowestSetBit())>0&&a.rShiftTo(s,a),t.compareTo(a)>=0?(t.subTo(a,t),t.rShiftTo(1,t)):(a.subTo(t,a),a.rShiftTo(1,a));return i>0&&a.lShiftTo(i,a),a},a.prototype.isProbablePrime=function(e){var t,a=this.abs();if(1==a.t&&a[0]<=M[M.length-1]){for(t=0;t>>8,k[I++]=255&T;I=0,C()}function R(){if(null==S){for(C(),(S=new U).init(k),I=0;I + * https://github.com/zhukov/webogram/blob/master/LICENSE + */var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TLSerialization=t.TLDeserialization=void 0;const s=a(0),i=n(a(13)),r=a(14),p=+i.default.API.constructors.find(e=>"boolFalse"==e.predicate).id>>>0,o=+i.default.API.constructors.find(e=>"boolTrue"==e.predicate).id>>>0,d=+i.default.API.constructors.find(e=>"vector"==e.predicate).id>>>0,m=+i.default.MTProto.constructors.find(e=>"gzip_packed"==e.predicate).id>>>0;t.TLSerialization=class{constructor(e={}){this.maxLength=2048,this.offset=0,this.mtproto=!1,this.debug=!1,this.maxLength=e.startMaxLength||2048,this.mtproto=e.mtproto||!1,this.createBuffer()}createBuffer(){this.buffer=new ArrayBuffer(this.maxLength),this.intView=new Int32Array(this.buffer),this.byteView=new Uint8Array(this.buffer)}getArray(){let e=new ArrayBuffer(this.offset),t=new Int32Array(e);return t.set(this.intView.subarray(0,this.offset/4)),t}getBuffer(){return this.getArray().buffer}getBytes(e){if(e){let e=new ArrayBuffer(this.offset),t=new Uint8Array(e);return t.set(this.byteView.subarray(0,this.offset)),t}let t=[];for(var a=0;a>>",e.toString(16),e,t),this.checkLength(4),this.intView[this.offset/4]=e,this.offset+=4}storeInt(e,t){this.writeInt(e,(t||"")+":int")}storeBool(e,t){e?this.writeInt(o,(t||"")+":bool"):this.writeInt(p,(t||"")+":bool")}storeLongP(e,t,a){this.writeInt(t,(a||"")+":long[low]"),this.writeInt(e,(a||"")+":long[high]")}storeLong(e,t){if(Array.isArray(e))return 2==e.length?this.storeLongP(e[0],e[1],t):this.storeIntBytes(e,64,t);"string"!=typeof e&&(e=e?e.toString():"0");var a=s.bigStringInt(e).divideAndRemainder(s.bigint(4294967296));this.writeInt(a[1].intValue(),(t||"")+":long[low]"),this.writeInt(a[0].intValue(),(t||"")+":long[high]")}storeDouble(e,t){var a=new ArrayBuffer(8),n=new Int32Array(a);new Float64Array(a)[0]=e,this.writeInt(n[0],(t||"")+":double[low]"),this.writeInt(n[1],(t||"")+":double[high]")}storeString(e,t){this.debug&&console.log(">>>",e,(t||"")+":string"),void 0===e&&(e="");var a=unescape(encodeURIComponent(e));this.checkLength(a.length+8);var n=a.length;n<=253?this.byteView[this.offset++]=n:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&n,this.byteView[this.offset++]=(65280&n)>>8,this.byteView[this.offset++]=(16711680&n)>>16);for(var s=0;s>>",s.bytesToHex(e),(t||"")+":bytes");var a=e.byteLength||e.length;for(this.checkLength(a+8),a<=253?this.byteView[this.offset++]=a:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&a,this.byteView[this.offset++]=(65280&a)>>8,this.byteView[this.offset++]=(16711680&a)>>16),this.byteView.set(e,this.offset),this.offset+=a;this.offset%4;)this.byteView[this.offset++]=0}storeIntBytes(e,t,a){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n=e.length;if(t%32||8*n!=t)throw new Error("Invalid bits: "+t+", "+e.length);this.debug&&console.log(">>>",s.bytesToHex(e),(a||"")+":int"+t),this.checkLength(n),this.byteView.set(e,this.offset),this.offset+=n}storeRawBytes(e,t){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var a=e.length;this.debug&&console.log(">>>",s.bytesToHex(e),t||""),this.checkLength(a),this.byteView.set(e,this.offset),this.offset+=a}storeMethod(e,t){var a,n,s,r,p,o=this.mtproto?i.default.MTProto:i.default.API,d=!1;for(s=0;sthis.byteView.byteLength)throw new Error("Invalid raw bytes length: "+e+", buffer len: "+this.byteView.byteLength);if(t){let t=new Uint8Array(e);return t.set(this.byteView.subarray(this.offset,this.offset+e)),this.offset+=e,t}for(var n=[],i=0;i0)for(var p=e.substr(7,e.length-8),o=0;o=97&&e.charAt(0)<=122){for(o=0;ofetch(this.url,{method:"POST",body:e}).then(e=>{if(200!=e.status)throw e.arrayBuffer().then(e=>{console.log("not 200",new TextDecoder("utf-8").decode(new Uint8Array(i.bytesFromArrayBuffer(e))))}),e;return e.arrayBuffer().then(e=>new Uint8Array(i.bytesFromArrayBuffer(e)))})}}t.default=r},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=t.secureRandom=void 0;const n=a(0),s=a(5);t.secureRandom=new s.SecureRandom,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((a,n)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,a(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,n(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return n.bytesToHex([...this])},set:function(e){this.set(n.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return n.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),a=Math.floor(t/3600);let n=Math.floor((t-3600*a)/60),s=t-3600*a-60*n;return a&&(e=!0),n<10&&(n=e?"0"+n:n),s<10&&(s="0"+s),(a?a+":":"")+n+":"+s}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiManager=void 0;const i=s(a(3)),r=a(0),p=s(a(6)),o=a(29),d=s(a(30)),m=a(4),y=s(a(8)),c=s(a(9)),l=a(1);class u{constructor(){this.cachedNetworkers={},this.cachedUploadNetworkers={},this.cachedExportPromise={},this.gettingNetworkers={},this.baseDcID=0,this.telegramMeNotified=!1,this.log=l.logger("API")}telegramMeNotify(e){this.telegramMeNotified!==e&&(this.telegramMeNotified=e,o.telegramMeWebService.setAuthorized(this.telegramMeNotified))}setUserAuth(e){var t=Object.assign({dcID:this.baseDcID},e);i.default.set({dc:this.baseDcID,user_auth:t}),this.telegramMeNotify(!0)}setBaseDcID(e){this.baseDcID=e}logOut(){return n(this,void 0,void 0,(function*(){let e=[],t=m.Modes.test?"t_dc":"dc";for(let a=1;a<=5;a++)e.push(t+a+"_auth_key");let a=yield i.default.get(e),n=[];for(let e=0;e{i.default.remove("dc","user_auth","stickerSets"),this.baseDcID=0,this.telegramMeNotify(!1),this.mtpClearStorage()},t=>{e.push("dc","user_auth","stickerSets"),i.default.remove(e),this.baseDcID=0,t.handled=!0,this.telegramMeNotify(!1),this.mtpClearStorage()})}))}mtpClearStorage(){for(var e=["user_auth","t_user_auth","dc","t_dc"],t=1;t<=5;t++)e.push("dc"+t+"_auth_key"),e.push("dc"+t+"_auth_keyID"),e.push("dc"+t+"_server_salt"),e.push("t_dc"+t+"_auth_key"),e.push("t_dc"+t+"_auth_keyID"),e.push("t_dc"+t+"_server_salt");i.default.noPrefix(),i.default.get(e).then(t=>{i.default.clear().then(()=>{var a={};return e.forEach((e,n)=>{var s=t[n];!1!==s&&void 0!==s&&(a[e]=s)}),i.default.noPrefix(),i.default.set(a)})})}getNetworker(e,t){return n(this,void 0,void 0,(function*(){const a=(t.fileUpload||t.fileDownload)&&(y.default.chooseServer(e,!0)instanceof c.default||m.Modes.multipleConnections),s=a?this.cachedUploadNetworkers:this.cachedNetworkers;if(!e)throw new Error("get Networker without dcID");if(void 0!==s[e])return s[e];const o=e+"-"+ +a;if(this.gettingNetworkers[o])return this.gettingNetworkers[o];const l="dc"+e+"_auth_key",u="dc"+e+"_auth_keyID",g="dc"+e+"_server_salt";return this.gettingNetworkers[o]=i.default.get([l,u,g]).then(([a,m,y])=>n(this,void 0,void 0,(function*(){let n;if(a&&512==a.length){y&&16==y.length||(y="AAAAAAAAAAAAAAAA");const s=r.bytesFromHex(a),i=new Uint8Array(r.bytesFromHex(m)),o=r.bytesFromHex(y);n=p.default.getNetworker(e,s,i,o,t)}else try{const a=yield d.default.auth(e),s={[l]:r.bytesToHex(a.authKey),[u]:a.authKeyID.hex,[g]:r.bytesToHex(a.serverSalt)};i.default.set(s),n=p.default.getNetworker(e,a.authKey,a.authKeyID,a.serverSalt,t)}catch(e){throw this.log("Get networker error",e,e.stack),delete this.gettingNetworkers[o],e}return delete this.gettingNetworkers[o],s[e]=n})))}))}invokeApi(e,t={},a={}){return new Promise((n,s)=>{let p=t=>{t?r.isObject(t)||(t={message:t}):t={type:"ERROR_EMPTY"},s(t),a.ignoreErrors||(406==t.code&&(t.handled=!0),a.noErrorBox||(t.input=e,t.stack=y||t.originalError&&t.originalError.stack||t.stack||(new Error).stack,setTimeout(()=>{t.handled||(401==t.code&&this.logOut(),t.handled=!0)},100)))};var o,d,y=(new Error).stack||"empty stack",c=s=>(d=s).wrapApiCall(e,t,a).then(n,r=>{if(this.log.error("Error",r.code,r.type,this.baseDcID,o),401==r.code&&this.baseDcID==o)i.default.remove("dc","user_auth"),this.telegramMeNotify(!1),p(r);else if(401==r.code&&this.baseDcID&&o!=this.baseDcID){if(void 0===this.cachedExportPromise[o]){let e=new Promise((e,t)=>{this.invokeApi("auth.exportAuthorization",{dc_id:o},{noErrorBox:!0}).then(a=>{this.invokeApi("auth.importAuthorization",{id:a.id,bytes:a.bytes},{dcID:o,noErrorBox:!0}).then(e,t)},t)});this.cachedExportPromise[o]=e}this.cachedExportPromise[o].then(()=>{(d=s).wrapApiCall(e,t,a).then(n,p)},p)}else if(303==r.code){var m=r.type.match(/^(PHONE_MIGRATE_|NETWORK_MIGRATE_|USER_MIGRATE_)(\d+)/)[2];m!=o&&(a.dcID?a.dcID=m:i.default.set({dc:this.baseDcID=m}),this.getNetworker(m,a).then(s=>{s.wrapApiCall(e,t,a).then(n,p)},p))}else if(a.rawError||420!=r.code)if(a.rawError||500!=r.code&&"MSG_WAIT_FAILED"!=r.type)p(r);else{var y=Date.now();if(a.stopTime){if(y>=a.stopTime)return p(r)}else a.stopTime=y+1e3*(void 0!==a.timeout?a.timeout:10);a.waitTime=a.waitTime?Math.min(60,1.5*a.waitTime):1,setTimeout(()=>{c(d)},1e3*a.waitTime)}else{var l=r.type.match(/^FLOOD_WAIT_(\d+)/)[1]||10;if(l>(void 0!==a.timeout?a.timeout:60))return p(r);setTimeout(()=>{c(d)},1e3*(l+5))}});(o=a.dcID||this.baseDcID)?this.getNetworker(o,a).then(c,p):i.default.get("dc").then(e=>{this.getNetworker(this.baseDcID=o=e||m.App.baseDcID,a).then(c,p)})})}getUserID(){return i.default.get("user_auth").then(e=>(this.telegramMeNotify(e&&e.id>0||!1),e.id||0))}}t.ApiManager=u,t.default=new u},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const n=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(a=>{a.length&&a.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},s=(...e)=>{self.postMessage(...e)},i=()=>{};t.notifySomeone=t.isServiceWorker?n.bind(null,!1):t.isWebWorker?s:i,t.notifyAll=t.isServiceWorker?n.bind(null,!0):t.isWebWorker?s:i},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={MTProto:{constructors:[{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"85337187",predicate:"resPQ",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"pq",type:"bytes"},{name:"server_public_key_fingerprints",type:"Vector"}],type:"ResPQ"},{id:2211011308,predicate:"p_q_inner_data",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"}],type:"P_Q_inner_data"},{id:2851430293,predicate:"p_q_inner_data_dc",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"dc",type:"int"}],type:"P_Q_inner_data"},{id:"1013613780",predicate:"p_q_inner_data_temp",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"expires_in",type:"int"}],type:"P_Q_inner_data"},{id:"1459478408",predicate:"p_q_inner_data_temp_dc",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"},{name:"dc",type:"int"},{name:"expires_in",type:"int"}],type:"P_Q_inner_d"},{id:"2043348061",predicate:"server_DH_params_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash",type:"int128"}],type:"Server_DH_Params"},{id:3504867164,predicate:"server_DH_params_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_answer",type:"bytes"}],type:"Server_DH_Params"},{id:3045658042,predicate:"server_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"g",type:"int"},{name:"dh_prime",type:"bytes"},{name:"g_a",type:"bytes"},{name:"server_time",type:"int"}],type:"Server_DH_inner_data"},{id:"1715713620",predicate:"client_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"retry_id",type:"long"},{name:"g_b",type:"bytes"}],type:"Client_DH_Inner_Data"},{id:"1003222836",predicate:"dh_gen_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash1",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"1188831161",predicate:"dh_gen_retry",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash2",type:"int128"}],type:"Set_client_DH_params_answer"},{id:2795351554,predicate:"dh_gen_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash3",type:"int128"}],type:"Set_client_DH_params_answer"},{id:4082920705,predicate:"rpc_result",params:[{name:"req_msg_id",type:"long"},{name:"result",type:"Object"}],type:"RpcResult"},{id:"558156313",predicate:"rpc_error",params:[{name:"error_code",type:"int"},{name:"error_message",type:"string"}],type:"RpcError"},{id:"1579864942",predicate:"rpc_answer_unknown",params:[],type:"RpcDropAnswer"},{id:3447252358,predicate:"rpc_answer_dropped_running",params:[],type:"RpcDropAnswer"},{id:2755319991,predicate:"rpc_answer_dropped",params:[{name:"msg_id",type:"long"},{name:"seq_no",type:"int"},{name:"bytes",type:"int"}],type:"RpcDropAnswer"},{id:"155834844",predicate:"future_salt",params:[{name:"valid_since",type:"int"},{name:"valid_until",type:"int"},{name:"salt",type:"long"}],type:"FutureSalt"},{id:2924480661,predicate:"future_salts",params:[{name:"req_msg_id",type:"long"},{name:"now",type:"int"},{name:"salts",type:"vector"}],type:"FutureSalts"},{id:"880243653",predicate:"pong",params:[{name:"msg_id",type:"long"},{name:"ping_id",type:"long"}],type:"Pong"},{id:2663516424,predicate:"new_session_created",params:[{name:"first_msg_id",type:"long"},{name:"unique_id",type:"long"},{name:"server_salt",type:"long"}],type:"NewSession"},{id:"1945237724",predicate:"msg_container",params:[{name:"messages",type:"vector<%Message>"}],type:"MessageContainer"},{id:"1538843921",predicate:"message",params:[{name:"msg_id",type:"long"},{name:"seqno",type:"int"},{name:"bytes",type:"int"},{name:"body",type:"Object"}],type:"Message"},{id:3764405938,predicate:"msg_copy",params:[{name:"orig_message",type:"Message"}],type:"MessageCopy"},{id:"812830625",predicate:"gzip_packed",params:[{name:"packed_data",type:"bytes"}],type:"Object"},{id:"1658238041",predicate:"msgs_ack",params:[{name:"msg_ids",type:"Vector"}],type:"MsgsAck"},{id:2817521681,predicate:"bad_msg_notification",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"}],type:"BadMsgNotification"},{id:3987424379,predicate:"bad_server_salt",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"},{name:"new_server_salt",type:"long"}],type:"BadMsgNotification"},{id:"2105940488",predicate:"msg_resend_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgResendReq"},{id:2249243371,predicate:"msg_resend_ans_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgResendReq"},{id:3664378706,predicate:"msgs_state_req",params:[{name:"msg_ids",type:"Vector"}],type:"MsgsStateReq"},{id:"81704317",predicate:"msgs_state_info",params:[{name:"req_msg_id",type:"long"},{name:"info",type:"bytes"}],type:"MsgsStateInfo"},{id:2361446705,predicate:"msgs_all_info",params:[{name:"msg_ids",type:"Vector"},{name:"info",type:"bytes"}],type:"MsgsAllInfo"},{id:"661470918",predicate:"msg_detailed_info",params:[{name:"msg_id",type:"long"},{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:2157819615,predicate:"msg_new_detailed_info",params:[{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:"1973679973",predicate:"bind_auth_key_inner",params:[{name:"nonce",type:"long"},{name:"temp_auth_key_id",type:"long"},{name:"perm_auth_key_id",type:"long"},{name:"temp_session_id",type:"long"},{name:"expires_at",type:"int"}],type:"BindAuthKeyInner"},{id:4133544404,predicate:"destroy_auth_key_ok",params:[],type:"DestroyAuthKeyRes"},{id:"178201177",predicate:"destroy_auth_key_none",params:[],type:"DestroyAuthKeyRes"},{id:3926956819,predicate:"destroy_auth_key_fail",params:[],type:"DestroyAuthKeyRes"},{id:3793765884,predicate:"destroy_session_ok",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"1658015945",predicate:"destroy_session_none",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"}],methods:[{id:"1615239032",method:"req_pq",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:3195965169,method:"req_pq_multi",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:3608339646,method:"req_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"public_key_fingerprint",type:"long"},{name:"encrypted_data",type:"bytes"}],type:"Server_DH_Params"},{id:4110704415,method:"set_client_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_data",type:"bytes"}],type:"Set_client_DH_params_answer"},{id:"1491380032",method:"rpc_drop_answer",params:[{name:"req_msg_id",type:"long"}],type:"RpcDropAnswer"},{id:3105996036,method:"get_future_salts",params:[{name:"num",type:"int"}],type:"FutureSalts"},{id:"2059302892",method:"ping",params:[{name:"ping_id",type:"long"}],type:"Pong"},{id:4081220492,method:"ping_delay_disconnect",params:[{name:"ping_id",type:"long"},{name:"disconnect_delay",type:"int"}],type:"Pong"},{id:2459514271,method:"http_wait",params:[{name:"max_delay",type:"int"},{name:"wait_after",type:"int"},{name:"max_wait",type:"int"}],type:"HttpWait"},{id:3510849888,method:"destroy_auth_key",params:[],type:"DestroyAuthKeyRes"},{id:3880853798,method:"destroy_session",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"}]},API:{constructors:[{id:3162085175,predicate:"boolFalse",params:[],type:"Bool"},{id:2574415285,predicate:"boolTrue",params:[],type:"Bool"},{id:1072550713,predicate:"true",params:[],type:"True"},{id:481674261,predicate:"vector",params:[],type:"Vector t"},{id:3300522427,predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:1450380236,predicate:"null",params:[],type:"Null"},{id:2134579434,predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:2107670217,predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:396093539,predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:2072935910,predicate:"inputPeerUser",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputPeer"},{id:548253432,predicate:"inputPeerChannel",params:[{name:"channel_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputPeer"},{id:398123750,predicate:"inputPeerUserFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"user_id",type:"int"}],type:"InputPeer"},{id:2627073979,predicate:"inputPeerChannelFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"channel_id",type:"int"}],type:"InputPeer"},{id:3112732367,predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:4156666175,predicate:"inputUserSelf",params:[],type:"InputUser"},{id:3626575894,predicate:"inputUser",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputUser"},{id:756118935,predicate:"inputUserFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"user_id",type:"int"}],type:"InputUser"},{id:4086478836,predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:4113560191,predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:4199484341,predicate:"inputFileBig",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"}],type:"InputFile"},{id:2523198847,predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:505969924,predicate:"inputMediaUploadedPhoto",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"stickers",type:"flags.0?Vector"},{name:"ttl_seconds",type:"flags.1?int"}],type:"InputMedia"},{id:3015312949,predicate:"inputMediaPhoto",params:[{name:"flags",type:"#"},{name:"id",type:"InputPhoto"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:4190388548,predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:4171988475,predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"}],type:"InputMedia"},{id:1530447553,predicate:"inputMediaUploadedDocument",params:[{name:"flags",type:"#"},{name:"nosound_video",type:"flags.3?true"},{name:"file",type:"InputFile"},{name:"thumb",type:"flags.2?InputFile"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"},{name:"stickers",type:"flags.0?Vector"},{name:"ttl_seconds",type:"flags.1?int"}],type:"InputMedia"},{id:598418386,predicate:"inputMediaDocument",params:[{name:"flags",type:"#"},{name:"id",type:"InputDocument"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:3242007569,predicate:"inputMediaVenue",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"}],type:"InputMedia"},{id:1212395773,predicate:"inputMediaGifExternal",params:[{name:"url",type:"string"},{name:"q",type:"string"}],type:"InputMedia"},{id:3854302746,predicate:"inputMediaPhotoExternal",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:4216511641,predicate:"inputMediaDocumentExternal",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:3544138739,predicate:"inputMediaGame",params:[{name:"id",type:"InputGame"}],type:"InputMedia"},{id:4108359363,predicate:"inputMediaInvoice",params:[{name:"flags",type:"#"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"flags.0?InputWebDocument"},{name:"invoice",type:"Invoice"},{name:"payload",type:"bytes"},{name:"provider",type:"string"},{name:"provider_data",type:"DataJSON"},{name:"start_param",type:"string"}],type:"InputMedia"},{id:3461251837,predicate:"inputMediaGeoLive",params:[{name:"flags",type:"#"},{name:"stopped",type:"flags.0?true"},{name:"geo_point",type:"InputGeoPoint"},{name:"period",type:"flags.1?int"}],type:"InputMedia"},{id:261416433,predicate:"inputMediaPoll",params:[{name:"flags",type:"#"},{name:"poll",type:"Poll"},{name:"correct_answers",type:"flags.0?Vector"},{name:"solution",type:"flags.1?string"},{name:"solution_entities",type:"flags.1?Vector"}],type:"InputMedia"},{id:3866083195,predicate:"inputMediaDice",params:[{name:"emoticon",type:"string"}],type:"InputMedia"},{id:480546647,predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:2457621940,predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputChatPhoto"},{id:2303962423,predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputChatPhoto"},{id:3837862870,predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:4088900809,predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:483901197,predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:1001634122,predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputPhoto"},{id:3755650017,predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputFileLocation"},{id:4112735573,predicate:"inputEncryptedFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:3134223748,predicate:"inputDocumentFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"thumb_size",type:"string"}],type:"InputFileLocation"},{id:3418877480,predicate:"inputSecureFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:700340377,predicate:"inputTakeoutFileLocation",params:[],type:"InputFileLocation"},{id:1075322878,predicate:"inputPhotoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"thumb_size",type:"string"}],type:"InputFileLocation"},{id:3627312883,predicate:"inputPhotoLegacyFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:668375447,predicate:"inputPeerPhotoFileLocation",params:[{name:"flags",type:"#"},{name:"big",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"InputFileLocation"},{id:230353641,predicate:"inputStickerSetThumb",params:[{name:"stickerset",type:"InputStickerSet"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"InputFileLocation"},{id:2645671021,predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:3134252475,predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:3185435954,predicate:"peerChannel",params:[{name:"channel_id",type:"int"}],type:"Peer"},{id:2861972229,predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:1086091090,predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:8322574,predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:3403786975,predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:172975040,predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:2921222285,predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:1384777335,predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:1258941372,predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:3016663268,predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:276907596,predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:537022650,predicate:"userEmpty",params:[{name:"id",type:"int"}],type:"User"},{id:2474924225,predicate:"user",params:[{name:"flags",type:"#"},{name:"self",type:"flags.10?true"},{name:"contact",type:"flags.11?true"},{name:"mutual_contact",type:"flags.12?true"},{name:"deleted",type:"flags.13?true"},{name:"bot",type:"flags.14?true"},{name:"bot_chat_history",type:"flags.15?true"},{name:"bot_nochats",type:"flags.16?true"},{name:"verified",type:"flags.17?true"},{name:"restricted",type:"flags.18?true"},{name:"min",type:"flags.20?true"},{name:"bot_inline_geo",type:"flags.21?true"},{name:"support",type:"flags.23?true"},{name:"scam",type:"flags.24?true"},{name:"id",type:"int"},{name:"access_hash",type:"flags.0?long"},{name:"first_name",type:"flags.1?string"},{name:"last_name",type:"flags.2?string"},{name:"username",type:"flags.3?string"},{name:"phone",type:"flags.4?string"},{name:"photo",type:"flags.5?UserProfilePhoto"},{name:"status",type:"flags.6?UserStatus"},{name:"bot_info_version",type:"flags.14?int"},{name:"restriction_reason",type:"flags.18?Vector"},{name:"bot_inline_placeholder",type:"flags.19?string"},{name:"lang_code",type:"flags.22?string"}],type:"User"},{id:1326562017,predicate:"userProfilePhotoEmpty",params:[],type:"UserProfilePhoto"},{id:3973537164,predicate:"userProfilePhoto",params:[{name:"photo_id",type:"long"},{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"},{name:"dc_id",type:"int"}],type:"UserProfilePhoto"},{id:164646985,predicate:"userStatusEmpty",params:[],type:"UserStatus"},{id:3988339017,predicate:"userStatusOnline",params:[{name:"expires",type:"int"}],type:"UserStatus"},{id:9203775,predicate:"userStatusOffline",params:[{name:"was_online",type:"int"}],type:"UserStatus"},{id:3798942449,predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:129960444,predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:2011940674,predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:2611140608,predicate:"chatEmpty",params:[{name:"id",type:"int"}],type:"Chat"},{id:1004149726,predicate:"chat",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"kicked",type:"flags.1?true"},{name:"left",type:"flags.2?true"},{name:"deactivated",type:"flags.5?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"version",type:"int"},{name:"migrated_to",type:"flags.6?InputChannel"},{name:"admin_rights",type:"flags.14?ChatAdminRights"},{name:"default_banned_rights",type:"flags.18?ChatBannedRights"}],type:"Chat"},{id:120753115,predicate:"chatForbidden",params:[{name:"id",type:"int"},{name:"title",type:"string"}],type:"Chat"},{id:3541734942,predicate:"channel",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"left",type:"flags.2?true"},{name:"broadcast",type:"flags.5?true"},{name:"verified",type:"flags.7?true"},{name:"megagroup",type:"flags.8?true"},{name:"restricted",type:"flags.9?true"},{name:"signatures",type:"flags.11?true"},{name:"min",type:"flags.12?true"},{name:"scam",type:"flags.19?true"},{name:"has_link",type:"flags.20?true"},{name:"has_geo",type:"flags.21?true"},{name:"slowmode_enabled",type:"flags.22?true"},{name:"id",type:"int"},{name:"access_hash",type:"flags.13?long"},{name:"title",type:"string"},{name:"username",type:"flags.6?string"},{name:"photo",type:"ChatPhoto"},{name:"date",type:"int"},{name:"version",type:"int"},{name:"restriction_reason",type:"flags.9?Vector"},{name:"admin_rights",type:"flags.14?ChatAdminRights"},{name:"banned_rights",type:"flags.15?ChatBannedRights"},{name:"default_banned_rights",type:"flags.18?ChatBannedRights"},{name:"participants_count",type:"flags.17?int"}],type:"Chat"},{id:681420594,predicate:"channelForbidden",params:[{name:"flags",type:"#"},{name:"broadcast",type:"flags.5?true"},{name:"megagroup",type:"flags.8?true"},{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"until_date",type:"flags.16?int"}],type:"Chat"},{id:461151667,predicate:"chatFull",params:[{name:"flags",type:"#"},{name:"can_set_username",type:"flags.7?true"},{name:"has_scheduled",type:"flags.8?true"},{name:"id",type:"int"},{name:"about",type:"string"},{name:"participants",type:"ChatParticipants"},{name:"chat_photo",type:"flags.2?Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"exported_invite",type:"ExportedChatInvite"},{name:"bot_info",type:"flags.3?Vector"},{name:"pinned_msg_id",type:"flags.6?int"},{name:"folder_id",type:"flags.11?int"}],type:"ChatFull"},{id:4041631530,predicate:"channelFull",params:[{name:"flags",type:"#"},{name:"can_view_participants",type:"flags.3?true"},{name:"can_set_username",type:"flags.6?true"},{name:"can_set_stickers",type:"flags.7?true"},{name:"hidden_prehistory",type:"flags.10?true"},{name:"can_view_stats",type:"flags.12?true"},{name:"can_set_location",type:"flags.16?true"},{name:"has_scheduled",type:"flags.19?true"},{name:"id",type:"int"},{name:"about",type:"string"},{name:"participants_count",type:"flags.0?int"},{name:"admins_count",type:"flags.1?int"},{name:"kicked_count",type:"flags.2?int"},{name:"banned_count",type:"flags.2?int"},{name:"online_count",type:"flags.13?int"},{name:"read_inbox_max_id",type:"int"},{name:"read_outbox_max_id",type:"int"},{name:"unread_count",type:"int"},{name:"chat_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"exported_invite",type:"ExportedChatInvite"},{name:"bot_info",type:"Vector"},{name:"migrated_from_chat_id",type:"flags.4?int"},{name:"migrated_from_max_id",type:"flags.4?int"},{name:"pinned_msg_id",type:"flags.5?int"},{name:"stickerset",type:"flags.8?StickerSet"},{name:"available_min_id",type:"flags.9?int"},{name:"folder_id",type:"flags.11?int"},{name:"linked_chat_id",type:"flags.14?int"},{name:"location",type:"flags.15?ChannelLocation"},{name:"slowmode_seconds",type:"flags.17?int"},{name:"slowmode_next_send_date",type:"flags.18?int"},{name:"stats_dc",type:"flags.12?int"},{name:"pts",type:"int"}],type:"ChatFull"},{id:3369552190,predicate:"chatParticipant",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:3658699658,predicate:"chatParticipantCreator",params:[{name:"user_id",type:"int"}],type:"ChatParticipant"},{id:3805733942,predicate:"chatParticipantAdmin",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:4237298731,predicate:"chatParticipantsForbidden",params:[{name:"flags",type:"#"},{name:"chat_id",type:"int"},{name:"self_participant",type:"flags.0?ChatParticipant"}],type:"ChatParticipants"},{id:1061556205,predicate:"chatParticipants",params:[{name:"chat_id",type:"int"},{name:"participants",type:"Vector"},{name:"version",type:"int"}],type:"ChatParticipants"},{id:935395612,predicate:"chatPhotoEmpty",params:[],type:"ChatPhoto"},{id:1197267925,predicate:"chatPhoto",params:[{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"},{name:"dc_id",type:"int"}],type:"ChatPhoto"},{id:2212879956,predicate:"messageEmpty",params:[{name:"id",type:"int"}],type:"Message"},{id:1160515173,predicate:"message",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"post",type:"flags.14?true"},{name:"from_scheduled",type:"flags.18?true"},{name:"legacy",type:"flags.19?true"},{name:"edit_hide",type:"flags.21?true"},{name:"id",type:"int"},{name:"from_id",type:"flags.8?int"},{name:"to_id",type:"Peer"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"flags.9?MessageMedia"},{name:"reply_markup",type:"flags.6?ReplyMarkup"},{name:"entities",type:"flags.7?Vector"},{name:"views",type:"flags.10?int"},{name:"edit_date",type:"flags.15?int"},{name:"post_author",type:"flags.16?string"},{name:"grouped_id",type:"flags.17?long"},{name:"restriction_reason",type:"flags.22?Vector"}],type:"Message"},{id:2652479990,predicate:"messageService",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"post",type:"flags.14?true"},{name:"legacy",type:"flags.19?true"},{name:"id",type:"int"},{name:"from_id",type:"flags.8?int"},{name:"to_id",type:"Peer"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"Message"},{id:1038967584,predicate:"messageMediaEmpty",params:[],type:"MessageMedia"},{id:1766936791,predicate:"messageMediaPhoto",params:[{name:"flags",type:"#"},{name:"photo",type:"flags.0?Photo"},{name:"ttl_seconds",type:"flags.2?int"}],type:"MessageMedia"},{id:1457575028,predicate:"messageMediaGeo",params:[{name:"geo",type:"GeoPoint"}],type:"MessageMedia"},{id:3421653312,predicate:"messageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"user_id",type:"int"}],type:"MessageMedia"},{id:2676290718,predicate:"messageMediaUnsupported",params:[],type:"MessageMedia"},{id:2628808919,predicate:"messageMediaDocument",params:[{name:"flags",type:"#"},{name:"document",type:"flags.0?Document"},{name:"ttl_seconds",type:"flags.2?int"}],type:"MessageMedia"},{id:2737690112,predicate:"messageMediaWebPage",params:[{name:"webpage",type:"WebPage"}],type:"MessageMedia"},{id:784356159,predicate:"messageMediaVenue",params:[{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"}],type:"MessageMedia"},{id:4256272392,predicate:"messageMediaGame",params:[{name:"game",type:"Game"}],type:"MessageMedia"},{id:2220168007,predicate:"messageMediaInvoice",params:[{name:"flags",type:"#"},{name:"shipping_address_requested",type:"flags.1?true"},{name:"test",type:"flags.3?true"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"flags.0?WebDocument"},{name:"receipt_msg_id",type:"flags.2?int"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"start_param",type:"string"}],type:"MessageMedia"},{id:2084316681,predicate:"messageMediaGeoLive",params:[{name:"geo",type:"GeoPoint"},{name:"period",type:"int"}],type:"MessageMedia"},{id:1272375192,predicate:"messageMediaPoll",params:[{name:"poll",type:"Poll"},{name:"results",type:"PollResults"}],type:"MessageMedia"},{id:1065280907,predicate:"messageMediaDice",params:[{name:"value",type:"int"},{name:"emoticon",type:"string"}],type:"MessageMedia"},{id:3064919984,predicate:"messageActionEmpty",params:[],type:"MessageAction"},{id:2791541658,predicate:"messageActionChatCreate",params:[{name:"title",type:"string"},{name:"users",type:"Vector"}],type:"MessageAction"},{id:3047280218,predicate:"messageActionChatEditTitle",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:2144015272,predicate:"messageActionChatEditPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageAction"},{id:2514746351,predicate:"messageActionChatDeletePhoto",params:[],type:"MessageAction"},{id:1217033015,predicate:"messageActionChatAddUser",params:[{name:"users",type:"Vector"}],type:"MessageAction"},{id:2997787404,predicate:"messageActionChatDeleteUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:4171036136,predicate:"messageActionChatJoinedByLink",params:[{name:"inviter_id",type:"int"}],type:"MessageAction"},{id:2513611922,predicate:"messageActionChannelCreate",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:1371385889,predicate:"messageActionChatMigrateTo",params:[{name:"channel_id",type:"int"}],type:"MessageAction"},{id:2958420718,predicate:"messageActionChannelMigrateFrom",params:[{name:"title",type:"string"},{name:"chat_id",type:"int"}],type:"MessageAction"},{id:2495428845,predicate:"messageActionPinMessage",params:[],type:"MessageAction"},{id:2679813636,predicate:"messageActionHistoryClear",params:[],type:"MessageAction"},{id:2460428406,predicate:"messageActionGameScore",params:[{name:"game_id",type:"long"},{name:"score",type:"int"}],type:"MessageAction"},{id:2402399015,predicate:"messageActionPaymentSentMe",params:[{name:"flags",type:"#"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"payload",type:"bytes"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping_option_id",type:"flags.1?string"},{name:"charge",type:"PaymentCharge"}],type:"MessageAction"},{id:1080663248,predicate:"messageActionPaymentSent",params:[{name:"currency",type:"string"},{name:"total_amount",type:"long"}],type:"MessageAction"},{id:2162236031,predicate:"messageActionPhoneCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.2?true"},{name:"call_id",type:"long"},{name:"reason",type:"flags.0?PhoneCallDiscardReason"},{name:"duration",type:"flags.1?int"}],type:"MessageAction"},{id:1200788123,predicate:"messageActionScreenshotTaken",params:[],type:"MessageAction"},{id:4209418070,predicate:"messageActionCustomAction",params:[{name:"message",type:"string"}],type:"MessageAction"},{id:2884218878,predicate:"messageActionBotAllowed",params:[{name:"domain",type:"string"}],type:"MessageAction"},{id:455635795,predicate:"messageActionSecureValuesSentMe",params:[{name:"values",type:"Vector"},{name:"credentials",type:"SecureCredentialsEncrypted"}],type:"MessageAction"},{id:3646710100,predicate:"messageActionSecureValuesSent",params:[{name:"types",type:"Vector"}],type:"MessageAction"},{id:4092747638,predicate:"messageActionContactSignUp",params:[],type:"MessageAction"},{id:739712882,predicate:"dialog",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.2?true"},{name:"unread_mark",type:"flags.3?true"},{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"read_inbox_max_id",type:"int"},{name:"read_outbox_max_id",type:"int"},{name:"unread_count",type:"int"},{name:"unread_mentions_count",type:"int"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"pts",type:"flags.0?int"},{name:"draft",type:"flags.1?DraftMessage"},{name:"folder_id",type:"flags.4?int"}],type:"Dialog"},{id:1908216652,predicate:"dialogFolder",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.2?true"},{name:"folder",type:"Folder"},{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"unread_muted_peers_count",type:"int"},{name:"unread_unmuted_peers_count",type:"int"},{name:"unread_muted_messages_count",type:"int"},{name:"unread_unmuted_messages_count",type:"int"}],type:"Dialog"},{id:590459437,predicate:"photoEmpty",params:[{name:"id",type:"long"}],type:"Photo"},{id:3497329829,predicate:"photo",params:[{name:"flags",type:"#"},{name:"has_stickers",type:"flags.0?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"date",type:"int"},{name:"sizes",type:"Vector"},{name:"dc_id",type:"int"}],type:"Photo"},{id:236446268,predicate:"photoSizeEmpty",params:[{name:"type",type:"string"}],type:"PhotoSize"},{id:2009052699,predicate:"photoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"PhotoSize"},{id:3920049402,predicate:"photoCachedSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:3769678894,predicate:"photoStrippedSize",params:[{name:"type",type:"string"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:286776671,predicate:"geoPointEmpty",params:[],type:"GeoPoint"},{id:43446532,predicate:"geoPoint",params:[{name:"long",type:"double"},{name:"lat",type:"double"},{name:"access_hash",type:"long"}],type:"GeoPoint"},{id:1577067778,predicate:"auth.sentCode",params:[{name:"flags",type:"#"},{name:"type",type:"auth.SentCodeType"},{name:"phone_code_hash",type:"string"},{name:"next_type",type:"flags.1?auth.CodeType"},{name:"timeout",type:"flags.2?int"}],type:"auth.SentCode"},{id:3439659286,predicate:"auth.authorization",params:[{name:"flags",type:"#"},{name:"tmp_sessions",type:"flags.0?int"},{name:"user",type:"User"}],type:"auth.Authorization"},{id:1148485274,predicate:"auth.authorizationSignUpRequired",params:[{name:"flags",type:"#"},{name:"terms_of_service",type:"flags.0?help.TermsOfService"}],type:"auth.Authorization"},{id:3751189549,predicate:"auth.exportedAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.ExportedAuthorization"},{id:3099351820,predicate:"inputNotifyPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputNotifyPeer"},{id:423314455,predicate:"inputNotifyUsers",params:[],type:"InputNotifyPeer"},{id:1251338318,predicate:"inputNotifyChats",params:[],type:"InputNotifyPeer"},{id:2983951486,predicate:"inputNotifyBroadcasts",params:[],type:"InputNotifyPeer"},{id:2621249934,predicate:"inputPeerNotifySettings",params:[{name:"flags",type:"#"},{name:"show_previews",type:"flags.0?Bool"},{name:"silent",type:"flags.1?Bool"},{name:"mute_until",type:"flags.2?int"},{name:"sound",type:"flags.3?string"}],type:"InputPeerNotifySettings"},{id:2941295904,predicate:"peerNotifySettings",params:[{name:"flags",type:"#"},{name:"show_previews",type:"flags.0?Bool"},{name:"silent",type:"flags.1?Bool"},{name:"mute_until",type:"flags.2?int"},{name:"sound",type:"flags.3?string"}],type:"PeerNotifySettings"},{id:2172921549,predicate:"peerSettings",params:[{name:"flags",type:"#"},{name:"report_spam",type:"flags.0?true"},{name:"add_contact",type:"flags.1?true"},{name:"block_contact",type:"flags.2?true"},{name:"share_contact",type:"flags.3?true"},{name:"need_contacts_exception",type:"flags.4?true"},{name:"report_geo",type:"flags.5?true"}],type:"PeerSettings"},{id:2755118061,predicate:"wallPaper",params:[{name:"id",type:"long"},{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"default",type:"flags.1?true"},{name:"pattern",type:"flags.3?true"},{name:"dark",type:"flags.4?true"},{name:"access_hash",type:"long"},{name:"slug",type:"string"},{name:"document",type:"Document"},{name:"settings",type:"flags.2?WallPaperSettings"}],type:"WallPaper"},{id:2331249445,predicate:"wallPaperNoFile",params:[{name:"flags",type:"#"},{name:"default",type:"flags.1?true"},{name:"dark",type:"flags.4?true"},{name:"settings",type:"flags.2?WallPaperSettings"}],type:"WallPaper"},{id:1490799288,predicate:"inputReportReasonSpam",params:[],type:"ReportReason"},{id:505595789,predicate:"inputReportReasonViolence",params:[],type:"ReportReason"},{id:777640226,predicate:"inputReportReasonPornography",params:[],type:"ReportReason"},{id:2918469347,predicate:"inputReportReasonChildAbuse",params:[],type:"ReportReason"},{id:3782503690,predicate:"inputReportReasonOther",params:[{name:"text",type:"string"}],type:"ReportReason"},{id:2609510714,predicate:"inputReportReasonCopyright",params:[],type:"ReportReason"},{id:3688169197,predicate:"inputReportReasonGeoIrrelevant",params:[],type:"ReportReason"},{id:3992026130,predicate:"userFull",params:[{name:"flags",type:"#"},{name:"blocked",type:"flags.0?true"},{name:"phone_calls_available",type:"flags.4?true"},{name:"phone_calls_private",type:"flags.5?true"},{name:"can_pin_message",type:"flags.7?true"},{name:"has_scheduled",type:"flags.12?true"},{name:"user",type:"User"},{name:"about",type:"flags.1?string"},{name:"settings",type:"PeerSettings"},{name:"profile_photo",type:"flags.2?Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"bot_info",type:"flags.3?BotInfo"},{name:"pinned_msg_id",type:"flags.6?int"},{name:"common_chats_count",type:"int"},{name:"folder_id",type:"flags.11?int"}],type:"UserFull"},{id:4178692500,predicate:"contact",params:[{name:"user_id",type:"int"},{name:"mutual",type:"Bool"}],type:"Contact"},{id:3489825848,predicate:"importedContact",params:[{name:"user_id",type:"int"},{name:"client_id",type:"long"}],type:"ImportedContact"},{id:1444661369,predicate:"contactBlocked",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ContactBlocked"},{id:3546811489,predicate:"contactStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"ContactStatus"},{id:3075189202,predicate:"contacts.contactsNotModified",params:[],type:"contacts.Contacts"},{id:3941105218,predicate:"contacts.contacts",params:[{name:"contacts",type:"Vector"},{name:"saved_count",type:"int"},{name:"users",type:"Vector"}],type:"contacts.Contacts"},{id:2010127419,predicate:"contacts.importedContacts",params:[{name:"imported",type:"Vector"},{name:"popular_invites",type:"Vector"},{name:"retry_contacts",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.ImportedContacts"},{id:471043349,predicate:"contacts.blocked",params:[{name:"blocked",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Blocked"},{id:2416444065,predicate:"contacts.blockedSlice",params:[{name:"count",type:"int"},{name:"blocked",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Blocked"},{id:364538944,predicate:"messages.dialogs",params:[{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Dialogs"},{id:1910543603,predicate:"messages.dialogsSlice",params:[{name:"count",type:"int"},{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Dialogs"},{id:4041467286,predicate:"messages.dialogsNotModified",params:[{name:"count",type:"int"}],type:"messages.Dialogs"},{id:2356252295,predicate:"messages.messages",params:[{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:3371027998,predicate:"messages.messagesSlice",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"count",type:"int"},{name:"next_rate",type:"flags.0?int"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:2569416247,predicate:"messages.channelMessages",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"pts",type:"int"},{name:"count",type:"int"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.Messages"},{id:1951620897,predicate:"messages.messagesNotModified",params:[{name:"count",type:"int"}],type:"messages.Messages"},{id:1694474197,predicate:"messages.chats",params:[{name:"chats",type:"Vector"}],type:"messages.Chats"},{id:2631405892,predicate:"messages.chatsSlice",params:[{name:"count",type:"int"},{name:"chats",type:"Vector"}],type:"messages.Chats"},{id:3856126364,predicate:"messages.chatFull",params:[{name:"full_chat",type:"ChatFull"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.ChatFull"},{id:3025955281,predicate:"messages.affectedHistory",params:[{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:1474492012,predicate:"inputMessagesFilterEmpty",params:[],type:"MessagesFilter"},{id:2517214492,predicate:"inputMessagesFilterPhotos",params:[],type:"MessagesFilter"},{id:2680163941,predicate:"inputMessagesFilterVideo",params:[],type:"MessagesFilter"},{id:1458172132,predicate:"inputMessagesFilterPhotoVideo",params:[],type:"MessagesFilter"},{id:2665345416,predicate:"inputMessagesFilterDocument",params:[],type:"MessagesFilter"},{id:2129714567,predicate:"inputMessagesFilterUrl",params:[],type:"MessagesFilter"},{id:4291323271,predicate:"inputMessagesFilterGif",params:[],type:"MessagesFilter"},{id:1358283666,predicate:"inputMessagesFilterVoice",params:[],type:"MessagesFilter"},{id:928101534,predicate:"inputMessagesFilterMusic",params:[],type:"MessagesFilter"},{id:975236280,predicate:"inputMessagesFilterChatPhotos",params:[],type:"MessagesFilter"},{id:2160695144,predicate:"inputMessagesFilterPhoneCalls",params:[{name:"flags",type:"#"},{name:"missed",type:"flags.0?true"}],type:"MessagesFilter"},{id:2054952868,predicate:"inputMessagesFilterRoundVoice",params:[],type:"MessagesFilter"},{id:3041516115,predicate:"inputMessagesFilterRoundVideo",params:[],type:"MessagesFilter"},{id:3254314650,predicate:"inputMessagesFilterMyMentions",params:[],type:"MessagesFilter"},{id:3875695885,predicate:"inputMessagesFilterGeo",params:[],type:"MessagesFilter"},{id:3764575107,predicate:"inputMessagesFilterContacts",params:[],type:"MessagesFilter"},{id:522914557,predicate:"updateNewMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1318109142,predicate:"updateMessageID",params:[{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"Update"},{id:2718806245,predicate:"updateDeleteMessages",params:[{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1548249383,predicate:"updateUserTyping",params:[{name:"user_id",type:"int"},{name:"action",type:"SendMessageAction"}],type:"Update"},{id:2590370335,predicate:"updateChatUserTyping",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"action",type:"SendMessageAction"}],type:"Update"},{id:125178264,predicate:"updateChatParticipants",params:[{name:"participants",type:"ChatParticipants"}],type:"Update"},{id:469489699,predicate:"updateUserStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"Update"},{id:2805148531,predicate:"updateUserName",params:[{name:"user_id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"username",type:"string"}],type:"Update"},{id:2503031564,predicate:"updateUserPhoto",params:[{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"photo",type:"UserProfilePhoto"},{name:"previous",type:"Bool"}],type:"Update"},{id:314359194,predicate:"updateNewEncryptedMessage",params:[{name:"message",type:"EncryptedMessage"},{name:"qts",type:"int"}],type:"Update"},{id:386986326,predicate:"updateEncryptedChatTyping",params:[{name:"chat_id",type:"int"}],type:"Update"},{id:3030575245,predicate:"updateEncryption",params:[{name:"chat",type:"EncryptedChat"},{name:"date",type:"int"}],type:"Update"},{id:956179895,predicate:"updateEncryptedMessagesRead",params:[{name:"chat_id",type:"int"},{name:"max_date",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:3930787420,predicate:"updateChatParticipantAdd",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:1851755554,predicate:"updateChatParticipantDelete",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:2388564083,predicate:"updateDcOptions",params:[{name:"dc_options",type:"Vector"}],type:"Update"},{id:2163009562,predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:3200411887,predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:3957614617,predicate:"updateServiceNotification",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"inbox_date",type:"flags.1?int"},{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"entities",type:"Vector"}],type:"Update"},{id:3996854058,predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector"}],type:"Update"},{id:314130811,predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:2627162079,predicate:"updateReadHistoryInbox",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"peer",type:"Peer"},{name:"max_id",type:"int"},{name:"still_unread_count",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:791617983,predicate:"updateReadHistoryOutbox",params:[{name:"peer",type:"Peer"},{name:"max_id",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2139689491,predicate:"updateWebPage",params:[{name:"webpage",type:"WebPage"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1757493555,predicate:"updateReadMessagesContents",params:[{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:3942934523,predicate:"updateChannelTooLong",params:[{name:"flags",type:"#"},{name:"channel_id",type:"int"},{name:"pts",type:"flags.0?int"}],type:"Update"},{id:3067369046,predicate:"updateChannel",params:[{name:"channel_id",type:"int"}],type:"Update"},{id:1656358105,predicate:"updateNewChannelMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:856380452,predicate:"updateReadChannelInbox",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"channel_id",type:"int"},{name:"max_id",type:"int"},{name:"still_unread_count",type:"int"},{name:"pts",type:"int"}],type:"Update"},{id:3279233481,predicate:"updateDeleteChannelMessages",params:[{name:"channel_id",type:"int"},{name:"messages",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2560699211,predicate:"updateChannelMessageViews",params:[{name:"channel_id",type:"int"},{name:"id",type:"int"},{name:"views",type:"int"}],type:"Update"},{id:3062896985,predicate:"updateChatParticipantAdmin",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"is_admin",type:"Bool"},{name:"version",type:"int"}],type:"Update"},{id:1753886890,predicate:"updateNewStickerSet",params:[{name:"stickerset",type:"messages.StickerSet"}],type:"Update"},{id:196268545,predicate:"updateStickerSetsOrder",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"order",type:"Vector"}],type:"Update"},{id:1135492588,predicate:"updateStickerSets",params:[],type:"Update"},{id:2473931806,predicate:"updateSavedGifs",params:[],type:"Update"},{id:1417832080,predicate:"updateBotInlineQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"query",type:"string"},{name:"geo",type:"flags.0?GeoPoint"},{name:"offset",type:"string"}],type:"Update"},{id:239663460,predicate:"updateBotInlineSend",params:[{name:"flags",type:"#"},{name:"user_id",type:"int"},{name:"query",type:"string"},{name:"geo",type:"flags.0?GeoPoint"},{name:"id",type:"string"},{name:"msg_id",type:"flags.1?InputBotInlineMessageID"}],type:"Update"},{id:457133559,predicate:"updateEditChannelMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:2555978869,predicate:"updateChannelPinnedMessage",params:[{name:"channel_id",type:"int"},{name:"id",type:"int"}],type:"Update"},{id:3879028705,predicate:"updateBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"peer",type:"Peer"},{name:"msg_id",type:"int"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:3825430691,predicate:"updateEditMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:4191320666,predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:634833351,predicate:"updateReadChannelOutbox",params:[{name:"channel_id",type:"int"},{name:"max_id",type:"int"}],type:"Update"},{id:3995842921,predicate:"updateDraftMessage",params:[{name:"peer",type:"Peer"},{name:"draft",type:"DraftMessage"}],type:"Update"},{id:1461528386,predicate:"updateReadFeaturedStickers",params:[],type:"Update"},{id:2588027936,predicate:"updateRecentStickers",params:[],type:"Update"},{id:2720652550,predicate:"updateConfig",params:[],type:"Update"},{id:861169551,predicate:"updatePtsChanged",params:[],type:"Update"},{id:1081547008,predicate:"updateChannelWebPage",params:[{name:"channel_id",type:"int"},{name:"webpage",type:"WebPage"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1852826908,predicate:"updateDialogPinned",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.0?true"},{name:"folder_id",type:"flags.1?int"},{name:"peer",type:"DialogPeer"}],type:"Update"},{id:4195302562,predicate:"updatePinnedDialogs",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.1?int"},{name:"order",type:"flags.0?Vector"}],type:"Update"},{id:2199371971,predicate:"updateBotWebhookJSON",params:[{name:"data",type:"DataJSON"}],type:"Update"},{id:2610053286,predicate:"updateBotWebhookJSONQuery",params:[{name:"query_id",type:"long"},{name:"data",type:"DataJSON"},{name:"timeout",type:"int"}],type:"Update"},{id:3771582784,predicate:"updateBotShippingQuery",params:[{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"payload",type:"bytes"},{name:"shipping_address",type:"PostAddress"}],type:"Update"},{id:1563376297,predicate:"updateBotPrecheckoutQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"payload",type:"bytes"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping_option_id",type:"flags.1?string"},{name:"currency",type:"string"},{name:"total_amount",type:"long"}],type:"Update"},{id:2869914398,predicate:"updatePhoneCall",params:[{name:"phone_call",type:"PhoneCall"}],type:"Update"},{id:1180041828,predicate:"updateLangPackTooLong",params:[{name:"lang_code",type:"string"}],type:"Update"},{id:1442983757,predicate:"updateLangPack",params:[{name:"difference",type:"LangPackDifference"}],type:"Update"},{id:3843135853,predicate:"updateFavedStickers",params:[],type:"Update"},{id:2307472197,predicate:"updateChannelReadMessagesContents",params:[{name:"channel_id",type:"int"},{name:"messages",type:"Vector"}],type:"Update"},{id:1887741886,predicate:"updateContactsReset",params:[],type:"Update"},{id:1893427255,predicate:"updateChannelAvailableMessages",params:[{name:"channel_id",type:"int"},{name:"available_min_id",type:"int"}],type:"Update"},{id:3781450179,predicate:"updateDialogUnreadMark",params:[{name:"flags",type:"#"},{name:"unread",type:"flags.0?true"},{name:"peer",type:"DialogPeer"}],type:"Update"},{id:1279515160,predicate:"updateUserPinnedMessage",params:[{name:"user_id",type:"int"},{name:"id",type:"int"}],type:"Update"},{id:3775771465,predicate:"updateChatPinnedMessage",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:2896258427,predicate:"updateMessagePoll",params:[{name:"flags",type:"#"},{name:"poll_id",type:"long"},{name:"poll",type:"flags.0?Poll"},{name:"results",type:"PollResults"}],type:"Update"},{id:1421875280,predicate:"updateChatDefaultBannedRights",params:[{name:"peer",type:"Peer"},{name:"default_banned_rights",type:"ChatBannedRights"},{name:"version",type:"int"}],type:"Update"},{id:422972864,predicate:"updateFolderPeers",params:[{name:"folder_peers",type:"Vector"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:1786671974,predicate:"updatePeerSettings",params:[{name:"peer",type:"Peer"},{name:"settings",type:"PeerSettings"}],type:"Update"},{id:3031420848,predicate:"updatePeerLocated",params:[{name:"peers",type:"Vector"}],type:"Update"},{id:967122427,predicate:"updateNewScheduledMessage",params:[{name:"message",type:"Message"}],type:"Update"},{id:2424728814,predicate:"updateDeleteScheduledMessages",params:[{name:"peer",type:"Peer"},{name:"messages",type:"Vector"}],type:"Update"},{id:2182544291,predicate:"updateTheme",params:[{name:"theme",type:"Theme"}],type:"Update"},{id:2267003193,predicate:"updateGeoLiveViewed",params:[{name:"peer",type:"Peer"},{name:"msg_id",type:"int"}],type:"Update"},{id:1448076945,predicate:"updateLoginToken",params:[],type:"Update"},{id:1123585836,predicate:"updateMessagePollVote",params:[{name:"poll_id",type:"long"},{name:"user_id",type:"int"},{name:"options",type:"Vector"}],type:"Update"},{id:654302845,predicate:"updateDialogFilter",params:[{name:"flags",type:"#"},{name:"id",type:"int"},{name:"filter",type:"flags.0?DialogFilter"}],type:"Update"},{id:2782339333,predicate:"updateDialogFilterOrder",params:[{name:"order",type:"Vector"}],type:"Update"},{id:889491791,predicate:"updateDialogFilters",params:[],type:"Update"},{id:643940105,predicate:"updatePhoneCallSignalingData",params:[{name:"phone_call_id",type:"long"},{name:"data",type:"bytes"}],type:"Update"},{id:2775329342,predicate:"updates.state",params:[{name:"pts",type:"int"},{name:"qts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"},{name:"unread_count",type:"int"}],type:"updates.State"},{id:1567990072,predicate:"updates.differenceEmpty",params:[{name:"date",type:"int"},{name:"seq",type:"int"}],type:"updates.Difference"},{id:16030880,predicate:"updates.difference",params:[{name:"new_messages",type:"Vector"},{name:"new_encrypted_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"state",type:"updates.State"}],type:"updates.Difference"},{id:2835028353,predicate:"updates.differenceSlice",params:[{name:"new_messages",type:"Vector"},{name:"new_encrypted_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"intermediate_state",type:"updates.State"}],type:"updates.Difference"},{id:1258196845,predicate:"updates.differenceTooLong",params:[{name:"pts",type:"int"}],type:"updates.Difference"},{id:3809980286,predicate:"updatesTooLong",params:[],type:"Updates"},{id:2437922577,predicate:"updateShortMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"id",type:"int"},{name:"user_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:377562760,predicate:"updateShortChatMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"mentioned",type:"flags.4?true"},{name:"media_unread",type:"flags.5?true"},{name:"silent",type:"flags.13?true"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"chat_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"fwd_from",type:"flags.2?MessageFwdHeader"},{name:"via_bot_id",type:"flags.11?int"},{name:"reply_to_msg_id",type:"flags.3?int"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:2027216577,predicate:"updateShort",params:[{name:"update",type:"Update"},{name:"date",type:"int"}],type:"Updates"},{id:1918567619,predicate:"updatesCombined",params:[{name:"updates",type:"Vector"},{name:"users",type:"Vector"},{name:"chats",type:"Vector"},{name:"date",type:"int"},{name:"seq_start",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:1957577280,predicate:"updates",params:[{name:"updates",type:"Vector"},{name:"users",type:"Vector"},{name:"chats",type:"Vector"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:301019932,predicate:"updateShortSentMessage",params:[{name:"flags",type:"#"},{name:"out",type:"flags.1?true"},{name:"id",type:"int"},{name:"pts",type:"int"},{name:"pts_count",type:"int"},{name:"date",type:"int"},{name:"media",type:"flags.9?MessageMedia"},{name:"entities",type:"flags.7?Vector"}],type:"Updates"},{id:2378853029,predicate:"photos.photos",params:[{name:"photos",type:"Vector"},{name:"users",type:"Vector"}],type:"photos.Photos"},{id:352657236,predicate:"photos.photosSlice",params:[{name:"count",type:"int"},{name:"photos",type:"Vector"},{name:"users",type:"Vector"}],type:"photos.Photos"},{id:539045032,predicate:"photos.photo",params:[{name:"photo",type:"Photo"},{name:"users",type:"Vector"}],type:"photos.Photo"},{id:157948117,predicate:"upload.file",params:[{name:"type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.File"},{id:4052539972,predicate:"upload.fileCdnRedirect",params:[{name:"dc_id",type:"int"},{name:"file_token",type:"bytes"},{name:"encryption_key",type:"bytes"},{name:"encryption_iv",type:"bytes"},{name:"file_hashes",type:"Vector"}],type:"upload.File"},{id:414687501,predicate:"dcOption",params:[{name:"flags",type:"#"},{name:"ipv6",type:"flags.0?true"},{name:"media_only",type:"flags.1?true"},{name:"tcpo_only",type:"flags.2?true"},{name:"cdn",type:"flags.3?true"},{name:"static",type:"flags.4?true"},{name:"id",type:"int"},{name:"ip_address",type:"string"},{name:"port",type:"int"},{name:"secret",type:"flags.10?bytes"}],type:"DcOption"},{id:856375399,predicate:"config",params:[{name:"flags",type:"#"},{name:"phonecalls_enabled",type:"flags.1?true"},{name:"default_p2p_contacts",type:"flags.3?true"},{name:"preload_featured_stickers",type:"flags.4?true"},{name:"ignore_phone_entities",type:"flags.5?true"},{name:"revoke_pm_inbox",type:"flags.6?true"},{name:"blocked_mode",type:"flags.8?true"},{name:"pfs_enabled",type:"flags.13?true"},{name:"date",type:"int"},{name:"expires",type:"int"},{name:"test_mode",type:"Bool"},{name:"this_dc",type:"int"},{name:"dc_options",type:"Vector"},{name:"dc_txt_domain_name",type:"string"},{name:"chat_size_max",type:"int"},{name:"megagroup_size_max",type:"int"},{name:"forwarded_count_max",type:"int"},{name:"online_update_period_ms",type:"int"},{name:"offline_blur_timeout_ms",type:"int"},{name:"offline_idle_timeout_ms",type:"int"},{name:"online_cloud_timeout_ms",type:"int"},{name:"notify_cloud_delay_ms",type:"int"},{name:"notify_default_delay_ms",type:"int"},{name:"push_chat_period_ms",type:"int"},{name:"push_chat_limit",type:"int"},{name:"saved_gifs_limit",type:"int"},{name:"edit_time_limit",type:"int"},{name:"revoke_time_limit",type:"int"},{name:"revoke_pm_time_limit",type:"int"},{name:"rating_e_decay",type:"int"},{name:"stickers_recent_limit",type:"int"},{name:"stickers_faved_limit",type:"int"},{name:"channels_read_media_period",type:"int"},{name:"tmp_sessions",type:"flags.0?int"},{name:"pinned_dialogs_count_max",type:"int"},{name:"pinned_infolder_count_max",type:"int"},{name:"call_receive_timeout_ms",type:"int"},{name:"call_ring_timeout_ms",type:"int"},{name:"call_connect_timeout_ms",type:"int"},{name:"call_packet_timeout_ms",type:"int"},{name:"me_url_prefix",type:"string"},{name:"autoupdate_url_prefix",type:"flags.7?string"},{name:"gif_search_username",type:"flags.9?string"},{name:"venue_search_username",type:"flags.10?string"},{name:"img_search_username",type:"flags.11?string"},{name:"static_maps_provider",type:"flags.12?string"},{name:"caption_length_max",type:"int"},{name:"message_length_max",type:"int"},{name:"webfile_dc_id",type:"int"},{name:"suggested_lang_code",type:"flags.2?string"},{name:"lang_pack_version",type:"flags.2?int"},{name:"base_lang_pack_version",type:"flags.2?int"}],type:"Config"},{id:2384074613,predicate:"nearestDc",params:[{name:"country",type:"string"},{name:"this_dc",type:"int"},{name:"nearest_dc",type:"int"}],type:"NearestDc"},{id:497489295,predicate:"help.appUpdate",params:[{name:"flags",type:"#"},{name:"can_not_skip",type:"flags.0?true"},{name:"id",type:"int"},{name:"version",type:"string"},{name:"text",type:"string"},{name:"entities",type:"Vector"},{name:"document",type:"flags.1?Document"},{name:"url",type:"flags.2?string"}],type:"help.AppUpdate"},{id:3294258486,predicate:"help.noAppUpdate",params:[],type:"help.AppUpdate"},{id:415997816,predicate:"help.inviteText",params:[{name:"message",type:"string"}],type:"help.InviteText"},{id:2877210784,predicate:"encryptedChatEmpty",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:1006044124,predicate:"encryptedChatWaiting",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"}],type:"EncryptedChat"},{id:3363328638,predicate:"encryptedChatRequested",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:4199992886,predicate:"encryptedChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:332848423,predicate:"encryptedChatDiscarded",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:4047615457,predicate:"inputEncryptedChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputEncryptedChat"},{id:3256830334,predicate:"encryptedFileEmpty",params:[],type:"EncryptedFile"},{id:1248893260,predicate:"encryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"key_fingerprint",type:"int"}],type:"EncryptedFile"},{id:406307684,predicate:"inputEncryptedFileEmpty",params:[],type:"InputEncryptedFile"},{id:1690108678,predicate:"inputEncryptedFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:1511503333,predicate:"inputEncryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputEncryptedFile"},{id:767652808,predicate:"inputEncryptedFileBigUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:3977822488,predicate:"encryptedMessage",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"},{name:"file",type:"EncryptedFile"}],type:"EncryptedMessage"},{id:594758406,predicate:"encryptedMessageService",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"}],type:"EncryptedMessage"},{id:3236054581,predicate:"messages.dhConfigNotModified",params:[{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:740433629,predicate:"messages.dhConfig",params:[{name:"g",type:"int"},{name:"p",type:"bytes"},{name:"version",type:"int"},{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:1443858741,predicate:"messages.sentEncryptedMessage",params:[{name:"date",type:"int"}],type:"messages.SentEncryptedMessage"},{id:2492727090,predicate:"messages.sentEncryptedFile",params:[{name:"date",type:"int"},{name:"file",type:"EncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:1928391342,predicate:"inputDocumentEmpty",params:[],type:"InputDocument"},{id:448771445,predicate:"inputDocument",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"}],type:"InputDocument"},{id:922273905,predicate:"documentEmpty",params:[{name:"id",type:"long"}],type:"Document"},{id:512177195,predicate:"document",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"file_reference",type:"bytes"},{name:"date",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumbs",type:"flags.0?Vector"},{name:"video_thumbs",type:"flags.1?Vector"},{name:"dc_id",type:"int"},{name:"attributes",type:"Vector"}],type:"Document"},{id:398898678,predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"},{id:2681474008,predicate:"notifyPeer",params:[{name:"peer",type:"Peer"}],type:"NotifyPeer"},{id:3033021260,predicate:"notifyUsers",params:[],type:"NotifyPeer"},{id:3221737155,predicate:"notifyChats",params:[],type:"NotifyPeer"},{id:3591563503,predicate:"notifyBroadcasts",params:[],type:"NotifyPeer"},{id:381645902,predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:4250847477,predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:2710034031,predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:3916839660,predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3576656887,predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:4082227115,predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3520285222,predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:2852968932,predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:393186209,predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:1653390447,predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:3714748232,predicate:"sendMessageGamePlayAction",params:[],type:"SendMessageAction"},{id:2297593788,predicate:"sendMessageRecordRoundAction",params:[],type:"SendMessageAction"},{id:608050278,predicate:"sendMessageUploadRoundAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:3004386717,predicate:"contacts.found",params:[{name:"my_results",type:"Vector"},{name:"results",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.Found"},{id:1335282456,predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:3187344422,predicate:"inputPrivacyKeyChatInvite",params:[],type:"InputPrivacyKey"},{id:4206550111,predicate:"inputPrivacyKeyPhoneCall",params:[],type:"InputPrivacyKey"},{id:3684593874,predicate:"inputPrivacyKeyPhoneP2P",params:[],type:"InputPrivacyKey"},{id:2765966344,predicate:"inputPrivacyKeyForwards",params:[],type:"InputPrivacyKey"},{id:1461304012,predicate:"inputPrivacyKeyProfilePhoto",params:[],type:"InputPrivacyKey"},{id:55761658,predicate:"inputPrivacyKeyPhoneNumber",params:[],type:"InputPrivacyKey"},{id:3508640733,predicate:"inputPrivacyKeyAddedByPhone",params:[],type:"InputPrivacyKey"},{id:3157175088,predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:1343122938,predicate:"privacyKeyChatInvite",params:[],type:"PrivacyKey"},{id:1030105979,predicate:"privacyKeyPhoneCall",params:[],type:"PrivacyKey"},{id:961092808,predicate:"privacyKeyPhoneP2P",params:[],type:"PrivacyKey"},{id:1777096355,predicate:"privacyKeyForwards",params:[],type:"PrivacyKey"},{id:2517966829,predicate:"privacyKeyProfilePhoto",params:[],type:"PrivacyKey"},{id:3516589165,predicate:"privacyKeyPhoneNumber",params:[],type:"PrivacyKey"},{id:1124062251,predicate:"privacyKeyAddedByPhone",params:[],type:"PrivacyKey"},{id:218751099,predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:407582158,predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:320652927,predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector"}],type:"InputPrivacyRule"},{id:195371015,predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:3597362889,predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:2417034343,predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector"}],type:"InputPrivacyRule"},{id:1283572154,predicate:"inputPrivacyValueAllowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"InputPrivacyRule"},{id:3626197935,predicate:"inputPrivacyValueDisallowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"InputPrivacyRule"},{id:4294843308,predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:1698855810,predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:1297858060,predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector"}],type:"PrivacyRule"},{id:4169726490,predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:2339628899,predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:209668535,predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector"}],type:"PrivacyRule"},{id:415136107,predicate:"privacyValueAllowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"PrivacyRule"},{id:2897086096,predicate:"privacyValueDisallowChatParticipants",params:[{name:"chats",type:"Vector"}],type:"PrivacyRule"},{id:1352683077,predicate:"account.privacyRules",params:[{name:"rules",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"account.PrivacyRules"},{id:3100684255,predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:1815593308,predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:297109817,predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:1662637586,predicate:"documentAttributeSticker",params:[{name:"flags",type:"#"},{name:"mask",type:"flags.1?true"},{name:"alt",type:"string"},{name:"stickerset",type:"InputStickerSet"},{name:"mask_coords",type:"flags.0?MaskCoords"}],type:"DocumentAttribute"},{id:250621158,predicate:"documentAttributeVideo",params:[{name:"flags",type:"#"},{name:"round_message",type:"flags.0?true"},{name:"supports_streaming",type:"flags.1?true"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:2555574726,predicate:"documentAttributeAudio",params:[{name:"flags",type:"#"},{name:"voice",type:"flags.10?true"},{name:"duration",type:"int"},{name:"title",type:"flags.0?string"},{name:"performer",type:"flags.1?string"},{name:"waveform",type:"flags.2?bytes"}],type:"DocumentAttribute"},{id:358154344,predicate:"documentAttributeFilename",params:[{name:"file_name",type:"string"}],type:"DocumentAttribute"},{id:2550256375,predicate:"documentAttributeHasStickers",params:[],type:"DocumentAttribute"},{id:4050950690,predicate:"messages.stickersNotModified",params:[],type:"messages.Stickers"},{id:3831077821,predicate:"messages.stickers",params:[{name:"hash",type:"int"},{name:"stickers",type:"Vector"}],type:"messages.Stickers"},{id:313694676,predicate:"stickerPack",params:[{name:"emoticon",type:"string"},{name:"documents",type:"Vector"}],type:"StickerPack"},{id:3898999491,predicate:"messages.allStickersNotModified",params:[],type:"messages.AllStickers"},{id:3992797279,predicate:"messages.allStickers",params:[{name:"hash",type:"int"},{name:"sets",type:"Vector"}],type:"messages.AllStickers"},{id:2228326789,predicate:"messages.affectedMessages",params:[{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"messages.AffectedMessages"},{id:3943987176,predicate:"webPageEmpty",params:[{name:"id",type:"long"}],type:"WebPage"},{id:3313949212,predicate:"webPagePending",params:[{name:"id",type:"long"},{name:"date",type:"int"}],type:"WebPage"},{id:3902555570,predicate:"webPage",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"url",type:"string"},{name:"display_url",type:"string"},{name:"hash",type:"int"},{name:"type",type:"flags.0?string"},{name:"site_name",type:"flags.1?string"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"photo",type:"flags.4?Photo"},{name:"embed_url",type:"flags.5?string"},{name:"embed_type",type:"flags.5?string"},{name:"embed_width",type:"flags.6?int"},{name:"embed_height",type:"flags.6?int"},{name:"duration",type:"flags.7?int"},{name:"author",type:"flags.8?string"},{name:"document",type:"flags.9?Document"},{name:"cached_page",type:"flags.10?Page"},{name:"attributes",type:"flags.12?Vector"}],type:"WebPage"},{id:1930545681,predicate:"webPageNotModified",params:[{name:"flags",type:"#"},{name:"cached_page_views",type:"flags.0?int"}],type:"WebPage"},{id:2902578717,predicate:"authorization",params:[{name:"flags",type:"#"},{name:"current",type:"flags.0?true"},{name:"official_app",type:"flags.1?true"},{name:"password_pending",type:"flags.2?true"},{name:"hash",type:"long"},{name:"device_model",type:"string"},{name:"platform",type:"string"},{name:"system_version",type:"string"},{name:"api_id",type:"int"},{name:"app_name",type:"string"},{name:"app_version",type:"string"},{name:"date_created",type:"int"},{name:"date_active",type:"int"},{name:"ip",type:"string"},{name:"country",type:"string"},{name:"region",type:"string"}],type:"Authorization"},{id:307276766,predicate:"account.authorizations",params:[{name:"authorizations",type:"Vector"}],type:"account.Authorizations"},{id:2904965624,predicate:"account.password",params:[{name:"flags",type:"#"},{name:"has_recovery",type:"flags.0?true"},{name:"has_secure_values",type:"flags.1?true"},{name:"has_password",type:"flags.2?true"},{name:"current_algo",type:"flags.2?PasswordKdfAlgo"},{name:"srp_B",type:"flags.2?bytes"},{name:"srp_id",type:"flags.2?long"},{name:"hint",type:"flags.3?string"},{name:"email_unconfirmed_pattern",type:"flags.4?string"},{name:"new_algo",type:"PasswordKdfAlgo"},{name:"new_secure_algo",type:"SecurePasswordKdfAlgo"},{name:"secure_random",type:"bytes"}],type:"account.Password"},{id:2589733861,predicate:"account.passwordSettings",params:[{name:"flags",type:"#"},{name:"email",type:"flags.0?string"},{name:"secure_settings",type:"flags.1?SecureSecretSettings"}],type:"account.PasswordSettings"},{id:3258394569,predicate:"account.passwordInputSettings",params:[{name:"flags",type:"#"},{name:"new_algo",type:"flags.0?PasswordKdfAlgo"},{name:"new_password_hash",type:"flags.0?bytes"},{name:"hint",type:"flags.0?string"},{name:"email",type:"flags.1?string"},{name:"new_secure_settings",type:"flags.2?SecureSecretSettings"}],type:"account.PasswordInputSettings"},{id:326715557,predicate:"auth.passwordRecovery",params:[{name:"email_pattern",type:"string"}],type:"auth.PasswordRecovery"},{id:2743383929,predicate:"receivedNotifyMessage",params:[{name:"id",type:"int"},{name:"flags",type:"int"}],type:"ReceivedNotifyMessage"},{id:1776236393,predicate:"chatInviteEmpty",params:[],type:"ExportedChatInvite"},{id:4230874556,predicate:"chatInviteExported",params:[{name:"link",type:"string"}],type:"ExportedChatInvite"},{id:1516793212,predicate:"chatInviteAlready",params:[{name:"chat",type:"Chat"}],type:"ChatInvite"},{id:3754096014,predicate:"chatInvite",params:[{name:"flags",type:"#"},{name:"channel",type:"flags.0?true"},{name:"broadcast",type:"flags.1?true"},{name:"public",type:"flags.2?true"},{name:"megagroup",type:"flags.3?true"},{name:"title",type:"string"},{name:"photo",type:"Photo"},{name:"participants_count",type:"int"},{name:"participants",type:"flags.4?Vector"}],type:"ChatInvite"},{id:4290128789,predicate:"inputStickerSetEmpty",params:[],type:"InputStickerSet"},{id:2649203305,predicate:"inputStickerSetID",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputStickerSet"},{id:2250033312,predicate:"inputStickerSetShortName",params:[{name:"short_name",type:"string"}],type:"InputStickerSet"},{id:42402760,predicate:"inputStickerSetAnimatedEmoji",params:[],type:"InputStickerSet"},{id:3867103758,predicate:"inputStickerSetDice",params:[{name:"emoticon",type:"string"}],type:"InputStickerSet"},{id:4004802343,predicate:"stickerSet",params:[{name:"flags",type:"#"},{name:"archived",type:"flags.1?true"},{name:"official",type:"flags.2?true"},{name:"masks",type:"flags.3?true"},{name:"animated",type:"flags.5?true"},{name:"installed_date",type:"flags.0?int"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"short_name",type:"string"},{name:"thumb",type:"flags.4?PhotoSize"},{name:"thumb_dc_id",type:"flags.4?int"},{name:"count",type:"int"},{name:"hash",type:"int"}],type:"StickerSet"},{id:3054118054,predicate:"messages.stickerSet",params:[{name:"set",type:"StickerSet"},{name:"packs",type:"Vector"},{name:"documents",type:"Vector"}],type:"messages.StickerSet"},{id:3262826695,predicate:"botCommand",params:[{name:"command",type:"string"},{name:"description",type:"string"}],type:"BotCommand"},{id:2565348666,predicate:"botInfo",params:[{name:"user_id",type:"int"},{name:"description",type:"string"},{name:"commands",type:"Vector"}],type:"BotInfo"},{id:2734311552,predicate:"keyboardButton",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:629866245,predicate:"keyboardButtonUrl",params:[{name:"text",type:"string"},{name:"url",type:"string"}],type:"KeyboardButton"},{id:1748655686,predicate:"keyboardButtonCallback",params:[{name:"text",type:"string"},{name:"data",type:"bytes"}],type:"KeyboardButton"},{id:2976541737,predicate:"keyboardButtonRequestPhone",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:4235815743,predicate:"keyboardButtonRequestGeoLocation",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:90744648,predicate:"keyboardButtonSwitchInline",params:[{name:"flags",type:"#"},{name:"same_peer",type:"flags.0?true"},{name:"text",type:"string"},{name:"query",type:"string"}],type:"KeyboardButton"},{id:1358175439,predicate:"keyboardButtonGame",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:2950250427,predicate:"keyboardButtonBuy",params:[{name:"text",type:"string"}],type:"KeyboardButton"},{id:280464681,predicate:"keyboardButtonUrlAuth",params:[{name:"flags",type:"#"},{name:"text",type:"string"},{name:"fwd_text",type:"flags.0?string"},{name:"url",type:"string"},{name:"button_id",type:"int"}],type:"KeyboardButton"},{id:3492708308,predicate:"inputKeyboardButtonUrlAuth",params:[{name:"flags",type:"#"},{name:"request_write_access",type:"flags.0?true"},{name:"text",type:"string"},{name:"fwd_text",type:"flags.1?string"},{name:"url",type:"string"},{name:"bot",type:"InputUser"}],type:"KeyboardButton"},{id:3150401885,predicate:"keyboardButtonRequestPoll",params:[{name:"flags",type:"#"},{name:"quiz",type:"flags.0?Bool"},{name:"text",type:"string"}],type:"KeyboardButton"},{id:2002815875,predicate:"keyboardButtonRow",params:[{name:"buttons",type:"Vector"}],type:"KeyboardButtonRow"},{id:2688441221,predicate:"replyKeyboardHide",params:[{name:"flags",type:"#"},{name:"selective",type:"flags.2?true"}],type:"ReplyMarkup"},{id:4094724768,predicate:"replyKeyboardForceReply",params:[{name:"flags",type:"#"},{name:"single_use",type:"flags.1?true"},{name:"selective",type:"flags.2?true"}],type:"ReplyMarkup"},{id:889353612,predicate:"replyKeyboardMarkup",params:[{name:"flags",type:"#"},{name:"resize",type:"flags.0?true"},{name:"single_use",type:"flags.1?true"},{name:"selective",type:"flags.2?true"},{name:"rows",type:"Vector"}],type:"ReplyMarkup"},{id:1218642516,predicate:"replyInlineMarkup",params:[{name:"rows",type:"Vector"}],type:"ReplyMarkup"},{id:3146955413,predicate:"messageEntityUnknown",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:4194588573,predicate:"messageEntityMention",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1868782349,predicate:"messageEntityHashtag",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1827637959,predicate:"messageEntityBotCommand",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1859134776,predicate:"messageEntityUrl",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1692693954,predicate:"messageEntityEmail",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:3177253833,predicate:"messageEntityBold",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:2188348256,predicate:"messageEntityItalic",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:681706865,predicate:"messageEntityCode",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1938967520,predicate:"messageEntityPre",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"language",type:"string"}],type:"MessageEntity"},{id:1990644519,predicate:"messageEntityTextUrl",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"url",type:"string"}],type:"MessageEntity"},{id:892193368,predicate:"messageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"int"}],type:"MessageEntity"},{id:546203849,predicate:"inputMessageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"InputUser"}],type:"MessageEntity"},{id:2607407947,predicate:"messageEntityPhone",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1280209983,predicate:"messageEntityCashtag",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:2622389899,predicate:"messageEntityUnderline",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:3204879316,predicate:"messageEntityStrike",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:34469328,predicate:"messageEntityBlockquote",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:1981704948,predicate:"messageEntityBankCard",params:[{name:"offset",type:"int"},{name:"length",type:"int"}],type:"MessageEntity"},{id:4002160262,predicate:"inputChannelEmpty",params:[],type:"InputChannel"},{id:2951442734,predicate:"inputChannel",params:[{name:"channel_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputChannel"},{id:707290417,predicate:"inputChannelFromMessage",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"channel_id",type:"int"}],type:"InputChannel"},{id:2131196633,predicate:"contacts.resolvedPeer",params:[{name:"peer",type:"Peer"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.ResolvedPeer"},{id:182649427,predicate:"messageRange",params:[{name:"min_id",type:"int"},{name:"max_id",type:"int"}],type:"MessageRange"},{id:1041346555,predicate:"updates.channelDifferenceEmpty",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"pts",type:"int"},{name:"timeout",type:"flags.1?int"}],type:"updates.ChannelDifference"},{id:2763835134,predicate:"updates.channelDifferenceTooLong",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"timeout",type:"flags.1?int"},{name:"dialog",type:"Dialog"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"updates.ChannelDifference"},{id:543450958,predicate:"updates.channelDifference",params:[{name:"flags",type:"#"},{name:"final",type:"flags.0?true"},{name:"pts",type:"int"},{name:"timeout",type:"flags.1?int"},{name:"new_messages",type:"Vector"},{name:"other_updates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"updates.ChannelDifference"},{id:2496933607,predicate:"channelMessagesFilterEmpty",params:[],type:"ChannelMessagesFilter"},{id:3447183703,predicate:"channelMessagesFilter",params:[{name:"flags",type:"#"},{name:"exclude_new_messages",type:"flags.1?true"},{name:"ranges",type:"Vector"}],type:"ChannelMessagesFilter"},{id:367766557,predicate:"channelParticipant",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ChannelParticipant"},{id:2737347181,predicate:"channelParticipantSelf",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChannelParticipant"},{id:2156729764,predicate:"channelParticipantCreator",params:[{name:"flags",type:"#"},{name:"user_id",type:"int"},{name:"rank",type:"flags.0?string"}],type:"ChannelParticipant"},{id:3435051951,predicate:"channelParticipantAdmin",params:[{name:"flags",type:"#"},{name:"can_edit",type:"flags.0?true"},{name:"self",type:"flags.1?true"},{name:"user_id",type:"int"},{name:"inviter_id",type:"flags.1?int"},{name:"promoted_by",type:"int"},{name:"date",type:"int"},{name:"admin_rights",type:"ChatAdminRights"},{name:"rank",type:"flags.2?string"}],type:"ChannelParticipant"},{id:470789295,predicate:"channelParticipantBanned",params:[{name:"flags",type:"#"},{name:"left",type:"flags.0?true"},{name:"user_id",type:"int"},{name:"kicked_by",type:"int"},{name:"date",type:"int"},{name:"banned_rights",type:"ChatBannedRights"}],type:"ChannelParticipant"},{id:3728686201,predicate:"channelParticipantsRecent",params:[],type:"ChannelParticipantsFilter"},{id:3026225513,predicate:"channelParticipantsAdmins",params:[],type:"ChannelParticipantsFilter"},{id:2746567045,predicate:"channelParticipantsKicked",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:2966521435,predicate:"channelParticipantsBots",params:[],type:"ChannelParticipantsFilter"},{id:338142689,predicate:"channelParticipantsBanned",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:106343499,predicate:"channelParticipantsSearch",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:3144345741,predicate:"channelParticipantsContacts",params:[{name:"q",type:"string"}],type:"ChannelParticipantsFilter"},{id:4117684904,predicate:"channels.channelParticipants",params:[{name:"count",type:"int"},{name:"participants",type:"Vector"},{name:"users",type:"Vector"}],type:"channels.ChannelParticipants"},{id:4028055529,predicate:"channels.channelParticipantsNotModified",params:[],type:"channels.ChannelParticipants"},{id:3503927651,predicate:"channels.channelParticipant",params:[{name:"participant",type:"ChannelParticipant"},{name:"users",type:"Vector"}],type:"channels.ChannelParticipant"},{id:2013922064,predicate:"help.termsOfService",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"id",type:"DataJSON"},{name:"text",type:"string"},{name:"entities",type:"Vector"},{name:"min_age_confirm",type:"flags.1?int"}],type:"help.TermsOfService"},{id:372165663,predicate:"foundGif",params:[{name:"url",type:"string"},{name:"thumb_url",type:"string"},{name:"content_url",type:"string"},{name:"content_type",type:"string"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"FoundGif"},{id:2624914441,predicate:"foundGifCached",params:[{name:"url",type:"string"},{name:"photo",type:"Photo"},{name:"document",type:"Document"}],type:"FoundGif"},{id:1158290442,predicate:"messages.foundGifs",params:[{name:"next_offset",type:"int"},{name:"results",type:"Vector"}],type:"messages.FoundGifs"},{id:3892468898,predicate:"messages.savedGifsNotModified",params:[],type:"messages.SavedGifs"},{id:772213157,predicate:"messages.savedGifs",params:[{name:"hash",type:"int"},{name:"gifs",type:"Vector"}],type:"messages.SavedGifs"},{id:864077702,predicate:"inputBotInlineMessageMediaAuto",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1036876423,predicate:"inputBotInlineMessageText",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:3249626469,predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1098628881,predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:2800599037,predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:1262639204,predicate:"inputBotInlineMessageGame",params:[{name:"flags",type:"#"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:2294256409,predicate:"inputBotInlineResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"url",type:"flags.3?string"},{name:"thumb",type:"flags.4?InputWebDocument"},{name:"content",type:"flags.5?InputWebDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:2832753831,predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:4294507972,predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:1336154098,predicate:"inputBotInlineResultGame",params:[{name:"id",type:"string"},{name:"short_name",type:"string"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:1984755728,predicate:"botInlineMessageMediaAuto",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:2357159394,predicate:"botInlineMessageText",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:3072515685,predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:2324063644,predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"venue_type",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:416402882,predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"vcard",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:295067450,predicate:"botInlineResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"url",type:"flags.3?string"},{name:"thumb",type:"flags.4?WebDocument"},{name:"content",type:"flags.5?WebDocument"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:400266251,predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:2491197512,predicate:"messages.botResults",params:[{name:"flags",type:"#"},{name:"gallery",type:"flags.0?true"},{name:"query_id",type:"long"},{name:"next_offset",type:"flags.1?string"},{name:"switch_pm",type:"flags.2?InlineBotSwitchPM"},{name:"results",type:"Vector"},{name:"cache_time",type:"int"},{name:"users",type:"Vector"}],type:"messages.BotResults"},{id:1571494644,predicate:"exportedMessageLink",params:[{name:"link",type:"string"},{name:"html",type:"string"}],type:"ExportedMessageLink"},{id:893020267,predicate:"messageFwdHeader",params:[{name:"flags",type:"#"},{name:"from_id",type:"flags.0?int"},{name:"from_name",type:"flags.5?string"},{name:"date",type:"int"},{name:"channel_id",type:"flags.1?int"},{name:"channel_post",type:"flags.2?int"},{name:"post_author",type:"flags.3?string"},{name:"saved_from_peer",type:"flags.4?Peer"},{name:"saved_from_msg_id",type:"flags.4?int"},{name:"psa_type",type:"flags.6?string"}],type:"MessageFwdHeader"},{id:1923290508,predicate:"auth.codeTypeSms",params:[],type:"auth.CodeType"},{id:1948046307,predicate:"auth.codeTypeCall",params:[],type:"auth.CodeType"},{id:577556219,predicate:"auth.codeTypeFlashCall",params:[],type:"auth.CodeType"},{id:1035688326,predicate:"auth.sentCodeTypeApp",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:3221273506,predicate:"auth.sentCodeTypeSms",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:1398007207,predicate:"auth.sentCodeTypeCall",params:[{name:"length",type:"int"}],type:"auth.SentCodeType"},{id:2869151449,predicate:"auth.sentCodeTypeFlashCall",params:[{name:"pattern",type:"string"}],type:"auth.SentCodeType"},{id:911761060,predicate:"messages.botCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"has_url",type:"flags.3?true"},{name:"native_ui",type:"flags.4?true"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"messages.BotCallbackAnswer"},{id:649453030,predicate:"messages.messageEditData",params:[{name:"flags",type:"#"},{name:"caption",type:"flags.0?true"}],type:"messages.MessageEditData"},{id:2299280777,predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:1008755359,predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:863093588,predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector"},{name:"messages",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:3989684315,predicate:"topPeer",params:[{name:"peer",type:"Peer"},{name:"rating",type:"double"}],type:"TopPeer"},{id:2875595611,predicate:"topPeerCategoryBotsPM",params:[],type:"TopPeerCategory"},{id:344356834,predicate:"topPeerCategoryBotsInline",params:[],type:"TopPeerCategory"},{id:104314861,predicate:"topPeerCategoryCorrespondents",params:[],type:"TopPeerCategory"},{id:3172442442,predicate:"topPeerCategoryGroups",params:[],type:"TopPeerCategory"},{id:371037736,predicate:"topPeerCategoryChannels",params:[],type:"TopPeerCategory"},{id:511092620,predicate:"topPeerCategoryPhoneCalls",params:[],type:"TopPeerCategory"},{id:2822794409,predicate:"topPeerCategoryForwardUsers",params:[],type:"TopPeerCategory"},{id:4226728176,predicate:"topPeerCategoryForwardChats",params:[],type:"TopPeerCategory"},{id:4219683473,predicate:"topPeerCategoryPeers",params:[{name:"category",type:"TopPeerCategory"},{name:"count",type:"int"},{name:"peers",type:"Vector"}],type:"TopPeerCategoryPeers"},{id:3727060725,predicate:"contacts.topPeersNotModified",params:[],type:"contacts.TopPeers"},{id:1891070632,predicate:"contacts.topPeers",params:[{name:"categories",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"contacts.TopPeers"},{id:3039597469,predicate:"contacts.topPeersDisabled",params:[],type:"contacts.TopPeers"},{id:453805082,predicate:"draftMessageEmpty",params:[{name:"flags",type:"#"},{name:"date",type:"flags.0?int"}],type:"DraftMessage"},{id:4253970719,predicate:"draftMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"},{name:"date",type:"int"}],type:"DraftMessage"},{id:3336309862,predicate:"messages.featuredStickersNotModified",params:[{name:"count",type:"int"}],type:"messages.FeaturedStickers"},{id:3064709953,predicate:"messages.featuredStickers",params:[{name:"hash",type:"int"},{name:"count",type:"int"},{name:"sets",type:"Vector"},{name:"unread",type:"Vector"}],type:"messages.FeaturedStickers"},{id:186120336,predicate:"messages.recentStickersNotModified",params:[],type:"messages.RecentStickers"},{id:586395571,predicate:"messages.recentStickers",params:[{name:"hash",type:"int"},{name:"packs",type:"Vector"},{name:"stickers",type:"Vector"},{name:"dates",type:"Vector"}],type:"messages.RecentStickers"},{id:1338747336,predicate:"messages.archivedStickers",params:[{name:"count",type:"int"},{name:"sets",type:"Vector"}],type:"messages.ArchivedStickers"},{id:946083368,predicate:"messages.stickerSetInstallResultSuccess",params:[],type:"messages.StickerSetInstallResult"},{id:904138920,predicate:"messages.stickerSetInstallResultArchive",params:[{name:"sets",type:"Vector"}],type:"messages.StickerSetInstallResult"},{id:1678812626,predicate:"stickerSetCovered",params:[{name:"set",type:"StickerSet"},{name:"cover",type:"Document"}],type:"StickerSetCovered"},{id:872932635,predicate:"stickerSetMultiCovered",params:[{name:"set",type:"StickerSet"},{name:"covers",type:"Vector"}],type:"StickerSetCovered"},{id:2933316530,predicate:"maskCoords",params:[{name:"n",type:"int"},{name:"x",type:"double"},{name:"y",type:"double"},{name:"zoom",type:"double"}],type:"MaskCoords"},{id:1251549527,predicate:"inputStickeredMediaPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputStickeredMedia"},{id:70813275,predicate:"inputStickeredMediaDocument",params:[{name:"id",type:"InputDocument"}],type:"InputStickeredMedia"},{id:3187238203,predicate:"game",params:[{name:"flags",type:"#"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"short_name",type:"string"},{name:"title",type:"string"},{name:"description",type:"string"},{name:"photo",type:"Photo"},{name:"document",type:"flags.0?Document"}],type:"Game"},{id:53231223,predicate:"inputGameID",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputGame"},{id:3274827786,predicate:"inputGameShortName",params:[{name:"bot_id",type:"InputUser"},{name:"short_name",type:"string"}],type:"InputGame"},{id:1493171408,predicate:"highScore",params:[{name:"pos",type:"int"},{name:"user_id",type:"int"},{name:"score",type:"int"}],type:"HighScore"},{id:2587622809,predicate:"messages.highScores",params:[{name:"scores",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.HighScores"},{id:3695018575,predicate:"textEmpty",params:[],type:"RichText"},{id:1950782688,predicate:"textPlain",params:[{name:"text",type:"string"}],type:"RichText"},{id:1730456516,predicate:"textBold",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3641877916,predicate:"textItalic",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3240501956,predicate:"textUnderline",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:2616769429,predicate:"textStrike",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:1816074681,predicate:"textFixed",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:1009288385,predicate:"textUrl",params:[{name:"text",type:"RichText"},{name:"url",type:"string"},{name:"webpage_id",type:"long"}],type:"RichText"},{id:3730443734,predicate:"textEmail",params:[{name:"text",type:"RichText"},{name:"email",type:"string"}],type:"RichText"},{id:2120376535,predicate:"textConcat",params:[{name:"texts",type:"Vector"}],type:"RichText"},{id:3983181060,predicate:"textSubscript",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:3355139585,predicate:"textSuperscript",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:55281185,predicate:"textMarked",params:[{name:"text",type:"RichText"}],type:"RichText"},{id:483104362,predicate:"textPhone",params:[{name:"text",type:"RichText"},{name:"phone",type:"string"}],type:"RichText"},{id:136105807,predicate:"textImage",params:[{name:"document_id",type:"long"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"RichText"},{id:894777186,predicate:"textAnchor",params:[{name:"text",type:"RichText"},{name:"name",type:"string"}],type:"RichText"},{id:324435594,predicate:"pageBlockUnsupported",params:[],type:"PageBlock"},{id:1890305021,predicate:"pageBlockTitle",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:2415565343,predicate:"pageBlockSubtitle",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3132089824,predicate:"pageBlockAuthorDate",params:[{name:"author",type:"RichText"},{name:"published_date",type:"int"}],type:"PageBlock"},{id:3218105580,predicate:"pageBlockHeader",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:4046173921,predicate:"pageBlockSubheader",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:1182402406,predicate:"pageBlockParagraph",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3228621118,predicate:"pageBlockPreformatted",params:[{name:"text",type:"RichText"},{name:"language",type:"string"}],type:"PageBlock"},{id:1216809369,predicate:"pageBlockFooter",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3676352904,predicate:"pageBlockDivider",params:[],type:"PageBlock"},{id:3456972720,predicate:"pageBlockAnchor",params:[{name:"name",type:"string"}],type:"PageBlock"},{id:3840442385,predicate:"pageBlockList",params:[{name:"items",type:"Vector"}],type:"PageBlock"},{id:641563686,predicate:"pageBlockBlockquote",params:[{name:"text",type:"RichText"},{name:"caption",type:"RichText"}],type:"PageBlock"},{id:1329878739,predicate:"pageBlockPullquote",params:[{name:"text",type:"RichText"},{name:"caption",type:"RichText"}],type:"PageBlock"},{id:391759200,predicate:"pageBlockPhoto",params:[{name:"flags",type:"#"},{name:"photo_id",type:"long"},{name:"caption",type:"PageCaption"},{name:"url",type:"flags.0?string"},{name:"webpage_id",type:"flags.0?long"}],type:"PageBlock"},{id:2089805750,predicate:"pageBlockVideo",params:[{name:"flags",type:"#"},{name:"autoplay",type:"flags.0?true"},{name:"loop",type:"flags.1?true"},{name:"video_id",type:"long"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:972174080,predicate:"pageBlockCover",params:[{name:"cover",type:"PageBlock"}],type:"PageBlock"},{id:2826014149,predicate:"pageBlockEmbed",params:[{name:"flags",type:"#"},{name:"full_width",type:"flags.0?true"},{name:"allow_scrolling",type:"flags.3?true"},{name:"url",type:"flags.1?string"},{name:"html",type:"flags.2?string"},{name:"poster_photo_id",type:"flags.4?long"},{name:"w",type:"flags.5?int"},{name:"h",type:"flags.5?int"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:4065961995,predicate:"pageBlockEmbedPost",params:[{name:"url",type:"string"},{name:"webpage_id",type:"long"},{name:"author_photo_id",type:"long"},{name:"author",type:"string"},{name:"date",type:"int"},{name:"blocks",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:1705048653,predicate:"pageBlockCollage",params:[{name:"items",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:52401552,predicate:"pageBlockSlideshow",params:[{name:"items",type:"Vector"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:4011282869,predicate:"pageBlockChannel",params:[{name:"channel",type:"Chat"}],type:"PageBlock"},{id:2151899626,predicate:"pageBlockAudio",params:[{name:"audio_id",type:"long"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:504660880,predicate:"pageBlockKicker",params:[{name:"text",type:"RichText"}],type:"PageBlock"},{id:3209554562,predicate:"pageBlockTable",params:[{name:"flags",type:"#"},{name:"bordered",type:"flags.0?true"},{name:"striped",type:"flags.1?true"},{name:"title",type:"RichText"},{name:"rows",type:"Vector"}],type:"PageBlock"},{id:2592793057,predicate:"pageBlockOrderedList",params:[{name:"items",type:"Vector"}],type:"PageBlock"},{id:1987480557,predicate:"pageBlockDetails",params:[{name:"flags",type:"#"},{name:"open",type:"flags.0?true"},{name:"blocks",type:"Vector"},{name:"title",type:"RichText"}],type:"PageBlock"},{id:370236054,predicate:"pageBlockRelatedArticles",params:[{name:"title",type:"RichText"},{name:"articles",type:"Vector"}],type:"PageBlock"},{id:2756656886,predicate:"pageBlockMap",params:[{name:"geo",type:"GeoPoint"},{name:"zoom",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"caption",type:"PageCaption"}],type:"PageBlock"},{id:2246320897,predicate:"phoneCallDiscardReasonMissed",params:[],type:"PhoneCallDiscardReason"},{id:3767910816,predicate:"phoneCallDiscardReasonDisconnect",params:[],type:"PhoneCallDiscardReason"},{id:1471006352,predicate:"phoneCallDiscardReasonHangup",params:[],type:"PhoneCallDiscardReason"},{id:4210550985,predicate:"phoneCallDiscardReasonBusy",params:[],type:"PhoneCallDiscardReason"},{id:2104790276,predicate:"dataJSON",params:[{name:"data",type:"string"}],type:"DataJSON"},{id:3408489464,predicate:"labeledPrice",params:[{name:"label",type:"string"},{name:"amount",type:"long"}],type:"LabeledPrice"},{id:3272254296,predicate:"invoice",params:[{name:"flags",type:"#"},{name:"test",type:"flags.0?true"},{name:"name_requested",type:"flags.1?true"},{name:"phone_requested",type:"flags.2?true"},{name:"email_requested",type:"flags.3?true"},{name:"shipping_address_requested",type:"flags.4?true"},{name:"flexible",type:"flags.5?true"},{name:"phone_to_provider",type:"flags.6?true"},{name:"email_to_provider",type:"flags.7?true"},{name:"currency",type:"string"},{name:"prices",type:"Vector"}],type:"Invoice"},{id:3926049406,predicate:"paymentCharge",params:[{name:"id",type:"string"},{name:"provider_charge_id",type:"string"}],type:"PaymentCharge"},{id:512535275,predicate:"postAddress",params:[{name:"street_line1",type:"string"},{name:"street_line2",type:"string"},{name:"city",type:"string"},{name:"state",type:"string"},{name:"country_iso2",type:"string"},{name:"post_code",type:"string"}],type:"PostAddress"},{id:2426158996,predicate:"paymentRequestedInfo",params:[{name:"flags",type:"#"},{name:"name",type:"flags.0?string"},{name:"phone",type:"flags.1?string"},{name:"email",type:"flags.2?string"},{name:"shipping_address",type:"flags.3?PostAddress"}],type:"PaymentRequestedInfo"},{id:3452074527,predicate:"paymentSavedCredentialsCard",params:[{name:"id",type:"string"},{name:"title",type:"string"}],type:"PaymentSavedCredentials"},{id:475467473,predicate:"webDocument",params:[{name:"url",type:"string"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"WebDocument"},{id:4190682310,predicate:"webDocumentNoProxy",params:[{name:"url",type:"string"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"WebDocument"},{id:2616017741,predicate:"inputWebDocument",params:[{name:"url",type:"string"},{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"attributes",type:"Vector"}],type:"InputWebDocument"},{id:3258570374,predicate:"inputWebFileLocation",params:[{name:"url",type:"string"},{name:"access_hash",type:"long"}],type:"InputWebFileLocation"},{id:2669814217,predicate:"inputWebFileGeoPointLocation",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"access_hash",type:"long"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"zoom",type:"int"},{name:"scale",type:"int"}],type:"InputWebFileLocation"},{id:568808380,predicate:"upload.webFile",params:[{name:"size",type:"int"},{name:"mime_type",type:"string"},{name:"file_type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.WebFile"},{id:1062645411,predicate:"payments.paymentForm",params:[{name:"flags",type:"#"},{name:"can_save_credentials",type:"flags.2?true"},{name:"password_missing",type:"flags.3?true"},{name:"bot_id",type:"int"},{name:"invoice",type:"Invoice"},{name:"provider_id",type:"int"},{name:"url",type:"string"},{name:"native_provider",type:"flags.4?string"},{name:"native_params",type:"flags.4?DataJSON"},{name:"saved_info",type:"flags.0?PaymentRequestedInfo"},{name:"saved_credentials",type:"flags.1?PaymentSavedCredentials"},{name:"users",type:"Vector"}],type:"payments.PaymentForm"},{id:3510966403,predicate:"payments.validatedRequestedInfo",params:[{name:"flags",type:"#"},{name:"id",type:"flags.0?string"},{name:"shipping_options",type:"flags.1?Vector"}],type:"payments.ValidatedRequestedInfo"},{id:1314881805,predicate:"payments.paymentResult",params:[{name:"updates",type:"Updates"}],type:"payments.PaymentResult"},{id:3628142905,predicate:"payments.paymentVerificationNeeded",params:[{name:"url",type:"string"}],type:"payments.PaymentResult"},{id:1342771681,predicate:"payments.paymentReceipt",params:[{name:"flags",type:"#"},{name:"date",type:"int"},{name:"bot_id",type:"int"},{name:"invoice",type:"Invoice"},{name:"provider_id",type:"int"},{name:"info",type:"flags.0?PaymentRequestedInfo"},{name:"shipping",type:"flags.1?ShippingOption"},{name:"currency",type:"string"},{name:"total_amount",type:"long"},{name:"credentials_title",type:"string"},{name:"users",type:"Vector"}],type:"payments.PaymentReceipt"},{id:4220511292,predicate:"payments.savedInfo",params:[{name:"flags",type:"#"},{name:"has_saved_credentials",type:"flags.1?true"},{name:"saved_info",type:"flags.0?PaymentRequestedInfo"}],type:"payments.SavedInfo"},{id:3238965967,predicate:"inputPaymentCredentialsSaved",params:[{name:"id",type:"string"},{name:"tmp_password",type:"bytes"}],type:"InputPaymentCredentials"},{id:873977640,predicate:"inputPaymentCredentials",params:[{name:"flags",type:"#"},{name:"save",type:"flags.0?true"},{name:"data",type:"DataJSON"}],type:"InputPaymentCredentials"},{id:178373535,predicate:"inputPaymentCredentialsApplePay",params:[{name:"payment_data",type:"DataJSON"}],type:"InputPaymentCredentials"},{id:3389379854,predicate:"inputPaymentCredentialsAndroidPay",params:[{name:"payment_token",type:"DataJSON"},{name:"google_transaction_id",type:"string"}],type:"InputPaymentCredentials"},{id:3680828724,predicate:"account.tmpPassword",params:[{name:"tmp_password",type:"bytes"},{name:"valid_until",type:"int"}],type:"account.TmpPassword"},{id:3055631583,predicate:"shippingOption",params:[{name:"id",type:"string"},{name:"title",type:"string"},{name:"prices",type:"Vector"}],type:"ShippingOption"},{id:4288717974,predicate:"inputStickerSetItem",params:[{name:"flags",type:"#"},{name:"document",type:"InputDocument"},{name:"emoji",type:"string"},{name:"mask_coords",type:"flags.0?MaskCoords"}],type:"InputStickerSetItem"},{id:506920429,predicate:"inputPhoneCall",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoneCall"},{id:1399245077,predicate:"phoneCallEmpty",params:[{name:"id",type:"long"}],type:"PhoneCall"},{id:462375633,predicate:"phoneCallWaiting",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"protocol",type:"PhoneCallProtocol"},{name:"receive_date",type:"flags.0?int"}],type:"PhoneCall"},{id:2280307539,predicate:"phoneCallRequested",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_hash",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"PhoneCall"},{id:2575058250,predicate:"phoneCallAccepted",params:[{name:"flags",type:"#"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_b",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"PhoneCall"},{id:2269294207,predicate:"phoneCall",params:[{name:"flags",type:"#"},{name:"p2p_allowed",type:"flags.5?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"},{name:"protocol",type:"PhoneCallProtocol"},{name:"connections",type:"Vector"},{name:"start_date",type:"int"}],type:"PhoneCall"},{id:1355435489,predicate:"phoneCallDiscarded",params:[{name:"flags",type:"#"},{name:"need_rating",type:"flags.2?true"},{name:"need_debug",type:"flags.3?true"},{name:"video",type:"flags.5?true"},{name:"id",type:"long"},{name:"reason",type:"flags.0?PhoneCallDiscardReason"},{name:"duration",type:"flags.1?int"}],type:"PhoneCall"},{id:2639009728,predicate:"phoneConnection",params:[{name:"id",type:"long"},{name:"ip",type:"string"},{name:"ipv6",type:"string"},{name:"port",type:"int"},{name:"peer_tag",type:"bytes"}],type:"PhoneConnection"},{id:4236742600,predicate:"phoneCallProtocol",params:[{name:"flags",type:"#"},{name:"udp_p2p",type:"flags.0?true"},{name:"udp_reflector",type:"flags.1?true"},{name:"min_layer",type:"int"},{name:"max_layer",type:"int"},{name:"library_versions",type:"Vector"}],type:"PhoneCallProtocol"},{id:3968000320,predicate:"phone.phoneCall",params:[{name:"phone_call",type:"PhoneCall"},{name:"users",type:"Vector"}],type:"phone.PhoneCall"},{id:4004045934,predicate:"upload.cdnFileReuploadNeeded",params:[{name:"request_token",type:"bytes"}],type:"upload.CdnFile"},{id:2845821519,predicate:"upload.cdnFile",params:[{name:"bytes",type:"bytes"}],type:"upload.CdnFile"},{id:3380800186,predicate:"cdnPublicKey",params:[{name:"dc_id",type:"int"},{name:"public_key",type:"string"}],type:"CdnPublicKey"},{id:1462101002,predicate:"cdnConfig",params:[{name:"public_keys",type:"Vector"}],type:"CdnConfig"},{id:3402727926,predicate:"langPackString",params:[{name:"key",type:"string"},{name:"value",type:"string"}],type:"LangPackString"},{id:1816636575,predicate:"langPackStringPluralized",params:[{name:"flags",type:"#"},{name:"key",type:"string"},{name:"zero_value",type:"flags.0?string"},{name:"one_value",type:"flags.1?string"},{name:"two_value",type:"flags.2?string"},{name:"few_value",type:"flags.3?string"},{name:"many_value",type:"flags.4?string"},{name:"other_value",type:"string"}],type:"LangPackString"},{id:695856818,predicate:"langPackStringDeleted",params:[{name:"key",type:"string"}],type:"LangPackString"},{id:4085629430,predicate:"langPackDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"},{name:"version",type:"int"},{name:"strings",type:"Vector"}],type:"LangPackDifference"},{id:4006239459,predicate:"langPackLanguage",params:[{name:"flags",type:"#"},{name:"official",type:"flags.0?true"},{name:"rtl",type:"flags.2?true"},{name:"beta",type:"flags.3?true"},{name:"name",type:"string"},{name:"native_name",type:"string"},{name:"lang_code",type:"string"},{name:"base_lang_code",type:"flags.1?string"},{name:"plural_code",type:"string"},{name:"strings_count",type:"int"},{name:"translated_count",type:"int"},{name:"translations_url",type:"string"}],type:"LangPackLanguage"},{id:3873421349,predicate:"channelAdminLogEventActionChangeTitle",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1427671598,predicate:"channelAdminLogEventActionChangeAbout",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1783299128,predicate:"channelAdminLogEventActionChangeUsername",params:[{name:"prev_value",type:"string"},{name:"new_value",type:"string"}],type:"ChannelAdminLogEventAction"},{id:1129042607,predicate:"channelAdminLogEventActionChangePhoto",params:[{name:"prev_photo",type:"Photo"},{name:"new_photo",type:"Photo"}],type:"ChannelAdminLogEventAction"},{id:460916654,predicate:"channelAdminLogEventActionToggleInvites",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:648939889,predicate:"channelAdminLogEventActionToggleSignatures",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:3924306968,predicate:"channelAdminLogEventActionUpdatePinned",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:1889215493,predicate:"channelAdminLogEventActionEditMessage",params:[{name:"prev_message",type:"Message"},{name:"new_message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:1121994683,predicate:"channelAdminLogEventActionDeleteMessage",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:405815507,predicate:"channelAdminLogEventActionParticipantJoin",params:[],type:"ChannelAdminLogEventAction"},{id:4170676210,predicate:"channelAdminLogEventActionParticipantLeave",params:[],type:"ChannelAdminLogEventAction"},{id:3810276568,predicate:"channelAdminLogEventActionParticipantInvite",params:[{name:"participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:3872931198,predicate:"channelAdminLogEventActionParticipantToggleBan",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:3580323600,predicate:"channelAdminLogEventActionParticipantToggleAdmin",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:2982398631,predicate:"channelAdminLogEventActionChangeStickerSet",params:[{name:"prev_stickerset",type:"InputStickerSet"},{name:"new_stickerset",type:"InputStickerSet"}],type:"ChannelAdminLogEventAction"},{id:1599903217,predicate:"channelAdminLogEventActionTogglePreHistoryHidden",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:771095562,predicate:"channelAdminLogEventActionDefaultBannedRights",params:[{name:"prev_banned_rights",type:"ChatBannedRights"},{name:"new_banned_rights",type:"ChatBannedRights"}],type:"ChannelAdminLogEventAction"},{id:2399639107,predicate:"channelAdminLogEventActionStopPoll",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:2725218331,predicate:"channelAdminLogEventActionChangeLinkedChat",params:[{name:"prev_value",type:"int"},{name:"new_value",type:"int"}],type:"ChannelAdminLogEventAction"},{id:241923758,predicate:"channelAdminLogEventActionChangeLocation",params:[{name:"prev_value",type:"ChannelLocation"},{name:"new_value",type:"ChannelLocation"}],type:"ChannelAdminLogEventAction"},{id:1401984889,predicate:"channelAdminLogEventActionToggleSlowMode",params:[{name:"prev_value",type:"int"},{name:"new_value",type:"int"}],type:"ChannelAdminLogEventAction"},{id:995769920,predicate:"channelAdminLogEvent",params:[{name:"id",type:"long"},{name:"date",type:"int"},{name:"user_id",type:"int"},{name:"action",type:"ChannelAdminLogEventAction"}],type:"ChannelAdminLogEvent"},{id:3985307469,predicate:"channels.adminLogResults",params:[{name:"events",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"channels.AdminLogResults"},{id:3926948580,predicate:"channelAdminLogEventsFilter",params:[{name:"flags",type:"#"},{name:"join",type:"flags.0?true"},{name:"leave",type:"flags.1?true"},{name:"invite",type:"flags.2?true"},{name:"ban",type:"flags.3?true"},{name:"unban",type:"flags.4?true"},{name:"kick",type:"flags.5?true"},{name:"unkick",type:"flags.6?true"},{name:"promote",type:"flags.7?true"},{name:"demote",type:"flags.8?true"},{name:"info",type:"flags.9?true"},{name:"settings",type:"flags.10?true"},{name:"pinned",type:"flags.11?true"},{name:"edit",type:"flags.12?true"},{name:"delete",type:"flags.13?true"}],type:"ChannelAdminLogEventsFilter"},{id:1558266229,predicate:"popularContact",params:[{name:"client_id",type:"long"},{name:"importers",type:"int"}],type:"PopularContact"},{id:2660214483,predicate:"messages.favedStickersNotModified",params:[],type:"messages.FavedStickers"},{id:4085198614,predicate:"messages.favedStickers",params:[{name:"hash",type:"int"},{name:"packs",type:"Vector"},{name:"stickers",type:"Vector"}],type:"messages.FavedStickers"},{id:1189204285,predicate:"recentMeUrlUnknown",params:[{name:"url",type:"string"}],type:"RecentMeUrl"},{id:2377921334,predicate:"recentMeUrlUser",params:[{name:"url",type:"string"},{name:"user_id",type:"int"}],type:"RecentMeUrl"},{id:2686132985,predicate:"recentMeUrlChat",params:[{name:"url",type:"string"},{name:"chat_id",type:"int"}],type:"RecentMeUrl"},{id:3947431965,predicate:"recentMeUrlChatInvite",params:[{name:"url",type:"string"},{name:"chat_invite",type:"ChatInvite"}],type:"RecentMeUrl"},{id:3154794460,predicate:"recentMeUrlStickerSet",params:[{name:"url",type:"string"},{name:"set",type:"StickerSetCovered"}],type:"RecentMeUrl"},{id:235081943,predicate:"help.recentMeUrls",params:[{name:"urls",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"help.RecentMeUrls"},{id:482797855,predicate:"inputSingleMedia",params:[{name:"flags",type:"#"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"},{name:"message",type:"string"},{name:"entities",type:"flags.0?Vector"}],type:"InputSingleMedia"},{id:3402187762,predicate:"webAuthorization",params:[{name:"hash",type:"long"},{name:"bot_id",type:"int"},{name:"domain",type:"string"},{name:"browser",type:"string"},{name:"platform",type:"string"},{name:"date_created",type:"int"},{name:"date_active",type:"int"},{name:"ip",type:"string"},{name:"region",type:"string"}],type:"WebAuthorization"},{id:3981887996,predicate:"account.webAuthorizations",params:[{name:"authorizations",type:"Vector"},{name:"users",type:"Vector"}],type:"account.WebAuthorizations"},{id:2792792866,predicate:"inputMessageID",params:[{name:"id",type:"int"}],type:"InputMessage"},{id:3134751637,predicate:"inputMessageReplyTo",params:[{name:"id",type:"int"}],type:"InputMessage"},{id:2257003832,predicate:"inputMessagePinned",params:[],type:"InputMessage"},{id:4239064759,predicate:"inputDialogPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputDialogPeer"},{id:1684014375,predicate:"inputDialogPeerFolder",params:[{name:"folder_id",type:"int"}],type:"InputDialogPeer"},{id:3849174789,predicate:"dialogPeer",params:[{name:"peer",type:"Peer"}],type:"DialogPeer"},{id:1363483106,predicate:"dialogPeerFolder",params:[{name:"folder_id",type:"int"}],type:"DialogPeer"},{id:223655517,predicate:"messages.foundStickerSetsNotModified",params:[],type:"messages.FoundStickerSets"},{id:1359533640,predicate:"messages.foundStickerSets",params:[{name:"hash",type:"int"},{name:"sets",type:"Vector"}],type:"messages.FoundStickerSets"},{id:1648543603,predicate:"fileHash",params:[{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"bytes"}],type:"FileHash"},{id:1968737087,predicate:"inputClientProxy",params:[{name:"address",type:"string"},{name:"port",type:"int"}],type:"InputClientProxy"},{id:3811614591,predicate:"help.termsOfServiceUpdateEmpty",params:[{name:"expires",type:"int"}],type:"help.TermsOfServiceUpdate"},{id:686618977,predicate:"help.termsOfServiceUpdate",params:[{name:"expires",type:"int"},{name:"terms_of_service",type:"help.TermsOfService"}],type:"help.TermsOfServiceUpdate"},{id:859091184,predicate:"inputSecureFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"file_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"InputSecureFile"},{id:1399317950,predicate:"inputSecureFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputSecureFile"},{id:1679398724,predicate:"secureFileEmpty",params:[],type:"SecureFile"},{id:3760683618,predicate:"secureFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"date",type:"int"},{name:"file_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureFile"},{id:2330640067,predicate:"secureData",params:[{name:"data",type:"bytes"},{name:"data_hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureData"},{id:2103482845,predicate:"securePlainPhone",params:[{name:"phone",type:"string"}],type:"SecurePlainData"},{id:569137759,predicate:"securePlainEmail",params:[{name:"email",type:"string"}],type:"SecurePlainData"},{id:2636808675,predicate:"secureValueTypePersonalDetails",params:[],type:"SecureValueType"},{id:1034709504,predicate:"secureValueTypePassport",params:[],type:"SecureValueType"},{id:115615172,predicate:"secureValueTypeDriverLicense",params:[],type:"SecureValueType"},{id:2698015819,predicate:"secureValueTypeIdentityCard",params:[],type:"SecureValueType"},{id:2577698595,predicate:"secureValueTypeInternalPassport",params:[],type:"SecureValueType"},{id:3420659238,predicate:"secureValueTypeAddress",params:[],type:"SecureValueType"},{id:4231435598,predicate:"secureValueTypeUtilityBill",params:[],type:"SecureValueType"},{id:2299755533,predicate:"secureValueTypeBankStatement",params:[],type:"SecureValueType"},{id:2340959368,predicate:"secureValueTypeRentalAgreement",params:[],type:"SecureValueType"},{id:2581823594,predicate:"secureValueTypePassportRegistration",params:[],type:"SecureValueType"},{id:3926060083,predicate:"secureValueTypeTemporaryRegistration",params:[],type:"SecureValueType"},{id:3005262555,predicate:"secureValueTypePhone",params:[],type:"SecureValueType"},{id:2386339822,predicate:"secureValueTypeEmail",params:[],type:"SecureValueType"},{id:411017418,predicate:"secureValue",params:[{name:"flags",type:"#"},{name:"type",type:"SecureValueType"},{name:"data",type:"flags.0?SecureData"},{name:"front_side",type:"flags.1?SecureFile"},{name:"reverse_side",type:"flags.2?SecureFile"},{name:"selfie",type:"flags.3?SecureFile"},{name:"translation",type:"flags.6?Vector"},{name:"files",type:"flags.4?Vector"},{name:"plain_data",type:"flags.5?SecurePlainData"},{name:"hash",type:"bytes"}],type:"SecureValue"},{id:3676426407,predicate:"inputSecureValue",params:[{name:"flags",type:"#"},{name:"type",type:"SecureValueType"},{name:"data",type:"flags.0?SecureData"},{name:"front_side",type:"flags.1?InputSecureFile"},{name:"reverse_side",type:"flags.2?InputSecureFile"},{name:"selfie",type:"flags.3?InputSecureFile"},{name:"translation",type:"flags.6?Vector"},{name:"files",type:"flags.4?Vector"},{name:"plain_data",type:"flags.5?SecurePlainData"}],type:"InputSecureValue"},{id:3978218928,predicate:"secureValueHash",params:[{name:"type",type:"SecureValueType"},{name:"hash",type:"bytes"}],type:"SecureValueHash"},{id:3903065049,predicate:"secureValueErrorData",params:[{name:"type",type:"SecureValueType"},{name:"data_hash",type:"bytes"},{name:"field",type:"string"},{name:"text",type:"string"}],type:"SecureValueError"},{id:12467706,predicate:"secureValueErrorFrontSide",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2257201829,predicate:"secureValueErrorReverseSide",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:3845639894,predicate:"secureValueErrorSelfie",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2054162547,predicate:"secureValueErrorFile",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:1717706985,predicate:"secureValueErrorFiles",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"Vector"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2258466191,predicate:"secureValueError",params:[{name:"type",type:"SecureValueType"},{name:"hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:2702460784,predicate:"secureValueErrorTranslationFile",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"bytes"},{name:"text",type:"string"}],type:"SecureValueError"},{id:878931416,predicate:"secureValueErrorTranslationFiles",params:[{name:"type",type:"SecureValueType"},{name:"file_hash",type:"Vector"},{name:"text",type:"string"}],type:"SecureValueError"},{id:871426631,predicate:"secureCredentialsEncrypted",params:[{name:"data",type:"bytes"},{name:"hash",type:"bytes"},{name:"secret",type:"bytes"}],type:"SecureCredentialsEncrypted"},{id:2905480408,predicate:"account.authorizationForm",params:[{name:"flags",type:"#"},{name:"required_types",type:"Vector"},{name:"values",type:"Vector"},{name:"errors",type:"Vector"},{name:"users",type:"Vector"},{name:"privacy_policy_url",type:"flags.0?string"}],type:"account.AuthorizationForm"},{id:2166326607,predicate:"account.sentEmailCode",params:[{name:"email_pattern",type:"string"},{name:"length",type:"int"}],type:"account.SentEmailCode"},{id:1722786150,predicate:"help.deepLinkInfoEmpty",params:[],type:"help.DeepLinkInfo"},{id:1783556146,predicate:"help.deepLinkInfo",params:[{name:"flags",type:"#"},{name:"update_app",type:"flags.0?true"},{name:"message",type:"string"},{name:"entities",type:"flags.1?Vector"}],type:"help.DeepLinkInfo"},{id:289586518,predicate:"savedPhoneContact",params:[{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"date",type:"int"}],type:"SavedContact"},{id:1304052993,predicate:"account.takeout",params:[{name:"id",type:"long"}],type:"account.Takeout"},{id:3562713238,predicate:"passwordKdfAlgoUnknown",params:[],type:"PasswordKdfAlgo"},{id:982592842,predicate:"passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow",params:[{name:"salt1",type:"bytes"},{name:"salt2",type:"bytes"},{name:"g",type:"int"},{name:"p",type:"bytes"}],type:"PasswordKdfAlgo"},{id:4883767,predicate:"securePasswordKdfAlgoUnknown",params:[],type:"SecurePasswordKdfAlgo"},{id:3153255840,predicate:"securePasswordKdfAlgoPBKDF2HMACSHA512iter100000",params:[{name:"salt",type:"bytes"}],type:"SecurePasswordKdfAlgo"},{id:2252807570,predicate:"securePasswordKdfAlgoSHA512",params:[{name:"salt",type:"bytes"}],type:"SecurePasswordKdfAlgo"},{id:354925740,predicate:"secureSecretSettings",params:[{name:"secure_algo",type:"SecurePasswordKdfAlgo"},{name:"secure_secret",type:"bytes"},{name:"secure_secret_id",type:"long"}],type:"SecureSecretSettings"},{id:2558588504,predicate:"inputCheckPasswordEmpty",params:[],type:"InputCheckPasswordSRP"},{id:3531600002,predicate:"inputCheckPasswordSRP",params:[{name:"srp_id",type:"long"},{name:"A",type:"bytes"},{name:"M1",type:"bytes"}],type:"InputCheckPasswordSRP"},{id:2191366618,predicate:"secureRequiredType",params:[{name:"flags",type:"#"},{name:"native_names",type:"flags.0?true"},{name:"selfie_required",type:"flags.1?true"},{name:"translation_required",type:"flags.2?true"},{name:"type",type:"SecureValueType"}],type:"SecureRequiredType"},{id:41187252,predicate:"secureRequiredTypeOneOf",params:[{name:"types",type:"Vector"}],type:"SecureRequiredType"},{id:3216634967,predicate:"help.passportConfigNotModified",params:[],type:"help.PassportConfig"},{id:2694370991,predicate:"help.passportConfig",params:[{name:"hash",type:"int"},{name:"countries_langs",type:"DataJSON"}],type:"help.PassportConfig"},{id:488313413,predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"JSONValue"}],type:"InputAppEvent"},{id:3235781593,predicate:"jsonObjectValue",params:[{name:"key",type:"string"},{name:"value",type:"JSONValue"}],type:"JSONObjectValue"},{id:1064139624,predicate:"jsonNull",params:[],type:"JSONValue"},{id:3342098026,predicate:"jsonBool",params:[{name:"value",type:"Bool"}],type:"JSONValue"},{id:736157604,predicate:"jsonNumber",params:[{name:"value",type:"double"}],type:"JSONValue"},{id:3072226938,predicate:"jsonString",params:[{name:"value",type:"string"}],type:"JSONValue"},{id:4148447075,predicate:"jsonArray",params:[{name:"value",type:"Vector"}],type:"JSONValue"},{id:2579616925,predicate:"jsonObject",params:[{name:"value",type:"Vector"}],type:"JSONValue"},{id:878078826,predicate:"pageTableCell",params:[{name:"flags",type:"#"},{name:"header",type:"flags.0?true"},{name:"align_center",type:"flags.3?true"},{name:"align_right",type:"flags.4?true"},{name:"valign_middle",type:"flags.5?true"},{name:"valign_bottom",type:"flags.6?true"},{name:"text",type:"flags.7?RichText"},{name:"colspan",type:"flags.1?int"},{name:"rowspan",type:"flags.2?int"}],type:"PageTableCell"},{id:3770729957,predicate:"pageTableRow",params:[{name:"cells",type:"Vector"}],type:"PageTableRow"},{id:1869903447,predicate:"pageCaption",params:[{name:"text",type:"RichText"},{name:"credit",type:"RichText"}],type:"PageCaption"},{id:3106911949,predicate:"pageListItemText",params:[{name:"text",type:"RichText"}],type:"PageListItem"},{id:635466748,predicate:"pageListItemBlocks",params:[{name:"blocks",type:"Vector"}],type:"PageListItem"},{id:1577484359,predicate:"pageListOrderedItemText",params:[{name:"num",type:"string"},{name:"text",type:"RichText"}],type:"PageListOrderedItem"},{id:2564655414,predicate:"pageListOrderedItemBlocks",params:[{name:"num",type:"string"},{name:"blocks",type:"Vector"}],type:"PageListOrderedItem"},{id:3012615176,predicate:"pageRelatedArticle",params:[{name:"flags",type:"#"},{name:"url",type:"string"},{name:"webpage_id",type:"long"},{name:"title",type:"flags.0?string"},{name:"description",type:"flags.1?string"},{name:"photo_id",type:"flags.2?long"},{name:"author",type:"flags.3?string"},{name:"published_date",type:"flags.4?int"}],type:"PageRelatedArticle"},{id:2556788493,predicate:"page",params:[{name:"flags",type:"#"},{name:"part",type:"flags.0?true"},{name:"rtl",type:"flags.1?true"},{name:"v2",type:"flags.2?true"},{name:"url",type:"string"},{name:"blocks",type:"Vector"},{name:"photos",type:"Vector"},{name:"documents",type:"Vector"},{name:"views",type:"flags.3?int"}],type:"Page"},{id:2349199817,predicate:"help.supportName",params:[{name:"name",type:"string"}],type:"help.SupportName"},{id:4088278765,predicate:"help.userInfoEmpty",params:[],type:"help.UserInfo"},{id:32192344,predicate:"help.userInfo",params:[{name:"message",type:"string"},{name:"entities",type:"Vector"},{name:"author",type:"string"},{name:"date",type:"int"}],type:"help.UserInfo"},{id:1823064809,predicate:"pollAnswer",params:[{name:"text",type:"string"},{name:"option",type:"bytes"}],type:"PollAnswer"},{id:2262925665,predicate:"poll",params:[{name:"id",type:"long"},{name:"flags",type:"#"},{name:"closed",type:"flags.0?true"},{name:"public_voters",type:"flags.1?true"},{name:"multiple_choice",type:"flags.2?true"},{name:"quiz",type:"flags.3?true"},{name:"question",type:"string"},{name:"answers",type:"Vector"},{name:"close_period",type:"flags.4?int"},{name:"close_date",type:"flags.5?int"}],type:"Poll"},{id:997055186,predicate:"pollAnswerVoters",params:[{name:"flags",type:"#"},{name:"chosen",type:"flags.0?true"},{name:"correct",type:"flags.1?true"},{name:"option",type:"bytes"},{name:"voters",type:"int"}],type:"PollAnswerVoters"},{id:3135029667,predicate:"pollResults",params:[{name:"flags",type:"#"},{name:"min",type:"flags.0?true"},{name:"results",type:"flags.1?Vector"},{name:"total_voters",type:"flags.2?int"},{name:"recent_voters",type:"flags.3?Vector"},{name:"solution",type:"flags.4?string"},{name:"solution_entities",type:"flags.4?Vector"}],type:"PollResults"},{id:4030849616,predicate:"chatOnlines",params:[{name:"onlines",type:"int"}],type:"ChatOnlines"},{id:1202287072,predicate:"statsURL",params:[{name:"url",type:"string"}],type:"StatsURL"},{id:1605510357,predicate:"chatAdminRights",params:[{name:"flags",type:"#"},{name:"change_info",type:"flags.0?true"},{name:"post_messages",type:"flags.1?true"},{name:"edit_messages",type:"flags.2?true"},{name:"delete_messages",type:"flags.3?true"},{name:"ban_users",type:"flags.4?true"},{name:"invite_users",type:"flags.5?true"},{name:"pin_messages",type:"flags.7?true"},{name:"add_admins",type:"flags.9?true"}],type:"ChatAdminRights"},{id:2668758040,predicate:"chatBannedRights",params:[{name:"flags",type:"#"},{name:"view_messages",type:"flags.0?true"},{name:"send_messages",type:"flags.1?true"},{name:"send_media",type:"flags.2?true"},{name:"send_stickers",type:"flags.3?true"},{name:"send_gifs",type:"flags.4?true"},{name:"send_games",type:"flags.5?true"},{name:"send_inline",type:"flags.6?true"},{name:"embed_links",type:"flags.7?true"},{name:"send_polls",type:"flags.8?true"},{name:"change_info",type:"flags.10?true"},{name:"invite_users",type:"flags.15?true"},{name:"pin_messages",type:"flags.17?true"},{name:"until_date",type:"int"}],type:"ChatBannedRights"},{id:3861952889,predicate:"inputWallPaper",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputWallPaper"},{id:1913199744,predicate:"inputWallPaperSlug",params:[{name:"slug",type:"string"}],type:"InputWallPaper"},{id:2217196460,predicate:"inputWallPaperNoFile",params:[],type:"InputWallPaper"},{id:471437699,predicate:"account.wallPapersNotModified",params:[],type:"account.WallPapers"},{id:1881892265,predicate:"account.wallPapers",params:[{name:"hash",type:"int"},{name:"wallpapers",type:"Vector"}],type:"account.WallPapers"},{id:3737042563,predicate:"codeSettings",params:[{name:"flags",type:"#"},{name:"allow_flashcall",type:"flags.0?true"},{name:"current_number",type:"flags.1?true"},{name:"allow_app_hash",type:"flags.4?true"}],type:"CodeSettings"},{id:84438264,predicate:"wallPaperSettings",params:[{name:"flags",type:"#"},{name:"blur",type:"flags.1?true"},{name:"motion",type:"flags.2?true"},{name:"background_color",type:"flags.0?int"},{name:"second_background_color",type:"flags.4?int"},{name:"intensity",type:"flags.3?int"},{name:"rotation",type:"flags.4?int"}],type:"WallPaperSettings"},{id:3762434803,predicate:"autoDownloadSettings",params:[{name:"flags",type:"#"},{name:"disabled",type:"flags.0?true"},{name:"video_preload_large",type:"flags.1?true"},{name:"audio_preload_next",type:"flags.2?true"},{name:"phonecalls_less_data",type:"flags.3?true"},{name:"photo_size_max",type:"int"},{name:"video_size_max",type:"int"},{name:"file_size_max",type:"int"},{name:"video_upload_maxbitrate",type:"int"}],type:"AutoDownloadSettings"},{id:1674235686,predicate:"account.autoDownloadSettings",params:[{name:"low",type:"AutoDownloadSettings"},{name:"medium",type:"AutoDownloadSettings"},{name:"high",type:"AutoDownloadSettings"}],type:"account.AutoDownloadSettings"},{id:3585325561,predicate:"emojiKeyword",params:[{name:"keyword",type:"string"},{name:"emoticons",type:"Vector"}],type:"EmojiKeyword"},{id:594408994,predicate:"emojiKeywordDeleted",params:[{name:"keyword",type:"string"},{name:"emoticons",type:"Vector"}],type:"EmojiKeyword"},{id:1556570557,predicate:"emojiKeywordsDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"},{name:"version",type:"int"},{name:"keywords",type:"Vector"}],type:"EmojiKeywordsDifference"},{id:2775937949,predicate:"emojiURL",params:[{name:"url",type:"string"}],type:"EmojiURL"},{id:3019592545,predicate:"emojiLanguage",params:[{name:"lang_code",type:"string"}],type:"EmojiLanguage"},{id:3162490573,predicate:"fileLocationToBeDeprecated",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"}],type:"FileLocation"},{id:4283715173,predicate:"folder",params:[{name:"flags",type:"#"},{name:"autofill_new_broadcasts",type:"flags.0?true"},{name:"autofill_public_groups",type:"flags.1?true"},{name:"autofill_new_correspondents",type:"flags.2?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"flags.3?ChatPhoto"}],type:"Folder"},{id:4224893590,predicate:"inputFolderPeer",params:[{name:"peer",type:"InputPeer"},{name:"folder_id",type:"int"}],type:"InputFolderPeer"},{id:3921323624,predicate:"folderPeer",params:[{name:"peer",type:"Peer"},{name:"folder_id",type:"int"}],type:"FolderPeer"},{id:3896830975,predicate:"messages.searchCounter",params:[{name:"flags",type:"#"},{name:"inexact",type:"flags.1?true"},{name:"filter",type:"MessagesFilter"},{name:"count",type:"int"}],type:"messages.SearchCounter"},{id:2463316494,predicate:"urlAuthResultRequest",params:[{name:"flags",type:"#"},{name:"request_write_access",type:"flags.0?true"},{name:"bot",type:"User"},{name:"domain",type:"string"}],type:"UrlAuthResult"},{id:2408320590,predicate:"urlAuthResultAccepted",params:[{name:"url",type:"string"}],type:"UrlAuthResult"},{id:2849430303,predicate:"urlAuthResultDefault",params:[],type:"UrlAuthResult"},{id:3216354699,predicate:"channelLocationEmpty",params:[],type:"ChannelLocation"},{id:547062491,predicate:"channelLocation",params:[{name:"geo_point",type:"GeoPoint"},{name:"address",type:"string"}],type:"ChannelLocation"},{id:3393592157,predicate:"peerLocated",params:[{name:"peer",type:"Peer"},{name:"expires",type:"int"},{name:"distance",type:"int"}],type:"PeerLocated"},{id:4176226379,predicate:"peerSelfLocated",params:[{name:"expires",type:"int"}],type:"PeerLocated"},{id:3497176244,predicate:"restrictionReason",params:[{name:"platform",type:"string"},{name:"reason",type:"string"},{name:"text",type:"string"}],type:"RestrictionReason"},{id:1012306921,predicate:"inputTheme",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputTheme"},{id:4119399921,predicate:"inputThemeSlug",params:[{name:"slug",type:"string"}],type:"InputTheme"},{id:42930452,predicate:"theme",params:[{name:"flags",type:"#"},{name:"creator",type:"flags.0?true"},{name:"default",type:"flags.1?true"},{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"slug",type:"string"},{name:"title",type:"string"},{name:"document",type:"flags.2?Document"},{name:"settings",type:"flags.3?ThemeSettings"},{name:"installs_count",type:"int"}],type:"Theme"},{id:4095653410,predicate:"account.themesNotModified",params:[],type:"account.Themes"},{id:2137482273,predicate:"account.themes",params:[{name:"hash",type:"int"},{name:"themes",type:"Vector"}],type:"account.Themes"},{id:1654593920,predicate:"auth.loginToken",params:[{name:"expires",type:"int"},{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:110008598,predicate:"auth.loginTokenMigrateTo",params:[{name:"dc_id",type:"int"},{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:957176926,predicate:"auth.loginTokenSuccess",params:[{name:"authorization",type:"auth.Authorization"}],type:"auth.LoginToken"},{id:1474462241,predicate:"account.contentSettings",params:[{name:"flags",type:"#"},{name:"sensitive_enabled",type:"flags.0?true"},{name:"sensitive_can_change",type:"flags.1?true"}],type:"account.ContentSettings"},{id:2837970629,predicate:"messages.inactiveChats",params:[{name:"dates",type:"Vector"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"}],type:"messages.InactiveChats"},{id:3282117730,predicate:"baseThemeClassic",params:[],type:"BaseTheme"},{id:4225242760,predicate:"baseThemeDay",params:[],type:"BaseTheme"},{id:3081969320,predicate:"baseThemeNight",params:[],type:"BaseTheme"},{id:1834973166,predicate:"baseThemeTinted",params:[],type:"BaseTheme"},{id:1527845466,predicate:"baseThemeArctic",params:[],type:"BaseTheme"},{id:3176168657,predicate:"inputThemeSettings",params:[{name:"flags",type:"#"},{name:"base_theme",type:"BaseTheme"},{name:"accent_color",type:"int"},{name:"message_top_color",type:"flags.0?int"},{name:"message_bottom_color",type:"flags.0?int"},{name:"wallpaper",type:"flags.1?InputWallPaper"},{name:"wallpaper_settings",type:"flags.1?WallPaperSettings"}],type:"InputThemeSettings"},{id:2618595402,predicate:"themeSettings",params:[{name:"flags",type:"#"},{name:"base_theme",type:"BaseTheme"},{name:"accent_color",type:"int"},{name:"message_top_color",type:"flags.0?int"},{name:"message_bottom_color",type:"flags.0?int"},{name:"wallpaper",type:"flags.1?WallPaper"}],type:"ThemeSettings"},{id:1421174295,predicate:"webPageAttributeTheme",params:[{name:"flags",type:"#"},{name:"documents",type:"flags.0?Vector"},{name:"settings",type:"flags.1?ThemeSettings"}],type:"WebPageAttribute"},{id:2727236953,predicate:"messageUserVote",params:[{name:"user_id",type:"int"},{name:"option",type:"bytes"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:909603888,predicate:"messageUserVoteInputOption",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:244310238,predicate:"messageUserVoteMultiple",params:[{name:"user_id",type:"int"},{name:"options",type:"Vector"},{name:"date",type:"int"}],type:"MessageUserVote"},{id:136574537,predicate:"messages.votesList",params:[{name:"flags",type:"#"},{name:"count",type:"int"},{name:"votes",type:"Vector"},{name:"users",type:"Vector"},{name:"next_offset",type:"flags.0?string"}],type:"messages.VotesList"},{id:4117234314,predicate:"bankCardOpenUrl",params:[{name:"url",type:"string"},{name:"name",type:"string"}],type:"BankCardOpenUrl"},{id:1042605427,predicate:"payments.bankCardData",params:[{name:"title",type:"string"},{name:"open_urls",type:"Vector"}],type:"payments.BankCardData"},{id:1949890536,predicate:"dialogFilter",params:[{name:"flags",type:"#"},{name:"contacts",type:"flags.0?true"},{name:"non_contacts",type:"flags.1?true"},{name:"groups",type:"flags.2?true"},{name:"broadcasts",type:"flags.3?true"},{name:"bots",type:"flags.4?true"},{name:"exclude_muted",type:"flags.11?true"},{name:"exclude_read",type:"flags.12?true"},{name:"exclude_archived",type:"flags.13?true"},{name:"id",type:"int"},{name:"title",type:"string"},{name:"emoticon",type:"flags.25?string"},{name:"pinned_peers",type:"Vector"},{name:"include_peers",type:"Vector"},{name:"exclude_peers",type:"Vector"}],type:"DialogFilter"},{id:2004110666,predicate:"dialogFilterSuggested",params:[{name:"filter",type:"DialogFilter"},{name:"description",type:"string"}],type:"DialogFilterSuggested"},{id:3057118639,predicate:"statsDateRangeDays",params:[{name:"min_date",type:"int"},{name:"max_date",type:"int"}],type:"StatsDateRangeDays"},{id:3410210014,predicate:"statsAbsValueAndPrev",params:[{name:"current",type:"double"},{name:"previous",type:"double"}],type:"StatsAbsValueAndPrev"},{id:3419287520,predicate:"statsPercentValue",params:[{name:"part",type:"double"},{name:"total",type:"double"}],type:"StatsPercentValue"},{id:1244130093,predicate:"statsGraphAsync",params:[{name:"token",type:"string"}],type:"StatsGraph"},{id:3202127906,predicate:"statsGraphError",params:[{name:"error",type:"string"}],type:"StatsGraph"},{id:2393138358,predicate:"statsGraph",params:[{name:"flags",type:"#"},{name:"json",type:"DataJSON"},{name:"zoom_token",type:"flags.0?string"}],type:"StatsGraph"},{id:2907687357,predicate:"messageInteractionCounters",params:[{name:"msg_id",type:"int"},{name:"views",type:"int"},{name:"forwards",type:"int"}],type:"MessageInteractionCounters"},{id:3187114900,predicate:"stats.broadcastStats",params:[{name:"period",type:"StatsDateRangeDays"},{name:"followers",type:"StatsAbsValueAndPrev"},{name:"views_per_post",type:"StatsAbsValueAndPrev"},{name:"shares_per_post",type:"StatsAbsValueAndPrev"},{name:"enabled_notifications",type:"StatsPercentValue"},{name:"growth_graph",type:"StatsGraph"},{name:"followers_graph",type:"StatsGraph"},{name:"mute_graph",type:"StatsGraph"},{name:"top_hours_graph",type:"StatsGraph"},{name:"interactions_graph",type:"StatsGraph"},{name:"iv_interactions_graph",type:"StatsGraph"},{name:"views_by_source_graph",type:"StatsGraph"},{name:"new_followers_by_source_graph",type:"StatsGraph"},{name:"languages_graph",type:"StatsGraph"},{name:"recent_message_interactions",type:"Vector"}],type:"stats.BroadcastStats"},{id:2566302837,predicate:"help.promoDataEmpty",params:[{name:"expires",type:"int"}],type:"help.PromoData"},{id:2352576831,predicate:"help.promoData",params:[{name:"flags",type:"#"},{name:"proxy",type:"flags.0?true"},{name:"expires",type:"int"},{name:"peer",type:"Peer"},{name:"chats",type:"Vector"},{name:"users",type:"Vector"},{name:"psa_type",type:"flags.1?string"},{name:"psa_message",type:"flags.2?string"}],type:"help.PromoData"},{id:1130084743,predicate:"videoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"VideoSize"}],methods:[{id:3416209197,method:"invokeAfterMsg",params:[{name:"msg_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:1036301552,method:"invokeAfterMsgs",params:[{name:"msg_ids",type:"Vector"},{name:"query",type:"!X"}],type:"X"},{id:3251461801,method:"initConnection",params:[{name:"flags",type:"#"},{name:"api_id",type:"int"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"system_lang_code",type:"string"},{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"proxy",type:"flags.0?InputClientProxy"},{name:"params",type:"flags.1?JSONValue"},{name:"query",type:"!X"}],type:"X"},{id:3667594509,method:"invokeWithLayer",params:[{name:"layer",type:"int"},{name:"query",type:"!X"}],type:"X"},{id:3214170551,method:"invokeWithoutUpdates",params:[{name:"query",type:"!X"}],type:"X"},{id:911373810,method:"invokeWithMessagesRange",params:[{name:"range",type:"MessageRange"},{name:"query",type:"!X"}],type:"X"},{id:2896821550,method:"invokeWithTakeout",params:[{name:"takeout_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:2792825935,method:"auth.sendCode",params:[{name:"phone_number",type:"string"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:2163139623,method:"auth.signUp",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"auth.Authorization"},{id:3168081281,method:"auth.signIn",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"auth.Authorization"},{id:1461180992,method:"auth.logOut",params:[],type:"Bool"},{id:2678787354,method:"auth.resetAuthorizations",params:[],type:"Bool"},{id:3854565325,method:"auth.exportAuthorization",params:[{name:"dc_id",type:"int"}],type:"auth.ExportedAuthorization"},{id:3824129555,method:"auth.importAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.Authorization"},{id:3453233669,method:"auth.bindTempAuthKey",params:[{name:"perm_auth_key_id",type:"long"},{name:"nonce",type:"long"},{name:"expires_at",type:"int"},{name:"encrypted_message",type:"bytes"}],type:"Bool"},{id:1738800940,method:"auth.importBotAuthorization",params:[{name:"flags",type:"int"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"bot_auth_token",type:"string"}],type:"auth.Authorization"},{id:3515567382,method:"auth.checkPassword",params:[{name:"password",type:"InputCheckPasswordSRP"}],type:"auth.Authorization"},{id:3633822822,method:"auth.requestPasswordRecovery",params:[],type:"auth.PasswordRecovery"},{id:1319464594,method:"auth.recoverPassword",params:[{name:"code",type:"string"}],type:"auth.Authorization"},{id:1056025023,method:"auth.resendCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"auth.SentCode"},{id:520357240,method:"auth.cancelCode",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{id:2387124616,method:"auth.dropTempAuthKeys",params:[{name:"except_auth_keys",type:"Vector"}],type:"Bool"},{id:2981369111,method:"auth.exportLoginToken",params:[{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"except_ids",type:"Vector"}],type:"auth.LoginToken"},{id:2511101156,method:"auth.importLoginToken",params:[{name:"token",type:"bytes"}],type:"auth.LoginToken"},{id:3902057805,method:"auth.acceptLoginToken",params:[{name:"token",type:"bytes"}],type:"Authorization"},{id:1754754159,method:"account.registerDevice",params:[{name:"flags",type:"#"},{name:"no_muted",type:"flags.0?true"},{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"app_sandbox",type:"Bool"},{name:"secret",type:"bytes"},{name:"other_uids",type:"Vector"}],type:"Bool"},{id:813089983,method:"account.unregisterDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"other_uids",type:"Vector"}],type:"Bool"},{id:2227067795,method:"account.updateNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"},{name:"settings",type:"InputPeerNotifySettings"}],type:"Bool"},{id:313765169,method:"account.getNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"}],type:"PeerNotifySettings"},{id:3682473799,method:"account.resetNotifySettings",params:[],type:"Bool"},{id:2018596725,method:"account.updateProfile",params:[{name:"flags",type:"#"},{name:"first_name",type:"flags.0?string"},{name:"last_name",type:"flags.1?string"},{name:"about",type:"flags.2?string"}],type:"User"},{id:1713919532,method:"account.updateStatus",params:[{name:"offline",type:"Bool"}],type:"Bool"},{id:2864387939,method:"account.getWallPapers",params:[{name:"hash",type:"int"}],type:"account.WallPapers"},{id:2920848735,method:"account.reportPeer",params:[{name:"peer",type:"InputPeer"},{name:"reason",type:"ReportReason"}],type:"Bool"},{id:655677548,method:"account.checkUsername",params:[{name:"username",type:"string"}],type:"Bool"},{id:1040964988,method:"account.updateUsername",params:[{name:"username",type:"string"}],type:"User"},{id:3671837008,method:"account.getPrivacy",params:[{name:"key",type:"InputPrivacyKey"}],type:"account.PrivacyRules"},{id:3388480744,method:"account.setPrivacy",params:[{name:"key",type:"InputPrivacyKey"},{name:"rules",type:"Vector"}],type:"account.PrivacyRules"},{id:1099779595,method:"account.deleteAccount",params:[{name:"reason",type:"string"}],type:"Bool"},{id:150761757,method:"account.getAccountTTL",params:[],type:"AccountDaysTTL"},{id:608323678,method:"account.setAccountTTL",params:[{name:"ttl",type:"AccountDaysTTL"}],type:"Bool"},{id:2186758885,method:"account.sendChangePhoneCode",params:[{name:"phone_number",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1891839707,method:"account.changePhone",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"User"},{id:954152242,method:"account.updateDeviceLocked",params:[{name:"period",type:"int"}],type:"Bool"},{id:3810574680,method:"account.getAuthorizations",params:[],type:"account.Authorizations"},{id:3749180348,method:"account.resetAuthorization",params:[{name:"hash",type:"long"}],type:"Bool"},{id:1418342645,method:"account.getPassword",params:[],type:"account.Password"},{id:2631199481,method:"account.getPasswordSettings",params:[{name:"password",type:"InputCheckPasswordSRP"}],type:"account.PasswordSettings"},{id:2778402863,method:"account.updatePasswordSettings",params:[{name:"password",type:"InputCheckPasswordSRP"},{name:"new_settings",type:"account.PasswordInputSettings"}],type:"Bool"},{id:457157256,method:"account.sendConfirmPhoneCode",params:[{name:"hash",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1596029123,method:"account.confirmPhone",params:[{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"Bool"},{id:1151208273,method:"account.getTmpPassword",params:[{name:"password",type:"InputCheckPasswordSRP"},{name:"period",type:"int"}],type:"account.TmpPassword"},{id:405695855,method:"account.getWebAuthorizations",params:[],type:"account.WebAuthorizations"},{id:755087855,method:"account.resetWebAuthorization",params:[{name:"hash",type:"long"}],type:"Bool"},{id:1747789204,method:"account.resetWebAuthorizations",params:[],type:"Bool"},{id:2995305597,method:"account.getAllSecureValues",params:[],type:"Vector"},{id:1936088002,method:"account.getSecureValue",params:[{name:"types",type:"Vector"}],type:"Vector"},{id:2308956957,method:"account.saveSecureValue",params:[{name:"value",type:"InputSecureValue"},{name:"secure_secret_id",type:"long"}],type:"SecureValue"},{id:3095444555,method:"account.deleteSecureValue",params:[{name:"types",type:"Vector"}],type:"Bool"},{id:3094063329,method:"account.getAuthorizationForm",params:[{name:"bot_id",type:"int"},{name:"scope",type:"string"},{name:"public_key",type:"string"}],type:"account.AuthorizationForm"},{id:3875699860,method:"account.acceptAuthorization",params:[{name:"bot_id",type:"int"},{name:"scope",type:"string"},{name:"public_key",type:"string"},{name:"value_hashes",type:"Vector"},{name:"credentials",type:"SecureCredentialsEncrypted"}],type:"Bool"},{id:2778945273,method:"account.sendVerifyPhoneCode",params:[{name:"phone_number",type:"string"},{name:"settings",type:"CodeSettings"}],type:"auth.SentCode"},{id:1305716726,method:"account.verifyPhone",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"Bool"},{id:1880182943,method:"account.sendVerifyEmailCode",params:[{name:"email",type:"string"}],type:"account.SentEmailCode"},{id:3971627483,method:"account.verifyEmail",params:[{name:"email",type:"string"},{name:"code",type:"string"}],type:"Bool"},{id:4032514052,method:"account.initTakeoutSession",params:[{name:"flags",type:"#"},{name:"contacts",type:"flags.0?true"},{name:"message_users",type:"flags.1?true"},{name:"message_chats",type:"flags.2?true"},{name:"message_megagroups",type:"flags.3?true"},{name:"message_channels",type:"flags.4?true"},{name:"files",type:"flags.5?true"},{name:"file_max_size",type:"flags.5?int"}],type:"account.Takeout"},{id:489050862,method:"account.finishTakeoutSession",params:[{name:"flags",type:"#"},{name:"success",type:"flags.0?true"}],type:"Bool"},{id:2413762848,method:"account.confirmPasswordEmail",params:[{name:"code",type:"string"}],type:"Bool"},{id:2055154197,method:"account.resendPasswordEmail",params:[],type:"Bool"},{id:3251361206,method:"account.cancelPasswordEmail",params:[],type:"Bool"},{id:2668087080,method:"account.getContactSignUpNotification",params:[],type:"Bool"},{id:3488890721,method:"account.setContactSignUpNotification",params:[{name:"silent",type:"Bool"}],type:"Bool"},{id:1398240377,method:"account.getNotifyExceptions",params:[{name:"flags",type:"#"},{name:"compare_sound",type:"flags.1?true"},{name:"peer",type:"flags.0?InputNotifyPeer"}],type:"Updates"},{id:4237155306,method:"account.getWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"}],type:"WallPaper"},{id:3716494945,method:"account.uploadWallPaper",params:[{name:"file",type:"InputFile"},{name:"mime_type",type:"string"},{name:"settings",type:"WallPaperSettings"}],type:"WallPaper"},{id:1817860919,method:"account.saveWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"},{name:"unsave",type:"Bool"},{name:"settings",type:"WallPaperSettings"}],type:"Bool"},{id:4276967273,method:"account.installWallPaper",params:[{name:"wallpaper",type:"InputWallPaper"},{name:"settings",type:"WallPaperSettings"}],type:"Bool"},{id:3141244932,method:"account.resetWallPapers",params:[],type:"Bool"},{id:1457130303,method:"account.getAutoDownloadSettings",params:[],type:"account.AutoDownloadSettings"},{id:1995661875,method:"account.saveAutoDownloadSettings",params:[{name:"flags",type:"#"},{name:"low",type:"flags.0?true"},{name:"high",type:"flags.1?true"},{name:"settings",type:"AutoDownloadSettings"}],type:"Bool"},{id:473805619,method:"account.uploadTheme",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"thumb",type:"flags.0?InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"Document"},{id:2217919007,method:"account.createTheme",params:[{name:"flags",type:"#"},{name:"slug",type:"string"},{name:"title",type:"string"},{name:"document",type:"flags.2?InputDocument"},{name:"settings",type:"flags.3?InputThemeSettings"}],type:"Theme"},{id:1555261397,method:"account.updateTheme",params:[{name:"flags",type:"#"},{name:"format",type:"string"},{name:"theme",type:"InputTheme"},{name:"slug",type:"flags.0?string"},{name:"title",type:"flags.1?string"},{name:"document",type:"flags.2?InputDocument"},{name:"settings",type:"flags.3?InputThemeSettings"}],type:"Theme"},{id:4065792108,method:"account.saveTheme",params:[{name:"theme",type:"InputTheme"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:2061776695,method:"account.installTheme",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"format",type:"flags.1?string"},{name:"theme",type:"flags.1?InputTheme"}],type:"Bool"},{id:2375906347,method:"account.getTheme",params:[{name:"format",type:"string"},{name:"theme",type:"InputTheme"},{name:"document_id",type:"long"}],type:"Theme"},{id:676939512,method:"account.getThemes",params:[{name:"format",type:"string"},{name:"hash",type:"int"}],type:"account.Themes"},{id:3044323691,method:"account.setContentSettings",params:[{name:"flags",type:"#"},{name:"sensitive_enabled",type:"flags.0?true"}],type:"Bool"},{id:2342210990,method:"account.getContentSettings",params:[],type:"account.ContentSettings"},{id:1705865692,method:"account.getMultiWallPapers",params:[{name:"wallpapers",type:"Vector"}],type:"Vector"},{id:227648840,method:"users.getUsers",params:[{name:"id",type:"Vector"}],type:"Vector"},{id:3392185777,method:"users.getFullUser",params:[{name:"id",type:"InputUser"}],type:"UserFull"},{id:2429064373,method:"users.setSecureValueErrors",params:[{name:"id",type:"InputUser"},{name:"errors",type:"Vector"}],type:"Bool"},{id:749357634,method:"contacts.getContactIDs",params:[{name:"hash",type:"int"}],type:"Vector"},{id:3299038190,method:"contacts.getStatuses",params:[],type:"Vector"},{id:3223553183,method:"contacts.getContacts",params:[{name:"hash",type:"int"}],type:"contacts.Contacts"},{id:746589157,method:"contacts.importContacts",params:[{name:"contacts",type:"Vector"}],type:"contacts.ImportedContacts"},{id:157945344,method:"contacts.deleteContacts",params:[{name:"id",type:"Vector"}],type:"Updates"},{id:269745566,method:"contacts.deleteByPhones",params:[{name:"phones",type:"Vector"}],type:"Bool"},{id:858475004,method:"contacts.block",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:3846242493,method:"contacts.unblock",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:4118557967,method:"contacts.getBlocked",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"contacts.Blocked"},{id:301470424,method:"contacts.search",params:[{name:"q",type:"string"},{name:"limit",type:"int"}],type:"contacts.Found"},{id:4181511075,method:"contacts.resolveUsername",params:[{name:"username",type:"string"}],type:"contacts.ResolvedPeer"},{id:3566742965,method:"contacts.getTopPeers",params:[{name:"flags",type:"#"},{name:"correspondents",type:"flags.0?true"},{name:"bots_pm",type:"flags.1?true"},{name:"bots_inline",type:"flags.2?true"},{name:"phone_calls",type:"flags.3?true"},{name:"forward_users",type:"flags.4?true"},{name:"forward_chats",type:"flags.5?true"},{name:"groups",type:"flags.10?true"},{name:"channels",type:"flags.15?true"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"contacts.TopPeers"},{id:451113900,method:"contacts.resetTopPeerRating",params:[{name:"category",type:"TopPeerCategory"},{name:"peer",type:"InputPeer"}],type:"Bool"},{id:2274703345,method:"contacts.resetSaved",params:[],type:"Bool"},{id:2196890527,method:"contacts.getSaved",params:[],type:"Vector"},{id:2232729050,method:"contacts.toggleTopPeers",params:[{name:"enabled",type:"Bool"}],type:"Bool"},{id:3908330448,method:"contacts.addContact",params:[{name:"flags",type:"#"},{name:"add_phone_privacy_exception",type:"flags.0?true"},{name:"id",type:"InputUser"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"phone",type:"string"}],type:"Updates"},{id:4164002319,method:"contacts.acceptContact",params:[{name:"id",type:"InputUser"}],type:"Updates"},{id:3544759364,method:"contacts.getLocated",params:[{name:"flags",type:"#"},{name:"background",type:"flags.1?true"},{name:"geo_point",type:"InputGeoPoint"},{name:"self_expires",type:"flags.0?int"}],type:"Updates"},{id:1673946374,method:"messages.getMessages",params:[{name:"id",type:"Vector"}],type:"messages.Messages"},{id:2699967347,method:"messages.getDialogs",params:[{name:"flags",type:"#"},{name:"exclude_pinned",type:"flags.0?true"},{name:"folder_id",type:"flags.1?int"},{name:"offset_date",type:"int"},{name:"offset_id",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.Dialogs"},{id:3703276128,method:"messages.getHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"offset_date",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:2249518952,method:"messages.search",params:[{name:"flags",type:"#"},{name:"peer",type:"InputPeer"},{name:"q",type:"string"},{name:"from_id",type:"flags.0?InputUser"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset_id",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:238054714,method:"messages.readHistory",params:[{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedMessages"},{id:469850889,method:"messages.deleteHistory",params:[{name:"flags",type:"#"},{name:"just_clear",type:"flags.0?true"},{name:"revoke",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"}],type:"messages.AffectedHistory"},{id:3851326930,method:"messages.deleteMessages",params:[{name:"flags",type:"#"},{name:"revoke",type:"flags.0?true"},{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:94983360,method:"messages.receivedMessages",params:[{name:"max_id",type:"int"}],type:"Vector"},{id:2743230032,method:"messages.setTyping",params:[{name:"peer",type:"InputPeer"},{name:"action",type:"SendMessageAction"}],type:"Bool"},{id:1376532592,method:"messages.sendMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"message",type:"string"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:881978281,method:"messages.sendMedia",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"media",type:"InputMedia"},{name:"message",type:"string"},{name:"random_id",type:"long"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:3657360910,method:"messages.forwardMessages",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"with_my_score",type:"flags.8?true"},{name:"grouped",type:"flags.9?true"},{name:"from_peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"random_id",type:"Vector"},{name:"to_peer",type:"InputPeer"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:3474297563,method:"messages.reportSpam",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:913498268,method:"messages.getPeerSettings",params:[{name:"peer",type:"InputPeer"}],type:"PeerSettings"},{id:3179460184,method:"messages.report",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"reason",type:"ReportReason"}],type:"Bool"},{id:1013621127,method:"messages.getChats",params:[{name:"id",type:"Vector"}],type:"messages.Chats"},{id:998448230,method:"messages.getFullChat",params:[{name:"chat_id",type:"int"}],type:"messages.ChatFull"},{id:3695519829,method:"messages.editChatTitle",params:[{name:"chat_id",type:"int"},{name:"title",type:"string"}],type:"Updates"},{id:3394009560,method:"messages.editChatPhoto",params:[{name:"chat_id",type:"int"},{name:"photo",type:"InputChatPhoto"}],type:"Updates"},{id:4188056073,method:"messages.addChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"fwd_limit",type:"int"}],type:"Updates"},{id:3764461334,method:"messages.deleteChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"}],type:"Updates"},{id:164303470,method:"messages.createChat",params:[{name:"users",type:"Vector"},{name:"title",type:"string"}],type:"Updates"},{id:651135312,method:"messages.getDhConfig",params:[{name:"version",type:"int"},{name:"random_length",type:"int"}],type:"messages.DhConfig"},{id:4132286275,method:"messages.requestEncryption",params:[{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:1035731989,method:"messages.acceptEncryption",params:[{name:"peer",type:"InputEncryptedChat"},{name:"g_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:3990430661,method:"messages.discardEncryption",params:[{name:"chat_id",type:"int"}],type:"Bool"},{id:2031374829,method:"messages.setEncryptedTyping",params:[{name:"peer",type:"InputEncryptedChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:2135648522,method:"messages.readEncryptedHistory",params:[{name:"peer",type:"InputEncryptedChat"},{name:"max_date",type:"int"}],type:"Bool"},{id:2843174771,method:"messages.sendEncrypted",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:2593135462,method:"messages.sendEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"},{name:"file",type:"InputEncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:852769188,method:"messages.sendEncryptedService",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:1436924774,method:"messages.receivedQueue",params:[{name:"max_qts",type:"int"}],type:"Vector"},{id:1259113487,method:"messages.reportEncryptedSpam",params:[{name:"peer",type:"InputEncryptedChat"}],type:"Bool"},{id:916930423,method:"messages.readMessageContents",params:[{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:71126828,method:"messages.getStickers",params:[{name:"emoticon",type:"string"},{name:"hash",type:"int"}],type:"messages.Stickers"},{id:479598769,method:"messages.getAllStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:2338894028,method:"messages.getWebPagePreview",params:[{name:"flags",type:"#"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"}],type:"MessageMedia"},{id:234312524,method:"messages.exportChatInvite",params:[{name:"peer",type:"InputPeer"}],type:"ExportedChatInvite"},{id:1051570619,method:"messages.checkChatInvite",params:[{name:"hash",type:"string"}],type:"ChatInvite"},{id:1817183516,method:"messages.importChatInvite",params:[{name:"hash",type:"string"}],type:"Updates"},{id:639215886,method:"messages.getStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"messages.StickerSet"},{id:3348096096,method:"messages.installStickerSet",params:[{name:"stickerset",type:"InputStickerSet"},{name:"archived",type:"Bool"}],type:"messages.StickerSetInstallResult"},{id:4184757726,method:"messages.uninstallStickerSet",params:[{name:"stickerset",type:"InputStickerSet"}],type:"Bool"},{id:3873403768,method:"messages.startBot",params:[{name:"bot",type:"InputUser"},{name:"peer",type:"InputPeer"},{name:"random_id",type:"long"},{name:"start_param",type:"string"}],type:"Updates"},{id:3301483869,method:"messages.getMessagesViews",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"},{name:"increment",type:"Bool"}],type:"Vector"},{id:2850463534,method:"messages.editChatAdmin",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"is_admin",type:"Bool"}],type:"Bool"},{id:363051235,method:"messages.migrateChat",params:[{name:"chat_id",type:"int"}],type:"Updates"},{id:3211928996,method:"messages.searchGlobal",params:[{name:"flags",type:"#"},{name:"folder_id",type:"flags.0?int"},{name:"q",type:"string"},{name:"offset_rate",type:"int"},{name:"offset_peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:2016638777,method:"messages.reorderStickerSets",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"order",type:"Vector"}],type:"Bool"},{id:864953444,method:"messages.getDocumentByHash",params:[{name:"sha256",type:"bytes"},{name:"size",type:"int"},{name:"mime_type",type:"string"}],type:"Document"},{id:3214571371,method:"messages.searchGifs",params:[{name:"q",type:"string"},{name:"offset",type:"int"}],type:"messages.FoundGifs"},{id:2210348370,method:"messages.getSavedGifs",params:[{name:"hash",type:"int"}],type:"messages.SavedGifs"},{id:846868683,method:"messages.saveGif",params:[{name:"id",type:"InputDocument"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:1364105629,method:"messages.getInlineBotResults",params:[{name:"flags",type:"#"},{name:"bot",type:"InputUser"},{name:"peer",type:"InputPeer"},{name:"geo_point",type:"flags.0?InputGeoPoint"},{name:"query",type:"string"},{name:"offset",type:"string"}],type:"messages.BotResults"},{id:3948847622,method:"messages.setInlineBotResults",params:[{name:"flags",type:"#"},{name:"gallery",type:"flags.0?true"},{name:"private",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"results",type:"Vector"},{name:"cache_time",type:"int"},{name:"next_offset",type:"flags.2?string"},{name:"switch_pm",type:"flags.3?InlineBotSwitchPM"}],type:"Bool"},{id:570955184,method:"messages.sendInlineBotResult",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"hide_via",type:"flags.11?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"random_id",type:"long"},{name:"query_id",type:"long"},{name:"id",type:"string"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:4255550774,method:"messages.getMessageEditData",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"}],type:"messages.MessageEditData"},{id:1224152952,method:"messages.editMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"message",type:"flags.11?string"},{name:"media",type:"flags.14?InputMedia"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"},{name:"schedule_date",type:"flags.15?int"}],type:"Updates"},{id:2203418042,method:"messages.editInlineBotMessage",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"message",type:"flags.11?string"},{name:"media",type:"flags.14?InputMedia"},{name:"reply_markup",type:"flags.2?ReplyMarkup"},{name:"entities",type:"flags.3?Vector"}],type:"Bool"},{id:2164957164,method:"messages.getBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"game",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"data",type:"flags.0?bytes"}],type:"messages.BotCallbackAnswer"},{id:3582923530,method:"messages.setBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"Bool"},{id:3832593661,method:"messages.getPeerDialogs",params:[{name:"peers",type:"Vector"}],type:"messages.PeerDialogs"},{id:3157909835,method:"messages.saveDraft",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector"}],type:"Bool"},{id:1782549861,method:"messages.getAllDrafts",params:[],type:"Updates"},{id:766298703,method:"messages.getFeaturedStickers",params:[{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:1527873830,method:"messages.readFeaturedStickers",params:[{name:"id",type:"Vector"}],type:"Bool"},{id:1587647177,method:"messages.getRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"hash",type:"int"}],type:"messages.RecentStickers"},{id:958863608,method:"messages.saveRecentSticker",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"id",type:"InputDocument"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:2308530221,method:"messages.clearRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"}],type:"Bool"},{id:1475442322,method:"messages.getArchivedStickers",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"offset_id",type:"long"},{name:"limit",type:"int"}],type:"messages.ArchivedStickers"},{id:1706608543,method:"messages.getMaskStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:3428542412,method:"messages.getAttachedStickers",params:[{name:"media",type:"InputStickeredMedia"}],type:"Vector"},{id:2398678208,method:"messages.setGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Updates"},{id:363700068,method:"messages.setInlineGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Bool"},{id:3894568093,method:"messages.getGameHighScores",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"}],type:"messages.HighScores"},{id:258170395,method:"messages.getInlineGameHighScores",params:[{name:"id",type:"InputBotInlineMessageID"},{name:"user_id",type:"InputUser"}],type:"messages.HighScores"},{id:218777796,method:"messages.getCommonChats",params:[{name:"user_id",type:"InputUser"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Chats"},{id:3953659888,method:"messages.getAllChats",params:[{name:"except_ids",type:"Vector"}],type:"messages.Chats"},{id:852135825,method:"messages.getWebPage",params:[{name:"url",type:"string"},{name:"hash",type:"int"}],type:"WebPage"},{id:2805064279,method:"messages.toggleDialogPin",params:[{name:"flags",type:"#"},{name:"pinned",type:"flags.0?true"},{name:"peer",type:"InputDialogPeer"}],type:"Bool"},{id:991616823,method:"messages.reorderPinnedDialogs",params:[{name:"flags",type:"#"},{name:"force",type:"flags.0?true"},{name:"folder_id",type:"int"},{name:"order",type:"Vector"}],type:"Bool"},{id:3602468338,method:"messages.getPinnedDialogs",params:[{name:"folder_id",type:"int"}],type:"messages.PeerDialogs"},{id:3858133754,method:"messages.setBotShippingResults",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"error",type:"flags.0?string"},{name:"shipping_options",type:"flags.1?Vector"}],type:"Bool"},{id:163765653,method:"messages.setBotPrecheckoutResults",params:[{name:"flags",type:"#"},{name:"success",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"error",type:"flags.0?string"}],type:"Bool"},{id:1369162417,method:"messages.uploadMedia",params:[{name:"peer",type:"InputPeer"},{name:"media",type:"InputMedia"}],type:"MessageMedia"},{id:3380473888,method:"messages.sendScreenshotNotification",params:[{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"int"},{name:"random_id",type:"long"}],type:"Updates"},{id:567151374,method:"messages.getFavedStickers",params:[{name:"hash",type:"int"}],type:"messages.FavedStickers"},{id:3120547163,method:"messages.faveSticker",params:[{name:"id",type:"InputDocument"},{name:"unfave",type:"Bool"}],type:"Bool"},{id:1180140658,method:"messages.getUnreadMentions",params:[{name:"peer",type:"InputPeer"},{name:"offset_id",type:"int"},{name:"add_offset",type:"int"},{name:"limit",type:"int"},{name:"max_id",type:"int"},{name:"min_id",type:"int"}],type:"messages.Messages"},{id:251759059,method:"messages.readMentions",params:[{name:"peer",type:"InputPeer"}],type:"messages.AffectedHistory"},{id:3150207753,method:"messages.getRecentLocations",params:[{name:"peer",type:"InputPeer"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:3422621899,method:"messages.sendMultiMedia",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.5?true"},{name:"background",type:"flags.6?true"},{name:"clear_draft",type:"flags.7?true"},{name:"peer",type:"InputPeer"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"multi_media",type:"Vector"},{name:"schedule_date",type:"flags.10?int"}],type:"Updates"},{id:1347929239,method:"messages.uploadEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"file",type:"InputEncryptedFile"}],type:"EncryptedFile"},{id:3266826379,method:"messages.searchStickerSets",params:[{name:"flags",type:"#"},{name:"exclude_featured",type:"flags.0?true"},{name:"q",type:"string"},{name:"hash",type:"int"}],type:"messages.FoundStickerSets"},{id:486505992,method:"messages.getSplitRanges",params:[],type:"Vector"},{id:3263617423,method:"messages.markDialogUnread",params:[{name:"flags",type:"#"},{name:"unread",type:"flags.0?true"},{name:"peer",type:"InputDialogPeer"}],type:"Bool"},{id:585256482,method:"messages.getDialogUnreadMarks",params:[],type:"Vector"},{id:2119757468,method:"messages.clearAllDrafts",params:[],type:"Bool"},{id:3534419948,method:"messages.updatePinnedMessage",params:[{name:"flags",type:"#"},{name:"silent",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"}],type:"Updates"},{id:283795844,method:"messages.sendVote",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"options",type:"Vector"}],type:"Updates"},{id:1941660731,method:"messages.getPollResults",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"}],type:"Updates"},{id:1848369232,method:"messages.getOnlines",params:[{name:"peer",type:"InputPeer"}],type:"ChatOnlines"},{id:2167155430,method:"messages.getStatsURL",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"params",type:"string"}],type:"StatsURL"},{id:3740665751,method:"messages.editChatAbout",params:[{name:"peer",type:"InputPeer"},{name:"about",type:"string"}],type:"Bool"},{id:2777049921,method:"messages.editChatDefaultBannedRights",params:[{name:"peer",type:"InputPeer"},{name:"banned_rights",type:"ChatBannedRights"}],type:"Updates"},{id:899735650,method:"messages.getEmojiKeywords",params:[{name:"lang_code",type:"string"}],type:"EmojiKeywordsDifference"},{id:352892591,method:"messages.getEmojiKeywordsDifference",params:[{name:"lang_code",type:"string"},{name:"from_version",type:"int"}],type:"EmojiKeywordsDifference"},{id:1318675378,method:"messages.getEmojiKeywordsLanguages",params:[{name:"lang_codes",type:"Vector"}],type:"Vector"},{id:3585149990,method:"messages.getEmojiURL",params:[{name:"lang_code",type:"string"}],type:"EmojiURL"},{id:1932455680,method:"messages.getSearchCounters",params:[{name:"peer",type:"InputPeer"},{name:"filters",type:"Vector"}],type:"Vector"},{id:3812578835,method:"messages.requestUrlAuth",params:[{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"button_id",type:"int"}],type:"UrlAuthResult"},{id:4146719384,method:"messages.acceptUrlAuth",params:[{name:"flags",type:"#"},{name:"write_allowed",type:"flags.0?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"button_id",type:"int"}],type:"UrlAuthResult"},{id:1336717624,method:"messages.hidePeerSettingsBar",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:3804391515,method:"messages.getScheduledHistory",params:[{name:"peer",type:"InputPeer"},{name:"hash",type:"int"}],type:"messages.Messages"},{id:3183150180,method:"messages.getScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"messages.Messages"},{id:3174597898,method:"messages.sendScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"Updates"},{id:1504586518,method:"messages.deleteScheduledMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector"}],type:"Updates"},{id:3094231054,method:"messages.getPollVotes",params:[{name:"flags",type:"#"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"option",type:"flags.0?bytes"},{name:"offset",type:"flags.1?string"},{name:"limit",type:"int"}],type:"messages.VotesList"},{id:3037016042,method:"messages.toggleStickerSets",params:[{name:"flags",type:"#"},{name:"uninstall",type:"flags.0?true"},{name:"archive",type:"flags.1?true"},{name:"unarchive",type:"flags.2?true"},{name:"stickersets",type:"Vector"}],type:"Bool"},{id:4053719405,method:"messages.getDialogFilters",params:[],type:"Vector"},{id:2728186924,method:"messages.getSuggestedDialogFilters",params:[],type:"Vector"},{id:450142282,method:"messages.updateDialogFilter",params:[{name:"flags",type:"#"},{name:"id",type:"int"},{name:"filter",type:"flags.0?DialogFilter"}],type:"Bool"},{id:3311649252,method:"messages.updateDialogFiltersOrder",params:[{name:"order",type:"Vector"}],type:"Bool"},{id:1608974939,method:"messages.getOldFeaturedStickers",params:[{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:3990128682,method:"updates.getState",params:[],type:"updates.State"},{id:630429265,method:"updates.getDifference",params:[{name:"flags",type:"#"},{name:"pts",type:"int"},{name:"pts_total_limit",type:"flags.0?int"},{name:"date",type:"int"},{name:"qts",type:"int"}],type:"updates.Difference"},{id:51854712,method:"updates.getChannelDifference",params:[{name:"flags",type:"#"},{name:"force",type:"flags.0?true"},{name:"channel",type:"InputChannel"},{name:"filter",type:"ChannelMessagesFilter"},{name:"pts",type:"int"},{name:"limit",type:"int"}],type:"updates.ChannelDifference"},{id:4038807890,method:"photos.updateProfilePhoto",params:[{name:"id",type:"InputPhoto"}],type:"UserProfilePhoto"},{id:1328726168,method:"photos.uploadProfilePhoto",params:[{name:"file",type:"InputFile"}],type:"photos.Photo"},{id:2278522671,method:"photos.deletePhotos",params:[{name:"id",type:"Vector"}],type:"Vector"},{id:2446144168,method:"photos.getUserPhotos",params:[{name:"user_id",type:"InputUser"},{name:"offset",type:"int"},{name:"max_id",type:"long"},{name:"limit",type:"int"}],type:"photos.Photos"},{id:3003426337,method:"upload.saveFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:2975505148,method:"upload.getFile",params:[{name:"flags",type:"#"},{name:"precise",type:"flags.0?true"},{name:"cdn_supported",type:"flags.1?true"},{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.File"},{id:3732629309,method:"upload.saveBigFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"file_total_parts",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:619086221,method:"upload.getWebFile",params:[{name:"location",type:"InputWebFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.WebFile"},{id:536919235,method:"upload.getCdnFile",params:[{name:"file_token",type:"bytes"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.CdnFile"},{id:2603046056,method:"upload.reuploadCdnFile",params:[{name:"file_token",type:"bytes"},{name:"request_token",type:"bytes"}],type:"Vector"},{id:1302676017,method:"upload.getCdnFileHashes",params:[{name:"file_token",type:"bytes"},{name:"offset",type:"int"}],type:"Vector"},{id:3338819889,method:"upload.getFileHashes",params:[{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"}],type:"Vector"},{id:3304659051,method:"help.getConfig",params:[],type:"Config"},{id:531836966,method:"help.getNearestDc",params:[],type:"NearestDc"},{id:1378703997,method:"help.getAppUpdate",params:[{name:"source",type:"string"}],type:"help.AppUpdate"},{id:1295590211,method:"help.getInviteText",params:[],type:"help.InviteText"},{id:2631862477,method:"help.getSupport",params:[],type:"help.Support"},{id:2417028975,method:"help.getAppChangelog",params:[{name:"prev_app_version",type:"string"}],type:"Updates"},{id:3961704397,method:"help.setBotUpdatesStatus",params:[{name:"pending_updates_count",type:"int"},{name:"message",type:"string"}],type:"Bool"},{id:1375900482,method:"help.getCdnConfig",params:[],type:"CdnConfig"},{id:1036054804,method:"help.getRecentMeUrls",params:[{name:"referer",type:"string"}],type:"help.RecentMeUrls"},{id:749019089,method:"help.getTermsOfServiceUpdate",params:[],type:"help.TermsOfServiceUpdate"},{id:4000511898,method:"help.acceptTermsOfService",params:[{name:"id",type:"DataJSON"}],type:"Bool"},{id:1072547679,method:"help.getDeepLinkInfo",params:[{name:"path",type:"string"}],type:"help.DeepLinkInfo"},{id:2559656208,method:"help.getAppConfig",params:[],type:"JSONValue"},{id:1862465352,method:"help.saveAppLog",params:[{name:"events",type:"Vector"}],type:"Bool"},{id:3328290056,method:"help.getPassportConfig",params:[{name:"hash",type:"int"}],type:"help.PassportConfig"},{id:3546343212,method:"help.getSupportName",params:[],type:"help.SupportName"},{id:59377875,method:"help.getUserInfo",params:[{name:"user_id",type:"InputUser"}],type:"help.UserInfo"},{id:1723407216,method:"help.editUserInfo",params:[{name:"user_id",type:"InputUser"},{name:"message",type:"string"},{name:"entities",type:"Vector"}],type:"help.UserInfo"},{id:3231151137,method:"help.getPromoData",params:[],type:"help.PromoData"},{id:505748629,method:"help.hidePromoData",params:[{name:"peer",type:"InputPeer"}],type:"Bool"},{id:3423619383,method:"channels.readHistory",params:[{name:"channel",type:"InputChannel"},{name:"max_id",type:"int"}],type:"Bool"},{id:2227305806,method:"channels.deleteMessages",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"messages.AffectedMessages"},{id:3507345179,method:"channels.deleteUserHistory",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"}],type:"messages.AffectedHistory"},{id:4261967888,method:"channels.reportSpam",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"id",type:"Vector"}],type:"Bool"},{id:2911672867,method:"channels.getMessages",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"messages.Messages"},{id:306054633,method:"channels.getParticipants",params:[{name:"channel",type:"InputChannel"},{name:"filter",type:"ChannelParticipantsFilter"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"channels.ChannelParticipants"},{id:1416484774,method:"channels.getParticipant",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"}],type:"channels.ChannelParticipant"},{id:176122811,method:"channels.getChannels",params:[{name:"id",type:"Vector"}],type:"messages.Chats"},{id:141781513,method:"channels.getFullChannel",params:[{name:"channel",type:"InputChannel"}],type:"messages.ChatFull"},{id:1029681423,method:"channels.createChannel",params:[{name:"flags",type:"#"},{name:"broadcast",type:"flags.0?true"},{name:"megagroup",type:"flags.1?true"},{name:"title",type:"string"},{name:"about",type:"string"},{name:"geo_point",type:"flags.2?InputGeoPoint"},{name:"address",type:"flags.2?string"}],type:"Updates"},{id:3543959810,method:"channels.editAdmin",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"admin_rights",type:"ChatAdminRights"},{name:"rank",type:"string"}],type:"Updates"},{id:1450044624,method:"channels.editTitle",params:[{name:"channel",type:"InputChannel"},{name:"title",type:"string"}],type:"Updates"},{id:4046346185,method:"channels.editPhoto",params:[{name:"channel",type:"InputChannel"},{name:"photo",type:"InputChatPhoto"}],type:"Updates"},{id:283557164,method:"channels.checkUsername",params:[{name:"channel",type:"InputChannel"},{name:"username",type:"string"}],type:"Bool"},{id:890549214,method:"channels.updateUsername",params:[{name:"channel",type:"InputChannel"},{name:"username",type:"string"}],type:"Bool"},{id:615851205,method:"channels.joinChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:4164332181,method:"channels.leaveChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:429865580,method:"channels.inviteToChannel",params:[{name:"channel",type:"InputChannel"},{name:"users",type:"Vector"}],type:"Updates"},{id:3222347747,method:"channels.deleteChannel",params:[{name:"channel",type:"InputChannel"}],type:"Updates"},{id:3468128611,method:"channels.exportMessageLink",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"int"},{name:"grouped",type:"Bool"}],type:"ExportedMessageLink"},{id:527021574,method:"channels.toggleSignatures",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:4172297903,method:"channels.getAdminedPublicChannels",params:[{name:"flags",type:"#"},{name:"by_location",type:"flags.0?true"},{name:"check_limit",type:"flags.1?true"}],type:"messages.Chats"},{id:1920559378,method:"channels.editBanned",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"banned_rights",type:"ChatBannedRights"}],type:"Updates"},{id:870184064,method:"channels.getAdminLog",params:[{name:"flags",type:"#"},{name:"channel",type:"InputChannel"},{name:"q",type:"string"},{name:"events_filter",type:"flags.0?ChannelAdminLogEventsFilter"},{name:"admins",type:"flags.1?Vector"},{name:"max_id",type:"long"},{name:"min_id",type:"long"},{name:"limit",type:"int"}],type:"channels.AdminLogResults"},{id:3935085817,method:"channels.setStickers",params:[{name:"channel",type:"InputChannel"},{name:"stickerset",type:"InputStickerSet"}],type:"Bool"},{id:3937786936,method:"channels.readMessageContents",params:[{name:"channel",type:"InputChannel"},{name:"id",type:"Vector"}],type:"Bool"},{id:2939592002,method:"channels.deleteHistory",params:[{name:"channel",type:"InputChannel"},{name:"max_id",type:"int"}],type:"Bool"},{id:3938171212,method:"channels.togglePreHistoryHidden",params:[{name:"channel",type:"InputChannel"},{name:"enabled",type:"Bool"}],type:"Updates"},{id:2202135744,method:"channels.getLeftChannels",params:[{name:"offset",type:"int"}],type:"messages.Chats"},{id:4124758904,method:"channels.getGroupsForDiscussion",params:[],type:"messages.Chats"},{id:1079520178,method:"channels.setDiscussionGroup",params:[{name:"broadcast",type:"InputChannel"},{name:"group",type:"InputChannel"}],type:"Bool"},{id:2402864415,method:"channels.editCreator",params:[{name:"channel",type:"InputChannel"},{name:"user_id",type:"InputUser"},{name:"password",type:"InputCheckPasswordSRP"}],type:"Updates"},{id:1491484525,method:"channels.editLocation",params:[{name:"channel",type:"InputChannel"},{name:"geo_point",type:"InputGeoPoint"},{name:"address",type:"string"}],type:"Bool"},{id:3990134512,method:"channels.toggleSlowMode",params:[{name:"channel",type:"InputChannel"},{name:"seconds",type:"int"}],type:"Updates"},{id:300429806,method:"channels.getInactiveChannels",params:[],type:"messages.InactiveChats"},{id:2854709741,method:"bots.sendCustomRequest",params:[{name:"custom_method",type:"string"},{name:"params",type:"DataJSON"}],type:"DataJSON"},{id:3860938573,method:"bots.answerWebhookJSONQuery",params:[{name:"query_id",type:"long"},{name:"data",type:"DataJSON"}],type:"Bool"},{id:2153596662,method:"bots.setBotCommands",params:[{name:"commands",type:"Vector"}],type:"Bool"},{id:2582681413,method:"payments.getPaymentForm",params:[{name:"msg_id",type:"int"}],type:"payments.PaymentForm"},{id:2693966208,method:"payments.getPaymentReceipt",params:[{name:"msg_id",type:"int"}],type:"payments.PaymentReceipt"},{id:1997180532,method:"payments.validateRequestedInfo",params:[{name:"flags",type:"#"},{name:"save",type:"flags.0?true"},{name:"msg_id",type:"int"},{name:"info",type:"PaymentRequestedInfo"}],type:"payments.ValidatedRequestedInfo"},{id:730364339,method:"payments.sendPaymentForm",params:[{name:"flags",type:"#"},{name:"msg_id",type:"int"},{name:"requested_info_id",type:"flags.0?string"},{name:"shipping_option_id",type:"flags.1?string"},{name:"credentials",type:"InputPaymentCredentials"}],type:"payments.PaymentResult"},{id:578650699,method:"payments.getSavedInfo",params:[],type:"payments.SavedInfo"},{id:3627905217,method:"payments.clearSavedInfo",params:[{name:"flags",type:"#"},{name:"credentials",type:"flags.0?true"},{name:"info",type:"flags.1?true"}],type:"Bool"},{id:779736953,method:"payments.getBankCardData",params:[{name:"number",type:"string"}],type:"payments.BankCardData"},{id:4043532160,method:"stickers.createStickerSet",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"animated",type:"flags.1?true"},{name:"user_id",type:"InputUser"},{name:"title",type:"string"},{name:"short_name",type:"string"},{name:"thumb",type:"flags.2?InputDocument"},{name:"stickers",type:"Vector"}],type:"messages.StickerSet"},{id:4151709521,method:"stickers.removeStickerFromSet",params:[{name:"sticker",type:"InputDocument"}],type:"messages.StickerSet"},{id:4290172106,method:"stickers.changeStickerPosition",params:[{name:"sticker",type:"InputDocument"},{name:"position",type:"int"}],type:"messages.StickerSet"},{id:2253651646,method:"stickers.addStickerToSet",params:[{name:"stickerset",type:"InputStickerSet"},{name:"sticker",type:"InputStickerSetItem"}],type:"messages.StickerSet"},{id:2587250224,method:"stickers.setStickerSetThumb",params:[{name:"stickerset",type:"InputStickerSet"},{name:"thumb",type:"InputDocument"}],type:"messages.StickerSet"},{id:1430593449,method:"phone.getCallConfig",params:[],type:"DataJSON"},{id:1124046573,method:"phone.requestCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.0?true"},{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a_hash",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:1003664544,method:"phone.acceptCall",params:[{name:"peer",type:"InputPhoneCall"},{name:"g_b",type:"bytes"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:788404002,method:"phone.confirmCall",params:[{name:"peer",type:"InputPhoneCall"},{name:"g_a",type:"bytes"},{name:"key_fingerprint",type:"long"},{name:"protocol",type:"PhoneCallProtocol"}],type:"phone.PhoneCall"},{id:399855457,method:"phone.receivedCall",params:[{name:"peer",type:"InputPhoneCall"}],type:"Bool"},{id:2999697856,method:"phone.discardCall",params:[{name:"flags",type:"#"},{name:"video",type:"flags.0?true"},{name:"peer",type:"InputPhoneCall"},{name:"duration",type:"int"},{name:"reason",type:"PhoneCallDiscardReason"},{name:"connection_id",type:"long"}],type:"Updates"},{id:1508562471,method:"phone.setCallRating",params:[{name:"flags",type:"#"},{name:"user_initiative",type:"flags.0?true"},{name:"peer",type:"InputPhoneCall"},{name:"rating",type:"int"},{name:"comment",type:"string"}],type:"Updates"},{id:662363518,method:"phone.saveCallDebug",params:[{name:"peer",type:"InputPhoneCall"},{name:"debug",type:"DataJSON"}],type:"Bool"},{id:4286223235,method:"phone.sendSignalingData",params:[{name:"peer",type:"InputPhoneCall"},{name:"data",type:"bytes"}],type:"Bool"},{id:4075959050,method:"langpack.getLangPack",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"}],type:"LangPackDifference"},{id:4025104387,method:"langpack.getStrings",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"keys",type:"Vector"}],type:"Vector"},{id:3449309861,method:"langpack.getDifference",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"},{name:"from_version",type:"int"}],type:"LangPackDifference"},{id:1120311183,method:"langpack.getLanguages",params:[{name:"lang_pack",type:"string"}],type:"Vector"},{id:1784243458,method:"langpack.getLanguage",params:[{name:"lang_pack",type:"string"},{name:"lang_code",type:"string"}],type:"LangPackLanguage"},{id:1749536939,method:"folders.editPeerFolders",params:[{name:"folder_peers",type:"Vector"}],type:"Updates"},{id:472471681,method:"folders.deleteFolder",params:[{name:"folder_id",type:"int"}],type:"Updates"},{id:2873246746,method:"stats.getBroadcastStats",params:[{name:"flags",type:"#"},{name:"dark",type:"flags.0?true"},{name:"channel",type:"InputChannel"}],type:"stats.BroadcastStats"},{id:1646092192,method:"stats.loadAsyncGraph",params:[{name:"flags",type:"#"},{name:"token",type:"string"},{name:"x",type:"flags.0?long"}],type:"StatsGraph"}]},layer:114}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.gzipUncompress=t.bytesModPow=t.pqPrimeLeemon=t.pqPrimeFactorization=t.hash_pbkdf2=t.rsaEncrypt=t.aesDecryptSync=t.aesEncryptSync=t.sha256HashSync=t.sha1HashSync=t.bytesFromLeemonBigInt=void 0;const i=s(a(22)),r=s(a(23)),p=a(15),o=s(a(24)),d=a(16),m=a(5),y=a(0);function c(e){var t=d.bigInt2str(e,16);return y.bytesFromHex(t)}function l(e){var t,a,n,s,i,r,p=Math.ceil(64/d.bpe)+1,o=0,m=new Array(p),l=new Array(p),u=new Array(p),g=new Array(p),h=new Array(p),f=new Array(p),_=new Array(p);for(t=0;t<3;t++){for(a=17+(15&y.nextRandomInt(128)),d.copyInt_(f,y.nextRandomInt(1e9)+1),d.copy_(_,f),s=1<>7),h[g[b]^b]=b;for(;!n[f];f^=e||1)a=(a=_^_<<1^_<<2^_<<3^_<<4)>>8^255&a^99,n[f]=a,s[a]=f,u=16843009*g[t=g[e=g[f]]]^65537*t^257*e^16843008*f,l=257*g[a]^16843008*a,i[f]=l=l<<24^l>>>8,r[f]=l=l<<24^l>>>8,p[f]=l=l<<24^l>>>8,o[f]=l=l<<24^l>>>8,d[a]=u=u<<24^u>>>8,m[a]=u=u<<24^u>>>8,y[a]=u=u<<24^u>>>8,c[a]=u=u<<24^u>>>8,_=h[_]||1}();var g=function(){function e(e){var t=l(e);if(4!==t.length&&6!==t.length&&8!==t.length)throw new Error("Invalid key size");this.encKey=new Uint32Array(4*t.length+28),this.decKey=new Uint32Array(4*t.length+28),this.encKey.set(t);for(var a,s=1,i=t.length;i<4*t.length+28;i++)a=this.encKey[i-1],(i%t.length==0||8===t.length&&i%t.length==4)&&(a=n[a>>>24]<<24^n[a>>16&255]<<16^n[a>>8&255]<<8^n[255&a],i%t.length==0&&(a=a<<8^a>>>24^s<<24,s=s<<1^283*(s>>7))),this.encKey[i]=this.encKey[i-t.length]^a;for(var r=0;i;r++,i--)a=this.encKey[3&r?i:i-4],this.decKey[r]=i<=4||r<4?a:d[n[a>>>24]]^m[n[a>>16&255]]^y[n[a>>8&255]]^c[n[255&a]]}return e.prototype.encrypt=function(e){for(var t,a,s,d=l(e),m=new Uint32Array(4),y=d[0]^this.encKey[0],c=d[1]^this.encKey[1],u=d[2]^this.encKey[2],g=d[3]^this.encKey[3],h=this.encKey.length/4-2,f=4,_=0;_>>24]^r[c>>16&255]^p[u>>8&255]^o[255&g]^this.encKey[f],a=i[c>>>24]^r[u>>16&255]^p[g>>8&255]^o[255&y]^this.encKey[f+1],s=i[u>>>24]^r[g>>16&255]^p[y>>8&255]^o[255&c]^this.encKey[f+2],g=i[g>>>24]^r[y>>16&255]^p[c>>8&255]^o[255&u]^this.encKey[f+3],y=t,c=a,u=s,f+=4;for(_=0;_<4;_++)m[_]=n[y>>>24]<<24^n[c>>16&255]<<16^n[u>>8&255]<<8^n[255&g]^this.encKey[f++],t=y,y=c,c=u,u=g,g=t;return m},e.prototype.decrypt=function(e){for(var t,a,n,i=l(e),r=new Uint32Array(4),p=i[0]^this.decKey[0],o=i[3]^this.decKey[1],u=i[2]^this.decKey[2],g=i[1]^this.decKey[3],h=this.decKey.length/4-2,f=4,_=0;_>>24]^m[o>>16&255]^y[u>>8&255]^c[255&g]^this.decKey[f],a=d[o>>>24]^m[u>>16&255]^y[g>>8&255]^c[255&p]^this.decKey[f+1],n=d[u>>>24]^m[g>>16&255]^y[p>>8&255]^c[255&o]^this.decKey[f+2],g=d[g>>>24]^m[p>>16&255]^y[o>>8&255]^c[255&u]^this.decKey[f+3],p=t,o=a,u=n,f+=4;for(_=0;_<4;_++)r[3&-_]=s[p>>>24]<<24^s[o>>16&255]<<16^s[u>>8&255]<<8^s[255&g]^this.decKey[f++],t=p,p=o,o=u,u=g,g=t;return r},e}(),h=function(){function e(e,t,a){void 0===a&&(a=16),this.key=l(e),this.iv=l(t),this.cipher=new g(e),this.blockSize=a/4}return e.prototype.encrypt=function(e,t){for(var a=l(e),n=t||new Uint32Array(a.length),s=this.iv.subarray(this.blockSize,this.iv.length),i=this.iv.subarray(0,this.blockSize),r=new Uint32Array(this.blockSize),p=0;p=this.blockSize&&this.incrementCounter(),s&&(i-=s,s=0)}return this.offset=(this.offset+a.length%4)%4,n},e.prototype.decrypt=function(e,t){return this.encrypt(e,t)},e.prototype.incrementCounter=function(){for(var e=this.counter.length-1;e>=0&&!(++this.counter[e]<4294967295);e--);},e}();t.default=g},function(e,t,a){"use strict";a.r(t),a.d(t,"bpe",(function(){return s})),a.d(t,"one",(function(){return d})),a.d(t,"zero",(function(){return m})),a.d(t,"findPrimes",(function(){return W})),a.d(t,"millerRabinInt",(function(){return j})),a.d(t,"millerRabin",(function(){return G})),a.d(t,"bitSize",(function(){return Z})),a.d(t,"expand",(function(){return J})),a.d(t,"randTruePrime",(function(){return Q})),a.d(t,"randProbPrime",(function(){return X})),a.d(t,"randProbPrimeRounds",(function(){return Y})),a.d(t,"mod",(function(){return $})),a.d(t,"addInt",(function(){return ee})),a.d(t,"mult",(function(){return te})),a.d(t,"powMod",(function(){return ae})),a.d(t,"sub",(function(){return ne})),a.d(t,"add",(function(){return se})),a.d(t,"inverseMod",(function(){return ie})),a.d(t,"multMod",(function(){return re})),a.d(t,"randTruePrime_",(function(){return pe})),a.d(t,"randBigInt",(function(){return oe})),a.d(t,"randBigInt_",(function(){return de})),a.d(t,"GCD",(function(){return me})),a.d(t,"GCD_",(function(){return ye})),a.d(t,"inverseMod_",(function(){return ce})),a.d(t,"inverseModInt",(function(){return le})),a.d(t,"eGCD_",(function(){return ue})),a.d(t,"negative",(function(){return ge})),a.d(t,"greaterShift",(function(){return he})),a.d(t,"greater",(function(){return fe})),a.d(t,"divide_",(function(){return _e})),a.d(t,"carry_",(function(){return be})),a.d(t,"modInt",(function(){return ve})),a.d(t,"int2bigInt",(function(){return we})),a.d(t,"str2bigInt",(function(){return Pe})),a.d(t,"equalsInt",(function(){return Se})),a.d(t,"equals",(function(){return ke})),a.d(t,"isZero",(function(){return Ie})),a.d(t,"bigInt2str",(function(){return Me})),a.d(t,"dup",(function(){return Ae})),a.d(t,"copy_",(function(){return Ce})),a.d(t,"copyInt_",(function(){return Te})),a.d(t,"addInt_",(function(){return De})),a.d(t,"rightShift_",(function(){return Be})),a.d(t,"halve_",(function(){return Re})),a.d(t,"leftShift_",(function(){return Ve})),a.d(t,"multInt_",(function(){return Ue})),a.d(t,"divInt_",(function(){return Ee})),a.d(t,"linComb_",(function(){return xe})),a.d(t,"linCombShift_",(function(){return Fe})),a.d(t,"addShift_",(function(){return Le})),a.d(t,"subShift_",(function(){return Oe})),a.d(t,"sub_",(function(){return Ne})),a.d(t,"add_",(function(){return qe})),a.d(t,"mult_",(function(){return He})),a.d(t,"mod_",(function(){return ze})),a.d(t,"multMod_",(function(){return Ke})),a.d(t,"squareMod_",(function(){return We})),a.d(t,"trim",(function(){return je})),a.d(t,"powMod_",(function(){return Ge})),a.d(t,"mont_",(function(){return Ze}));var n,s=0,i=0,r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-";for(s=0;1<1<>=1))-1)+1;var p,o,d=we(1,1,1),m=we(0,1,1),y=new Array(0),c=y,l=y,u=y,g=y,h=y,f=y,_=y,b=y,v=y,w=y,P=y,S=y,k=y,I=y,M=y,A=y,C=y,T=y,D=y,B=y,R=y,V=y,U=y,E=y,x=y,F=y,L=y,O=y,N=y,q=y,H=y,z=y,K=y;function W(e){var t,a,n,s;for(a=new Array(e),t=0;t0;t--);for(a=0,n=e[t];n;n>>=1,a++);return a+=s*t}function J(e,t){var a=we(0,(e.length>t?e.length:t)*s,0);return Ce(a,e),a}function Q(e){var t=we(0,e,0);return pe(t,e),je(t,1)}function X(e){return Y(e,e>=600?2:e>=550?4:e>=500?5:e>=400?6:e>=350?7:e>=300?9:e>=250?12:e>=200?15:e>=150?18:e>=100?27:40)}function Y(e,t){var a,n,s;for(3e4,a=we(0,e,0),0===D.length&&(D=W(3e4)),K.length!==a.length&&(K=Ae(a));;){for(de(a,e,0),a[0]|=1,s=0,n=0;nt.length?e.length+1:t.length+1);return Ne(a,t),je(a,1)}function se(e,t){var a=J(e,e.length>t.length?e.length+1:t.length+1);return qe(a,t),je(a,1)}function ie(e,t){var a=J(e,t.length);return ce(a,t)?je(a,1):null}function re(e,t,a){var n=J(e,a.length);return Ke(n,t,a),je(n,1)}function pe(e,t){var a,n,i,r,p,o,d,m,y,c;if(0==D.length&&(D=W(3e4)),0==B.length)for(B=new Array(512),i=0;i<512;i++)B[i]=Math.pow(2,i/511-1);if(V.length!=e.length&&(V=Ae(e),U=Ae(e),F=Ae(e),O=Ae(e),H=Ae(e),Ae(e),Ae(e),q=Ae(e),N=Ae(e),R=Ae(e),E=Ae(e),x=Ae(e),L=Ae(e),z=Ae(e)),t<=20){for(a=(1<<(t+2>>1))-1,Te(e,0),n=1;n;)for(n=0,e[0]=1|1<40)for(r=1;t-t*r<=20;)r=B[Math.floor(512*Math.random())];else r=.5;for(y=Math.floor(r*t)+1,pe(x,y),Te(V,0),V[Math.floor((t-2)/s)]|=1<<(t-2)%s,_e(V,x,R,E),d=Z(R);;){for(;de(U,d,0),!fe(R,U););for(De(U,1),qe(U,R),Ce(N,x),He(N,U),Ue(N,2),De(N,1),Ce(O,U),Ue(O,2),o=0,i=0;i0;i--);for(m=0,c=N[i];c;c>>=1,m++);for(m+=s*i;de(L,m,0),!fe(N,L););if(De(N,3),De(L,2),Ce(q,L),Ce(F,N),De(F,-1),Ge(q,F,N),De(q,-1),Ie(q)&&(Ce(q,L),Ge(q,O,N),De(q,-1),Ce(z,N),Ce(H,q),ye(H,N),Se(H,1)))return void Ce(e,z)}}}}function oe(e,t){var a;return de(a=we(0,0,Math.floor((e-1)/s)+2),e,t),a}function de(e,t,a){var n,i;for(n=0;n=0;a--);for(n=e[a],s=t[a],i=1,r=0,p=0,o=1;s+p&&s+o&&(d=Math.floor((n+i)/(s+p)))==Math.floor((n+r)/(s+o));)y=i-d*p,i=p,p=y,y=r-d*o,r=o,o=y,y=n-d*s,n=s,s=y;r?(Ce(b,e),xe(e,t,i,r),xe(t,b,o,p)):(ze(e,t),Ce(b,e),Ce(e,t),Ce(t,b))}if(0!==t[0])for(y=ve(e,t[0]),Te(e,t[0]),t[0]=y;t[0];)e[0]%=t[0],y=e[0],e[0]=t[0],t[0]=y}function ce(e,t){var a=1+2*Math.max(e.length,t.length);if(!(1&e[0]||1&t[0]))return Te(e,0),0;for(I.length!=a&&(I=new Array(a),k=new Array(a),M=new Array(a),A=new Array(a),C=new Array(a),T=new Array(a)),Ce(I,e),Ce(k,t),Te(M,1),Te(A,0),Te(C,0),Te(T,1);;){for(;!(1&I[0]);)Re(I),1&M[0]||1&A[0]?(qe(M,t),Re(M),Ne(A,e),Re(A)):(Re(M),Re(A));for(;!(1&k[0]);)Re(k),1&C[0]||1&T[0]?(qe(C,t),Re(C),Ne(T,e),Re(T)):(Re(C),Re(T));if(fe(k,I)?(Ne(k,I),Ne(C,M),Ne(T,A)):(Ne(I,k),Ne(M,C),Ne(A,T)),Se(I,0)){for(;ge(C);)qe(C,t);return Ce(e,C),Se(k,1)?1:(Te(e,0),0)}}}function le(e,t){for(var a=1,n=0;;){if(1===e)return a;if(0===e)return 0;if(n-=a*Math.floor(t/e),1===(t%=e))return n;if(0===t)return 0;a-=n*Math.floor(e/t),e%=t}}function ue(e,t,a,n,s){var i=0,r=Math.max(e.length,t.length);for(I.length!=r&&(I=new Array(r),M=new Array(r),A=new Array(r),C=new Array(r),T=new Array(r));!(1&e[0]||1&t[0]);)Re(e),Re(t),i++;for(Ce(I,e),Ce(a,t),Te(M,1),Te(A,0),Te(C,0),Te(T,1);;){for(;!(1&I[0]);)Re(I),1&M[0]||1&A[0]?(qe(M,t),Re(M),Ne(A,e),Re(A)):(Re(M),Re(A));for(;!(1&a[0]);)Re(a),1&C[0]||1&T[0]?(qe(C,t),Re(C),Ne(T,e),Re(T)):(Re(C),Re(T));if(fe(a,I)?(Ne(a,I),Ne(C,M),Ne(T,A)):(Ne(I,a),Ne(M,C),Ne(A,T)),Se(I,0)){for(;ge(C);)qe(C,t),Ne(T,e);return Ue(T,-1),Ce(n,C),Ce(s,T),void Ve(a,i)}}}function ge(e){return e[e.length-1]>>s-1&1}function he(e,t,a){var n,s=e.length,i=t.length;for(p=s+a=0;n++)if(e[n]>0)return 1;for(n=s-1+a;n0)return 0;for(n=p-1;n>=a;n--){if(e[n-a]>t[n])return 1;if(e[n-a]=0;a--){if(e[a]>t[a])return 1;if(e[a]>=1;for(Ve(t,l=s-l),Ve(r,l),p=r.length;0===r[p-1]&&p>o;p--);for(Te(a,0);!he(t,r,p-o);)Oe(r,t,p-o),a[p-o]++;for(d=p-1;d>=o;d--){for(r[d]==t[o-1]?a[d-o]=i:a[d-o]=Math.floor((r[d]*n+r[d-1])/t[o-1]);c=(y=(o>1?t[o-2]:0)*a[d-o])>>s,y&=i,c=(m=c+a[d-o]*t[o-1])>>s,m&=i,c==r[d]?m==r[d-1]?y>(d>1?r[d-2]:0):m>r[d-1]:c>r[d];)a[d-o]--;Fe(r,t,-a[d-o],d-o),ge(r)&&(Le(r,t,d-o),a[d-o]--)}Be(t,l),Be(r,l)}function be(e){var t,a,r,p;for(a=e.length,r=0,t=0;t>s))*n),e[t]=r&i,r=(r>>s)-p}function ve(e,t){var a,s=0;for(a=e.length-1;a>=0;a--)s=(s*n+e[a])%t;return s}function we(e,t,a){var n;n=a>(n=Math.ceil(t/s)+1)?a:n;var i=new Array(n);return Te(i,e),i}function Pe(e,t,a){var n,s,i,p,o,d=e.length;if(-1===t){for(i=new Array(0);;){for(p=new Array(i.length+1),s=0;s=36&&(n-=26),!(n>=t||n<0));s++)Ue(i,t),De(i,n);for(d=i.length;d>0&&!i[d-1];d--);for(d=a>d+1?a:d+1,p=new Array(d),o=dt.length){for(;a0;a--)s+=e[a]+",";s+=e[0]}else for(;!Ie(f);)n=Ee(f,t),s=r.substring(n,n+1)+s;return 0===s.length&&(s="0"),s}function Ae(e){return Ce(o=Array(e.length),e),o}function Ce(e,t){var a,n=e.length>=s}function De(e,t){var a,r,p,o;for(e[0]+=t,r=e.length,p=0,a=0;a>s))*n),e[a]=p&i,!(p=(p>>s)-o))return}function Be(e,t){var a,n=Math.floor(t/s);if(n){for(a=0;a>t);e[a]>>=t}function Re(e){var t;for(t=0;t>1);e[t]=e[t]>>1|e[t]&n>>1}function Ve(e,t){var a,n=Math.floor(t/s);if(n){for(a=e.length;a>=n;a--)e[a]=e[a-n];for(;a>=0;a--)e[a]=0;t%=s}if(t){for(a=e.length-1;a>0;a--)e[a]=i&(e[a]<>s-t);e[a]=i&e[a]<>s))*n),e[a]=p&i,p=(p>>s)-o}function Ee(e,t){var a,s,i=0;for(a=e.length-1;a>=0;a--)s=i*n+e[a],e[a]=Math.floor(s/t),i=s%t;return i}function xe(e,t,a,n){var r,p,o,d;for(o=e.length>=s;for(r=o;r>=s}function Fe(e,t,a,n){var r,p,o,d;for(o=e.length>=s;for(r=o;p&&r>=s}function Le(e,t,a){var n,r,p,o;for(p=e.length>=s;for(n=p;r&&n>=s}function Oe(e,t,a){var n,r,p,o;for(p=e.length>=s;for(n=p;r&&n>=s}function Ne(e,t){var a,n,r;for(r=e.length>=s;for(a=r;n&&a>=s}function qe(e,t){var a,n,r;for(r=e.length>=s;for(a=r;n&&a>=s}function He(e,t){var a;for(c.length!=2*e.length&&(c=new Array(2*e.length)),Te(c,0),a=0;a0&&!e[p-1];p--);for(o=p>t.length?2*p:2*t.length,l.length!=o&&(l=new Array(o)),Te(l,0),a=0;a>=s,n=a+1;n>=s;l[a+p]=r}ze(l,t),Ce(e,l)}function je(e,t){var a,n;for(a=e.length;a>0&&!e[a-1];a--);return Ce(n=new Array(a+t),e),n}function Ge(e,t,a){var i,r,p,o;if(_.length!=a.length&&(_=Ae(a)),0!=(1&a[0])){for(Te(_,0),p=a.length;p>0&&!a[p-1];p--);for(o=n-le(ve(a,n),n),_[p]=1,Ke(e,_,a),u.length!=e.length?u=Ae(e):Ce(u,e),i=t.length-1;i>0&!t[i];i--);if(0!=t[i]){for(r=1<>=1);for(;;){if(!(r>>=1)){if(--i<0)return void Ze(e,d,a,o);r=1<0&&0==a[c-1];c--);for(;l>0&&0==t[l-1];l--);for(y=v.length-1,r=0;r>s,m=e[r],p=1;p>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p]+m*t[p],v[p-1]=o&i,o>>=s,p++;for(;p>=s,p++;for(;p>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++,o+=v[p]+d*a[p],v[p-1]=o&i,o>>=s,p++;for(;p>=s,p++;for(;p>=s,p++;v[p-1]=o&i}fe(a,v)||Ne(v,a),Ce(e,v)}},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TimeManager=void 0;const s=n(a(3)),i=a(0);class r{constructor(){this.lastMessageID=[0,0],this.timeOffset=0,s.default.get("server_time_offset").then(e=>{e&&(this.timeOffset=e)})}generateID(){var e=Date.now(),t=[Math.floor(e/1e3)+this.timeOffset,e%1e3<<21|i.nextRandomInt(65535)<<3|4];return(this.lastMessageID[0]>t[0]||this.lastMessageID[0]==t[0]&&this.lastMessageID[1]>=t[1])&&(t=[this.lastMessageID[0],this.lastMessageID[1]+4]),this.lastMessageID=t,i.longFromInts(t[0],t[1])}applyServerTime(e,t){var a=e-Math.floor((t||Date.now())/1e3),n=Math.abs(this.timeOffset-a)>10;return s.default.set({server_time_offset:a}),this.lastMessageID=[0,0],this.timeOffset=a,n}}t.TimeManager=r,t.default=new r},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.dcID=e,this.url=t}}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FileManager=void 0;const s=a(0);class i{constructor(){this.blobSupported=!0;try{s.blobConstruct([],"")}catch(e){this.blobSupported=!1}}isAvailable(){return this.blobSupported}write(e,t){return t instanceof Blob?new Promise((a,n)=>{let s=new FileReader;s.onload=function(t){let s=t.target.result,i=new Uint8Array(s);e.write(i).then(a,n)},s.readAsArrayBuffer(t)}):e.write(t)}getFakeFileWriter(e,t){const a=[];return{write:e=>n(this,void 0,void 0,(function*(){if(!this.blobSupported)throw!1;a.push(e)})),truncate:()=>{a.length=0},finalize:(n=!0)=>{const i=s.blobConstruct(a,e);return n&&t&&t(i),i}}}}t.FileManager=i,t.default=new i},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});a(10).secureRandom;const i=s(a(11)),r=s(a(3)),p=s(a(2)),o=s(a(6)),d=s(a(32)),m=a(1),y=m.logger("DW",m.LogLevels.error),c=self;function l(...e){c.postMessage(...e)}o.default.setUpdatesProcessor((e,t)=>{l({update:{obj:e,bool:t}})}),c.addEventListener("message",e=>n(void 0,void 0,void 0,(function*(){try{const t=e.data,a=t.taskID;if(y.debug("got message:",a,t),t.useLs)return void r.default.finishTask(t.taskID,t.args);if("convertWebp"==t.type){const{fileName:e,bytes:a}=t.payload,n=d.default.webpConvertPromises[e];return void(n&&(n.resolve(a),delete d.default.webpConvertPromises[e]))}if("requestFilePart"==t.type){const t=e.data,a={type:t.type,id:t.id,payload:null};try{const e=yield d.default.requestFilePart(...t.payload);a.payload=e}catch(e){}return void l(a)}switch(t.task){case"computeSRP":case"gzipUncompress":return p.default[t.task].apply(p.default,t.args).then(e=>{l({taskID:a,result:e})});case"cancelDownload":case"uploadFile":case"downloadFile":try{let e=d.default[t.task].apply(d.default,t.args);e instanceof Promise&&(e=yield e),l({taskID:a,result:e})}catch(e){l({taskID:a,error:e})}default:try{let e=i.default[t.task].apply(i.default,t.args);e instanceof Promise&&(e=yield e),l({taskID:a,result:e})}catch(e){l({taskID:a,error:e})}}}catch(e){}}))),c.postMessage("ready")},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MTPNetworker=void 0;const i=a(0),r=a(0),p=a(7),o=s(a(2)),d=s(a(3)),m=s(a(13)),y=s(a(17)),c=s(a(6)),l=s(a(8)),u=s(a(9)),g=a(1),h=a(4);t.MTPNetworker=class{constructor(e,t,a,n,s={}){this.dcID=e,this.authKey=t,this.authKeyID=a,this.serverSalt=n,this.options=s,this.lastServerMessages=[],this.sentMessages={},this.pendingMessages={},this.pendingAcks=[],this.pendingResends=[],this.connectionInited=!1,this.longPollPending=0,this.seqNo=0,this.prevSessionID=[],this.sessionID=[],this.sleepAfter=0,this.offline=!1,this.checkConnectionPeriod=0,this.nextReq=0,this.onOnlineCb=this.checkConnection.bind(this),this.lastResendReq=null,this.authKeyUint8=r.convertToUint8Array(this.authKey),this.upload=this.options.fileUpload||this.options.fileDownload||!1,this.log=g.logger("NET-"+e+(this.upload?"-U":"")),this.log("constructor"),this.updateSession(),this.transport=l.default.chooseServer(this.dcID,this.upload),this.transport instanceof u.default?(setInterval(this.checkLongPoll.bind(this),1e4),this.checkLongPoll()):this.transport.networker=this}updateSession(){this.seqNo=0,this.prevSessionID=this.sessionID,this.sessionID=new Array(8),this.sessionID=[...new Uint8Array(this.sessionID.length).randomize()]}updateSentMessage(e){var t=this.sentMessages[e];if(!t)return!1;var a=this;if(t.container){var n=[];t.inner.forEach(e=>{var t=a.updateSentMessage(e);t&&n.push(t.msg_id)}),t.inner=n}return t.msg_id=y.default.generateID(),t.seq_no=this.generateSeqNo(t.notContentRelated||t.container),this.sentMessages[t.msg_id]=t,delete a.sentMessages[e],t}generateSeqNo(e){var t=2*this.seqNo;return e||(t++,this.seqNo++),t}wrapMtpCall(e,t={},a={}){var n=new p.TLSerialization({mtproto:!0});n.storeMethod(e,t);var s=y.default.generateID(),i=this.generateSeqNo(),r={msg_id:s,seq_no:i,body:n.getBytes()};return h.Modes.debug&&this.log("MT call",e,t,s,i),this.pushMessage(r,a)}wrapMtpMessage(e={},t={}){var a=new p.TLSerialization({mtproto:!0});a.storeObject(e,"Object");var n=y.default.generateID(),s=this.generateSeqNo(t.notContentRelated),i={msg_id:n,seq_no:s,body:a.getBytes()};return h.Modes.debug&&this.log("MT message",e,n,s),this.pushMessage(i,t)}wrapApiCall(e,t={},a={}){let n=new p.TLSerialization(a);if(!this.connectionInited){let e=m.default.API.methods.find(e=>"invokeWithLayer"==e.method);if(!e)throw new Error("no invokeWithLayer!");n.storeInt(+e.id>>>0,"invokeWithLayer"),n.storeInt(m.default.layer,"layer");let t=m.default.API.methods.find(e=>"initConnection"==e.method);if(!t)throw new Error("no initConnection!");n.storeInt(+t.id>>>0,"initConnection"),n.storeInt(0,"flags"),n.storeInt(h.App.id,"api_id"),n.storeString(navigator.userAgent||"Unknown UserAgent","device_model"),n.storeString(navigator.platform||"Unknown Platform","system_version"),n.storeString(h.App.version,"app_version"),n.storeString(navigator.language||"en","system_lang_code"),n.storeString("","lang_pack"),n.storeString(navigator.language||"en","lang_code")}if(a.afterMessageID){let e=m.default.API.methods.find(e=>"invokeAfterMsg"==e.method);if(!e)throw new Error("no invokeAfterMsg!");this.log("Api call options.afterMessageID!"),n.storeInt(+e.id>>>0,"invokeAfterMsg"),n.storeLong(a.afterMessageID,"msg_id")}a.resultType=n.storeMethod(e,t);var s={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(),body:n.getBytes(!0),isAPI:!0};return h.Modes.debug?this.log("Api call",e,s,t,a):this.log("Api call",e,t,a),this.pushMessage(s,a)}checkLongPoll(){const e=this.cleanupSent();if(this.longPollPending&&Date.now(){e&&(t!=this.dcID||this.upload||this.sleepAfter&&Date.now()>this.sleepAfter)||this.sendLongPoll()})}sendLongPoll(){this.longPollPending=Date.now()+25e3,this.wrapMtpCall("http_wait",{max_delay:500,wait_after:150,max_wait:25e3},{noResponse:!0,longPoll:!0}).then(()=>{this.longPollPending=0,setTimeout(this.checkLongPoll.bind(this),0)},e=>{this.log("Long-poll failed",e)})}pushMessage(e,t={}){return new Promise((a,n)=>{this.sentMessages[e.msg_id]=Object.assign(e,t,{deferred:{resolve:a,reject:n}}),this.pendingMessages[e.msg_id]=0,t&&t.noSchedule||this.scheduleRequest(),i.isObject(t)&&(t.messageID=e.msg_id)})}pushResend(e,t=0){const a=t?Date.now()+t:0,n=this.sentMessages[e];if(n.container)for(let e=0,t=n.inner.length;e{var t=new Uint8Array(32),a=new Uint8Array(32),n=new Uint8Array(e[0]),s=new Uint8Array(e[1]);return t.set(n.subarray(0,8)),t.set(s.subarray(8,24),8),t.set(n.subarray(24,32),24),a.set(s.subarray(0,8)),a.set(n.subarray(8,24),8),a.set(s.subarray(24,32),24),[t,a]})}checkConnection(e){this.log("Check connection",e),clearTimeout(this.checkConnectionTimeout),this.checkConnectionTimeout=0;var t=new p.TLSerialization({mtproto:!0}),a=[r.nextRandomInt(4294967295),r.nextRandomInt(4294967295)];t.storeMethod("ping",{ping_id:a});var n={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(!0),body:t.getBytes()},s=this;this.sendEncryptedRequest(n,{timeout:15e3}).then(e=>{s.toggleOffline(!1)},()=>{this.log("Delay ",1e3*s.checkConnectionPeriod),s.checkConnectionTimeout=setTimeout(s.checkConnection.bind(s),1e3*s.checkConnectionPeriod|0),s.checkConnectionPeriod=Math.min(60,1.5*s.checkConnectionPeriod)})}toggleOffline(e){if(void 0!==this.offline&&this.offline==e)return!1;this.offline=e,this.transport instanceof u.default?this.offline?(clearTimeout(this.nextReqTimeout),this.nextReqTimeout=0,this.nextReq=0,this.checkConnectionPeriod<1.5&&(this.checkConnectionPeriod=0),this.checkConnectionTimeout=setTimeout(this.checkConnection.bind(this),1e3*this.checkConnectionPeriod|0),this.checkConnectionPeriod=Math.min(30,1.5*(1+this.checkConnectionPeriod)),document.body.addEventListener("online",this.onOnlineCb,!1),document.body.addEventListener("focus",this.onOnlineCb,!1)):(this.checkLongPoll(),this.scheduleRequest(),document.body.removeEventListener("online",this.onOnlineCb),document.body.removeEventListener("focus",this.onOnlineCb),clearTimeout(this.checkConnectionTimeout),this.checkConnectionTimeout=0):this.log("toggle ",e,this.dcID)}performScheduledRequest(){if(this.offline)return this.log("Cancel scheduled"),!1;if(this.nextReq=0,this.pendingAcks.length){var e=this.pendingAcks.slice();this.wrapMtpMessage({_:"msgs_ack",msg_ids:e},{notContentRelated:!0,noSchedule:!0})}if(this.pendingResends.length){var t=this.pendingResends.slice(),a={noSchedule:!0,notContentRelated:!0,messageID:""};this.log("resendReq messages",t),this.wrapMtpMessage({_:"msg_resend_req",msg_ids:t},a),this.lastResendReq={req_msg_id:a.messageID,resend_msg_ids:t}}var n,s=[],i=0,r=Date.now(),o=!1,d=!1,m=!1,c=0,l=this;for(let e in this.pendingMessages){let t=this.pendingMessages[e];if(!t||t>=r){if(n=this.sentMessages[e]){var g=n.body.length+32;if(!n.notContentRelated&&m)continue;if(!n.notContentRelated&&i&&i+g>655360){this.log.warn("lengthOverflow",n),m=!0;continue}if(n.singleInRequest&&++c>1)continue;s.push(n),i+=g,n.isAPI?o=!0:n.longPoll&&(d=!0)}delete l.pendingMessages[e]}}if(o&&!d&&this.transport instanceof u.default){var f=new p.TLSerialization({mtproto:!0});f.storeMethod("http_wait",{max_delay:500,wait_after:150,max_wait:3e3}),s.push({msg_id:y.default.generateID(),seq_no:this.generateSeqNo(),body:f.getBytes()})}if(!s.length)return;var _=[];if(s.length>1){var b=new p.TLSerialization({mtproto:!0,startMaxLength:i+64});b.storeInt(1945237724,"CONTAINER[id]"),b.storeInt(s.length,"CONTAINER[count]");var v=[];s.forEach((e,t)=>{b.storeLong(e.msg_id,"CONTAINER["+t+"][msg_id]"),v.push(e.msg_id),b.storeInt(e.seq_no,"CONTAINER["+t+"][seq_no]"),b.storeInt(e.body.length,"CONTAINER["+t+"][bytes]"),b.storeRawBytes(e.body,"CONTAINER["+t+"][body]"),e.noResponse&&_.push(e.msg_id)});var w={msg_id:y.default.generateID(),seq_no:this.generateSeqNo(!0),container:!0,inner:v};n=Object.assign({body:b.getBytes(!0)},w),this.sentMessages[n.msg_id]=w,h.Modes.debug,this.log("Container",v,n.msg_id,n.seq_no)}else n.noResponse&&_.push(n.msg_id),this.sentMessages[n.msg_id]=n;this.pendingAcks=[];let P=this.sendEncryptedRequest(n);this.transport instanceof u.default?P.then(e=>{l.toggleOffline(!1),l.parseResponse(e).then(e=>{h.Modes.debug&&this.log("Server response",l.dcID,e),l.processMessage(e.response,e.messageID,e.sessionID),_.forEach(e=>{if(l.sentMessages[e]){var t=l.sentMessages[e].deferred;delete l.sentMessages[e],t.resolve()}}),l.transport instanceof u.default&&(l.checkLongPoll(),this.checkConnectionPeriod=Math.max(1.1,Math.sqrt(this.checkConnectionPeriod)))})},e=>{this.log.error("Encrypted request failed",e,n),n.container?(n.inner.forEach(e=>{l.pendingMessages[e]=0}),delete l.sentMessages[n.msg_id]):l.pendingMessages[n.msg_id]=0,_.forEach(e=>{if(l.sentMessages[e]){var t=l.sentMessages[e].deferred;delete l.sentMessages[e],delete l.pendingMessages[e],t.reject()}}),l.toggleOffline(!0)}):_.length&&this.log.error("noResponseMsgs length!",_),(m||c>1)&&this.scheduleRequest()}getEncryptedMessage(e){return n(this,void 0,void 0,(function*(){let t=yield this.getMsgKey(e,!0),a=yield this.getAesKeyIv(t,!0);return{bytes:yield o.default.aesEncrypt(e,a[0],a[1]),msgKey:t}}))}getDecryptedMessage(e,t){return this.getAesKeyIv(e,!1).then(e=>o.default.aesDecrypt(t,e[0],e[1]))}sendEncryptedRequest(e,t={}){var a=this;this.log.debug("Send encrypted",e,t,this.authKeyID);var n=new p.TLSerialization({startMaxLength:e.body.length+2048});n.storeIntBytes(this.serverSalt,64,"salt"),n.storeIntBytes(this.sessionID,64,"session_id"),n.storeLong(e.msg_id,"message_id"),n.storeInt(e.seq_no,"seq_no"),n.storeInt(e.body.length,"message_data_length"),n.storeRawBytes(e.body,"message_data");var s=n.getBuffer(),i=16-n.offset%16+16*(1+r.nextRandomInt(5)),o=new Array(i);o=[...new Uint8Array(o.length).randomize()];var d=r.bufferConcat(s,o);return this.getEncryptedMessage(d).then(e=>{this.log.debug("Got encrypted out message",e);let t=new p.TLSerialization({startMaxLength:e.bytes.byteLength+256});t.storeIntBytes(a.authKeyID,64,"auth_key_id"),t.storeIntBytes(e.msgKey,128,"msg_key"),t.storeRawBytes(e.bytes,"encrypted_data");let n=t.getBytes(!0),s={code:406,type:"NETWORK_BAD_RESPONSE",transport:this.transport},i=this.transport.send(n);return this.transport instanceof u.default?i.then(e=>e&&e.byteLength?e:Promise.reject(s),e=>(e.message||e.type||(e=Object.assign(s,{type:"NETWORK_BAD_REQUEST",originalError:e})),Promise.reject(e))):i})}parseResponse(e){this.log.debug("Start parsing response");let t=this,a=new p.TLDeserialization(e),n=a.fetchIntBytes(64,!0,"auth_key_id");if(!r.bytesCmp(n,this.authKeyID))throw new Error("[MT] Invalid server auth_key_id: "+n.hex);let s=a.fetchIntBytes(128,!0,"msg_key"),i=a.fetchRawBytes(e.byteLength-a.getOffset(),!0,"encrypted_data");return t.getDecryptedMessage(s,i).then(e=>t.getMsgKey(e,!1).then(a=>{if(!r.bytesCmp(s,a))throw this.log.warn("[MT] msg_keys",s,a),this.updateSession(),new Error("[MT] server msgKey mismatch, updating session");let n=new p.TLDeserialization(e,{mtproto:!0});n.fetchIntBytes(64,!1,"salt");let i=n.fetchIntBytes(64,!1,"session_id"),o=n.fetchLong("message_id");if(!(r.bytesCmp(i,t.sessionID)||t.prevSessionID&&r.bytesCmp(i,t.prevSessionID)))throw this.log.warn("Sessions",i,t.sessionID,t.prevSessionID,e),new Error("[MT] Invalid server session_id: "+r.bytesToHex(i));let d=n.fetchInt("seq_no"),m=e.byteLength,y=n.fetchInt("message_data[length]"),c=n.getOffset();if(y%4||y>m-c)throw new Error("[MT] Invalid body length: "+y);let l=n.fetchRawBytes(y,!0,"message_data");c=n.getOffset();let u=m-c;if(u<12||u>1024)throw new Error("[MT] Invalid padding length: "+u);return n=new p.TLDeserialization(l,{mtproto:!0}),n.override={mt_message:function(e,a){e.msg_id=this.fetchLong(a+"[msg_id]"),e.seqno=this.fetchInt(a+"[seqno]"),e.bytes=this.fetchInt(a+"[bytes]");var n=this.getOffset();try{e.body=this.fetchObject("Object",a+"[body]")}catch(a){t.log.error("parse error",a.message,a.stack),e.body={_:"parse_error",error:a}}this.offset!=n+e.bytes&&(this.offset=n+e.bytes)}.bind(n),mt_rpc_result:function(e,a){e.req_msg_id=this.fetchLong(a+"[req_msg_id]");var n=t.sentMessages[e.req_msg_id],s=n&&n.resultType||"Object";e.req_msg_id&&!n||(e.result=this.fetchObject(s,a+"[result]"))}.bind(n)},{response:n.fetchObject("","INPUT"),messageID:o,sessionID:i,seqNo:d}}))}applyServerSalt(e){var t=r.longToBytes(e);return d.default.set({["dc"+this.dcID+"_server_salt"]:r.bytesToHex(t)}),this.serverSalt=t,!0}scheduleRequest(e=0){if(!(this.transport instanceof u.default))return this.performScheduledRequest();this.offline&&this.checkConnection("forced schedule");var t=Date.now()+e;if(e&&this.nextReq&&this.nextReq<=t)return!1;clearTimeout(this.nextReqTimeout),this.nextReqTimeout=0,e>0?this.nextReqTimeout=setTimeout(this.performScheduledRequest.bind(this),e||0):setTimeout(this.performScheduledRequest.bind(this),0),this.nextReq=t}ackMessage(e){this.pendingAcks.push(e),this.scheduleRequest(3e4)}reqResendMessage(e){this.log("Req resend",e),this.pendingResends.push(e),this.scheduleRequest(100)}cleanupSent(){let e=!1;return Object.keys(this.sentMessages).forEach(t=>{const a=this.sentMessages[t];if(a.notContentRelated&&void 0===this.pendingMessages[t])delete this.sentMessages[t];else if(a.container){for(let t=0;t100&&this.lastServerMessages.shift(),this.processMessage(e.body,e.msg_id,a);break;case"new_session_created":this.ackMessage(t),this.log.debug("new_session_created",e),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt),d.default.get("dc").then(t=>{t==this.dcID&&!this.upload&&c.default.updatesProcessor&&c.default.updatesProcessor(e,!0)});break;case"msgs_ack":for(s=0;s5?"[.."+e.result.length+"..]":e.result),this.log.debug("Rpc response",f,l)}l.deferred.resolve(e.result)}l.isAPI&&!this.connectionInited&&(this.connectionInited=!0)}delete this.sentMessages[m]}break;default:this.ackMessage(t),this.log.debug("Update",e),null!==c.default.updatesProcessor&&c.default.updatesProcessor(e,!0)}}}},function(e,t,a){"use strict";function n(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}Object.defineProperty(t,"__esModule",{value:!0});for(var s=String.fromCharCode(128),i=64;i--;)s+=String.fromCharCode(0);t.default=function(e){for(var t=e.length,a=t/4294967296>>>0,i=t>>>0,r=[0,0],p=r.length-1;p>=0;p-=1)r[p]+=i,i=a+(r[p]/4294967296>>>0),r[p]>>>=0,a=i/4294967296>>>0;var o,d=e,m=63&r[r.length-1]+8;d+=s.substr(0,64-m);var y=8*r[0];for(p=0;p>>0)>>>0),y=o>>>0;var c=function(e){for(var t,a,n,s,i,r,p,o=0,d=0,m=new Uint32Array(80),y=1732584193,c=4023233417,l=2562383102,u=271733878,g=3285377520,h=e.length,f=0;h>=64;){for(t=y,a=c,n=l,s=u,i=g,o=0;o<16;o+=1)m[o]=(p=f,(r=e).charCodeAt(p)<<24^r.charCodeAt(p+1)<<16^r.charCodeAt(p+2)<<8^r.charCodeAt(p+3)),f+=4,d=(t<<5|t>>>27)+(s^a&(n^s))+i+1518500249+m[o],i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<20;o+=1)d=(d=m[o-3]^m[o-8]^m[o-14]^m[o-16])<<1|d>>>31,m[o]=d,d=(t<<5|t>>>27)+(s^a&(n^s))+i+1518500249+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<32;o+=1)d=(d=m[o-3]^m[o-8]^m[o-14]^m[o-16])<<1|d>>>31,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+1859775393+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<40;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+1859775393+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<60;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a&n|s&(a^n))+i+2400959708+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;for(;o<80;o+=1)d=(d=m[o-6]^m[o-16]^m[o-28]^m[o-32])<<2|d>>>30,m[o]=d,d=(t<<5|t>>>27)+(a^n^s)+i+3395469782+d,i=s,s=n,n=(a<<30|a>>>2)>>>0,a=t,t=d;y=y+t|0,c=c+a|0,l=l+n|0,u=u+s|0,g=g+i|0,h-=64}return{h1:y,h2:c,h3:l,h4:u,h5:g}}(d+=n(y));return n(c.h1)+n(c.h2)+n(c.h3)+n(c.h4)+n(c.h5)}},function(e,t,a){"use strict";function n(e,t){return e.charCodeAt(t)<<24^e.charCodeAt(t+1)<<16^e.charCodeAt(t+2)<<8^e.charCodeAt(t+3)}function s(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)}function i(e){return("00000000"+e.toString(16)).slice(-8)}function r(e){return e||(e=new Uint32Array(8)),e[0]=1779033703,e[1]=3144134277,e[2]=1013904242,e[3]=2773480762,e[4]=1359893119,e[5]=2600822924,e[6]=528734635,e[7]=1541459225,e}a.r(t);var p=new Uint32Array(64),o=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function d(e,t){var a=e[0],n=e[1],s=e[2],i=e[3],r=e[4],d=e[5],m=e[6],y=e[7];p.set(t);for(var c=16;c<64;c+=1){h=((h=p[c-2])>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l=((l=p[c-15])>>>7|l<<25)^(l>>>18|l<<14)^l>>>3,p[c]=h+p[c-7]+l+p[c-16]}for(c=0;c<64;c+=1){var l,u=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),g=a&n|s&(a^n),h=y+((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))+(m^r&(d^m))+o[c]+p[c];y=m,m=d,d=r,r=i+h|0,i=s,s=n,n=a,a=h+(l=u+g)|0}e[0]+=a,e[1]+=n,e[2]+=s,e[3]+=i,e[4]+=r,e[5]+=d,e[6]+=m,e[7]+=y}function m(e,t,a,s){for(void 0===s&&(s=0);e.length>=64;){for(var i=s;i<16;i++)t[i]=n(e,4*i);e=e.slice(64-4*s),s=0,d(a,t)}return e}function y(e,t,a,n){for(void 0===n&&(n=0);e.length>=t.length-n;)t.set(e.subarray(0,t.length-n),n),e=e.subarray(t.length-n),n=0,d(a,t);return e.length>0&&(t.set(e,n),n+=e.length),n}function c(e,t,a,n){void 0===n&&(n=0);for(var s=e/4294967296>>>0,i=e>>>0,r=n+1;r=14){d(a,t);for(r=0;r>>28,t[15]=i<<3,d(a,t)}function l(e,t,a,s,i){for(void 0===i&&(i=0);e.length>=4;i++)a[i]=n(e,0),e=e.slice(4);i>=16&&(d(s,a),i=0),a[i]=n(e+"€\0\0\0",0),c(t,a,s,i)}function u(e,t,a,n){void 0===n&&(n=0),t[n]=2147483648,c(e,t,a,n)}function g(e,t){switch(void 0===t&&(t="array"),t){case"hex":return i(e[0])+i(e[1])+i(e[2])+i(e[3])+i(e[4])+i(e[5])+i(e[6])+i(e[7]);case"binary":return s(e[0])+s(e[1])+s(e[2])+s(e[3])+s(e[4])+s(e[5])+s(e[6])+s(e[7]);default:return e}}var h=function(){function e(e){this.buffer=new Uint32Array(16),this.state=r(e),this.length=0,this.offset=0,this.tail=""}return e.prototype.update=function(e){if("string"==typeof e)this.length+=e.length,this.tail=m(this.tail+e,this.buffer,this.state,this.offset),this.offset=0;else{if(this.tail.length>0)throw new Error("Unable to update hash-stream with array");this.length+=4*e.length,this.offset=y(e,this.buffer,this.state,this.offset)}return this},e.prototype.digest=function(e){return void 0===e&&(e="array"),this.tail.length>0?l(this.tail,this.length,this.buffer,this.state,this.offset):u(this.length,this.buffer,this.state,this.offset),g(this.state,e)},e.prototype.clear=function(){this.state=r(),this.length=0,this.offset=0,this.tail=""},e}();function f(e,t){void 0===t&&(t="array");var a=new Uint32Array(16),n=r();return"string"==typeof e?l(m(e,a,n),e.length,a,n):u(4*e.length,a,n,y(e,a,n)),g(n,t)}f.stream=function(e){return new h(e)},f.blockLength=64,f.digestLength=32,t.default=f},function(e,t,a){e.exports=function e(t,a,n){function s(r,p){if(!a[r]){if(!t[r]){if(i)return i(r,!0);var o=new Error("Cannot find module '"+r+"'");throw o.code="MODULE_NOT_FOUND",o}var d=a[r]={exports:{}};t[r][0].call(d.exports,(function(e){return s(t[r][1][e]||e)}),d,d.exports,e,t,a,n)}return a[r].exports}for(var i=!1,r=0;r>>6:(a<65536?t[r++]=224|a>>>12:(t[r++]=240|a>>>18,t[r++]=128|a>>>12&63),t[r++]=128|a>>>6&63),t[r++]=128|63&a);return t},a.buf2binstring=function(e){return o(e,e.length)},a.binstring2buf=function(e){for(var t=new n.Buf8(e.length),a=0,s=t.length;a>10&1023,d[n++]=56320|1023&s)}return o(d,n)},a.utf8border=function(e,t){var a;for((t=t||e.length)>e.length&&(t=e.length),a=t-1;0<=a&&128==(192&e[a]);)a--;return a<0||0===a?t:a+r[e[a]]>t?a:t}},{"./common":1}],3:[function(e,t,a){"use strict";t.exports=function(e,t,a,n){for(var s=65535&e|0,i=e>>>16&65535|0,r=0;0!==a;){for(a-=r=2e3>>1:e>>>1;t[a]=e}return t}();t.exports=function(e,t,a,s){var i=n,r=s+a;e^=-1;for(var p=s;p>>8^i[255&(e^t[p])];return-1^e}},{}],6:[function(e,t,a){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,a){"use strict";t.exports=function(e,t){var a,n,s,i,r,p,o,d,m,y,c,l,u,g,h,f,_,b,v,w,P,S,k,I,M;a=e.state,n=e.next_in,I=e.input,s=n+(e.avail_in-5),i=e.next_out,M=e.output,r=i-(t-e.avail_out),p=i+(e.avail_out-257),o=a.dmax,d=a.wsize,m=a.whave,y=a.wnext,c=a.window,l=a.hold,u=a.bits,g=a.lencode,h=a.distcode,f=(1<>>=v=b>>>24,u-=v,0==(v=b>>>16&255))M[i++]=65535&b;else{if(!(16&v)){if(0==(64&v)){b=g[(65535&b)+(l&(1<>>=v,u-=v),u<15&&(l+=I[n++]<>>=v=b>>>24,u-=v,!(16&(v=b>>>16&255))){if(0==(64&v)){b=h[(65535&b)+(l&(1<>>=v,u-=v,(v=i-r)>3,l&=(1<<(u-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function m(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function y(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(852),t.distcode=t.distdyn=new n.Buf32(592),t.sane=1,t.back=-1,0):o}function c(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,y(e)):o}function l(e,t){var a,n;return e&&e.state?(n=e.state,t<0?(a=0,t=-t):(a=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=r.wsize?(n.arraySet(r.window,t,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(s<(i=r.wsize-r.wnext)&&(i=s),n.arraySet(r.window,t,a-s,i,r.wnext),(s-=i)?(n.arraySet(r.window,t,a-s,s,0),r.wnext=s,r.whave=r.wsize):(r.wnext+=i,r.wnext===r.wsize&&(r.wnext=0),r.whave>>8&255,a.check=i(a.check,x,2,0),f=h=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",a.mode=30;break}if(8!=(15&h)){e.msg="unknown compression method",a.mode=30;break}if(f-=4,B=8+(15&(h>>>=4)),0===a.wbits)a.wbits=B;else if(B>a.wbits){e.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(x[0]=255&h,x[1]=h>>>8&255,a.check=i(a.check,x,2,0)),f=h=0,a.mode=3;case 3:for(;f<32;){if(0===u)break e;u--,h+=m[c++]<>>8&255,x[2]=h>>>16&255,x[3]=h>>>24&255,a.check=i(a.check,x,4,0)),f=h=0,a.mode=4;case 4:for(;f<16;){if(0===u)break e;u--,h+=m[c++]<>8),512&a.flags&&(x[0]=255&h,x[1]=h>>>8&255,a.check=i(a.check,x,2,0)),f=h=0,a.mode=5;case 5:if(1024&a.flags){for(;f<16;){if(0===u)break e;u--,h+=m[c++]<>>8&255,a.check=i(a.check,x,2,0)),f=h=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(u<(P=a.length)&&(P=u),P&&(a.head&&(B=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),n.arraySet(a.head.extra,m,c,P,B)),512&a.flags&&(a.check=i(a.check,m,P,c)),u-=P,c+=P,a.length-=P),a.length))break e;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===u)break e;for(P=0;B=m[c+P++],a.head&&B&&a.length<65536&&(a.head.name+=String.fromCharCode(B)),B&&P>9&1,a.head.done=!0),e.adler=a.check=0,a.mode=12;break;case 10:for(;f<32;){if(0===u)break e;u--,h+=m[c++]<>>=7&f,f-=7&f,a.mode=27;break}for(;f<3;){if(0===u)break e;u--,h+=m[c++]<>>=1)){case 0:a.mode=14;break;case 1:if(_(a),a.mode=20,6!==t)break;h>>>=2,f-=2;break e;case 2:a.mode=17;break;case 3:e.msg="invalid block type",a.mode=30}h>>>=2,f-=2;break;case 14:for(h>>>=7&f,f-=7&f;f<32;){if(0===u)break e;u--,h+=m[c++]<>>16^65535)){e.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&h,f=h=0,a.mode=15,6===t)break e;case 15:a.mode=16;case 16:if(P=a.length){if(u>>=5,f-=5,a.ndist=1+(31&h),h>>>=5,f-=5,a.ncode=4+(15&h),h>>>=4,f-=4,286>>=3,f-=3}for(;a.have<19;)a.lens[F[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,V={bits:a.lenbits},R=p(0,a.lens,0,19,a.lencode,0,a.work,V),a.lenbits=V.bits,R){e.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=I,f-=I,a.lens[a.have++]=A;else{if(16===A){for(U=I+2;f>>=I,f-=I,0===a.have){e.msg="invalid bit length repeat",a.mode=30;break}B=a.lens[a.have-1],P=3+(3&h),h>>>=2,f-=2}else if(17===A){for(U=I+3;f>>=I)),h>>>=3,f-=3}else{for(U=I+7;f>>=I)),h>>>=7,f-=7}if(a.have+P>a.nlen+a.ndist){e.msg="invalid bit length repeat",a.mode=30;break}for(;P--;)a.lens[a.have++]=B}}if(30===a.mode)break;if(0===a.lens[256]){e.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,V={bits:a.lenbits},R=p(1,a.lens,0,a.nlen,a.lencode,0,a.work,V),a.lenbits=V.bits,R){e.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,V={bits:a.distbits},R=p(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,V),a.distbits=V.bits,R){e.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===t)break e;case 20:a.mode=21;case 21:if(6<=u&&258<=g){e.next_out=l,e.avail_out=g,e.next_in=c,e.avail_in=u,a.hold=h,a.bits=f,r(e,w),l=e.next_out,y=e.output,g=e.avail_out,c=e.next_in,m=e.input,u=e.avail_in,h=a.hold,f=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;M=(E=a.lencode[h&(1<>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>C)])>>>16&255,A=65535&E,!(C+(I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=C,f-=C,a.back+=C}if(h>>>=I,f-=I,a.back+=I,a.length=A,0===M){a.mode=26;break}if(32&M){a.back=-1,a.mode=12;break}if(64&M){e.msg="invalid literal/length code",a.mode=30;break}a.extra=15&M,a.mode=22;case 22:if(a.extra){for(U=a.extra;f>>=a.extra,f-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;M=(E=a.distcode[h&(1<>>16&255,A=65535&E,!((I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>C)])>>>16&255,A=65535&E,!(C+(I=E>>>24)<=f);){if(0===u)break e;u--,h+=m[c++]<>>=C,f-=C,a.back+=C}if(h>>>=I,f-=I,a.back+=I,64&M){e.msg="invalid distance code",a.mode=30;break}a.offset=A,a.extra=15&M,a.mode=24;case 24:if(a.extra){for(U=a.extra;f>>=a.extra,f-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){e.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===g)break e;if(P=w-g,a.offset>P){if((P=a.offset-P)>a.whave&&a.sane){e.msg="invalid distance too far back",a.mode=30;break}P>a.wnext?(P-=a.wnext,S=a.wsize-P):S=a.wnext-P,P>a.length&&(P=a.length),k=a.window}else k=y,S=l-a.offset,P=a.length;for(g_?(v=F[L+y[k]],w=V[U+y[k]]):(v=96,w=0),l=1<>T)+(u-=l)]=b<<24|v<<16|w|0,0!==u;);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,k++,0==--E[S]){if(S===M)break;S=t[a+y[k]]}if(An.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=n.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,a){return this.performTaskWorker("mod-pow",e,t,a)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.computeSRP=t.makePasswordHash=void 0;const i=a(0),r=s(a(2)),p=a(16),o=a(1),d=o.logger("SRP",o.LogLevels.error);function m(e,t,a){return n(this,void 0,void 0,(function*(){let n="";for(let e=0;e{let a=p.sub(t,e);return!(p.negative(a)||p.bitSize(a)<1984||p.bitSize(e)<1984||Math.floor((p.bitSize(e)+7)/8)>256)};var P=e=>{let t=new Uint8Array(e.length);for(let a=0;an(this,void 0,void 0,(function*(){for(;;){const e=p.str2bigInt(i.bytesToHex(P(t.secure_random)),16);d("g a p",p.bigInt2str(y,16),p.bigInt2str(e,16),p.bigInt2str(s,16));const a=p.powMod(y,e,s);if(d("A MODPOW",p.bigInt2str(a,16)),w(a,s)){const t=i.bytesFromHex(p.bigInt2str(a,16)),n=yield r.default.sha256Hash(i.bufferConcat(new Uint8Array(t),new Uint8Array(f))),s=p.str2bigInt(i.bytesToHex(new Uint8Array(n)),16);if(!p.isZero(s)&&!p.negative(s))return{a:e,a_for_hash:t,u:s}}}})))();d("a",p.bigInt2str(k,16)),d("a_for_hash",i.bytesToHex(I)),d("u",p.bigInt2str(M,16)),p.greater(o,v)?S=o:(d("negative"),S=p.add(o,s)),S=p.mod(p.sub(S,v),s),d("g_b",p.bigInt2str(S,16));let A=p.mult(M,l);d("u and x multiply",p.bigInt2str(M,16),p.bigInt2str(l,16),p.bigInt2str(A,16));let C=p.add(k,A),T=p.powMod(S,C,s),D=yield r.default.sha256Hash(u(i.bytesFromHex(p.bigInt2str(T,16)),256));d("K",i.bytesToHex(D),new Uint32Array(new Uint8Array(D).buffer));let B=yield r.default.sha256Hash(g),R=yield r.default.sha256Hash(h);B=i.bytesXor(new Uint8Array(B),new Uint8Array(R));let V=i.bufferConcats(B,yield r.default.sha256Hash(a.salt1),yield r.default.sha256Hash(a.salt2),I,f,D),U=yield r.default.sha256Hash(V),E={_:"inputCheckPasswordSRP",srp_id:t.srp_id,A:new Uint8Array(I),M1:new Uint8Array(U)};return d("out",i.bytesToHex(E.A),i.bytesToHex(E.M1)),E}))}},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Obfuscation=void 0;const s=n(a(18)),i=a(15),r=n(a(28)),p=a(1),o=a(0);class d{init(e){const t=new Uint8Array(64);for(t.randomize();;){let e=t[3]<<24|t[2]<<16|t[1]<<8|t[0],a=t[7]<<24|t[6]<<16|t[5]<<8|t[4];if(239!=t[0]&&1145128264!=e&&1414745936!=e&&542393671!=e&&1230262351!=e&&4008636142!=e&&3722304989!=e&&0!=a)break;t.randomize()}const a=t.slice().reverse();let n=t.slice(8,40),s=t.slice(40,56),r=a.slice(8,40),p=a.slice(40,56);this.encNew=new i.CTR(n,s),this.decNew=new i.CTR(r,p),t.set(e.obfuscateTag,56);const o=this.encode(t);return t.set(o.slice(56,64),56),t}encode(e){let t=this.encNew.encrypt(e);return new Uint8Array(o.bytesFromWordss(t))}decode(e){let t=this.decNew.decrypt(e);return new Uint8Array(o.bytesFromWordss(t))}}t.Obfuscation=d;class m extends s.default{constructor(e,t){super(e,t),this.pending=[],this.connected=!1,this.transport="websocket",this.obfuscation=new d,this.codec=r.default,this.connect=()=>{this.ws&&(this.ws.removeEventListener("open",this.handleOpen),this.ws.removeEventListener("close",this.handleClose),this.ws.removeEventListener("message",this.handleMessage),this.ws.close(1e3)),this.ws=new WebSocket(this.url,"binary"),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",this.handleOpen),this.ws.addEventListener("close",this.handleClose),this.ws.addEventListener("message",this.handleMessage)},this.handleOpen=()=>{this.log("opened"),this.log.debug("sending init packet"),this.ws.send(this.obfuscation.init(this.codec)),this.connected=!0,this.releasePending()},this.handleClose=e=>{this.log("closed",e,this.pending),this.connected=!1,this.log("trying to reconnect..."),this.connect();for(let e of this.pending)e.bodySent&&(e.bodySent=!1);this.networker&&this.ws.addEventListener("open",()=>{this.networker.resend(),this.networker.cleanupSent()},{once:!0})},this.handleMessage=e=>{this.log.debug("<-","handleMessage",e);let t=this.obfuscation.decode(new Uint8Array(e.data));if(t=this.codec.readPacket(t),this.networker)return this.log.debug("redirecting to networker"),this.networker.parseResponse(t).then(e=>{this.log.debug("redirecting to networker response:",e),this.networker.processMessage(e.response,e.messageID,e.sessionID)});let a=this.pending.shift();if(!a)return this.log.debug("no pending for res:",t.hex);a.resolve(t)},this.send=e=>{if(this.log.debug("-> body length to pending:",e.length),!this.networker){let t=new Promise((t,a)=>{this.pending.push({resolve:t,reject:a,body:e})});return this.releasePending(),t}this.pending.push({body:e}),this.releasePending()},this.log=p.logger("WS-"+e,p.LogLevels.log),this.log("constructor"),this.connect()}releasePending(){if(!this.connected)return;for(let e=this.pending.length-1;e>=0;--e){const t=this.pending[e],{body:a,bodySent:n}=t;if(a&&!n){const n=this.codec.encodePacket(a),s=this.obfuscation.encode(n);this.log.debug("-> body length to send:",s.length),this.ws.send(s),t.resolve?t.bodySent=!0:this.pending.splice(e,1)}}}}t.default=m},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});a(0);class n{constructor(){this.tag=238,this.obfuscateTag=new Uint8Array([this.tag,this.tag,this.tag,this.tag])}encodePacket(e){let t=e.byteLength;return new Uint8Array(new Uint32Array([t]).buffer).concat(e)}readPacket(e){let t=e[0]|e[1]<<8|e[2]<<16|e[3]<<24;return e.slice(4,4+t)}}t.default=new n},function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const s=n(a(3)),i=a(4);class r{constructor(){this.disabled=i.Modes.test||-1==i.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;s.default.get("tgme_sync").then(t=>{var a=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>a)return!1;s.default.set({tgme_sync:{canRedirect:e,ts:a}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=r,t.telegramMeWebService=new r},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Authorizer=void 0;const i=a(7),r=s(a(8)),p=a(0),o=s(a(31)),d=s(a(17)),m=a(5),y=s(a(2)),c=a(1);class l{constructor(){this.cached={},this.log=c.logger("AUTHORIZER")}mtpSendPlainRequest(e,t){var a=t.byteLength,n=new i.TLSerialization;n.storeLongP(0,0,"auth_key_id"),n.storeLong(d.default.generateID(),"msg_id"),n.storeInt(a,"request_length");let s=n.getBytes(!0),p=new Uint8Array(s.byteLength+a);p.set(s),p.set(t,s.length);let o=r.default.chooseServer(e),m={code:406,type:"NETWORK_BAD_RESPONSE",transport:o};return this.log("mtpSendPlainRequest: creating requestPromise"),o.send(p).then(e=>{if(this.log("mtpSendPlainRequest: in good sector",e),!e||!e.byteLength)return Promise.reject(m);try{let t=new i.TLDeserialization(e,{mtproto:!0}),a=t.fetchLong("auth_key_id");0!=a&&this.log.error("auth_key_id != 0",a);let n=t.fetchLong("msg_id");0==n&&this.log.error("msg_id == 0",n);let s=t.fetchInt("msg_len");return s||this.log.error("no msg_len",s),t}catch(e){throw this.log.error("mtpSendPlainRequest: deserialization went bad",e),Object.assign(m,{originalError:e})}},e=>(e.message||e.type||(e=Object.assign(m,{originalError:e})),Promise.reject(e)))}mtpSendReqPQ(e){return n(this,void 0,void 0,(function*(){var t=new i.TLSerialization({mtproto:!0});t.storeMethod("req_pq_multi",{nonce:e.nonce}),o.default.prepare().then(()=>{}),this.log("Send req_pq",e.nonce.hex);try{var a=yield this.mtpSendPlainRequest(e.dcID,t.getBytes(!0))}catch(e){throw this.log.error("req_pq error",e.message),e}var n=a.fetchObject("ResPQ");if("resPQ"!=n._)throw new Error("[MT] resPQ response invalid: "+n._);if(!p.bytesCmp(e.nonce,n.nonce))throw this.log.error(e.nonce,n.nonce),new Error("[MT] resPQ nonce mismatch");e.serverNonce=new Uint8Array(n.server_nonce),e.pq=n.pq,e.fingerprints=n.server_public_key_fingerprints,this.log("Got ResPQ",p.bytesToHex(e.serverNonce),p.bytesToHex(e.pq),e.fingerprints);let s=yield o.default.select(e.fingerprints);if(!s)throw new Error("[MT] No public key found");e.publicKey=s,this.log("PQ factorization start",e.pq);try{var r=yield y.default.factorize(e.pq)}catch(e){throw this.log.error("worker error factorize",e),e}return e.p=r[0],e.q=r[1],this.log("PQ factorization done",r),this.mtpSendReqDhParams(e)}))}mtpSendReqDhParams(e){return n(this,void 0,void 0,(function*(){e.newNonce=new Uint8Array(32).randomize();let t={_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},a=new i.TLSerialization({mtproto:!0});a.storeObject(t,"P_Q_inner_data","DECRYPTED_DATA");let n=a.getBytes(!0),s=(yield y.default.sha1Hash(n)).concat(n),r=yield y.default.rsaEncrypt(e.publicKey,s),o={nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:r};var d=new i.TLSerialization({mtproto:!0});d.storeMethod("req_DH_params",o);let m=d.getBytes(!0);this.log("Send req_DH_params",o);try{var c=yield this.mtpSendPlainRequest(e.dcID,m)}catch(e){throw this.log("Send req_DH_params FAIL!",e),e}var l=c.fetchObject("Server_DH_Params","RESPONSE");if(this.log("Sent req_DH_params, response:",l),"server_DH_params_fail"!=l._&&"server_DH_params_ok"!=l._)throw new Error("[MT] Server_DH_Params response invalid: "+l._);if(!p.bytesCmp(e.nonce,l.nonce))throw new Error("[MT] Server_DH_Params nonce mismatch");if(!p.bytesCmp(e.serverNonce,l.server_nonce))throw new Error("[MT] Server_DH_Params server_nonce mismatch");if("server_DH_params_fail"==l._){var u=(yield y.default.sha1Hash(e.newNonce)).slice(-16);if(!p.bytesCmp(u,l.new_nonce_hash))throw new Error("[MT] server_DH_params_fail new_nonce_hash mismatch");throw new Error("[MT] server_DH_params_fail")}try{yield this.mtpDecryptServerDhDataAnswer(e,l.encrypted_answer)}catch(e){throw this.log.error("mtpDecryptServerDhDataAnswer FAILED!",e),e}return this.mtpSendSetClientDhParams(e)}))}mtpDecryptServerDhDataAnswer(e,t){return n(this,void 0,void 0,(function*(){e.localTime=Date.now(),e.tmpAesKey=(yield y.default.sha1Hash(e.newNonce.concat(e.serverNonce))).concat((yield y.default.sha1Hash(e.serverNonce.concat(e.newNonce))).slice(0,12)),e.tmpAesIv=(yield y.default.sha1Hash(e.serverNonce.concat(e.newNonce))).slice(12).concat(yield y.default.sha1Hash(e.newNonce.concat(e.newNonce)),e.newNonce.slice(0,4));var a=new Uint8Array(yield y.default.aesDecrypt(t,e.tmpAesKey,e.tmpAesIv)),n=a.slice(0,20),s=a.slice(20),r=new i.TLDeserialization(s,{mtproto:!0}),o=r.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=o._)throw new Error("[MT] server_DH_inner_data response invalid: "+o);if(!p.bytesCmp(e.nonce,o.nonce))throw new Error("[MT] server_DH_inner_data nonce mismatch");if(!p.bytesCmp(e.serverNonce,o.server_nonce))throw new Error("[MT] server_DH_inner_data serverNonce mismatch");this.log("Done decrypting answer"),e.g=o.g,e.dhPrime=o.dh_prime,e.gA=o.g_a,e.serverTime=o.server_time,e.retry=0,this.mtpVerifyDhParams(e.g,e.dhPrime,e.gA);var m=r.getOffset();if(!p.bytesCmp(n,yield y.default.sha1Hash(s.slice(0,m))))throw new Error("[MT] server_DH_inner_data SHA1-hash mismatch");d.default.applyServerTime(e.serverTime,e.localTime)}))}mtpVerifyDhParams(e,t,a){this.log("Verifying DH params");var n=p.bytesToHex(t);if(3!=e||"c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b"!==n)throw new Error("[MT] DH params are not verified: unknown dhPrime");this.log("dhPrime cmp OK");var s=new m.BigInteger(p.bytesToHex(a),16),i=new m.BigInteger(n,16);if(s.compareTo(m.BigInteger.ONE)<=0)throw new Error("[MT] DH params are not verified: gA <= 1");if(s.compareTo(i.subtract(m.BigInteger.ONE))>=0)throw new Error("[MT] DH params are not verified: gA >= dhPrime - 1");this.log("1 < gA < dhPrime-1 OK");var r=new m.BigInteger("");r.fromInt(2);var o=r.pow(1984);if(s.compareTo(o)<0)throw new Error("[MT] DH params are not verified: gA < 2^{2048-64}");if(s.compareTo(i.subtract(o))>=0)throw new Error("[MT] DH params are not verified: gA > dhPrime - 2^{2048-64}");return this.log("2^{2048-64} < gA < dhPrime-2^{2048-64} OK"),!0}mtpSendSetClientDhParams(e){return n(this,void 0,void 0,(function*(){var t=p.bytesFromHex(e.g.toString(16));e.b=new Array(256),e.b=[...new Uint8Array(e.b.length).randomize()];try{var a=yield y.default.modPow(t,e.b,e.dhPrime)}catch(e){throw e}var n=new i.TLSerialization({mtproto:!0});n.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:a},"Client_DH_Inner_Data");var s=(yield y.default.sha1Hash(n.getBuffer())).concat(n.getBytes()),r=yield y.default.aesEncrypt(s,e.tmpAesKey,e.tmpAesIv),o=new i.TLSerialization({mtproto:!0});o.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:r}),this.log("Send set_client_DH_params");try{var d=yield this.mtpSendPlainRequest(e.dcID,o.getBytes(!0))}catch(e){throw e}let m=d.fetchObject("Set_client_DH_params_answer");if("dh_gen_ok"!=m._&&"dh_gen_retry"!=m._&&"dh_gen_fail"!=m._)throw new Error("[MT] Set_client_DH_params_answer response invalid: "+m._);if(!p.bytesCmp(e.nonce,m.nonce))throw new Error("[MT] Set_client_DH_params_answer nonce mismatch");if(!p.bytesCmp(e.serverNonce,m.server_nonce))throw new Error("[MT] Set_client_DH_params_answer server_nonce mismatch");try{var c=yield y.default.modPow(e.gA,e.b,e.dhPrime)}catch(e){throw c}let l=yield y.default.sha1Hash(c),u=l.slice(0,8),g=l.slice(-8);switch(this.log("Got Set_client_DH_params_answer",m._,c),m._){case"dh_gen_ok":var h=(yield y.default.sha1Hash(e.newNonce.concat([1],u))).slice(-16);if(!p.bytesCmp(h,m.new_nonce_hash1))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash1 mismatch");var f=p.bytesXor(e.newNonce.slice(0,8),e.serverNonce.slice(0,8));return this.log("Auth successfull!",g,c,f),e.authKeyID=g,e.authKey=c,e.serverSalt=f,e;case"dh_gen_retry":var _=(yield y.default.sha1Hash(e.newNonce.concat([2],u))).slice(-16);if(!p.bytesCmp(_,m.new_nonce_hash2))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash2 mismatch");return this.mtpSendSetClientDhParams(e);case"dh_gen_fail":var b=(yield y.default.sha1Hash(e.newNonce.concat([3],u))).slice(-16);if(!p.bytesCmp(b,m.new_nonce_hash3))throw new Error("[MT] Set_client_DH_params_answer new_nonce_hash3 mismatch");throw new Error("[MT] Set_client_DH_params_answer fail")}}))}auth(e){return n(this,void 0,void 0,(function*(){if(e in this.cached)return this.cached[e];let t=new Uint8Array(16).randomize();if(!r.default.chooseServer(e))return Promise.reject(new Error("[MT] No server found for dc "+e));try{let a=this.mtpSendReqPQ({dcID:e,nonce:t});return this.cached[e]=a,yield a}catch(t){throw delete this.cached[e],t}}))}}t.Authorizer=l,t.default=new l},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RSAKeysManager=void 0;const i=a(7),r=a(0),p=s(a(2));class o{constructor(){this.publisKeysHex=[{modulus:"c150023e2f70db7985ded064759cfecf0af328e69a41daf4d6f01b538135a6f91f8f8b2a0ec9ba9720ce352efcf6c5680ffc424bd634864902de0b4bd6d49f4e580230e3ae97d95c8b19442b3c0a10d8f5633fecedd6926a7f6dab0ddb7d457f9ea81b8465fcd6fffeed114011df91c059caedaf97625f6c96ecc74725556934ef781d866b34f011fce4d835a090196e9a5f0e4449af7eb697ddb9076494ca5f81104a305b6dd27665722c46b60e5df680fb16b210607ef217652e60236c255f6a28315f4083a96791d7214bf64c1df4fd0db1944fb26a2a57031b32eee64ad15a8ba68885cde74a5bfc920f6abf59ba5c75506373e7130f9042da922179251f",exponent:"010001"},{modulus:"aeec36c8ffc109cb099624685b97815415657bd76d8c9c3e398103d7ad16c9bba6f525ed0412d7ae2c2de2b44e77d72cbf4b7438709a4e646a05c43427c7f184debf72947519680e651500890c6832796dd11f772c25ff8f576755afe055b0a3752c696eb7d8da0d8be1faf38c9bdd97ce0a77d3916230c4032167100edd0f9e7a3a9b602d04367b689536af0d64b613ccba7962939d3b57682beb6dae5b608130b2e52aca78ba023cf6ce806b1dc49c72cf928a7199d22e3d7ac84e47bc9427d0236945d10dbd15177bab413fbf0edfda09f014c7a7da088dde9759702ca760af2b8e4e97cc055c617bd74c3d97008635b98dc4d621b4891da9fb0473047927",exponent:"010001"},{modulus:"bdf2c77d81f6afd47bd30f29ac76e55adfe70e487e5e48297e5a9055c9c07d2b93b4ed3994d3eca5098bf18d978d54f8b7c713eb10247607e69af9ef44f38e28f8b439f257a11572945cc0406fe3f37bb92b79112db69eedf2dc71584a661638ea5becb9e23585074b80d57d9f5710dd30d2da940e0ada2f1b878397dc1a72b5ce2531b6f7dd158e09c828d03450ca0ff8a174deacebcaa22dde84ef66ad370f259d18af806638012da0ca4a70baa83d9c158f3552bc9158e69bf332a45809e1c36905a5caa12348dd57941a482131be7b2355a5f4635374f3bd3ddf5ff925bf4809ee27c1e67d9120c5fe08a9de458b1b4a3c5d0a428437f2beca81f4e2d5ff",exponent:"010001"},{modulus:"b3f762b739be98f343eb1921cf0148cfa27ff7af02b6471213fed9daa0098976e667750324f1abcea4c31e43b7d11f1579133f2b3d9fe27474e462058884e5e1b123be9cbbc6a443b2925c08520e7325e6f1a6d50e117eb61ea49d2534c8bb4d2ae4153fabe832b9edf4c5755fdd8b19940b81d1d96cf433d19e6a22968a85dc80f0312f596bd2530c1cfb28b5fe019ac9bc25cd9c2a5d8a0f3a1c0c79bcca524d315b5e21b5c26b46babe3d75d06d1cd33329ec782a0f22891ed1db42a1d6c0dea431428bc4d7aabdcf3e0eb6fda4e23eb7733e7727e9a1915580796c55188d2596d2665ad1182ba7abf15aaa5a8b779ea996317a20ae044b820bff35b6e8a1",exponent:"010001"},{modulus:"be6a71558ee577ff03023cfa17aab4e6c86383cff8a7ad38edb9fafe6f323f2d5106cbc8cafb83b869cffd1ccf121cd743d509e589e68765c96601e813dc5b9dfc4be415c7a6526132d0035ca33d6d6075d4f535122a1cdfe017041f1088d1419f65c8e5490ee613e16dbf662698c0f54870f0475fa893fc41eb55b08ff1ac211bc045ded31be27d12c96d8d3cfc6a7ae8aa50bf2ee0f30ed507cc2581e3dec56de94f5dc0a7abee0be990b893f2887bd2c6310a1e0a9e3e38bd34fded2541508dc102a9c9b4c95effd9dd2dfe96c29be647d6c69d66ca500843cfaed6e440196f1dbe0e2e22163c61ca48c79116fa77216726749a976a1c4b0944b5121e8c01",exponent:"010001"}],this.publicKeysParsed={},this.prepared=!1,this.preparePromise=null}prepare(){return this.preparePromise?this.preparePromise:this.prepared?Promise.resolve():this.preparePromise=Promise.all(this.publisKeysHex.map(e=>{let t=new i.TLSerialization;t.storeBytes(r.bytesFromHex(e.modulus),"n"),t.storeBytes(r.bytesFromHex(e.exponent),"e");let a=t.getBuffer();return p.default.sha1Hash(a).then(t=>{let a=r.bytesFromArrayBuffer(t).slice(-8);a.reverse(),this.publicKeysParsed[r.bytesToHex(a)]={modulus:e.modulus,exponent:e.exponent}})})).then(()=>{this.prepared=!0,this.preparePromise=null})}select(e){return n(this,void 0,void 0,(function*(){var t,a,n;for(yield this.prepare(),n=0;nc.default.gzipUncompress(e.slice().buffer,!0),this.convertWebp=(e,t)=>{const a=d.deferredPromise(),n={type:"convertWebp",payload:{fileName:t,bytes:e}};return l.notifySomeone(n),this.webpConvertPromises[t]=a}}downloadRequest(e,t,a){void 0===this.downloadPulls[e]&&(this.downloadPulls[e]=[],this.downloadActives[e]=0);const n=this.downloadPulls[e],s=new Promise((e,s)=>{n.push({cb:t,deferred:{resolve:e,reject:s},activeDelta:a})});return setTimeout(()=>{this.downloadCheck(e)},0),s}downloadCheck(e){const t=this.downloadPulls[e],a="upload"==e?11:48;if(this.downloadActives[e]>=a||!t||!t.length)return!1;const n=t.shift(),s=n.activeDelta||1;this.downloadActives[e]+=s,n.cb().then(t=>{this.downloadActives[e]-=s,this.downloadCheck(e),n.deferred.resolve(t)},t=>{t&&this.log.error("downloadCheck error:",t),this.downloadActives[e]-=s,this.downloadCheck(e),n.deferred.reject(t)})}getFileStorage(){return r.default}cancelDownload(e){const t=this.cachedDownloadPromises[e]||this.uploadPromises[e];return!(!t||t.isRejected||t.isFulfilled)&&(t.cancel(),!0)}requestFilePart(e,t,a,s,i){const r=s/1024/128;return this.downloadRequest(e,()=>n(this,void 0,void 0,(function*(){return i&&i(),o.default.invokeApi("upload.getFile",{location:t,offset:a,limit:s},{dcID:e,fileDownload:!0})})),r)}convertBlobToBytes(e){return e.arrayBuffer().then(e=>new Uint8Array(e))}getLimitPart(e){let t;return t=512,524288}downloadFile(e){var t;if(!p.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let a,s=null!==(t=e.size)&&void 0!==t?t:0,{dcID:r,location:o}=e;"image/webp"==e.mimeType&&y.isSafari?(a=this.convertWebp,e.mimeType="image/png"):"application/x-tgsticker"==e.mimeType&&(a=this.uncompressTGS,e.mimeType="application/json");const m=i.getFileNameByLocation(o,{fileName:e.fileName}),c=this.cachedDownloadPromises[m],u=this.getFileStorage();if(this.log("downloadFile",m,s,o,e.mimeType,a),c)return e.processPart?c.then(t=>this.convertBlobToBytes(t).then(a=>(e.processPart(a),t))):s?c.then(t=>t.sizethis.downloadFile(e)).catch(()=>this.downloadFile(e))):t):c;const g=d.deferredPromise(),h=e.mimeType||"image/jpeg";let f,_=!1,b=!1,v=e=>{g.reject(e),v=()=>{},!f||e&&"DOWNLOAD_CANCELED"==e.type||f.truncate()};u.getFile(m).then(t=>n(this,void 0,void 0,(function*(){if(t.size{e.processPart(t)})),g.resolve(t)}))).catch(()=>{u.getFileWriter(m,h).then(t=>{f=t;const i=e.limitPart||this.getLimitPart(s);let y,c,l=Promise.resolve();const u=(e.processPart,5),h=(t,s)=>n(this,void 0,void 0,(function*(){if(e.processPart&&(yield e.processPart(t,s,_)),a){return yield a(t,m)}return t})),_=[];y=0;do{c=d.deferredPromise(),_.push({offset:y,writeFilePromise:l,writeFileDeferred:c}),l=c,y+=i}while(yn(this,void 0,void 0,(function*(){const{offset:a,writeFilePromise:n,writeFileDeferred:d}=_.shift();try{const y=yield this.requestFilePart(r,o,a,i,w);_.length&&S(),this.log("downloadFile requestFilePart result:",m,y);const c=a+i>=s||!y.bytes.byteLength;if(y.bytes.byteLength){P+=y.bytes.byteLength,g.notify({done:P,offset:a,total:s});const e=yield h(y.bytes,a);w(),yield n,w(),yield p.default.write(t,e)}d.resolve(),c&&(b=!0,e.processPart?g.resolve():g.resolve(t.finalize(s<2e7)))}catch(e){v(e)}}));for(let e=0,t=Math.min(u,_.length);e{if(_)throw new Error("canceled")};return g.cancel=()=>{_||b||(_=!0,delete this.cachedDownloadPromises[m],v({type:"DOWNLOAD_CANCELED"}))},g.notify=e=>{l.notifyAll({progress:Object.assign({fileName:m},e)})},this.cachedDownloadPromises[m]=g,g}deleteFile(e){return delete this.cachedDownloadPromises[e],this.getFileStorage().deleteFile(e)}uploadFile({file:e,fileName:t}){const a=e.size,n=a>=10485760;let s=!1,r=!1,p=0,d=262144,m=2;a>67108864?(d=524288,m=4):a<102400&&(d=32768,m=1);const y=Math.ceil(a/d),c=[i.nextRandomInt(4294967295),i.nextRandomInt(4294967295)];let u=0;const g={_:n?"inputFileBig":"inputFile",id:c,parts:y,name:t,md5_checksum:""},h={notify:e=>{}},f=new Promise((e,t)=>{if(y>3e3)return t({type:"FILE_TOO_BIG"});h.resolve=e,h.reject=t});if(Object.assign(f,h),y>3e3)return f;let _=e=>{this.log.error("Up Error",e),f.reject(e),s=!0,_=()=>{}};const b=n?"upload.saveBigFilePart":"upload.saveFilePart";for(let t=0;tnew Promise((i,m)=>{const l=new FileReader,u=e.slice(t,t+d);l.onloadend=e=>{if(!s)return e.target.readyState!=FileReader.DONE?(this.log.error("wrong readyState!"),void m()):void o.default.invokeApi(b,{file_id:c,file_part:n,file_total_parts:y,bytes:e.target.result},{startMaxLength:d+256,fileUpload:!0,singleInRequest:!0}).then(e=>{p++,i(),f.notify({done:p*d,total:a}),p>=y&&(f.resolve(g),r=!0)},_);m()},l.readAsArrayBuffer(u)}),m).catch(_)}return f.cancel=()=>{this.log("cancel upload",s,r),s||r||(s=!0,_({type:"UPLOAD_CANCELED"}))},f.notify=e=>{l.notifyAll({progress:Object.assign({fileName:t},e)})},f.finally(()=>{delete this.uploadPromises[t]}),this.uploadPromises[t]=f}}t.ApiFileManager=u;const g=new u;t.default=g},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(s,i){function r(e){try{o(n.next(e))}catch(e){i(e)}}function p(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?s(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(r,p)}o((n=n.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=a(0),r=s(a(19));const p=new class{constructor(){this.dbName="cachedFiles",this.openDatabase()}openDatabase(){return this.openDbPromise?this.openDbPromise:this.openDbPromise=caches.open(this.dbName)}deleteFile(e){return this.timeoutOperation(t=>n(this,void 0,void 0,(function*(){yield t.delete("/"+e)})))}saveFile(e,t){return t instanceof Blob||(t=i.blobConstruct(t)),this.timeoutOperation(a=>n(this,void 0,void 0,(function*(){return yield a.put("/"+e,new Response(t)),t})))}getBlobSize(e){return e.size||e.byteLength||e.length}getFile(e){return this.timeoutOperation(t=>n(this,void 0,void 0,(function*(){const a=yield t.match("/"+e);if(!a||!t)throw"No response???";return a.blob()})))}timeoutOperation(e){return new Promise((t,a)=>n(this,void 0,void 0,(function*(){let n=!1;const s=setTimeout(()=>{a(),n=!0},5e3);try{const a=yield this.openDatabase();if(!a)throw"no cache?";const s=yield e(a);if(n)return;t(s)}catch(e){a(e)}clearTimeout(s)})))}getFileWriter(e,t){const a=r.default.getFakeFileWriter(t,t=>this.saveFile(e,t));return Promise.resolve(a)}};t.default=p},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const n="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!n.MSStream,t.isSafari=!!("safari"in n)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))}]); \ No newline at end of file diff --git a/public/t4/b728a346dae6ae3292c0.worker.js b/public/t4/b728a346dae6ae3292c0.worker.js new file mode 100644 index 00000000..2d900662 --- /dev/null +++ b/public/t4/b728a346dae6ae3292c0.worker.js @@ -0,0 +1 @@ +!function(t){var e={};function n(a){if(e[a])return e[a].exports;var r=e[a]={i:a,l:!1,exports:{}};return t[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(a,r,function(e){return t[e]}.bind(null,r));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=8)}([function(t,e,n){"use strict";var a="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var a in n)r(n,a)&&(t[a]=n[a])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,n,a,r){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+a),r);else for(var i=0;i>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{i=i+(r=r+e[a++]|0)|0}while(--s);r%=65521,i%=65521}return r|i<<16|0}},function(t,e,n){"use strict";var a=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var a=0;a<8;a++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();t.exports=function(t,e,n,r){var i=a,s=r+n;t^=-1;for(var o=r;o>>8^i[255&(t^e[o])];return-1^t}},function(t,e,n){"use strict";var a=n(0),r=!0,i=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){i=!1}for(var s=new a.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function f(t,e){if(e<65534&&(t.subarray&&i||!t.subarray&&r))return String.fromCharCode.apply(null,a.shrinkBuf(t,e));for(var n="",s=0;s>>6,e[s++]=128|63&n):n<65536?(e[s++]=224|n>>>12,e[s++]=128|n>>>6&63,e[s++]=128|63&n):(e[s++]=240|n>>>18,e[s++]=128|n>>>12&63,e[s++]=128|n>>>6&63,e[s++]=128|63&n);return e},e.buf2binstring=function(t){return f(t,t.length)},e.binstring2buf=function(t){for(var e=new a.Buf8(t.length),n=0,r=e.length;n4)h[a++]=65533,n+=i-1;else{for(r&=2===i?31:3===i?15:7;i>1&&n1?h[a++]=65533:r<65536?h[a++]=r:(r-=65536,h[a++]=55296|r>>10&1023,h[a++]=56320|1023&r)}return f(h,a)},e.utf8border=function(t,e){var n;for((e=e||t.length)>t.length&&(e=t.length),n=e-1;n>=0&&128==(192&t[n]);)n--;return n<0||0===n?e:n+s[t[n]]>e?n:e}},function(t,e,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(t,e,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const a=n(9),r=self,i=[];function s(){o()}function o(){const t=i.shift();if(t)switch(t.type){case"convertWebp":{const{fileName:e,bytes:n}=t.payload;let i;try{i=a.webp2png(n).bytes}catch(e){console.error("Convert webp2png error:",e,"payload:",t.payload)}r.postMessage({type:"convertWebp",payload:{fileName:e,bytes:i}}),s();break}default:s()}}r.addEventListener("message",t=>{var e;e=t.data,i.push(e),o()})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.webp2pngAsBlob=e.webp2png=void 0;const a=n(10),r=n(20);function i(t){const e=new a.WebPDecoder,n=e.WebPDecoderConfig,i=n.j||n.output,s=n.input;let o;e.WebPInitDecoderConfig(n),e.WebPGetFeatures(t,t.length,s),i.J=1;try{o=e.WebPDecode(t,t.length,n)}catch(t){o=t}if(0===o){const t=i.Jb;return{status:o,bytes:r.encode({data:t,width:i.width,height:i.height,channels:4,depth:8})}}return{status:o,bytes:t}}e.webp2png=i,e.webp2pngAsBlob=function(t){const{status:e,bytes:n}=i(t);return new Blob([n],{type:0===e?"image/png":"image/webp"})}},function(t,e,n){"use strict";let a,r;n.r(e),n.d(e,"WebPDecoder",(function(){return g}));const i=null;function s(t){return JSON.parse(JSON.stringify(t))}function o(t,e,n,r,i){for(a=0;a=0;--n)e=s(b(t[n],e));return e}function w(t){if(!t)throw Error("assert :P")}const g=function(){function t(t){return t==Ce||t==De||t==Le||t==Me}function e(t){return v(t,1)}function n(t,e){const n=1+((t.la-1)*e>>8),a=n<<8;let r=0;for(t.Z>=a?(r=1,t.la-=n,t.Z-=a):(r=0,t.la=n);t.la<128;)t.Z<<=1,t.la<<=1,8==++t.gc&&(t.gc=0,t.bc&&(t.Z+=t.qa[t.Ia++],t.bc--));return r}function g(t,e,n,a){(a-=n)>=2?(t.Z=e[n+0]<<8|e[n+1],t.qa=e,t.Ia=n+2,t.bc=a-2):(t.Z=0,t.qa=i,t.bc=0),t.la=255,t.gc=0}function v(t,e){var a=0,r=0;for(r=e-1;r>=0;r--)a|=n(t,128)<=8&&t.Q>>=8,t.T+=t.qa[t.Ia+t.Q]<<24>>>0,++t.Q,t.g-=8}function A(t){t.g>=8&&y(t),t.Q==t.ya&&32==t.g&&(t.L=1)}function E(t,e){let n=0;if(w(e>=0),!t.L&&e=32&&(t.L=1,t.g+e>32))return n;n=t.T>>t.g&on[e],t.g+=e,t.g>=8&&t.g>=8&&y(t)}else t.fa=1;return n}function x(t){return t.Pa==t.gb}function U(t,e){return w(t!=i),0==e?0:(t.gb=2*e-1,t.Y=_(t.gb,Cn),t.Y==i?0:(t.Y[0].s=-1,t.Pa=1))}function S(t){t!=i&&(t.Y=i,t.Y=i,t.gb=0,t.Pa=0)}function B(t,e,n,a){for(var r=t.Y,i=0,s=+t.gb;a-- >0;){if(i>=s)return 0;if(r[i].s<0){if(x(t))return 0;const e=t,n=e.Y,a=+e.Pa;r[i].s=a-i,e.Pa+=2,n[a+0].s=-1,n[a+1].s=-1}else if(0==r[i].s)return 0;i+=r[i].s+(n>>a&1)}if(r[i].s<0)r[i].s=0;else if(0!=r[i].s)return 0;return r[i].kc=e,1}function T(t,e,n){var a=0;let r=0,s=0;for(w(t!=i),w(e!=i),a=0;a0&&(++r,s=a);if(!U(t,r))return 0;if(1==r)return s<0||s>=n?(S(t),0):B(t,s,0,0);if(r=0,s=b(n,0),s==i)return(r=r&&x(t))||S(t),r;var o=0;o=0,a=b(wn+1,0);let f=0;const h=b(wn+1,0);let l=0;for(w(e!=i),w(n>0),w(s!=i),o=0;ol&&(l=e[o]);if(l>wn)a=0;else{for(o=0;o0?h[e[o]]++:Ln;a=1}if(!a)return(r=r&&x(t))||S(t),r;for(a=0;a0&&!B(t,a,s[a],e[a]))return(r=r&&x(t))||S(t),r;return(r=x(t))||S(t),r}function R(t,e,n,a,r,i,s){var o=0;for(o=0;ot.P.v)&&(n=0==e)){t:{let e=t.Ga;var r=t.G,f=t.ub;n=t.P.l;let d=t.P.v;const _=t.Xb;var h=[i];let p=i,g=d*n;var l=i,c=i;c="WEBP_FILTER_TYPE";let v=0;h=0;var u=0;let m=0;if(w(n>0&&d>0&&a>=n),w(e!=i&&_!=i),f<=xn)n=0;else if(m=e[r+0]>>0&3,c=e[r+0]>>2&3,v=e[r+0]>>4&3,h=e[r+0]>>6&3,mSn||c>=Ua||v>Bn||0!=h)n=0;else{if(m==Un)u=f>=g,h=e,p=r+xn;else{if(h=b(g,0),p=0,h==i){n=0;break t}u=r+xn,f=f-xn,r=h,l=s(tn);let t=0;const a=Zt();a==i?u=0:(a.l=n,a.v=d,a.N=l,ct(Be),l.put=ge,l.Mb=we,l.Pb=ve,l.ka=i,l.ka=r,l.fd=0,l.width=n,l.height=d,a.a=je,k(a.o,e,u,f),a.Wa=ma,Kt(n,d,1,a,i)&&Yt(a,n)&&(a.Wa=va,t=Ht(a,a.V,a.Ha,a.l,a.v,$t)),a!=i&&Gt(a),u=t)}if(u){for(e=Sa[c],e!=i?((l=b(g,0))==i&&(u=0,m!=Un&&(p=h=i)),e(h,p,n,d,1,n,l,c=0),g=l,m=c):(g=h,m=p),e=0;d-- >0;)o(_,e,g,m,n),m+=n,e+=a;v==Bn&&(u=h==i||p<=0||n<=0?0:1)}n=u}}n=!n}return n?i:0==e?t.Xb:+e*a}function O(t,e,n,a){if(a==i||t<=0||e<=0)return Ge;if(n!=i){if(n.Ua){const a=n.wc,r=n.vc,i=-2&n.t,s=-2&n.k;if(i<0||s<0||a<=0||r<=0||i+a>t||s+r>e)return Ge;t=a,e=r}if(n.I){if(n.Ba<=0||n.Aa<=0)return Ge;t=n.Ba,e=n.Aa}}return a.width=t,a.height=e,function(t){let e=t.width;const n=t.height;let a=t.J;if(e<=0||n<=0||!(a>=Te&&a=Te&&s=o*Ba[s],a&=t.ma!=i):(h=(t=t.c.Va).nb*parseInt((f+1)/2,10),l=t.rb*parseInt((f+1)/2,10),c=t.Fa*f,a&=t.F*f<=t.Wc,a&=h<=t.Rc,a&=l<=t.Uc,a&=c<=t.Wb,a&=t.F>=o,a&=t.nb>=parseInt((o+1)/2,10),a&=t.rb>=parseInt((o+1)/2,10),a&=t.y!=i,a&=t.c!=i,a&=t.S!=i,s==Fe&&(a&=t.Fa>=o,a&=c<=t.Wb,a&=t.p!=i)):a=0,a?je:Ge}(a)}function N(t){return-256&t?t<0?0:255:t}function P(t,e,n,a){const r=b(16,0);let i,s;for(i=0,s=0;s<4;++s){var o=t[e+0]+t[e+8],f=t[e+0]-t[e+8],h=(t[e+4]*Ca>>16)-(t[e+12]*Ia>>16),l=(t[e+4]*Ia>>16)+(t[e+12]*Ca>>16);r[i+0]=o+l,r[i+1]=f+h,r[i+2]=f-h,r[i+3]=o-l,i+=4,e++}for(s=i=0;s<4;++s)o=(t=r[i+0]+4)+r[i+8],f=t-r[i+8],h=(r[i+4]*Ca>>16)-(r[i+12]*Ia>>16),l=(r[i+4]*Ia>>16)+(r[i+12]*Ca>>16),n[a+0+0*aa]=N(n[a+0+0*aa]+(o+l>>3)),n[a+1+0*aa]=N(n[a+1+0*aa]+(f+h>>3)),n[a+2+0*aa]=N(n[a+2+0*aa]+(f-h>>3)),n[a+3+0*aa]=N(n[a+3+0*aa]+(o-l>>3)),i++,a+=aa}function I(t,e,n,a,r){P(t,e,n,a),r&&P(t,e+16,n,a+4)}function C(t,e,n,a){Wa(t,e+0,n,a+0,1),Wa(t,e+32,n,a+4*aa,1)}function D(t,e,n,a){let r;for(t=t[e+0]+4,r=0;r<4;++r)for(e=0;e<4;++e)n[a+e+r*aa]=N(n[a+e+r*aa]+(t>>3))}function L(t,e,n,a){t[e+0]&&D(t,e+0,n,a+0),t[e+16]&&D(t,e+16,n,a+4),t[e+32]&&D(t,e+32,n,a+4*aa),t[e+48]&&D(t,e+48,n,a+4*aa+4)}function M(t,e,n){const a=e-aa,r=Na,i=255-t[a-1];let s;for(s=0;s>2}function V(t,e,n){let a,r;for(a=0;a<8;++a)for(r=0;r<8;++r)e[n+r+a*aa]=t}function H(t,e,n){const a=t[e-n],r=t[e+0],i=3*(r-a)+za[1020+t[e-2*n]-t[e+n]],s=Oa[112+(i+4>>3)];t[e-n]=Na[255+a+Oa[112+(i+3>>3)]],t[e+0]=Na[255+r-s]}function Z(t,e,n,a){const r=t[e+0],i=t[e+n];return Ta[255+t[e-2*n]-t[e-n]]>a||Ta[255+i-r]>a}function G(t,e,n,a,r){const i=t[e-3*n],s=t[e-2*n],o=t[e-n],f=t[e+0],h=t[e+n],l=t[e+2*n],c=t[e+3*n];return 2*Ta[255+o-f]+Ra[255+s-h]>a?0:Ta[255+t[e-4*n]-i]<=r&&Ta[255+i-s]<=r&&Ta[255+s-o]<=r&&Ta[255+c-l]<=r&&Ta[255+l-h]<=r&&Ta[255+h-f]<=r}function K(t,e,n,a){let r;for(r=0;r<16;++r)2*Ta[255+t[e+r-n]-t[e+r+0]]+Ra[255+t[e+r-2*n]-t[e+r+n]]<=a&&H(t,e+r,n)}function Y(t,e,n,a){let r;for(r=0;r<16;++r)2*Ta[255+t[e+r*n-1]-t[e+r*n+0]]+Ra[255+t[e+r*n-2]-t[e+r*n+1]]<=a&&H(t,e+r*n,1)}function $(t,e,n,a){let r;for(r=3;r>0;--r)K(t,(e+=4*n)+0,n,a)}function X(t,e,n,a){let r;for(r=3;r>0;--r)Y(t,(e+=4)+0,n,a)}function q(t,e,n,a,r,i,s,o){for(;r-- >0;){if(G(t,e+0,n,i,s))if(Z(t,e+0,n,o))H(t,e+0,n);else{const a=t,r=e+0,i=n,s=a[r-2*i],o=a[r-i],h=a[r+0],l=a[r+i],c=a[r+2*i];const u=27*(f=za[1020+3*(h-o)+za[1020+s-l]])+63>>7,d=18*f+63>>7;var f=9*f+63>>7;a[r-3*i]=Na[255+a[r-3*i]+f],a[r-2*i]=Na[255+s+d],a[r-i]=Na[255+o+u],a[r+0]=Na[255+h-u],a[r+i]=Na[255+l-d],a[r+2*i]=Na[255+c-f]}e+=a}}function J(t,e,n,a,r,i,s,o){for(;r-- >0;){if(G(t,e+0,n,i,s))if(Z(t,e+0,n,o))H(t,e+0,n);else{const a=t,r=e+0,i=n,s=a[r-i],o=a[r+0],h=a[r+i];const l=Oa[112+((f=3*(o-s))+4>>3)];var f=Oa[112+(f+3>>3)];const c=l+1>>1;a[r-2*i]=Na[255+a[r-2*i]+c],a[r-i]=Na[255+s+f],a[r+0]=Na[255+o-l],a[r+i]=Na[255+h-c]}e+=a}}function Q(t,e,n,a,r,i){q(t,e+0,n,1,16,a,r,i)}function tt(t,e,n,a,r,i){q(t,e+0,1,n,16,a,r,i)}function et(t,e,n,a,r,i){let s;for(s=3;s>0;--s)J(t,(e+=4*n)+0,n,1,16,a,r,i)}function nt(t,e,n,a,r,i){let s;for(s=3;s>0;--s)J(t,(e+=4)+0,1,n,16,a,r,i)}function at(t,e,n,a,r,i,s,o){q(t,e,r,1,8,i,s,o),q(n,a,r,1,8,i,s,o)}function rt(t,e,n,a,r,i,s,o){q(t,e,1,r,8,i,s,o),q(n,a,1,r,8,i,s,o)}function it(t,e,n,a,r,i,s,o){J(t,e+4*r,r,1,8,i,s,o),J(n,a+4*r,r,1,8,i,s,o)}function st(t,e,n,a,r,i,s,o){J(t,e+4,1,r,8,i,s,o),J(n,a+4,1,r,8,i,s,o)}function ot(t,e){return e==Fn?0==t.i?0==t.d?Yn:Kn:0==t.d?Gn:Fn:e}function ft(t,e,n,r){for(a=0;a<4;++a)t[e+a]=n[r+a]}function ht(t,e){return t<0?0:t>e?e:t}function lt(t){t.a="VP8_STATUS_OK",t.xc="OK"}function ct(t){t>>>8!=Be>>>8&&alert("mismatch error")}function ut(t,e,n){return t.a==je&&(t.a=e,t.xc=n,t.za=0),0}function dt(t,r){let o=[0],f=0;var h=[0],l=s(fa),c=s(ha);let u=s(an);h="VP8StatusCode",l=s(nn);if(t==i)return alert("(dec == null)"),0;if(lt(t),r==i)return ut(t,"VP8_STATUS_INVALID_PARAM","null VP8Io passed to VP8GetHeaders()");if(l.data=r.data,l.b=r.b,l.e=r.e,l.b=[l.b],l.e=[l.e],(h=Ae(l=[l]))!=je)return ut(t,h,"Incorrect/incomplete header.");if((l=l[0]).b=l.b[0],l.e=l.e[0],l.ia)return ut(t,Ke,"Unexpected lossless format encountered.");if(t.Ga==i&&(w(0==t.ub),t.Ga=l.$,t.G=l.G,t.ub=l.pa),f=l.data,o=l.b+l.offset,h=l.e-l.offset,w(l.e>=l.offset),h[0]<4)return ut(t,qe,"Truncated header.");if(u=f[o+0]|f[o+1]<<8|f[o+2]<<16,(l=t.Ac).fb=!(1&u)+0,l.Jc=u>>1&7,l.Nc=u>>4&1,l.Ra=u>>5,l.Jc>3)return ut(t,"VP8_STATUS_BITSTREAM_ERROR","Incorrect keyframe parameters.");if(!l.Nc)return ut(t,"VP8_STATUS_UNSUPPORTED_FEATURE","Frame not displayable.");if(o+=3,h-=3,c=t.P,l.fb){if(h<7)return ut(t,"VP8_STATUS_NOT_ENOUGH_DATA","cannot parse picture header");if(!(h>=3&&157==f[o+0]&&1==f[o+1]&&42==f[o+2]))return ut(t,"VP8_STATUS_BITSTREAM_ERROR","Bad code word");for(c.l=16383&(f[o+4]<<8|f[o+3]),c.gd=f[o+4]>>6,c.v=16383&(f[o+6]<<8|f[o+5]),c.hd=f[o+6]>>6,o+=7,h-=7,t.Ma=c.l+15>>4,t.hb=c.v+15>>4,r.width=c.l,r.height=c.v,r.I=0,r.Ua=0,r.k=0,r.t=0,r.Ka=r.width,r.K=r.height,r.m=r.width,r.h=r.height,u=t.R,a=0;ah)return ut(t,"VP8_STATUS_NOT_ENOUGH_DATA","bad partition length");u=t.o,g(u,f,o,o+l.Ra),o+=l.Ra,h-=l.Ra,l.fb&&(c.uc=e(u),c.$c=e(u));c=u;var d=t.Ca;let b=t.R;if(w(c!=i),w(d!=i),d.pb=e(c),d.pb){if(d.ob=e(c),e(c)){var _;for(d.tb=e(c),_=0;_0)if(t.Ca.pb)for(b=0;bh&&(y=c),g(t.ic[+k],b,_,A),b=y,_=A,d+=3}g(t.ic[+p],b,_,h),h=_0){t.yb[y]=t.yb[0];continue}A=h}const e=t.yb[y];e.sc[0]=or[ht(A+c,127)],e.sc[1]=fr[ht(A+0,127)],e.sb[0]=2*or[ht(A+d,127)],e.sb[1]=101581*fr[ht(A+b,127)]>>16,e.sb[1]<8&&(e.sb[1]=8),e.qc[0]=or[ht(A+_,117)],e.qc[1]=fr[ht(A+p,127)]}if(!l.fb)return ut(t,Ye,"Not a key frame.");for(t.Zc=259,e(u),h=t.R,c=0;c0)+0],16==i||!n(t,o[0]))return i}else o=e[dr[i]][0];if(16==i)return 16}}function _t(t,e){return((16777216*t[0]+65536*t[1]+256*t[2]+1*t[3])*gr&4278190080)>>e}function pt(t,e){let r,s=0;if(t==i)return 0;if(e==i)return ut(t,"VP8_STATUS_INVALID_PARAM","NULL VP8Io parameter in VP8Decode().");if(!t.za&&!dt(t,e))return 0;if(w(t.za),e.Mb&&!e.Mb(e))ut(t,Xe,"Frame setup failed"),r=t.a;else{e.Za&&(t.A=0);const n=ar[t.A];2==t.A?(t.lb=0,t.mb=0):(t.lb=e.t-n>>4,t.mb=e.k-n>>4,t.lb<0&&(t.lb=0),t.mb<0&&(t.mb=0)),t.Ya=e.K+15+n>>4,t.wb=e.Ka+15+n>>4,t.wb>t.Ma&&(t.wb=t.Ma),t.Ya>t.hb&&(t.Ya=t.hb),r=je}if(s=r==je){if(s){let n,a;t:{if(t.Ja=0,t.qb){const e=t.rc;if(!WebPWorkerReset(e)){n=ut(t,Ze,"thread initialization failed.");break t}e.Qd=t,e.Rd=t.oa.N,e.Ud=FinishRow,t.jb=t.A>0?rr:rr-1}else t.jb=ir;n=1}if(!(a=!n)){let e;t:{const n=t.jb,a=t.Ma,r=4*a,s=32*a,o=a+1,f=t.A>0?a*(t.qb?2:1):0,c=ra,u=s*(16*n+parseInt(3*ar[t.A]/2,10)),d=t.Ga!=i?t.P.l*t.P.v:0,_=r+s+o+f+c+384+u+d+nr;if(_!=_)e=0;else{if(_>t.Gb){if(t.ib=0,t.Gb=0,t.ib==i){e=ut(t,"VP8_STATUS_OUT_OF_MEMORY","no memory during frame initialization.");break t}t.Gb=_}t.dc=205,t.Xc=l(205,16*a),t.Sc=l(205,8*a),t.Vc=l(205,8*a),t.M=f?h(da,f):i,t.Sd=f?0:i,t.oa.ha=0,t.oa.M=t.M,w(0==(c&nr)),t.Ea=l(205,1*c),t.z=-12851,t.H=16*a,t.r=8*a;const s=ar[t.A],p=s*t.H,g=s/2*t.r;t.ca=b(u,205),t.da=+p,t.aa=t.ca,t.ba=t.da+16*n*t.H+g,t.ra=t.aa,t.sa=t.ba+8*n*t.r+g,t.Xb=d?b(d,0):i,t.La=h(ba,o),t.dc=l(Fn,r),e=1}}a=!e}if(a)s=0;else{if(e.width=t.P.l,e.height=t.P.v,e.w=0,e.y=t.ca,e.D=t.da,e.c=t.aa,e.B=t.ba,e.S=t.ra,e.C=t.sa,e.F=t.H,e.Da=t.r,e.p=i,e.q=i,!Pa){let t;for(t=-255;t<=255;++t)Ta[255+t]=t<0?-t:t,Ra[255+t]=Ta[255+t]>>1;for(t=-1020;t<=1020;++t)za[1020+t]=t<-128?-128:t>127?127:t;for(t=-112;t<=112;++t)Oa[112+t]=t<-16?-16:t>15?15:t;for(t=-255;t<=510;++t)Na[255+t]=t<0?0:t>255?255:t;Pa=1}Wa=I,Fa=C,Va=D,Ha=L,ja=Q,Za=tt,Ga=at,Ka=rt,Ya=et,$a=nt,Xa=it,qa=st,Ja=K,Qa=Y,tr=$,er=X,s=1}}if(s)t:{for(t.d=0;t.d0&&h.d>=h.mb&&h.d<=h.Ya)+0,t.i=0;t.i0);v=-m,z[z[z.length-1]+g]=v,d[_]=v,_++}I[p]=v}}else{v=n(h,156)?n(h,128)?Zn:jn:n(h,163)?Hn:Vn;for(e.Eb[0]=v,m=0;m<4;++m)z[m+z[z.length-1]]=v;for(m=0;m<4;++m)I[m]=v}if(e.Tc=n(h,142)?n(h,114)?n(h,183)?Zn:jn:Hn:Vn,h.Ab)c=0;else{if(w.Nb)u.X=w.X=0,e.wa||(u.ua=w.ua=0),e.ja=0,e.Oa=0;else{let t=0,n=0;var k=0,y=pr;const a=e.yb[e.Lb];var A=e.z;const r=e.La[0],s=b(4,0),o=b(4,0);let h=b(4,0),c=b(4,0),u=0,d=0;var E=0;let _=0,p=0;A=l(0,384);if(e.wa)k=0,y=e.R.z[3];else{const t=b(16,0);var x=w.ua+r.ua;w.ua=r.ua=(bt(i,e.R.z[1],x,a.sb,0,t)>0)+0;k=1,y=e.R.z[0];var U=t,S=A,B=b(16,0),T=0;for(T=0;T<4;++T){var R=U[0+T]+U[12+T],O=U[4+T]+U[8+T],N=U[4+T]-U[8+T],P=U[0+T]-U[12+T];B[0+T]=R+O,B[8+T]=R-O,B[4+T]=P+N,B[12+T]=P-N}for(T=0;T<4;++T){const t=S[S.length-1],e=B[0+4*T]+3;R=e+B[3+4*T],O=B[1+4*T]+B[2+4*T],N=B[1+4*T]-B[2+4*T],P=e-B[3+4*T];S[t+0]=R+O>>3,S[t+16]=P+N>>3,S[t+32]=R-O>>3,S[t+48]=P-N>>3,S[S.length-1]+=64}A[A.length-1]=0}for(h=f(wr[15&w.X]),c=f(wr[15&r.X]),_=0;_<4;++_){var M=c[_];for(E=0;E<4;++E){var W=bt(i,y,x=M+h[E],a.sc,k,A);h[E]=M=(W>0)+0,o[E]=(0!=A[A[A.length-1]+0])+0,s[E]=(W>1)+0,A[A.length-1]+=16}c[_]=M,d|=_t(o,24-4*_),u|=_t(s,24-4*_)}for(t=_t(h,24),n=_t(c,24),h=f(wr[w.X>>4]),c=f(wr[r.X>>4]),p=0;p<4;p+=2){for(_=0;_<2;++_){for(M=c[p+_],E=0;E<2;++E)x=M+h[p+E],W=bt(i,e.R.z[2],x,a.qc,0,A),h[p+E]=M=(W>0)+0,o[2*_+E]=(0!=A[A[A.length-1]+0])+0,s[2*_+E]=(W>1)+0,A[A.length-1]+=16;c[p+_]=M}d|=_t(o,8-2*p),u|=_t(s,8-2*p)}t|=_t(h,20),n|=_t(c,20),w.X=t,r.X=n,e.z=A,e.Oa=u+0,e.ja=u|d,w.Nb=!e.ja+0}c=!i.Ab}if(!c){s=ut(t,"VP8_STATUS_NOT_ENOUGH_DATA",`Premature end-of-file encountered.${t.i} ${t.d}`);break t}const C=t,D=C.Ea,L=ia,K=C.Ea,Y=sa,$=C.Ea,X=oa;if(C.i>0){var F=0;for(F=-1;F<16;++F)ft(D,L+F*aa-4,D,L+F*aa+12);for(F=-1;F<8;++F)ft(K,Y+F*aa-4,K,Y+F*aa+4),ft($,X+F*aa-4,$,X+F*aa+4)}else{for(F=0;F<16;++F)D[L+F*aa-1]=129;for(F=0;F<8;++F)K[Y+F*aa-1]=129,$[X+F*aa-1]=129;C.d>0&&(D[L-1-aa]=K[Y-1-aa]=$[X-1-aa]=129)}const Q=C.Xc,tt=16*+C.i,et=C.Sc,nt=8*+C.i,at=C.Vc,rt=8*+C.i,it=C.z;let st=0;if(C.d>0)o(D,L-aa,Q,tt,16),o(K,Y-aa,et,nt,8),o($,X-aa,at,rt,8);else if(0==C.i){for(a=0;a<21;++a)D[L-aa-1+a]=127;for(a=0;a<9;++a)K[Y-aa-1+a]=127;for(a=0;a<9;++a)$[X-aa-1+a]=127}if(C.wa){const t=L-aa+16;C.d>0&&(C.i>=C.Ma-1?D[t+0]=D[t+1]=D[t+2]=D[t+3]=Q[tt+15]:o(D,t+0,Q,tt+16,4));for(let e=0;e<4;++e)D[e+t+4*aa]=D[e+t+4*aa]=D[e+t+8*aa]=D[e+t+12*aa]=D[e+t+0];for(st=0;st<16;st++){var V=D,H=L+sr[st];Da[C.Eb[st]](V,H),C.Oa&1<0){const t=dt.M[1+dt.i],e=dt.La[1+dt.i].Nb;let n=dt.Zb[dt.Lb];dt.ga.oc&&(n+=dt.ga.Lc[0],dt.wa&&(n+=dt.ga.Gc[0])),n=n<0?0:n>63?63:n,t.zc=n,dt.ga.kb>0&&(n=dt.ga.kb>4?n>>2:n>>1,n>9-dt.ga.kb&&(n=9-dt.ga.kb)),t.yc=n<1?1:n,t.ab=(!e||dt.wa)+0}var G=0,q=8*dt.Ja*dt.r,J=dt.ca,ht=dt.da+16*dt.i+16*dt.Ja*dt.H,lt=dt.aa,ct=dt.ba+8*dt.i+q,pt=dt.ra,gt=dt.sa+8*dt.i+q;for(G=0;G<16;++G)o(J,ht+G*dt.H,dt.Ea,+ia+G*aa,16);for(G=0;G<8;++G)o(lt,ct+G*dt.r,dt.Ea,+sa+G*aa,8),o(pt,gt+G*dt.r,dt.Ea,+oa+G*aa,8)}const C=t,D=e;var vt=1;const L=C.oa;if(C.qb){const t=C.rc;vt=vt&WebPWorkerSync(t);if(w(t.a==OK),vt){if(L.N=D,L.ha=C.Ja,L.d=C.d,L.W=C.W,L.W){const t=L.M;L.M=C.M,C.M=t}WebPWorkerLaunch(t),++C.Ja==C.jb&&(C.Ja=0)}}else{L.d=C.d,L.W=C.W;e:{let t=1;const e=C.oa,n=ar[C.A],a=n*C.H,r=parseInt(n/2)*C.r,s=16*e.ha*C.H,f=8*e.ha*C.r,h=C.ca,l=C.da-a+s,c=C.aa,u=C.ba-r+f,d=C.ra,b=C.sa-r+f,_=0==e.d,p=(e.d>=C.hb-1)+0;var mt=16*e.d;let g=16*(e.d+1);if(e.W){const t=C;let e=0;const n=t.oa.d;for(w(t.oa.W),e=t.lb;e0&&Qa(h,l,o,d+4),f.ab&&er(h,l,o,d),i>0&&Ja(h,l,o,d+4),f.ab&&tr(h,l,o,d);else{const t=a.r,e=a.aa,n=a.ba+8*s.ha*t+8*r,b=a.ra,_=a.sa+8*s.ha*t+8*r,p=a.Ac.fb?c>=40?2:c>=15?1:0:c>=40?3:c>=20?2:c>=15?1:0;r>0&&(Za(h,l,o,d+4,u,p),Ka(e,n,b,_,t,d+4,u,p)),f.ab&&($a(h,l,o,d,u,p),qa(e,n,b,_,t,d,u,p)),i>0&&(ja(h,l,o,d+4,u,p),Ga(e,n,b,_,t,d+4,u,p)),f.ab&&(Ya(h,l,o,d,u,p),Xa(e,n,b,_,t,d,u,p))}}}if(D.put){if(_?(D.y=C.ca,D.D=C.da+s,D.c=C.aa,D.B=C.ba+f,D.S=C.ra,D.C=C.sa+f):(mt-=n,D.y=h,D.D=l,D.c=c,D.B=u,D.S=d,D.C=b),p||(g-=n),g>D.K&&(g=D.K),C.Ga!=i&&mt>1),D.C+=C.r*(t>>1),D.p!=i&&(D.q+=D.width*t)}mt>1,D.C+=D.t>>1,D.p!=i&&(D.q+=D.t),D.w=mt-D.k,D.m=D.Ka-D.t,D.h=g-mt,t=D.put(D))}e.ha+1==C.jb&&!p&&(o(C.ca,C.da-a,h,l+16*C.H,a),o(C.aa,C.ba-r,c,u+8*C.r,r),o(C.ra,C.sa-r,d,b+8*C.r,r)),vt=t}}if(!vt){s=ut(t,"VP8_STATUS_USER_ABORT","Output aborted.");break t}}let r;if(!(r=t.qb&&!WebPWorkerSync(t.rc))){let e;(e=t.fc>0)&&(w(t),w(t.fc>0),e=!1),r=e}s=r?0:1}const r=s;e.Pb&&e.Pb(e),s=1&r}return s?(t.za=0,s):(wt(t),0)}function wt(t){t!=i&&(t.ib&&(t.ib=0),t.ib=i,t.Gb=0,t.za=0)}function gt(t,e){return t+(1<>e}function vt(t,e,n,a,r){const i=Vr[n]+Hr[e]>>vr;e=Fr[e],a[r+0]=jr[t+Wr[n]-mr],a[r+1]=jr[t+i-mr],a[r+2]=jr[t+e-mr]}function mt(t,e,n,a,r){const i=Vr[n]+Hr[e]>>vr;e=Fr[e],a[r+0]=248&jr[t+Wr[n]-mr]|jr[t+i-mr]>>5,a[r+1]=jr[t+i-mr]<<3&224|jr[t+e-mr]>>3}function kt(t,e,n,a,r){a[r+0]=255,vt(t,e,n,a,r+1)}function yt(t,e,n,a,r){const i=Fr[e];a[r+0]=Zr[t+Wr[n]-mr]<<4|Zr[t+(Vr[n]+Hr[e]>>vr)-mr],a[r+1]=15|Zr[t+i-mr]<<4}function At(t,e,n,a,r){const i=Wr[n];n=Vr[n]+Hr[e]>>vr,a[r+0]=jr[t+Fr[e]-mr],a[r+1]=jr[t+n-mr],a[r+2]=jr[t+i-mr]}function Et(t,e,n,a,r){At(t,e,n,a,r),a[r+3]=255}function xt(t,e,n,a,r){vt(t,e,n,a,r),a[r+3]=255}function Ut(t,e,n){t[e]=((((4278255360&t[e])>>>0)+((4278255360&n)>>>0)&4278255360)>>>0|(16711935&t[e])+(16711935&n)&16711935)>>>0}function St(t,e){return((4278124286&(t^e))>>>1)+((t&e)>>>0)>>>0}function Bt(t){return t<256&&t>0?t:t<=0?0:~t>>24&255}function Tt(t,e){return Bt(t+parseInt((t-e)/2,10))}function Rt(){return _n}function zt(t,e){return(t&=255)>127&&(t-=256),(e&=255)>127&&(e-=256),t*e>>>5}function Ot(t,e,n,a,r,i,s){var o=0;const f=8>>t.n,h=t.U,l=t.u;if(f<8){t=(1<>8&255),i[s++]=l[e&c],e>>=f}}else for(o=e;o>8&255]}function Nt(t,e,n,a,r){for(n=e+n;e>16&255,a[r++]=n>>8&255,a[r++]=n>>0&255,a[r++]=n>>24&255}}function Pt(t,e,n,a,r){for(n=e+n;e>16&240|n>>12&15,a[r++]=n>>0&240|n>>28&15}}function It(t,e,n,a,r){for(n=e+n;e>24&255,a[r++]=n>>16&255,a[r++]=n>>8&255,a[r++]=n>>0&255}}function Ct(t,e,n,a){return E(t,8)!=hn?0:(e[0]=E(t,ln)+1,n[0]=E(t,ln)+1,a[0]=E(t,1),E(t,cn),1)}function Dt(t,e){let n=0;return t<4?t+1:(n=t-2>>1,(2+(1&t)<e.ya){var n=t.Y,a=0;for(w(n!=i);0!=n[a].s;){var r=n,s=e;const t=s.T>>s.g&1;s.L?s.fa=1:(++s.g,s.g>=8&&y(s),s.Q==s.ya&&32==s.g&&(s.L=1)),a=a+r[a].s+t}return n[a].kc}for(a=0,w((n=t.Y)!=i);0!=n[a].s;)r=n,s=e.T>>e.g&1,++e.g,a=a+r[a].s+s;return n[a].kc}function Mt(t,e){if(t!=i){var n=0,a=0;for(n=0;n>t.eb)+(e>>t.eb)])0;){e=t.nc[r];let S=f;var d=l,b=u;u=a,l=n;switch(w(S<(_=h)),w(_<=e.Vb),e.Qc){case An:for(d=0,e=l+(_-S)*e.U;l>8&255,g=16711935&(g=(g=(16711935&_[b])>>>0)+(p<<16|p));u[l++]=((4278255360&_[b])>>>0|g)>>>0,32==S&&d++}break;case kn:var v=S;d=_,b=u,p=l,g=(E=e).U;if(0==v){var m=0;for(Ut(b,p,_n),m=1;m>E.n)*y;v>8&15],m=1;m>8&15]),e=t(b[p+m-1],b,p+m-g),Ut(b,p+m,e)}p+=g,0==(++v&k)&&(E+=y)}_!=e.Vb&&o(u,l-(e=e.U),u,l+(_-S-1)*e,e);break;case yn:for(d=e.U,b=(1<>e.n)*p;S<_;){for(m=g,v=e,k=s(Ar),y=0,y=0;y>0&255,E.Bc=A>>8&255,E.Kc=A>>16&255),E=(A=u[l+y])>>>8,x=A>>>16,U=A,x+=zt(k.Cc,E),x&=255,U+=zt(k.Bc,E),U+=zt(k.Kc,x),U&=255,u[l+y]=(4278255360&A|x<<16|U)>>>0;l+=d,++S,0==(S&b)&&(e+=p)}break;case En:d==u&&e.n>0?(d=(_-S)*gt(e.U,e.n),c(u,b=l+(_-S)*e.U-d,u,l,d),Ot(e,S,_,u,b,u,l)):Ot(e,S,_,d,b,u,l)}l=a,u=n}}function Vt(t,e){var n=t.V,a=t.Ha+t.l*t.O;if(!((i=e-t.O)<=0)){Ft(t,i,n,a);var r=t.N;n=t.Xa;let u=[t.vb];a=t.O;var i=e,s=u,o=r.width;if(w(ar.K&&(i=r.K),a=i?a=0:(s[0]+=r.t,r.w=a-r.k,r.m=r.Ka-r.t,r.h=i-a,a=1),a){if(u=u[0],a=t.Ib,i=r.width,a.J0;){const t=n;let a=u,r=f;const l=s;let d=e;switch(o){case Te:for(r=a+r;a>16&255,l[d++]=c>>8&255,l[d++]=c>>0&255}break;case Re:Nt(t,a,r,l,d);break;case Ce:Nt(t,a,r,l,d),WebPApplyAlphaMultiply(l,0,r,1,0);break;case ze:for(r=a+r;a>0&255,l[d++]=c>>8&255,l[d++]=c>>16&255;break;case Oe:It(t,a,r,l,d);break;case De:It(t,a,r,l,d),WebPApplyAlphaMultiply(l,0,r,1,0);break;case Ne:It(t,a,r,l,d);break;case Le:It(t,a,r,l,d),WebPApplyAlphaMultiply(l,1,r,1,0);break;case Pe:Pt(t,a,r,l,d);break;case Me:Pt(t,a,r,l,d),WebPApplyAlphaMultiply4444(l,r,1,0);break;case Ie:for(r=a+r;a>16&248|c>>13&7,l[d++]=c>>5&224|c>>3&31;break;default:w(0)}u+=i,e+=h}n=r}t.xa+=n}else t.xa=r.I?EmitRescaledRowsYUVA(t,n,u,i,r.h):EmitRowsYUVA(t,n,u,i,r.m,r.h);w(t.xa<=a.height)}t.O=e,w(t.O<=t.v)}}function Ht(t,e,n,a,r,s){let o=1,f=0,h=0;const l=t.o,c=t.cb;let u=c.Db,d=n,b=n;n+=a*r;const _=(r=gn+vn)+c.xb,p=c.xb>0?c.Yb:i,g=c.Dc;let v=!1;for(w(u!=i);!l.L&&d>>0)+(v<<16)+(o<<8)+m}if(v=!1,++d,++f,f>=a&&(f=0,++h,s!=i&&h%Er==0&&s(t,h),p!=i))for(;b>>p.bb]=o}else if(yDr?m-=Dr:(y=Lr[m-1],y=(y>>4)*a+(8-(15&y)),m=y>=1?y:1),y=0,y=0;y=a;)f-=a,++h,s!=i&&h%Er==0&&s(t,h);if(d>>p.bb]=o}else if(y<_){for(v=y-r,w(p!=i);b>>p.bb]=y;y=e,m=d,w(v<=-1>>>(k=p).bb),y[m]=k.ea[v],v=!0;continue}(o=!l.fa)||End}return s!=i&&s(t,h),l.fa||!o||l.L&&d16?0:d>4?1:d>2?2:3,u[0]=gt(o.U,p),o.n=p,u=p=Kt(d,1,0,R,o.u))if(u=d,p=0,d=1<<(8>>>(R=o).n)>>>0,(g=Array(d))==i)u=0;else{v=R.u[0];var m=R.b;for(g[0]=R.u[0][R.b+0],p=1;p>>0)+((4278255360&g[p-1])>>>0)&4278255360)>>>0|(16711935&v[m+p])+(16711935&g[p-1])&16711935)>>>0;for(;p=1&&c<=dn)){a.a=Ke;break}if(o)t:{o=a;var k=t[0],y=e[0],R=(u=c,m=v=0,m=o.o,o.cb);p=[i],d=i,g=1;if(n&&E(m,1)){y=(k=gt(k,v=E(m,3)+2))*(z=gt(y,v));if(!Kt(k,z,0,o,p)){o.a=Ke,Mt(d,g),o=0;break t}for(p=p[0],R.eb=v,v=0;v>>8&65535,p[v]=k,k>=g&&(g=k+1)}if(m.fa)Mt(d,g),o=0;else if(w(g<=65536),(d=_(g,Aa))==i)o.a=Ze,Mt(d,g),o=0;else{for(v=0;v0&&(k+=1<=t){(C=C&&x(e))||S(e),O=C;break n}if(!B(e,N[D],P[D],I[D])){(C=C&&x(e))||S(e),O=C;break n}}(C=(C=1)&&x(e))||S(e),O=C}else O=0}}else{if(O=0,P=[],(N=E(z,4)+4)>Ir){k.a=Ke,k=0;break e}if((I=Array(t))==i){k.a=Ze,k=0;break e}for(O=0;OP){O.a=Ke,S(r),O=C;break n}}else n=P;for(e=0;eP){O.a=Ke,S(r),O=C;break n}for(L=L?a:0;M-- >0;)N[e++]=L}}C=1,S(r),O=C}else O.a=Ke,O=0}O&&(O=T(e,I,t))}(O=O&&!z.fa)?k=1:(k.a=Ke,k=0)}if(!k){Mt(d,g),o=0;break t}}R.ac=p,R.hc=g,R.Db=d,o=1}}if(!o){a.a=Ke;break}if(c>0){if(h.xb=1<0),u.ea=b(R,0),u.ea==i?c=0:(u.bb=32-c,c=1),!c){a.a=Ze,o=0;break}}else h.xb=0;if(c=a,u=t[0],R=e[0],d=(p=c.cb).eb,c.l=u,c.v=R,p.Ec=gt(u,d),p.Dc=0==d?-1:(1<>>8&255;t.O=t.xa=e}}function ht(t,e){return t<0?0:t>e?e:t}function Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,w,g){let v;const m=p-1>>1;let k=r[i+0]|s[o+0]<<16,y=f[h+0]|l[c+0]<<16;if(t){var A=3*k+y+131074>>2;w(t[e+0],255&A,A>>16,u,d)}for(n&&(A=3*y+k+131074>>2,w(n[a+0],255&A,A>>16,b,_)),v=1;v<=m;++v){const p=r[i+v]|s[o+v]<<16,m=f[h+v]|l[c+v]<<16;const E=(A=k+p+y+m+524296)+2*(p+y)>>3,x=A+2*(k+m)>>3;t&&(A=E+k>>1,k=x+p>>1,w(t[e+2*v-1],255&A,A>>16,u,d+(2*v-1)*g),w(t[e+2*v-0],255&k,k>>16,u,d+(2*v-0)*g)),n&&(A=x+y>>1,k=E+m>>1,w(n[a+2*v-1],255&A,A>>16,b,_+(2*v-1)*g),w(n[a+2*v+0],255&k,k>>16,b,_+(2*v+0)*g)),k=p,y=m}1&p||(t&&(A=3*k+y+131074>>2,w(t[e+p-1],255&A,A>>16,u,d+(p-1)*g)),n&&(A=3*y+k+131074>>2,w(n[a+p-1],255&A,A>>16,b,_+(p-1)*g)))}function qt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,vt,3)}function Jt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,At,3)}function Qt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,xt,4)}function te(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,Et,4)}function ee(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,kt,4)}function ne(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,yt,2)}function ae(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p){Xt(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b,_,p,mt,2)}function re(t,e,n,a,r,i,s,o,f,h,l,c,u,d,b){let _;for(_=0;_0;){var s=t,o=e+(n?1:0),f=t,h=e+(n?0:3),l=0;for(l=0;l>1)*n.nb,f=n.S,h=n.C+(t.w>>1)*n.rb,l=t.m,c=t.h,u=parseInt((l+1)/2,10),d=parseInt((c+1)/2,10);let b;for(b=0;b>4;l[c+2*d]=240&l[c+2*d]|t,u&=t}r+=e.width,c+=f.f}15!=u&&t(o)&&WebPApplyAlphaMultiply4444(l,s,i,h,f.f)}return 0}function we(e){let n=e.ka;const a=n.j.J,r=a>1,a=e.m+2*t;let r;const s=[];for(r=0;r>vr,Hr[e]=-22014*(e-128)+Mr,Vr[e]=-45773*(e-128),Fr[e]=113618*(e-128)+Mr>>vr;for(e=mr;e>vr,jr[e-mr]=ht(n,255),Zr[e-mr]=ht(n+8>>4,15);Gr=1}return 1}function ge(t){const e=t.ka;let n=t.m;const a=t.h;return w(!(1&t.w)),n<=0||a<=0?0:(n=e.$a(t,e),e.ec+=n,e.zb&&e.zb(t,e),1)}function ve(t){(t=t.ka).memory="",t.memory=i}function me(t,e){return t[e+0]|t[e+1]<<8|t[e+2]<<16}function ke(t,e){return(me(t,e)|t[e+3]<<24)>>>0}function ye(t,e,n,a,r,o,f){var h=0,l=[0],c="VP8StatusCode";const u=s(nn);if(t==i||n[0]=zn&&!d(t,e[0],"RIFF",Tn)){if(d(t,e[0]+8,"WEBP",Tn)){c=Ke;break t}if((g=ke(t,e[0]+Tn))0,g=[0];t:if(c=Rn+On,w(t!=i),w(n!=i),w(l!=i),l[0]=0,n[0]=Pn){c=Ke;break t}g!=i&&(g[0]=p),a!=i&&(a[0]=b),r!=i&&(r[0]=_),e[0]+=c,n[0]-=c,l[0]=1}c=je}if(c!=je)return c;if(!h&&l[0])return Ke;if(o!=i&&(o[0]=!!(g[0]&Nn)),l&&f==i)return je;if(n0&&a>l){c=Ke;break t}if(p=b&&_>l-b){c=Ke;break t}h[0]=_,e[0]+=Rn,n[0]-=Rn,g[0]=c}else g[0]=n>=1&&t[e+0]==hn,h[0]=n[0];c=je}if(u.ta=u.ta[0],u.ia=u.ia[0],c!=je)return c;if(u.ta>In)return Ke;if(u.ia){if(n[0]=3&&157==t[l+3+0]&&1==t[l+3+1]&&42==t[l+3+2]?(h=t[l+0]|t[l+1]<<8|t[l+2]<<16,g=16383&(t[l+7]<<8|t[l+6]),t=16383&(t[l+9]<<8|t[l+8]),!(!(1&h)+0)||(h>>1&7)>3||!(h>>4&1)||h>>5>=u.ta?t=0:(a&&(a[0]=g),r&&(r[0]=t),t=1)):t=0}return t?(o!=i&&(o[0]|=u.$!=i),f!=i&&(f[0]=u,f[0].offset=e[0]-f[0].b,w(e[0]-f[0].b0,e.Ua&&(f=t.wc,h=t.vc,s=t.t,o=t.k,na||o+h>r))return 0;if(e.t=s,e.k=o,e.Ka=s+f,e.K=o+h,e.m=f,e.h=h,e.I=t!=i&&t.I>0,e.I){if(t.Ba<=0||t.Aa<=0)return 0;e.Ba=t.Ba,e.Aa=t.Aa}return e.Za=t&&t.Za,e.Bb=t==i||!t.ed,e.I&&(e.Za=e.Ba<3*a/4&&e.Aa<3*r/4,e.Bb=0),1}var Be=512,Te=0,Re=1,ze=2,Oe=3,Ne=4,Pe=5,Ie=6,Ce=7,De=8,Le=9,Me=10,We=11,Fe=12,Ve=13;this.WEBP_CSP_MODE=this.Cd={nd:0,od:1,kd:2,ld:3,jd:4,pd:5,qd:6,rd:7,sd:8,md:9};var He={J:"WEBP_CSP_MODE",width:0,height:0,Fc:0,c:{RGBA:{ma:0,Sa:0,f:0,size:0},Va:{y:0,c:0,S:0,p:0,D:0,B:0,C:0,q:0,F:0,nb:0,rb:0,Fa:0,Wc:0,Rc:0,Uc:0,Wb:0}},Ic:b(4,0),Jb:i,jc:0},je=0,Ze=1,Ge=2,Ke=3,Ye=4,$e=5,Xe=6,qe=7;this.VP8StatusCode=this.td={xd:0,yd:1,vd:2,ud:3,Ad:4,zd:5,Bd:6,wd:7};var Je={width:{value:0},height:{value:0},$b:{value:0},tc:0,Yd:0,rotate:0,be:0,Ic:b(3,0)};this.WebPGetFeatures=this.Md=function(t,e,n){let a="VP8StatusCode";return Be>>>8!=Be>>>8||n==i?t=Ge:(a=Ue(t,[0],e=[e],n),t=a==qe?Ke:a),t};const Qe={Za:0,ed:0,Ua:0,t:0,k:0,wc:0,vc:0,I:0,Ba:0,Aa:0,ae:0,Td:0,Xd:0,Ic:b(6,0)};this.WebPDecoderConfig=this.Kd={input:s(Je),j:s(He),options:s(Qe)},this.WebPInitDecoderConfig=this.Nd=function(t){return Be>>>8!=Be>>>8||t==i?t=0:(w((t=t.input)!=i),t.tc=0,t=1),t};var tn={width:0,height:0,w:0,m:0,h:0,y:0,c:0,S:0,D:0,B:0,C:0,F:0,Da:0,ka:0,put:0,Mb:0,Pb:0,Bb:0,e:0,data:0,b:0,Za:0,Ua:0,t:0,Ka:0,k:0,K:0,I:0,Ba:0,Aa:0,p:0,q:0},en={j:s(He),Sb:0,Qb:0,lc:0,Tb:0,Rb:0,mc:0,ec:0,Qa:s(Qe),memory:0,$a:"(OutputFunc)",zb:"(OutputFunc)",ad:"(OutputRowFunc)"},nn={data:0,b:0,e:0,offset:0,$:i,G:0,pa:0,ta:0,na:0,ia:0},an={qa:0,Ia:i,Pd:0,Ab:0,la:0,Z:0,gc:0},rn={T:0,qa:0,Ia:0,ya:0,Q:0,g:0,L:0,fa:0},sn=25,on=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],fn=10,hn=47,ln=14,cn=3,un=5,dn=11,bn=5,_n=4278190080,pn=8,wn=15,gn=256,vn=24,mn=4,kn=0,yn=1,An=2,En=3,xn=1,Un=0,Sn=1,Bn=1,Tn=4,Rn=8,zn=12,On=10,Nn=16,Pn=1*Math.pow(2,32),In=-1-Rn-1>>>0,Cn={kc:0,s:0},Dn={Y:"HuffmanTreeNode*",gb:0,Pa:0},Ln=-1;const Mn={ea:0,bb:0};var Wn=506832829,Fn=0,Vn=Fn,Hn=2,jn=3,Zn=1,Gn=4,Kn=5,Yn=6,$n=3,Xn=4,qn=4,Jn=4,Qn=4,ta=8,ea=3,na=11,aa=32,ra=17*aa+9*aa,ia=1*aa+8,sa=ia+16*aa+aa,oa=sa+16,fa={fb:0,Jc:0,Nc:0,Ra:0},ha={l:0,v:0,gd:0,hd:0,uc:0,$c:0};const la={pb:0,ob:0,tb:0,Kb:b(Xn,0),Cb:b(Xn,0)},ca={Ta:b($n,0),z:p([Qn,ta,ea,na],0)},ua={Oc:0,Fb:0,kb:0,oc:0,Lc:b(qn,0),Gc:b(qn,0)};var da={zc:0,yc:0,ab:0},ba={X:0,ua:0,Nb:0};const _a=b(2,0),pa={sc:s(_a),sb:s(_a),qc:s(_a)},wa={ha:0,d:0,W:0,M:da,N:tn};var ga={a:"VP8StatusCode",za:0,xc:0,o:s(an),Ac:s(fa),P:s(ha),ga:s(ua),Ca:s(la),rc:"WebPWorker",qb:0,Ja:0,jb:0,oa:wa,Ma:0,hb:0,lb:0,mb:0,wb:0,Ya:0,Hb:0,ic:_(8,an),Zc:0,yb:_(Xn,pa),R:s(ca),pc:0,Pc:0,dc:0,cc:b(4,0),Xc:0,Sc:0,Vc:0,La:s(ba),M:s(da),Ea:0,z:0,ca:0,aa:0,ra:0,da:0,ba:0,sa:0,H:0,r:0,ib:0,Gb:0,i:0,d:0,wa:0,Eb:b(16,0),Vd:0,Tc:0,Lb:0,ja:0,Oa:0,A:0,W:0,Zb:b(Xn,0),Ga:i,G:0,ub:0,Xb:0,Od:0,cd:0,dd:0,Wd:0,fc:0},va=0,ma=1,ka=2;const ya={Qc:"VP8LImageTransformType",n:0,U:0,Vb:0,u:0,b:0};var Aa={va:_(bn,Dn)};const Ea={xb:0,Yb:s(Mn),Dc:0,eb:0,Ec:0,ac:0,bd:0,hc:0,Db:"HTreeGroup"};var xa={a:"VP8StatusCode",Wa:"VP8LDecodeState",Ob:"VP8LDecodeState",N:"VP8Io",Ib:"WebPDecBuffer",Hc:"WebPDecBuffer",V:0,Ha:0,Xa:0,vb:0,o:s(rn),l:0,v:0,O:0,xa:0,cb:s(Ea),Na:0,nc:_(mn,ya),Ub:0,Mc:0,$d:0,Zd:"*WebPRescaler"},Ua=4,Sa=[i,function(t,e,n,a,r,s,f,h){let l=0,c=h;for(w(t!=i),w(f!=i),w(n>0),w(a>0),w(r>0),w(s>=n*r),l=0;l0),w(a>0),w(r>0),w(s>=n*r),o(f,h,t,e,r),R(t,e+r,f,c,f,h+r,r*(n-1)),l=1;l0),w(a>0),w(r>0),w(s>=n*r),o(f,h,t,e,r),R(t,e+r,f,l,f,h+r,r*(n-1)),c=1;c255?255:n)&255}}}],Ba=[3,4,3,4,4,2,2,4,4,4,2,1,1];this.WebPFreeDecBuffer=this.Yc=function(t){t!=i&&(t.Fc||(t.Jb=""),t.jc=0,t.Jb=t.jc=i)},r=this;var Ta=b(511,0),Ra=b(511,0),za=b(2041,0),Oa=b(225,0),Na=b(766,0),Pa=0,Ia=85627,Ca=35468,Da=[function(t,e){let n,a=4;for(n=0;n<4;++n)a+=t[e+n-aa]+t[e-1+n*aa];for(a>>=3,n=0;n<4;++n)u(t,e+n*aa,a,4)},function(t,e){M(t,e,4)},function(t,e){let n=e-aa;const a=[];for(a.push(F(t[n-1],t[n+0],t[n+1])),a.push(F(t[n+0],t[n+1],t[n+2])),a.push(F(t[n+1],t[n+2],t[n+3])),a.push(F(t[n+2],t[n+3],t[n+4])),n=0;n<4;++n)o(t,e+n*aa,a,0,4)},function(t,e){const n=t[e-1],a=t[e-1+aa],r=t[e-1+2*aa],i=t[e-1+3*aa];t[e+0+0*aa]=t[e+1+0*aa]=t[e+2+0*aa]=t[e+3+0*aa]=F(t[e-1-aa],n,a),t[e+0+1*aa]=t[e+1+1*aa]=t[e+2+1*aa]=t[e+3+1*aa]=F(n,a,r),t[e+0+2*aa]=t[e+1+2*aa]=t[e+2+2*aa]=t[e+3+2*aa]=F(a,r,i),t[e+0+3*aa]=t[e+1+3*aa]=t[e+2+3*aa]=t[e+3+3*aa]=F(r,i,i)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1-aa],s=t[e+0-aa],o=t[e+1-aa],f=t[e+2-aa],h=t[e+3-aa];t[e+0+3*aa]=F(a,r,t[e-1+3*aa]),t[e+0+2*aa]=t[e+1+3*aa]=F(n,a,r),t[e+0+1*aa]=t[e+1+2*aa]=t[e+2+3*aa]=F(i,n,a),t[e+0+0*aa]=t[e+1+1*aa]=t[e+2+2*aa]=t[e+3+3*aa]=F(s,i,n),t[e+1+0*aa]=t[e+2+1*aa]=t[e+3+2*aa]=F(o,s,i),t[e+2+0*aa]=t[e+3+1*aa]=F(f,o,s),t[e+3+0*aa]=F(h,f,o)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1-aa],s=t[e+0-aa],o=t[e+1-aa],f=t[e+2-aa],h=t[e+3-aa];t[e+0+0*aa]=t[e+1+2*aa]=i+s+1>>1,t[e+1+0*aa]=t[e+2+2*aa]=s+o+1>>1,t[e+2+0*aa]=t[e+3+2*aa]=o+f+1>>1,t[e+3+0*aa]=f+h+1>>1,t[e+0+3*aa]=F(r,a,n),t[e+0+2*aa]=F(a,n,i),t[e+0+1*aa]=t[e+1+3*aa]=F(n,i,s),t[e+1+1*aa]=t[e+2+3*aa]=F(i,s,o),t[e+2+1*aa]=t[e+3+3*aa]=F(s,o,f),t[e+3+1*aa]=F(o,f,h)},function(t,e){const n=t[e+1-aa],a=t[e+2-aa],r=t[e+3-aa],i=t[e+4-aa],s=t[e+5-aa],o=t[e+6-aa],f=t[e+7-aa];t[e+0+0*aa]=F(t[e+0-aa],n,a),t[e+1+0*aa]=t[e+0+1*aa]=F(n,a,r),t[e+2+0*aa]=t[e+1+1*aa]=t[e+0+2*aa]=F(a,r,i),t[e+3+0*aa]=t[e+2+1*aa]=t[e+1+2*aa]=t[e+0+3*aa]=F(r,i,s),t[e+3+1*aa]=t[e+2+2*aa]=t[e+1+3*aa]=F(i,s,o),t[e+3+2*aa]=t[e+2+3*aa]=F(s,o,f),t[e+3+3*aa]=F(o,f,f)},function(t,e){const n=t[e+0-aa],a=t[e+1-aa],r=t[e+2-aa],i=t[e+3-aa],s=t[e+4-aa],o=t[e+5-aa],f=t[e+6-aa],h=t[e+7-aa];t[e+0+0*aa]=n+a+1>>1,t[e+1+0*aa]=t[e+0+2*aa]=a+r+1>>1,t[e+2+0*aa]=t[e+1+2*aa]=r+i+1>>1,t[e+3+0*aa]=t[e+2+2*aa]=i+s+1>>1,t[e+0+1*aa]=F(n,a,r),t[e+1+1*aa]=t[e+0+3*aa]=F(a,r,i),t[e+2+1*aa]=t[e+1+3*aa]=F(r,i,s),t[e+3+1*aa]=t[e+2+3*aa]=F(i,s,o),t[e+3+2*aa]=F(s,o,f),t[e+3+3*aa]=F(o,f,h)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1+3*aa],s=t[e-1-aa],o=t[e+0-aa],f=t[e+1-aa],h=t[e+2-aa];t[e+0+0*aa]=t[e+2+1*aa]=n+s+1>>1,t[e+0+1*aa]=t[e+2+2*aa]=a+n+1>>1,t[e+0+2*aa]=t[e+2+3*aa]=r+a+1>>1,t[e+0+3*aa]=i+r+1>>1,t[e+3+0*aa]=F(o,f,h),t[e+2+0*aa]=F(s,o,f),t[e+1+0*aa]=t[e+3+1*aa]=F(n,s,o),t[e+1+1*aa]=t[e+3+2*aa]=F(a,n,s),t[e+1+2*aa]=t[e+3+3*aa]=F(r,a,n),t[e+1+3*aa]=F(i,r,a)},function(t,e){const n=t[e-1+0*aa],a=t[e-1+1*aa],r=t[e-1+2*aa],i=t[e-1+3*aa];t[e+0+0*aa]=n+a+1>>1,t[e+2+0*aa]=t[e+0+1*aa]=a+r+1>>1,t[e+2+1*aa]=t[e+0+2*aa]=r+i+1>>1,t[e+1+0*aa]=F(n,a,r),t[e+3+0*aa]=t[e+1+1*aa]=F(a,r,i),t[e+3+1*aa]=t[e+1+2*aa]=F(r,i,i),t[e+3+2*aa]=t[e+2+2*aa]=t[e+0+3*aa]=t[e+1+3*aa]=t[e+2+3*aa]=t[e+3+3*aa]=i}],La=[function(t,e){let n,a=16;for(n=0;n<16;++n)a+=t[e-1+n*aa]+t[e+n-aa];W(a>>5,t,e)},function(t,e){M(t,e,16)},function(t,e){let n;for(n=0;n<16;++n)o(t,e+n*aa,t,e-aa,16)},function(t,e){let n;for(n=16;n>0;--n)u(t,e+0,t[e-1],16),e+=aa},function(t,e){let n,a=8;for(n=0;n<16;++n)a+=t[e-1+n*aa];W(a>>4,t,e)},function(t,e){let n,a=8;for(n=0;n<16;++n)a+=t[e+n-aa];W(a>>4,t,e)},function(t,e){W(128,t,e)}],Ma=[function(t,e){let n,a=8;for(n=0;n<8;++n)a+=t[e+n-aa]+t[e-1+n*aa];V(1*(a>>4),t,e)},function(t,e){M(t,e,8)},function(t,e){let n;for(n=0;n<8;++n)o(t,e+n*aa,t,e-aa,8)},function(t,e){let n;for(n=0;n<8;++n)u(t,e+0,t[e-1],8),e+=aa},function(t,e){let n,a=4;for(n=0;n<8;++n)a+=t[e-1+n*aa];V(1*(a>>3),t,e)},function(t,e){let n,a=4;for(n=0;n<8;++n)a+=t[e+n-aa];V(1*(a>>3),t,e)},function(t,e){V(128,t,e)}];let Wa,Fa,Va,Ha,ja,Za,Ga,Ka,Ya,$a,Xa,qa,Ja,Qa,tr,er;var nr=31,ar=[0,2,8],rr=3,ir=1,sr=[0+0*aa,4+0*aa,8+0*aa,12+0*aa,0+4*aa,4+4*aa,8+4*aa,12+4*aa,0+8*aa,4+8*aa,8+8*aa,12+8*aa,0+12*aa,4+12*aa,8+12*aa,12+12*aa],or=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],fr=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],hr=[-Fn,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],lr=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],cr=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ur=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]];this.WebPGetDecoderVersion=this.Ld=function(){return 512};var dr=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],br=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],_r=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],pr=p([ea,na],"");b(4,0);var wr=[[0,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,0,0],[0,0,1,0],[1,0,1,0],[0,1,1,0],[1,1,1,0],[0,0,0,1],[1,0,0,1],[0,1,0,1],[1,1,0,1],[0,0,1,1],[1,0,1,1],[0,1,1,1],[1,1,1,1]],gr=134480385,vr=16,mr=-227,kr=482,yr=[Rt,function(t){return t},function(t,e,n){return e[n+0]},function(t,e,n){return e[n+1]},function(t,e,n){return e[n-1]},function(t,e,n){return St(St(t,e[n+1]),e[n+0])},function(t,e,n){return St(t,e[n-1])},function(t,e,n){return St(t,e[n+0])},function(t,e,n){return St(e[n-1],e[n+0])},function(t,e,n){return St(e[n+0],e[n+1])},function(t,e,n){return St(St(t,e[n-1]),St(e[n+0],e[n+1]))},function(t,e,n){return Math.abs((t>>24&255)-(e[n-1]>>24&255))-Math.abs((e[n+0]>>24&255)-(e[n-1]>>24&255))+(Math.abs((t>>16&255)-(e[n-1]>>16&255))-Math.abs((e[n+0]>>16&255)-(e[n-1]>>16&255)))+(Math.abs((t>>8&255)-(e[n-1]>>8&255))-Math.abs((e[n+0]>>8&255)-(e[n-1]>>8&255)))+(Math.abs((255&t)-(255&e[n-1]))-Math.abs((255&e[n+0])-(255&e[n-1])))<=0?e[n+0]:t},function(t,e,n){return(Bt((t>>24&255)+(e[n+0]>>24&255)-(e[n-1]>>24&255))<<24|Bt((t>>16&255)+(e[n+0]>>16&255)-(e[n-1]>>16&255))<<16|Bt((t>>8&255)+(e[n+0]>>8&255)-(e[n-1]>>8&255))<<8|Bt((255&t)+(255&e[n+0])-(255&e[n-1])))>>>0},function(t,e,n){const a=e[n-1];return(Tt((t=St(t,e[n+0]))>>24&255,a>>24&255)<<24|Tt(t>>16&255,a>>16&255)<<16|Tt(t>>8&255,a>>8&255)<<8|Tt(t>>0&255,a>>0&255))>>>0},Rt,Rt],Ar={Cc:0,Bc:0,Kc:0},Er=16,xr=16,Ur=16,Sr=[2,3,7],Br=[3,3,11],Tr=0,Rr=1,zr=2,Or=3,Nr=4,Pr=[gn+vn,gn,gn,gn,40],Ir=19,Cr=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Dr=120,Lr=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Mr=1<>1)+7),s=new Uint8Array(i>>3<<3);for(;n=55296&&e<=56319){if(n=55296&&e<=56319)continue}if(r+4>s.length){i+=8,i*=1+n/t.length*2,i=i>>3<<3;const e=new Uint8Array(i);e.set(s),s=e}if(0!=(4294967168&e)){if(0==(4294965248&e))s[r++]=e>>6&31|192;else if(0==(4294901760&e))s[r++]=e>>12&15|224,s[r++]=e>>6&63|128;else{if(0!=(4292870144&e))continue;s[r++]=e>>18&7|240,s[r++]=e>>12&63|128,s[r++]=e>>6&63|128}s[r++]=63&e|128}else s[r++]=e}return s.slice(0,r)},Object.defineProperty(n.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(n.prototype,"fatal",{value:!1}),Object.defineProperty(n.prototype,"ignoreBOM",{value:!1}),n.prototype.decode=function(t,e={stream:!1}){if(e.stream)throw new Error("Failed to decode: the 'stream' option is unsupported.");const n=new Uint8Array(t);let a=0;const r=n.length,i=[];for(;a65535&&(e-=65536,i.push(e>>>10&1023|55296),e=56320|1023&e),i.push(e)}}return String.fromCharCode.apply(null,i)},t.TextEncoder=e,t.TextDecoder=n}("undefined"!=typeof window?window:"undefined"!=typeof self?self:this)},function(t,e,n){"use strict";var a=n(13),r=n(0),i=n(5),s=n(2),o=n(6),f=Object.prototype.toString;function h(t){if(!(this instanceof h))return new h(t);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var n=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==n)throw new Error(s[n]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var l;if(l="string"==typeof e.dictionary?i.string2buf(e.dictionary):"[object ArrayBuffer]"===f.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(n=a.deflateSetDictionary(this.strm,l)))throw new Error(s[n]);this._dict_set=!0}}function l(t,e){var n=new h(e);if(n.push(t,!0),n.err)throw n.msg||s[n.err];return n.result}h.prototype.push=function(t,e){var n,s,o=this.strm,h=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=i.string2buf(t):"[object ArrayBuffer]"===f.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new r.Buf8(h),o.next_out=0,o.avail_out=h),1!==(n=a.deflate(o,s))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(i.buf2binstring(r.shrinkBuf(o.output,o.next_out))):this.onData(r.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===s?(n=a.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==s||(this.onEnd(0),o.avail_out=0,!0)},h.prototype.onData=function(t){this.chunks.push(t)},h.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=h,e.deflate=l,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,l(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,l(t,e)}},function(t,e,n){"use strict";var a,r=n(0),i=n(14),s=n(3),o=n(4),f=n(2);function h(t,e){return t.msg=f[e],e}function l(t){return(t<<1)-(t>4?9:0)}function c(t){for(var e=t.length;--e>=0;)t[e]=0}function u(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(r.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function d(t,e){i._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,u(t.strm)}function b(t,e){t.pending_buf[t.pending++]=e}function _(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function p(t,e){var n,a,r=t.max_chain_length,i=t.strstart,s=t.prev_length,o=t.nice_match,f=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,h=t.window,l=t.w_mask,c=t.prev,u=t.strstart+258,d=h[i+s-1],b=h[i+s];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do{if(h[(n=e)+s]===b&&h[n+s-1]===d&&h[n]===h[i]&&h[++n]===h[i+1]){i+=2,n++;do{}while(h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&h[++i]===h[++n]&&is){if(t.match_start=e,s=a,a>=o)break;d=h[i+s-1],b=h[i+s]}}}while((e=c[e&l])>f&&0!=--r);return s<=t.lookahead?s:t.lookahead}function w(t){var e,n,a,i,f,h,l,c,u,d,b=t.w_size;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=b+(b-262)){r.arraySet(t.window,t.window,b,b,0),t.match_start-=b,t.strstart-=b,t.block_start-=b,e=n=t.hash_size;do{a=t.head[--e],t.head[e]=a>=b?a-b:0}while(--n);e=n=b;do{a=t.prev[--e],t.prev[e]=a>=b?a-b:0}while(--n);i+=b}if(0===t.strm.avail_in)break;if(h=t.strm,l=t.window,c=t.strstart+t.lookahead,u=i,d=void 0,(d=h.avail_in)>u&&(d=u),n=0===d?0:(h.avail_in-=d,r.arraySet(l,h.input,h.next_in,d,c),1===h.state.wrap?h.adler=s(h.adler,l,d,c):2===h.state.wrap&&(h.adler=o(h.adler,l,d,c)),h.next_in+=d,h.total_in+=d,d),t.lookahead+=n,t.lookahead+t.insert>=3)for(f=t.strstart-t.insert,t.ins_h=t.window[f],t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<=3)if(a=i._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,a=i._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=(t.ins_h<15&&(o=2,a-=16),i<1||i>9||8!==n||a<8||a>15||e<0||e>9||s<0||s>4)return h(t,-2);8===a&&(a=9);var f=new k;return t.state=f,f.strm=t,f.wrap=o,f.gzhead=null,f.w_bits=a,f.w_size=1<t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(w(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var a=t.block_start+n;if((0===t.strstart||t.strstart>=a)&&(t.lookahead=t.strstart-a,t.strstart=a,d(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(d(t,!1),t.strm.avail_out),1)})),new m(4,4,8,4,g),new m(4,5,16,8,g),new m(4,6,32,32,g),new m(4,4,16,16,v),new m(8,16,32,32,v),new m(8,16,128,128,v),new m(8,32,128,256,v),new m(32,128,258,1024,v),new m(32,258,258,4096,v)],e.deflateInit=function(t,e){return E(t,e,8,15,8,0)},e.deflateInit2=E,e.deflateReset=A,e.deflateResetKeep=y,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?-2:(t.state.gzhead=e,0):-2},e.deflate=function(t,e){var n,r,s,f;if(!t||!t.state||e>5||e<0)return t?h(t,-2):-2;if(r=t.state,!t.output||!t.input&&0!==t.avail_in||666===r.status&&4!==e)return h(t,0===t.avail_out?-5:-2);if(r.strm=t,n=r.last_flush,r.last_flush=e,42===r.status)if(2===r.wrap)t.adler=0,b(r,31),b(r,139),b(r,8),r.gzhead?(b(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),b(r,255&r.gzhead.time),b(r,r.gzhead.time>>8&255),b(r,r.gzhead.time>>16&255),b(r,r.gzhead.time>>24&255),b(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),b(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(b(r,255&r.gzhead.extra.length),b(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=o(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(b(r,0),b(r,0),b(r,0),b(r,0),b(r,0),b(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),b(r,3),r.status=113);else{var p=8+(r.w_bits-8<<4)<<8;p|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(p|=32),p+=31-p%31,r.status=113,_(r,p),0!==r.strstart&&(_(r,t.adler>>>16),_(r,65535&t.adler)),t.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending!==r.pending_buf_size));)b(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending===r.pending_buf_size)){f=1;break}f=r.gzindexs&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),0===f&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),u(t),s=r.pending,r.pending===r.pending_buf_size)){f=1;break}f=r.gzindexs&&(t.adler=o(t.adler,r.pending_buf,r.pending-s,s)),0===f&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&u(t),r.pending+2<=r.pending_buf_size&&(b(r,255&t.adler),b(r,t.adler>>8&255),t.adler=0,r.status=113)):r.status=113),0!==r.pending){if(u(t),0===t.avail_out)return r.last_flush=-1,0}else if(0===t.avail_in&&l(e)<=l(n)&&4!==e)return h(t,-5);if(666===r.status&&0!==t.avail_in)return h(t,-5);if(0!==t.avail_in||0!==r.lookahead||0!==e&&666!==r.status){var g=2===r.strategy?function(t,e){for(var n;;){if(0===t.lookahead&&(w(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,n=i._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(d(t,!1),0===t.strm.avail_out)?1:2}(r,e):3===r.strategy?function(t,e){for(var n,a,r,s,o=t.window;;){if(t.lookahead<=258){if(w(t),t.lookahead<=258&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=o[r=t.strstart-1])===o[++r]&&a===o[++r]&&a===o[++r]){s=t.strstart+258;do{}while(a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&a===o[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=i._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=i._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(d(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(d(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(d(t,!1),0===t.strm.avail_out)?1:2}(r,e):a[r.level].func(r,e);if(3!==g&&4!==g||(r.status=666),1===g||3===g)return 0===t.avail_out&&(r.last_flush=-1),0;if(2===g&&(1===e?i._tr_align(r):5!==e&&(i._tr_stored_block(r,0,0,!1),3===e&&(c(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),u(t),0===t.avail_out))return r.last_flush=-1,0}return 4!==e?0:r.wrap<=0?1:(2===r.wrap?(b(r,255&t.adler),b(r,t.adler>>8&255),b(r,t.adler>>16&255),b(r,t.adler>>24&255),b(r,255&t.total_in),b(r,t.total_in>>8&255),b(r,t.total_in>>16&255),b(r,t.total_in>>24&255)):(_(r,t.adler>>>16),_(r,65535&t.adler)),u(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?h(t,-2):(t.state=null,113===e?h(t,-3):0):-2},e.deflateSetDictionary=function(t,e){var n,a,i,o,f,h,l,u,d=e.length;if(!t||!t.state)return-2;if(2===(o=(n=t.state).wrap)||1===o&&42!==n.status||n.lookahead)return-2;for(1===o&&(t.adler=s(t.adler,e,d,0)),n.wrap=0,d>=n.w_size&&(0===o&&(c(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new r.Buf8(n.w_size),r.arraySet(u,e,d-n.w_size,n.w_size,0),e=u,d=n.w_size),f=t.avail_in,h=t.next_in,l=t.input,t.avail_in=d,t.next_in=0,t.input=e,w(n);n.lookahead>=3;){a=n.strstart,i=n.lookahead-2;do{n.ins_h=(n.ins_h<=0;)t[e]=0}var i=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],s=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);r(h);var l=new Array(60);r(l);var c=new Array(512);r(c);var u=new Array(256);r(u);var d=new Array(29);r(d);var b,_,p,w=new Array(30);function g(t,e,n,a,r){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=a,this.max_length=r,this.has_stree=t&&t.length}function v(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function m(t){return t<256?c[t]:c[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function y(t,e,n){t.bi_valid>16-n?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function x(t,e,n){var a,r,i=new Array(16),s=0;for(a=1;a<=15;a++)i[a]=s=s+n[a-1]<<1;for(r=0;r<=e;r++){var o=t[2*r+1];0!==o&&(t[2*r]=E(i[o]++,o))}}function U(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function S(t){t.bi_valid>8?k(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function B(t,e,n,a){var r=2*e,i=2*n;return t[r]>1;n>=1;n--)T(t,i,n);r=f;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],T(t,i,1),a=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=a,i[2*r]=i[2*n]+i[2*a],t.depth[r]=(t.depth[n]>=t.depth[a]?t.depth[n]:t.depth[a])+1,i[2*n+1]=i[2*a+1]=r,t.heap[1]=r++,T(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,a,r,i,s,o,f=e.dyn_tree,h=e.max_code,l=e.stat_desc.static_tree,c=e.stat_desc.has_stree,u=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,b=e.stat_desc.max_length,_=0;for(i=0;i<=15;i++)t.bl_count[i]=0;for(f[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;n<573;n++)(i=f[2*f[2*(a=t.heap[n])+1]+1]+1)>b&&(i=b,_++),f[2*a+1]=i,a>h||(t.bl_count[i]++,s=0,a>=d&&(s=u[a-d]),o=f[2*a],t.opt_len+=o*(i+s),c&&(t.static_len+=o*(l[2*a+1]+s)));if(0!==_){do{for(i=b-1;0===t.bl_count[i];)i--;t.bl_count[i]--,t.bl_count[i+1]+=2,t.bl_count[b]--,_-=2}while(_>0);for(i=b;0!==i;i--)for(a=t.bl_count[i];0!==a;)(r=t.heap[--n])>h||(f[2*r+1]!==i&&(t.opt_len+=(i-f[2*r+1])*f[2*r],f[2*r+1]=i),a--)}}(t,e),x(i,h,t.bl_count)}function O(t,e,n){var a,r,i=-1,s=e[1],o=0,f=7,h=4;for(0===s&&(f=138,h=3),e[2*(n+1)+1]=65535,a=0;a<=n;a++)r=s,s=e[2*(a+1)+1],++o>=7;a<30;a++)for(w[a]=r<<7,t=0;t<1<0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),z(t,t.l_desc),z(t,t.d_desc),s=function(t){var e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),z(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*f[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),r=t.opt_len+3+7>>>3,(i=t.static_len+3+7>>>3)<=r&&(r=i)):r=i=n+5,n+4<=r&&-1!==e?I(t,e,n,a):4===t.strategy||i===r?(y(t,2+(a?1:0),3),R(t,h,l)):(y(t,4+(a?1:0),3),function(t,e,n,a){var r;for(y(t,e-257,5),y(t,n-1,5),y(t,a-4,4),r=0;r>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(u[n]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){y(t,2,3),A(t,256,h),function(t){16===t.bi_valid?(k(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},function(t,e,n){"use strict";var a=n(16),r=n(0),i=n(5),s=n(7),o=n(2),f=n(6),h=n(19),l=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var n=a.inflateInit2(this.strm,e.windowBits);if(n!==s.Z_OK)throw new Error(o[n]);if(this.header=new h,a.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=i.string2buf(e.dictionary):"[object ArrayBuffer]"===l.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=a.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[n])}function u(t,e){var n=new c(e);if(n.push(t,!0),n.err)throw n.msg||o[n.err];return n.result}c.prototype.push=function(t,e){var n,o,f,h,c,u=this.strm,d=this.options.chunkSize,b=this.options.dictionary,_=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?u.input=i.binstring2buf(t):"[object ArrayBuffer]"===l.call(t)?u.input=new Uint8Array(t):u.input=t,u.next_in=0,u.avail_in=u.input.length;do{if(0===u.avail_out&&(u.output=new r.Buf8(d),u.next_out=0,u.avail_out=d),(n=a.inflate(u,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&b&&(n=a.inflateSetDictionary(this.strm,b)),n===s.Z_BUF_ERROR&&!0===_&&(n=s.Z_OK,_=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),this.ended=!0,!1;u.next_out&&(0!==u.avail_out&&n!==s.Z_STREAM_END&&(0!==u.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(f=i.utf8border(u.output,u.next_out),h=u.next_out-f,c=i.buf2string(u.output,f),u.next_out=h,u.avail_out=d-h,h&&r.arraySet(u.output,u.output,f,h,0),this.onData(c)):this.onData(r.shrinkBuf(u.output,u.next_out)))),0===u.avail_in&&0===u.avail_out&&(_=!0)}while((u.avail_in>0||0===u.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(n=a.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),u.avail_out=0,!0)},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=c,e.inflate=u,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,u(t,e)},e.ungzip=u},function(t,e,n){"use strict";var a=n(0),r=n(3),i=n(4),s=n(17),o=n(18);function f(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function h(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function l(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new a.Buf32(852),e.distcode=e.distdyn=new a.Buf32(592),e.sane=1,e.back=-1,0):-2}function c(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,l(t)):-2}function u(t,e){var n,a;return t&&t.state?(a=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?-2:(null!==a.window&&a.wbits!==e&&(a.window=null),a.wrap=n,a.wbits=e,c(t))):-2}function d(t,e){var n,a;return t?(a=new h,t.state=a,a.window=null,0!==(n=u(t,e))&&(t.state=null),n):-2}var b,_,p=!0;function w(t){if(p){var e;for(b=new a.Buf32(512),_=new a.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,b,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,_,0,t.work,{bits:5}),p=!1}t.lencode=b,t.lenbits=9,t.distcode=_,t.distbits=5}function g(t,e,n,r){var i,s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(a.arraySet(s.window,e,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((i=s.wsize-s.wnext)>r&&(i=r),a.arraySet(s.window,e,n-r,i,s.wnext),(r-=i)?(a.arraySet(s.window,e,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,n.check=i(n.check,I,2,0),_=0,p=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",n.mode=30;break}if(8!=(15&_)){t.msg="unknown compression method",n.mode=30;break}if(p-=4,R=8+(15&(_>>>=4)),0===n.wbits)n.wbits=R;else if(R>n.wbits){t.msg="invalid window size",n.mode=30;break}n.dmax=1<>8&1),512&n.flags&&(I[0]=255&_,I[1]=_>>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0,n.mode=3;case 3:for(;p<32;){if(0===d)break t;d--,_+=h[c++]<>>8&255,I[2]=_>>>16&255,I[3]=_>>>24&255,n.check=i(n.check,I,4,0)),_=0,p=0,n.mode=4;case 4:for(;p<16;){if(0===d)break t;d--,_+=h[c++]<>8),512&n.flags&&(I[0]=255&_,I[1]=_>>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0,n.mode=5;case 5:if(1024&n.flags){for(;p<16;){if(0===d)break t;d--,_+=h[c++]<>>8&255,n.check=i(n.check,I,2,0)),_=0,p=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((k=n.length)>d&&(k=d),k&&(n.head&&(R=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),a.arraySet(n.head.extra,h,c,k,R)),512&n.flags&&(n.check=i(n.check,h,k,c)),d-=k,c+=k,n.length-=k),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===d)break t;k=0;do{R=h[c+k++],n.head&&R&&n.length<65536&&(n.head.name+=String.fromCharCode(R))}while(R&&k>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=12;break;case 10:for(;p<32;){if(0===d)break t;d--,_+=h[c++]<>>=7&p,p-=7&p,n.mode=27;break}for(;p<3;){if(0===d)break t;d--,_+=h[c++]<>>=1)){case 0:n.mode=14;break;case 1:if(w(n),n.mode=20,6===e){_>>>=2,p-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=30}_>>>=2,p-=2;break;case 14:for(_>>>=7&p,p-=7&p;p<32;){if(0===d)break t;d--,_+=h[c++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&_,_=0,p=0,n.mode=15,6===e)break t;case 15:n.mode=16;case 16:if(k=n.length){if(k>d&&(k=d),k>b&&(k=b),0===k)break t;a.arraySet(l,h,c,k,u),d-=k,c+=k,b-=k,u+=k,n.length-=k;break}n.mode=12;break;case 17:for(;p<14;){if(0===d)break t;d--,_+=h[c++]<>>=5,p-=5,n.ndist=1+(31&_),_>>>=5,p-=5,n.ncode=4+(15&_),_>>>=4,p-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,p-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},z=o(0,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,z){t.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=E,p-=E,n.lens[n.have++]=U;else{if(16===U){for(N=E+2;p>>=E,p-=E,0===n.have){t.msg="invalid bit length repeat",n.mode=30;break}R=n.lens[n.have-1],k=3+(3&_),_>>>=2,p-=2}else if(17===U){for(N=E+3;p>>=E)),_>>>=3,p-=3}else{for(N=E+7;p>>=E)),_>>>=7,p-=7}if(n.have+k>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=30;break}for(;k--;)n.lens[n.have++]=R}}if(30===n.mode)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,O={bits:n.lenbits},z=o(1,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,z){t.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},z=o(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,z){t.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===e)break t;case 20:n.mode=21;case 21:if(d>=6&&b>=258){t.next_out=u,t.avail_out=b,t.next_in=c,t.avail_in=d,n.hold=_,n.bits=p,s(t,m),u=t.next_out,l=t.output,b=t.avail_out,c=t.next_in,h=t.input,d=t.avail_in,_=n.hold,p=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;x=(P=n.lencode[_&(1<>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>S)])>>>16&255,U=65535&P,!(S+(E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=S,p-=S,n.back+=S}if(_>>>=E,p-=E,n.back+=E,n.length=U,0===x){n.mode=26;break}if(32&x){n.back=-1,n.mode=12;break}if(64&x){t.msg="invalid literal/length code",n.mode=30;break}n.extra=15&x,n.mode=22;case 22:if(n.extra){for(N=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;x=(P=n.distcode[_&(1<>>16&255,U=65535&P,!((E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>S)])>>>16&255,U=65535&P,!(S+(E=P>>>24)<=p);){if(0===d)break t;d--,_+=h[c++]<>>=S,p-=S,n.back+=S}if(_>>>=E,p-=E,n.back+=E,64&x){t.msg="invalid distance code",n.mode=30;break}n.offset=U,n.extra=15&x,n.mode=24;case 24:if(n.extra){for(N=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===b)break t;if(k=m-b,n.offset>k){if((k=n.offset-k)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=30;break}k>n.wnext?(k-=n.wnext,y=n.wsize-k):y=n.wnext-k,k>n.length&&(k=n.length),A=n.window}else A=l,y=u-n.offset,k=n.length;k>b&&(k=b),b-=k,n.length-=k;do{l[u++]=A[y++]}while(--k);0===n.length&&(n.mode=21);break;case 26:if(0===b)break t;l[u++]=n.length,b--,n.mode=21;break;case 27:if(n.wrap){for(;p<32;){if(0===d)break t;d--,_|=h[c++]<>>=m=v>>>24,b-=m,0===(m=v>>>16&255))U[i++]=65535&v;else{if(!(16&m)){if(0==(64&m)){v=_[(65535&v)+(d&(1<>>=m,b-=m),b<15&&(d+=x[a++]<>>=m=v>>>24,b-=m,!(16&(m=v>>>16&255))){if(0==(64&m)){v=p[(65535&v)+(d&(1<f){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=m,b-=m,y>(m=i-s)){if((m=y-m)>l&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(A=0,E=u,0===c){if(A+=h-m,m2;)U[i++]=E[A++],U[i++]=E[A++],U[i++]=E[A++],k-=3;k&&(U[i++]=E[A++],k>1&&(U[i++]=E[A++]))}else{A=i-y;do{U[i++]=U[A++],U[i++]=U[A++],U[i++]=U[A++],k-=3}while(k>2);k&&(U[i++]=U[A++],k>1&&(U[i++]=U[A++]))}break}}break}}while(a>3,d&=(1<<(b-=k<<3))-1,t.next_in=a,t.next_out=i,t.avail_in=a=1&&0===I[U];U--);if(S>U&&(S=U),0===U)return h[l++]=20971520,h[l++]=20971520,u.bits=1,0;for(x=1;x0&&(0===t||1!==U))return-1;for(C[1]=0,A=1;A<15;A++)C[A+1]=C[A]+I[A];for(E=0;E852||2===t&&z>592)return 1;for(;;){v=A-T,c[E]g?(m=D[L+c[E]],k=N[P+c[E]]):(m=96,k=0),d=1<>T)+(b-=d)]=v<<24|m<<16|k|0}while(0!==b);for(d=1<>=1;if(0!==d?(O&=d-1,O+=d):O=0,E++,0==--I[A]){if(A===U)break;A=e[n+c[E]]}if(A>S&&(O&p)!==_){for(0===T&&(T=S),w+=x,R=1<<(B=A-T);B+T852||2===t&&z>592)return 1;h[_=O&p]=S<<24|B<<16|w-l|0}}return 0!==O&&(h[w+O]=A-T<<24|64<<16|0),u.bits=S,0}},function(t,e,n){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(t,e,n){"use strict";n.r(e),n.d(e,"ResolutionUnitSpecifier",(function(){return T})),n.d(e,"decode",(function(){return R})),n.d(e,"encode",(function(){return z}));n(11);const a=new TextDecoder("utf-8");const r=new TextEncoder;class i{constructor(t=8192,e={}){let n=!1;"number"==typeof t?t=new ArrayBuffer(t):(n=!0,this.lastWrittenByte=t.byteLength);const a=e.offset?e.offset>>>0:0,r=t.byteLength-a;let s=a;(ArrayBuffer.isView(t)||t instanceof i)&&(t.byteLength!==t.buffer.byteLength&&(s=t.byteOffset+a),t=t.buffer),this.lastWrittenByte=n?r:0,this.buffer=t,this.length=r,this.byteLength=r,this.byteOffset=s,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,s,r),this._mark=0,this._marks=[]}available(t=1){return this.offset+t<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(t=1){return this.offset+=t,this}seek(t){return this.offset=t,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const t=this._marks.pop();if(void 0===t)throw new Error("Mark stack empty");return this.seek(t),this}rewind(){return this.offset=0,this}ensureAvailable(t=1){if(!this.available(t)){const e=2*(this.offset+t),n=new Uint8Array(e);n.set(new Uint8Array(this.buffer)),this.buffer=n.buffer,this.length=this.byteLength=e,this._data=new DataView(this.buffer)}return this}readBoolean(){return 0!==this.readUint8()}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(t=1){const e=new Uint8Array(t);for(let n=0;nthis.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}var s=n(1);const o=[137,80,78,71,13,10,26,10],f=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;f[t]=e}function h(t,e){return(4294967295^function(t,e,n){let a=t;for(let t=0;t>>8;return a}(4294967295,t,e))>>>0}var l,c,u,d;!function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.GREYSCALE=0]="GREYSCALE",t[t.TRUECOLOUR=2]="TRUECOLOUR",t[t.INDEXED_COLOUR=3]="INDEXED_COLOUR",t[t.GREYSCALE_ALPHA=4]="GREYSCALE_ALPHA",t[t.TRUECOLOUR_ALPHA=6]="TRUECOLOUR_ALPHA"}(l||(l={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.DEFLATE=0]="DEFLATE"}(c||(c={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.ADAPTIVE=0]="ADAPTIVE"}(u||(u={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.NO_INTERLACE=0]="NO_INTERLACE",t[t.ADAM7=1]="ADAM7"}(d||(d={}));const b=new Uint8Array(0),_=new Uint16Array([255]),p=255===new Uint8Array(_.buffer)[0];class w extends i{constructor(t,e={}){super(t);const{checkCrc:n=!1}=e;this._checkCrc=n,this._inflator=new s.Inflate,this._png={width:-1,height:-1,channels:-1,data:new Uint8Array(0),depth:1,text:{}},this._end=!1,this._hasPalette=!1,this._palette=[],this._compressionMethod=c.UNKNOWN,this._filterMethod=u.UNKNOWN,this._interlaceMethod=d.UNKNOWN,this._colorType=-1,this.setBigEndian()}decode(){for(this.decodeSignature();!this._end;)this.decodeChunk();return this.decodeImage(),this._png}decodeSignature(){for(let t=0;tthis._palette.length)throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${t} vs ${this._palette.length})`);let e=0;for(;e>8&255;this._png.data=t}else this._png.data=r;var h}}function g(t,e,n){for(let a=0;a>1)&255}else{for(;i>1)&255;for(;i>1)&255}}function y(t,e,n,a,r){let i=0;if(0===n.length){for(;i0)return t;throw new TypeError(e+" must be a positive integer")}function S(t,e,n,a){for(let r=0;rs&&(s=h),r++%t==0&&(ol&&(e[i]=l);var c=5*this.resultSamples/8+1,m=new Uint8Array(Math.floor(c));for(i=0;i1){for(var a=r.getUint8(s+26,!0),f=s+27+a,h=0;h0){var l=this.HEAPF32.subarray(this.decoderOutputPointer>>2,(this.decoderOutputPointer>>2)+this.decoderOutputMaxLength);this.waveformGenerator.saveSamples(this.decoderOutputMaxLength,l)}var c=Math.ceil(d*this.config.outputBufferSampleRate/this.config.decoderSampleRate);this.HEAP32[this.decoderOutputLengthPointer>>2]=d,this.HEAP32[this.resampleOutputLengthPointer>>2]=c,this._speex_resampler_process_interleaved_float(this.resampler,this.decoderOutputPointer,this.decoderOutputLengthPointer,this.resampleOutputBufferPointer,this.resampleOutputLengthPointer),this.sendToOutputBuffers(this.HEAPF32.subarray(this.resampleOutputBufferPointer>>2,(this.resampleOutputBufferPointer>>2)+c*this.numberOfChannels)),this.decoderBufferIndex=0}}(4&u||o==i)&&this.sendLastBuffer()}},this)},i.prototype.getPageBoundaries=function(e){for(var t=[],r=0;r1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":14,"maximum":14,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280704,DYNAMICTOP_PTR=37616;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="decoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"j":___wasi_fd_close,"i":___wasi_fd_seek,"h":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"g":_abort,"d":_emscripten_get_heap_size,"f":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["k"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["l"].apply(null,arguments)};var _opus_decode_float=Module["_opus_decode_float"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _opus_decoder_create=Module["_opus_decoder_create"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_decoder_destroy=Module["_opus_decoder_destroy"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["r"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["s"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["t"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t4/decoderWorker.min.wasm b/public/t4/decoderWorker.min.wasm new file mode 100644 index 00000000..1e905189 Binary files /dev/null and b/public/t4/decoderWorker.min.wasm differ diff --git a/public/t4/encoderWorker.min.js b/public/t4/encoderWorker.min.js new file mode 100644 index 00000000..101f2415 --- /dev/null +++ b/public/t4/encoderWorker.min.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.EncoderWorker=t():e.EncoderWorker=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var r=t[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(s,r,function(t){return e[t]}.bind(null,r));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";(function(t){var n,s,r=new Promise(function(e){s=e});t.onmessage=function(e){r.then(function(){switch(e.data.command){case"encode":n&&n.encode(e.data.buffers);break;case"getHeaderPages":n&&(n.generateIdPage(),n.generateCommentPage());break;case"done":n&&(n.encodeFinalFrame(),t.postMessage({message:"done"}));break;case"close":t.close();break;case"flush":n&&n.flush();break;case"init":n&&n.destroy(),n=new i(e.data,Module),t.postMessage({message:"ready"})}})};var i=function(e,t){if(!t)throw new Error("Module with exports required to initialize an encoder instance");this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderSampleRate:48e3,maxFramesPerPage:40,numberOfChannels:1,originalSampleRate:44100,resampleQuality:3,serial:Math.floor(4294967296*Math.random())},e),this._opus_encoder_create=t._opus_encoder_create,this._opus_encoder_destroy=t._opus_encoder_destroy,this._opus_encoder_ctl=t._opus_encoder_ctl,this._speex_resampler_process_interleaved_float=t._speex_resampler_process_interleaved_float,this._speex_resampler_init=t._speex_resampler_init,this._speex_resampler_destroy=t._speex_resampler_destroy,this._opus_encode_float=t._opus_encode_float,this._free=t._free,this._malloc=t._malloc,this.HEAPU8=t.HEAPU8,this.HEAP32=t.HEAP32,this.HEAPF32=t.HEAPF32,this.pageIndex=0,this.granulePosition=0,this.segmentData=new Uint8Array(65025),this.segmentDataIndex=0,this.segmentTable=new Uint8Array(255),this.segmentTableIndex=0,this.framesInPage=0,this.initChecksumTable(),this.initCodec(),this.initResampler(),1===this.config.numberOfChannels?this.interleave=function(e){return e[0]}:this.interleavedBuffers=new Float32Array(this.config.bufferLength*this.config.numberOfChannels)};i.prototype.encode=function(e){for(var t=this.interleave(e),n=0;n=this.config.maxFramesPerPage&&this.generatePage()}}},i.prototype.destroy=function(){this.encoder&&(this._free(this.encoderSamplesPerChannelPointer),delete this.encoderSamplesPerChannelPointer,this._free(this.encoderBufferPointer),delete this.encoderBufferPointer,this._free(this.encoderOutputPointer),delete this.encoderOutputPointer,this._free(this.resampleSamplesPerChannelPointer),delete this.resampleSamplesPerChannelPointer,this._free(this.resampleBufferPointer),delete this.resampleBufferPointer,this._speex_resampler_destroy(this.resampler),delete this.resampler,this._opus_encoder_destroy(this.encoder),delete this.encoder)},i.prototype.flush=function(){this.framesInPage&&this.generatePage(),this.resampleBufferIndex=0,t.postMessage({message:"flushed"})},i.prototype.encodeFinalFrame=function(){if(this.resampleBufferIndex>0){for(var e=[],t=0;t>>24&255^e[n]];return t>>>0},i.prototype.generateCommentPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1936154964,!0),e.setUint32(8,10,!0),e.setUint32(12,1868784978,!0),e.setUint32(16,1919247474,!0),e.setUint16(20,21322,!0),e.setUint32(22,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=26,this.headerType=0,this.generatePage()},i.prototype.generateIdPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1684104520,!0),e.setUint8(8,1,!0),e.setUint8(9,this.config.numberOfChannels,!0),e.setUint16(10,3840,!0),e.setUint32(12,this.config.originalSampleRateOverride||this.config.originalSampleRate,!0),e.setUint16(16,0,!0),e.setUint8(18,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=19,this.headerType=2,this.generatePage()},i.prototype.generatePage=function(){var e=this.lastPositiveGranulePosition===this.granulePosition?-1:this.granulePosition,n=new ArrayBuffer(27+this.segmentTableIndex+this.segmentDataIndex),s=new DataView(n),r=new Uint8Array(n);s.setUint32(0,1399285583,!0),s.setUint8(4,0,!0),s.setUint8(5,this.headerType,!0),s.setUint32(6,e,!0),e<0?s.setInt32(10,Math.ceil(e/4294967297)-1,!0):s.setInt32(10,Math.floor(e/4294967296),!0),s.setUint32(14,this.config.serial,!0),s.setUint32(18,this.pageIndex++,!0),s.setUint8(26,this.segmentTableIndex,!0),r.set(this.segmentTable.subarray(0,this.segmentTableIndex),27),r.set(this.segmentData.subarray(0,this.segmentDataIndex),27+this.segmentTableIndex),s.setUint32(22,this.getChecksum(r),!0),t.postMessage({message:"page",page:r,samplePosition:this.granulePosition},[r.buffer]),this.segmentTableIndex=0,this.segmentDataIndex=0,this.framesInPage=0,e>0&&(this.lastPositiveGranulePosition=e)},i.prototype.initChecksumTable=function(){this.checksumTable=[];for(var e=0;e<256;e++){for(var t=e<<24,n=0;n<8;n++)t=0!=(2147483648&t)?t<<1^79764919:t<<1;this.checksumTable[e]=4294967295&t}},i.prototype.setOpusControl=function(e,t){var n=this._malloc(4);this.HEAP32[n>>2]=t,this._opus_encoder_ctl(this.encoder,e,n),this._free(n)},i.prototype.initCodec=function(){var e=this._malloc(4);this.encoder=this._opus_encoder_create(this.config.encoderSampleRate,this.config.numberOfChannels,this.config.encoderApplication,e),this._free(e),this.config.encoderBitRate&&this.setOpusControl(4002,this.config.encoderBitRate),this.config.encoderComplexity&&this.setOpusControl(4010,this.config.encoderComplexity),this.encoderSamplesPerChannel=this.config.encoderSampleRate*this.config.encoderFrameSize/1e3,this.encoderSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.encoderSamplesPerChannelPointer>>2]=this.encoderSamplesPerChannel,this.encoderBufferLength=this.encoderSamplesPerChannel*this.config.numberOfChannels,this.encoderBufferPointer=this._malloc(4*this.encoderBufferLength),this.encoderBuffer=this.HEAPF32.subarray(this.encoderBufferPointer>>2,(this.encoderBufferPointer>>2)+this.encoderBufferLength),this.encoderOutputMaxLength=4e3,this.encoderOutputPointer=this._malloc(this.encoderOutputMaxLength),this.encoderOutputBuffer=this.HEAPU8.subarray(this.encoderOutputPointer,this.encoderOutputPointer+this.encoderOutputMaxLength)},i.prototype.initResampler=function(){var e=this._malloc(4);this.resampler=this._speex_resampler_init(this.config.numberOfChannels,this.config.originalSampleRate,this.config.encoderSampleRate,this.config.resampleQuality,e),this._free(e),this.resampleBufferIndex=0,this.resampleSamplesPerChannel=this.config.originalSampleRate*this.config.encoderFrameSize/1e3,this.resampleSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.resampleSamplesPerChannelPointer>>2]=this.resampleSamplesPerChannel,this.resampleBufferLength=this.resampleSamplesPerChannel*this.config.numberOfChannels,this.resampleBufferPointer=this._malloc(4*this.resampleBufferLength),this.resampleBuffer=this.HEAPF32.subarray(this.resampleBufferPointer>>2,(this.resampleBufferPointer>>2)+this.resampleBufferLength)},i.prototype.interleave=function(e){for(var t=0;t=0;){255===this.segmentTableIndex&&(this.generatePage(),this.headerType=1);var n=Math.min(e,255);this.segmentTable[this.segmentTableIndex++]=n,this.segmentData.set(this.encoderOutputBuffer.subarray(t,t+n),this.segmentDataIndex),this.segmentDataIndex+=n,t+=n,e-=255}this.granulePosition+=48*this.config.encoderFrameSize,255===this.segmentTableIndex&&(this.generatePage(),this.headerType=0)},Module||(Module={}),Module.mainReady=r,Module.OggOpusEncoder=i,Module.onRuntimeInitialized=s,e.exports=Module}).call(this,n(1))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":16,"maximum":16,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5289600,DYNAMICTOP_PTR=46512;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="encoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(a0){return _llvm_log10_f32(a0)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"l":___wasi_fd_close,"k":___wasi_fd_seek,"j":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"i":_abort,"d":_emscripten_get_heap_size,"h":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"g":_llvm_exp2_f64,"f":_llvm_log10_f64,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_encode_float=Module["_opus_encode_float"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _opus_encoder_create=Module["_opus_encoder_create"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=function(){return Module["asm"]["r"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["s"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["t"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["u"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["v"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["w"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t4/encoderWorker.min.wasm b/public/t4/encoderWorker.min.wasm new file mode 100644 index 00000000..c61f179c Binary files /dev/null and b/public/t4/encoderWorker.min.wasm differ diff --git a/public/t4/main.bundle.js b/public/t4/main.bundle.js new file mode 100644 index 00000000..283c3f40 --- /dev/null +++ b/public/t4/main.bundle.js @@ -0,0 +1,19 @@ +!function(e){function t(t){for(var i,o,r=t[0],d=t[1],f=t[2],c=0,u=[];c + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.positionElementByIndex=t.getFileURL=t.getEmojiToneIndex=t.calcImageInBox=t.fillPropertyValue=t.encodeEntities=t.escapeRegExp=t.listMergeSorted=t.deepEqual=t.formatNumber=t.formatBytes=t.copy=t.whichChild=t.getObjectKeysAndSort=t.findUpAttribute=t.findUpTag=t.findUpClassName=t.numberWithCommas=t.safeReplaceObject=t.tsNow=t.isObject=t.langPack=t.generatePathData=t.$rootScope=t.getRichElementValue=t.placeCaretAtEnd=t.getRichValue=t.cancelEvent=t.checkDragEvent=t.isInDOM=t.dT=void 0;var i=Date.now();function n(e,t,s,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o=i===e,r="DIV"==e.tagName||"P"==e.tagName;r&&s.length||"BR"==e.tagName?(t.push(s.join("")),s.splice(0,s.length)):"IMG"==e.tagName&&e.alt&&s.push(e.alt),o&&!a&&s.push("");for(var d=e.firstChild;d;)n(d,t,s,i,a),d=d.nextSibling;o&&a&&s.push(""),r&&s.length&&(t.push(s.join("")),s.splice(0,s.length))}}else if(i===e){var f=e.nodeValue;s.push(f.substr(0,a)+""+f.substr(a))}else s.push(e.nodeValue)}t.dT=function(){return"["+((Date.now()-i)/1e3).toFixed(3)+"]"},t.isInDOM=function e(t,s){return!!t&&(t==(s=s||document.body)||e(t.parentNode,s))},t.checkDragEvent=function(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t{let s=new CustomEvent(e,{detail:t});document.dispatchEvent(s)},$on:(e,t)=>{document.addEventListener(e,t)},$off:(e,t)=>{document.removeEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var a=function(e,t,s,i,n,a,o){return[e,",",t," ",s," ",i,",",n," ",a,",",o].join("")};function o(e){if(!e.parentNode)return-1;let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function r(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(r(e))})),t}let s=new e.constructor;for(var i in e)e.hasOwnProperty(i)&&(s[i]=r(e[i]));return s}t.generatePathData=function(e,t,s,i,n,o,r,d){var f=[];return f.push("M"+(e+s/2)+","+t),f.push("H"+(e+s-o)),o>0&&f.push("A"+a(o,o,0,0,1,e+s,t+o)),f.push("V"+(t+i-r)),r>0&&f.push("A"+a(r,r,0,0,1,e+s-r,t+i)),f.push("H"+(e+d)),d>0&&f.push("A"+a(d,d,0,0,1,e+0,t+i-d)),f.push("V"+(t+n)),n>0&&f.push("A"+a(n,n,0,0,1,e+n,t+0)),f.push("Z"),f.join(" ")},t.langPack={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"",messageActionChannelMigrateFrom:"","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.tsNow=function(e){var t=+new Date;return e?Math.floor(t/1e3):t},t.safeReplaceObject=function(e,t){for(var s in e)t.hasOwnProperty(s)||"$"==s.charAt(0)||delete e[s];for(var s in t)e[s]=t[s]},t.numberWithCommas=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},t.findUpClassName=function(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null},t.findUpTag=function(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null},t.findUpAttribute=function(e,t){if(null!=e.getAttribute(t))return e;for(;e.parentElement;)if(null!=(e=e.parentElement).getAttribute(t))return e;return null},t.getObjectKeysAndSort=function(e,t="asc"){const s=Object.keys(e).map(e=>+e);return"asc"==t?s.sort((e,t)=>e-t):s.sort((e,t)=>t-e)},t.whichChild=o,t.copy=r,t.formatBytes=function(e,t=2){if(0===e)return"0 Bytes";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(s))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]},t.formatNumber=function(e,t=2){if(0===e)return"0";const s=t<0?0:t,i=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,i)).toFixed(s))+["","K","M","B","T"][i]},t.deepEqual=function e(t,s){const i=Object.keys,n=typeof t;return t&&s&&"object"===n&&n===typeof s?i(t).length===i(s).length&&i(t).every(i=>e(t[i],s[i])):t===s},t.listMergeSorted=function(e,t){t=t||[];for(var s=r(e=e||[]),i=e.length?e[e.length-1]:4294967295,n=0;n"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";").replace(/([^\#-~| |!])/g,e=>"&#"+e.charCodeAt(0)+";").replace(//g,">")},t.fillPropertyValue=function(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t},t.calcImageInBox=function(e,t,s,i,n){if(es/i?o=t*s/e|0:(a=e*i/t|0)>s&&(o=o*s/a|0,a=s),n&&a>=e&&o>=t&&(a=e,o=t),{w:a,h:o}},t.getEmojiToneIndex=function(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0},t.getFileURL=function(e,t){return"/"+e+"/"+encodeURIComponent(JSON.stringify(t))},t.positionElementByIndex=function(e,t,s){const i=o(e);return i!=s&&(-1!=i&&is?t.insertBefore(e,t.children[s]):t.append(e),!0)}},function(e,t,s){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.isServiceWorkerSupported=t.touchSupport=t.mediaSizes=t.LatinizeMap=t.TLD=t.Countries=t.Emoji=t.isAppleMobile=t.isApple=t.isAndroid=t.isSafari=void 0;const i=s(47);Object.defineProperty(t,"isSafari",{enumerable:!0,get:function(){return i.isSafari}}),Object.defineProperty(t,"isAndroid",{enumerable:!0,get:function(){return i.isAndroid}}),Object.defineProperty(t,"isApple",{enumerable:!0,get:function(){return i.isApple}}),Object.defineProperty(t,"isAppleMobile",{enumerable:!0,get:function(){return i.isAppleMobile}}),t.Emoji={2049:6356,2122:6364,2139:6389,2194:6269,2195:6268,2196:6267,2197:6261,2198:6263,2199:6265,2328:680,2600:4177,2601:4185,2602:4200,2603:4205,2604:4207,2611:6341,2614:4201,2615:3101,2618:2123,2620:194,2622:6258,2623:6259,2626:6288,2638:6285,2639:166,2648:6293,2649:6294,2650:6301,2651:6302,2652:6303,2653:6304,2660:567,2663:570,2665:568,2666:569,2668:457,2692:6184,2693:4110,2694:6187,2696:6195,2697:6201,2699:6193,2702:6171,2705:6340,2708:4118,2709:6132,2712:6146,2714:6342,2716:6343,2721:6284,2728:56,2733:6352,2734:6353,2744:4204,2747:6354,2753:6357,2754:6358,2755:6359,2757:6360,2763:1125,2764:1127,2795:6346,2796:6347,2797:6348,2934:6272,2935:6273,3030:6361,3297:6413,3299:6414,"0023-20e3":6365,"002a-20e3":6366,"0030-20e3":6367,"0031-20e3":6368,"0032-20e3":6369,"0033-20e3":6370,"0034-20e3":6371,"0035-20e3":6372,"0036-20e3":6373,"0037-20e3":6374,"0038-20e3":6375,"0039-20e3":6376,"00a9":6362,"00ae":6363,"1f004":573,"1f0cf":572,"1f170":6383,"1f171":6385,"1f17e":6394,"1f17f":6396,"1f18e":6384,"1f191":6386,"1f192":6387,"1f193":6388,"1f194":6390,"1f195":6392,"1f196":6393,"1f197":6395,"1f198":6397,"1f199":6398,"1f19a":6399,"1f1e6-1f1e8":78,"1f1e6-1f1e9":79,"1f1e6-1f1ea":710,"1f1e6-1f1eb":711,"1f1e6-1f1ec":712,"1f1e6-1f1ee":713,"1f1e6-1f1f1":714,"1f1e6-1f1f2":715,"1f1e6-1f1f4":716,"1f1e6-1f1f6":717,"1f1e6-1f1f7":718,"1f1e6-1f1f8":719,"1f1e6-1f1f9":720,"1f1e6-1f1fa":721,"1f1e6-1f1fc":722,"1f1e6-1f1fd":723,"1f1e6-1f1ff":724,"1f1e7-1f1e6":725,"1f1e7-1f1e7":726,"1f1e7-1f1e9":727,"1f1e7-1f1ea":728,"1f1e7-1f1eb":729,"1f1e7-1f1ec":730,"1f1e7-1f1ed":731,"1f1e7-1f1ee":732,"1f1e7-1f1ef":733,"1f1e7-1f1f1":734,"1f1e7-1f1f2":735,"1f1e7-1f1f3":736,"1f1e7-1f1f4":737,"1f1e7-1f1f6":738,"1f1e7-1f1f7":739,"1f1e7-1f1f8":740,"1f1e7-1f1f9":741,"1f1e7-1f1fb":742,"1f1e7-1f1fc":743,"1f1e7-1f1fe":744,"1f1e7-1f1ff":745,"1f1e8-1f1e6":746,"1f1e8-1f1e8":747,"1f1e8-1f1e9":748,"1f1e8-1f1eb":749,"1f1e8-1f1ec":750,"1f1e8-1f1ed":751,"1f1e8-1f1ee":752,"1f1e8-1f1f0":753,"1f1e8-1f1f1":754,"1f1e8-1f1f2":755,"1f1e8-1f1f3":756,"1f1e8-1f1f4":757,"1f1e8-1f1f5":758,"1f1e8-1f1f7":759,"1f1e8-1f1fa":760,"1f1e8-1f1fb":761,"1f1e8-1f1fc":762,"1f1e8-1f1fd":763,"1f1e8-1f1fe":764,"1f1e8-1f1ff":765,"1f1e9-1f1ea":766,"1f1e9-1f1ec":767,"1f1e9-1f1ef":768,"1f1e9-1f1f0":769,"1f1e9-1f1f2":770,"1f1e9-1f1f4":771,"1f1e9-1f1ff":772,"1f1ea-1f1e6":773,"1f1ea-1f1e8":774,"1f1ea-1f1ea":775,"1f1ea-1f1ec":776,"1f1ea-1f1ed":777,"1f1ea-1f1f7":778,"1f1ea-1f1f8":779,"1f1ea-1f1f9":780,"1f1ea-1f1fa":781,"1f1eb-1f1ee":782,"1f1eb-1f1ef":783,"1f1eb-1f1f0":784,"1f1eb-1f1f2":785,"1f1eb-1f1f4":786,"1f1eb-1f1f7":787,"1f1ec-1f1e6":788,"1f1ec-1f1e7":789,"1f1ec-1f1e9":790,"1f1ec-1f1ea":791,"1f1ec-1f1eb":792,"1f1ec-1f1ec":793,"1f1ec-1f1ed":794,"1f1ec-1f1ee":795,"1f1ec-1f1f1":796,"1f1ec-1f1f2":797,"1f1ec-1f1f3":798,"1f1ec-1f1f5":799,"1f1ec-1f1f6":7100,"1f1ec-1f1f7":7101,"1f1ec-1f1f8":7102,"1f1ec-1f1f9":7103,"1f1ec-1f1fa":7104,"1f1ec-1f1fc":7105,"1f1ec-1f1fe":7106,"1f1ed-1f1f0":7107,"1f1ed-1f1f2":7108,"1f1ed-1f1f3":7109,"1f1ed-1f1f7":7110,"1f1ed-1f1f9":7111,"1f1ed-1f1fa":7112,"1f1ee-1f1e8":7113,"1f1ee-1f1e9":7114,"1f1ee-1f1ea":7115,"1f1ee-1f1f1":7116,"1f1ee-1f1f2":7117,"1f1ee-1f1f3":7118,"1f1ee-1f1f4":7119,"1f1ee-1f1f6":7120,"1f1ee-1f1f7":7121,"1f1ee-1f1f8":7122,"1f1ee-1f1f9":7123,"1f1ef-1f1ea":7124,"1f1ef-1f1f2":7125,"1f1ef-1f1f4":7126,"1f1ef-1f1f5":7127,"1f1f0-1f1ea":7128,"1f1f0-1f1ec":7129,"1f1f0-1f1ed":7130,"1f1f0-1f1ee":7131,"1f1f0-1f1f2":7132,"1f1f0-1f1f3":7133,"1f1f0-1f1f5":7134,"1f1f0-1f1f7":7135,"1f1f0-1f1fc":7136,"1f1f0-1f1fe":7137,"1f1f0-1f1ff":7138,"1f1f1-1f1e6":7139,"1f1f1-1f1e7":7140,"1f1f1-1f1e8":7141,"1f1f1-1f1ee":7142,"1f1f1-1f1f0":7143,"1f1f1-1f1f7":7144,"1f1f1-1f1f8":7145,"1f1f1-1f1f9":7146,"1f1f1-1f1fa":7147,"1f1f1-1f1fb":7148,"1f1f1-1f1fe":7149,"1f1f2-1f1e6":7150,"1f1f2-1f1e8":7151,"1f1f2-1f1e9":7152,"1f1f2-1f1ea":7153,"1f1f2-1f1eb":7154,"1f1f2-1f1ec":7155,"1f1f2-1f1ed":7156,"1f1f2-1f1f0":7157,"1f1f2-1f1f1":7158,"1f1f2-1f1f2":7159,"1f1f2-1f1f3":7160,"1f1f2-1f1f4":7161,"1f1f2-1f1f5":7162,"1f1f2-1f1f6":7163,"1f1f2-1f1f7":7164,"1f1f2-1f1f8":7165,"1f1f2-1f1f9":7166,"1f1f2-1f1fa":7167,"1f1f2-1f1fb":7168,"1f1f2-1f1fc":7169,"1f1f2-1f1fd":7170,"1f1f2-1f1fe":7171,"1f1f2-1f1ff":7172,"1f1f3-1f1e6":7173,"1f1f3-1f1e8":7174,"1f1f3-1f1ea":7175,"1f1f3-1f1eb":7176,"1f1f3-1f1ec":7177,"1f1f3-1f1ee":7178,"1f1f3-1f1f1":7179,"1f1f3-1f1f4":7180,"1f1f3-1f1f5":7181,"1f1f3-1f1f7":7182,"1f1f3-1f1fa":7183,"1f1f3-1f1ff":7184,"1f1f4-1f1f2":7185,"1f1f5-1f1e6":7186,"1f1f5-1f1ea":7187,"1f1f5-1f1eb":7188,"1f1f5-1f1ec":7189,"1f1f5-1f1ed":7190,"1f1f5-1f1f0":7191,"1f1f5-1f1f1":7192,"1f1f5-1f1f2":7193,"1f1f5-1f1f3":7194,"1f1f5-1f1f7":7195,"1f1f5-1f1f8":7196,"1f1f5-1f1f9":7197,"1f1f5-1f1fc":7198,"1f1f5-1f1fe":7199,"1f1f6-1f1e6":7200,"1f1f7-1f1ea":7201,"1f1f7-1f1f4":7202,"1f1f7-1f1f8":7203,"1f1f7-1f1fa":7204,"1f1f7-1f1fc":7205,"1f1f8-1f1e6":7206,"1f1f8-1f1e7":7207,"1f1f8-1f1e8":7208,"1f1f8-1f1e9":7209,"1f1f8-1f1ea":7210,"1f1f8-1f1ec":7211,"1f1f8-1f1ed":7212,"1f1f8-1f1ee":7213,"1f1f8-1f1ef":7214,"1f1f8-1f1f0":7215,"1f1f8-1f1f1":7216,"1f1f8-1f1f2":7217,"1f1f8-1f1f3":7218,"1f1f8-1f1f4":7219,"1f1f8-1f1f7":7220,"1f1f8-1f1f8":7221,"1f1f8-1f1f9":7222,"1f1f8-1f1fb":7223,"1f1f8-1f1fd":7224,"1f1f8-1f1fe":7225,"1f1f8-1f1ff":7226,"1f1f9-1f1e6":7227,"1f1f9-1f1e8":7228,"1f1f9-1f1e9":7229,"1f1f9-1f1eb":7230,"1f1f9-1f1ec":7231,"1f1f9-1f1ed":7232,"1f1f9-1f1ef":7233,"1f1f9-1f1f0":7234,"1f1f9-1f1f1":7235,"1f1f9-1f1f2":7236,"1f1f9-1f1f3":7237,"1f1f9-1f1f4":7238,"1f1f9-1f1f7":7239,"1f1f9-1f1f9":7240,"1f1f9-1f1fb":7241,"1f1f9-1f1fc":7242,"1f1f9-1f1ff":7243,"1f1fa-1f1e6":7244,"1f1fa-1f1ec":7245,"1f1fa-1f1f2":7246,"1f1fa-1f1f3":7247,"1f1fa-1f1f8":7248,"1f1fa-1f1fe":7249,"1f1fa-1f1ff":7250,"1f1fb-1f1e6":7251,"1f1fb-1f1e8":7252,"1f1fb-1f1ea":7253,"1f1fb-1f1ec":7254,"1f1fb-1f1ee":7255,"1f1fb-1f1f3":7256,"1f1fb-1f1fa":7257,"1f1fc-1f1eb":7258,"1f1fc-1f1f8":7259,"1f1fd-1f1f0":7260,"1f1fe-1f1ea":7261,"1f1fe-1f1f9":7262,"1f1ff-1f1e6":7263,"1f1ff-1f1f2":7264,"1f1ff-1f1fc":7265,"1f201":6400,"1f202":6401,"1f21a":6407,"1f22f":6404,"1f232":6408,"1f233":6412,"1f234":6411,"1f235":6416,"1f236":6403,"1f237":6402,"1f238":6410,"1f239":6406,"1f23a":6415,"1f250":6405,"1f251":6409,"1f300":4197,"1f301":449,"1f302":4199,"1f303":450,"1f304":452,"1f305":453,"1f306":454,"1f307":455,"1f308":4198,"1f309":456,"1f30a":4210,"1f30b":410,"1f30c":4184,"1f30d":41,"1f30e":42,"1f30f":43,"1f310":44,"1f311":4164,"1f312":4165,"1f313":4166,"1f314":4167,"1f315":4168,"1f316":4169,"1f317":4170,"1f318":4171,"1f319":4172,"1f31a":4173,"1f31b":4174,"1f31c":4175,"1f31d":4178,"1f31e":4179,"1f31f":4182,"1f320":4183,"1f321":4176,"1f324":4188,"1f325":4189,"1f326":4190,"1f327":4191,"1f328":4192,"1f329":4193,"1f32a":4194,"1f32b":4195,"1f32c":4196,"1f32d":347,"1f32e":349,"1f32f":350,"1f330":331,"1f331":2116,"1f332":2117,"1f333":2118,"1f334":2119,"1f335":2120,"1f336":323,"1f337":2115,"1f338":2107,"1f339":2110,"1f33a":2112,"1f33b":2113,"1f33c":2114,"1f33d":322,"1f33e":2121,"1f33f":2122,"1f340":2124,"1f341":2125,"1f342":2126,"1f343":2127,"1f344":329,"1f345":316,"1f346":319,"1f347":31,"1f348":32,"1f349":33,"1f34a":34,"1f34b":35,"1f34c":36,"1f34d":37,"1f34e":39,"1f34f":310,"1f350":311,"1f351":312,"1f352":313,"1f353":314,"1f354":344,"1f355":346,"1f356":340,"1f357":341,"1f358":364,"1f359":365,"1f35a":366,"1f35b":367,"1f35c":368,"1f35d":369,"1f35e":332,"1f35f":345,"1f360":370,"1f361":376,"1f362":371,"1f363":372,"1f364":373,"1f365":374,"1f366":385,"1f367":386,"1f368":387,"1f369":388,"1f36a":389,"1f36b":394,"1f36c":395,"1f36d":396,"1f36e":397,"1f36f":398,"1f370":391,"1f371":363,"1f372":356,"1f373":354,"1f374":3118,"1f375":3102,"1f376":3103,"1f377":3105,"1f378":3106,"1f379":3107,"1f37a":3108,"1f37b":3109,"1f37c":399,"1f37d":3117,"1f37e":3104,"1f37f":359,"1f380":517,"1f381":518,"1f382":390,"1f383":51,"1f384":52,"1f385":1326,"1f386":53,"1f387":54,"1f388":57,"1f389":58,"1f38a":59,"1f38b":510,"1f38c":73,"1f38d":511,"1f38e":512,"1f38f":513,"1f390":514,"1f391":515,"1f392":625,"1f393":637,"1f396":522,"1f397":519,"1f399":656,"1f39a":657,"1f39b":658,"1f39e":689,"1f39f":520,"1f3a0":458,"1f3a1":459,"1f3a2":460,"1f3a3":549,"1f3a4":659,"1f3a5":688,"1f3a6":6324,"1f3a7":660,"1f3a8":577,"1f3a9":636,"1f3aa":462,"1f3ab":521,"1f3ac":691,"1f3ad":575,"1f3ae":561,"1f3af":555,"1f3b0":563,"1f3b1":558,"1f3b2":564,"1f3b3":537,"1f3b4":574,"1f3b5":654,"1f3b6":655,"1f3b7":662,"1f3b8":663,"1f3b9":664,"1f3ba":665,"1f3bb":666,"1f3bc":653,"1f3bd":551,"1f3be":535,"1f3bf":552,"1f3c0":531,"1f3c1":71,"1f3c2":1397,"1f3c3-200d-2640-fe0f":1381,"1f3c3-200d-2642-fe0f":1380,"1f3c3":1379,"1f3c4-200d-2640-fe0f":1403,"1f3c4-200d-2642-fe0f":1402,"1f3c4":1401,"1f3c5":524,"1f3c6":523,"1f3c7":1395,"1f3c8":533,"1f3c9":534,"1f3ca-200d-2640-fe0f":1409,"1f3ca-200d-2642-fe0f":1408,"1f3ca":1407,"1f3cb-fe0f-200d-2640-fe0f":1415,"1f3cb-fe0f-200d-2642-fe0f":1414,"1f3cb":1413,"1f3cc-fe0f-200d-2640-fe0f":1400,"1f3cc-fe0f-200d-2642-fe0f":1399,"1f3cc":1398,"1f3cd":492,"1f3ce":491,"1f3cf":538,"1f3d0":532,"1f3d1":539,"1f3d2":540,"1f3d3":542,"1f3d4":48,"1f3d5":412,"1f3d6":413,"1f3d7":419,"1f3d8":421,"1f3d9":451,"1f3da":422,"1f3db":418,"1f3dc":414,"1f3dd":415,"1f3de":416,"1f3df":417,"1f3e0":423,"1f3e1":424,"1f3e2":425,"1f3e3":426,"1f3e4":427,"1f3e5":428,"1f3e6":429,"1f3e7":6234,"1f3e8":430,"1f3e9":431,"1f3ea":432,"1f3eb":433,"1f3ec":434,"1f3ed":435,"1f3ee":6102,"1f3ef":436,"1f3f0":437,"1f3f3-fe0f-200d-1f308":76,"1f3f3":75,"1f3f4-200d-2620-fe0f":77,"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f":7266,"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f":7267,"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f":7268,"1f3f4":74,"1f3f5":2109,"1f3f7":6120,"1f3f8":543,"1f3f9":6189,"1f3fa":3121,"1f3fb":81,"1f3fc":82,"1f3fd":83,"1f3fe":84,"1f3ff":85,"1f400":244,"1f401":243,"1f402":225,"1f403":226,"1f404":227,"1f405":217,"1f406":218,"1f407":247,"1f408":214,"1f409":282,"1f40a":277,"1f40b":286,"1f40c":294,"1f40d":280,"1f40e":220,"1f40f":232,"1f410":234,"1f411":233,"1f412":22,"1f413":262,"1f414":261,"1f415-200d-1f9ba":28,"1f415":26,"1f416":229,"1f417":230,"1f418":239,"1f419":292,"1f41a":293,"1f41b":296,"1f41c":297,"1f41d":298,"1f41e":299,"1f41f":288,"1f420":289,"1f421":290,"1f422":278,"1f423":263,"1f424":264,"1f425":265,"1f426":266,"1f427":267,"1f428":252,"1f429":29,"1f42a":235,"1f42b":236,"1f42c":287,"1f42d":242,"1f42e":224,"1f42f":216,"1f430":246,"1f431":213,"1f432":281,"1f433":285,"1f434":219,"1f435":21,"1f436":25,"1f437":228,"1f438":276,"1f439":245,"1f43a":210,"1f43b":251,"1f43c":253,"1f43d":231,"1f43e":259,"1f43f":248,"1f440":1194,"1f441-fe0f-200d-1f5e8-fe0f":1145,"1f441":1195,"1f442":1188,"1f443":1190,"1f444":1197,"1f445":1196,"1f446":1164,"1f447":1166,"1f448":1162,"1f449":1163,"1f44a":1171,"1f44b":1150,"1f44c":1155,"1f44d":1168,"1f44e":1169,"1f44f":1174,"1f450":1176,"1f451":634,"1f452":635,"1f453":61,"1f454":66,"1f455":67,"1f456":68,"1f457":613,"1f458":614,"1f459":619,"1f45a":620,"1f45b":621,"1f45c":622,"1f45d":623,"1f45e":626,"1f45f":627,"1f460":630,"1f461":631,"1f462":633,"1f463":1483,"1f464":1481,"1f465":1482,"1f466":1200,"1f467":1201,"1f468-200d-1f33e":1267,"1f468-200d-1f373":1270,"1f468-200d-1f393":1258,"1f468-200d-1f3a4":1288,"1f468-200d-1f3a8":1291,"1f468-200d-1f3eb":1261,"1f468-200d-1f3ed":1276,"1f468-200d-1f466-200d-1f466":1471,"1f468-200d-1f466":1470,"1f468-200d-1f467-200d-1f466":1473,"1f468-200d-1f467-200d-1f467":1474,"1f468-200d-1f467":1472,"1f468-200d-1f468-200d-1f466":1460,"1f468-200d-1f468-200d-1f466-200d-1f466":1463,"1f468-200d-1f468-200d-1f467":1461,"1f468-200d-1f468-200d-1f467-200d-1f466":1462,"1f468-200d-1f468-200d-1f467-200d-1f467":1464,"1f468-200d-1f469-200d-1f466":1455,"1f468-200d-1f469-200d-1f466-200d-1f466":1458,"1f468-200d-1f469-200d-1f467":1456,"1f468-200d-1f469-200d-1f467-200d-1f466":1457,"1f468-200d-1f469-200d-1f467-200d-1f467":1459,"1f468-200d-1f4bb":1285,"1f468-200d-1f4bc":1279,"1f468-200d-1f527":1273,"1f468-200d-1f52c":1282,"1f468-200d-1f680":1297,"1f468-200d-1f692":1300,"1f468-200d-1f9af":1371,"1f468-200d-1f9b0":1206,"1f468-200d-1f9b1":1207,"1f468-200d-1f9b2":1209,"1f468-200d-1f9b3":1208,"1f468-200d-1f9bc":1374,"1f468-200d-1f9bd":1377,"1f468-200d-2695-fe0f":1255,"1f468-200d-2696-fe0f":1264,"1f468-200d-2708-fe0f":1294,"1f468-200d-2764-fe0f-200d-1f468":1452,"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468":1448,"1f468":1204,"1f469-200d-1f33e":1268,"1f469-200d-1f373":1271,"1f469-200d-1f393":1259,"1f469-200d-1f3a4":1289,"1f469-200d-1f3a8":1292,"1f469-200d-1f3eb":1262,"1f469-200d-1f3ed":1277,"1f469-200d-1f466-200d-1f466":1476,"1f469-200d-1f466":1475,"1f469-200d-1f467-200d-1f466":1478,"1f469-200d-1f467-200d-1f467":1479,"1f469-200d-1f467":1477,"1f469-200d-1f469-200d-1f466":1465,"1f469-200d-1f469-200d-1f466-200d-1f466":1468,"1f469-200d-1f469-200d-1f467":1466,"1f469-200d-1f469-200d-1f467-200d-1f466":1467,"1f469-200d-1f469-200d-1f467-200d-1f467":1469,"1f469-200d-1f4bb":1286,"1f469-200d-1f4bc":1280,"1f469-200d-1f527":1274,"1f469-200d-1f52c":1283,"1f469-200d-1f680":1298,"1f469-200d-1f692":1301,"1f469-200d-1f9af":1372,"1f469-200d-1f9b0":1211,"1f469-200d-1f9b1":1213,"1f469-200d-1f9b2":1217,"1f469-200d-1f9b3":1215,"1f469-200d-1f9bc":1375,"1f469-200d-1f9bd":1378,"1f469-200d-2695-fe0f":1256,"1f469-200d-2696-fe0f":1265,"1f469-200d-2708-fe0f":1295,"1f469-200d-2764-fe0f-200d-1f468":1451,"1f469-200d-2764-fe0f-200d-1f469":1453,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468":1447,"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469":1449,"1f469":1210,"1f46a":1454,"1f46b":1444,"1f46c":1445,"1f46d":1443,"1f46e-200d-2640-fe0f":1304,"1f46e-200d-2642-fe0f":1303,"1f46e":1302,"1f46f-200d-2640-fe0f":1387,"1f46f-200d-2642-fe0f":1386,"1f46f":1385,"1f470":1322,"1f471-200d-2640-fe0f":1219,"1f471-200d-2642-fe0f":1220,"1f471":1203,"1f472":1319,"1f473-200d-2640-fe0f":1318,"1f473-200d-2642-fe0f":1317,"1f473":1316,"1f474":1222,"1f475":1223,"1f476":1198,"1f477-200d-2640-fe0f":1313,"1f477-200d-2642-fe0f":1312,"1f477":1311,"1f478":1315,"1f479":197,"1f47a":198,"1f47b":199,"1f47c":1325,"1f47d":1100,"1f47e":1101,"1f47f":192,"1f480":193,"1f481-200d-2640-fe0f":1238,"1f481-200d-2642-fe0f":1237,"1f481":1236,"1f482-200d-2640-fe0f":1310,"1f482-200d-2642-fe0f":1309,"1f482":1308,"1f483":1382,"1f484":641,"1f485":1181,"1f486-200d-2640-fe0f":1357,"1f486-200d-2642-fe0f":1356,"1f486":1355,"1f487-200d-2640-fe0f":1360,"1f487-200d-2642-fe0f":1359,"1f487":1358,"1f488":461,"1f489":6208,"1f48a":6210,"1f48b":1115,"1f48c":1116,"1f48d":642,"1f48e":643,"1f48f":1446,"1f490":2106,"1f491":1450,"1f492":438,"1f493":1121,"1f494":1126,"1f495":1123,"1f496":1119,"1f497":1120,"1f498":1117,"1f499":1131,"1f49a":1130,"1f49b":1129,"1f49c":1132,"1f49d":1118,"1f49e":1122,"1f49f":1124,"1f4a0":6447,"1f4a1":6100,"1f4a2":1137,"1f4a3":1143,"1f4a4":1149,"1f4a5":1138,"1f4a6":1140,"1f4a7":4209,"1f4a8":1141,"1f4a9":195,"1f4aa":1183,"1f4ab":1139,"1f4ac":1144,"1f4ad":1148,"1f4ae":2108,"1f4af":1136,"1f4b0":6121,"1f4b1":6130,"1f4b2":6131,"1f4b3":6127,"1f4b4":6122,"1f4b5":6123,"1f4b6":6124,"1f4b7":6125,"1f4b8":6126,"1f4b9":6129,"1f4ba":4123,"1f4bb":677,"1f4bc":6152,"1f4bd":683,"1f4be":684,"1f4bf":685,"1f4c0":686,"1f4c1":6153,"1f4c2":6154,"1f4c3":6113,"1f4c4":6115,"1f4c5":6156,"1f4c6":6157,"1f4c7":6160,"1f4c8":6161,"1f4c9":6162,"1f4ca":6163,"1f4cb":6164,"1f4cc":6165,"1f4cd":6166,"1f4ce":6167,"1f4cf":6169,"1f4d0":6170,"1f4d1":6118,"1f4d2":6112,"1f4d3":6111,"1f4d4":6104,"1f4d5":6105,"1f4d6":6106,"1f4d7":6107,"1f4d8":6108,"1f4d9":6109,"1f4da":6110,"1f4db":6337,"1f4dc":6114,"1f4dd":6151,"1f4de":672,"1f4df":673,"1f4e0":674,"1f4e1":6207,"1f4e2":648,"1f4e3":649,"1f4e4":6136,"1f4e5":6137,"1f4e6":6138,"1f4e7":6133,"1f4e8":6134,"1f4e9":6135,"1f4ea":6140,"1f4eb":6139,"1f4ec":6141,"1f4ed":6142,"1f4ee":6143,"1f4ef":650,"1f4f0":6116,"1f4f1":669,"1f4f2":670,"1f4f3":6328,"1f4f4":6329,"1f4f5":6256,"1f4f6":6327,"1f4f7":693,"1f4f8":694,"1f4f9":695,"1f4fa":692,"1f4fb":661,"1f4fc":696,"1f4fd":690,"1f4ff":640,"1f500":6306,"1f501":6307,"1f502":6308,"1f503":6274,"1f504":6275,"1f505":6325,"1f506":6326,"1f507":644,"1f508":645,"1f509":646,"1f50a":647,"1f50b":675,"1f50c":676,"1f50d":697,"1f50e":698,"1f50f":6177,"1f510":6178,"1f511":6179,"1f512":6175,"1f513":6176,"1f514":651,"1f515":652,"1f516":6119,"1f517":6197,"1f518":6448,"1f519":6276,"1f51a":6277,"1f51b":6278,"1f51c":6279,"1f51d":6280,"1f51e":6257,"1f51f":6377,"1f520":6378,"1f521":6379,"1f522":6380,"1f523":6381,"1f524":6382,"1f525":4208,"1f526":6101,"1f527":6191,"1f528":6181,"1f529":6192,"1f52a":3120,"1f52b":6188,"1f52c":6205,"1f52d":6206,"1f52e":559,"1f52f":6292,"1f530":6338,"1f531":6336,"1f532":6450,"1f533":6449,"1f534":6417,"1f535":6421,"1f536":6441,"1f537":6442,"1f538":6443,"1f539":6444,"1f53a":6445,"1f53b":6446,"1f53c":6316,"1f53d":6318,"1f549":6283,"1f54a":268,"1f54b":446,"1f54c":442,"1f54d":444,"1f54e":6291,"1f550":4142,"1f551":4144,"1f552":4146,"1f553":4148,"1f554":4150,"1f555":4152,"1f556":4154,"1f557":4156,"1f558":4158,"1f559":4160,"1f55a":4162,"1f55b":4140,"1f55c":4143,"1f55d":4145,"1f55e":4147,"1f55f":4149,"1f560":4151,"1f561":4153,"1f562":4155,"1f563":4157,"1f564":4159,"1f565":4161,"1f566":4163,"1f567":4141,"1f56f":699,"1f570":4139,"1f573":1142,"1f574":1384,"1f575-fe0f-200d-2640-fe0f":1307,"1f575-fe0f-200d-2642-fe0f":1306,"1f575":1305,"1f576":62,"1f577":2101,"1f578":2102,"1f579":562,"1f57a":1383,"1f587":6168,"1f58a":6148,"1f58b":6147,"1f58c":6149,"1f58d":6150,"1f590":1152,"1f595":1165,"1f596":1154,"1f5a4":1134,"1f5a5":678,"1f5a8":679,"1f5b1":681,"1f5b2":682,"1f5bc":576,"1f5c2":6155,"1f5c3":6172,"1f5c4":6173,"1f5d1":6174,"1f5d2":6158,"1f5d3":6159,"1f5dc":6194,"1f5dd":6180,"1f5de":6117,"1f5e1":6186,"1f5e3":1480,"1f5e8":1146,"1f5ef":1147,"1f5f3":6144,"1f5fa":45,"1f5fb":411,"1f5fc":439,"1f5fd":440,"1f5fe":46,"1f5ff":6233,"1f600":11,"1f601":14,"1f602":18,"1f603":12,"1f604":13,"1f605":16,"1f606":15,"1f607":113,"1f608":191,"1f609":111,"1f60a":112,"1f60b":122,"1f60c":142,"1f60d":115,"1f60e":160,"1f60f":137,"1f610":134,"1f611":135,"1f612":138,"1f613":183,"1f614":143,"1f615":163,"1f616":180,"1f617":118,"1f618":117,"1f619":121,"1f61a":120,"1f61b":123,"1f61c":124,"1f61d":126,"1f61e":182,"1f61f":164,"1f620":189,"1f621":188,"1f622":177,"1f623":181,"1f624":187,"1f625":176,"1f626":172,"1f627":173,"1f628":174,"1f629":184,"1f62a":144,"1f62b":185,"1f62c":140,"1f62d":178,"1f62e":167,"1f62f":168,"1f630":175,"1f631":179,"1f632":169,"1f633":170,"1f634":146,"1f635":156,"1f636":136,"1f637":147,"1f638":1104,"1f639":1105,"1f63a":1103,"1f63b":1106,"1f63c":1107,"1f63d":1108,"1f63e":1111,"1f63f":1110,"1f640":1109,"1f641":165,"1f642":19,"1f643":110,"1f644":139,"1f645-200d-2640-fe0f":1232,"1f645-200d-2642-fe0f":1231,"1f645":1230,"1f646-200d-2640-fe0f":1235,"1f646-200d-2642-fe0f":1234,"1f646":1233,"1f647-200d-2640-fe0f":1247,"1f647-200d-2642-fe0f":1246,"1f647":1245,"1f648":1112,"1f649":1113,"1f64a":1114,"1f64b-200d-2640-fe0f":1241,"1f64b-200d-2642-fe0f":1240,"1f64b":1239,"1f64c":1175,"1f64d-200d-2640-fe0f":1226,"1f64d-200d-2642-fe0f":1225,"1f64d":1224,"1f64e-200d-2640-fe0f":1229,"1f64e-200d-2642-fe0f":1228,"1f64e":1227,"1f64f":1179,"1f680":4129,"1f681":4124,"1f682":463,"1f683":464,"1f684":465,"1f685":466,"1f686":467,"1f687":468,"1f688":469,"1f689":470,"1f68a":471,"1f68b":474,"1f68c":475,"1f68d":476,"1f68e":477,"1f68f":4100,"1f690":478,"1f691":479,"1f692":480,"1f693":481,"1f694":482,"1f695":483,"1f696":484,"1f697":485,"1f698":486,"1f699":487,"1f69a":488,"1f69b":489,"1f69c":490,"1f69d":472,"1f69e":473,"1f69f":4125,"1f6a0":4126,"1f6a1":4127,"1f6a2":4117,"1f6a3-200d-2640-fe0f":1406,"1f6a3-200d-2642-fe0f":1405,"1f6a3":1404,"1f6a4":4113,"1f6a5":4106,"1f6a6":4107,"1f6a7":4109,"1f6a8":4105,"1f6a9":72,"1f6aa":6213,"1f6ab":6250,"1f6ac":6230,"1f6ad":6252,"1f6ae":6235,"1f6af":6253,"1f6b0":6236,"1f6b1":6254,"1f6b2":497,"1f6b3":6251,"1f6b4-200d-2640-fe0f":1418,"1f6b4-200d-2642-fe0f":1417,"1f6b4":1416,"1f6b5-200d-2640-fe0f":1421,"1f6b5-200d-2642-fe0f":1420,"1f6b5":1419,"1f6b6-200d-2640-fe0f":1363,"1f6b6-200d-2642-fe0f":1362,"1f6b6":1361,"1f6b7":6255,"1f6b8":6248,"1f6b9":6238,"1f6ba":6239,"1f6bb":6240,"1f6bc":6241,"1f6bd":6217,"1f6be":6242,"1f6bf":6218,"1f6c0":1440,"1f6c1":6219,"1f6c2":6243,"1f6c3":6244,"1f6c4":6245,"1f6c5":6246,"1f6cb":6215,"1f6cc":1441,"1f6cd":624,"1f6ce":4131,"1f6cf":6214,"1f6d0":6281,"1f6d1":4108,"1f6d2":6229,"1f6d5":443,"1f6e0":6185,"1f6e1":6190,"1f6e2":4103,"1f6e3":4101,"1f6e4":4102,"1f6e5":4116,"1f6e9":4119,"1f6eb":4120,"1f6ec":4121,"1f6f0":4128,"1f6f3":4114,"1f6f4":498,"1f6f5":493,"1f6f6":4112,"1f6f7":553,"1f6f8":4130,"1f6f9":499,"1f6fa":496,"1f7e0":6418,"1f7e1":6419,"1f7e2":6420,"1f7e3":6422,"1f7e4":6423,"1f7e5":6426,"1f7e6":6430,"1f7e7":6427,"1f7e8":6428,"1f7e9":6429,"1f7ea":6431,"1f7eb":6432,"1f90d":1135,"1f90e":1133,"1f90f":1156,"1f910":132,"1f911":127,"1f912":148,"1f913":161,"1f914":131,"1f915":149,"1f916":1102,"1f917":128,"1f918":1160,"1f919":1161,"1f91a":1151,"1f91b":1172,"1f91c":1173,"1f91d":1178,"1f91e":1158,"1f91f":1159,"1f920":158,"1f921":196,"1f922":150,"1f923":17,"1f924":145,"1f925":141,"1f926-200d-2640-fe0f":1250,"1f926-200d-2642-fe0f":1249,"1f926":1248,"1f927":152,"1f928":133,"1f929":116,"1f92a":125,"1f92b":130,"1f92c":190,"1f92d":129,"1f92e":151,"1f92f":157,"1f930":1323,"1f931":1324,"1f932":1177,"1f933":1182,"1f934":1314,"1f935":1321,"1f936":1327,"1f937-200d-2640-fe0f":1253,"1f937-200d-2642-fe0f":1252,"1f937":1251,"1f938-200d-2640-fe0f":1424,"1f938-200d-2642-fe0f":1423,"1f938":1422,"1f939-200d-2640-fe0f":1436,"1f939-200d-2642-fe0f":1435,"1f939":1434,"1f93a":1394,"1f93c-200d-2640-fe0f":1427,"1f93c-200d-2642-fe0f":1426,"1f93c":1425,"1f93d-200d-2640-fe0f":1430,"1f93d-200d-2642-fe0f":1429,"1f93d":1428,"1f93e-200d-2640-fe0f":1433,"1f93e-200d-2642-fe0f":1432,"1f93e":1431,"1f93f":550,"1f940":2111,"1f941":668,"1f942":3110,"1f943":3111,"1f944":3119,"1f945":546,"1f947":525,"1f948":526,"1f949":527,"1f94a":544,"1f94b":545,"1f94c":554,"1f94d":541,"1f94e":530,"1f94f":536,"1f950":333,"1f951":318,"1f952":324,"1f953":343,"1f954":320,"1f955":321,"1f956":334,"1f957":358,"1f958":355,"1f959":351,"1f95a":353,"1f95b":3100,"1f95c":330,"1f95d":315,"1f95e":337,"1f95f":377,"1f960":378,"1f961":379,"1f962":3116,"1f963":357,"1f964":3112,"1f965":317,"1f966":326,"1f967":393,"1f968":335,"1f969":342,"1f96a":348,"1f96b":362,"1f96c":325,"1f96d":38,"1f96e":375,"1f96f":336,"1f970":114,"1f971":186,"1f973":159,"1f974":155,"1f975":153,"1f976":154,"1f97a":171,"1f97b":615,"1f97c":64,"1f97d":63,"1f97e":628,"1f97f":629,"1f980":380,"1f981":215,"1f982":2103,"1f983":260,"1f984":221,"1f985":269,"1f986":270,"1f987":250,"1f988":291,"1f989":272,"1f98a":211,"1f98b":295,"1f98c":223,"1f98d":23,"1f98e":279,"1f98f":240,"1f990":382,"1f991":383,"1f992":238,"1f993":222,"1f994":249,"1f995":283,"1f996":284,"1f997":2100,"1f998":257,"1f999":237,"1f99a":274,"1f99b":241,"1f99c":275,"1f99d":212,"1f99e":381,"1f99f":2104,"1f9a0":2105,"1f9a1":258,"1f9a2":271,"1f9a5":254,"1f9a6":255,"1f9a7":24,"1f9a8":256,"1f9a9":273,"1f9aa":384,"1f9ae":27,"1f9af":6196,"1f9b4":1193,"1f9b5":1186,"1f9b6":1187,"1f9b7":1192,"1f9b8-200d-2640-fe0f":1330,"1f9b8-200d-2642-fe0f":1329,"1f9b8":1328,"1f9b9-200d-2640-fe0f":1333,"1f9b9-200d-2642-fe0f":1332,"1f9b9":1331,"1f9ba":65,"1f9bb":1189,"1f9bc":495,"1f9bd":494,"1f9be":1184,"1f9bf":1185,"1f9c0":339,"1f9c1":392,"1f9c2":361,"1f9c3":3113,"1f9c4":327,"1f9c5":328,"1f9c6":352,"1f9c7":338,"1f9c8":360,"1f9c9":3114,"1f9ca":3115,"1f9cd-200d-2640-fe0f":1366,"1f9cd-200d-2642-fe0f":1365,"1f9cd":1364,"1f9ce-200d-2640-fe0f":1369,"1f9ce-200d-2642-fe0f":1368,"1f9ce":1367,"1f9cf-200d-2640-fe0f":1244,"1f9cf-200d-2642-fe0f":1243,"1f9cf":1242,"1f9d0":162,"1f9d1-200d-1f33e":1266,"1f9d1-200d-1f373":1269,"1f9d1-200d-1f393":1257,"1f9d1-200d-1f3a4":1287,"1f9d1-200d-1f3a8":1290,"1f9d1-200d-1f3eb":1260,"1f9d1-200d-1f3ed":1275,"1f9d1-200d-1f4bb":1284,"1f9d1-200d-1f4bc":1278,"1f9d1-200d-1f527":1272,"1f9d1-200d-1f52c":1281,"1f9d1-200d-1f680":1296,"1f9d1-200d-1f692":1299,"1f9d1-200d-1f91d-200d-1f9d1":1442,"1f9d1-200d-1f9af":1370,"1f9d1-200d-1f9b0":1212,"1f9d1-200d-1f9b1":1214,"1f9d1-200d-1f9b2":1218,"1f9d1-200d-1f9b3":1216,"1f9d1-200d-1f9bc":1373,"1f9d1-200d-1f9bd":1376,"1f9d1-200d-2695-fe0f":1254,"1f9d1-200d-2696-fe0f":1263,"1f9d1-200d-2708-fe0f":1293,"1f9d1":1202,"1f9d2":1199,"1f9d3":1221,"1f9d4":1205,"1f9d5":1320,"1f9d6-200d-2640-fe0f":1390,"1f9d6-200d-2642-fe0f":1389,"1f9d6":1388,"1f9d7-200d-2640-fe0f":1393,"1f9d7-200d-2642-fe0f":1392,"1f9d7":1391,"1f9d8-200d-2640-fe0f":1439,"1f9d8-200d-2642-fe0f":1438,"1f9d8":1437,"1f9d9-200d-2640-fe0f":1336,"1f9d9-200d-2642-fe0f":1335,"1f9d9":1334,"1f9da-200d-2640-fe0f":1339,"1f9da-200d-2642-fe0f":1338,"1f9da":1337,"1f9db-200d-2640-fe0f":1342,"1f9db-200d-2642-fe0f":1341,"1f9db":1340,"1f9dc-200d-2640-fe0f":1345,"1f9dc-200d-2642-fe0f":1344,"1f9dc":1343,"1f9dd-200d-2640-fe0f":1348,"1f9dd-200d-2642-fe0f":1347,"1f9dd":1346,"1f9de-200d-2640-fe0f":1351,"1f9de-200d-2642-fe0f":1350,"1f9de":1349,"1f9df-200d-2640-fe0f":1354,"1f9df-200d-2642-fe0f":1353,"1f9df":1352,"1f9e0":1191,"1f9e1":1128,"1f9e2":638,"1f9e3":69,"1f9e4":610,"1f9e5":611,"1f9e6":612,"1f9e7":516,"1f9e8":55,"1f9e9":565,"1f9ea":6202,"1f9eb":6203,"1f9ec":6204,"1f9ed":47,"1f9ee":687,"1f9ef":6228,"1f9f0":6199,"1f9f1":420,"1f9f2":6200,"1f9f3":4132,"1f9f4":6221,"1f9f5":578,"1f9f6":579,"1f9f7":6222,"1f9f8":566,"1f9f9":6223,"1f9fa":6224,"1f9fb":6225,"1f9fc":6226,"1f9fd":6227,"1f9fe":6128,"1f9ff":560,"1fa70":632,"1fa71":616,"1fa72":617,"1fa73":618,"1fa78":6209,"1fa79":6211,"1fa7a":6212,"1fa80":556,"1fa81":557,"1fa82":4122,"1fa90":4180,"1fa91":6216,"1fa92":6220,"1fa93":6182,"1fa94":6103,"1fa95":667,"203c":6355,"21a9":6270,"21aa":6271,"231a":4135,"231b":4133,"23cf":6323,"23e9":6310,"23ea":6314,"23eb":6317,"23ec":6319,"23ed":6311,"23ee":6315,"23ef":6312,"23f0":4136,"23f1":4137,"23f2":4138,"23f3":4134,"23f8":6320,"23f9":6321,"23fa":6322,"24c2":6391,"25aa":6439,"25ab":6440,"25b6":6309,"25c0":6313,"25fb":6436,"25fc":6435,"25fd":6438,"25fe":6437,"260e":671,"261d":1167,"262a":6289,"262e":6290,"262f":6286,"263a":119,"264a":6295,"264b":6296,"264c":6297,"264d":6298,"264e":6299,"264f":6300,"265f":571,"267b":6334,"267e":6333,"267f":6237,"269b":6282,"269c":6335,"26a0":6247,"26a1":4203,"26aa":6425,"26ab":6424,"26b0":6231,"26b1":6232,"26bd":528,"26be":529,"26c4":4206,"26c5":4186,"26c8":4187,"26ce":6305,"26cf":6183,"26d1":639,"26d3":6198,"26d4":6249,"26e9":445,"26ea":441,"26f0":49,"26f1":4202,"26f2":447,"26f3":547,"26f4":4115,"26f5":4111,"26f7":1396,"26f8":548,"26f9-fe0f-200d-2640-fe0f":1412,"26f9-fe0f-200d-2642-fe0f":1411,"26f9":1410,"26fa":448,"26fd":4104,"270a":1170,"270b":1153,"270c":1157,"270d":1180,"270f":6145,"271d":6287,"274c":6344,"274e":6345,"27a1":6262,"27b0":6349,"27bf":6350,"2b05":6266,"2b06":6260,"2b07":6264,"2b1b":6433,"2b1c":6434,"2b50":4181,"2b55":6339,"303d":6351,"1f385-1f3fb":0,"1f385-1f3fc":0,"1f385-1f3fd":0,"1f385-1f3fe":0,"1f385-1f3ff":0,"1f3c2-1f3fb":0,"1f3c2-1f3fc":0,"1f3c2-1f3fd":0,"1f3c2-1f3fe":0,"1f3c2-1f3ff":0,"1f3c3-1f3fb-200d-2640-fe0f":0,"1f3c3-1f3fc-200d-2640-fe0f":0,"1f3c3-1f3fd-200d-2640-fe0f":0,"1f3c3-1f3fe-200d-2640-fe0f":0,"1f3c3-1f3ff-200d-2640-fe0f":0,"1f3c3-1f3fb-200d-2642-fe0f":0,"1f3c3-1f3fc-200d-2642-fe0f":0,"1f3c3-1f3fd-200d-2642-fe0f":0,"1f3c3-1f3fe-200d-2642-fe0f":0,"1f3c3-1f3ff-200d-2642-fe0f":0,"1f3c3-1f3fb":0,"1f3c3-1f3fc":0,"1f3c3-1f3fd":0,"1f3c3-1f3fe":0,"1f3c3-1f3ff":0,"1f3c4-1f3fb-200d-2640-fe0f":0,"1f3c4-1f3fc-200d-2640-fe0f":0,"1f3c4-1f3fd-200d-2640-fe0f":0,"1f3c4-1f3fe-200d-2640-fe0f":0,"1f3c4-1f3ff-200d-2640-fe0f":0,"1f3c4-1f3fb-200d-2642-fe0f":0,"1f3c4-1f3fc-200d-2642-fe0f":0,"1f3c4-1f3fd-200d-2642-fe0f":0,"1f3c4-1f3fe-200d-2642-fe0f":0,"1f3c4-1f3ff-200d-2642-fe0f":0,"1f3c4-1f3fb":0,"1f3c4-1f3fc":0,"1f3c4-1f3fd":0,"1f3c4-1f3fe":0,"1f3c4-1f3ff":0,"1f3c7-1f3fb":0,"1f3c7-1f3fc":0,"1f3c7-1f3fd":0,"1f3c7-1f3fe":0,"1f3c7-1f3ff":0,"1f3ca-1f3fb-200d-2640-fe0f":0,"1f3ca-1f3fc-200d-2640-fe0f":0,"1f3ca-1f3fd-200d-2640-fe0f":0,"1f3ca-1f3fe-200d-2640-fe0f":0,"1f3ca-1f3ff-200d-2640-fe0f":0,"1f3ca-1f3fb-200d-2642-fe0f":0,"1f3ca-1f3fc-200d-2642-fe0f":0,"1f3ca-1f3fd-200d-2642-fe0f":0,"1f3ca-1f3fe-200d-2642-fe0f":0,"1f3ca-1f3ff-200d-2642-fe0f":0,"1f3ca-1f3fb":0,"1f3ca-1f3fc":0,"1f3ca-1f3fd":0,"1f3ca-1f3fe":0,"1f3ca-1f3ff":0,"1f3cb-1f3fb-200d-2640-fe0f":0,"1f3cb-1f3fc-200d-2640-fe0f":0,"1f3cb-1f3fd-200d-2640-fe0f":0,"1f3cb-1f3fe-200d-2640-fe0f":0,"1f3cb-1f3ff-200d-2640-fe0f":0,"1f3cb-1f3fb-200d-2642-fe0f":0,"1f3cb-1f3fc-200d-2642-fe0f":0,"1f3cb-1f3fd-200d-2642-fe0f":0,"1f3cb-1f3fe-200d-2642-fe0f":0,"1f3cb-1f3ff-200d-2642-fe0f":0,"1f3cb-1f3fb":0,"1f3cb-1f3fc":0,"1f3cb-1f3fd":0,"1f3cb-1f3fe":0,"1f3cb-1f3ff":0,"1f3cc-1f3fb-200d-2640-fe0f":0,"1f3cc-1f3fc-200d-2640-fe0f":0,"1f3cc-1f3fd-200d-2640-fe0f":0,"1f3cc-1f3fe-200d-2640-fe0f":0,"1f3cc-1f3ff-200d-2640-fe0f":0,"1f3cc-1f3fb-200d-2642-fe0f":0,"1f3cc-1f3fc-200d-2642-fe0f":0,"1f3cc-1f3fd-200d-2642-fe0f":0,"1f3cc-1f3fe-200d-2642-fe0f":0,"1f3cc-1f3ff-200d-2642-fe0f":0,"1f3cc-1f3fb":0,"1f3cc-1f3fc":0,"1f3cc-1f3fd":0,"1f3cc-1f3fe":0,"1f3cc-1f3ff":0,"1f442-1f3fb":0,"1f442-1f3fc":0,"1f442-1f3fd":0,"1f442-1f3fe":0,"1f442-1f3ff":0,"1f443-1f3fb":0,"1f443-1f3fc":0,"1f443-1f3fd":0,"1f443-1f3fe":0,"1f443-1f3ff":0,"1f446-1f3fb":0,"1f446-1f3fc":0,"1f446-1f3fd":0,"1f446-1f3fe":0,"1f446-1f3ff":0,"1f447-1f3fb":0,"1f447-1f3fc":0,"1f447-1f3fd":0,"1f447-1f3fe":0,"1f447-1f3ff":0,"1f448-1f3fb":0,"1f448-1f3fc":0,"1f448-1f3fd":0,"1f448-1f3fe":0,"1f448-1f3ff":0,"1f449-1f3fb":0,"1f449-1f3fc":0,"1f449-1f3fd":0,"1f449-1f3fe":0,"1f449-1f3ff":0,"1f44a-1f3fb":0,"1f44a-1f3fc":0,"1f44a-1f3fd":0,"1f44a-1f3fe":0,"1f44a-1f3ff":0,"1f44b-1f3fb":0,"1f44b-1f3fc":0,"1f44b-1f3fd":0,"1f44b-1f3fe":0,"1f44b-1f3ff":0,"1f44c-1f3fb":0,"1f44c-1f3fc":0,"1f44c-1f3fd":0,"1f44c-1f3fe":0,"1f44c-1f3ff":0,"1f44d-1f3fb":0,"1f44d-1f3fc":0,"1f44d-1f3fd":0,"1f44d-1f3fe":0,"1f44d-1f3ff":0,"1f44e-1f3fb":0,"1f44e-1f3fc":0,"1f44e-1f3fd":0,"1f44e-1f3fe":0,"1f44e-1f3ff":0,"1f44f-1f3fb":0,"1f44f-1f3fc":0,"1f44f-1f3fd":0,"1f44f-1f3fe":0,"1f44f-1f3ff":0,"1f450-1f3fb":0,"1f450-1f3fc":0,"1f450-1f3fd":0,"1f450-1f3fe":0,"1f450-1f3ff":0,"1f466-1f3fb":0,"1f466-1f3fc":0,"1f466-1f3fd":0,"1f466-1f3fe":0,"1f466-1f3ff":0,"1f467-1f3fb":0,"1f467-1f3fc":0,"1f467-1f3fd":0,"1f467-1f3fe":0,"1f467-1f3ff":0,"1f468-1f3fb-200d-1f33e":0,"1f468-1f3fc-200d-1f33e":0,"1f468-1f3fd-200d-1f33e":0,"1f468-1f3fe-200d-1f33e":0,"1f468-1f3ff-200d-1f33e":0,"1f468-1f3fb-200d-1f373":0,"1f468-1f3fc-200d-1f373":0,"1f468-1f3fd-200d-1f373":0,"1f468-1f3fe-200d-1f373":0,"1f468-1f3ff-200d-1f373":0,"1f468-1f3fb-200d-1f393":0,"1f468-1f3fc-200d-1f393":0,"1f468-1f3fd-200d-1f393":0,"1f468-1f3fe-200d-1f393":0,"1f468-1f3ff-200d-1f393":0,"1f468-1f3fb-200d-1f3a4":0,"1f468-1f3fc-200d-1f3a4":0,"1f468-1f3fd-200d-1f3a4":0,"1f468-1f3fe-200d-1f3a4":0,"1f468-1f3ff-200d-1f3a4":0,"1f468-1f3fb-200d-1f3a8":0,"1f468-1f3fc-200d-1f3a8":0,"1f468-1f3fd-200d-1f3a8":0,"1f468-1f3fe-200d-1f3a8":0,"1f468-1f3ff-200d-1f3a8":0,"1f468-1f3fb-200d-1f3eb":0,"1f468-1f3fc-200d-1f3eb":0,"1f468-1f3fd-200d-1f3eb":0,"1f468-1f3fe-200d-1f3eb":0,"1f468-1f3ff-200d-1f3eb":0,"1f468-1f3fb-200d-1f3ed":0,"1f468-1f3fc-200d-1f3ed":0,"1f468-1f3fd-200d-1f3ed":0,"1f468-1f3fe-200d-1f3ed":0,"1f468-1f3ff-200d-1f3ed":0,"1f468-1f3fb-200d-1f4bb":0,"1f468-1f3fc-200d-1f4bb":0,"1f468-1f3fd-200d-1f4bb":0,"1f468-1f3fe-200d-1f4bb":0,"1f468-1f3ff-200d-1f4bb":0,"1f468-1f3fb-200d-1f4bc":0,"1f468-1f3fc-200d-1f4bc":0,"1f468-1f3fd-200d-1f4bc":0,"1f468-1f3fe-200d-1f4bc":0,"1f468-1f3ff-200d-1f4bc":0,"1f468-1f3fb-200d-1f527":0,"1f468-1f3fc-200d-1f527":0,"1f468-1f3fd-200d-1f527":0,"1f468-1f3fe-200d-1f527":0,"1f468-1f3ff-200d-1f527":0,"1f468-1f3fb-200d-1f52c":0,"1f468-1f3fc-200d-1f52c":0,"1f468-1f3fd-200d-1f52c":0,"1f468-1f3fe-200d-1f52c":0,"1f468-1f3ff-200d-1f52c":0,"1f468-1f3fb-200d-1f680":0,"1f468-1f3fc-200d-1f680":0,"1f468-1f3fd-200d-1f680":0,"1f468-1f3fe-200d-1f680":0,"1f468-1f3ff-200d-1f680":0,"1f468-1f3fb-200d-1f692":0,"1f468-1f3fc-200d-1f692":0,"1f468-1f3fd-200d-1f692":0,"1f468-1f3fe-200d-1f692":0,"1f468-1f3ff-200d-1f692":0,"1f468-1f3fb-200d-1f9af":0,"1f468-1f3fc-200d-1f9af":0,"1f468-1f3fd-200d-1f9af":0,"1f468-1f3fe-200d-1f9af":0,"1f468-1f3ff-200d-1f9af":0,"1f468-1f3fb-200d-1f9b0":0,"1f468-1f3fc-200d-1f9b0":0,"1f468-1f3fd-200d-1f9b0":0,"1f468-1f3fe-200d-1f9b0":0,"1f468-1f3ff-200d-1f9b0":0,"1f468-1f3fb-200d-1f9b1":0,"1f468-1f3fc-200d-1f9b1":0,"1f468-1f3fd-200d-1f9b1":0,"1f468-1f3fe-200d-1f9b1":0,"1f468-1f3ff-200d-1f9b1":0,"1f468-1f3fb-200d-1f9b2":0,"1f468-1f3fc-200d-1f9b2":0,"1f468-1f3fd-200d-1f9b2":0,"1f468-1f3fe-200d-1f9b2":0,"1f468-1f3ff-200d-1f9b2":0,"1f468-1f3fb-200d-1f9b3":0,"1f468-1f3fc-200d-1f9b3":0,"1f468-1f3fd-200d-1f9b3":0,"1f468-1f3fe-200d-1f9b3":0,"1f468-1f3ff-200d-1f9b3":0,"1f468-1f3fb-200d-1f9bc":0,"1f468-1f3fc-200d-1f9bc":0,"1f468-1f3fd-200d-1f9bc":0,"1f468-1f3fe-200d-1f9bc":0,"1f468-1f3ff-200d-1f9bc":0,"1f468-1f3fb-200d-1f9bd":0,"1f468-1f3fc-200d-1f9bd":0,"1f468-1f3fd-200d-1f9bd":0,"1f468-1f3fe-200d-1f9bd":0,"1f468-1f3ff-200d-1f9bd":0,"1f468-1f3fb-200d-2695-fe0f":0,"1f468-1f3fc-200d-2695-fe0f":0,"1f468-1f3fd-200d-2695-fe0f":0,"1f468-1f3fe-200d-2695-fe0f":0,"1f468-1f3ff-200d-2695-fe0f":0,"1f468-1f3fb-200d-2696-fe0f":0,"1f468-1f3fc-200d-2696-fe0f":0,"1f468-1f3fd-200d-2696-fe0f":0,"1f468-1f3fe-200d-2696-fe0f":0,"1f468-1f3ff-200d-2696-fe0f":0,"1f468-1f3fb-200d-2708-fe0f":0,"1f468-1f3fc-200d-2708-fe0f":0,"1f468-1f3fd-200d-2708-fe0f":0,"1f468-1f3fe-200d-2708-fe0f":0,"1f468-1f3ff-200d-2708-fe0f":0,"1f468-1f3fb":0,"1f468-1f3fc":0,"1f468-1f3fd":0,"1f468-1f3fe":0,"1f468-1f3ff":0,"1f469-1f3fb-200d-1f33e":0,"1f469-1f3fc-200d-1f33e":0,"1f469-1f3fd-200d-1f33e":0,"1f469-1f3fe-200d-1f33e":0,"1f469-1f3ff-200d-1f33e":0,"1f469-1f3fb-200d-1f373":0,"1f469-1f3fc-200d-1f373":0,"1f469-1f3fd-200d-1f373":0,"1f469-1f3fe-200d-1f373":0,"1f469-1f3ff-200d-1f373":0,"1f469-1f3fb-200d-1f393":0,"1f469-1f3fc-200d-1f393":0,"1f469-1f3fd-200d-1f393":0,"1f469-1f3fe-200d-1f393":0,"1f469-1f3ff-200d-1f393":0,"1f469-1f3fb-200d-1f3a4":0,"1f469-1f3fc-200d-1f3a4":0,"1f469-1f3fd-200d-1f3a4":0,"1f469-1f3fe-200d-1f3a4":0,"1f469-1f3ff-200d-1f3a4":0,"1f469-1f3fb-200d-1f3a8":0,"1f469-1f3fc-200d-1f3a8":0,"1f469-1f3fd-200d-1f3a8":0,"1f469-1f3fe-200d-1f3a8":0,"1f469-1f3ff-200d-1f3a8":0,"1f469-1f3fb-200d-1f3eb":0,"1f469-1f3fc-200d-1f3eb":0,"1f469-1f3fd-200d-1f3eb":0,"1f469-1f3fe-200d-1f3eb":0,"1f469-1f3ff-200d-1f3eb":0,"1f469-1f3fb-200d-1f3ed":0,"1f469-1f3fc-200d-1f3ed":0,"1f469-1f3fd-200d-1f3ed":0,"1f469-1f3fe-200d-1f3ed":0,"1f469-1f3ff-200d-1f3ed":0,"1f469-1f3fb-200d-1f4bb":0,"1f469-1f3fc-200d-1f4bb":0,"1f469-1f3fd-200d-1f4bb":0,"1f469-1f3fe-200d-1f4bb":0,"1f469-1f3ff-200d-1f4bb":0,"1f469-1f3fb-200d-1f4bc":0,"1f469-1f3fc-200d-1f4bc":0,"1f469-1f3fd-200d-1f4bc":0,"1f469-1f3fe-200d-1f4bc":0,"1f469-1f3ff-200d-1f4bc":0,"1f469-1f3fb-200d-1f527":0,"1f469-1f3fc-200d-1f527":0,"1f469-1f3fd-200d-1f527":0,"1f469-1f3fe-200d-1f527":0,"1f469-1f3ff-200d-1f527":0,"1f469-1f3fb-200d-1f52c":0,"1f469-1f3fc-200d-1f52c":0,"1f469-1f3fd-200d-1f52c":0,"1f469-1f3fe-200d-1f52c":0,"1f469-1f3ff-200d-1f52c":0,"1f469-1f3fb-200d-1f680":0,"1f469-1f3fc-200d-1f680":0,"1f469-1f3fd-200d-1f680":0,"1f469-1f3fe-200d-1f680":0,"1f469-1f3ff-200d-1f680":0,"1f469-1f3fb-200d-1f692":0,"1f469-1f3fc-200d-1f692":0,"1f469-1f3fd-200d-1f692":0,"1f469-1f3fe-200d-1f692":0,"1f469-1f3ff-200d-1f692":0,"1f469-1f3fb-200d-1f9af":0,"1f469-1f3fc-200d-1f9af":0,"1f469-1f3fd-200d-1f9af":0,"1f469-1f3fe-200d-1f9af":0,"1f469-1f3ff-200d-1f9af":0,"1f469-1f3fb-200d-1f9b0":0,"1f469-1f3fc-200d-1f9b0":0,"1f469-1f3fd-200d-1f9b0":0,"1f469-1f3fe-200d-1f9b0":0,"1f469-1f3ff-200d-1f9b0":0,"1f469-1f3fb-200d-1f9b1":0,"1f469-1f3fc-200d-1f9b1":0,"1f469-1f3fd-200d-1f9b1":0,"1f469-1f3fe-200d-1f9b1":0,"1f469-1f3ff-200d-1f9b1":0,"1f469-1f3fb-200d-1f9b2":0,"1f469-1f3fc-200d-1f9b2":0,"1f469-1f3fd-200d-1f9b2":0,"1f469-1f3fe-200d-1f9b2":0,"1f469-1f3ff-200d-1f9b2":0,"1f469-1f3fb-200d-1f9b3":0,"1f469-1f3fc-200d-1f9b3":0,"1f469-1f3fd-200d-1f9b3":0,"1f469-1f3fe-200d-1f9b3":0,"1f469-1f3ff-200d-1f9b3":0,"1f469-1f3fb-200d-1f9bc":0,"1f469-1f3fc-200d-1f9bc":0,"1f469-1f3fd-200d-1f9bc":0,"1f469-1f3fe-200d-1f9bc":0,"1f469-1f3ff-200d-1f9bc":0,"1f469-1f3fb-200d-1f9bd":0,"1f469-1f3fc-200d-1f9bd":0,"1f469-1f3fd-200d-1f9bd":0,"1f469-1f3fe-200d-1f9bd":0,"1f469-1f3ff-200d-1f9bd":0,"1f469-1f3fb-200d-2695-fe0f":0,"1f469-1f3fc-200d-2695-fe0f":0,"1f469-1f3fd-200d-2695-fe0f":0,"1f469-1f3fe-200d-2695-fe0f":0,"1f469-1f3ff-200d-2695-fe0f":0,"1f469-1f3fb-200d-2696-fe0f":0,"1f469-1f3fc-200d-2696-fe0f":0,"1f469-1f3fd-200d-2696-fe0f":0,"1f469-1f3fe-200d-2696-fe0f":0,"1f469-1f3ff-200d-2696-fe0f":0,"1f469-1f3fb-200d-2708-fe0f":0,"1f469-1f3fc-200d-2708-fe0f":0,"1f469-1f3fd-200d-2708-fe0f":0,"1f469-1f3fe-200d-2708-fe0f":0,"1f469-1f3ff-200d-2708-fe0f":0,"1f469-1f3fb":0,"1f469-1f3fc":0,"1f469-1f3fd":0,"1f469-1f3fe":0,"1f469-1f3ff":0,"1f46b-1f3fb":0,"1f46b-1f3fc":0,"1f46b-1f3fd":0,"1f46b-1f3fe":0,"1f46b-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46c-1f3fb":0,"1f46c-1f3fc":0,"1f46c-1f3fd":0,"1f46c-1f3fe":0,"1f46c-1f3ff":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe":0,"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd":0,"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe":0,"1f46d-1f3fb":0,"1f46d-1f3fc":0,"1f46d-1f3fd":0,"1f46d-1f3fe":0,"1f46d-1f3ff":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe":0,"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd":0,"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe":0,"1f46e-1f3fb-200d-2640-fe0f":0,"1f46e-1f3fc-200d-2640-fe0f":0,"1f46e-1f3fd-200d-2640-fe0f":0,"1f46e-1f3fe-200d-2640-fe0f":0,"1f46e-1f3ff-200d-2640-fe0f":0,"1f46e-1f3fb-200d-2642-fe0f":0,"1f46e-1f3fc-200d-2642-fe0f":0,"1f46e-1f3fd-200d-2642-fe0f":0,"1f46e-1f3fe-200d-2642-fe0f":0,"1f46e-1f3ff-200d-2642-fe0f":0,"1f46e-1f3fb":0,"1f46e-1f3fc":0,"1f46e-1f3fd":0,"1f46e-1f3fe":0,"1f46e-1f3ff":0,"1f470-1f3fb":0,"1f470-1f3fc":0,"1f470-1f3fd":0,"1f470-1f3fe":0,"1f470-1f3ff":0,"1f471-1f3fb-200d-2640-fe0f":0,"1f471-1f3fc-200d-2640-fe0f":0,"1f471-1f3fd-200d-2640-fe0f":0,"1f471-1f3fe-200d-2640-fe0f":0,"1f471-1f3ff-200d-2640-fe0f":0,"1f471-1f3fb-200d-2642-fe0f":0,"1f471-1f3fc-200d-2642-fe0f":0,"1f471-1f3fd-200d-2642-fe0f":0,"1f471-1f3fe-200d-2642-fe0f":0,"1f471-1f3ff-200d-2642-fe0f":0,"1f471-1f3fb":0,"1f471-1f3fc":0,"1f471-1f3fd":0,"1f471-1f3fe":0,"1f471-1f3ff":0,"1f472-1f3fb":0,"1f472-1f3fc":0,"1f472-1f3fd":0,"1f472-1f3fe":0,"1f472-1f3ff":0,"1f473-1f3fb-200d-2640-fe0f":0,"1f473-1f3fc-200d-2640-fe0f":0,"1f473-1f3fd-200d-2640-fe0f":0,"1f473-1f3fe-200d-2640-fe0f":0,"1f473-1f3ff-200d-2640-fe0f":0,"1f473-1f3fb-200d-2642-fe0f":0,"1f473-1f3fc-200d-2642-fe0f":0,"1f473-1f3fd-200d-2642-fe0f":0,"1f473-1f3fe-200d-2642-fe0f":0,"1f473-1f3ff-200d-2642-fe0f":0,"1f473-1f3fb":0,"1f473-1f3fc":0,"1f473-1f3fd":0,"1f473-1f3fe":0,"1f473-1f3ff":0,"1f474-1f3fb":0,"1f474-1f3fc":0,"1f474-1f3fd":0,"1f474-1f3fe":0,"1f474-1f3ff":0,"1f475-1f3fb":0,"1f475-1f3fc":0,"1f475-1f3fd":0,"1f475-1f3fe":0,"1f475-1f3ff":0,"1f476-1f3fb":0,"1f476-1f3fc":0,"1f476-1f3fd":0,"1f476-1f3fe":0,"1f476-1f3ff":0,"1f477-1f3fb-200d-2640-fe0f":0,"1f477-1f3fc-200d-2640-fe0f":0,"1f477-1f3fd-200d-2640-fe0f":0,"1f477-1f3fe-200d-2640-fe0f":0,"1f477-1f3ff-200d-2640-fe0f":0,"1f477-1f3fb-200d-2642-fe0f":0,"1f477-1f3fc-200d-2642-fe0f":0,"1f477-1f3fd-200d-2642-fe0f":0,"1f477-1f3fe-200d-2642-fe0f":0,"1f477-1f3ff-200d-2642-fe0f":0,"1f477-1f3fb":0,"1f477-1f3fc":0,"1f477-1f3fd":0,"1f477-1f3fe":0,"1f477-1f3ff":0,"1f478-1f3fb":0,"1f478-1f3fc":0,"1f478-1f3fd":0,"1f478-1f3fe":0,"1f478-1f3ff":0,"1f47c-1f3fb":0,"1f47c-1f3fc":0,"1f47c-1f3fd":0,"1f47c-1f3fe":0,"1f47c-1f3ff":0,"1f481-1f3fb-200d-2640-fe0f":0,"1f481-1f3fc-200d-2640-fe0f":0,"1f481-1f3fd-200d-2640-fe0f":0,"1f481-1f3fe-200d-2640-fe0f":0,"1f481-1f3ff-200d-2640-fe0f":0,"1f481-1f3fb-200d-2642-fe0f":0,"1f481-1f3fc-200d-2642-fe0f":0,"1f481-1f3fd-200d-2642-fe0f":0,"1f481-1f3fe-200d-2642-fe0f":0,"1f481-1f3ff-200d-2642-fe0f":0,"1f481-1f3fb":0,"1f481-1f3fc":0,"1f481-1f3fd":0,"1f481-1f3fe":0,"1f481-1f3ff":0,"1f482-1f3fb-200d-2640-fe0f":0,"1f482-1f3fc-200d-2640-fe0f":0,"1f482-1f3fd-200d-2640-fe0f":0,"1f482-1f3fe-200d-2640-fe0f":0,"1f482-1f3ff-200d-2640-fe0f":0,"1f482-1f3fb-200d-2642-fe0f":0,"1f482-1f3fc-200d-2642-fe0f":0,"1f482-1f3fd-200d-2642-fe0f":0,"1f482-1f3fe-200d-2642-fe0f":0,"1f482-1f3ff-200d-2642-fe0f":0,"1f482-1f3fb":0,"1f482-1f3fc":0,"1f482-1f3fd":0,"1f482-1f3fe":0,"1f482-1f3ff":0,"1f483-1f3fb":0,"1f483-1f3fc":0,"1f483-1f3fd":0,"1f483-1f3fe":0,"1f483-1f3ff":0,"1f485-1f3fb":0,"1f485-1f3fc":0,"1f485-1f3fd":0,"1f485-1f3fe":0,"1f485-1f3ff":0,"1f486-1f3fb-200d-2640-fe0f":0,"1f486-1f3fc-200d-2640-fe0f":0,"1f486-1f3fd-200d-2640-fe0f":0,"1f486-1f3fe-200d-2640-fe0f":0,"1f486-1f3ff-200d-2640-fe0f":0,"1f486-1f3fb-200d-2642-fe0f":0,"1f486-1f3fc-200d-2642-fe0f":0,"1f486-1f3fd-200d-2642-fe0f":0,"1f486-1f3fe-200d-2642-fe0f":0,"1f486-1f3ff-200d-2642-fe0f":0,"1f486-1f3fb":0,"1f486-1f3fc":0,"1f486-1f3fd":0,"1f486-1f3fe":0,"1f486-1f3ff":0,"1f487-1f3fb-200d-2640-fe0f":0,"1f487-1f3fc-200d-2640-fe0f":0,"1f487-1f3fd-200d-2640-fe0f":0,"1f487-1f3fe-200d-2640-fe0f":0,"1f487-1f3ff-200d-2640-fe0f":0,"1f487-1f3fb-200d-2642-fe0f":0,"1f487-1f3fc-200d-2642-fe0f":0,"1f487-1f3fd-200d-2642-fe0f":0,"1f487-1f3fe-200d-2642-fe0f":0,"1f487-1f3ff-200d-2642-fe0f":0,"1f487-1f3fb":0,"1f487-1f3fc":0,"1f487-1f3fd":0,"1f487-1f3fe":0,"1f487-1f3ff":0,"1f4aa-1f3fb":0,"1f4aa-1f3fc":0,"1f4aa-1f3fd":0,"1f4aa-1f3fe":0,"1f4aa-1f3ff":0,"1f574-1f3fb":0,"1f574-1f3fc":0,"1f574-1f3fd":0,"1f574-1f3fe":0,"1f574-1f3ff":0,"1f575-1f3fb-200d-2640-fe0f":0,"1f575-1f3fc-200d-2640-fe0f":0,"1f575-1f3fd-200d-2640-fe0f":0,"1f575-1f3fe-200d-2640-fe0f":0,"1f575-1f3ff-200d-2640-fe0f":0,"1f575-1f3fb-200d-2642-fe0f":0,"1f575-1f3fc-200d-2642-fe0f":0,"1f575-1f3fd-200d-2642-fe0f":0,"1f575-1f3fe-200d-2642-fe0f":0,"1f575-1f3ff-200d-2642-fe0f":0,"1f575-1f3fb":0,"1f575-1f3fc":0,"1f575-1f3fd":0,"1f575-1f3fe":0,"1f575-1f3ff":0,"1f57a-1f3fb":0,"1f57a-1f3fc":0,"1f57a-1f3fd":0,"1f57a-1f3fe":0,"1f57a-1f3ff":0,"1f590-1f3fb":0,"1f590-1f3fc":0,"1f590-1f3fd":0,"1f590-1f3fe":0,"1f590-1f3ff":0,"1f595-1f3fb":0,"1f595-1f3fc":0,"1f595-1f3fd":0,"1f595-1f3fe":0,"1f595-1f3ff":0,"1f596-1f3fb":0,"1f596-1f3fc":0,"1f596-1f3fd":0,"1f596-1f3fe":0,"1f596-1f3ff":0,"1f645-1f3fb-200d-2640-fe0f":0,"1f645-1f3fc-200d-2640-fe0f":0,"1f645-1f3fd-200d-2640-fe0f":0,"1f645-1f3fe-200d-2640-fe0f":0,"1f645-1f3ff-200d-2640-fe0f":0,"1f645-1f3fb-200d-2642-fe0f":0,"1f645-1f3fc-200d-2642-fe0f":0,"1f645-1f3fd-200d-2642-fe0f":0,"1f645-1f3fe-200d-2642-fe0f":0,"1f645-1f3ff-200d-2642-fe0f":0,"1f645-1f3fb":0,"1f645-1f3fc":0,"1f645-1f3fd":0,"1f645-1f3fe":0,"1f645-1f3ff":0,"1f646-1f3fb-200d-2640-fe0f":0,"1f646-1f3fc-200d-2640-fe0f":0,"1f646-1f3fd-200d-2640-fe0f":0,"1f646-1f3fe-200d-2640-fe0f":0,"1f646-1f3ff-200d-2640-fe0f":0,"1f646-1f3fb-200d-2642-fe0f":0,"1f646-1f3fc-200d-2642-fe0f":0,"1f646-1f3fd-200d-2642-fe0f":0,"1f646-1f3fe-200d-2642-fe0f":0,"1f646-1f3ff-200d-2642-fe0f":0,"1f646-1f3fb":0,"1f646-1f3fc":0,"1f646-1f3fd":0,"1f646-1f3fe":0,"1f646-1f3ff":0,"1f647-1f3fb-200d-2640-fe0f":0,"1f647-1f3fc-200d-2640-fe0f":0,"1f647-1f3fd-200d-2640-fe0f":0,"1f647-1f3fe-200d-2640-fe0f":0,"1f647-1f3ff-200d-2640-fe0f":0,"1f647-1f3fb-200d-2642-fe0f":0,"1f647-1f3fc-200d-2642-fe0f":0,"1f647-1f3fd-200d-2642-fe0f":0,"1f647-1f3fe-200d-2642-fe0f":0,"1f647-1f3ff-200d-2642-fe0f":0,"1f647-1f3fb":0,"1f647-1f3fc":0,"1f647-1f3fd":0,"1f647-1f3fe":0,"1f647-1f3ff":0,"1f64b-1f3fb-200d-2640-fe0f":0,"1f64b-1f3fc-200d-2640-fe0f":0,"1f64b-1f3fd-200d-2640-fe0f":0,"1f64b-1f3fe-200d-2640-fe0f":0,"1f64b-1f3ff-200d-2640-fe0f":0,"1f64b-1f3fb-200d-2642-fe0f":0,"1f64b-1f3fc-200d-2642-fe0f":0,"1f64b-1f3fd-200d-2642-fe0f":0,"1f64b-1f3fe-200d-2642-fe0f":0,"1f64b-1f3ff-200d-2642-fe0f":0,"1f64b-1f3fb":0,"1f64b-1f3fc":0,"1f64b-1f3fd":0,"1f64b-1f3fe":0,"1f64b-1f3ff":0,"1f64c-1f3fb":0,"1f64c-1f3fc":0,"1f64c-1f3fd":0,"1f64c-1f3fe":0,"1f64c-1f3ff":0,"1f64d-1f3fb-200d-2640-fe0f":0,"1f64d-1f3fc-200d-2640-fe0f":0,"1f64d-1f3fd-200d-2640-fe0f":0,"1f64d-1f3fe-200d-2640-fe0f":0,"1f64d-1f3ff-200d-2640-fe0f":0,"1f64d-1f3fb-200d-2642-fe0f":0,"1f64d-1f3fc-200d-2642-fe0f":0,"1f64d-1f3fd-200d-2642-fe0f":0,"1f64d-1f3fe-200d-2642-fe0f":0,"1f64d-1f3ff-200d-2642-fe0f":0,"1f64d-1f3fb":0,"1f64d-1f3fc":0,"1f64d-1f3fd":0,"1f64d-1f3fe":0,"1f64d-1f3ff":0,"1f64e-1f3fb-200d-2640-fe0f":0,"1f64e-1f3fc-200d-2640-fe0f":0,"1f64e-1f3fd-200d-2640-fe0f":0,"1f64e-1f3fe-200d-2640-fe0f":0,"1f64e-1f3ff-200d-2640-fe0f":0,"1f64e-1f3fb-200d-2642-fe0f":0,"1f64e-1f3fc-200d-2642-fe0f":0,"1f64e-1f3fd-200d-2642-fe0f":0,"1f64e-1f3fe-200d-2642-fe0f":0,"1f64e-1f3ff-200d-2642-fe0f":0,"1f64e-1f3fb":0,"1f64e-1f3fc":0,"1f64e-1f3fd":0,"1f64e-1f3fe":0,"1f64e-1f3ff":0,"1f64f-1f3fb":0,"1f64f-1f3fc":0,"1f64f-1f3fd":0,"1f64f-1f3fe":0,"1f64f-1f3ff":0,"1f6a3-1f3fb-200d-2640-fe0f":0,"1f6a3-1f3fc-200d-2640-fe0f":0,"1f6a3-1f3fd-200d-2640-fe0f":0,"1f6a3-1f3fe-200d-2640-fe0f":0,"1f6a3-1f3ff-200d-2640-fe0f":0,"1f6a3-1f3fb-200d-2642-fe0f":0,"1f6a3-1f3fc-200d-2642-fe0f":0,"1f6a3-1f3fd-200d-2642-fe0f":0,"1f6a3-1f3fe-200d-2642-fe0f":0,"1f6a3-1f3ff-200d-2642-fe0f":0,"1f6a3-1f3fb":0,"1f6a3-1f3fc":0,"1f6a3-1f3fd":0,"1f6a3-1f3fe":0,"1f6a3-1f3ff":0,"1f6b4-1f3fb-200d-2640-fe0f":0,"1f6b4-1f3fc-200d-2640-fe0f":0,"1f6b4-1f3fd-200d-2640-fe0f":0,"1f6b4-1f3fe-200d-2640-fe0f":0,"1f6b4-1f3ff-200d-2640-fe0f":0,"1f6b4-1f3fb-200d-2642-fe0f":0,"1f6b4-1f3fc-200d-2642-fe0f":0,"1f6b4-1f3fd-200d-2642-fe0f":0,"1f6b4-1f3fe-200d-2642-fe0f":0,"1f6b4-1f3ff-200d-2642-fe0f":0,"1f6b4-1f3fb":0,"1f6b4-1f3fc":0,"1f6b4-1f3fd":0,"1f6b4-1f3fe":0,"1f6b4-1f3ff":0,"1f6b5-1f3fb-200d-2640-fe0f":0,"1f6b5-1f3fc-200d-2640-fe0f":0,"1f6b5-1f3fd-200d-2640-fe0f":0,"1f6b5-1f3fe-200d-2640-fe0f":0,"1f6b5-1f3ff-200d-2640-fe0f":0,"1f6b5-1f3fb-200d-2642-fe0f":0,"1f6b5-1f3fc-200d-2642-fe0f":0,"1f6b5-1f3fd-200d-2642-fe0f":0,"1f6b5-1f3fe-200d-2642-fe0f":0,"1f6b5-1f3ff-200d-2642-fe0f":0,"1f6b5-1f3fb":0,"1f6b5-1f3fc":0,"1f6b5-1f3fd":0,"1f6b5-1f3fe":0,"1f6b5-1f3ff":0,"1f6b6-1f3fb-200d-2640-fe0f":0,"1f6b6-1f3fc-200d-2640-fe0f":0,"1f6b6-1f3fd-200d-2640-fe0f":0,"1f6b6-1f3fe-200d-2640-fe0f":0,"1f6b6-1f3ff-200d-2640-fe0f":0,"1f6b6-1f3fb-200d-2642-fe0f":0,"1f6b6-1f3fc-200d-2642-fe0f":0,"1f6b6-1f3fd-200d-2642-fe0f":0,"1f6b6-1f3fe-200d-2642-fe0f":0,"1f6b6-1f3ff-200d-2642-fe0f":0,"1f6b6-1f3fb":0,"1f6b6-1f3fc":0,"1f6b6-1f3fd":0,"1f6b6-1f3fe":0,"1f6b6-1f3ff":0,"1f6c0-1f3fb":0,"1f6c0-1f3fc":0,"1f6c0-1f3fd":0,"1f6c0-1f3fe":0,"1f6c0-1f3ff":0,"1f6cc-1f3fb":0,"1f6cc-1f3fc":0,"1f6cc-1f3fd":0,"1f6cc-1f3fe":0,"1f6cc-1f3ff":0,"1f90f-1f3fb":0,"1f90f-1f3fc":0,"1f90f-1f3fd":0,"1f90f-1f3fe":0,"1f90f-1f3ff":0,"1f918-1f3fb":0,"1f918-1f3fc":0,"1f918-1f3fd":0,"1f918-1f3fe":0,"1f918-1f3ff":0,"1f919-1f3fb":0,"1f919-1f3fc":0,"1f919-1f3fd":0,"1f919-1f3fe":0,"1f919-1f3ff":0,"1f91a-1f3fb":0,"1f91a-1f3fc":0,"1f91a-1f3fd":0,"1f91a-1f3fe":0,"1f91a-1f3ff":0,"1f91b-1f3fb":0,"1f91b-1f3fc":0,"1f91b-1f3fd":0,"1f91b-1f3fe":0,"1f91b-1f3ff":0,"1f91c-1f3fb":0,"1f91c-1f3fc":0,"1f91c-1f3fd":0,"1f91c-1f3fe":0,"1f91c-1f3ff":0,"1f91e-1f3fb":0,"1f91e-1f3fc":0,"1f91e-1f3fd":0,"1f91e-1f3fe":0,"1f91e-1f3ff":0,"1f91f-1f3fb":0,"1f91f-1f3fc":0,"1f91f-1f3fd":0,"1f91f-1f3fe":0,"1f91f-1f3ff":0,"1f926-1f3fb-200d-2640-fe0f":0,"1f926-1f3fc-200d-2640-fe0f":0,"1f926-1f3fd-200d-2640-fe0f":0,"1f926-1f3fe-200d-2640-fe0f":0,"1f926-1f3ff-200d-2640-fe0f":0,"1f926-1f3fb-200d-2642-fe0f":0,"1f926-1f3fc-200d-2642-fe0f":0,"1f926-1f3fd-200d-2642-fe0f":0,"1f926-1f3fe-200d-2642-fe0f":0,"1f926-1f3ff-200d-2642-fe0f":0,"1f926-1f3fb":0,"1f926-1f3fc":0,"1f926-1f3fd":0,"1f926-1f3fe":0,"1f926-1f3ff":0,"1f930-1f3fb":0,"1f930-1f3fc":0,"1f930-1f3fd":0,"1f930-1f3fe":0,"1f930-1f3ff":0,"1f931-1f3fb":0,"1f931-1f3fc":0,"1f931-1f3fd":0,"1f931-1f3fe":0,"1f931-1f3ff":0,"1f932-1f3fb":0,"1f932-1f3fc":0,"1f932-1f3fd":0,"1f932-1f3fe":0,"1f932-1f3ff":0,"1f933-1f3fb":0,"1f933-1f3fc":0,"1f933-1f3fd":0,"1f933-1f3fe":0,"1f933-1f3ff":0,"1f934-1f3fb":0,"1f934-1f3fc":0,"1f934-1f3fd":0,"1f934-1f3fe":0,"1f934-1f3ff":0,"1f935-1f3fb":0,"1f935-1f3fc":0,"1f935-1f3fd":0,"1f935-1f3fe":0,"1f935-1f3ff":0,"1f936-1f3fb":0,"1f936-1f3fc":0,"1f936-1f3fd":0,"1f936-1f3fe":0,"1f936-1f3ff":0,"1f937-1f3fb-200d-2640-fe0f":0,"1f937-1f3fc-200d-2640-fe0f":0,"1f937-1f3fd-200d-2640-fe0f":0,"1f937-1f3fe-200d-2640-fe0f":0,"1f937-1f3ff-200d-2640-fe0f":0,"1f937-1f3fb-200d-2642-fe0f":0,"1f937-1f3fc-200d-2642-fe0f":0,"1f937-1f3fd-200d-2642-fe0f":0,"1f937-1f3fe-200d-2642-fe0f":0,"1f937-1f3ff-200d-2642-fe0f":0,"1f937-1f3fb":0,"1f937-1f3fc":0,"1f937-1f3fd":0,"1f937-1f3fe":0,"1f937-1f3ff":0,"1f938-1f3fb-200d-2640-fe0f":0,"1f938-1f3fc-200d-2640-fe0f":0,"1f938-1f3fd-200d-2640-fe0f":0,"1f938-1f3fe-200d-2640-fe0f":0,"1f938-1f3ff-200d-2640-fe0f":0,"1f938-1f3fb-200d-2642-fe0f":0,"1f938-1f3fc-200d-2642-fe0f":0,"1f938-1f3fd-200d-2642-fe0f":0,"1f938-1f3fe-200d-2642-fe0f":0,"1f938-1f3ff-200d-2642-fe0f":0,"1f938-1f3fb":0,"1f938-1f3fc":0,"1f938-1f3fd":0,"1f938-1f3fe":0,"1f938-1f3ff":0,"1f939-1f3fb-200d-2640-fe0f":0,"1f939-1f3fc-200d-2640-fe0f":0,"1f939-1f3fd-200d-2640-fe0f":0,"1f939-1f3fe-200d-2640-fe0f":0,"1f939-1f3ff-200d-2640-fe0f":0,"1f939-1f3fb-200d-2642-fe0f":0,"1f939-1f3fc-200d-2642-fe0f":0,"1f939-1f3fd-200d-2642-fe0f":0,"1f939-1f3fe-200d-2642-fe0f":0,"1f939-1f3ff-200d-2642-fe0f":0,"1f939-1f3fb":0,"1f939-1f3fc":0,"1f939-1f3fd":0,"1f939-1f3fe":0,"1f939-1f3ff":0,"1f93d-1f3fb-200d-2640-fe0f":0,"1f93d-1f3fc-200d-2640-fe0f":0,"1f93d-1f3fd-200d-2640-fe0f":0,"1f93d-1f3fe-200d-2640-fe0f":0,"1f93d-1f3ff-200d-2640-fe0f":0,"1f93d-1f3fb-200d-2642-fe0f":0,"1f93d-1f3fc-200d-2642-fe0f":0,"1f93d-1f3fd-200d-2642-fe0f":0,"1f93d-1f3fe-200d-2642-fe0f":0,"1f93d-1f3ff-200d-2642-fe0f":0,"1f93d-1f3fb":0,"1f93d-1f3fc":0,"1f93d-1f3fd":0,"1f93d-1f3fe":0,"1f93d-1f3ff":0,"1f93e-1f3fb-200d-2640-fe0f":0,"1f93e-1f3fc-200d-2640-fe0f":0,"1f93e-1f3fd-200d-2640-fe0f":0,"1f93e-1f3fe-200d-2640-fe0f":0,"1f93e-1f3ff-200d-2640-fe0f":0,"1f93e-1f3fb-200d-2642-fe0f":0,"1f93e-1f3fc-200d-2642-fe0f":0,"1f93e-1f3fd-200d-2642-fe0f":0,"1f93e-1f3fe-200d-2642-fe0f":0,"1f93e-1f3ff-200d-2642-fe0f":0,"1f93e-1f3fb":0,"1f93e-1f3fc":0,"1f93e-1f3fd":0,"1f93e-1f3fe":0,"1f93e-1f3ff":0,"1f9b5-1f3fb":0,"1f9b5-1f3fc":0,"1f9b5-1f3fd":0,"1f9b5-1f3fe":0,"1f9b5-1f3ff":0,"1f9b6-1f3fb":0,"1f9b6-1f3fc":0,"1f9b6-1f3fd":0,"1f9b6-1f3fe":0,"1f9b6-1f3ff":0,"1f9b8-1f3fb-200d-2640-fe0f":0,"1f9b8-1f3fc-200d-2640-fe0f":0,"1f9b8-1f3fd-200d-2640-fe0f":0,"1f9b8-1f3fe-200d-2640-fe0f":0,"1f9b8-1f3ff-200d-2640-fe0f":0,"1f9b8-1f3fb-200d-2642-fe0f":0,"1f9b8-1f3fc-200d-2642-fe0f":0,"1f9b8-1f3fd-200d-2642-fe0f":0,"1f9b8-1f3fe-200d-2642-fe0f":0,"1f9b8-1f3ff-200d-2642-fe0f":0,"1f9b8-1f3fb":0,"1f9b8-1f3fc":0,"1f9b8-1f3fd":0,"1f9b8-1f3fe":0,"1f9b8-1f3ff":0,"1f9b9-1f3fb-200d-2640-fe0f":0,"1f9b9-1f3fc-200d-2640-fe0f":0,"1f9b9-1f3fd-200d-2640-fe0f":0,"1f9b9-1f3fe-200d-2640-fe0f":0,"1f9b9-1f3ff-200d-2640-fe0f":0,"1f9b9-1f3fb-200d-2642-fe0f":0,"1f9b9-1f3fc-200d-2642-fe0f":0,"1f9b9-1f3fd-200d-2642-fe0f":0,"1f9b9-1f3fe-200d-2642-fe0f":0,"1f9b9-1f3ff-200d-2642-fe0f":0,"1f9b9-1f3fb":0,"1f9b9-1f3fc":0,"1f9b9-1f3fd":0,"1f9b9-1f3fe":0,"1f9b9-1f3ff":0,"1f9bb-1f3fb":0,"1f9bb-1f3fc":0,"1f9bb-1f3fd":0,"1f9bb-1f3fe":0,"1f9bb-1f3ff":0,"1f9cd-1f3fb-200d-2640-fe0f":0,"1f9cd-1f3fc-200d-2640-fe0f":0,"1f9cd-1f3fd-200d-2640-fe0f":0,"1f9cd-1f3fe-200d-2640-fe0f":0,"1f9cd-1f3ff-200d-2640-fe0f":0,"1f9cd-1f3fb-200d-2642-fe0f":0,"1f9cd-1f3fc-200d-2642-fe0f":0,"1f9cd-1f3fd-200d-2642-fe0f":0,"1f9cd-1f3fe-200d-2642-fe0f":0,"1f9cd-1f3ff-200d-2642-fe0f":0,"1f9cd-1f3fb":0,"1f9cd-1f3fc":0,"1f9cd-1f3fd":0,"1f9cd-1f3fe":0,"1f9cd-1f3ff":0,"1f9ce-1f3fb-200d-2640-fe0f":0,"1f9ce-1f3fc-200d-2640-fe0f":0,"1f9ce-1f3fd-200d-2640-fe0f":0,"1f9ce-1f3fe-200d-2640-fe0f":0,"1f9ce-1f3ff-200d-2640-fe0f":0,"1f9ce-1f3fb-200d-2642-fe0f":0,"1f9ce-1f3fc-200d-2642-fe0f":0,"1f9ce-1f3fd-200d-2642-fe0f":0,"1f9ce-1f3fe-200d-2642-fe0f":0,"1f9ce-1f3ff-200d-2642-fe0f":0,"1f9ce-1f3fb":0,"1f9ce-1f3fc":0,"1f9ce-1f3fd":0,"1f9ce-1f3fe":0,"1f9ce-1f3ff":0,"1f9cf-1f3fb-200d-2640-fe0f":0,"1f9cf-1f3fc-200d-2640-fe0f":0,"1f9cf-1f3fd-200d-2640-fe0f":0,"1f9cf-1f3fe-200d-2640-fe0f":0,"1f9cf-1f3ff-200d-2640-fe0f":0,"1f9cf-1f3fb-200d-2642-fe0f":0,"1f9cf-1f3fc-200d-2642-fe0f":0,"1f9cf-1f3fd-200d-2642-fe0f":0,"1f9cf-1f3fe-200d-2642-fe0f":0,"1f9cf-1f3ff-200d-2642-fe0f":0,"1f9cf-1f3fb":0,"1f9cf-1f3fc":0,"1f9cf-1f3fd":0,"1f9cf-1f3fe":0,"1f9cf-1f3ff":0,"1f9d1-1f3fb-200d-1f33e":0,"1f9d1-1f3fc-200d-1f33e":0,"1f9d1-1f3fd-200d-1f33e":0,"1f9d1-1f3fe-200d-1f33e":0,"1f9d1-1f3ff-200d-1f33e":0,"1f9d1-1f3fb-200d-1f373":0,"1f9d1-1f3fc-200d-1f373":0,"1f9d1-1f3fd-200d-1f373":0,"1f9d1-1f3fe-200d-1f373":0,"1f9d1-1f3ff-200d-1f373":0,"1f9d1-1f3fb-200d-1f393":0,"1f9d1-1f3fc-200d-1f393":0,"1f9d1-1f3fd-200d-1f393":0,"1f9d1-1f3fe-200d-1f393":0,"1f9d1-1f3ff-200d-1f393":0,"1f9d1-1f3fb-200d-1f3a4":0,"1f9d1-1f3fc-200d-1f3a4":0,"1f9d1-1f3fd-200d-1f3a4":0,"1f9d1-1f3fe-200d-1f3a4":0,"1f9d1-1f3ff-200d-1f3a4":0,"1f9d1-1f3fb-200d-1f3a8":0,"1f9d1-1f3fc-200d-1f3a8":0,"1f9d1-1f3fd-200d-1f3a8":0,"1f9d1-1f3fe-200d-1f3a8":0,"1f9d1-1f3ff-200d-1f3a8":0,"1f9d1-1f3fb-200d-1f3eb":0,"1f9d1-1f3fc-200d-1f3eb":0,"1f9d1-1f3fd-200d-1f3eb":0,"1f9d1-1f3fe-200d-1f3eb":0,"1f9d1-1f3ff-200d-1f3eb":0,"1f9d1-1f3fb-200d-1f3ed":0,"1f9d1-1f3fc-200d-1f3ed":0,"1f9d1-1f3fd-200d-1f3ed":0,"1f9d1-1f3fe-200d-1f3ed":0,"1f9d1-1f3ff-200d-1f3ed":0,"1f9d1-1f3fb-200d-1f4bb":0,"1f9d1-1f3fc-200d-1f4bb":0,"1f9d1-1f3fd-200d-1f4bb":0,"1f9d1-1f3fe-200d-1f4bb":0,"1f9d1-1f3ff-200d-1f4bb":0,"1f9d1-1f3fb-200d-1f4bc":0,"1f9d1-1f3fc-200d-1f4bc":0,"1f9d1-1f3fd-200d-1f4bc":0,"1f9d1-1f3fe-200d-1f4bc":0,"1f9d1-1f3ff-200d-1f4bc":0,"1f9d1-1f3fb-200d-1f527":0,"1f9d1-1f3fc-200d-1f527":0,"1f9d1-1f3fd-200d-1f527":0,"1f9d1-1f3fe-200d-1f527":0,"1f9d1-1f3ff-200d-1f527":0,"1f9d1-1f3fb-200d-1f52c":0,"1f9d1-1f3fc-200d-1f52c":0,"1f9d1-1f3fd-200d-1f52c":0,"1f9d1-1f3fe-200d-1f52c":0,"1f9d1-1f3ff-200d-1f52c":0,"1f9d1-1f3fb-200d-1f680":0,"1f9d1-1f3fc-200d-1f680":0,"1f9d1-1f3fd-200d-1f680":0,"1f9d1-1f3fe-200d-1f680":0,"1f9d1-1f3ff-200d-1f680":0,"1f9d1-1f3fb-200d-1f692":0,"1f9d1-1f3fc-200d-1f692":0,"1f9d1-1f3fd-200d-1f692":0,"1f9d1-1f3fe-200d-1f692":0,"1f9d1-1f3ff-200d-1f692":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe":0,"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff":0,"1f9d1-1f3fb-200d-1f9af":0,"1f9d1-1f3fc-200d-1f9af":0,"1f9d1-1f3fd-200d-1f9af":0,"1f9d1-1f3fe-200d-1f9af":0,"1f9d1-1f3ff-200d-1f9af":0,"1f9d1-1f3fb-200d-1f9b0":0,"1f9d1-1f3fc-200d-1f9b0":0,"1f9d1-1f3fd-200d-1f9b0":0,"1f9d1-1f3fe-200d-1f9b0":0,"1f9d1-1f3ff-200d-1f9b0":0,"1f9d1-1f3fb-200d-1f9b1":0,"1f9d1-1f3fc-200d-1f9b1":0,"1f9d1-1f3fd-200d-1f9b1":0,"1f9d1-1f3fe-200d-1f9b1":0,"1f9d1-1f3ff-200d-1f9b1":0,"1f9d1-1f3fb-200d-1f9b2":0,"1f9d1-1f3fc-200d-1f9b2":0,"1f9d1-1f3fd-200d-1f9b2":0,"1f9d1-1f3fe-200d-1f9b2":0,"1f9d1-1f3ff-200d-1f9b2":0,"1f9d1-1f3fb-200d-1f9b3":0,"1f9d1-1f3fc-200d-1f9b3":0,"1f9d1-1f3fd-200d-1f9b3":0,"1f9d1-1f3fe-200d-1f9b3":0,"1f9d1-1f3ff-200d-1f9b3":0,"1f9d1-1f3fb-200d-1f9bc":0,"1f9d1-1f3fc-200d-1f9bc":0,"1f9d1-1f3fd-200d-1f9bc":0,"1f9d1-1f3fe-200d-1f9bc":0,"1f9d1-1f3ff-200d-1f9bc":0,"1f9d1-1f3fb-200d-1f9bd":0,"1f9d1-1f3fc-200d-1f9bd":0,"1f9d1-1f3fd-200d-1f9bd":0,"1f9d1-1f3fe-200d-1f9bd":0,"1f9d1-1f3ff-200d-1f9bd":0,"1f9d1-1f3fb-200d-2695-fe0f":0,"1f9d1-1f3fc-200d-2695-fe0f":0,"1f9d1-1f3fd-200d-2695-fe0f":0,"1f9d1-1f3fe-200d-2695-fe0f":0,"1f9d1-1f3ff-200d-2695-fe0f":0,"1f9d1-1f3fb-200d-2696-fe0f":0,"1f9d1-1f3fc-200d-2696-fe0f":0,"1f9d1-1f3fd-200d-2696-fe0f":0,"1f9d1-1f3fe-200d-2696-fe0f":0,"1f9d1-1f3ff-200d-2696-fe0f":0,"1f9d1-1f3fb-200d-2708-fe0f":0,"1f9d1-1f3fc-200d-2708-fe0f":0,"1f9d1-1f3fd-200d-2708-fe0f":0,"1f9d1-1f3fe-200d-2708-fe0f":0,"1f9d1-1f3ff-200d-2708-fe0f":0,"1f9d1-1f3fb":0,"1f9d1-1f3fc":0,"1f9d1-1f3fd":0,"1f9d1-1f3fe":0,"1f9d1-1f3ff":0,"1f9d2-1f3fb":0,"1f9d2-1f3fc":0,"1f9d2-1f3fd":0,"1f9d2-1f3fe":0,"1f9d2-1f3ff":0,"1f9d3-1f3fb":0,"1f9d3-1f3fc":0,"1f9d3-1f3fd":0,"1f9d3-1f3fe":0,"1f9d3-1f3ff":0,"1f9d4-1f3fb":0,"1f9d4-1f3fc":0,"1f9d4-1f3fd":0,"1f9d4-1f3fe":0,"1f9d4-1f3ff":0,"1f9d5-1f3fb":0,"1f9d5-1f3fc":0,"1f9d5-1f3fd":0,"1f9d5-1f3fe":0,"1f9d5-1f3ff":0,"1f9d6-1f3fb-200d-2640-fe0f":0,"1f9d6-1f3fc-200d-2640-fe0f":0,"1f9d6-1f3fd-200d-2640-fe0f":0,"1f9d6-1f3fe-200d-2640-fe0f":0,"1f9d6-1f3ff-200d-2640-fe0f":0,"1f9d6-1f3fb-200d-2642-fe0f":0,"1f9d6-1f3fc-200d-2642-fe0f":0,"1f9d6-1f3fd-200d-2642-fe0f":0,"1f9d6-1f3fe-200d-2642-fe0f":0,"1f9d6-1f3ff-200d-2642-fe0f":0,"1f9d6-1f3fb":0,"1f9d6-1f3fc":0,"1f9d6-1f3fd":0,"1f9d6-1f3fe":0,"1f9d6-1f3ff":0,"1f9d7-1f3fb-200d-2640-fe0f":0,"1f9d7-1f3fc-200d-2640-fe0f":0,"1f9d7-1f3fd-200d-2640-fe0f":0,"1f9d7-1f3fe-200d-2640-fe0f":0,"1f9d7-1f3ff-200d-2640-fe0f":0,"1f9d7-1f3fb-200d-2642-fe0f":0,"1f9d7-1f3fc-200d-2642-fe0f":0,"1f9d7-1f3fd-200d-2642-fe0f":0,"1f9d7-1f3fe-200d-2642-fe0f":0,"1f9d7-1f3ff-200d-2642-fe0f":0,"1f9d7-1f3fb":0,"1f9d7-1f3fc":0,"1f9d7-1f3fd":0,"1f9d7-1f3fe":0,"1f9d7-1f3ff":0,"1f9d8-1f3fb-200d-2640-fe0f":0,"1f9d8-1f3fc-200d-2640-fe0f":0,"1f9d8-1f3fd-200d-2640-fe0f":0,"1f9d8-1f3fe-200d-2640-fe0f":0,"1f9d8-1f3ff-200d-2640-fe0f":0,"1f9d8-1f3fb-200d-2642-fe0f":0,"1f9d8-1f3fc-200d-2642-fe0f":0,"1f9d8-1f3fd-200d-2642-fe0f":0,"1f9d8-1f3fe-200d-2642-fe0f":0,"1f9d8-1f3ff-200d-2642-fe0f":0,"1f9d8-1f3fb":0,"1f9d8-1f3fc":0,"1f9d8-1f3fd":0,"1f9d8-1f3fe":0,"1f9d8-1f3ff":0,"1f9d9-1f3fb-200d-2640-fe0f":0,"1f9d9-1f3fc-200d-2640-fe0f":0,"1f9d9-1f3fd-200d-2640-fe0f":0,"1f9d9-1f3fe-200d-2640-fe0f":0,"1f9d9-1f3ff-200d-2640-fe0f":0,"1f9d9-1f3fb-200d-2642-fe0f":0,"1f9d9-1f3fc-200d-2642-fe0f":0,"1f9d9-1f3fd-200d-2642-fe0f":0,"1f9d9-1f3fe-200d-2642-fe0f":0,"1f9d9-1f3ff-200d-2642-fe0f":0,"1f9d9-1f3fb":0,"1f9d9-1f3fc":0,"1f9d9-1f3fd":0,"1f9d9-1f3fe":0,"1f9d9-1f3ff":0,"1f9da-1f3fb-200d-2640-fe0f":0,"1f9da-1f3fc-200d-2640-fe0f":0,"1f9da-1f3fd-200d-2640-fe0f":0,"1f9da-1f3fe-200d-2640-fe0f":0,"1f9da-1f3ff-200d-2640-fe0f":0,"1f9da-1f3fb-200d-2642-fe0f":0,"1f9da-1f3fc-200d-2642-fe0f":0,"1f9da-1f3fd-200d-2642-fe0f":0,"1f9da-1f3fe-200d-2642-fe0f":0,"1f9da-1f3ff-200d-2642-fe0f":0,"1f9da-1f3fb":0,"1f9da-1f3fc":0,"1f9da-1f3fd":0,"1f9da-1f3fe":0,"1f9da-1f3ff":0,"1f9db-1f3fb-200d-2640-fe0f":0,"1f9db-1f3fc-200d-2640-fe0f":0,"1f9db-1f3fd-200d-2640-fe0f":0,"1f9db-1f3fe-200d-2640-fe0f":0,"1f9db-1f3ff-200d-2640-fe0f":0,"1f9db-1f3fb-200d-2642-fe0f":0,"1f9db-1f3fc-200d-2642-fe0f":0,"1f9db-1f3fd-200d-2642-fe0f":0,"1f9db-1f3fe-200d-2642-fe0f":0,"1f9db-1f3ff-200d-2642-fe0f":0,"1f9db-1f3fb":0,"1f9db-1f3fc":0,"1f9db-1f3fd":0,"1f9db-1f3fe":0,"1f9db-1f3ff":0,"1f9dc-1f3fb-200d-2640-fe0f":0,"1f9dc-1f3fc-200d-2640-fe0f":0,"1f9dc-1f3fd-200d-2640-fe0f":0,"1f9dc-1f3fe-200d-2640-fe0f":0,"1f9dc-1f3ff-200d-2640-fe0f":0,"1f9dc-1f3fb-200d-2642-fe0f":0,"1f9dc-1f3fc-200d-2642-fe0f":0,"1f9dc-1f3fd-200d-2642-fe0f":0,"1f9dc-1f3fe-200d-2642-fe0f":0,"1f9dc-1f3ff-200d-2642-fe0f":0,"1f9dc-1f3fb":0,"1f9dc-1f3fc":0,"1f9dc-1f3fd":0,"1f9dc-1f3fe":0,"1f9dc-1f3ff":0,"1f9dd-1f3fb-200d-2640-fe0f":0,"1f9dd-1f3fc-200d-2640-fe0f":0,"1f9dd-1f3fd-200d-2640-fe0f":0,"1f9dd-1f3fe-200d-2640-fe0f":0,"1f9dd-1f3ff-200d-2640-fe0f":0,"1f9dd-1f3fb-200d-2642-fe0f":0,"1f9dd-1f3fc-200d-2642-fe0f":0,"1f9dd-1f3fd-200d-2642-fe0f":0,"1f9dd-1f3fe-200d-2642-fe0f":0,"1f9dd-1f3ff-200d-2642-fe0f":0,"1f9dd-1f3fb":0,"1f9dd-1f3fc":0,"1f9dd-1f3fd":0,"1f9dd-1f3fe":0,"1f9dd-1f3ff":0,"261d-1f3fb":0,"261d-1f3fc":0,"261d-1f3fd":0,"261d-1f3fe":0,"261d-1f3ff":0,"26f9-1f3fb-200d-2640-fe0f":0,"26f9-1f3fc-200d-2640-fe0f":0,"26f9-1f3fd-200d-2640-fe0f":0,"26f9-1f3fe-200d-2640-fe0f":0,"26f9-1f3ff-200d-2640-fe0f":0,"26f9-1f3fb-200d-2642-fe0f":0,"26f9-1f3fc-200d-2642-fe0f":0,"26f9-1f3fd-200d-2642-fe0f":0,"26f9-1f3fe-200d-2642-fe0f":0,"26f9-1f3ff-200d-2642-fe0f":0,"26f9-1f3fb":0,"26f9-1f3fc":0,"26f9-1f3fd":0,"26f9-1f3fe":0,"26f9-1f3ff":0,"270a-1f3fb":0,"270a-1f3fc":0,"270a-1f3fd":0,"270a-1f3fe":0,"270a-1f3ff":0,"270b-1f3fb":0,"270b-1f3fc":0,"270b-1f3fd":0,"270b-1f3fe":0,"270b-1f3ff":0,"270c-1f3fb":0,"270c-1f3fc":0,"270c-1f3fd":0,"270c-1f3fe":0,"270c-1f3ff":0,"270d-1f3fb":0,"270d-1f3fc":0,"270d-1f3fd":0,"270d-1f3fe":0,"270d-1f3ff":0},t.Emoji["00a9-fe0f"]=6362,t.Emoji["00ae-fe0f"]=6363,t.Emoji["2122-fe0f"]=6364,t.Countries=[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}],t.TLD=["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],t.LatinizeMap={"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj",ſ:"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"};t.mediaSizes=new class{constructor(){this.sizes={handhelds:{regular:{width:293,height:293},webpage:{width:293,height:213},album:{width:293,height:0}},desktop:{regular:{width:480,height:480},webpage:{width:480,height:400},album:{width:451,height:0}}},this.isMobile=!1,window.addEventListener("resize",()=>this.handleResize()),this.handleResize()}handleResize(){const e=window.innerWidth;this.isMobile=e<=896,this.active=this.isMobile?this.sizes.handhelds:this.sizes.desktop}},t.touchSupport="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,t.isServiceWorkerSupported="serviceWorker"in navigator;const n={Emoji:t.Emoji,LatinizeMap:t.LatinizeMap,TLD:t.TLD,Countries:t.Countries,MediaSizes:t.mediaSizes,touchSupport:t.touchSupport,isApple:i.isApple,isSafari:i.isSafari,isAndroid:i.isAndroid};window.Config=n,t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(16)),o=i(s(71)),r=s(10),d=i(s(53)),f=i(s(73)),l=s(1);class c extends o.default{constructor(){super(),this.taskID=0,this.awaiting={},this.pending=[],this.updatesProcessor=null,this.log=r.logger("API-PROXY"),this.log("constructor"),this.registerServiceWorker(),this.registerWorker()}registerServiceWorker(){l.isServiceWorkerSupported&&(navigator.serviceWorker.register("./sw.js",{scope:"./"}).then(e=>{},e=>{this.log.error("SW registration failed!",e)}),navigator.serviceWorker.ready.then(e=>{this.log("set SW"),this.releasePending()}),navigator.serviceWorker.addEventListener("controllerchange",()=>{this.log.warn("controllerchange"),this.releasePending(),navigator.serviceWorker.controller.addEventListener("error",e=>{this.log.error("controller error:",e)})}),navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;n.isObject(t)&&this.postMessage(t)}),navigator.serviceWorker.addEventListener("messageerror",e=>{this.log.error("SW messageerror:",e)}))}registerWorker(){const e=new f.default;e.addEventListener("message",t=>{this.worker||(this.worker=e,this.log("set webWorker"),this.postMessage=this.worker.postMessage.bind(this.worker),this.releasePending());const s=t.data;n.isObject(s)&&(s.useLs?a.default[s.task](...s.args).then(e=>{this.postMessage({useLs:!0,taskID:s.taskID,args:e})}):s.update?this.updatesProcessor&&this.updatesProcessor(s.update.obj,s.update.bool):s.progress?n.$rootScope.$broadcast("download_progress",s.progress):"convertWebp"==s.type?d.default.postMessage(s):"requestFilePart"==s.type?navigator.serviceWorker.controller.postMessage(s):this.finalizeTask(s.taskID,s.result,s.error))})}finalizeTask(e,t,s){const i=this.awaiting[e];void 0!==i&&(this.log.debug("done",i.taskName,t,s),void 0===t?i.reject(s):i.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.log.debug("start",e,t),new Promise((s,i)=>{this.awaiting[this.taskID]={resolve:s,reject:i,taskName:e};const n={task:e,taskID:this.taskID,args:t};this.pending.push(n),this.releasePending(),this.taskID++})}releasePending(){this.postMessage&&(this.log.debug("releasing tasks, length:",this.pending.length),this.pending.forEach(e=>{this.postMessage(e)}),this.log.debug("released tasks"),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},s={}){return this.performTaskWorker("invokeApi",e,t,s)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return n.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}cancelDownload(e){return this.performTaskWorker("cancelDownload",e)}downloadFile(e){return this.performTaskWorker("downloadFile",e)}uploadFile(e){return this.performTaskWorker("uploadFile",e)}}const u=new c;t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RichTextProcessor=void 0;const n=s(0),a=i(s(1)),o=i(s(75)),r=s(76);var d,f={emojiMap:e=>e,shortcuts:[],emojis:[]},l=a.default.Emoji,c=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),u=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|("+o.default+")|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,p=/[`_*@]/,m=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,g={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},b={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},v={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function y(e){let t=r.encodeEmoji(e);return"1f441-200d-1f5e8"==t&&(t="1f441-fe0f-200d-1f5e8-fe0f"),l.hasOwnProperty(t)?t.replace(/(-fe0f|fe0f)/g,""):null}function w(e,t={}){for(var s,i,n=e,o=[],r=0;s=n.match(u);){if(i=r+s.index,s[3])o.push({_:"messageEntityMention",offset:i+s[1].length,length:s[2].length+s[3].length});else if(s[4])if(h.test(s[4]))o.push({_:"messageEntityEmail",offset:i,length:s[4].length});else{var d=!1,f=s[5],l=s[6];if(l){if(f||"xn--"!==l.substr(0,4)&&-1===a.default.TLD.indexOf(l.toLowerCase())||(f="http://"),f){var c=L(s[4]);c.length!==s[4].length&&(s[4].substring(c.length),s[4]=c),d=(s[5]?"":f)+s[4]}}else d=(s[5]?"":"http://")+s[4];d&&o.push({_:"messageEntityUrl",offset:i,length:s[4].length})}else if(s[7])o.push({_:"messageEntityLinebreak",offset:i,length:1});else if(s[8]){let e=y(s[8]);e&&o.push({_:"messageEntityEmoji",offset:i,length:s[8].length,unicode:e})}else s[10]?o.push({_:"messageEntityHashtag",offset:i+(s[9]?s[9].length:0),length:s[10].length}):s[12]&&o.push({_:"messageEntityBotCommand",offset:i+(s[11]?s[11].length:0),length:1+s[12].length+(s[13]?1+s[13].length:0)});n=n.substr(s.index+s[0].length),r+=s.index+s[0].length}return o}function _(e,t,s){return void 0===t?n.encodeEntities(e):(s.hasNested=!0,S(e,{entities:t,nested:!0}))}function S(e,t={}){if(!e||!e.length)return"";var s=t.entities,i=t.contextSite||"Telegram",a="Telegram"!=i;void 0===s&&(s=w(e,t));for(var o,r,d,f,l=s.length,u=[],h=0,p=0;ph)u.push(n.encodeEntities(e.substr(h,o.offset-h)));else if(o.offset',n.encodeEntities(r),"");break;case"messageEntityMentionName":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityHashtag":var y;if(!(y=!t.noLinks&&g[i])){d=!0;break}var S=r.substr(1);u.push("',n.encodeEntities(r),"");break;case"messageEntityEmail":if(t.noLinks){d=!0;break}u.push('',n.encodeEntities(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var L;"messageEntityTextUrl"==o._?(f=M(f=o.url,!0),L=_(r,o.nested,t)):(f=M(r,!1),L=n.encodeEntities(r.replace(/(%[A-Z\d]{2})+/g,e=>{try{return decodeURIComponent(e)}catch(t){return e}}))),t.noLinks?u.push(L):u.push('',L,"");break;case"messageEntityLinebreak":u.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":u.push(c?`${n.encodeEntities(r)}`:`${n.encodeEntities(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||a){d=!0;break}var D,E,I=r.substr(1);-1!=(E=I.indexOf("@"))?(D=I.substr(E+1),I=I.substr(0,E)):D=t.fromBot,u.push('',n.encodeEntities(r),"");break;case"messageEntityBold":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){u.push(_(r,o.nested,t));break}u.push("",_(r,o.nested,t),"");break;case"messageEntityHighlight":u.push("",_(r,o.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("",n.encodeEntities(r),"");break;case"messageEntityPre":if(t.noTextFormat){u.push(n.encodeEntities(r));break}u.push("
",n.encodeEntities(r),"
");break;default:d=!0}h=o.offset+(d?0:o.length)}return u.push(n.encodeEntities(e.substr(h))),e=u.join("")}function L(e){for(var t=e.length,s=e.split("(").length-1,i=e.split(")").length-1;i>s&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return s>i&&(e=e.replace(/\)+$/,"")),e}function M(e,t){var s,i;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(s=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var n=s[1].split("/");switch(n[0]){case"joinchat":e="tg://join?invite="+n[1];break;case"addstickers":e="tg://addstickers?set="+n[1];break;default:if(n[1]&&n[1].match(/^\d+$/))e="tg://resolve?domain="+n[0]+"&post="+n[1];else if(1==n.length){var a=n[0].split("?"),o=a[0],r=a[1];if("iv"==o){var d=(r||"").match(/url=([^&=]+)/);if(d){e=d[1];try{e=decodeURIComponent(e)}catch(e){}return M(e,t)}}e="tg://resolve?domain="+o+(r?"&"+r:"")}}}else(i=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+i[1]+"&post="+i[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let D={wrapRichText:S,wrapPlainText:function(e,t={}){if(c)return e;if(!e||!e.length)return"";var s,i,n=e=e.replace(/\ufe0f/g,"",e);for(e=[];s=n.match(u);)e.push(n.substr(0,s.index)),s[8]&&(d=f.emojiMap[s[8]])&&(i=l[d][1][0])?e.push(":"+i+":"):e.push(s[0]),n=n.substr(s.index+s[0].length);return e.push(n),e.join("")},wrapDraftText:function(e,t={}){if(!e||!e.length)return"";var s=t.entities;void 0===s&&(s=w(e,t));var i,n,a,o=0,r=s.length,d=[],f=0;for(o=0;of)d.push(e.substr(f,i.offset-f));else if(i.offset"messageEntityEmoji"==e._)}):""},parseEntities:w,parseMarkdown:function(e,t,s){if(!p.test(e))return s?e:e.trim();for(var i,n,a=e,o=[],r=0;i=a.match(m);){n=r+i.index,o.push(a.substr(0,i.index)),r-=(e=i[3]||i[8]||i[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",r-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:n+i[1].length,length:e.length}),r-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:v[i[7]],offset:n+i[6].length,length:e.length}),r-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:n,length:e.length}),r-=i[0].length-e.length),a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o.push(a),(o=o.join("")).replace(/\s+/g,"").length||(o=e,t.splice(0,t.length)),t.length||s||(o=o.trim()),o},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var s=f.shortcuts[t];return void 0!==s?f.emojis[s][0]:e}))},mergeEntities:function(e,t,s){var i,a,o,r,d,f,l,c,u,h=t.slice(),p=e.length,m=t.length,g=0;for(i=0;i=l&&dl&&f<=c){s&&d>=l&&f<=c&&(void 0===r.nested&&(r.nested=[]),o.offset-=l,r.nested.push(n.copy(o))),u=!0;break}if(l>=f)break}u||h.push(o)}return h.sort((e,t)=>e.offset-t.offset),h},getEmojiSpritesheetCoords:y,emojiSupported:c};t.RichTextProcessor=D},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.attachContextMenuListener=t.positionMenu=t.openBtnMenu=t.parseMenuButtonsTo=t.formatPhoneNumber=t.putPreloader=t.renderImageFromUrl=t.loadedURLs=void 0;const o=a(s(1));t.loadedURLs={};const r=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLVideoElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,s,i){if(t.loadedURLs[s]||e instanceof HTMLVideoElement)return r(e,s),i&&i(),!0;{const n=e instanceof HTMLImageElement,a=n?e:new Image;return a.src=s,a.addEventListener("load",()=>{n||r(e,s),t.loadedURLs[s]=!0,i&&i()}),i&&a.addEventListener("error",i),!1}},t.putPreloader=function(e,t=!1){const s='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=s,e&&e.appendChild(t),t}e.innerHTML+=s},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),s=o.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),i=s?s.pattern||s.phoneCode:"";return s&&i.split("").forEach((t,s)=>{" "==t&&" "!=e[s]&&e.length>s&&(e=e.slice(0,s)+" "+e.slice(s))}),{formatted:e,country:s}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{const s=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/);s&&(e[s[1]]=t)})};let d=e=>{let t=c.getBoundingClientRect(),{clientX:s,clientY:i}=e,n=s>=t.right?s-t.right:t.left-s,a=i>=t.bottom?i-t.bottom:t.top-i;(n>=100||a>=100)&&l()},f=e=>{l()},l=()=>{c&&(c.classList.remove("active"),c.parentElement.classList.remove("menu-open"),c=null),u&&(u(),u=null),o.touchSupport?window.removeEventListener("touchmove",f):window.removeEventListener("mousemove",d),window.removeEventListener("click",f),window.removeEventListener("contextmenu",f)},c=null,u=null;t.openBtnMenu=function(e,t){l(),c=e,c.classList.add("active"),c.parentElement.classList.add("menu-open"),u=t,o.touchSupport?window.addEventListener("touchmove",f,{once:!0}):window.addEventListener("mousemove",d),window.addEventListener("click",f,{once:!0}),window.addEventListener("contextmenu",f,{once:!0})},t.positionMenu=function({clientX:e,clientY:t},s,i){let{scrollWidth:n,scrollHeight:a}=s,{innerWidth:r,innerHeight:d}=window;o.mediaSizes.isMobile&&(i=void 0),void 0===i&&e+n>r&&(e-n<0?s.style.left=r-n+"px":i="right"),i||(i="left"),s.classList.remove("bottom-left","bottom-right"),void 0!==i&&(s.style.left=("right"==i?e-n:e)+"px",s.classList.add("left"==i?"bottom-right":"bottom-left")),s.style.top=t+a>d?d-a+"px":t+"px"},t.attachContextMenuListener=function(e,t){if(o.isApple&&o.touchSupport){let s;const i=()=>{clearTimeout(s),e.removeEventListener("touchmove",i),e.removeEventListener("touchend",i),e.removeEventListener("touchcancel",i)};e.addEventListener("touchstart",n=>{n.touches.length>1?clearTimeout(s):(e.addEventListener("touchmove",i,{once:!0}),e.addEventListener("touchend",i,{once:!0}),e.addEventListener("touchcancel",i,{once:!0}),s=setTimeout(()=>{t(n.touches[0]),i()},400))})}else e.addEventListener("contextmenu",t)}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppUsersManager=void 0;const a=s(0),o=s(3),r=n(s(9)),d=n(s(2)),f=n(s(34)),l=s(4),c=n(s(38)),u=n(s(8)),h=n(s(40));class p{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),this.contactsList=new Set,d.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var s=t.user_id;(i=this.users[s])&&(i.status=t.status,i.status&&(i.status.expires&&(i.status.expires-=f.default.serverTimeOffset),i.status.was_online&&(i.status.was_online-=f.default.serverTimeOffset)),i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",s));break;case"updateUserPhoto":var i;s=t.user_id;(i=this.users[s])?(this.forceUserOnline(s),i.photo?a.safeReplaceObject(i.photo,t.photo):i.photo=t.photo,void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",s),a.$rootScope.$broadcast("avatar_update",s)):console.warn("No user by id:",s)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=d.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>(this.saveApiUsers(e.users),e.contacts.forEach(e=>{this.pushContact(e.user_id)}),this.contactsList))}resolveUsername(e){return i(this,void 0,void 0,(function*(){return this.usernames[e]?this.users[this.usernames[e]]:yield d.default.invokeApi("contacts.resolveUsername",{username:e}).then(t=>(this.saveApiUser(t.users[0]),r.default.saveApiChats(t.chats),this.users[this.usernames[e]]))}))}pushContact(e){this.contactsList.add(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)}getUserSearchText(e){const t=this.users[e];if(!t)return"";const s=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+s}getContacts(e){return this.fillContacts().then(t=>{let s=[...t];if(e){const t=c.default.search(e,this.contactsIndex);s=[...s].filter(e=>!!t[e])}return s.sort((e,t)=>{const s=(this.users[e]||{}).sortName||"",i=(this.users[t]||{}).sortName||"";return s.localeCompare(i)}),s})}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var s=e.id,i=this.users[s];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===i){if(e.phone&&(e.rPhone="+"+l.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=s}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),d=r.shift(),u=r.pop();e.initials=d.charAt(0)+(u?u.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=f.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=f.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(i=this.users[s])?i=this.users[s]=e:a.safeReplaceObject(i,e),a.$rootScope.$broadcast("user_update",s),void 0!==this.cachedPhotoLocations[s]&&a.safeReplaceObject(this.cachedPhotoLocations[s],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var s=a.tsNow(!0);switch(e._){case"userStatusRecently":return s-259200;case"userStatusLastWeek":return s-604800;case"userStatusLastMonth":return s-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){var t;if(this.isBot(e))return"bot";const s=this.getUser(e);if(!s)return"";let i="";switch(null===(t=s.status)||void 0===t?void 0:t._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";const e=s.status.was_online,t=Date.now()/1e3;if(t-e<60)i+=" just now";else if(t-e<3600){const s=(t-e)/60|0;i+=s+" "+(1==s?"minute":"minutes")+" ago"}else if(t-e<86400){const s=(t-e)/3600|0;i+=s+" "+(1==s?"hour":"hours")+" ago"}else{const t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online";break;default:i="last seen a long time ago"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}isContact(e){return this.contactsList.has(e)}isRegularUser(e){const t=this.users[e];return t&&!this.isBot(e)&&!t.pFlags.deleted&&!t.pFlags.support}isNonContactUser(e){return this.isRegularUser(e)&&!this.isContact(e)&&e!=a.$rootScope.myID}hasUser(e,t){var s=this.users[e];return a.isObject(s)&&(t||!s.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let s=this.users[t];s.status&&"userStatusOnline"==s.status._&&s.status.expires{var t;return(null===(t=null==e?void 0:e.topPeers)||void 0===t?void 0:t.length)?e.topPeers:d.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>{this.saveApiUsers(e.users),r.default.saveApiChats(e.chats);const t=e.categories[0].peers.map(e=>{const t=u.default.getPeerID(e.peer);return h.default.pushPeer(t),t});return h.default.pushToState("topPeers",t),t})})}searchContacts(e,t=20){return d.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),r.default.saveApiChats(e.chats),e))}setUserStatus(e,t){if(!this.isBot(e)){var s=this.users[e];if(s){var i=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};s.status=i,s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=p,t.default=new p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10),a=i(s(74)),o=s(1);window.__forceSmoothScrollPolyfill__=!0,a.default.polyfill();t.default=class{constructor(e,t="y",s="",i=e,a=300,r=15,d=document.createElement("div")){if(this.el=e,this.appendTo=i,this.onScrollOffset=a,this.splitCount=r,this.container=d,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.scrollLocked=0,this.isVisible=!1,this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{const t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{const t=e.target;if(e.isIntersecting)this.setVisible(t),this.log.debug("intersection entry:",e,this.lastTopID,this.lastBottomID);else{const s=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=s+1:this.lastBottomID=s-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ti)&&this.setHidden(e)}}),i||(this.appendTo=this.container),this.log=n.logger("SCROLL"+(s?"-"+s:""),n.LogLevels.error),"x"==t){if(this.container.classList.add("scrollable-x"),!o.touchSupport){const e=e=>{if(1==(e=window.event||e).which)return;const t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}const f=this.onScroll.bind(this);window.addEventListener("resize",()=>{this.overflowContainer=(o.mediaSizes.isMobile,this.container),this.onScroll()}),this.container.addEventListener("scroll",f,{passive:!0,capture:!0}),e&&(Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)),this.overflowContainer=(o.mediaSizes.isMobile,this.container)}setVisible(e){this.visible.has(e)||(this.log.debug("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.log.debug("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){this.splitUp&&(clearTimeout(this.disableHoverTimeout),this.disableHoverTimeout=setTimeout(()=>{this.lastScrollDirection=0},100)),this.onScrollMeasure||(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)&&!this.splitUp||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(this.overflowContainer),this.onScrollMeasure=0,!this.splitUp)return;const e=this.overflowContainer.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{this.reorderTimeout=0,Array.from(this.splitUp.children).forEach((e,t)=>{e.dataset.virtual=""+t})},0))}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{const t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){this.splitUp&&(e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.log.debug("prepareElement: prepared"),window.requestAnimationFrame(()=>{const{scrollHeight:t}=e;this.log.debug("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)}))}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){const s=e.classList.contains("is-first-unread");let i=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(i=this.container.scrollTop+i,!t&&s)return void this.scrollTo(i,!1);i-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(i,t)}}scrollTo(e,t=!0,s=!1){if(this.scrollLocked&&!s)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesManager=t.FiltersStorage=t.DialogsStorage=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(5)),f=s(3),l=s(21),c=s(80),u=n(s(32)),h=n(s(13)),p=n(s(16)),m=n(s(8)),g=n(s(34)),b=n(s(11)),v=n(s(35)),y=n(s(34)),w=n(s(2)),_=n(s(55)),S=s(24),L=n(s(39)),M=n(s(38)),D=s(10),E=n(s(28));class I{constructor(){this.dialogs={},this.byFolders={},this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedOrders={0:[],1:[]},this.dialogsNum=0}getFolder(e){var t,s;if(e<=1)return null!==(t=this.byFolders[e])&&void 0!==t?t:this.byFolders[e]=[];const i=[],n=k.filtersStorage.filters[e];for(const e in this.dialogs){const t=this.dialogs[e];if(k.filtersStorage.testDialogForFilter(t,n)){let e;const a=n.pinned_peers.indexOf(t.peerID);e=-1!==a?this.generateDialogIndex(this.generateDialogPinnedDateByIndex(n.pinned_peers.length-1-a)):(null===(s=t.pFlags)||void 0===s?void 0:s.pinned)?this.generateIndexForDialog(t,!0):t.index,i.push({dialog:t,index:e})}}return i.sort((e,t)=>t.index-e.index),i.map(e=>e.dialog)}getDialog(e,t){const s=[];if(void 0===t){const e=this.byFolders;for(const t in e)s.push(e[t])}else s.push(this.getFolder(t));for(let t of s){const s=t.findIndex(t=>t.peerID==e);if(-1!==s)return[t[s],s]}return[]}generateDialogIndex(e){return void 0===e&&(e=a.tsNow(!0)+y.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e,t=!1){const s=m.default.isChannel(e.peerID)?-e.peerID:0,i=o.default.getFullMessageID(e.top_message,s);let n=k.getMessage(i).date;if(s){const e=r.default.getChat(s);(!n||e.date&&e.date>n)&&(n=e.date)}const a={};a&&a.date>n&&(n=a.date),e.pFlags.pinned&&!t&&(n=this.generateDialogPinnedDate(e));const d=this.generateDialogIndex(n);if(t)return d;e.index=d}generateDialogPinnedDateByIndex(e){return 2147418112+(65535&e)}generateDialogPinnedDate(e){const t=this.pinnedOrders[e.folder_id],s=t.indexOf(e.peerID),i=-1===s?t.push(e.peerID)-1:s;return this.generateDialogPinnedDateByIndex(i)}pushDialog(e,t){const s=this.getFolder(e.folder_id),i=s.findIndex(t=>t.peerID==e.peerID);if(-1!==i&&s.splice(i,1),this.dialogs[e.peerID]=e,t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}dropDialog(e){const t=this.getDialog(e);return t[0]&&(this.byFolders[t[0].folder_id].splice(t[1],1),delete this.dialogs[e]),t}}t.DialogsStorage=I;class C{constructor(){this.filters={},this.orderIndex=0,a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)})}handleUpdate(e){switch(e._){case"updateDialogFilter":e.filter?this.saveDialogFilter(e.filter):this.filters[e.id]&&(a.$rootScope.$broadcast("filter_delete",this.filters[e.id]),delete this.filters[e.id])}}testDialogForFilter(e,t){var s;for(const s of t.exclude_peers)if(s==e.peerID)return!1;for(const s of t.include_peers)if(s==e.peerID)return!0;const i=t.pFlags;if(i.exclude_archived&&1==e.folder_id)return!1;if(i.exclude_read&&!e.unread_count)return!1;if(i.exclude_muted){if(1e3*(null===(s=e.notify_settings)||void 0===s?void 0:s.mute_until)>Date.now())return!1}const n=e.peerID;if(n<0){if(i.broadcasts&&m.default.isBroadcast(n))return!0;if(i.groups&&m.default.isAnyGroup(n))return!0}else{if(m.default.isBot(n))return!!i.bots;if(i.non_contacts&&!d.default.contactsList.has(n))return!0;if(i.contacts&&d.default.contactsList.has(n))return!0}return!1}toggleDialogPin(e,t){const s=this.filters[t];return s.pinned_peers.findAndSplice(t=>t==e)||s.pinned_peers.unshift(e),this.updateDialogFilter(s)}createDialogFilter(e){let t=Math.max(1,...Object.keys(this.filters).map(e=>+e));return(e=a.copy(e)).id=t+1,this.updateDialogFilter(e)}updateDialogFilter(e,t=!1){const s=t?0:1;if(!t){e.flags=0;const t={contacts:0,non_contacts:1,groups:2,broadcasts:3,bots:4,exclude_muted:11,exclude_read:12,exclude_archived:13};for(const s in t)e.pFlags[s]&&(e.flags|=1<(s&&this.handleUpdate({_:"updateDialogFilter",id:e.id,filter:t?void 0:e}),s))}getOutputDialogFilter(e){const t=a.copy(e);return["pinned_peers","exclude_peers","include_peers"].forEach(e=>{t[e]=t[e].map(e=>m.default.getInputPeerByID(e))}),t.include_peers.forEachReverse((e,s)=>{t.pinned_peers.includes(e)&&t.include_peers.splice(s,1)}),t}getDialogFilters(e=!1){return i(this,void 0,void 0,(function*(){if(Object.keys(this.filters).length&&!e)return this.filters;const t=yield w.default.invokeApi("messages.getDialogFilters");for(const e of t)this.saveDialogFilter(e,!1);return this.filters}))}saveDialogFilter(e,t=!0){["pinned_peers","exclude_peers","include_peers"].forEach(t=>{e[t]=e[t].map(e=>m.default.getPeerID(e))}),e.include_peers.forEachReverse((t,s)=>{e.pinned_peers.includes(t)&&e.include_peers.splice(s,1)}),e.include_peers=e.pinned_peers.concat(e.include_peers),this.filters[e.id]?Object.assign(this.filters[e.id],e):this.filters[e.id]=e,this.setOrderIndex(e),t&&a.$rootScope.$broadcast("filter_update",e)}setOrderIndex(e){e.hasOwnProperty("orderIndex")?e.orderIndex>this.orderIndex&&(this.orderIndex=e.orderIndex):e.orderIndex=this.orderIndex++}}t.FiltersStorage=C;class P{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.pinnedMessages={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.reloadConversationsPeers=[],this.dialogsIndex=M.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},this.log=D.logger("MESSAGES",D.LogLevels.error),this.dialogsStorage=new I,this.filtersStorage=new C,this.handleNewMessages=()=>{clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,a.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}},this.handleNewDialogs=()=>{clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(const t in this.newDialogsToHandle){const s=this.newDialogsToHandle[t];"reload"in s?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.dialogsStorage.pushDialog(s),m.default.isChannel(+t)||(e=Math.max(e,s.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),a.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}},a.$rootScope.$on("apiUpdate",e=>{this.handleUpdate(e.detail)}),a.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let s=this.getMessage(e);s.webpage=_.default.getWebPage(t.id),a.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(s),id:s.id,mid:e,justMedia:!0})})}),a.$rootScope.$on("draft_updated",e=>{let t=e.detail;var s=t.peerID,i=t.draft,n=this.getDialogByPeerID(s)[0];if(n){if(i&&i.date)d=i.date;else{var o=m.default.isChannel(s)?-s:0,d=this.getMessage(n.top_message).date;if(o){var f=r.default.getChat(o);(!d||f.date&&f.date>d)&&(d=f.date)}}n.pFlags.pinned||(n.index=this.dialogsStorage.generateDialogIndex(d)),this.dialogsStorage.pushDialog(n),a.$rootScope.$broadcast("dialog_draft",{peerID:s,draft:i,index:n.index})}})}getInputEntities(e){var t=a.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=d.default.getUserInput(e.user_id))}),t}editMessage(e,t,s={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((s,i)=>{this.tempFinalizeCallbacks[e].edit=e=>{this.log("invoke callback",e),this.editMessage(e,t).then(s,i)}})}var i=[];t=f.RichTextProcessor.parseMarkdown(t,i);var n=this.getMessage(e),a=this.getMessagePeer(n),r=0;let d=s.noWebPage||!1;return d&&(r|=2),t&&(r|=2056),w.default.invokeApi("messages.editMessage",{flags:r,peer:m.default.getInputPeerByID(a),id:o.default.getMessageLocalID(e),message:t,media:n.media,entities:this.getInputEntities(i),no_webpage:d}).then(e=>{u.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,s={}){if("string"!=typeof t)return;e=m.default.getPeerMigratedTo(e)||e;var i=s.entities||[];if(s.viaBotID||(t=f.RichTextProcessor.parseMarkdown(t,i)),!t.length)return;var n,r=this.getInputEntities(i),c=this.tempID--,h=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],p=l.bigint(h[0]).shiftLeft(32).add(l.bigint(h[1])).toString(),g=this.historiesStorage[e],b=0,v={},_=s.replyToMsgID,S=m.default.isChannel(e),L=S&&m.default.isMegagroup(e),M=!(!S||L);let D=s.noWebPage||!1;void 0===g&&(g=this.historiesStorage[e]={count:null,history:[],pending:[]});var E=d.default.getSelf().id;e!=E&&(b|=2,v.out=!0,S||d.default.isBot(e)||(b|=1,v.unread=!0)),_&&(b|=8),M?(E=0,v.post=!0):b|=256,n={_:"message",id:c,from_id:E,to_id:m.default.getOutputPeer(e),flags:b,pFlags:v,date:a.tsNow(!0)+y.default.serverTimeOffset,message:t,random_id:p,reply_to_msg_id:_,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,entities:i,views:M&&1,pending:!0},s.webPage&&(n.media={_:"messageMediaWebPage",webpage:s.webPage});var I=e=>{e?n.error=!0:delete n.error,a.$rootScope.$broadcast("messages_pending")};n.send=()=>{I(!1);var i={};this.pendingAfterMsgs[e]&&(i.afterMessageID=this.pendingAfterMsgs[e].messageID);var a,d=0;_&&(d|=1),M&&(d|=16),s.clearDraft&&(d|=128),D&&(d|=2),s.viaBotID?a=w.default.invokeApi("messages.sendInlineBotResult",{flags:d,peer:m.default.getInputPeerByID(e),random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),query_id:s.queryID,id:s.resultID},i):(r.length&&(d|=8),a=w.default.invokeApi("messages.sendMessage",{flags:d,no_webpage:D,peer:m.default.getInputPeerByID(e),message:t,random_id:h,reply_to_msg_id:o.default.getMessageLocalID(_),entities:r},i)),a.then(e=>{"updateShortSentMessage"==e._?(n.flags=e.flags,n.date=e.date,n.id=e.id,n.media=e.media,n.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:p,id:e.id},{_:S?"updateNewChannelMessage":"updateNewMessage",message:n,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},()=>{I(!0)}).finally(()=>{this.pendingAfterMsgs[e]===i&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=i},this.saveMessages([n]),g.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(()=>n.send(),0),this.pendingByRandomID[p]=[e,c]}sendFile(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;var n,r,c=this.tempID--,p=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],y=l.bigint(p[0]).shiftLeft(32).add(l.bigint(p[1])).toString(),_=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},L=0,M={},D=s.replyToMsgID,I=m.default.isChannel(e),C=I&&m.default.isMegagroup(e),P=!(!I||C);const k="mime_type"in t?t.mime_type:t.type,T=t instanceof File?t.name:"",A=!(t instanceof File||t instanceof Blob);let X=s.caption||"";const x=a.tsNow(!0)+g.default.serverTimeOffset;if(this.log("sendFile",t,k),X){let e=s.entities||[];X=f.RichTextProcessor.parseMarkdown(X,e)}const F=[];let B="";if(s.isMedia)if(A)n="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(k)>=0){n="photo",r="photo."+k.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+c,sizes:[{_:"photoSize",w:s.width,h:s.height,type:"m",size:t.size}],w:s.width,h:s.height,downloaded:t.size,url:s.objectURL||""};h.default.savePhoto(e)}else if(0===k.indexOf("audio/")||["video/ogg"].indexOf(k)>=0){n="audio",r="audio."+("ogg"==k.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";let e=0;s.isVoiceMessage&&(e|=1024,e|=4,n="voice");let t={_:"documentAttributeAudio",flags:e,pFlags:{voice:s.isVoiceMessage},waveform:s.waveform,voice:s.isVoiceMessage,duration:s.duration||0};F.push(t)}else if(0===k.indexOf("video/")){n="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;s.isRoundMessage&&(e|=2);let t={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:s.isRoundMessage},round_message:s.isRoundMessage,supports_streaming:!0,duration:s.duration,w:s.width,h:s.height};F.push(t)}else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";else n="document",r="document."+k.split("/")[1],B="sendMessageUploadDocumentAction";if(F.push({_:"documentAttributeFilename",file_name:T||r}),-1!==["document","video","audio","voice"].indexOf(n)&&!A){let e={_:"document",id:""+c,duration:s.duration,attributes:F,w:s.width,h:s.height,downloaded:t.size,thumbs:[],mime_type:k,url:s.objectURL||"",size:t.size};b.default.saveDoc(e)}this.log("AMM: sendFile",n,r,t.type,s);var R=d.default.getSelf().id;e!=R&&(L|=2,M.out=!0,I||d.default.isBot(e)||(L|=1,M.unread=!0)),D&&(L|=8),P?(R=0,M.post=!0):L|=256;const O=new v.default(null,!0),j={_:"messageMediaPending",type:n,file_name:T||r,size:t.size,file:t,preloader:O,w:s.width,h:s.height,url:s.objectURL},U={_:"message",id:c,from_id:R,to_id:m.default.getOutputPeer(e),flags:L,pFlags:M,date:x,message:X,media:A?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:j,random_id:y,reply_to_msg_id:D,views:P&&1,pending:!0},N=e=>{e?U.error=!0:delete U.error,a.$rootScope.$broadcast("messages_pending")};let H=!1,$=null;const q=(t,i)=>(this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMedia",{flags:t,background:s.background,clear_draft:!0,peer:m.default.getInputPeerByID(e),media:i,message:X,random_id:p,reply_to_msg_id:o.default.getMessageLocalID(D)}).then(e=>{u.default.processUpdateMessage(e)},e=>{if("photo"==n&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,n="document",void U.send();N(!0)}));U.send=()=>{let e=0;if(D&&(e|=1),s.background&&(e|=64),e|=128,A){const{id:s,access_hash:i,file_reference:n}=t;q(e,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:s,access_hash:i,file_reference:n}})}else if(t instanceof File||t instanceof Blob){const s=S.deferredPromise();this.sendFilePromise.then(()=>{H&&!U.error||(H=!1,$=E.default.upload(t),O.attachPromise($)),$&&$.then(t=>{var s;switch(this.log("appMessagesManager: sendFile uploaded:",t),t.name=r,H=!0,n){case"photo":s={_:"inputMediaUploadedPhoto",flags:0,file:t};break;default:s={_:"inputMediaUploadedDocument",file:t,mime_type:k,attributes:F}}q(e,s)},()=>{N(!0)}),$.addNotifyListener(e=>{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:B,progress:0|t})}),$.catch(e=>{"AbortError"!==e.name||H||(this.log("cancelling upload",j),s.resolve(),this.cancelPendingMessage(y),this.setTyping("sendMessageCancelAction"))}),$.finally(s.resolve)}),this.sendFilePromise=s}},this.saveMessages([U]),_.pending.unshift(c),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:c,my:!0}),setTimeout(U.send.bind(this),0),this.pendingByRandomID[y]=[e,c]}sendAlbum(e,t,s={}){var n;return i(this,void 0,void 0,(function*(){let i;e=m.default.getPeerMigratedTo(e)||e;let r=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]},c=0,p={},y=s.replyToMsgID,_=m.default.isChannel(e),L=_&&m.default.isMegagroup(e),M=!(!_||L),D=s.caption||"",I=a.tsNow(!0)+g.default.serverTimeOffset;if(D){let e=s.entities||[];D=f.RichTextProcessor.parseMarkdown(D,e)}this.log("AMM: sendAlbum",t,s);let C=d.default.getSelf().id;e!=C&&(p.out=!0,_||d.default.isBot(e)||(p.unread=!0)),y&&(c|=1),M?(C=0,p.post=!0):c|=128;let P=t.map(()=>this.tempID--).reverse();i=P[P.length-1];let k=t.map((t,n)=>{let a=P[n],o=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],d=l.bigint(o[0]).shiftLeft(32).add(l.bigint(o[1])).toString(),f=new v.default(null,!0),u=s.sendFileDetails[n],g={_:"messageMediaPending",type:"album",preloader:f,document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+a,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:u.duration,w:u.width,h:u.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:u.objectURL||"",size:t.size};b.default.saveDoc(e),g.document=e}else{let e={_:"photo",id:""+a,sizes:[{_:"photoSize",w:u.width,h:u.height,type:"m",size:t.size}],w:u.width,h:u.height,downloaded:t.size,url:u.objectURL||""};h.default.savePhoto(e),g.photo=e}let w={_:"message",id:a,from_id:C,grouped_id:i,to_id:m.default.getOutputPeer(e),flags:c,pFlags:p,date:I,message:D,media:g,random_id:d,randomID:o,reply_to_msg_id:y,views:M&&1,pending:!0,error:!1};return this.saveMessages([w]),r.pending.unshift(a),this.pendingByRandomID[d]=[e,a],w});a.$rootScope.$broadcast("history_append",{peerID:e,messageID:k[k.length-1].id,my:!0});let T=(e,t)=>{t?e.error=!0:delete e.error,a.$rootScope.$broadcast("messages_pending")},A=!1,X=null,x=m.default.getInputPeerByID(e),F=[];for(let e=0,i=t.length;e{this.log("upload progress",e);const t=Math.max(1,Math.floor(100*e.done/e.total));this.setTyping({_:r,progress:0|t})}),X.catch(e=>{"AbortError"!==e.name||A||(this.log("cancelling upload item",a),l=!0)}),yield X.then(t=>{if(this.log("appMessagesManager: sendAlbum file uploaded:",t),l)return;let a;t.name=f;let o=s.sendFileDetails[e];return a=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:t,mime_type:i.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:t},w.default.invokeApi("messages.uploadMedia",{peer:x,media:a}).then(e=>{if(l)return;let t;if(e.photo){let s=e.photo;h.default.savePhoto(s),t=h.default.getInput(s)}else{let s=e.document;b.default.saveDoc(s),t=b.default.getMediaInput(s)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:D,entities:[]}),D=""},()=>{T(n,!0)})},()=>{T(n,!0)}),this.log("appMessagesManager: sendAlbum uploadPromise.finally!"),d.resolve()}A=!0,(e=>{this.setTyping("sendMessageCancelAction"),w.default.invokeApi("messages.sendMultiMedia",{flags:c,peer:x,multi_media:e,reply_to_msg_id:o.default.getMessageLocalID(y)}).then(e=>{u.default.processUpdateMessage(e)},e=>{k.forEach(e=>T(e,!0))})})(F)}))}sendOther(e,t,s={}){var i;e=m.default.getPeerMigratedTo(e)||e;const n=this.tempID--,r=[l.nextRandomInt(4294967295),l.nextRandomInt(4294967295)],f=l.bigint(r[0]).shiftLeft(32).add(l.bigint(r[1])).toString(),c=null!==(i=this.historiesStorage[e])&&void 0!==i?i:this.historiesStorage[e]={count:null,history:[],pending:[]},h=s.replyToMsgID,p=m.default.isChannel(e),b=p&&m.default.isMegagroup(e),v=!(!p||b);let y,_=d.default.getSelf().id;switch(t._){case"inputMediaPoll":{t.poll.id=n,L.default.savePoll(t.poll,{_:"pollResults",flags:4,total_voters:0,pFlags:{}});const{poll:e,results:s}=L.default.getPoll(""+n);y={_:"messageMediaPoll",poll:e,results:s};break}}let S=0,M={};e!=_&&(S|=2,M.out=!0,d.default.isBot(e)||(S|=1,M.unread=!0)),h&&(S|=8),v?(_=0,M.post=!0):S|=256;const D={_:"message",id:n,from_id:_,to_id:m.default.getOutputPeer(e),flags:S,pFlags:M,date:a.tsNow(!0)+g.default.serverTimeOffset,message:"",media:y,random_id:f,reply_to_msg_id:h,via_bot_id:s.viaBotID,reply_markup:s.reply_markup,views:v&&1,pending:!0};D.send=()=>{let i=0;h&&(i|=1),v&&(i|=16),s.clearDraft&&(i|=128);const n={};let d;this.pendingAfterMsgs[e]&&(n.afterMessageID=this.pendingAfterMsgs[e].messageID),d=s.viaBotID?w.default.invokeApi("messages.sendInlineBotResult",{flags:i,peer:m.default.getInputPeerByID(e),random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h),query_id:s.queryID,id:s.resultID},n):w.default.invokeApi("messages.sendMedia",{flags:i,peer:m.default.getInputPeerByID(e),media:t,random_id:r,reply_to_msg_id:o.default.getMessageLocalID(h)},n),d.then(e=>{e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),u.default.processUpdateMessage(e)},e=>{a.$rootScope.$broadcast("messages_pending")}).finally(()=>{this.pendingAfterMsgs[e]===n&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=n},this.saveMessages([D]),c.pending.unshift(n),a.$rootScope.$broadcast("history_append",{peerID:e,messageID:n,my:!0}),setTimeout(D.send,0),this.pendingByRandomID[f]=[e,n]}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(this.log("cancelPendingMessage",e,t),t){var s=t[0],i=t[1],n=this.historiesStorage[s],a=n.pending.indexOf(i);return u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[i]}}),-1!=a&&n.pending.splice(a,1),delete this.messagesStorage[i],!0}return!1}getConversationsAll(e=""){return i(this,void 0,void 0,(function*(){const t=[];for(let s=0;s<2;++s){let i=0;for(;;){const{dialogs:n}=yield k.getConversations(e,i,100,s);if(!n.length)break;t.push(...n),i=n[n.length-1].index||0}}return t}))}getConversations(e="",t,s=20,i=0){const n=i>1?0:i;let a=this.dialogsStorage.getFolder(i);if(e){if(!s||this.cachedResults.query!==e){this.cachedResults.query=e;const t=M.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage.dialogs){const s=this.dialogsStorage.dialogs[e];t[s.peerID]&&this.cachedResults.dialogs.push(s)}this.cachedResults.count=this.cachedResults.dialogs.length}a=this.cachedResults.dialogs}else this.cachedResults.query="";let o=0;if(t>0)for(;oa[o].index);o++);return e||this.dialogsStorage.allDialogsLoaded[n]||a.length>=o+s?Promise.resolve({dialogs:a.slice(o,o+s),count:this.dialogsStorage.allDialogsLoaded[n]?a.length:null}):this.getTopMessages(s,n).then(e=>{if(o=0,t>0)for(;oa[o].index);o++);return{dialogs:a.slice(o,o+s),count:e}})}getTopMessages(e,t){const s=this.dialogsStorage.getFolder(t);let i=0,n=0,f=0;return this.dialogsStorage.dialogsOffsetDate[t]&&(i=this.dialogsStorage.dialogsOffsetDate[t]+y.default.serverTimeOffset,n=65536*this.dialogsStorage.dialogsOffsetDate[t]),f|=2,w.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:i,offset_id:o.default.getMessageLocalID(0),offset_peer:m.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{i||c.telegramMeWebService.setAuthorized(!0),d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var o=!!i,f=!1;let l=e.dialogs.length,u={};for(let t=l-1;t>=0;--t){let s=e.dialogs[t];this.saveConversation(s),n&&s.index>n&&(this.newDialogsToHandle[s.peerID]=s,f=!0),s.read_inbox_max_id||s.read_outbox_max_id||(u[s.peerID]=s),o||m.default.isChannel(m.default.getPeerID(s.peer))||(this.incrementMaxSeenID(s.top_message),o=!0)}return Object.keys(u).length&&this.reloadConversation(Object.keys(u).map(e=>+e)).then(()=>{a.$rootScope.$broadcast("dialogs_multiupdate",u);for(let e in u)a.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||s.length>=e.count)&&(this.dialogsStorage.allDialogsLoaded[t]=!0),f?this.scheduleHandleNewDialogs():a.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,s={}){e=m.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var i=0;s.withMyScore&&(i|=256);let n=o.default.splitMessageIDsByChannels(t),a=[];for(let t in n.msgIDs){let s=n.msgIDs[t],o=s.length,r=[];for(let e=0;e{u.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===d&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=d,a.push(f)}return Promise.all(a)}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&m.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){return this.dialogsStorage.getDialog(e)}reloadConversation(e){return[].concat(e).forEach(e=>{this.reloadConversationsPeers.includes(e)||(this.reloadConversationsPeers.push(e),this.log("will reloadConversation",e))}),this.reloadConversationsPromise?this.reloadConversationsPromise:this.reloadConversationsPromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.reloadConversationsPeers.map(e=>m.default.getInputPeerByID(e));this.reloadConversationsPeers.length=0,w.default.invokeApi("messages.getPeerDialogs",{peers:s}).then(t=>{this.applyConversations(t),e()},t).finally(()=>{this.reloadConversationsPromise=null})},0)})}doFlushHistory(e,t){let s=0;return t&&(s|=1),w.default.invokeApi("messages.deleteHistory",{flags:s,peer:e,max_id:0}).then(s=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:s.pts,pts_count:s.pts_count}}),!s.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return i(this,void 0,void 0,(function*(){if(m.default.isChannel(e)){let t=this.getHistory(e,0,1),s=t instanceof Promise?yield t:t,i=-e,n=o.default.getMessageLocalID(s.history[0]||0);return w.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(i),max_id:n}).then(()=>(u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:i,available_min_id:n}}),!0))}return this.doFlushHistory(m.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}t?a.$rootScope.$broadcast("dialog_flush",{peerID:e}):(this.dialogsStorage.dropDialog(e),a.$rootScope.$broadcast("dialog_drop",{peerID:e}))})}))}savePinnedMessage(e,t){t?(this.pinnedMessages[e]=t,this.wrapSingleMessage(t)):delete this.pinnedMessages[e]}getPinnedMessage(e){return this.getMessage(this.pinnedMessages[e]||0)}updatePinnedMessage(e,t){w.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:m.default.getInputPeerByID(e),id:t}).then(e=>{u.default.processUpdateMessage(e)})}saveMessages(e,t={}){e.forEach(e=>{var s;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const i=this.getMessagePeer(e),n="peerChannel"==e.to_id._,a=n?-i:0,l=n&&r.default.isBroadcast(a),c=o.default.getFullMessageID(e.id,a);if(e.mid=c,e.grouped_id){(null!==(s=this.groupedMessagesStorage[e.grouped_id])&&void 0!==s?s:this.groupedMessagesStorage[e.grouped_id]={})[c]=e}const u=this.getDialogByPeerID(i)[0];u&&c>0?e.pFlags.unread=c>u[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=o.default.getFullMessageID(e.reply_to_msg_id,a)),e.date-=y.default.serverTimeOffset,e.peerID=i,e.fromID=e.pFlags.post?i:e.from_id;const p=e.fwd_from;if(p){if(i==d.default.getSelf().id){if(p.saved_from_peer&&p.saved_from_msg_id){const t=m.default.getPeerID(p.saved_from_peer),s=o.default.getFullMessageID(p.saved_from_msg_id,m.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+s}e.fromID=p.channel_id?-p.channel_id:p.from_id}else e.fwdPostID=p.channel_post;e.fwdFromID=p.channel_id?-p.channel_id:p.from_id,p.date-=y.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const g={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=h.default.savePhoto(e.media.photo,g);break;case"messageMediaPoll":e.media.poll=L.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=b.default.saveDoc(e.media.document,g);break;case"messageMediaWebPage":_.default.saveWebPage(e.media.webpage,e.mid,g);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,s;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=h.default.savePhoto(e.action.photo,g),l&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":l&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":l&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=n?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,s=-a;break;case"messageActionChatMigrateTo":t=-a,s=-e.action.channel_id;break;case"messageActionHistoryClear":e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&s&&!this.migratedFromTo[t]&&!this.migratedToFrom[s]&&this.migrateChecks(t,s)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=f.RichTextProcessor.parseEntities(e.message),s=e.entities||[];e.totalEntities=f.RichTextProcessor.mergeEntities(t,s,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[c]=e)})}getRichReplyText(e,t=e.message){let s="";if(e.media)if(e.grouped_id)s+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":s+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":s+="Geolocation";break;case"messageMediaPoll":s+=""+e.media.poll.rReply+"";break;case"messageMediaContact":s+="Contact";break;case"messageMediaDocument":let t=e.media.document;s="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,i="";if(t.message)i=f.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",s=t._;if("messageActionPhoneCall"==s){s+="."+t.type;let i=t.duration;if(i){let t=[];t.push(i%60+" s"),i>=60&&t.push((i/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}i=(a.langPack[s]||t._)+e}s=i?""+i+"":""}let i="";if(t){let e=f.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});i=f.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return s+i}editPeerFolders(e,t){w.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:m.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{this.log("editPeerFolders updates:",e),u.default.processUpdateMessage(e)})}toggleDialogPin(e,t){var s;if(t>1)return void this.filtersStorage.toggleDialogPin(e,t);const i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();const n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=(null===(s=i.pFlags)||void 0===s?void 0:s.pinned)?0:1;return w.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogPinned",peer:n,pFlags:{pinned:a}})})}markDialogUnread(e,t){var s;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let n={_:"inputDialogPeer",peer:m.default.getInputPeerByID(e)},a=t||(null===(s=i.pFlags)||void 0===s?void 0:s.unread_mark)?0:1;return w.default.invokeApi("messages.markDialogUnread",{flags:a,peer:n}).then(e=>{e&&this.handleUpdate({_:"updateDialogUnreadMark",peer:n,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){const s=r.default.getChat(-e);s&&s.migrated_to&&s.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{const s=this.dialogsStorage.dropDialog(e);s.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:s[0]}),a.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&d.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==d.default.getSelf().id||!(t.date{const i=m.default.getPeerID(e.peer);let n=e.top_message;const o=this.pendingTopMsgs[i];if(o&&(!n||this.getMessage(o).date>this.getMessage(n).date)&&(e.top_message=n=o),n){const n=this.getDialogByPeerID(i)[0];n&&n.pFlags&&n.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0),this.saveConversation(e),n?a.$rootScope.$broadcast("dialog_top",e):(t[i]=e,s=!0)}else{const e=this.dialogsStorage.dropDialog(i);e.length&&a.$rootScope.$broadcast("dialog_drop",{peerID:i,dialog:e[0]})}if(void 0!==this.newUpdatesAfterReloadToHandle[i]){for(const e in this.newUpdatesAfterReloadToHandle[i]){const t=this.newUpdatesAfterReloadToHandle[i][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[i]}}),s&&a.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=m.default.getPeerID(e.peer);if(!t)return!1;const s=m.default.isChannel(t)?-t:0,i=m.default.getPeerSearchText(t);let n,f;if(M.default.indexObject(t,i,this.dialogsIndex),e.top_message?(n=o.default.getFullMessageID(e.top_message,s),f=this.getMessage(n)):(n=this.tempID--,f={_:"message",id:n,mid:n,from_id:d.default.getSelf().id,to_id:m.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([f])),!s&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const s=m.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=s,void(this.migratedToFrom[s]=t)}}if(e.top_message=n,e.read_inbox_max_id=o.default.getFullMessageID(e.read_inbox_max_id,s),e.read_outbox_max_id=o.default.getFullMessageID(e.read_outbox_max_id,s),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e,f.date),f.mid>0&&(f.mid>e[f.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?f.pFlags.unread=!0:f.pFlags.unread=!1),void 0===this.historiesStorage[t]){const s={count:null,history:[],pending:[]};s[n>0?"history":"pending"].push(n),n<0&&f.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=s,this.mergeReplyKeyboard(s,f)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:t})}s&&e.pts&&u.default.addChannelState(s,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var s=t.reply_markup,i=e.reply_markup;if(s)return!(i&&i.mid>=t.mid)&&(!(s.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.midi.mid||t.mid<0)&&t.message)return i.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(i?t.action.user_id==i.fromID:d.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",s={_:"inputMessagesFilterEmpty"},i,n,f=0,l=0){var c=[],u=!t,h={peer:e,filter:s},p=u&&a.deepEqual(this.lastSearchFilter,h);if(u&&!p&&(this.lastSearchFilter=h,this.lastSearchResults=[]),e&&!i&&!t){var b=this.historiesStorage[e];if(void 0!==b&&b.history.length){var v,y={},_=[],S=n||20;switch(s._){case"inputMessagesFilterPhotos":y.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":y.messageMediaPhoto=!0,y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterVideo":y.messageMediaDocument=!0,_.push("video");break;case"inputMessagesFilterDocument":y.messageMediaDocument=!0;break;case"inputMessagesFilterVoice":y.messageMediaDocument=!0,_.push("voice");break;case"inputMessagesFilterRoundVoice":y.messageMediaDocument=!0,_.push("round","voice");break;case"inputMessagesFilterRoundVideo":y.messageMediaDocument=!0,_.push("round");break;case"inputMessagesFilterMusic":y.messageMediaDocument=!0,_.push("audio");break;case"inputMessagesFilterUrl":y.url=!0;break;case"inputMessagesFilterMyMentions":y.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=S)break}}if(c.length=S));e++);}}if(c.length||1e3==n)return u&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),Promise.resolve({count:0,next_rate:0,history:c});let M;if(e||!t)M=w.default.invokeApi("messages.search",{flags:0,peer:m.default.getInputPeerByID(e),q:t||"",filter:s||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:n,offset_id:o.default.getMessageLocalID(i)||0,add_offset:l?-l:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,E=0,I=i&&this.getMessage(i);I&&I.date&&(I.date+g.default.serverTimeOffset,E=I.id,D=this.getMessagePeer(I)),M=w.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:f,offset_peer:m.default.getInputPeerByID(D),offset_id:o.default.getMessageLocalID(E),limit:n||20},{timeout:0,noErrorBox:!0})}return M.then(e=>{d.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return c=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var s=r.default.getChat(-t);s.migrated_to&&this.migrateChecks(t,-s.migrated_to.channel_id)}c.push(e.mid)}),u&&(!i||p&&this.lastSearchResults.indexOf(i)>=0)&&(this.lastSearchResults=a.listMergeSorted(this.lastSearchResults,c)),{count:t,next_rate:e.next_rate,history:c}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs,0))}deleteMessages(e,t){const s=o.default.splitMessageIDsByChannels(e),i=[];for(const e in s.msgIDs){const n=+e;let a,o=s.msgIDs[n];if(n>0){const e=r.default.getChat(n);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&o.forEach((e,i)=>{this.getMessage(s.mids[n][i]).pFlags.out&&t.push(e)}),!t.length)return;o=t}a=w.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(n),id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:n,messages:o,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),a=w.default.invokeApi("messages.deleteMessages",{flags:e,id:o}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:o,pts:e.pts,pts_count:e.pts_count}})})}i.push(a)}return Promise.all(i)}readHistory(e,t=0,s=0){const i=m.default.isChannel(e),n=this.historiesStorage[e],o=this.getDialogByPeerID(e)[0];if(!o||!o.unread_count){if(!n||!n.history.length)return Promise.resolve(!1);if(!!!n.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(n.readPromise)return n.readPromise;let d;return d=i?w.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):w.default.invokeApi("messages.readHistory",{peer:m.default.getInputPeerByID(e),max_id:t}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),n.readPromise=d.then(()=>{let i=-1;0!=t&&n.history.length&&(i=n.history.indexOf(t));let r=1;if(n.history.length&&t)for(let e=-1==i?0:i,s=n.history.length;et)continue;const i=this.messagesStorage[s];i&&!i.pFlags.out&&(i.pFlags.unread=!1,r++)}return!!o&&(n.history.length&&(o.read_inbox_max_id=t),o.read_inbox_max_id==o.top_message||o.read_inbox_max_id==o.read_outbox_max_id?o.unread_count=0:o.unread_count=Math.max(o.unread_count-(s||r),0),this.log("readHistory set unread_count to:",o.unread_count,o),a.$rootScope.$broadcast("dialog_unread",{peerID:e,count:o.unread_count}),a.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete n.readPromise}),n.readPromise}readMessages(e){var t=o.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e];e>0?w.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:s}).then(()=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:s}})}):w.default.invokeApi("messages.readMessageContents",{id:s}).then(e=>{u.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:s,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){var t,s;switch(this.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var i=e.random_id,n=this.pendingByRandomID[i];if(n){var f=n[0],l=n[1],c=m.default.isChannel(f)?-f:0,u=o.default.getFullMessageID(e.id,c);if(p=this.messagesStorage[u]){var h=(g=this.historiesStorage[f]).pending.indexOf(l);-1!=h&&g.pending.splice(h,1),delete this.messagesStorage[l],this.finalizePendingMessageCallbacks(l,u)}else this.pendingByMessageID[u]=i}break;case"updateNewMessage":case"updateNewChannelMessage":var p=e.message,g=(f=this.getMessagePeer(p),this.historiesStorage[f]);if(!(C=this.getDialogByPeerID(f)).length){this.newDialogsToHandle[f]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[f]&&(this.newUpdatesAfterReloadToHandle[f]=[]),this.newUpdatesAfterReloadToHandle[f].push(e);break}if("updateNewChannelMessage"==e._){var b=r.default.getChat(-f);if(b.pFlags&&(b.pFlags.left||b.pFlags.kicked))break}if(this.saveMessages([p],{isNew:!0}),void 0===g&&(g=this.historiesStorage[f]={count:null,history:[],pending:[]}),-1!=(F=p.mid>0?g.history:g.pending).indexOf(p.mid))return!1;var v,_=F[0];F.unshift(p.mid),p.mid>0&&p.mid<_&&F.sort((e,t)=>t-e),p.mid>0&&null!==g.count&&g.count++,this.mergeReplyKeyboard(g,p)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:f}),!p.pFlags.out&&p.from_id&&d.default.forceUserOnline(p.from_id),(i=this.pendingByMessageID[p.mid])&&((v=this.finalizePendingMessage(i,p))&&a.$rootScope.$broadcast("history_update",{peerID:f,mid:p.mid}),delete this.pendingByMessageID[p.mid]),v||(void 0===this.newMessagesToHandle[f]&&(this.newMessagesToHandle[f]=[]),this.newMessagesToHandle[f].push(p.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages,0)));var S=!p.pFlags.out&&p.pFlags.unread;(L=C[0]).top_message=p.mid,S&&L.unread_count++,L.pFlags.pinned&&L.index||(L.index=this.dialogsStorage.generateDialogIndex(p.date)),this.newDialogsToHandle[f]=L,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{this.log("updateDialogUnreadMark",e);let t=m.default.getPeerID(e.peer.peer),s=this.getDialogByPeerID(t);if(s.length){let t=s[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,a.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{this.log("updateFolderPeers",e);const t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{var t;const{folder_id:s,peer:i}=e,n=m.default.getPeerID(i),a=this.dialogsStorage.dropDialog(n);if(a.length){const e=a[0];this.newDialogsToHandle[n]=e,(null===(t=e.pFlags)||void 0===t?void 0:t.pinned)&&(delete e.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(t=>t==e.peerID)),e.folder_id=s,this.dialogsStorage.generateIndexForDialog(e),this.dialogsStorage.pushDialog(e)}else this.newDialogsToHandle[n]={reload:!0}});break}case"updateDialogPinned":{const s=null!==(t=e.folder_id)&&void 0!==t?t:0;this.log("updateDialogPinned",e);const i=m.default.getPeerID(e.peer.peer),n=this.getDialogByPeerID(i);if(this.scheduleHandleNewDialogs(),n.length){const t=n[0];this.newDialogsToHandle[i]=t,e.pFlags.pinned?t.pFlags.pinned=!0:(delete t.pFlags.pinned,this.dialogsStorage.pinnedOrders[s].findAndSplice(e=>e==t.peerID)),this.dialogsStorage.generateIndexForDialog(t)}else this.newDialogsToHandle[i]={reload:!0};break}case"updatePinnedDialogs":{const t=null!==(s=e.folder_id)&&void 0!==s?s:0;this.log("updatePinnedDialogs",e);const i={};if(!e.order){w.default.invokeApi("messages.getPinnedDialogs",{folder_id:t}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{i[e.peerID]=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.dialogsStorage.pinnedOrders[t].length=0;let n=!1;e.order.reverse(),e.order.forEach(e=>{const t=m.default.getPeerID(e.peer);i[t]=!0;const s=this.getDialogByPeerID(t);if(!s.length)return this.newDialogsToHandle[t]={reload:!0},void(n=!0);const a=s[0];a.pFlags.pinned=!0,this.dialogsStorage.generateIndexForDialog(a),this.newDialogsToHandle[t]=a,n=!0}),this.dialogsStorage.getFolder(t).forEach(e=>{const t=e.peerID;e.pFlags.pinned&&!i[t]&&(this.newDialogsToHandle[t]={reload:!0},n=!0)}),n&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":p=e.message,f=this.getMessagePeer(p),c="peerChannel"==p.to_id._?-f:0,u=o.default.getFullMessageID(p.id,c);if(void 0===this.messagesStorage[u])break;this.saveMessages([p],{isEdited:!0}),a.safeReplaceObject(this.messagesStorage[u],p);var L,M=(L=this.getDialogByPeerID(f)[0])&&L.top_message==u;if(p.clear_history)M&&a.$rootScope.$broadcast("dialog_flush",{peerID:f});else if(a.$rootScope.$broadcast("message_edit",{peerID:f,id:p.id,mid:u,justMedia:!1}),M){var D={};D[f]=L,a.$rootScope.$broadcast("dialogs_multiupdate",D)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var E="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,I=(c=e.channel_id,o.default.getFullMessageID(e.max_id,c)),C=(f=c?-c:m.default.getPeerID(e.peer),this.getDialogByPeerID(f)),P=0,k=(F=(this.historiesStorage[f]||{}).history||[]).length,T=!1;for(f>0&&E&&d.default.forceUserOnline(f),X=0;XI)&&(p=this.messagesStorage[R])&&p.pFlags.out==E){if(!p.pFlags.unread)break;p&&p.pFlags.unread&&(p.pFlags.unread=!1,T||(T=!0),p.pFlags.out||C[0]&&(P=--C[0].unread_count))}C[0]&&(!E&&P&&C[0].top_message<=I&&(P=C[0].unread_count=0),C[0][E?"read_outbox_max_id":"read_inbox_max_id"]=I),a.$rootScope.$broadcast("dialog_unread",{peerID:f,count:P}),T&&a.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":c=e.channel_id;var A=[];e.messages.forEach(e=>{A.push(o.default.getFullMessageID(e,c))}),e.messages=A;case"updateReadMessagesContents":var X,x=(B=e.messages).length;for(X=0;X{(!e.available_min_id||o.default.getMessageLocalID(t)<=e.available_min_id)&&B.push(t)}),e.messages=B;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},s=e.channel_id;for(let i=0;i{let s=t[+e],i=this.historiesStorage[e];if(void 0!==i){let t=[],n=[];for(let e=0;e0&&(i.count-=s.count,i.count<0&&(i.count=0));for(let e=0;e0;!("channel"!=i._||!i.username&&(i.pFlags.left||i.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],a.$rootScope.$broadcast("history_forbidden",s)),d!=n&&(n?this.reloadConversation(-t):o[0]&&(this.dialogsStorage.dropDialog(s),a.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:o[0]})));break}case"updateChannelReload":{const t=e.channel_id,s=-t;this.dialogsStorage.dropDialog(s),delete this.historiesStorage[s],this.reloadConversation(-t).then(()=>{a.$rootScope.$broadcast("history_reload",s)});break}case"updateChannelMessageViews":{let t=e.views,s=o.default.getFullMessageID(e.id,e.channel_id),i=this.getMessage(s);i&&i.views&&i.views{e(t)}),delete this.tempFinalizeCallbacks[e]),a.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;p.default.set({max_seen_msg:e}),w.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,s,i){var n;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const a=null!==(n=this.historiesStorage[e])&&void 0!==n?n:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,d=!1,f=!1,l=e;if(this.migratedToFrom[e]&&(f=!0,t&&t0)for(d=!0;ra.history[r]){d=!1;break}if(!d&&(null!==a.count&&a.history.length==a.count||a.history.length>=r+s)){i?(i=Math.min(r,i),r=Math.max(0,r-i),s+=i):s=s;let e=a.history.slice(r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})}return d&&(r=0),(i||t)&&-1==a.history.indexOf(t)?(i&&(r=-i,s+=i),this.requestHistory(l,t,s,r).then(e=>{a.count=e.count||e.messages.length,f&&a.count++;let s=[];return e.messages.forEach(e=>{s.push(e.mid)}),!t&&a.pending.length&&(s=a.pending.slice().concat(s)),this.wrapHistoryResult({count:a.count,history:s,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,s,a).then(()=>{if(r=0,t>0)for(r=0;ra.history[r]);r++);let e=a.history.slice(i?Math.max(r-i,0):r,r+s);return!t&&a.pending.length&&(e=a.pending.slice().concat(e)),this.wrapHistoryResult({count:a.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,s,i){const n=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,s,n).then(n=>{i.count=n.count||n.messages.length,!t&&n.messages.length&&(t=n.messages[0].mid+1);let o=0;if(t>0)for(;oi.history[o]);o++);const r=i.history.length;i.history.splice(o,i.history.length-o),n.messages.forEach(t=>{this.mergeReplyKeyboard(i,t)&&a.$rootScope.$broadcast("history_reply_markup",{peerID:e}),i.history.push(t.mid)});const d=i.history.length;s-=d-r;const f=this.migratedFromTo[e],l=this.migratedToFrom[e],c=void 0!==f||void 0!==l;if(c&&(i.count=Math.max(i.count,d)+1),s>0){if(t=i.history[d-1],c){if(!n.messages.length){if(!l)return i.count=d,!0;t=0,e=l}return this.fillHistoryStorage(e,t,s,i)}if(d=0;t--){const s=this.messagesStorage[e.history[t]];if(s&&!s.pFlags.out&&s.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,s=0,i=0,n=0){const f=m.default.isChannel(e);return a.$rootScope.$broadcast("history_request"),w.default.invokeApi("messages.getHistory",{peer:m.default.getInputPeerByID(e),offset_id:t?o.default.getMessageLocalID(t):0,offset_date:n,add_offset:i,limit:s,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(n=>{this.log("requestHistory result:",n,t,s,i),d.default.saveApiUsers(n.users),r.default.saveApiChats(n.chats),this.saveMessages(n.messages),f&&u.default.addChannelState(-e,n.pts);let a=n.messages.length;a&&n.messages[a-1].deleted&&(n.messages.splice(a-1,1),a--,n.count--);const o=this.historiesStorage[e];return a&&n.messages[a-1].grouped_id&&o.history.length+n.messages.lengthn):n},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;const e=this.needSingleMessages.slice();this.needSingleMessages.length=0;const t=o.default.splitMessageIDsByChannels(e);let s=[];Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var n;n=e>0?w.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:i}):w.default.invokeApi("messages.getMessages",{id:i}),s.push(n.then(s=>{d.default.saveApiUsers(s.users),r.default.saveApiChats(s.chats),this.saveMessages(s.messages),a.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(s).finally(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e,t=!1){this.messagesStorage[e]&&!t?a.$rootScope.$broadcast("messages_downloaded",[e]):-1==this.needSingleMessages.indexOf(e)&&(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)))}setTyping(e){if(!a.$rootScope.myID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=m.default.getInputPeerByID(a.$rootScope.myID);return w.default.invokeApi("messages.setTyping",{peer:t,action:e})}}t.AppMessagesManager=P;const k=new P;t.default=k},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(5)),a=i(s(9)),o=s(0),r=s(3),d=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],f=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],l=[0,7,4,1,6,3,5],c={getPeerPhoto:e=>e>0?n.default.getUserPhoto(e):a.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=a.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&c.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,s=!1)=>{let i={};i=o.isObject(e)?e:c.getPeer(e);let n="";return e>0?(i.first_name&&(n+=i.first_name),i.last_name&&(n+=" "+i.last_name),n=n?n.trim():i.pFlags.deleted?"Deleted account":i.username):n=i.title,s&&(n=n.split(" ")[0]),t?n:r.RichTextProcessor.wrapEmojiText(n)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return a.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?n.default.getUserString(e):a.default.getChatString(-e),getPeerUsername:e=>e>0?n.default.getUser(e).username||"":a.default.getChat(-e).username||"",getPeer:e=>e>0?n.default.getUser(e):a.default.getChat(-e),getPeerID:e=>{if("number"==typeof e)return e;if(o.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);if(!e)return 0;const t="u"==e.charAt(0),s=e.substr(1).split("_");return t?s[0]:-s[0]||0},isChannel:e=>e<0&&a.default.isChannel(-e),isMegagroup:e=>e<0&&a.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!a.default.isBroadcast(-e),isBroadcast:e=>c.isChannel(e)&&!c.isMegagroup(e),isBot:e=>e>0&&n.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),s=e.substr(1).split("_");let i=+s[0];return"u"==t?(n.default.saveUserAccess(i,s[1]),{_:"inputPeerUser",user_id:i,access_hash:s[1]}):"c"==t||"s"==t?(a.default.saveChannelAccess(i,s[1]),"s"==t&&a.default.saveIsMegagroup(i),{_:"inputPeerChannel",channel_id:i,access_hash:s[1]||0}):{_:"inputPeerChat",chat_id:i}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return a.default.isChannel(t)?a.default.getChannelInputPeer(t):a.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:n.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?f:d)[l[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+n.default.getUserSearchText(e);else if(e<0){t="%pg "+(a.default.getChat(-e).title||"")}return t}};t.default=c},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppChatsManager=void 0;const a=s(0),o=s(3),r=n(s(5)),d=n(s(2)),f=n(s(32)),l=n(s(27)),c=n(s(38));class u{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},this.onChatUpdated=(e,t)=>{f.default.processUpdateMessage(t),t&&t.updates&&t.updates.length&&this.isChannel(e)&&l.default.invalidateChannelParticipants(e)},a.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateChannel":const e=t.channel_id;a.$rootScope.$broadcast("channel_settings",{channelID:e})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!a.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=o.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],s=c.default.cleanSearchText(e.title||"",!1).split(" "),i=s.shift(),n=s.pop();if(e.initials=i.charAt(0)+(n?n.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=c.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let s=t.photo&&t.photo.photo_small,i=e.photo&&e.photo.photo_small;JSON.stringify(s)!==JSON.stringify(i)&&(r=!0),a.safeReplaceObject(t,e),a.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&a.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&a.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{_:"chatEmpty",id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var s,i;const n=this.getChat(e);if("chatEmpty"==n._)return!1;if("chatForbidden"==n._||"channelForbidden"==n._||n.pFlags.kicked||n.pFlags.left)return!1;if(n.pFlags.creator)return!0;let a=null!==(i=null===(s=n.admin_rights||n.banned_rights||n.default_banned_rights)||void 0===s?void 0:s.pFlags)&&void 0!==i?i:{};switch(t){case"send":if("channel"==n._&&!n.pFlags.megagroup&&!a.post_messages)return!1;break;case"deleteRevoke":if("channel"==n._)return!!a.delete_messages;if(!n.pFlags.admin)return!1;break;case"pin":if("channel"==n._)return n.admin_rights?!!a.pin_messages||!!a.post_messages:!a.pin_messages;if(a.pin_messages&&!n.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==n._){if(!n.pFlags.megagroup)return!1;if("invite"!=t||!n.pFlags.democracy)return!1}else if(n.pFlags.admins_enabled&&!n.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){e<0&&(e=-e);let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?(e<0&&(e=-e),{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}):{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let s=this.chats[e];return a.isObject(s)&&(t||!s.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const s=this.getChat(e),i=this.isBroadcast(e),n=s.participants_count||(null===(t=s.participants)||void 0===t?void 0:t.participants.length)||0;return a.numberWithCommas(n)+" "+(i?"followers":"members")}wrapForFull(e,t){let s=a.copy(t),i=this.getChat(e);return s.participants_count||(s.participants_count=i.participants_count),s.participants&&"chatParticipants"==s.participants._&&(s.participants.participants=this.wrapParticipants(e,s.participants.participants)),s.about&&(s.rAbout=o.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.peerString=this.getChatString(e),s.chat=i,s}wrapParticipants(e,t){let s=this.getChat(e),i=r.default.getSelf().id;if(this.isChannel(e)){let e=s.pFlags.creator;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=s.pFlags.creator||s.pFlags.admins_enabled&&s.pFlags.admin;t.forEach(t=>{t.canLeave=i==t.user_id,t.canKick=!t.canLeave&&(s.pFlags.creator||"chatParticipant"==t._&&(e||i==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return d.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let s=this.getChannelInput(e),i=t.map(e=>r.default.getUserInput(e));return d.default.invokeApi("channels.inviteToChannel",{channel:s,users:i}).then(e=>{f.default.processUpdateMessage(e)})}createChat(e,t){return d.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(f.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let s={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?d.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:s}).then(e=>{f.default.processUpdateMessage(e)}):d.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:s}).then(e=>{f.default.processUpdateMessage(e)})}getOnlines(e){var t,s;return i(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let i=Date.now()/1e3|0,n=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(i-n.timestamp<60)return n.onlines;let a=yield d.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),o=null!==(s=a.onlines)&&void 0!==s?s:1;return n.timestamp=i,n.onlines=o,o}if(this.isBroadcast(e))return 1;let i=l.default.getChatFull(e);if("chatFull"==i._&&i.participants&&i.participants.participants){return i.participants.participants.reduce((e,t)=>{let s=r.default.getUser(t.user_id);return s&&s.status&&"userStatusOnline"==s.status._?e+1:e},0)}return 1}))}leaveChannel(e){return d.default.invokeApi("channels.leaveChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}joinChannel(e){return d.default.invokeApi("channels.joinChannel",{channel:this.getChannelInput(e)}).then(this.onChatUpdated.bind(this,e))}}t.AppChatsManager=u,t.default=new u},function(e,t,s){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.logger=t.LogLevels=void 0,function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(i=t.LogLevels||(t.LogLevels={}));var n=Date.now();function a(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"}t.logger=function(e,t=i.log|i.warn|i.error){function s(...s){return t&i.log&&console.log(a(),"["+e+"]:",...s)}return t=i.error,s.warn=function(...s){return t&i.warn&&console.warn(a(),"["+e+"]:",...s)},s.info=function(...s){return t&i.log&&console.info(a(),"["+e+"]:",...s)},s.error=function(...s){return t&i.error&&console.error(a(),"["+e+"]:",...s)},s.trace=function(...s){return t&i.log&&console.trace(a(),"["+e+"]:",...s)},s.debug=function(...s){return t&i.debug&&console.debug(a(),"["+e+"]:",...s)},s}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(3),o=s(0),r=n(s(54)),d=s(21),f=n(s(28)),l=n(s(13)),c=s(1);const u=new class{constructor(){this.docs={}}saveDoc(e,t){if(this.docs[e.id]){const t=this.docs[e.id];return e.thumbs&&(t.thumbs||(t.thumbs=e.thumbs)),t.file_reference=e.file_reference,t}if(t&&Object.assign(e,t),this.docs[e.id]=e,e.attributes.forEach(t=>{switch(t._){case"documentAttributeFilename":e.file_name=a.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice&&"audio/ogg"==e.mime_type?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=a.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return c.isServiceWorkerSupported&&("gif"==e.type&&e.size>8e6||"audio"==e.type||"video"==e.type)&&(e.supportsStreaming=!0,e.url||(e.url=this.getFileURL(e))),e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return o.isObject(e)&&"string"!=typeof e?e:this.docs[e]}getMediaInput(e){return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference},ttl_seconds:0}}getInput(e,t){return{_:"inputDocumentFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t}}getFileDownloadOptions(e,t){const s=this.getInput(e,null==t?void 0:t.type);let i;return i=t?e.sticker?"image/webp":"image/jpeg":e.mime_type||"application/octet-stream",{dcID:e.dc_id,location:s,size:t?t.size:e.size,mimeType:i,fileName:e.file_name}}getFileURL(e,t=!1,s){let i;return i=t?"download":s?"thumb":e.supportsStreaming?"stream":"document",o.getFileURL(i,this.getFileDownloadOptions(e,s))}getThumbURL(e,t){let s=Promise.resolve();return t.url||(t.bytes?t.url=l.default.getPreviewURLFromBytes(t.bytes,!!e.sticker):s=this.downloadDocNew(e,t)),{thumb:t,promise:s}}getThumb(e,t=!0){var s;if(null===(s=e.thumbs)||void 0===s?void 0:s.length){let s;return t||(s=e.thumbs.find(e=>!e.bytes)),s||(s=e.thumbs[0]),this.getThumbURL(e,s)}return null}getInputFileName(e,t){return d.getFileNameByLocation(this.getInput(e,t),{fileName:e.file_name})}downloadDocNew(e,t){const s=this.getDoc(e);if("documentEmpty"==s._)throw new Error("Document empty!");const n=this.getInputFileName(s,null==t?void 0:t.type);let a=f.default.getDownload(n);if(a)return a;const o=this.getFileDownloadOptions(s,t);a=f.default.download(o);const d=a;return d.then(e=>{t?t.url=URL.createObjectURL(e):(s.supportsStreaming||(s.url=URL.createObjectURL(e)),s.downloaded=!0)}),"voice"!=s.type||r.default.isPlaySupported()||(a=d.then(e=>i(this,void 0,void 0,(function*(){let t=new FileReader;return yield new Promise((i,n)=>{t.onloadend=e=>{let t=new Uint8Array(e.target.result);r.default.decode(t).then(e=>{s.url=e.url,i()},e=>{delete s.downloaded,n(e)})},t.readAsArrayBuffer(e)}),e})))),a}saveDocFile(e){const t=this.getFileDownloadOptions(e);return f.default.downloadToDisc(t,e.file_name)}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppImManager=void 0;const r=o(s(2)),d=s(0),f=o(s(5)),l=o(s(7)),c=o(s(8)),u=o(s(27)),h=o(s(15)),p=s(3),m=o(s(13)),g=o(s(22)),b=s(10),v=o(s(56)),y=o(s(14)),w=o(s(9)),_=s(20),S=o(s(35)),L=s(4),M=s(95),D=o(s(6)),E=o(s(101)),I=o(s(23)),C=o(s(11)),P=o(s(50)),k=o(s(43)),T=o(s(41)),A=o(s(62)),X=o(s(64)),x=s(36),F=s(1),B=o(s(18)),R=o(s(61)),O=o(s(29)),j=a(s(42)),U=o(s(102)),N=o(s(37)),H=o(s(39)),$=s(19),q=s(26);y.default;class z{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},L.parseMenuButtonsTo(this.buttons,this.element.children),L.attachContextMenuListener(e,e=>{let t=null;try{t=d.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),t=t.parentElement;let s=+t.dataset.mid;if(!s)return;let i=d.$rootScope.selectedPeerID;this.msgID=s;const n=l.default.getMessage(s);this.buttons.copy.style.display=n.message?"":"none",d.$rootScope.myID==i||i<0&&w.default.hasRights(-i,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=l.default.canEditMessage(s)?"":"none";let a=t.classList.contains("is-in")?"left":"right";L.positionMenu(e,this.element,a),L.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=l.default.getMessage(this.msgID),t=e?e.message:"";var s=document.createElement("textarea");s.value=t,s.style.position="fixed",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(s)}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=d.$rootScope.selectedPeerID,n=c.default.getPeerTitle(i,!1,!0),a=e=>{l.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",i==d.$rootScope.myID?s=[{text:"DELETE",isDanger:!0,callback:()=>a(!1)}]:(s=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!1)}],i>0?s.push({text:"DELETE FOR ME AND "+n,isDanger:!0,callback:()=>a(!0)}):w.default.hasRights(-i,"deleteRevoke")&&s.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>a(!0)})),s.push({text:"CANCEL",isCancel:!0}),new x.PopupPeer("popup-delete-chat",{peerID:i,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:s}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo(c.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{P.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=l.default.getMessage(this.msgID),t=Q.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{l.default.updatePinnedMessage(d.$rootScope.selectedPeerID,this.msgID)})}}class W{constructor(){this.foundCount=0,this.selectedIndex=0,this.onDateClick=e=>{d.cancelEvent(e),new U.default(new Date,Q.onDatePick).show()},this.selectResult=e=>{if(this.setPeerPromise)return this.setPeerPromise;const t=+e.getAttribute("data-peerID"),s=+e.dataset.mid||void 0,i=d.whichChild(e);i==this.foundCount-1?this.upBtn.setAttribute("disabled","true"):this.upBtn.removeAttribute("disabled"),i?this.downBtn.removeAttribute("disabled"):this.downBtn.setAttribute("disabled","true"),this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active");const n=Q.setPeer(t,s);this.setPeerPromise=(n instanceof Promise?n:Promise.resolve(n)).then(()=>{this.selectedIndex=i,this.foundCountEl.innerText=`${i+1} of ${this.foundCount}`;const e=this.searchGroup.list.childElementCount;this.selectedIndex>=e-6&&this.appSearch.searchMore()}).finally(()=>{this.setPeerPromise=null})},this.onResultsClick=e=>{const t=d.findUpTag(e.target,"LI");t&&this.selectResult(t)},this.onFooterClick=e=>{this.foundCount&&(Q.bubblesContainer.classList.toggle("search-results-active"),this.results.classList.toggle("active"))},this.onUpClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex+1])},this.onDownClick=e=>{d.cancelEvent(e),this.selectResult(this.searchGroup.list.children[this.selectedIndex-1])},this.element=document.createElement("div"),this.element.classList.add("sidebar-header","chat-search","chats-container"),this.backBtn=document.createElement("button"),this.backBtn.classList.add("btn-icon","tgico-back","sidebar-close-button"),$.ripple(this.backBtn),this.backBtn.addEventListener("click",()=>{Q.topbar.classList.remove("hide-pinned"),this.element.remove(),this.searchInput.remove(),this.results.remove(),this.footer.remove(),this.footer.removeEventListener("click",this.onFooterClick),this.dateBtn.removeEventListener("click",this.onDateClick),this.upBtn.removeEventListener("click",this.onUpClick),this.downBtn.removeEventListener("click",this.onDownClick),this.searchGroup.list.removeEventListener("click",this.onResultsClick),Q.bubblesContainer.classList.remove("search-results-active")},{once:!0}),this.searchInput=new O.default("Search"),this.results=document.createElement("div"),this.results.classList.add("chat-search-results","chats-container"),this.searchGroup=new j.SearchGroup("","messages",void 0,"",!1),this.searchGroup.list.addEventListener("click",this.onResultsClick),this.appSearch=new j.default(this.results,this.searchInput,{messages:this.searchGroup},e=>{this.foundCount=e,this.foundCount?this.selectResult(this.searchGroup.list.children[0]):(this.foundCountEl.innerText=this.searchInput.value?"No results":"",this.results.classList.remove("active"),Q.bubblesContainer.classList.remove("search-results-active"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"))}),this.appSearch.beginSearch(d.$rootScope.selectedPeerID),Q.bubblesContainer.append(this.results),this.footer=document.createElement("div"),this.footer.classList.add("chat-search-footer"),this.footer.addEventListener("click",this.onFooterClick),$.ripple(this.footer),this.foundCountEl=document.createElement("span"),this.foundCountEl.classList.add("chat-search-count"),this.dateBtn=document.createElement("button"),this.dateBtn.classList.add("btn-icon","tgico-calendar"),this.controls=document.createElement("div"),this.controls.classList.add("chat-search-controls"),this.upBtn=document.createElement("button"),this.upBtn.classList.add("btn-icon","tgico-up"),this.downBtn=document.createElement("button"),this.downBtn.classList.add("btn-icon","tgico-down"),this.upBtn.setAttribute("disabled","true"),this.downBtn.setAttribute("disabled","true"),this.dateBtn.addEventListener("click",this.onDateClick),this.upBtn.addEventListener("click",this.onUpClick),this.downBtn.addEventListener("click",this.onDownClick),this.controls.append(this.upBtn,this.downBtn),this.footer.append(this.foundCountEl,this.dateBtn,this.controls),Q.topbar.parentElement.insertBefore(this.footer,Q.chatInput),this.element.append(this.backBtn,this.searchInput.container),Q.topbar.classList.add("hide-pinned"),Q.topbar.parentElement.append(this.element),this.searchInput.input.focus()}}class G{constructor(){this.container=document.createElement("div"),this.container.classList.add("pinned-audio","pinned-container"),this.container.style.display="none",this.toggle=document.createElement("div"),this.toggle.classList.add("pinned-audio-ico","tgico"),this.title=document.createElement("div"),this.title.classList.add("pinned-audio-title"),this.subtitle=document.createElement("div"),this.subtitle.classList.add("pinned-audio-subtitle"),this.close=document.createElement("button"),this.close.classList.add("pinned-audio-close","btn-icon","tgico-close"),this.container.append(this.toggle,this.title,this.subtitle,this.close),this.close.addEventListener("click",e=>{d.cancelEvent(e),this.container.style.display="none",this.container.parentElement.classList.remove("is-audio-shown"),this.toggle.classList.contains("flip-icon")&&N.default.toggle()}),this.toggle.addEventListener("click",e=>{d.cancelEvent(e),N.default.toggle()}),d.$rootScope.$on("audio_play",e=>{const{doc:t,mid:s}=e.detail;let i,n;if("voice"==t.type||"round"==t.type){const e=l.default.getMessage(s);i=c.default.getPeerTitle(e.fromID,!1,!0),n=_.formatDate(e.date,!1,!1)}else i=t.audioTitle||t.file_name,n=t.audioPerformer?p.RichTextProcessor.wrapPlainText(t.audioPerformer):"Unknown Artist";if(this.title.innerHTML=i,this.subtitle.innerHTML=n,this.toggle.classList.add("flip-icon"),this.container.dataset.mid=""+s,this.container.style.display){const e=Q.scrollable.scrollTop;this.container.style.display="",this.container.parentElement.classList.add("is-audio-shown"),Q.scrollable.scrollTop=e}}),d.$rootScope.$on("audio_pause",()=>{this.toggle.classList.remove("flip-icon")})}}class V{constructor(){this.columnEl=document.getElementById("column-center"),this.btnJoin=this.columnEl.querySelector(".chat-join"),this.btnMute=this.columnEl.querySelector(".chat-mute-button"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.columnEl.querySelector(".chat-search-button"),this.goDownBtn=this.columnEl.querySelector("#bubbles-go-down"),this.menuButtons={},this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=null,this.lazyLoadQueue=new I.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.chatInfo=this.columnEl.querySelector(".chat-info"),this.contextMenu=new z(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new E.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.selectTab=q.horizontalMenu(null,document.getElementById("main-columns")),this.closeBtn=this.topbar.querySelector(".sidebar-close-button"),this.onDatePick=e=>{const t=this.peerID;l.default.requestHistory(t,0,2,-1,e).then(e=>{var s;(null===(s=null==e?void 0:e.messages)||void 0===s?void 0:s.length)?this.peerID==t&&Q.setPeer(this.peerID,e.messages[0].mid):this.log.error("no history!")})},this.log=b.logger("IM",b.LogLevels.log|b.LogLevels.warn|b.LogLevels.debug|b.LogLevels.error),this.chatInputC=new M.ChatInput,this.preloader=new S.default(null,!1),this.selectTab(0),L.parseMenuButtonsTo(this.menuButtons,this.columnEl.querySelector(".chat-more-button").firstElementChild.children),this.chatAudio=new G,this.topbar.insertBefore(this.chatAudio.container,this.chatInfo.nextElementSibling),r.default.getUserID().then(e=>{this.myID=d.$rootScope.myID=e}),d.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=d.$rootScope.myID=t?t.id:0}),d.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),d.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,s=this.bubbles[e];if(!s)return;let i=l.default.getMessage(e);this.getDateContainerByMessage(i,!1).container.append(s),this.bubbleGroups.addBubble(s,i,!1)}}),d.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let s=t[this.peerID];this.renderNewMessagesByIDs(s)}),d.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),d.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),d.$rootScope.$on("chat_update",e=>{var t;const s=e.detail;if(this.peerID==-s){const e=w.default.getChat(s);this.btnJoin.classList.toggle("hide",!(null===(t=null==e?void 0:e.pFlags)||void 0===t?void 0:t.left))}}),d.$rootScope.$on("message_sent",e=>{var t,s,i;const{tempID:n,mid:a}=e.detail;this.log("message_sent",e.detail);const o=l.default.getMessage(a);if(o.media)if(o.media.photo){const e=m.default.getPhoto(n);if(e){const t=o.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(o.media.document){const e=C.default.getDoc(n);if(e&&e.type&&"sticker"!=e.type){const t=o.media.document;t.downloaded=e.downloaded,t.url=e.url}}let r=this.bubbles[n];if(r){if(this.bubbles[a]=r,o.grouped_id){let e=r.querySelectorAll(".album-item"),t=d.getObjectKeysAndSort(l.default.groupedMessagesStorage[o.grouped_id]);Array.from(e).forEach((e,s)=>{e.dataset.mid=""+t[s]})}if(null===(t=o.media)||void 0===t?void 0:t.poll){const e=o.media.poll,t=r.querySelector("poll-element");t&&(t.setAttribute("poll-id",e.id),t.setAttribute("message-id",a),delete H.default.polls[n],delete H.default.results[n])}if(["audio","voice"].includes(null===(i=null===(s=o.media)||void 0===s?void 0:s.document)||void 0===i?void 0:i.type)){const e=r.querySelector("audio-element");e.setAttribute("doc-id",o.media.document.id),e.setAttribute("message-id",""+a)}r.classList.remove("is-sending"),r.classList.add("is-sent"),r.dataset.mid=a,this.bubbleGroups.removeBubble(r,n),delete this.bubbles[n]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(n)&&(this.unreadOut.delete(n),this.unreadOut.add(a))}),d.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:s,id:i,justMedia:n}=e.detail;if(t!=this.peerID)return;let a=l.default.getMessage(s),o=this.bubbles[s];if(!o&&a.grouped_id){let e=this.getAlbumBubble(a.grouped_id);o=e.bubble,a=e.message}o&&this.renderMessage(a,!0,!1,o,!1)}),d.$rootScope.$on("messages_downloaded",e=>{const t=e.detail,s=l.default.getPinnedMessage(this.peerID);t.forEach(e=>{s.mid==e&&(this.messagesQueuePromise||Promise.resolve()).then(()=>{this.setPinnedMessage(s)}),this.needUpdate.forEachReverse((t,s)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(s,1)[0],i=this.bubbles[e];if(!i)return;let n=l.default.getMessage(e);l.default.getMessage(t).deleted&&delete n.reply_to_mid,this.renderMessage(n,!0,!1,i,!1)}})})}),d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{B.default.checkAnimations(!0),this.offline=d.$rootScope.idle.isIDLE=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{this.offline=d.$rootScope.idle.isIDLE=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),B.default.checkAnimations(!1)},{once:!0})}),this.topbar.addEventListener("click",e=>{const t=d.findUpClassName(e.target,"pinned-container");if(t){d.cancelEvent(e);const s=+t.dataset.mid,i=l.default.getMessage(s);this.setPeer(i.peerID,s)}else g.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t,s;let i=e.target,n=null;try{n=d.findUpClassName(i,"bubble")}catch(e){}if(!n)return;if(n.classList.contains("is-date")&&d.findUpClassName(i,"bubble__container")){if(n.classList.contains("is-sticky")&&!this.chatInner.classList.contains("is-scrolling"))return;for(let e in this.dateMessages){if(this.dateMessages[e].div==n){new U.default(new Date(+e),this.onDatePick).show();break}}return}let a=d.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName)if(n.classList.contains("sticker")&&i.parentElement.classList.contains("attachment")){const e=+n.dataset.mid,s=null===(t=l.default.getMessage(e).media)||void 0===t?void 0:t.document;(null==s?void 0:s.stickerSetInput)&&new R.default(s.stickerSetInput).show()}else{if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!n.classList.contains("round")){let e=+(null===(s=d.findUpClassName(i,"album-item"))||void 0===s?void 0:s.dataset.mid)||+n.dataset.mid,t=l.default.getMessage(e);if(!t)return void this.log.warn("no message by messageID:",e);let a=[],o=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=l.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);o.forEach(e=>{let t=".album-item img, .album-item video, .preview img, .preview video, ";t+=this.bubbles[e].classList.contains("with-media-tail")?".bubble__media-container":".attachment img, .attachment video";let s=this.bubbles[e].querySelectorAll(t);Array.from(s).forEach(t=>{let s=d.findUpClassName(t,"album-item");a.push({element:t,mid:+(null==s?void 0:s.dataset.mid)||e})})}),a.sort((e,t)=>e.mid-t.mid);let r=a.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",o,r,a),v.default.openMedia(t,a[r].element,!0,this.scroll.parentElement,a.slice(0,r),a.slice(r+1))}if(-1===["IMG","DIV","AVATAR-ELEMENT"].indexOf(i.tagName)&&(i=d.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=n.dataset.savedFrom.split("_"),t=+e[0],s=+e[1];return void this.setPeer(t,s)}if(i.classList.contains("forward")){const e=+n.dataset.mid;return void P.default.init([e])}if(i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}if("AVATAR-ELEMENT"==i.tagName){let e=+i.getAttribute("peer");return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!d.findUpClassName(e.target,"reply")}catch(e){}if(t&&n.classList.contains("is-reply")){let e=+n.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.getAttribute("peer");isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.closeBtn.addEventListener("click",e=>{d.cancelEvent(e),this.setPeer(0)}),this.searchBtn.addEventListener("click",e=>{d.cancelEvent(e),this.peerID&&g.default.beginSearch()}),this.btnMute.addEventListener("click",e=>{d.cancelEvent(e),this.mutePeer(this.peerID)}),this.btnJoin.addEventListener("click",e=>{d.cancelEvent(e),this.btnJoin.setAttribute("disabled","true"),w.default.joinChannel(-this.peerID).finally(()=>{this.btnJoin.removeAttribute("disabled")})}),this.menuButtons.mute.addEventListener("click",e=>{this.mutePeer(this.peerID)}),this.menuButtons.search.addEventListener("click",e=>{new W});document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"!=e.key||F.touchSupport?"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"):this.chatInputC.attachMediaPopUp.sendBtn.click());if("Escape"==e.key)v.default.wholeDiv.classList.contains("active")?v.default.buttons.close.click():P.default.container.classList.contains("active")?P.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("KeyC"==e.code&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),d.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{l.default.getDialogByPeerID(this.peerID)[0]?this.setPeer(this.peerID):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new X.default(this.scrollable.container,(e,t)=>{for(let s in this.dateMessages){let i=this.dateMessages[s];if(i.container==t){i.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{if(this.offline)return;let t=[];if(e.forEach(e=>{if(e.isIntersecting){let s=e.target,i=+s.dataset.mid;t.push(i),this.unreadedObserver.unobserve(s),this.unreaded.findAndSplice(e=>e==i)}}),t.length){let e=Math.max(...t),s=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),l.default.readHistory(this.peerID,e,s)})}})}setPinnedMessage(e){const t=this.scrollable.container.scrollTop,s=_.wrapReply("Pinned Message",e.message,e,!0);s.dataset.mid=""+e.mid,s.classList.add("pinned-container");const i=document.createElement("button");i.classList.add("pinned-message-close","btn-icon","tgico-close"),i.addEventListener("click",e=>{d.cancelEvent(e);const t=this.scrollable.scrollTop;s.remove(),this.topbar.classList.remove("is-pinned-shown"),this.pinnedMessageContainer=null,this.scrollable.scrollTop=t-52},{once:!0}),s.append(i),this.topbar.insertBefore(s,this.btnJoin),this.topbar.classList.add("is-pinned-shown"),this.pinnedMessageContainer&&this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=s,this.scrollable.scrollTop=t+52}updateStatus(){return this.myID?(f.default.setUserStatus(this.myID,this.offline),r.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=l.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:l.default.getMessage(t)}}return null}loadMoreHistory(e,t=!1){if(!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let s=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!s.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",s[0],"maxID:",s[s.length-1],s),this.getHistory(s[0],!0,void 0,void 0,t)),this.scrolledAllDown)return;let i=l.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==s.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",s[s.length-1],s),this.getHistory(s[s.length-1],!1,!0,void 0,t))}onScroll(e){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{F.touchSupport||(this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350)),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new D.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down"),F.touchSupport&&(this.scroll.addEventListener("touchmove",()=>{this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling")},{passive:!0}),this.scroll.addEventListener("touchend",()=>{this.chatInner.classList.contains("is-scrolling")&&(this.isScrollingTimeout&&clearTimeout(this.isScrollingTimeout),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},1350))},{passive:!0}))}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=c.default.getPeer(this.peerID),s=c.default.isChannel(this.peerID)&&!c.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=""),u.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e);let i=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(i){let e=d.numberWithCommas(i)+" "+(s?"followers":"members");if(this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e,i<2)return;w.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+d.numberWithCommas(t)+" online"),this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText=e})}})}else if(f.default.isBot(this.peerID))this.subtitleEl.innerText="bot",g.default.profileElements.subtitle.innerText="bot";else{let e=f.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=g.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=f.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),g.default.profileElements.subtitle.classList.add("online")),g.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),g.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}findMountedBubbleByMsgID(e){return this.bubbles[d.getObjectKeysAndSort(this.bubbles).find(t=>{var s;return!(t+e)),u=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=u.className,this.chatInner.classList.add("disable-hover","is-scrolling"),i||this.lazyLoadQueue.clear(),this.lazyLoadQueue.lock();const{promise:h,cached:p}=this.getHistory(t,!0,r,f);return i?this.peerChanged=!0:g.default.setPeer(this.peerID),p||(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),this.preloader.attach(this.bubblesContainer),F.mediaSizes.isMobile&&this.selectTab(1)),B.default.lockGroup("chat"),this.setPeerPromise=Promise.all([h.then(()=>{var s;if(p?(this.scrollable.container.innerHTML="",i||this.finishPeerChange(),F.mediaSizes.isMobile&&this.selectTab(1)):this.preloader.detach(),this.scrollable.container.append(this.chatInner),B.default.unlockGroup("chat"),B.default.checkAnimations(!1,"chat"),this.lazyLoadQueue.unlock(),n&&(o||t!=a)&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=c>0&&(c{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),g.default.setLoadMutex(this.setPeerPromise),g.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){var e,t;if(this.peerChanged)return;let s=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID),this.avatarEl.update();const i=c.default.isAnyGroup(s),n=c.default.isChannel(s),a=n&&w.default.hasRights(-s,"send");this.chatInner.classList.toggle("has-rights",a),this.chatInput.style.display=!n||a?"":"none",this.topbar.classList.remove("is-pinned-shown"),this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",i||s==this.myID),this.chatInner.classList.toggle("is-channel",n),this.btnMute.classList.toggle("hide",!c.default.isBroadcast(s)),this.btnJoin.classList.toggle("hide",!(null===(t=null===(e=w.default.getChat(-this.peerID))||void 0===e?void 0:e.pFlags)||void 0===t?void 0:t.left)),this.menuButtons.mute.style.display=this.myID==this.peerID?"none":"";const o=l.default.getPinnedMessage(s);o&&!o.deleted?this.setPinnedMessage(o):this.pinnedMessageContainer&&(this.pinnedMessageContainer.remove(),this.pinnedMessageContainer=null),window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":c.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=g.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),g.default.fillProfileElements(),d.$rootScope.$broadcast("peer_changed",this.peerID)}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),B.default.checkAnimations(!1,"chat"),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=l.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){const s=new Date(1e3*e.date);s.setHours(0,0,0);const i=s.getTime();if(!(i in this.dateMessages)){let e="";const n=new Date;if(n.setHours(0,0,0,0),n.getTime()==s.getTime())e="Today";else{e=["January","February","March","April","May","June","July","August","September","October","November","December"][s.getMonth()]+" "+s.getDate(),s.getFullYear()!=n.getFullYear()&&(e+=", "+s.getFullYear())}const a=document.createElement("div");a.className="bubble service is-date",a.innerHTML=`
${e}
`;const o=document.createElement("div");o.className="bubbles-date-group",this.dateMessages[i]={div:a,container:o,firstTimestamp:s.getTime()},o.append(a),t?this.scrollable.prepend(o,!1):this.scrollable.append(o,!1),this.stickyIntersector.observeStickyHeaderChanges(o)}return this.dateMessages[i]}renderMessagesQueue(e,t,s){let i=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){if(!e.src)return;if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=new Promise((t,s)=>{let i,n=()=>{clearTimeout(o),t(),e.removeEventListener(e instanceof HTMLVideoElement?"canplay":"load",n)};e instanceof HTMLVideoElement?(e.addEventListener("canplay",n),i=()=>e.readyState>=1):(e.addEventListener("load",n),i=()=>e.complete);let a=()=>i()?n():window.requestAnimationFrame(a);window.requestAnimationFrame(a);let o=setTimeout(()=>{t()},1500)});i.push(t)}),this.messagesQueue.push({message:e,bubble:t,reverse:s,promises:i}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let s=this.chatInner,i=this.messagesQueue.slice();this.messagesQueue.length=0;let n=i.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(n).then(()=>{if(this.chatInner!=s)return t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),i.forEach(({message:e,bubble:t,reverse:s})=>{let i=this.getDateContainerByMessage(e,s);s?i.container.insertBefore(t,i.div.nextSibling):i.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,s=!1,i=null,n=!0){if(this.log.debug("message to render:",e),e.deleted)return;if(e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${l}`,n&&this.renderMessagesQueue(e,i,t),i}let h=new Date(1e3*e.date),g=("0"+h.getHours()).slice(-2)+":"+("0"+h.getMinutes()).slice(-2);if(e.views&&(i.classList.add("channel-post"),g=d.formatNumber(e.views,1)+' '+g,!e.savedFrom)){let e=document.createElement("div");e.classList.add("bubble-beside-button","forward"),e.innerHTML='\n \n \n \n \n \n ',a.append(e),i.classList.add("with-beside-button")}e.edit_date&&(i.classList.add("is-edited"),g='edited '+g);let b=document.createElement("span");b.classList.add("time");let v,y,w=document.createElement("div");if(w.classList.add("inner","tgico"),w.innerHTML=g,e.grouped_id){let t=l.default.groupedMessagesStorage[e.grouped_id],s=0;for(let e in t){let i=t[e];if(i.message){if(++s>1)break;v=i.message,y=i.totalEntities}}s>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let S=p.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y&&!M){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=k.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=S,i.classList.add("emoji-"+e.length+"x"),a.append(t)}i.classList.add("is-message-empty","emoji-big")}else u.innerHTML=S}else u.innerHTML=S;if(b.appendChild(w),u.append(b),a.prepend(u),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){const t=e.reply_markup.rows,s=document.createElement("div");s.classList.add("reply-markup"),t.forEach(t=>{const i=t.buttons;if(!i||!i.length)return;const n=document.createElement("div");n.classList.add("reply-markup-row"),i.forEach(t=>{const s=p.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});let i;switch(t._){case"keyboardButtonUrl":{const s=f.default.getUser(e.fromID),n=!(s&&s.pFlags&&s.pFlags.verified),a=p.RichTextProcessor.wrapUrl(t.url,n);i=document.createElement("a"),i.href=a,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,$.ripple(i),n.append(i)}),s.append(n)}),s.addEventListener("click",s=>{let i=s.target;if(i.classList.contains("reply-markup-button")||(i=d.findUpClassName(i,"reply-markup-button")),!i)return;const n=d.whichChild(i),a=t[d.whichChild(i.parentElement)];if(!a.buttons||!a.buttons[n])return void this.log.warn("no such button",a,n,e);const o=a.buttons[n];A.default.callbackButtonClick(e.mid,o)});const i=45*t.length+"px";a.style.marginBottom=i,s.style.bottom="-"+i,a.prepend(s)}if(r){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",i.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(i),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=r&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||i.classList.add("is-message-empty");let s=!1;switch(M._){case"messageMediaPending":{let n=M,a=n.preloader;switch(n.type){case"album":this.log("will wrap pending album"),i.classList.add("hide-name","photo","is-album"),_.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":{this.log("will wrap pending photo:",n,e,m.default.getPhoto(e.id));const s=!F.isAndroid;s&&i.classList.add("with-media-tail"),_.wrapPhoto(m.default.getPhoto(e.id),e,t,void 0,void 0,s,!0,this.lazyLoadQueue,null),i.classList.add("hide-name","photo");break}case"video":{let s=C.default.getDoc(e.id);this.log("will wrap pending video:",n,e,s);const o=!F.isAndroid&&!F.isApple&&"round"!=s.type;o&&i.classList.add("with-media-tail"),_.wrapVideo({doc:s,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:o,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null,group:"chat"}),a.attach(t,!1),i.classList.add("hide-name","video");break}case"audio":case"voice":case"document":{const t=C.default.getDoc(e.id);this.log("will wrap pending doc:",t);const o=_.wrapDocument(t,!1,!0,e.id);if("audio"==t.type||"voice"==t.type)o.preloader=a;else{const e=o.querySelector(".audio-download, .document-ico");a.attach(e,!1)}"voice"==n.type&&i.classList.add("bubble-audio"),i.classList.remove("is-message-empty"),u.classList.add((n.type||"document")+"-message"),u.append(o),s=!0;break}}break}case"messageMediaPhoto":{let s=M.photo;i.classList.add("hide-name","photo");const n=!F.isAndroid;if(n&&i.classList.add("with-media-tail"),e.grouped_id){i.classList.add("is-album");let s=l.default.groupedMessagesStorage[e.grouped_id];if(1!=Object.keys(s).length){_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});break}}_.wrapPhoto(s,e,t,void 0,void 0,n,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{s=!0;let t=M.webpage;if("webPageEmpty"==t._)break;i.classList.add("webpage");let n=document.createElement("div");n.classList.add("box","web");let o,r,d=document.createElement("div");d.classList.add("quote"),(t.photo||t.document)&&(o=document.createElement("div"),o.classList.add("preview-resizer"),r=document.createElement("div"),r.classList.add("preview"),o.append(r));let f=null;t.document&&(f=t.document,"gif"==f.type||"video"==f.type?(i.classList.add("video"),_.wrapVideo({doc:f,container:r,message:e,boxWidth:F.mediaSizes.active.webpage.width,boxHeight:F.mediaSizes.active.webpage.height,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D,group:"chat"})):f=null),o&&d.append(o);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=p.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=p.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(d.append(l),t.photo&&!f){i.classList.add("photo");const s=t.photo.sizes[t.photo.sizes.length-1];s.w==s.h&&l.childElementCount?i.classList.add("is-square-photo"):s.h>s.w&&i.classList.add("is-vertical-photo"),_.wrapPhoto(t.photo,e,r,F.mediaSizes.active.webpage.width,F.mediaSizes.active.webpage.height,!1,D,this.lazyLoadQueue,this.getMiddleware())}n.append(d),a.prepend(b,n);break}case"messageMediaDocument":{let n=M.document;if(n.sticker){i.classList.add("sticker"),n.animated&&i.classList.add("sticker-animated");let e=i.classList.contains("emoji-big")?140:200;m.default.setAttachmentSize(n,t,e,e,!0),a.style.height=t.style.height,a.style.width=t.style.width,_.wrapSticker({doc:n,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!0,loop:!0,emoji:i.classList.contains("emoji-big")?v:void 0,withThumb:!0});break}if("video"==n.type||"gif"==n.type||"round"==n.type){if(i.classList.add("hide-name","round"==n.type?"round":"video"),e.grouped_id)i.classList.add("is-album"),_.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:r,lazyLoadQueue:this.lazyLoadQueue});else{const s=!F.isAndroid&&!F.isApple&&"round"!=n.type;s&&i.classList.add("with-media-tail"),_.wrapVideo({doc:n,container:t,message:e,boxWidth:F.mediaSizes.active.regular.width,boxHeight:F.mediaSizes.active.regular.height,withTail:s,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),group:"chat"})}break}if("audio/ogg"==n.mime_type){let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),i.classList.add("bubble-audio"),u.append(t),s=!0;break}{let t=_.wrapDocument(n,!1,!1,e.mid);i.classList.remove("is-message-empty"),u.append(t),u.classList.add((n.type||"document")+"-message"),s=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,u.classList.add("contact-message"),s=!0;let n=[];e.media.first_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&n.push(p.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${n.join(" ")}
\n
${e.media.phone_number?"+"+L.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let a=new T.default;a.setAttribute("peer",""+e.media.user_id),a.classList.add("contact-avatar"),t.prepend(a),i.classList.remove("is-message-empty"),u.append(t);break}case"messageMediaPoll":{i.classList.remove("is-message-empty");let t=_.wrapPoll(e.media.poll.id,e.mid);u.prepend(t);break}default:i.classList.remove("is-message-empty"),u.innerHTML="unrecognized media type: "+e.media._,u.append(b),this.log.warn("unrecognized media type:",e.media._,e)}s||a.append(t)}if(this.peerID<0&&!r||e.fwd_from||e.reply_to_mid){let t=c.default.getPeerTitle(e.fwdFromID||e.fromID);const s=!e.fromID&&e.fwd_from;if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=p.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),i.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&i.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("bubble-beside-button","goto-original","tgico-next"),a.append(t),i.dataset.savedFrom=e.savedFrom,i.classList.add("with-beside-button")}if(!i.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID||s?(i.style.color=c.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,a.append(i)}}else{if(e.reply_to_mid){let t=l.default.getMessage(e.reply_to_mid),s=c.default.getPeerTitle(t.fromID||t.fwdFromID,!0)||"";"messageEmpty"==t._&&(l.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),s="Loading..."),t.mid?i.setAttribute("data-original-mid",t.mid):i.setAttribute("data-original-mid",e.reply_to_mid),a.append(_.wrapReply(s,t.message||"",t)),i.classList.add("is-reply")}if(!i.classList.contains("sticker")&&o<0&&o!=e.fromID){let s=document.createElement("div");s.classList.add("name"),s.innerHTML=t,s.style.color=c.default.getPeerColorByID(e.fromID,!1),s.dataset.peerID=e.fromID,a.append(s)}else i.classList.add("hide-name")}if(!r&&this.peerID<0&&(!c.default.isChannel(this.peerID)||c.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new T.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID||s?e.fwdFromID:e.fromID)||0)),t.update(),a.append(t)}}else i.classList.add("hide-name");return i.classList.add(D?"is-out":"is-in"),n?(this.bubbleGroups.addBubble(i,e,t),this.renderMessagesQueue(e,i,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),i}performHistoryResult(e,t,s,i){e.length||(s?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),i&&e.unshift(i);let n=l.default.getDialogByPeerID(this.peerID)[0];if(n&&n.top_message)for(let t of e)if(t==n.top_message){this.scrolledAllDown=!0;break}return new Promise((s,i)=>{let n,a=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;n=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,n),this.messagesQueueOnRender=void 0});e.length;){let e=l.default.getMessage(a());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==n){const e=t?this.scrollable.scrollHeight-n:n;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="hidden"),this.scrollable.scrollTop=e,F.touchSupport&&F.isApple&&(this.scrollable.container.style.overflow="")}s(!0)},i)}).then(()=>!0)}getHistory(e=0,t=!1,s=!1,i=0,n=!1){const a=this.peerID,o=m.default.windowH/38|0,r=Object.keys(this.bubbles).length>0?Math.max(40,o):o;let f=r;let c=0;s&&(c=f,t||(f=0,e+=1));const u=l.default.getHistory(this.peerID,e,f,c);let h,p;if(u instanceof Promise)p=!1,h=u.then(o=>(this.log("getHistory not cached result by maxID:",e,t,s,o,a,n),n?(this.scrollable.onScroll(),!0):this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,s,i)),e=>(this.log.error("getHistory error:",e),!1));else{if(n)return null;p=!0,this.log("getHistory cached result by maxID:",e,t,s,u,a,n),h=this.performHistoryResult(u.history||[],t,s,i)}return t?this.getHistoryTopPromise=h:this.getHistoryBottomPromise=h,h.finally(()=>{t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0}),n?null:(h.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=d.getObjectKeysAndSort(this.bubbles));const s=2*r;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,s),e&&e.length>s&&(t?(e=e.slice(s),this.scrolledAllDown=!1):(e=e.slice(0,e.length-s),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,f)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),this.setUnreadDelimiter(),setTimeout(()=>{this.loadMoreHistory(!0,!0),this.loadMoreHistory(!1,!0)},0)}),{cached:p,promise:h})}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=l.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let s=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=s&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&s.classList.add("is-first-unread"),this.firstUnreadBubble=s,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){g.default.profileElements.notificationsCheckbox.checked=!e,g.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",c.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none";const t=this.menuButtons.mute;t.classList.remove("tgico-mute","tgico-unmute"),t.classList.add(e?"tgico-unmute":"tgico-mute");let s=t.firstElementChild;t.innerText=e?"Unmute":"Mute",s&&t.appendChild(s)}mutePeer(e){let t={_:"inputNotifyPeer",peer:c.default.getInputPeerByID(e)},s={_:"inputPeerNotifySettings",flags:0,mute_until:0},i=l.default.getDialogByPeerID(e)[0],n=!0;i&&i.notify_settings&&(n=i.notify_settings.mute_until>(Date.now()/1e3|0)),n?s.flags|=2:(s.flags|=4,s.mute_until=2147483647),r.default.invokeApi("account.updateNotifySettings",{peer:t,settings:s}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:s})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,f.default.hasUser(e.user_id)||e.chat_id&&w.default.hasChat(e.chat_id)&&!w.default.isChannel(e.chat_id)&&u.default.getChatFull(e.chat_id),f.default.forceUserOnline(e.user_id);let s=l.default.getDialogByPeerID(t)[0],i=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):s&&(h.default.setTyping(s,f.default.getUser(e.user_id)),i&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],s&&h.default.unsetTyping(s),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:s}=e;t=t.peer;let i=c.default.getPeerID(t),n=l.default.getDialogByPeerID(i)[0];if(n&&(n.notify_settings=s,d.$rootScope.$broadcast("dialog_notify_settings",i)),i==this.peerID){let e=!!s.mute_until&&new Date(1e3*s.mute_until)>new Date;this.setMutedState(e)}break}}}}t.AppImManager=V;const Q=new V;t.default=Q},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppPhotosManager=void 0;const n=s(0),a=s(21),o=i(s(28)),r=s(47);let d=(()=>{class e{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?Object.assign(this.photos[e.id],e):(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,s=0){window.devicePixelRatio>1&&(t*=2,s*=2);let i={_:"photoSizeEmpty"};const a=e.sizes||e.thumbs;if(a)for(const e of a){if(!e.w||!e.h)continue;i=e;const{w:a,h:o}=n.calcImageInBox(e.w,e.h,t,s);if(a==t||o==s)break}return i}getPreviewURLFromBytes(t,s=!1){let i,n;s?i=t instanceof Uint8Array?t:new Uint8Array(t):(i=e.jf.concat(t.slice(3),e.Df),i[164]=t[1],i[166]=t[2]),n=s?r.isSafari?"image/png":"image/webp":"image/jpeg";const a=new Blob([i],{type:n});return URL.createObjectURL(a)}getPreviewURLFromThumb(e,t=!1){var s;return null!==(s=e.url)&&void 0!==s?s:e.url=this.getPreviewURLFromBytes(e.bytes,t)}setAttachmentPreview(e,t,s=!1,i=!1){let n=this.getPreviewURLFromBytes(e,s);if(i){let e=new Image;return e.src=n,e.addEventListener("load",()=>{t.style.backgroundImage="url("+n+")"}),t}if(t instanceof HTMLImageElement)return t.src=n,t;{let e=new Image;return e.src=n,t.append(e),e}}setAttachmentSize(e,t,s,i,a=!1,o=!1){let r,d,f=this.choosePhotoSize(e,s,i),l=e.sizes||e.thumbs;e.downloaded&&"video"!=e.type&&"gif"!=e.type||a||!(null==l?void 0:l.length)||!l[0].bytes||o||this.setAttachmentPreview(l[0].bytes,t,a),"document"==e._?(r=e.w||512,d=e.h||512):(r=f.w||100,d=f.h||100);let{w:c,h:u}=n.calcImageInBox(r,d,s,i);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+c),t.setAttributeNS(null,"height",""+u)):(t.style.width=c+"px",t.style.height=u+"px"),f}getPhotoDownloadOptions(e,t){const s="document"==e._;if(!t||"photoSizeEmpty"==t._)throw new Error("photoSizeEmpty!");const i=t.size&&e.access_hash&&e.file_reference,n=i?{_:s?"inputDocumentFileLocation":"inputPhotoFileLocation",id:e.id,access_hash:e.access_hash,file_reference:e.file_reference,thumb_size:t.type}:t.location;return{dcID:e.dc_id,location:n,size:i?t.size:void 0}}preloadPhoto(e,t){const s=this.getPhoto(e);if(!t){const e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}const i=this.getCacheContext(s);if(i.downloaded>=t.size&&i.url)return Promise.resolve();const n=this.getPhotoDownloadOptions(s,t),r=a.getFileNameByLocation(n.location);let d=o.default.getDownload(r);return d||(d=o.default.download(n),d.then(e=>((!i.downloaded||i.downloaded{class e extends M.default{constructor(){super(document.getElementById("column-left"),{[e.SLIDERITEMSIDS.archived]:r.archivedTab,[e.SLIDERITEMSIDS.newChannel]:C,[e.SLIDERITEMSIDS.contacts]:k,[e.SLIDERITEMSIDS.addMembers]:P,[e.SLIDERITEMSIDS.newGroup]:T,[e.SLIDERITEMSIDS.settings]:A,[e.SLIDERITEMSIDS.editProfile]:X,[e.SLIDERITEMSIDS.chatFolders]:x,[e.SLIDERITEMSIDS.editFolder]:F,[e.SLIDERITEMSIDS.includedChats]:B}),this.buttons={},this.newButtons={},this.searchGroups={contacts:new l.SearchGroup("Chats","contacts"),globalContacts:new l.SearchGroup("Global Search","contacts"),messages:new l.SearchGroup("Global Search","messages"),people:new l.SearchGroup("People","contacts",!1,"search-group-people"),recent:new l.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.recentSearch=[],this.recentSearchLoaded=!1,this.searchInput=new D.default("Telegram Search"),this.sidebarEl.querySelector(".item-main .sidebar-header").append(this.searchInput.container),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.archivedTab=r.archivedTab,this.newChannelTab=C,this.addMembersTab=P,this.contactsTab=k,this.newGroupTab=T,this.settingsTab=A,this.editProfileTab=X,this.chatFoldersTab=x,this.editFolderTab=F,this.includedChatsTab=B,this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.globalSearch=new l.default(this.searchContainer,this.searchInput,this.searchGroups,e=>{e||this.searchInput.value.trim()||(this.globalSearch.reset(),this.searchGroups.people.setActive(),this.renderRecentSearch())}),this.searchContainer.addEventListener("click",e=>{const t=d.findUpTag(e.target,"LI");if(!t)return;const s=d.findUpClassName(t,"search-group");if(!s||s.classList.contains("search-group-recent")||s.classList.contains("search-group-people"))return;const n=+t.getAttribute("data-peerID");if(this.recentSearch[0]!=n){this.recentSearch.findAndSplice(e=>e==n),this.recentSearch.unshift(n),this.recentSearch.length>20&&(this.recentSearch.length=20),this.renderRecentSearch(),E.default.pushToState("recentSearch",this.recentSearch);for(const e of this.recentSearch)E.default.pushPeer(e);i.style.display=""}},{capture:!0});let t=document.createElement("div");t.classList.add("search-group-scrollable"),t.append(this.searchGroups.people.list),this.searchGroups.people.container.append(t);new h.default(t,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{f.default.setPeer(f.default.myID)},0)}),this.buttons.archived.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.archived)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",t=>{this.settingsTab.fillElements(),this.selectTab(e.SLIDERITEMSIDS.settings)});let s=!0;this.searchInput.input.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active"),s&&(this.searchGroups.people.setActive(),this.renderRecentSearch(),s=!1)}),this.backBtn.addEventListener("click",e=>{this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),s=!0,setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset()},150)}),this.newButtons.channel.addEventListener("click",t=>{this.selectTab(e.SLIDERITEMSIDS.newChannel)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),d.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),u.default.getTopPeers().then(e=>{e.forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})}),this.renderRecentSearch();const i=this.recentSearchClearBtn=document.createElement("button");i.classList.add("btn-icon","tgico-close"),this.searchGroups.recent.nameEl.append(i),i.addEventListener("click",()=>{this.recentSearch=[],E.default.pushToState("recentSearch",this.recentSearch),this.renderRecentSearch(!1),i.style.display="none"})}renderRecentSearch(e=!0){E.default.getState().then(t=>{t&&!this.recentSearchLoaded&&Array.isArray(t.recentSearch)&&(this.recentSearch=t.recentSearch,this.recentSearchLoaded=!0),this.searchGroups.recent.list.innerHTML="",this.recentSearchClearBtn.style.display=this.recentSearch.length?"":"none",this.recentSearch.slice(0,20).forEach(e=>{let{dialog:t,dom:s}=r.default.addDialog(e,this.searchGroups.recent.list,!1,!0,!1,!0);s.lastMessageSpan.innerText=e>0?u.default.getUserStatusString(e):I.default.getChatMembersString(e)}),e&&this.searchGroups.recent.setActive()})}}return e.SLIDERITEMSIDS={archived:1,contacts:2,newChannel:3,addMembers:4,newGroup:5,settings:6,editProfile:7,chatFolders:8,editFolder:9,includedChats:10},e})();t.AppSidebarLeft=R;const O=new R;t.default=O},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDialogsManager=t.archivedTab=t.AppArchivedTab=void 0;const a=s(0),o=n(s(12)),r=n(s(8)),d=n(s(7)),f=n(s(5)),l=s(3),c=s(4),u=n(s(6)),h=s(10),p=n(s(9)),m=n(s(41)),g=s(36),b=n(s(40)),v=s(1),y=s(26),w=s(19);class _{constructor(){this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},this.onContextMenu=e=>{var t,s;let i=null;try{i=a.findUpTag(e.target,"LI")}catch(e){}if(!i)return;if(e instanceof MouseEvent&&e.preventDefault(),this.element.classList.contains("active"))return!1;e instanceof MouseEvent&&(e.cancelBubble=!0),this.filterID=M.filterID,this.selectedID=+i.getAttribute("data-peerID");const n=d.default.getDialogByPeerID(this.selectedID)[0],o=n.peerID!=a.$rootScope.myID;if(o){const e=this.buttons.archive,t=1==n.folder_id;e.classList.toggle("flip-icon",t),e.innerText=t?"Unarchive":"Archive",this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin,s=this.filterID>1?d.default.filtersStorage.filters[this.filterID].pinned_peers.includes(n.peerID):!!(null===(t=n.pFlags)||void 0===t?void 0:t.pinned);e.classList.toggle("flip-icon",s),e.innerText=s?"Unpin":"Pin"}if(o){const e=this.buttons.mute,t=n.notify_settings&&n.notify_settings.mute_until>(Date.now()/1e3|0);e.classList.toggle("flip-icon",t),e.innerText=t?"Unmute":"Mute",this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread,t=!(!(null===(s=n.pFlags)||void 0===s?void 0:s.unread_mark)&&!n.unread_count);e.classList.toggle("flip-icon",t),e.innerText=t?"Mark as Read":"Mark as Unread"}let f="";r.default.isMegagroup(this.selectedID)?(f="Leave",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(f="Leave",this.peerType="channel"):this.selectedID<0?(f="Delete",this.peerType="group"):(f="Delete",this.peerType=this.selectedID==a.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=f,i.classList.add("menu-open"),c.positionMenu(e,this.element),c.openBtnMenu(this.element,()=>{i.classList.remove("menu-open")})},c.parseMenuButtonsTo(this.buttons,this.element.children),this.buttons.archive.addEventListener("click",()=>{let e=d.default.getDialogByPeerID(this.selectedID)[0];e&&d.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{d.default.toggleDialogPin(this.selectedID,this.filterID)}),this.buttons.mute.addEventListener("click",()=>{o.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{const e=d.default.getDialogByPeerID(this.selectedID)[0];e&&(e.unread_count?(d.default.readHistory(this.selectedID,e.top_message),d.default.markDialogUnread(this.selectedID,!0)):d.default.markDialogUnread(this.selectedID))}),this.buttons.delete.addEventListener("click",()=>{let e,t,s,i=r.default.getPeerTitle(this.selectedID,!1,!0),n=e=>{d.default.flushHistory(this.selectedID,e)},a=()=>{p.default.leaveChannel(-this.selectedID)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",s=[{text:"LEAVE "+i,isDanger:!0,callback:a}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${i}?`,s=[{text:"DELETE FOR ME AND "+i,isDanger:!0,callback:()=>n(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",s=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>n(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${i}?`,s=[{text:"DELETE AND LEAVE "+i,isDanger:!0,callback:()=>n(!0)}]}s.push({text:"CANCEL",isCancel:!0}),new g.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:s}).show()})}}class S{constructor(){this.container=document.getElementById("chats-archived-container"),this.chatList=document.getElementById("dialogs-archived"),this.scroll=null}init(){this.scroll=new u.default(this.container,"y","CLA",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=M.onChatsScroll,M.setListClickListener(this.chatList,null,!0),window.addEventListener("resize",()=>{setTimeout(M.onChatsScroll,0)})}onOpen(){this.init&&(this.init(),this.init=null),this.wasFilterID=M.filterID,M.scroll=this.scroll,M.filterID=1,M.onTabChange()}onOpenAfterTimeout(){M.chatLists[this.wasFilterID].innerHTML=""}onClose(){M.scroll=M._scroll,M.filterID=this.wasFilterID,M.onTabChange()}onCloseAfterTimeout(){this.chatList.innerHTML=""}}t.AppArchivedTab=S,t.archivedTab=new S;class L{constructor(){if(this._chatList=document.getElementById("dialogs"),this.chatList=this._chatList,this.doms={},this.lastActiveListElement=null,this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.scroll=null,this._scroll=null,this.log=h.logger("DIALOGS",h.LogLevels.log|h.LogLevels.error|h.LogLevels.warn|h.LogLevels.debug),this.contextMenu=new _,this.chatLists={0:this.chatList,1:t.archivedTab.chatList},this.filterID=0,this.folders={menu:document.getElementById("folders-tabs"),menuScrollContainer:null,container:document.getElementById("folders-container")},this.filtersRendered={},this.onTabChange=()=>{this.doms={},this.loadedAll=!1,this.lastActiveListElement=null,this.chatList=this.chatLists[this.filterID],this.loadDialogs(this.filterID)},this.onChatsScroll=()=>{this.loadedAll||this.loadDialogsPromise||(this.log("onChatsScroll"),this.loadDialogs(this.filterID))},this.chatsPreloader=c.putPreloader(null,!0),this.allUnreadCount=this.folders.menu.querySelector(".unread-count"),this.folders.menuScrollContainer=this.folders.menu.parentElement,this.scroll=this._scroll=new u.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.onScrolledBottom=this.onChatsScroll,this.scroll.setVirtualContainer(this.chatList),v.touchSupport&&v.isSafari){let e,t,s;const i=this.scroll.container;i.addEventListener("touchstart",n=>{e=i.scrollTop>0,t=i.scrollTop{var n=i.pageY>s,a=i.pageY{let t=e.detail,s=f.default.getUser(t),i=d.default.getDialogByPeerID(s.id)[0];if(i&&!f.default.isBot(i.peerID)&&i.peerID!=a.$rootScope.myID){let e=s.status&&"userStatusOnline"==s.status._,t=this.getDialogDom(i.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}a.$rootScope.selectedPeerID==s.id&&o.default.setPeerStatus()}),a.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,s=d.default.getDialogByPeerID(t)[0];s&&(this.setLastMessage(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialogs_multiupdate",e=>{const t=e.detail;for(const e in t){const s=t[e];this.updateDialog(s)}this.validateForFilter(),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:s}=e.detail,i=this.getDialogDom(t);i&&(i.listEl.remove(),delete this.doms[t],this.scroll.reorder()),this.setFiltersUnreadCount()}),a.$rootScope.$on("dialog_unread",e=>{let t=e.detail,s=d.default.getDialogByPeerID(t.peerID)[0];s&&(this.setUnreadMessages(s),s.peerID==a.$rootScope.selectedPeerID&&o.default.updateUnreadByDialog(s),this.validateForFilter(),this.setFiltersUnreadCount())}),a.$rootScope.$on("dialog_notify_settings",e=>{const t=d.default.getDialogByPeerID(e.detail)[0];t&&this.setUnreadMessages(t)}),a.$rootScope.$on("peer_changed",e=>{let t=e.detail,s=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&s!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),s!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),a.$rootScope.$on("filter_update",e=>{const t=e.detail;if(!this.filtersRendered[t.id])return void this.addFilter(t);if(t.id==this.filterID){const e=d.default.dialogsStorage.getFolder(t.id);this.validateForFilter();for(let t=0,s=e.length;t{const t=e.detail,s=this.filtersRendered[t.id];s&&(this.folders.menu.firstElementChild.children[0].click(),s.container.remove(),s.menu.remove(),delete this.chatLists[t.id],delete this.filtersRendered[t.id],Object.keys(this.filtersRendered).length||this.folders.menuScrollContainer.classList.add("hide"))}),new u.default(this.folders.menuScrollContainer,"x"),this.chatsContainer.prepend(this.folders.menuScrollContainer);y.horizontalMenu(this.folders.menu,this.folders.container,(e,t)=>{e=+t.dataset.filterID||0,this.filterID!=e&&(this.chatLists[e].innerHTML="",this.scroll.setVirtualContainer(this.chatLists[e]),this.filterID=e,this.onTabChange())},()=>{for(const e in this.chatLists)+e!=this.filterID&&(this.chatLists[e].innerHTML="")});this.folders.menu.firstElementChild.firstElementChild.click(),b.default.loadSavedState().then(()=>d.default.filtersStorage.getDialogFilters()).then(e=>{for(const t in e)this.addFilter(e[t]);return this.loadDialogs(this.filterID)}).then(e=>{this.loadDialogs(1)})}updateDialog(e){e&&(this.doms.hasOwnProperty(e.peerID)||this.addDialog(e),this.getDialogDom(e.peerID)&&(this.setLastMessage(e),this.setDialogPosition(e)))}setFilterUnreadCount(e,t){var s;const i=0==e?this.allUnreadCount:null===(s=this.filtersRendered[e])||void 0===s?void 0:s.unread;if(!i)return;const n=(t=t||d.default.dialogsStorage.getFolder(e)).reduce((e,t)=>e+ +!!t.unread_count,0);i.innerText=n?""+n:""}setFiltersUnreadCount(){for(const e in this.filtersRendered)this.setFilterUnreadCount(+e);this.setFilterUnreadCount(0)}validateForFilter(){const e=d.default.dialogsStorage.getFolder(this.filterID);let t=!1;for(const s in this.doms){const i=+s;if(-1===e.findIndex(e=>e.peerID==i)){const e=this.doms[i].listEl;e.remove(),t=!0,this.lastActiveListElement==e&&(this.lastActiveListElement=null)}}t&&this.scroll.reorder()}addFilter(e){if(this.filtersRendered[e.id])return;const t=document.createElement("li"),s=document.createElement("span"),i=document.createElement("span");i.innerHTML=l.RichTextProcessor.wrapEmojiText(e.title);const n=document.createElement("span");n.classList.add("unread-count");const o=document.createElement("i");s.append(i,n,o),t.append(s),w.ripple(t);const r=this.folders.menu.firstElementChild;a.positionElementByIndex(t,r,e.orderIndex+1);const d=document.createElement("ul"),f=document.createElement("div");f.append(d),f.dataset.filterID=""+e.id,a.positionElementByIndex(f,this.folders.container,e.orderIndex+1),this.chatLists[e.id]=d,this.setListClickListener(d,null,!0),this.showFiltersTimeout||(this.showFiltersTimeout=setTimeout(()=>{this.showFiltersTimeout=0,this.folders.menuScrollContainer.classList.remove("hide"),this.setFiltersUnreadCount()},0)),this.filtersRendered[e.id]={menu:t,container:f,unread:n,title:i}}loadDialogs(e){return i(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;if(!this.chatList.childElementCount){this.chatList.parentElement.append(this.chatsPreloader)}const t=d.default.dialogsStorage.getFolder(e);let s=0;for(let e=t.length-1;e>=0;--e){const i=t[e];if(this.getDialogDom(i.peerID)){s=i.index;break}}try{const t=50,i=(this.filterID>1?f.default.getContacts():Promise.resolve()).then(()=>d.default.getConversations("",s,t,e));this.loadDialogsPromise=i;const n=yield i;n&&n.dialogs&&n.dialogs.length&&n.dialogs.forEach(e=>{this.addDialog(e)}),n.dialogs.length&&this.chatList.childElementCount!=n.count||(this.loadedAll=!0),this.log.debug("getDialogs "+t+" dialogs by offset:",s,n,this.chatList.childElementCount),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}setListClickListener(e,t,s=!1){e.addEventListener("click",e=>{a.cancelEvent(e),this.log("dialogs click list");let s=e.target,i=s.classList.contains("rp")?s:a.findUpClassName(s,"rp");if(!i)return;i=i.parentElement;let n,r=this.lastActiveListElement==i;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),i){t&&t();let e=+i.getAttribute("data-peerID"),s=+i.dataset.mid||void 0;r||(i.classList.add("active"),this.lastActiveListElement=i),n=o.default.setPeer(e,s)}else n=o.default.setPeer(0)},{capture:!0}),s&&c.attachContextMenuListener(e,this.contextMenu.onContextMenu)}setDialogPosition(e,t){const s=this.getDialogDom(e.peerID);s&&(void 0===t&&(t=d.default.dialogsStorage.getDialog(e.peerID,this.filterID)[1]),a.positionElementByIndex(s.listEl,this.chatList,t)&&(this.scroll.reorder(),this.log.debug("setDialogPosition:",e,s,t)))}setLastMessage(e,t,s,i){if(t||(t=d.default.getMessage(e.top_message)),!s&&!(s=this.getDialogDom(e.peerID)))return;if("messageEmpty"==t._||"messageService"==t._&&!t.rReply)return s.lastMessageSpan.innerHTML="",s.lastTimeSpan.innerHTML="",void delete s.listEl.dataset.mid;let n=e.peer,o=e.peerID;if(i&&t.message){let e,n=d.default.getRichReplyText(t,""),o=t.message,r=l.RichTextProcessor.parseEntities(o.replace(/\n/g," "),{noLinebreakers:!0}),f=new RegExp(a.escapeRegExp(i),"gi");r||(r=[]);let c=!1;for(;null!==(e=f.exec(o));)r.push({_:"messageEntityHighlight",length:i.length,offset:e.index}),c=!0;c&&r.sort((e,t)=>e.offset-t.offset);let u=l.RichTextProcessor.wrapRichText(o,{noLinebreakers:!0,entities:r,noTextFormat:!0});s.lastMessageSpan.innerHTML=n+u}else t.deleted?s.lastMessageSpan.innerHTML="":s.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=n._&&o!=-t.from_id){let e=f.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),i="";i=e.id==a.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=l.RichTextProcessor.wrapRichText(i,{noLinebreakers:!0})+": ",s.lastMessageSpan.prepend(t)}}if(t.deleted)s.lastTimeSpan.innerHTML="";else{let e="",i=t.date,n=Date.now()/1e3,a=new Date(1e3*t.date);if(n-i<86400)e=("0"+a.getHours()).slice(-2)+":"+("0"+a.getMinutes()).slice(-2);else if(n-i<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*i).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][a.getMonth()]+" "+("0"+a.getDate()).slice(-2)}s.lastTimeSpan.innerHTML=e}this.doms[o]==s?this.setUnreadMessages(e):s.listEl.dataset.mid=t.mid}setUnreadMessages(e){var t;const s=this.getDialogDom(e.peerID);if(1==e.folder_id&&this.accumulateArchivedUnread(),!s)return;const i=1e3*(null===(t=e.notify_settings)||void 0===t?void 0:t.mute_until)>Date.now();s.listEl.classList.toggle("is-muted",i);const n=d.default.getMessage(e.top_message);if("messageEmpty"!=n._&&!n.deleted&&n.from_id==a.$rootScope.myID&&n.peerID!=a.$rootScope.myID&&e.read_outbox_max_id){n.pFlags&&n.pFlags.unread?(s.statusSpan.classList.remove("tgico-checks"),s.statusSpan.classList.add("tgico-check")):(s.statusSpan.classList.remove("tgico-check"),s.statusSpan.classList.add("tgico-checks"))}else s.statusSpan.classList.remove("tgico-check","tgico-checks");s.unreadMessagesSpan.innerText="",s.unreadMessagesSpan.classList.remove("tgico-pinnedchat");const o=d.default.filtersStorage.filters[this.filterID];let r;r=o?-1!==o.pinned_peers.findIndex(t=>t==e.peerID):!!e.pFlags.pinned,e.unread_count||e.pFlags.unread_mark?(s.unreadMessagesSpan.innerText=""+(e.unread_count||" "),s.unreadMessagesSpan.classList.add(i?"unread-muted":"unread")):r&&(s.unreadMessagesSpan.classList.remove("unread","unread-muted"),s.unreadMessagesSpan.classList.add("tgico-pinnedchat"))}accumulateArchivedUnread(){this.accumulateArchivedTimeout||(this.accumulateArchivedTimeout=setTimeout(()=>{this.accumulateArchivedTimeout=0;const e=d.default.dialogsStorage.getFolder(1).reduce((e,t)=>e+t.unread_count,0);a.$rootScope.$broadcast("dialogs_archived_unread",{count:e})},0))}getDialogDom(e){return this.doms[e]}addDialog(e,t,s=!0,i=!0,n=!1,o=!0){var l;let c;if("number"==typeof e){let t=d.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),c=t}else c=e;let u=c.peerID;if(!t){if(this.doms[u])return;const e=d.default.filtersStorage.filters[this.filterID];if(e&&!d.default.filtersStorage.testDialogForFilter(c,e)||!e&&this.filterID!=c.folder_id)return}let h=r.default.getPeerTitle(u,!1,n),g=new m.default;if(g.setAttribute("dialog",o?"1":"0"),g.setAttribute("peer",""+u),g.classList.add("dialog-avatar"),s&&u!=a.$rootScope.myID&&c.peer){switch(c.peer._){case"peerUser":let e=f.default.getUser(u);e.status&&"userStatusOnline"==e.status._&&g.classList.add("is-online")}}let b=document.createElement("div");b.classList.add("user-caption");let v=document.createElement("span");if(v.classList.add("user-title"),u==a.$rootScope.myID&&o&&(h=n?"Saved":"Saved Messages"),v.innerHTML=h,!t){let e;if(u<0?(v.classList.add("tgico"),e=p.default.getChat(-u)):e=f.default.getUser(u),null===(l=null==e?void 0:e.pFlags)||void 0===l?void 0:l.verified){v.classList.add("is-verified");const e=document.createElement("i");e.classList.add("verified-icon"),v.append(e)}}let y=document.createElement("span");y.classList.add("user-last-message");let _=document.createElement("div");_.classList.add("rp"),_.append(g,b),i&&w.ripple(_);let S=document.createElement("li");S.append(_),S.setAttribute("data-peerID",""+u);let L=document.createElement("span");L.classList.add("message-status");let M=document.createElement("span");M.classList.add("message-time");let D=document.createElement("span"),E=document.createElement("p"),I=document.createElement("span");I.append(L,M),E.append(v,I);let C=document.createElement("p");C.append(y,D),b.append(E,C);let P={avatarEl:g,captionDiv:b,titleSpan:v,statusSpan:L,lastTimeSpan:M,unreadMessagesSpan:D,lastMessageSpan:y,containerEl:_,listEl:S};return t?t.append(S):(this.scroll.append(S),this.doms[c.peerID]=P,a.$rootScope.selectedPeerID==u&&(S.classList.add("active"),this.lastActiveListElement=S),this.setLastMessage(c)),{dom:P,dialog:c}}setTyping(e,t){const s=this.getDialogDom(e.peerID);if(!s)return;let i="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;i=e+" "}const n=document.createElement("i");i+="typing...",n.innerHTML=i,s.lastMessageSpan.innerHTML="",s.lastMessageSpan.append(n),s.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){const t=this.getDialogDom(e.peerID);t&&(t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t))}}t.AppDialogsManager=L;const M=new L;t.default=M},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(30),n=s(70);class a{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var s=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),s=1==e.length);var i,n,a,o=[],r=!0,d=this.storageGetPrefix();for(n=0;n{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(s,i)}catch(e){this.useLs=!1}else n[s]=i;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var s,i,n=this.storageGetPrefix();for(s=0;s{},i.Modes.test&&this.setPrefix("t_"),n.isWorker||(this.configStorage=new a)}setPrefix(e){this.configStorage&&(this.configStorage.keyPrefix=e)}noPrefix(){this.configStorage&&(this.configStorage.noPrefix=!0)}finishTask(e,t){this.log("finishTask:",e,t,Object.keys(this.tasks)),this.tasks.hasOwnProperty(e)?(this.tasks[e](t),delete this.tasks[e]):this.log("no such task:",e,t)}proxy(e,...t){return new Promise((s,i)=>{if(n.isWorker){const i=this.taskID++;this.tasks[i]=s;const a={useLs:!0,task:e,taskID:i,args:t};n.notifySomeone(a)}else{let i=Array.prototype.slice.call(t);i.push(e=>{s(e)}),this.configStorage[e].apply(this.configStorage,i)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RLottiePlayer=void 0;const a=s(1),o=s(10),r=n(s(18)),d=n(s(2)),f=s(0);let l=e=>Math.round(255*Math.min(Math.max(e,0),1)),c=(()=>{class e{constructor({el:t,worker:s,options:i}){this.reqId=0,this.width=0,this.height=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.group="",this.frames={},this.cachingDelta=0,this.reqId=++e.reqId,this.el=t,this.worker=s;for(let e in i)this.hasOwnProperty(e)&&(this[e]=i[e]);const n=window.devicePixelRatio;n>1&&(i.needUpscale?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>1&&this.width>100&&this.height>100&&(a.isApple||!a.mediaSizes.isMobile?(this.width=Math.round(this.width*n),this.height=Math.round(this.height*n)):n>2.5&&(this.width=Math.round(this.width*(n-1.5)),this.height=Math.round(this.height*(n-1.5))))),i.noCache||(a.isApple&&this.width>100&&this.height>100?this.cachingDelta=2:this.width<100&&this.height<100?this.cachingDelta=1/0:this.cachingDelta=4),this.canvas=document.createElement("canvas"),this.canvas.classList.add("rlottie"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d"),this.clamped=new Uint8ClampedArray(this.width*this.height*4),this.imageData=new ImageData(this.width,this.height)}clearCache(){this.frames={}}addListener(e,t,s){var i;(null!==(i=this.listeners[e])&&void 0!==i?i:this.listeners[e]=[]).push({callback:t,once:s}),this.listenerResults.hasOwnProperty(e)&&(t(this.listenerResults[e]),s&&this.removeListener(e,t))}removeListener(e,t){this.listeners[e]&&this.listeners[e].findAndSplice(e=>e.callback==t)}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e].forEach(s=>{s.callback(t),s.once&&this.removeListener(e,s.callback)})}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,clearTimeout(this.rafId))}stop(e=!0){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,e&&this.requestFrame(this.curFrame)}restart(){this.stop(!1),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}remove(){h.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame2(e,t){try{this.imageData.data.set(e),this.context.putImageData(this.imageData,0,0)}catch(e){return console.error("RLottiePlayer renderFrame error:",e,this.width,this.height),this.autoplay=!1,void this.pause()}this.setListenerResult("enterFrame",t)}renderFrame(e,t){if(this.cachingDelta&&(t%this.cachingDelta||!t)&&!this.frames[t]&&(this.frames[t]=new Uint8ClampedArray(e)),this.frInterval){const s=Date.now()-this.frThen;if(s<0)return this.rafId&&clearTimeout(this.rafId),this.rafId=setTimeout(()=>{this.renderFrame2(e,t)},this.frInterval>-s?-s%this.frInterval:this.frInterval)}this.renderFrame2(e,t)}requestFrame(e){this.frames[e]?this.renderFrame(this.frames[e],e):a.isSafari?this.sendQuery("renderFrame",e):(this.clamped.length||(this.clamped=new Uint8ClampedArray(this.width*this.height*4)),this.sendQuery("renderFrame",e,this.clamped))}mainLoopForwards(){if(this.requestFrame(this.curFrame++),this.curFrame>=this.frameCount){if(!this.loop)return this.pause(),!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.requestFrame(this.curFrame--),this.curFrame<0){if(!this.loop)return this.pause(),!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){clearTimeout(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval;const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.currentMethod=e,this.frameListener&&this.listenerResults.hasOwnProperty("enterFrame")&&this.frameListener()}onLoad(e,t){return i(this,void 0,void 0,(function*(){this.curFrame=1==this.direction?0:e-1,this.frameCount=e,this.fps=t,this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now()-this.frInterval,this.requestFrame(0),this.setListenerResult("ready"),this.addListener("enterFrame",()=>{this.setListenerResult("firstFrame"),this.el.appendChild(this.canvas),this.frameListener=()=>{if(this.paused)return;const e=Date.now();this.frThen=e+this.frInterval;this.currentMethod()||this.loop||!this.autoplay||(this.autoplay=!1)},this.addListener("enterFrame",this.frameListener)},!0)}))}}return e.reqId=0,e})();t.RLottiePlayer=c;class u{constructor(e,t=(()=>{}),s){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),s&&(this.worker.onerror=s),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener](...e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){t=Array.prototype.slice.call(arguments,1);if(a.isSafari)this.worker.postMessage({queryMethod:e,queryMethodArguments:t});else{for(var s=[],i=0;i{class e{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.workers=[],this.curWorkerNum=0,this.log=o.logger("LOTTIE",o.LogLevels.error)}getAnimation(e){for(let t in this.players)if(this.players[t].el==e)return this.players[t];return null}loadLottieWorkers(){if("undefined"==typeof WebAssembly)return Promise.reject();if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((s,i)=>{let n=this.workersLimit;for(let i=0;i{this.log("worker #"+i+" ready"),a.addListener("frame",e),a.addListener("loaded",t),--n,n||(this.log("workers ready"),s(),this.loaded=!0)})}})}applyReplacements(t,s){const i=e.COLORREPLACEMENTS[Math.max(s-1,0)],n=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=l(e[2])|l(e[1])<<8|l(e[0])<<16,n=i.find(e=>e[0]==s);n&&(e[0]=(n[1]>>16&255)/255,e[1]=(n[1]>>8&255)/255,e[2]=(255&n[1])/255)}t.hasOwnProperty("it")&&n(t.it)}};for(let e of t.layers)if(e.shapes)for(let t of e.shapes)n(t.it)}loadAnimationFromURL(e,t){return this.loaded||this.loadLottieWorkers(),fetch(t).then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(t=>this.loadAnimationWorker(Object.assign(e,{animationData:JSON.parse(t),needUpscale:!0})))}loadAnimationWorker(e,t="",s=-1){return i(this,void 0,void 0,(function*(){if(s>=1&&s<=5&&(e.animationData=f.copy(e.animationData),this.applyReplacements(e.animationData,s)),this.loaded||(yield this.loadLottieWorkers()),e.width&&e.height||(e.width=parseInt(e.container.style.width),e.height=parseInt(e.container.style.height)),!e.width||!e.height)throw new Error("No size for sticker!");e.group=t;const i=this.initPlayer(e.container,e);return r.default.addAnimation(i,t),i}))}onPlayerLoaded(e,t,s){const i=this.players[e];i?(this.log.debug("onPlayerLoaded"),i.onLoad(t,s)):this.log.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,s){const i=this.players[e];i?(i.clamped=s,i.renderFrame(s,t)):this.log.warn("onFrame on destroyed player:",e,t)}onDestroy(e){delete this.players[e]}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),this.log("worker #"+t+" terminated")}),this.log("workers destroyed"),this.workers.length=0}initPlayer(e,t){const s=new c({el:e,worker:this.workers[this.curWorkerNum++],options:t});return this.players[s.reqId]=s,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),s.loadFromData(t.animationData),s}}return e.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]],[[16219713,2694162],[16757049,4663842],[16765248,5716784],[16768889,6834492]]],e})());t.default=h},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnimationIntersector=void 0;const i=s(0),n=s(17);class a{constructor(){this.visible=new Set,this.byGroups={},this.lockedGroups={},this.intersectionLockedGroups={},this.observer=new IntersectionObserver(e=>{if(!i.$rootScope.idle.isIDLE)for(const t of e){const e=t.target;for(const s in this.byGroups){if(this.intersectionLockedGroups[s])continue;const i=this.byGroups[s].find(t=>t.el==e);if(i){t.isIntersecting?(this.visible.add(i),this.checkAnimation(i,!1)):(this.visible.delete(i),this.checkAnimation(i,!0),i.animation instanceof n.RLottiePlayer&&i.animation.clearCache());break}}}})}getAnimations(e){const t=[];for(const s in this.byGroups)for(const i of this.byGroups[s])i.el==e&&t.push(i);return t}addAnimation(e,t=""){var s;const i={el:e instanceof n.RLottiePlayer?e.el:e,animation:e,group:t};(null!==(s=this.byGroups[t])&&void 0!==s?s:this.byGroups[t]=[]).push(i),this.observer.observe(i.el)}checkAnimations(e,t,s=!1){if(i.$rootScope.idle.isIDLE)return;const n=t?[t]:Object.keys(this.byGroups);t&&!this.byGroups[t]&&(this.byGroups[t]=[]);for(const t of n){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,s)})}}checkAnimation(e,t=!1,s=!1){const{el:n,animation:a,group:o}=e;if(s||!i.isInDOM(n)&&!this.lockedGroups[o]){a.remove();for(const t in this.byGroups)this.byGroups[t].findAndSplice(t=>t==e);return this.observer.unobserve(n),void this.visible.delete(e)}t?a.paused||a.pause():a.paused&&this.visible.has(e)&&a.autoplay&&a.play()}lockGroup(e){this.lockedGroups[e]=!0}unlockGroup(e){delete this.lockedGroups[e],this.checkAnimations(void 0,e)}refreshGroup(e){const t=this.byGroups[e];t&&t.length&&(t.forEach(e=>{this.observer.unobserve(e.el)}),window.requestAnimationFrame(()=>{t.forEach(e=>{this.observer.observe(e.el)})}))}lockIntersectionGroup(e){this.intersectionLockedGroups[e]=!0}unlockIntersectionGroup(e){delete this.intersectionLockedGroups[e],this.refreshGroup(e)}}t.AnimationIntersector=a;const o=new a;t.default=o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ripple=void 0;const i=s(1);let n=0;t.ripple=function(e,t=(()=>Promise.resolve()),s=null){if(e.querySelector(".c-ripple"))return;e.classList.add("rp");let a=document.createElement("div");a.classList.add("c-ripple");const o=e.classList.contains("rp-square");o&&a.classList.add("is-square");const r=o?200:700;let d;e.append(a);let f=(e,i)=>{let o=Date.now(),f=document.createElement("span"),l=n++;d=()=>{let e=Date.now()-o;if(ef.classList.add("hiding"),Math.max(t-r/2,0)),setTimeout(()=>{f.remove(),s&&s(l)},t)}else f.classList.add("hiding"),setTimeout(()=>{f.remove(),s&&s(l)},r/2);d=null},t&&t(l),window.requestAnimationFrame(()=>{f.classList.add("c-ripple__circle");let t,s,n=a.getBoundingClientRect(),o=e-n.left,r=i-n.top;n.width>n.height?(t=n.width,s=o):(t=n.height,s=r),t-=s>t/2?t-s:s,t*=1.1;let d=o-t/2,l=r-t/2;f.style.width=f.style.height=t+"px",f.style.left=d+"px",f.style.top=l+"px",a.append(f)})},l=!1;if(i.touchSupport){let t=()=>{d&&d()};e.addEventListener("touchstart",s=>{if(s.touches.length>1||"BUTTON"==s.target.tagName&&s.target!=e)return;l=!0;let{clientX:i,clientY:n}=s.touches[0];f(i,n),window.addEventListener("touchend",t,{once:!0}),window.addEventListener("touchmove",e=>{e.cancelBubble=!0,e.stopPropagation(),d&&d(),window.removeEventListener("touchend",t)},{once:!0})},{passive:!0})}else e.addEventListener("mousedown",t=>{if("0"==e.dataset.ripple)return!1;if(l)return l=!1,!1;let{clientX:s,clientY:i}=t;f(s,i),window.addEventListener("mouseup",d,{once:!0})})}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.wrapPoll=t.wrapAlbum=t.wrapReply=t.wrapSticker=t.wrapPhoto=t.wrapAudio=t.wrapDocument=t.formatDate=t.wrapVideo=void 0;const a=n(s(13)),o=n(s(17)),r=n(s(11)),d=s(0),f=n(s(35)),l=n(s(49)),c=s(3),u=s(4),h=n(s(7)),p=s(57),m=n(s(58)),g=s(1),b=n(s(18)),v=n(s(81)),y=n(s(53)),w=s(59),_=n(s(37));function S({doc:e,container:t,message:s,boxWidth:n,boxHeight:o,withTail:c,isOut:h,middleware:p,lazyLoadQueue:m,noInfo:g,group:v}){var y,w;if(!g&&"round"!=e.type){let s,i;s=document.createElement("span"),s.classList.add("video-time"),t.append(s),"gif"!=e.type?(s.innerText=(e.duration+"").toHHMMSS(!1),i=document.createElement("span"),i.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(i)):s.innerText="GIF"}if("image/gif"==e.mime_type)return D(e,s,t,n,o,c,h,m,p);const S=document.createElement("video");if(S.muted=!0,S.setAttribute("playsinline",""),"round"==e.type){const t=_.default.addMedia(e,s.mid);S.addEventListener("canplay",()=>{t.currentTime>0&&(S.currentTime=t.currentTime),t.paused||S.play()},{once:!0});const i=()=>{t.removeEventListener("timeupdate",n),t.removeEventListener("play",a),t.removeEventListener("pause",o),S.removeEventListener("play",r),S.removeEventListener("pause",f)},n=()=>{d.isInDOM(S)||i()},a=()=>{S.play()},o=()=>{S.pause()},r=()=>{t.play()},f=()=>{d.isInDOM(S)?t.pause():i()};t.addEventListener("timeupdate",n),t.addEventListener("play",a),t.addEventListener("pause",o),S.addEventListener("play",r),S.addEventListener("pause",f)}else S.autoplay=!0;let L;if(s){if("video"==e.type&&(null===(y=e.thumbs)||void 0===y?void 0:y.length))return D(e,s,t,n,o,c,h,m,p);if(c?L=M(e,s,t,n,o,h):(n&&o&&a.default.setAttachmentSize(e,t,n,o,!1,!0),e.thumbs&&(null===(w=e.thumbs[0])||void 0===w?void 0:w.bytes)&&a.default.setAttachmentPreview(e.thumbs[0].bytes,t,!1),L=t.lastElementChild,"IMG"!=(null==L?void 0:L.tagName)&&t.append(L=new Image)),L&&L.classList.add("thumbnail"),c){const e=L.parentElement;S.width=+e.getAttributeNS(null,"width"),S.height=+e.getAttributeNS(null,"height"),e.append(S)}}if(!(null==L?void 0:L.parentElement)){const t=r.default.getThumb(e,!1);t&&t.promise.then(()=>{S.poster=t.thumb.url})}!S.parentElement&&t&&t.append(S);const E=()=>i(this,void 0,void 0,(function*(){var i;if(p&&!p())return;let n;if(null===(i=null==s?void 0:s.media)||void 0===i?void 0:i.preloader)n=s.media.preloader,n.attach(t,void 0,void 0,!0);else if(e.downloaded||e.supportsStreaming)e.supportsStreaming&&(n=new f.default(t,!1),S.addEventListener("canplay",()=>{n.detach()},{once:!0}));else{const s=r.default.downloadDocNew(e);n=new f.default(t,!0),n.attach(t,!0,s,!0),yield s}p&&!p()||(S.addEventListener("canplay",()=>{(null==L?void 0:L.parentElement)&&L.remove(),"gif"==e.type&&v&&b.default.addAnimation(S,v)},{once:!0}),u.renderImageFromUrl(S,e.url),"gif"==e.type?(S.muted=!0,S.loop=!0,S.autoplay=!0):"round"==e.type&&(S.dataset.ckin="circle",S.dataset.overlay="1",new l.default(S)))}));return m?m.push({div:t,load:E}):E(),S}function L(e,t=!1,s){let i=new v.default;return i.setAttribute("doc-id",e.id),i.setAttribute("with-time",""+ +t),i.setAttribute("message-id",""+s),i}function M(e,t,s,i,n,o){const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");const d=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");a.default.setAttachmentSize(e,d,i,n);const f=+d.getAttributeNS(null,"width"),l=+d.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+f),r.setAttributeNS(null,"height",""+l),r.setAttributeNS(null,"viewBox","0 0 "+f+" "+l),r.setAttributeNS(null,"preserveAspectRatio","none");const c="clip"+t.mid;r.dataset.clipID=c;const u=document.createElementNS("http://www.w3.org/2000/svg","defs");let h="";t.message||(h+=o?`\n \n \n `:`\n \n \n `),u.innerHTML=`${h}`,s.style.width=parseInt(s.style.width)-9+"px",s.classList.add("with-tail"),r.append(u,d),s.append(r);let p=d.firstElementChild;return p||d.append(p=new Image),p}function D(e,t,s,i=g.mediaSizes.active.regular.width,n=g.mediaSizes.active.regular.height,o,d,l,c,h=null){var p;let m;if(o)m=M(e,t,s,i,n,d);else{if(i&&n&&(h=a.default.setAttachmentSize(e,s,i,n,!1,!0)),"document"==e._||!e.downloaded){const t=e.sizes||e.thumbs;t&&(null===(p=t[0])||void 0===p?void 0:p.bytes)&&a.default.setAttachmentPreview(t[0].bytes,s,!1)}m=s.lastElementChild,m&&"IMG"==m.tagName||s.append(m=new Image)}const b=a.default.getCacheContext(e);let v;t.media.preloader?t.media.preloader.attach(s):b.downloaded||(v=new f.default(s,!1));const y=()=>{const t="document"==e._&&e.animated?r.default.downloadDocNew(e):a.default.preloadPhoto(e,h);return v&&v.attach(s,!0,t),t.then(()=>{c&&!c()||u.renderImageFromUrl(m||s,b.url||e.url)})};return b.downloaded||!l?y():l.push({div:s,load:y,wasSeen:!0})}t.wrapVideo=S,t.formatDate=(e,t=!1,s=!0)=>{const i=new Date(1e3*e);let n=["January","February","March","April","May","June","July","August","September","Octomber","November","December"][i.getMonth()];t&&(n=n.slice(0,3));let a=n+" "+i.getDate();return s&&(a+=", "+i.getFullYear()),a+" at "+i.getHours()+":"+("0"+i.getMinutes()).slice(-2)},t.wrapDocument=function(e,s=!1,i=!1,n){if("audio"==e.type||"voice"==e.type)return L(e,s,n);let a=e.file_name?e.file_name.split("."):"",o="";o=a.length>1&&Array.isArray(a)?a.pop().toLowerCase():"file";let l=document.createElement("div");l.classList.add("document","ext-"+o);let c=o;"photo"==e.type&&(l.classList.add("photo"),c=``);let u=e.file_name||"Unknown.file",h=d.formatBytes(e.size);if(s&&(h+=" · "+t.formatDate(e.date)),l.innerHTML=`\n
${c}
\n ${i?"":'
'}\n
${u}
\n
${h}
\n `,!i){let t,s,i=l.querySelector(".document-download");l.addEventListener("click",()=>{if(s)s.cancel();else{if(i.classList.contains("downloading"))return;t||(t=new f.default(null,!0)),s=r.default.saveDocFile(e),t.attach(i,!0,s),s.then(()=>{i.remove()}).catch(e=>{"AbortError"===e.name&&(s=null)}).finally(()=>{i.classList.remove("downloading")}),i.classList.add("downloading")}})}return l},t.wrapAudio=L,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:s,lazyLoadQueue:n,group:f,play:l,onlyThumb:c,emoji:h,width:p,height:m,withThumb:b,loop:v}){var _;const S=e.sticker;if(p||(p=h?void 0:200),m||(m=h?void 0:200),2!=S||o.default.loaded||o.default.loadLottieWorkers(),!S)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const L=h?d.getEmojiToneIndex(h):-1;if((null===(_=e.thumbs)||void 0===_?void 0:_.length)&&!t.firstElementChild&&(!e.downloaded||2==S||c)&&L<=0){const i=e.thumbs[0];let o;const d=()=>{t.childElementCount||t.append(o)};if(i.bytes||i.url)o=new Image,!g.isSafari||e.stickerThumbConverted||i.url?u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d):y.default.convert(e.id,i.bytes).then(n=>{i.bytes=n,e.stickerThumbConverted=!0,s&&!s()||t.childElementCount||u.renderImageFromUrl(o,a.default.getPreviewURLFromThumb(i,!0),d)}).catch(()=>{});else if(2==S&&(b||c)){o=new Image;const a=()=>{if(t.childElementCount||s&&!s())return;const n=()=>{t.childElementCount||s&&!s()||u.renderImageFromUrl(o,i.url,d)};return i.url?(n(),Promise.resolve()):r.default.getThumbURL(e,i).promise.then(n)};if(n&&c)return n.push({div:t,load:a}),Promise.resolve();a()}}if(c)return Promise.resolve();let M=e.downloaded,D=()=>i(this,void 0,void 0,(function*(){if(!s||s())if(2==S)yield r.default.downloadDocNew(e.id).then(w.readBlobAsText).then(JSON.parse).then(e=>i(this,void 0,void 0,(function*(){if(s&&!s())return;let i=yield o.default.loadAnimationWorker({container:t,loop:v&&!h,autoplay:l,animationData:e,width:p,height:m},f,L);i.addListener("firstFrame",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName?t.firstElementChild.remove():i.canvas.classList.add("fade-in")},!0),h&&t.addEventListener("click",()=>{let e=o.default.getAnimation(t);e.paused&&e.restart()})})));else if(1==S){let i=new Image;M||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.classList.add("fade-in-transition"),i.style.opacity="0",i.addEventListener("load",()=>{e.downloaded=!0,window.requestAnimationFrame(()=>{i.style.opacity=""})}));const n=()=>{s&&!s()||u.renderImageFromUrl(i,e.url,()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})};e.url?n():r.default.downloadDocNew(e).then(n)}}));return!n||e.downloaded&&2!=S?D():(n.push({div:t,load:D,wasSeen:"chat"==f&&2!=S}),Promise.resolve())},t.wrapReply=function(e,t,s,i){const n=i?"pinned-message":"reply",o=document.createElement("div");o.classList.add(n);const r=document.createElement("div");r.classList.add(n+"-border");const d=document.createElement("div");d.classList.add(n+"-content");const f=document.createElement("div");f.classList.add(n+"-title");const l=document.createElement("div");l.classList.add(n+"-subtitle"),f.innerHTML=e?c.RichTextProcessor.wrapEmojiText(e):"";const h=s&&s.media;if(h){if(l.innerHTML=s.rReply,h.photo||h.document&&-1!==["video"].indexOf(h.document.type)){let e=document.createElement("div");e.classList.add(n+"-media");let t=h.photo||h.document,s=t.sizes||t.thumbs;s&&s[0].bytes&&a.default.setAttachmentPreview(s[0].bytes,e,!1,!0),a.default.preloadPhoto(t,a.default.choosePhotoSize(t,32,32)).then(()=>{u.renderImageFromUrl(e,"photo"==t._?t.url:a.default.getDocumentCachedThumb(t.id).url)}),d.append(e),o.classList.add("is-media")}}else l.innerHTML=t?c.RichTextProcessor.wrapEmojiText(t):"";return d.append(f,l),o.append(r,d),o},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:s,uploading:i,lazyLoadQueue:n,isOut:o}){const r=[],d=Object.keys(h.default.groupedMessagesStorage[e]).map(e=>+e).sort((e,t)=>e-t);for(const e of d){const t=h.default.getMessage(e),s=t.media.photo||t.media.document,i="photo"==s._?a.default.choosePhotoSize(s,480,480):{w:s.w,h:s.h};r.push({size:i,media:s,message:t})}const f=new p.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),g.mediaSizes.active.album.width,100,2).layout();for(const{geometry:e,sides:i}of f){const a=r.shift();if(!a){console.error("no item for layout!");continue}const{size:d,media:f,message:l}=a,c=document.createElement("div");c.classList.add("album-item"),c.dataset.mid=l.mid,c.style.width=e.width+"px",c.style.height=e.height+"px",c.style.top=e.y+"px",c.style.left=e.x+"px",i&p.RectPart.Right&&(t.style.width=e.width+e.x+"px"),i&p.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),i&p.RectPart.Left&&i&p.RectPart.Top&&(c.style.borderTopLeftRadius="inherit"),i&p.RectPart.Left&&i&p.RectPart.Bottom&&(c.style.borderBottomLeftRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Top&&(c.style.borderTopRightRadius="inherit"),i&p.RectPart.Right&&i&p.RectPart.Bottom&&(c.style.borderBottomRightRadius="inherit"),"photo"==f._?D(f,l,c,0,0,!1,o,n,s,d):S({doc:l.media.document,container:c,message:l,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:n,middleware:s}),t.append(c)}},t.wrapPoll=function(e,t){const s=new m.default;return s.setAttribute("poll-id",e),s.setAttribute("message-id",""+t),s}},function(e,t,s){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(t,"__esModule",{value:!0}),t.getFileNameByLocation=t.nextRandomInt=t.addPadding=t.longFromInts=t.longToBytes=t.bytesToWordss=t.bytesFromWordss=t.bytesFromWords=t.longToInts=t.bufferConcats=t.bufferConcat=t.bytesFromArrayBuffer=t.convertToByteArray=t.convertToUint8Array=t.convertToArrayBuffer=t.bytesToArrayBuffer=t.bytesFromBigInt=t.bytesXor=t.bytesCmp=t.blobSafeMimeType=t.blobConstruct=t.dataUrlToBlob=t.base64ToBlob=t.uint6ToBase64=t.bytesToBase64=t.bytesFromHex=t.bytesToHex=t.bigStringInt=t.bigint=t.isObject=t.dT=void 0;const i=s(52);var n=Date.now();function a(e){return new i.BigInteger(e.toString(16),16)}function o(e){return new i.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function d(e,t){for(var s=atob(e),i=s.length,n=Math.ceil(i/1024),a=new Array(n),o=0;o{n.append(e)}),s=n.getBlob(i)}return s}function l(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(e)?"application/octet-stream":e}function c(e){return new Uint8Array(e).buffer}function u(e){return void 0!==e.buffer?e:new Uint8Array(e)}function h(e,t){var s=e.byteLength||e.length,i=t.byteLength||t.length,n=new Uint8Array(s+i);return n.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),n.set(t instanceof ArrayBuffer?new Uint8Array(t):t,s),n.buffer}function p(e){var t=o(e).divideAndRemainder(a(4294967296));return[t[0].intValue(),t[1].intValue()]}function m(e){for(var t=e.words,s=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255);return i}t.dT=function(){return"["+((Date.now()-n)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=a,t.bigStringInt=o,t.bytesToHex=function(e){e=e||[];for(var t=[],s=0;s>>t&24),2!==t&&i-a!=1||(s+=String.fromCharCode(r(n>>>18&63),r(n>>>12&63),r(n>>>6&63),r(63&n)),n=0);return s.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=d,t.dataUrlToBlob=function(e){var t=e.split(",");return d(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=f,t.blobSafeMimeType=l,t.bytesCmp=function(e,t){var s=e.length;if(s!=t.length)return!1;for(var i=0;it);)s=s.slice(1);return s},t.bytesToArrayBuffer=c,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:c(e)},t.convertToUint8Array=u,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],s=0,i=(e=u(e)).length;st+=e.byteLength||e.length);var s=new Uint8Array(t);let i=0;return e.forEach(e=>{s.set(e instanceof ArrayBuffer?new Uint8Array(e):e,i),i+=e.byteLength||e.length}),s},t.longToInts=p,t.bytesFromWords=m,t.bytesFromWordss=function(e){for(var t=[],s=0;s<4*e.length;s++)t.push(e[s>>>2]>>>24-s%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var s,i=t.length,n=[];for(s=0;s>>2]|=t[s]<<24-s%4*8;return new Uint32Array(n)},t.longToBytes=function(e){return m({words:p(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return a(e).shiftLeft(32).add(a(t)).toString(10)},t.addPadding=function(e,t=16,s,n=!1,a=!1){let o=t-(e.byteLength||e.length)%t;if(o>0&&(o{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let s=document.createElement("p");s.innerHTML=e,t.prepend(s),t.style.display=""})};const A=new C.default,X=new P.default,x=new k.default,F={contentMembers:"inputMessagesFilterContacts",contentMedia:"inputMessagesFilterPhotoVideo",contentDocuments:"inputMessagesFilterDocument",contentLinks:"inputMessagesFilterUrl",contentAudio:"inputMessagesFilterMusic"};let B=(()=>{class e extends D.default{constructor(){super(document.getElementById("column-right"),{[e.SLIDERITEMSIDS.stickers]:A,[e.SLIDERITEMSIDS.pollResults]:X,[e.SLIDERITEMSIDS.gifs]:x}),this.profileElements={},this.sharedMedia={},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["inputMessagesFilterContacts","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="inputMessagesFilterPhotoVideo",this.sharedMediaSelected=null,this.lazyLoadQueue=new w.default,this.historiesStorage={},this.usedFromHistory={},this.log=b.logger("SR",b.LogLevels.error),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.loadMutex=Promise.resolve(),this.stickersTab=A,this.pollResultsTab=X,this.gifsTab=x,this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=new E.default("Search"),this.searchCloseBtn.parentElement.append(this.searchInput.container),this.privateSearch=new S.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new S.SearchGroup("Private Search","messages")});let t=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new f.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},I.horizontalMenu(this.profileTabs,t,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)},()=>{this.scroll.onScroll()}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{const t=e.target,s=+t.dataset.mid;if(!s)return void this.log.warn("no messageID by click on target:",t);const i=c.default.getMessage(s),n=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),a=n.findIndex(e=>e==s),o=n.map(e=>({element:this.mediaDivsByIDs[e],mid:e}));y.default.openMedia(i,t,!1,this.sidebarEl,o.slice(a+1).reverse(),o.slice(0,a).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{v.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){const t=this.sidebarEl.classList.contains("active");let s;if(void 0!==e?e?t||(s=!0):t&&(s=!0):s=!0,!s)return Promise.resolve();if(M.mediaSizes.isMobile)return v.default.selectTab(t?1:2),Promise.resolve();const i=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((e,s)=>{const n=[],a=new IntersectionObserver(s=>{for(const e of s){const t=e.target;e.isIntersecting||n.push({element:t,height:t.scrollHeight})}for(const e of n)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";a.disconnect(),i(),setTimeout(()=>{for(const e of n)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";t&&(L.default.close(),this.searchCloseBtn.click()),e()},200)});if(Object.keys(v.default.bubbles).length)for(const e in v.default.bubbles)a.observe(v.default.bubbles[e]);else i(),setTimeout(e,200)})}filterMessagesByType(e,t){let s=[];for(let t of e){let e=c.default.getMessage(t);e.media&&s.push(e)}let i=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of s){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||i.push(e))}break;case"inputMessagesFilterDocument":for(let e of s){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||i.push(e)}break;case"inputMessagesFilterUrl":for(let e of s)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&i.push(e);break;case"inputMessagesFilterMusic":for(let e of s)e.media.document&&"audio"==e.media.document.type&&i.push(e)}return i}performSearchResult(e,t){return o(this,void 0,void 0,(function*(){const s=this.peerID,i=[],n=[];let a;switch(t){case"inputMessagesFilterPhotoVideo":a=this.sharedMedia.contentMedia;for(const t of e){const e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,a=document.createElement("div");a.classList.add("media-item");const o="photo"==e._,r=o?u.default.getPhoto(e.id):null;let f;if(r)f=r.downloaded>0;else{const t=u.default.getDocumentCachedThumb(e.id);f=(null==t?void 0:t.downloaded)>0}if(!o){const t=document.createElement("span");t.classList.add("video-time"),a.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}const c=()=>u.default.preloadPhoto(o?e.id:e,u.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");const t=r&&r.url||u.default.getDocumentCachedThumb(e.id).url;if(t){const e=g?()=>{b.style.opacity=""}:void 0;d.renderImageFromUrl(b,t,e)}});let h;const p=e.sizes||e.thumbs,m=!f&&p&&p[0].bytes;m&&(h=new Image,h.classList.add("media-image","thumbnail"),h.dataset.mid=""+t.mid,u.default.setAttachmentPreview(p[0].bytes,h,!1,!1),a.append(h));const g=!f||!m,b=new Image;if(b.dataset.mid=""+t.mid,b.classList.add("media-image"),g&&(b.style.opacity="0"),a.append(b),f||m){const t=new Promise((t,s)=>{(h||b).addEventListener("load",()=>{clearTimeout(i),t()});const i=setTimeout(()=>{this.log("did not loaded",h,e,f,p),s()},1e3)});n.push(t)}(null==p?void 0:p.length)&&(f?c():this.lazyLoadQueue.push({div:a,load:c})),i.push(a),this.mediaDivsByIDs[t.mid]=a}break;case"inputMessagesFilterDocument":a=this.sharedMedia.contentDocuments;for(let t of e){let e=_.wrapDocument(t.media.document,!0,!1,t.mid);i.push(e)}break;case"inputMessagesFilterUrl":a=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,n=document.createElement("div"),a=document.createElement("div");if(a.classList.add("preview"),a.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),a.classList.add("empty"),e.photo){let t=()=>u.default.preloadPhoto(e.photo.id,u.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(a.classList.remove("empty"),a.innerText="",d.renderImageFromUrl(a,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:a,load:t})}let o=e.rTitle||"",r=e.rDescription||"",f=g.RichTextProcessor.wrapRichText(e.url||"");o||(o=e.display_url.split("/",1)[0]),n.append(a),n.insertAdjacentHTML("beforeend",`\n
${o}\n
${r}
\n
${f}
\n `),n.innerText.trim().length&&i.push(n)}break;case"inputMessagesFilterMusic":a=this.sharedMedia.contentAudio;for(let t of e){let e=_.wrapAudio(t.media.document,!0,t.mid);i.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&n.push(this.loadMutex),n.length&&(yield Promise.all(n),this.peerID!=s))this.log.warn("peer changed");else if(i.length&&a.append(...i),a){const t=a.parentElement;if(Array.from(t.children).slice(1).forEach(e=>{e.remove()}),!e.length&&!a.childElementCount){const e=document.createElement("div");e.innerText="Nothing interesting here yet...",e.classList.add("position-center","text-center","content-empty","no-select"),t.append(e)}}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);const s=this.peerID;let i=e?[this.sharedMediaType]:this.sharedMediaTypes;if(i=i.filter(e=>!this.loadedAllMedia[e]),!i.length)return;const n=3*(u.default.windowH/130|0),a=null!==(t=this.historiesStorage[s])&&void 0!==t?t:this.historiesStorage[s]={},o=i.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];const i=null!==(t=a[e])&&void 0!==t?t:a[e]=[];if(i.length&&this.usedFromHistory[e]n){let e=t.length-n;t=t.slice(0,t.length-e),s-=e}return this.usedFromHistory[e]=s,this.performSearchResult(t,e)}let o=i[i.length-1]||0,r=!o&&c.default.historiesStorage[s]?c.default.historiesStorage[s].history.slice():[];return o=!o&&r.length?r[r.length-1]:o,this.log("loadSidebarMedia: search house of glass pre",e,r,o),this.loadSidebarMediaPromises[e]=c.default.getSearch(s,"",{_:e},o,n).then(t=>{if(r=r.concat(t.history),i.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==s)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(o)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{this.sharedMedia[e].innerHTML="";const t=F[e];if(!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][t]){const t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||d.putPreloader(t,!0);const s=t.querySelector(".content-empty");s&&s.remove()}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){h.default.getPeerUsername(e)&&T(h.default.getPeerUsername(e),this.profileElements.username);let t=c.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),v.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});if(e>0){let t=p.default.getUser(e);t.phone&&e!=l.$rootScope.myID&&T(t.rPhone,this.profileElements.phone),m.default.getProfile(e,!0).then(t=>{this.peerID==e?t.rAbout&&e!=l.$rootScope.myID&&T(t.rAbout,this.profileElements.bio):this.log.warn("peer changed")})}else{let t=h.default.getPeer(e);m.default.getChatFull(t.id).then(t=>{this.peerID==e?t.about&&T(g.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}return e.SLIDERITEMSIDS={search:1,forward:2,stickers:3,pollResults:4,gifs:5},e})();t.AppSidebarRight=B;const R=new B;t.default=R},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=s(10);t.default=class{constructor(e=5,t=!1){this.parallelLimit=e,this.noObserver=t,this.lazyLoadMedia=[],this.inProcess=[],this.lockPromise=null,this.unlockResolve=null,this.log=n.logger("LL",n.LogLevels.error),this.intersectionLocked=!1,t||(this.observer=new IntersectionObserver(e=>{if(this.lockPromise||this.intersectionLocked)return;const t=e.filter(e=>e.isIntersecting);t.forEachReverse(e=>{const t=e.target;this.log("isIntersecting",t);const s=this.lazyLoadMedia.findAndSplice(e=>e.div==t);s&&(s.wasSeen=!0,this.lazyLoadMedia.unshift(s))}),t.length&&this.processQueue()}))}clear(){this.inProcess.length=0,this.lazyLoadMedia.length=0;for(let e of this.inProcess)this.lazyLoadMedia.push(e);this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.inProcess.length}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return i(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.inProcess.length>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.inProcess.push(e),this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.log("waited lock:",performance.now()-e)}yield e.load()}catch(e){this.log.error("loadMediaQueue error:",e)}this.noObserver||this.observer.unobserve(e.div),this.inProcess.findAndSplice(t=>t==e),this.log("loaded media",e),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}refresh(){const e=this.lazyLoadMedia;e&&e.length&&(e.forEach(e=>{this.observer.unobserve(e.div)}),window.requestAnimationFrame(()=>{e.forEach(e=>{this.observer.observe(e.div)})}))}lockIntersection(){this.intersectionLocked=!0}unlockIntersection(){this.intersectionLocked=!1,this.refresh()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deferredPromise=t.secureRandom=void 0;const i=s(21),n=s(52);t.secureRandom=new n.SecureRandom,t.deferredPromise=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((s,i)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,s(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,i(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null}),Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(e){this.set(i.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return i.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){const t=parseInt(this+"",10),s=Math.floor(t/3600);let i=Math.floor((t-3600*s)/60),n=t-3600*s-60*i;return s&&(e=!0),i<10&&(i=e?"0"+i:i),n<10&&(n="0"+n),(s?s+":":"")+i+":"+n}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(79));t.default=class{constructor(e,t,s,i){this.isAuthPage=t,this.onFirstMount=s,this.onMount=i,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return i(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount)try{const t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}catch(e){console.error("PAGE MOUNT ERROR:",e)}this.installed=!0}a.default.setPage(this)}))}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.horizontalMenu=void 0;const i=s(0);t.horizontalMenu=function(e,t,s,n,a=250){const o={};let r=null,d=-1;const f=s=>{if(s==d)return!1;const i=r,f=t.children[s];if("none"==t.dataset.slider)return i&&i.classList.remove("active"),f.classList.add("active"),d=s,r=f,void(n&&n());const l=d{i.style.transform="",i.style.filter="",i.classList.remove("active"),delete o[c],n&&n()},a)),d=s,r=f};if(e){const n=!e.classList.contains("no-stripe"),a="LI";e.addEventListener("click",(function(o){let r,l=o.target;if(l.tagName!=a&&(l=i.findUpTag(l,a)),!l)return!1;if(l.dataset.tab){if(r=+l.dataset.tab,-1==r)return!1}else r=i.whichChild(l);const c=t.children[r];if(s&&s(r,c),l.classList.contains("active")||r==d)return!1;const u=e.querySelector(a.toLowerCase()+".active");if(u&&u.classList.remove("active"),n&&-1!=d){const e=l.querySelector("i"),t=l.parentElement.children[d].querySelector("i");t.classList.remove("animate"),e.classList.remove("animate");const s=t.parentElement.parentElement.offsetLeft-e.parentElement.parentElement.offsetLeft,i=t.clientWidth/e.clientWidth;e.style.transform=`translate3d(${s}px, 0, 0) scale3d(${i}, 1, 1)`,requestAnimationFrame(()=>{e.classList.add("animate"),e.style.transform="none"})}l.classList.add("active"),f(r)}))}return f}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppProfileManager=void 0;const a=s(0),o=n(s(33)),r=n(s(9)),d=n(s(13)),f=n(s(5)),l=s(3),c=n(s(8)),u=n(s(32)),h=n(s(16)),p=n(s(2)),m=s(4),g=n(s(38)),b=n(s(7)),v=n(s(28));class y{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var s=t.participants;void 0!==(r=this.chatsFull[s.id])&&(r.participants=t.participants,a.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var i=0,n=(s=r.participants.participants||[]).length;i{let t=e.detail,s=this.chatsFull[t],i=r.default.getChat(t);if(!i.photo||!s)return;let n="chatPhotoEmpty"==i.photo._;if(s.chat_photo&&n!=("photoEmpty"==s.chat_photo._))return delete this.chatsFull[t],void a.$rootScope.$broadcast("chat_full_update",t);if(n)return;let o=i.photo.photo_small,f=d.default.choosePhotoSize(s.chat_photo,0,0);JSON.stringify(o)!==JSON.stringify(f.location)&&(delete this.chatsFull[t],a.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let s={};return e.commands.forEach(e=>{s[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:s}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):p.default.invokeApi("users.getFullUser",{id:f.default.getUserInput(e)}).then(s=>(t&&t.phone_number?(s.user.phone=t.phone_number,(t.first_name||t.last_name)&&(s.user.first_name=t.first_name,s.user.last_name=t.last_name),f.default.saveApiUser(s.user)):f.default.saveApiUser(s.user,!0),s.profile_photo&&(s.profile_photo=d.default.savePhoto(s.profile_photo,{user_id:e})),void 0!==s.about&&(s.rAbout=l.RichTextProcessor.wrapRichText(s.about,{noLinebreaks:!0})),s.bot_info&&(s.bot_info=this.saveBotInfo(s.bot_info)),b.default.savePinnedMessage(e,s.pinned_msg_id),this.usersFull[e]=s))}getPeerBots(e){var t=[];return e>=0&&!f.default.isBot(e)||c.default.isChannel(e)&&!c.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var s=e.bot_info;return s&&"botInfoEmpty"!=s._&&t.push(s),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);const s=t.full_chat;return s&&s.chat_photo&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s})}getChatInviteLink(e,t){return this.getChatFull(e).then(s=>{if(!t&&s.exported_invite&&"chatInviteExported"==s.exported_invite._)return s.exported_invite.link;let i;return i=r.default.isChannel(e)?p.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):p.default.invokeApi("messages.exportChatInvite",{chat_id:e}),i.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,s,i){s=s||200,i=i||0;let n=[e,(t=t||{_:"channelParticipantsRecent"})._,i,s].join("_"),o=this.chatParticipantsPromises[n];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let d=n=>{let a=0;if(n){let e=[];n.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{a=(20261*a+2147483648+e)%2147483648})}return p.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:i,limit:s,hash:a}).then(e=>"channels.channelParticipantsNotModified"==e._?n:(f.default.saveApiUsers(e.users),e.participants))},l=s=>{let n=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!i&&!n.pFlags.kicked&&!n.pFlags.left){s=a.copy(s);let e,t=f.default.getSelf().id,i=s.findIndex(e=>e.user_id==t);-1!==i?(e=s[i],s.splice(i,1)):e={_:"channelParticipantSelf",user_id:t},s.unshift(e)}return s},c=a.tsNow();if(void 0!==o){let e=o[1];if(o[0]>c-6e4)return e;let t=e.then(e=>d(e).then(l));return this.chatParticipantsPromises[n]=[c,t],t}let u=d().then(l);return this.chatParticipantsPromises[n]=[c,u],u}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=p.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),f.default.saveApiUsers(t.users);let s=t.full_chat;return s&&s.chat_photo.id&&(s.chat_photo=d.default.savePhoto(s.chat_photo)),s.pinned_msg_id&&(s.pinned_msg_id=o.default.getFullMessageID(s.pinned_msg_id,e)),b.default.savePinnedMessage(-e,s.pinned_msg_id),delete this.chatFullPromises[e],this.chatsFull[e]=s,a.$rootScope.$broadcast("chat_full_update",e),s},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},u.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];a.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let s=t&&t.pinned_msg_id;return!!s&&h.default.get("pinned_hidden"+e).then(e=>o.default.getMessageLocalID(s)!=e&&s)})}hideChannelPinnedMessage(e,t){let s={};s["pinned_hidden"+e]=o.default.getMessageLocalID(t),h.default.set(s),a.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,s){return p.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:s}).then(e=>{f.default.saveApiUser(e)})}uploadProfilePhoto(e){return p.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{f.default.saveApiUsers(e.users),p.default.getUserID().then(t=>{d.default.savePhoto(e.photo,{user_id:t}),u.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:a.tsNow(!0),photo:f.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return p.default.invokeApi("account.updateUsername",{username:e}).then(e=>{f.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putAvatar(e,t,s){return i(this,void 0,void 0,(function*(){const i=c.default.getInputPeerByID(t);if(!this.savedAvatarURLs[t]){const e={_:"inputPeerPhotoFileLocation",flags:0,peer:i,volume_id:s.photo_small.volume_id,local_id:s.photo_small.local_id},n={dcID:s.dc_id,location:e};yield v.default.download(n).then(e=>{this.savedAvatarURLs[t]=URL.createObjectURL(e)})}const n=new Image;m.renderImageFromUrl(n,this.savedAvatarURLs[t])?(e.innerHTML="",e.append(n)):(n.classList.add("fade-in"),n.addEventListener("load",()=>{e.innerHTML="",e.append(n)}))}))}putPhoto(e,t,s=!1,i=""){var n;const o=c.default.getPeerPhoto(t),r=o&&!o.empty&&o.photo_small,d=!!e.firstElementChild,l=a.$rootScope.myID;if(t==l&&s)return e.innerHTML="",e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),void e.classList.remove("tgico-avatar_deletedaccount");if(t>0){const s=f.default.getUser(t);if(s&&s.pFlags&&s.pFlags.deleted)return e.innerHTML="",e.style.backgroundColor="",void e.classList.add("tgico-avatar_deletedaccount")}if(!r||!d||!this.savedAvatarURLs[t]){let s,a="";if(t&&t!=l&&(a=c.default.getPeerColorByID(t)),e.innerHTML="",e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=a,i){const e=g.default.cleanSearchText(i,!1).split(" "),t=e.shift(),n=e.pop();s=t.charAt(0)+(n?n.charAt(0):"")}else s=null!==(n=c.default.getPeer(t).initials)&&void 0!==n?n:"";e.innerText=s.toUpperCase()}r&&this.putAvatar(e,t,o)}}t.AppProfileManager=y,t.default=new y},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppDownloadManager=void 0;const n=s(0),a=i(s(2)),o=s(24),r=s(21);class d{constructor(){this.downloads={},this.progress={},this.progressCallbacks={},this.uploadID=0,n.$rootScope.$on("download_progress",e=>{const t=e.detail;this.progress[t.fileName]=t;const s=this.progressCallbacks[t.fileName];s&&s.forEach(e=>e(t));const i=this.downloads[t.fileName];i&&i.notifyAll(t)})}getNewDeferred(e){const t=o.deferredPromise();return t.cancel=()=>{const s=new Error("Download canceled");s.name="AbortError",a.default.cancelDownload(e),this.clearDownload(e),t.reject(s),t.cancel=()=>{}},t.finally(()=>{delete this.progress[e],delete this.progressCallbacks[e]}),this.downloads[e]=t}clearDownload(e){delete this.downloads[e]}download(e){const t=r.getFileNameByLocation(e.location,{fileName:e.fileName});if(this.downloads.hasOwnProperty(t))return this.downloads[t];const s=this.getNewDeferred(t);return a.default.downloadFile(e).then(s.resolve,s.reject),s}upload(e,t){if(!t){const s=null==e?void 0:e.type;if(s){const e=this.uploadID+++"."+s.split("/")[1];t=["image/jpeg","image/png","image/bmp"].indexOf(s)>=0?"photo"+e:0===s.indexOf("audio/")||["video/ogg"].indexOf(s)>=0?"audio"+e:0===s.indexOf("video/")?"video"+e:"document"+e}else t="upload-"+this.uploadID++}const s=this.getNewDeferred(t);return a.default.uploadFile({file:e,fileName:t}).then(s.resolve,s.reject),s.finally(()=>{this.clearDownload(t)}),s}getDownload(e){return this.downloads[e]}addProgressCallback(e,t){var s;const i=this.progress[e];(null!==(s=this.progressCallbacks[e])&&void 0!==s?s:this.progressCallbacks[e]=[]).push(t),i&&t(i)}createDownloadAnchor(e,t,s){const i=document.createElement("a");i.href=e,i.download=t,i.target="_blank",i.style.position="absolute",i.style.top="1px",i.style.left="1px",document.body.append(i);try{var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(n)}catch(t){console.error("Download click error",t);try{i.click()}catch(t){window.open(e,"_blank")}}setTimeout(()=>{i.remove(),s&&s()},100)}downloadToDisc(e,t){const s=this.download(e);return s.then(e=>{const s=URL.createObjectURL(e);this.createDownloadAnchor(s,t,()=>{URL.revokeObjectURL(s)})}),s}}t.AppDownloadManager=d,t.default=new d},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.prevValue="",this.timeout=0,this.onInput=()=>{if(!this.onChange)return;let e=this.input.value;e!=this.prevValue&&(this.prevValue=e,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.onChange(e)},200))},this.onClearClick=()=>{this.value="",this.onChange&&this.onChange("")},this.container=document.createElement("div"),this.container.classList.add("input-search"),this.onChange=t,this.input=document.createElement("input"),this.input.type="text",this.input.placeholder=e,this.input.autocomplete=Math.random().toString(36).substring(7);const s=document.createElement("span");s.classList.add("tgico","tgico-search"),this.clearBtn=document.createElement("span"),this.clearBtn.classList.add("tgico","btn-icon","tgico-close"),this.input.addEventListener("input",this.onInput),this.clearBtn.addEventListener("click",this.onClearClick),this.container.append(this.input,s,this.clearBtn)}get value(){return this.input.value}set value(e){this.input.value=e,this.prevValue=e,clearTimeout(this.timeout)}remove(){clearTimeout(this.timeout),this.input.removeEventListener("input",this.onInput),this.clearBtn.removeEventListener("click",this.onClearClick)}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Modes=t.App=void 0,t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4);const d=new(o(s(25)).default)("page-chats",!1,()=>{const e=Promise.resolve().then(()=>a(s(12)));return e.finally(()=>{Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let s=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),s.classList.remove("active")):r.openBtnMenu(s)})})}),e});t.default=d},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ApiUpdatesManager=void 0;const n=i(s(2)),a=s(0),o=i(s(8)),r=i(s(5)),d=i(s(9)),f=s(10);class l{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1,this.log=f.logger("UPDATES",f.LogLevels.error)}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var s=t.updates,i=0,n=s.length;i=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var s,i=t.pts,n=!1,a=0,o=0,r=t.pendingPtsUpdates.length;o=s.pts&&(n=s.pts,a=o);if(!n)return!1;for(this.log("pop pending pts updates",n,t.pendingPtsUpdates.slice(0,a+1)),t.pts=n,o=0;o<=a;o++)s=t.pendingPtsUpdates[o],this.saveUpdate(s);return t.pendingPtsUpdates.splice(0,a+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var s=2&e.flags,i=e.from_id||(s?a.$rootScope.myID:e.user_id),n=e.chat_id?-e.chat_id:s?e.user_id:a.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:i,to_id:o.default.getOutputPeer(n),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),d.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:this.log.warn("Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),n.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return this.log("apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),d.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const s=t.intermediate_state||t.state;e.seq=s.seq,e.pts=s.pts,e.date=s.date,"updates.differenceSlice"==t._?this.getDifference():(a.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),n.default.invokeApi("updates.getChannelDifference",{channel:d.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(s=>(t.pts=s.pts,"updates.channelDifferenceEmpty"==s._?(this.log("apply channel empty diff",s),t.syncLoading=!1,a.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==s._?(this.log("channel diff too long",s),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(s.users),d.default.saveApiChats(s.chats),this.log("applying",s.other_updates.length,"channel other updates"),s.other_updates.forEach(e=>{this.saveUpdate(e)}),this.log("applying",s.new_messages.length,"channel new messages"),s.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),this.log("apply channel diff",t.pts),void("updates.channelDifference"!=s._||s.pFlags.final?(this.log("finished channel get diff"),a.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var s=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":s=-o.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":s=e.channel_id;break;case"updateChannelTooLong":if(!((s=e.channel_id)in this.channelStates))return!1}var i,n,f=s?this.getChannelState(s,e.pts):this.updatesState;if(f.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!f.lastPtsUpdateTime||f.lastPtsUpdateTime0&&!r.default.hasUser(c)&&(h="toPeer User")||c<0&&!d.default.hasChat(-c)&&(h="toPeer Chat"))return this.log.warn("Not enough data for message update",c,h,l),s&&d.default.hasChat(s)?this.getChannelDifference(s):this.forceGetDifference(),!1}else if(s&&!d.default.hasChat(s))return!1;if(e.pts){if(f.pts+(e.pts_count||0){s?this.getChannelDifference(s):this.getDifference()},5e3)}),f.syncPending.ptsAwaiting=!0,!1;if(e.pts>f.pts)f.pts=e.pts,i=!0,f.lastPtsUpdateTime=a.tsNow();else if(e.pts_count)return!1;s&&t.date&&this.updatesState.date0){var p=t.seq,m=t.seqStart||p;if(m!=f.seq+1&&m>f.seq)return this.log.warn("Seq hole",f,f.syncPending&&f.syncPending.seqAwaiting),void 0===f.pendingSeqUpdates[m]&&(f.pendingSeqUpdates[m]={seq:p,date:t.date,updates:[]}),f.pendingSeqUpdates[m].updates.push(e),f.syncPending||(f.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!f.syncPending.seqAwaiting||f.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=l,t.default=new l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AppMessagesIDsManager=void 0;class i{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var s=this.channelLocals[t];return s||(s=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[s]=t,this.channelLocals[t]=s),s+e}getMessageIDInfo(e){if(e{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=o,t.default=new o},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(e,t=!0,s=!1){this.cancelable=t,this.tempID=0,this.detached=!0,this.promise=null,this.preloader=document.createElement("div"),this.preloader.classList.add("preloader-container"),s&&this.preloader.classList.add("preloader-streamable"),this.preloader.innerHTML=`\n
\n \n \n \n
`,t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",e=>{i.cancelEvent(e),this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attachPromise(e){this.promise=e;const t=--this.tempID;e.finally(()=>{e.notify=null,t==this.tempID&&(this.detach(),this.promise=e=null)}),e.addNotifyListener&&e.addNotifyListener(e=>{if(t!=this.tempID)return;const s=e.done/e.total*100;this.setProgress(s)})}attach(e,t=!0,s,i=!0){s&&this.attachPromise(s),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[i?"append":"prepend"](this.preloader),this.cancelable&&t&&this.setProgress(0))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.remove())})}setProgress(e){if(i.isInDOM(this.circle))if(0!=e)try{const t=this.circle.getTotalLength();this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}catch(e){}else this.circle.style.strokeDasharray=""}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupPeer=t.PopupElement=void 0;const n=i(s(41)),a=s(19);class o{constructor(e,t,s={}){if(this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),s.closable&&(this.closeBtn=document.createElement("span"),this.closeBtn.classList.add("btn-icon","popup-close","tgico-close"),a.ripple(this.closeBtn),this.header.prepend(this.closeBtn),this.closeBtn.addEventListener("click",()=>{this.destroy()},{once:!0})),s.withConfirm&&(this.confirmBtn=document.createElement("button"),this.confirmBtn.classList.add("btn-primary"),this.confirmBtn.innerText=s.withConfirm,this.header.append(this.confirmBtn),a.ripple(this.confirmBtn)),this.container.append(this.header),s.body&&(this.body=document.createElement("div"),this.body.classList.add("popup-body"),this.container.append(this.body)),t&&t.length){const e=document.createElement("div");e.classList.add("popup-buttons");const s=t.map(e=>{const t=document.createElement("button");return t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,a.ripple(t),e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()},{once:!0}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()},{once:!0}),t});e.append(...s),this.container.append(e)}this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.onClose&&this.onClose(),this.element.classList.remove("active"),setTimeout(()=>{this.element.remove(),this.onCloseAfterTimeout&&this.onCloseAfterTimeout()},1e3)}}t.PopupElement=o;t.PopupPeer=class extends o{constructor(e,t={}){super("popup-peer"+(e?" "+e:""),t.buttons),this.className=e;let s=new n.default;s.setAttribute("dialog","1"),s.setAttribute("peer",""+t.peerID),s.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(s);let i=document.createElement("p");i.classList.add("popup-description"),i.innerHTML=t.description,this.container.insertBefore(i,this.header.nextElementSibling)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(7)),o=i(s(11)),r=s(1),d=s(24);const f=new class{constructor(){this.media={},this.waitingMediaForLoad={},this.onPause=e=>{n.$rootScope.$broadcast("audio_pause")},this.onEnded=e=>{if(this.onPause(e),this.nextMid){const e=this.media[this.nextMid];this.resolveWaitingForLoadMedia(this.nextMid),setTimeout(()=>{e.play()},0)}},this.container=document.createElement("div"),this.container.style.cssText="display: none;",document.body.append(this.container)}addMedia(e,t,s=!0){if(this.media[t])return this.media[t];const i=document.createElement("round"==e.type?"video":"audio");"round"==e.type&&i.setAttribute("playsinline",""),i.dataset.mid=""+t,i.dataset.type=e.type,i.volume=1,this.container.append(i),i.addEventListener("playing",()=>{this.playingMedia!=i&&(this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause(),this.playingMedia=i,this.loadSiblingsMedia(e.type,t)),setTimeout(()=>{n.$rootScope.$broadcast("audio_play",{doc:e,mid:t})},0)}),i.addEventListener("pause",this.onPause),i.addEventListener("ended",this.onEnded);const a=s=>{this.nextMid==t&&this.loadSiblingsMedia(e.type,t).then(()=>{this.nextMid&&this.media[this.nextMid]&&this.media[this.nextMid].play()})};i.addEventListener("error",a);const f=d.deferredPromise();s?f.resolve():this.waitingMediaForLoad[t]=f;const l=e.supportsStreaming?Promise.resolve():o.default.downloadDocNew(e.id);return Promise.all([f,l]).then(()=>{"audio"==e.type&&e.supportsStreaming&&r.isSafari&&this.handleSafariStreamable(i),i.src=e.url},a),this.media[t]=i}handleSafariStreamable(e){e.addEventListener("play",()=>{const t=e.currentTime;e.addEventListener("progress",()=>{e.currentTime=e.duration-1,e.addEventListener("progress",()=>{e.currentTime=t,e.paused||e.play()},{once:!0})},{once:!0})})}resolveWaitingForLoadMedia(e){const t=this.waitingMediaForLoad[e];t&&(t.resolve(),delete this.waitingMediaForLoad[e])}isSafariBuffering(e){return!!e.safariBuffering}setSafariBuffering(e,t){e.safariBuffering=t}loadSiblingsMedia(e,t){const s=this.playingMedia,i=a.default.getMessage(t);return this.prevMid=this.nextMid=0,a.default.getSearch(i.peerID,"",{_:"audio"==e?"inputMessagesFilterMusic":"inputMessagesFilterRoundVoice"},t,3,0,2).then(e=>{if(this.playingMedia==s){for(let s of e.history)if(s>t)this.nextMid=s;else if(s{const t=a.default.getMessage(e);this.addMedia(t.media.document,e,!1)})}})}toggle(){this.playingMedia&&(this.playingMedia.paused?this.playingMedia.play():this.playingMedia.pause())}pause(){this.playingMedia&&!this.playingMedia.paused&&this.playingMedia.pause()}willBePlayed(e){this.willBePlayedMedia=e}};t.default=f},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(1));let a=(()=>{class e{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(t,s=!0){const i="%"==t.charAt(0);return t=t.replace(e.badCharsRe,"").replace(e.trimRe,""),s&&(t=t.replace(/[^A-Za-z0-9]/g,e=>{const t=n.default.LatinizeMap[e];return void 0!==t?t:e})),t=t.toLowerCase(),i&&(t="%"+t),t}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,s){if(void 0!==s.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const i=s.shortIndexes;s.fullTexts[e]=t,t.split(" ").forEach(t=>{let s,n,a=Math.min(t.length,3);for(n=1;n<=a;n++)s=t.substr(0,n),void 0===i[s]?i[s]=[e]:i[s].push(e)})}search(e,t){const s=t.shortIndexes,i=t.fullTexts,n=(e=this.cleanSearchText(e)).split(" ");let a,o,r,d,f,l=!1;for(o=0;oa.length)&&(l=a)}for(a={},r=0;r,<]+/g,e.trimRe=/^\s+|\s$/g,e})();t.default=new a},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(3),a=i(s(7)),o=i(s(8)),r=i(s(2)),d=i(s(32)),f=s(0),l=s(10),c=i(s(5));const u=new class{constructor(){this.polls={},this.results={},this.log=l.logger("POLLS",l.LogLevels.error),f.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{this.log("updateMessagePoll:",e);let t=e.poll;if(!t)break;t=this.savePoll(t,e.results),f.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){const s=e.id;return this.polls[s]?(e=Object.assign(this.polls[s],e),this.saveResults(e,t),e):(this.polls[s]=e,e.rQuestion=n.RichTextProcessor.wrapEmojiText(e.question),e.rReply=n.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),e.chosenIndexes=[],this.saveResults(e,t),e)}saveResults(e,t){var s;this.results[e.id]=t,e.chosenIndexes.length=0,(null===(s=null==t?void 0:t.results)||void 0===s?void 0:s.length)&&t.results.forEach((t,s)=>{var i;(null===(i=t.pFlags)||void 0===i?void 0:i.chosen)&&e.chosenIndexes.push(s)})}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){const s=a.default.getMessage(e),i=s.media.poll,n=t.map(e=>i.answers[e].option),f=o.default.getInputPeerByID(s.peerID),l=s.id;return r.default.invokeApi("messages.sendVote",{peer:f,msg_id:l,options:n}).then(e=>{this.log("sendVote updates:",e),d.default.processUpdateMessage(e)})}getResults(e){const t=a.default.getMessage(e),s=o.default.getInputPeerByID(t.peerID),i=t.id;return r.default.invokeApi("messages.getPollResults",{peer:s,msg_id:i}).then(e=>{d.default.processUpdateMessage(e),this.log("getResults updates:",e)})}getVotes(e,t,s,i=20){const n=a.default.getMessage(e),d=o.default.getInputPeerByID(n.peerID),f=n.id;let l=0;return t&&(l|=1),s&&(l|=2),r.default.invokeApi("messages.getPollVotes",{flags:l,peer:d,id:f,option:t,offset:s,limit:i}).then(e=>(this.log("getPollVotes messages:",e),c.default.saveApiUsers(e.users),e))}};t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppStateManager=void 0;const n=i(s(16)),a=i(s(7)),o=i(s(33)),r=i(s(8)),d=i(s(9)),f=i(s(5)),l=i(s(32)),c=s(0),u=s(10);class h{constructor(){this.log=u.logger("STATE"),this.state={},this.loadSavedState()}loadSavedState(){return this.loaded?this.loaded:this.loaded=new Promise((e,t)=>{n.default.get("state").then(t=>{var s;const i=Date.now();(null!==(s=null==t?void 0:t.stateCreatedTime)&&void 0!==s?s:0)+864e5{delete t[e]}));const{dialogs:n,allDialogsLoaded:r,peers:c,messages:u,contactsList:h,maxSeenMsgID:p,updates:m,filters:g}=t;if(this.state=t||{},this.state.peers=c||{},this.state.hasOwnProperty("stateCreatedTime")||(this.state.stateCreatedTime=Date.now()),this.log("state res",n,u),p&&!o.default.getMessageIDInfo(p)[1]&&(a.default.maxSeenID=p),c)for(let e in c){let t=c[e];+e<0?d.default.saveApiChat(t):f.default.saveApiUser(t)}if(h&&Array.isArray(h)&&h.length&&(h.forEach(e=>{f.default.pushContact(e)}),f.default.contactsFillPromise=Promise.resolve(f.default.contactsList)),u){a.default.saveMessages(u);for(let e of u)e.media&&a.default.wrapSingleMessage(e.mid,!0)}if(r&&(a.default.dialogsStorage.allDialogsLoaded=r),g)for(const e in g)a.default.filtersStorage.saveDialogFilter(g[e],!1);n&&n.forEachReverse(e=>{a.default.saveConversation(e)}),l.default.attach(null!=m?m:null),e(t)}).catch(e).finally(()=>{setInterval(()=>this.saveState(),1e4)})})}getState(){return this.loadSavedState()}saveState(){var e,t;const s=[],i=[],o=this.state.peers;for(const n in a.default.dialogsStorage.byFolders){const d=a.default.dialogsStorage.getFolder(+n);for(let n of d){const d=a.default.historiesStorage[n.peerID],f=[].concat(null!==(e=null==d?void 0:d.pending)&&void 0!==e?e:[],null!==(t=null==d?void 0:d.history)&&void 0!==t?t:[]);n=c.copy(n);let l=0;for(const e of f){const t=a.default.getMessage(e);if(t.id>0){s.push(t),t.fromID!=n.peerID&&(o[t.fromID]=r.default.getPeer(t.fromID)),n.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++l}l&&n.unread_count&&(n.unread_count-=l),i.push(n),o[n.peerID]=r.default.getPeer(n.peerID)}}const d=l.default.updatesState,u={seq:d.seq,pts:d.pts,date:d.date},h=[...f.default.contactsList];for(const e of h)o[e]||(o[e]=f.default.getUser(e));const p=a.default.filtersStorage.filters;n.default.set({state:Object.assign({},this.state,{dialogs:i,messages:s,allDialogsLoaded:a.default.dialogsStorage.allDialogsLoaded,peers:o,contactsList:h,filters:p,updates:u,maxSeenMsgID:a.default.maxSeenID})})}pushToState(e,t){this.state[e]=t}pushPeer(e){this.state.peers[e]=r.default.getPeer(e)}}t.AppStateManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(27));s(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;n.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{e.update()})});class a extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,s){if("peer"==e){if(this.peerID==+s)return;this.peerID=+s,this.update()}else"peer-title"==e?this.peerTitle=s:"dialog"==e&&(this.isDialog=!!+s)}update(){n.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=a,customElements.define("avatar-element",a)},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchGroup=void 0;const n=i(s(15)),a=i(s(6)),o=i(s(33)),r=i(s(5)),d=i(s(8)),f=i(s(7)),l=s(0),c=s(4),u=i(s(9));t.SearchGroup=class{constructor(e,t,s=!0,i,a=!0){this.name=e,this.type=t,this.clearable=s,this.list=document.createElement("ul"),this.container=document.createElement("div"),i&&(this.container.className=i),e&&(this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.append(this.nameEl)),this.container.classList.add("search-group","search-group-"+t),this.container.append(this.list),this.container.style.display="none",a&&n.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,s,i){this.container=e,this.searchInput=t,this.searchGroups=s,this.onSearch=i,this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new a.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchGroups.messages&&this.scrollable.setVirtualContainer(this.searchGroups.messages.list),this.searchInput.onChange=e=>{this.query=e,this.reset(!1),this.searchMore()},this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=-1,this.foundCount=-1,this.offsetRate=0,this.loadedContacts=!1;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.input.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;const e=this.query;if(!e.trim())return void(this.onSearch&&this.onSearch(0));if(-1!=this.foundCount&&this.loadedCount>=this.foundCount)return Promise.resolve();const t=o.default.getMessageIDInfo(this.minMsgID)[0]||0;return this.peerID||t||this.loadedContacts||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;this.loadedContacts=!0;let s=(t,s,i=!1)=>{t.forEach(t=>{let a=d.default.getPeerID(t),o=d.default.getPeer(a),h=f.default.getDialogByPeerID(a)[0];h||(h={peerID:a,pFlags:{},peer:o});let{dialog:p,dom:m}=n.default.addDialog(h,s.list,!1);if(i&&(o.participants_count||o.participants)){let t=new RegExp(`(${l.escapeRegExp(e)})`,"gi");m.titleSpan.innerHTML=m.titleSpan.innerHTML.replace(t,"$1"),m.lastMessageSpan.innerText=u.default.getChatMembersString(-a)}else{let e=d.default.getPeerUsername(a);if(e)e="@"+e;else{let t=r.default.getUser(a);t&&t.phone&&(e="+"+c.formatPhoneNumber(t.phone).formatted)}m.lastMessageSpan.innerHTML=""+e+""}}),t.length?s.setActive():s.clear()};s(t.my_results,this.searchGroups.contacts,!0),s(t.results,this.searchGroups.globalContacts)}),this.searchPromise=f.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(s=>{if(this.searchPromise=null,this.searchInput.value!=e)return;console.log("input search result:",this.peerID,e,null,t,20,s);const{count:i,history:a,next_rate:o}=s;a[0]==this.minMsgID&&a.shift();this.searchGroups.messages.setActive(),a.forEach(t=>{const s=f.default.getMessage(t);let i=f.default.getDialogByPeerID(s.peerID)[0];i||(i={peerID:s.peerID,pFlags:{},peer:s.to_id});const{dialog:a,dom:o}=n.default.addDialog(i,this.scrollable,!1);n.default.setLastMessage(a,s,o,e)}),this.minMsgID=a[a.length-1],this.offsetRate=o,this.loadedCount+=a.length,-1==this.loadedCount&&(this.loadedCount=0),-1==this.foundCount&&(this.foundCount=i,this.onSearch&&this.onSearch(this.foundCount))}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=n(s(16)),o=n(s(2)),r=n(s(11)),d=s(0);const f=new class{constructor(){this.documents={},this.stickerSets={},this.hashes={featured:{},search:{}},a.default.get("stickerSets").then(e=>{if(e){for(let t in e){let s=e[t];this.saveStickers(s.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})}),d.$rootScope.$on("apiUpdate",e=>{const t=e.detail;switch(t._){case"updateNewStickerSet":this.saveStickerSet(t.stickerset,t.stickerset.set.id),d.$rootScope.$broadcast("stickers_installed",t.stickerset.set)}})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=r.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,s)=>{e[s]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){var s;return i(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite&&(null===(s=this.stickerSets[e.id].documents)||void 0===s?void 0:s.length))return this.stickerSets[e.id];let i=o.default.invokeApi("messages.getStickerSet",{stickerset:this.getStickerSetInput(e)}),n=yield i;return this.saveStickerSet(n,e.id),n}))}getRecentStickers(){return i(this,void 0,void 0,(function*(){let e=yield o.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;if(t&&t.documents)return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){const s={set:e.set,packs:e.packs,documents:e.documents};this.stickerSets[t]?Object.assign(this.stickerSets[t],s):this.stickerSets[t]=s,this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{const e={};for(const t in this.stickerSets){const s=this.stickerSets[t];(s.set.installed_date||"emoji"==t)&&(e[t]=s)}a.default.set({stickerSets:e}),this.saveSetsTimeout=0},100))}getStickerSetThumbDownloadOptions(e){var t;const s=e.thumb,i=e.thumb_dc_id,n=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return{dcID:i,location:{_:"inputStickerSetThumb",stickerset:this.getStickerSetInput(e),volume_id:s.location.volume_id,local_id:s.location.local_id},size:s.size,mimeType:n?"application/x-tgsticker":"image/webp"}}getStickerSetInput(e){return"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}getFeaturedStickers(){var e,t;return i(this,void 0,void 0,(function*(){const s=yield o.default.invokeApi("messages.getFeaturedStickers",{hash:(null===(e=this.hashes.featured)||void 0===e?void 0:e.hash)||0}),i=null!==(t=this.hashes.featured)&&void 0!==t?t:this.hashes.featured={};return"messages.featuredStickersNotModified"!=s._&&(i.hash=s.hash,i.result=s.sets),i.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)}),i.result}))}toggleStickerSet(e){return i(this,void 0,void 0,(function*(){if(e.installed_date){if(yield o.default.invokeApi("messages.uninstallStickerSet",{stickerset:this.getStickerSetInput(e)}))return delete e.installed_date,d.$rootScope.$broadcast("stickers_deleted",e),!0}else{if(yield o.default.invokeApi("messages.installStickerSet",{stickerset:this.getStickerSetInput(e),archived:!1}))return e.installed_date=Date.now()/1e3|0,d.$rootScope.$broadcast("stickers_installed",e),!0}return!1}))}searchStickerSets(e,t=!0){var s,n;return i(this,void 0,void 0,(function*(){const i=t?1:0,a=yield o.default.invokeApi("messages.searchStickerSets",{flags:i,exclude_featured:t,q:e,hash:(null===(s=this.hashes.search[e])||void 0===s?void 0:s.hash)||0}),r=null!==(n=this.hashes.search[e])&&void 0!==n?n:this.hashes.search[e]={};"messages.foundStickerSetsNotModified"!=a._&&(r.hash=a.hash,r.result=a.sets),r.result.forEach(e=>{this.saveStickerSet({set:e.set,documents:[],packs:[]},e.set.id)});const d=[];for(let t in this.stickerSets){const{set:s}=this.stickerSets[t];s.title.toLowerCase().includes(e.toLowerCase())&&!r.result.find(e=>e.set.id==s.id)&&d.push({_:"stickerSetCovered",set:s,cover:null})}return r.result.concat(d)}))}cleanup(){return i(this,void 0,void 0,(function*(){yield a.default.remove("stickerSets")}))}};t.default=f},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toast=void 0;const i=document.createElement("div");i.classList.add("toast"),t.toast=function(e){i.innerHTML=e,document.body.append(i),i.dataset.timeout&&clearTimeout(+i.dataset.timeout),i.dataset.timeout=""+setTimeout(()=>{i.remove(),delete i.dataset.timeout},3e3)}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PopupAvatar=void 0;const n=i(s(86)),a=i(s(28));class o{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var s=new FileReader;s.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=n.default(this.image,this.canvas),this.input.value=""}},s.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>a.default.upload(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=o,t.default=new o},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EmoticonsDropdown=t.EMOTICONSSTICKERGROUP=void 0;const a=n(s(23)),o=n(s(97)),r=s(1),d=s(0),f=s(26),l=n(s(18)),c=n(s(22)),u=n(s(12)),h=n(s(98)),p=n(s(99)),m=n(s(64));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";let g=(()=>{class e{constructor(){this.tabID=-1,this.events={onClose:[],onCloseAfter:[],onOpen:[],onOpenAfter:[]},this.toggle=s=>i(this,void 0,void 0,(function*(){const i=!!this.element.style.display&&void 0===s||s;if(this.init){if(!i)return;this.init(),this.init=null}r.touchSupport?(this.toggleEl.classList.toggle("flip-icon",i),i&&(u.default.chatInputC.saveScroll(),document.activeElement.blur(),yield new Promise(e=>{setTimeout(e,100)}))):this.toggleEl.classList.toggle("active",s),this.element.style.display&&void 0===s||s?(this.events.onOpen.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),this.element.style.display="",this.element.offsetLeft,this.element.classList.add("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onOpenAfter.forEach(e=>e())},r.touchSupport?0:200)):(this.events.onClose.forEach(e=>e()),e.lazyLoadQueue.lockIntersection(),l.default.lockIntersectionGroup(t.EMOTICONSSTICKERGROUP),l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.element.classList.remove("active"),clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.element.style.display="none",l.default.unlockIntersectionGroup(t.EMOTICONSSTICKERGROUP),e.lazyLoadQueue.unlockIntersection(),this.events.onCloseAfter.forEach(e=>e())},r.touchSupport?0:200))})),this.element=document.getElementById("emoji-dropdown");let s=!0;this.toggleEl=document.getElementById("toggle-emoticons"),r.touchSupport?this.toggleEl.addEventListener("click",()=>{s?(s=!1,this.toggle(!0)):this.toggle()}):this.toggleEl.onmouseover=e=>{clearTimeout(this.displayTimeout),s&&(this.toggleEl.onmouseout=this.element.onmouseout=e=>{if(!this.element.classList.contains("active"))return;const t=e.toElement;t&&d.findUpClassName(t,"emoji-dropdown")||(clearTimeout(this.displayTimeout),this.displayTimeout=setTimeout(()=>{this.toggle(!1)},200))},this.element.onmouseover=e=>{clearTimeout(this.displayTimeout)},s=!1),this.toggle(!0)}}init(){this.emojiTab=new h.default,this.stickersTab=new p.default,this.gifsTab=new o.default,this.tabs={0:this.emojiTab,1:this.stickersTab,2:this.gifsTab},this.container=this.element.querySelector(".emoji-container .tabs-container"),this.tabsEl=this.element.querySelector(".emoji-tabs"),f.horizontalMenu(this.tabsEl,this.container,e=>{l.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),this.tabID=e,this.searchButton.classList.toggle("hide",0==this.tabID),this.deleteBtn.classList.toggle("hide",0!=this.tabID)},()=>{const e=this.tabs[this.tabID];e.init&&e.init(),e.onCloseAfterTimeout&&e.onCloseAfterTimeout(),l.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),this.searchButton=this.element.querySelector(".emoji-tabs-search"),this.searchButton.addEventListener("click",()=>{1==this.tabID?c.default.stickersTab.init():c.default.gifsTab.init()}),this.deleteBtn=this.element.querySelector(".emoji-tabs-delete"),this.deleteBtn.addEventListener("click",()=>{var e;const t=u.default.chatInputC.messageInput;(null===(e=t.lastChild)||void 0===e?void 0:e.tagName)?t.lastElementChild.remove():t.lastChild&&(t.lastChild.textContent.length?t.lastChild.textContent=t.lastChild.textContent.slice(0,-1):t.lastChild.remove());const s=new Event("input",{bubbles:!0,cancelable:!0});u.default.chatInputC.messageInput.dispatchEvent(s)}),this.tabsEl.firstElementChild.children[1].click(),this.tabs[0].init()}}return e.lazyLoadQueue=new a.default,e.menuOnClick=(e,t,s)=>{let i=0,n=-1;const a=t=>t!=i&&(e.children[i].classList.remove("active"),e.children[t].classList.add("active"),i=t,!0),o=new m.default(t.container,(i,o)=>{if(Math.abs(n-t.container.scrollTop)<=1)return;n=-1;const r=d.whichChild(o);!i&&r||(a(r),s&&(r{let s=e.target;if(s=d.findUpTag(s,"LI"),!s)return;const i=d.whichChild(s);if(!a(i))return;const o=(t.splitUp||t.container).children[i].offsetTop+1;t.container.scrollTop=n=o}),o},e.onMediaClick=e=>{let t=e.target;if(t=d.findUpTag(t,"DIV"),!t)return;const s=t.dataset.docID;s&&(u.default.chatInputC.sendMessageWithDocument(s)?b.toggle(!1):console.warn("got no doc by id:",s))},e})();t.EmoticonsDropdown=g;const b=new g;t.default=b},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSafari=t.isAppleMobile=t.isAndroid=t.isApple=t.userAgent=void 0,t.userAgent=navigator?navigator.userAgent:null,t.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),t.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;t.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,t.isSafari=!!("safari"in i)||!(!t.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(t.userAgent)||t.userAgent.match("Safari")&&!t.userAgent.match("Chrome")))},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(4),a=i(s(6)),o=s(3),r=i(s(1)),d=s(0),f=i(s(77)),l=i(s(104)),c=i(s(2)),u=i(s(25)),h=s(30);let p=null;const m=new u.default("page-sign",!0,()=>{h.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t=null;var s=m.pageEl.querySelector('input[name="countryCode"]'),i=s.parentElement,u=document.createElement("div");u.classList.add("select-wrapper","z-depth-3","hide");var g=document.createElement("ul");u.appendChild(g);new a.default(u);let b=!1;m.pageEl.querySelector(".a-qr").addEventListener("click",()=>{l.default.mount()});let v,y=()=>{y=null,e.forEach(e=>{b=!0;let t=e.emoji,s=[];e.phoneCode.split(" and ").forEach(i=>{let n=document.createElement("li");var a=document.createElement("span");let r=o.RichTextProcessor.wrapRichText(t);n.appendChild(a),a.outerHTML=r,n.append(e.name);var d=document.createElement("span");d.classList.add("phone-code"),d.innerText="+"+i,n.appendChild(d),s.push(n),g.append(n)}),e.li=s}),g.addEventListener("mousedown",(function(i){let n=i.target;"LI"!=n.tagName&&(n=d.findUpTag(n,"LI"));let a=n.childNodes[1].textContent,o=n.querySelector(".phone-code").innerText;s.value=a,t=e.find(e=>e.name==a),w.value=o,setTimeout(()=>w.focus(),0)})),i.appendChild(u)};y(),s.addEventListener("focus",(function(t){y?y():e.forEach(e=>{e.li.forEach(e=>e.style.display="")}),clearTimeout(v),u.classList.remove("hide"),u.offsetWidth,u.classList.add("active")})),s.addEventListener("blur",(function(e){u.classList.remove("active"),v=setTimeout(()=>{u.classList.add("hide")},200),e.cancelBubble=!0}),{capture:!0}),s.addEventListener("keyup",(function(t){if(t.ctrlKey||"Control"==t.key)return!1;let s=this.value.toLowerCase(),i=[];e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&i.push(e)}),0==i.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),m.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),s.matches(":focus")?s.blur():s.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let w=m.pageEl.querySelector('input[name="phone"]');const _=w.nextElementSibling;w.addEventListener("input",(function(e){this.classList.remove("error"),_.innerText="Phone Number";let{formatted:i,country:a}=n.formatPhoneNumber(this.value);this.value=i?"+"+i:"";let o=a?a.name:"";o==s.value||t&&a&&t.phoneCode==a.phoneCode||(s.value=o,t=a),a||this.value.length-1>1?p.style.visibility="":p.style.visibility="hidden"})),w.addEventListener("keypress",(function(e){return p.style.visibility||"Enter"!=e.key?/\D/.test(e.key)?(e.preventDefault(),!1):void 0:p.click()})),p.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",n.putPreloader(this);let t=w.value;c.default.invokeApi("auth.sendCode",{phone_number:t,api_id:h.App.id,api_hash:h.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{f.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":_.innerText="Phone Number Invalid",w.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));c.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&c.default.getNetworker(e.nearest_dc),e)).then(i=>{let n=e.find(e=>e.code==i.country);n&&(s.value.length||w.value.length||(s.value=n.name,t=n,w.value="+"+n.phoneCode.split(" and ").shift()))})},()=>{p||(p=m.pageEl.querySelector("button")),p.textContent="NEXT",p.removeAttribute("disabled")});t.default=m},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaProgressLine=t.ProgressLine=void 0;const n=s(0),a=s(1),o=i(s(37)),r=s(47);class d{constructor(e=0){this.duration=1,this.mousedown=!1,this.events={},this.onMouseMove=e=>{this.mousedown&&this.scrub(e)},this.onMouseDown=e=>{var t;this.scrub(e),this.mousedown=!0,(null===(t=this.events)||void 0===t?void 0:t.onMouseDown)&&this.events.onMouseDown(e)},this.onMouseUp=e=>{var t;this.mousedown=!1,(null===(t=this.events)||void 0===t?void 0:t.onMouseUp)&&this.events.onMouseUp(e)},this.container=document.createElement("div"),this.container.classList.add("progress-line"),this.filled=document.createElement("div"),this.filled.classList.add("progress-line__filled");const t=this.seek=document.createElement("input");t.classList.add("progress-line__seek"),t.value=""+e,t.setAttribute("min","0"),t.type="range",t.step="0.1",t.max=""+1e3*this.duration,e>0&&this.setProgress(e),this.container.append(this.filled,t)}setHandlers(e){this.events=e}setListeners(){this.container.addEventListener("mousemove",this.onMouseMove),this.container.addEventListener("mousedown",this.onMouseDown),this.container.addEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.addEventListener("touchmove",this.onMouseMove),this.container.addEventListener("touchstart",this.onMouseDown),this.container.addEventListener("touchend",this.onMouseUp))}setProgress(e){this.setFilled(e),this.seek.value=""+1e3*e}setFilled(e){let t=e/this.duration;t=Math.max(0,Math.min(1,t)),this.filled.style.transform="scaleX("+t+")"}scrub(e){var t;let s;if(e instanceof MouseEvent)s=e.offsetX;else{const t=e.target.getBoundingClientRect();s=e.targetTouches[0].pageX-t.left}const i=s/this.container.offsetWidth*this.duration;return this.setFilled(i),(null===(t=this.events)||void 0===t?void 0:t.onScrub)&&this.events.onScrub(i),i}removeListeners(){this.container.removeEventListener("mousemove",this.onMouseMove),this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),a.touchSupport&&(this.container.removeEventListener("touchmove",this.onMouseMove),this.container.removeEventListener("touchstart",this.onMouseDown),this.container.removeEventListener("touchend",this.onMouseUp)),this.events={}}}t.ProgressLine=d;class f extends d{constructor(e,t=!1){super(),this.media=e,this.streamable=t,this.stopAndScrubTimeout=0,this.progressRAF=0,this.onLoadedData=()=>{this.duration=this.media.duration,this.seek.setAttribute("max",""+1e3*this.duration)},this.onEnded=()=>{this.setProgress()},this.onPlay=()=>{let e=()=>{this.setProgress(),this.progressRAF=this.media.paused?0:window.requestAnimationFrame(e)};this.progressRAF&&window.cancelAnimationFrame(this.progressRAF),this.streamable&&this.setLoadProgress(),this.progressRAF=window.requestAnimationFrame(e)},this.onProgress=e=>{this.setLoadProgress()},t&&(this.filledLoad=document.createElement("div"),this.filledLoad.classList.add("progress-line__filled","progress-line__loaded"),this.container.prepend(this.filledLoad)),(!e.paused||e.currentTime>0)&&this.onPlay(),this.setSeekMax(),this.setListeners(),this.setHandlers({onMouseDown:e=>{this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=setTimeout(()=>{!this.media.paused&&this.media.pause(),this.stopAndScrubTimeout=0},150)},onMouseUp:e=>{this.stopAndScrubTimeout&&(clearTimeout(this.stopAndScrubTimeout),this.stopAndScrubTimeout=0),this.media.paused&&this.media.play()}})}scrub(e){const t=super.scrub(e);return this.media.currentTime=t,t}setLoadProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.buffered,t=e.length,s=this.media.currentTime;let i=0,n=0;for(let a=0;a=t&&t>=i&&(i=t,n=e.end(a))}const a=this.media.duration?n/this.media.duration:0;this.filledLoad.style.transform="scaleX("+a+")"}setSeekMax(){this.duration=this.media.duration,this.duration>0?this.onLoadedData():this.media.addEventListener("loadeddata",this.onLoadedData)}setProgress(){if(o.default.isSafariBuffering(this.media))return;const e=this.media.currentTime;super.setProgress(e)}setListeners(){super.setListeners(),this.media.addEventListener("ended",this.onEnded),this.media.addEventListener("play",this.onPlay),this.streamable&&this.media.addEventListener("progress",this.onProgress)}removeListeners(){super.removeListeners(),this.media.removeEventListener("loadeddata",this.onLoadedData),this.media.removeEventListener("ended",this.onEnded),this.media.removeEventListener("play",this.onPlay),this.streamable&&this.media.removeEventListener("progress",this.onProgress),this.stopAndScrubTimeout&&clearTimeout(this.stopAndScrubTimeout),this.progressRAF&&window.cancelAnimationFrame(this.progressRAF)}}t.MediaProgressLine=f;let l=1,c=!l;class u{constructor(e,t=!1,s=!1){var i;if(this.video=e,this.onFullScreen=()=>{null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")},this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new f(e,s),t.prepend(this.progress.container)}if(t){e.play().catch(t=>{"NotAllowedError"==t.name&&(e.muted=!0,e.autoplay=!0,e.play())}).finally(()=>{this.wrapper.classList.toggle("is-playing",!this.video.paused)})}}stylePlayer(){const{wrapper:e,video:t,skin:s}=this;e.classList.add(s);const i=this.buildControls();e.insertAdjacentHTML("beforeend",i);let o=0,r=0,f=0;if("default"===s){const s=e.querySelectorAll(".toggle"),i=e.querySelector(".fullscreen");var u=e.querySelector("#time-elapsed");(m=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS();const r=document.createElement("div");r.classList.add("player-volume"),r.innerHTML='\n \n ';const f=r.firstElementChild;f.addEventListener("click",e=>{n.cancelEvent(e),t.muted=!t.muted});const h=new d;h.setListeners(),h.setHandlers({onScrub:e=>{const s=Math.max(Math.min(e,1),0);t.muted=!1,t.volume=s}}),r.append(h.container);const p=()=>{const e=t.volume;let s;s=!e||t.muted?"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z":e>.5?"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z":e>0&&e<.25?"M7 9v6h4l5 5V4l-5 5H7z":"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z";try{f.innerHTML=``}catch(e){}h.mousedown||h.setProgress(t.muted?0:e)};t.addEventListener("volumechange",()=>{c=t.muted,l=t.volume,p()}),t.volume=l,t.muted=c,p();if(e.querySelector(".left-controls").insertBefore(r,u.parentElement),Array.from(s).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{a.touchSupport||this.togglePlay()}),a.touchSupport){let t=0;const s=()=>{t=setTimeout(()=>{t=0,e.classList.remove("show-controls")},3e3)};e.addEventListener("click",()=>{t?clearTimeout(t):e.classList.add("show-controls"),s()}),e.addEventListener("touchstart",()=>{e.classList.add("show-controls"),clearTimeout(t)}),e.addEventListener("touchend",()=>{e.classList.contains("is-playing")&&s()})}t.addEventListener("pause",()=>{clearInterval(o)}),t.addEventListener("dblclick",()=>{if(!a.touchSupport)return this.toggleFullScreen(i)}),i.addEventListener("click",e=>this.toggleFullScreen(i)),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,this.onFullScreen,!1)})}else if("circle"===s){const s=document.createElement("div");s.classList.add("circle-time-left"),t.parentNode.insertBefore(s,t),s.innerHTML='
';var h=e.querySelector(".progress-ring__circle");const i=h.r.baseVal.value;var p=2*Math.PI*i,m=e.querySelector(".circle-time");const n=e.querySelector(".iconVolume");h.style.strokeDasharray=p+" "+p,h.style.strokeDashoffset=""+p,h.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{n.style.display="none",o=setInterval(()=>{t.currentTime!=f&&(r=t.currentTime,f=t.currentTime);const e=p-r/t.duration*p;h.style.strokeDashoffset=""+e,t.paused&&clearInterval(o)},20)}),t.addEventListener("pause",()=>{n.style.display=""})}t.addEventListener("play",()=>{this.wrapper.classList.add("is-playing")}),t.addEventListener("pause",()=>{this.wrapper.classList.remove("is-playing")}),t.duration>0?m.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{m.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==s&&(u.innerHTML=String(0|t.currentTime).toHHMMSS()),o=this.handleProgress(m,p,h,o)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):void this.video[this.video.paused?"play":"pause"]()}handleProgress(e,t,s,i){const{video:n,skin:a}=this;clearInterval(i);let o=0,r=0;if("circle"===a){i=setInterval(()=>{n.currentTime!=r&&(o=n.currentTime,r=n.currentTime);const e=t-o/n.duration*t;s.style.strokeDashoffset=""+e,n.paused&&clearInterval(i)},20);const a=String(n.duration-n.currentTime|0).toHHMMSS();return"0"!=a&&(e.innerHTML=a),i}}buildControls(){const e=this.skin;return"default"===e?`\n \n
\n
\n
\n
\n \n
\n \n / \n \n
\n
\n
\n \n
\n
\n
`:"circle"===e?'\n \n \n \n ':void 0}static isFullScreen(){return!!(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)}toggleFullScreen(e){const t=this.wrapper;if(r.isAppleMobile){const e=this.video;return e.webkitEnterFullscreen(),void e.enterFullscreen()}u.isFullScreen()?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}}t.default=u},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(22)),a=i(s(7)),o=s(4),r=s(51);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,o.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let s=e.splice(0,3).map(e=>a.default.forwardMessages(e,this.msgIDs));Promise.all(s).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){(this.sidebarWasActive?Promise.resolve():n.default.toggleSidebar(!1)).then(()=>{this.cleanup(),this.container.classList.remove("active")})}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},["dialogs","contacts"],()=>{this.sidebarWasActive=n.default.sidebarEl.classList.contains("active"),n.default.toggleSidebar(!0)})}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppSelectPeers=void 0;const a=n(s(6)),o=n(s(7)),r=s(0),d=n(s(15)),f=n(s(9)),l=n(s(5)),c=n(s(8)),u=n(s(13));t.AppSelectPeers=class{constructor(e,t,s=["dialogs"],i,n){this.appendTo=e,this.onChange=t,this.peerType=s,this.renderResultsFunc=n,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected=new Set,this.freezed=!1,this.folderID=0,this.offsetIndex=0,this.query="",this.loadedWhat={},this.container.classList.add("selector"),this.renderResultsFunc||(this.renderResultsFunc=this.renderResults);let o=document.createElement("div");o.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder=s.includes("dialogs")?"Select chat":"Add People...",this.input.type="text",this.selectedContainer.append(this.input),o.append(this.selectedContainer),this.selectedScrollable=new a.default(o);let d=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new a.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.chatsContainer.addEventListener("click",e=>{const t=r.findUpAttribute(e.target,"data-peerID");if(r.cancelEvent(e),!t)return;if(this.freezed)return;let s=t.getAttribute("data-peerID");s=+s||s,t.classList.toggle("active"),this.selected.has(s)?this.remove(s):this.add(s);const i=t.querySelector("input");i.checked=!i.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;const s=t.dataset.key,i=this.chatsContainer.querySelector('[data-peerid="'+s+'"]');i?i.click():this.remove(+s||s)}),this.input.addEventListener("input",()=>{const e=this.input.value;this.query!=e&&(this.peerType.includes("contacts")&&(delete this.loadedWhat.contacts,this.cachedContacts=null),delete this.loadedWhat.dialogs,delete this.loadedWhat.archived,this.folderID=0,this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(o,d,this.chatsContainer),e.append(this.container),setTimeout(()=>{let e=this.getMoreResults();i&&e.then(()=>{i()})},0)}getMoreDialogs(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.loadedWhat.dialogs&&this.loadedWhat.archived)return;const e=u.default.windowH/72*1.25|0;this.promise=o.default.getConversations(this.query,this.offsetIndex,e,this.folderID);const t=yield this.promise;this.promise=null;let s=t.dialogs;if(s.length){const e=s[s.length-1].index||0;s=s.slice(),s.findAndSplice(e=>e.peerID==r.$rootScope.myID),this.offsetIndex||0!=this.folderID||this.query&&!"saved messages".includes(this.query.toLowerCase())||!this.peerType.includes("dialogs")||s.unshift({peerID:r.$rootScope.myID,pFlags:{}}),this.offsetIndex=e,this.renderResultsFunc(s.map(e=>e.peerID))}else{if(!this.loadedWhat.dialogs)return this.loadedWhat.dialogs=!0,this.offsetIndex=0,this.folderID=1,this.getMoreDialogs();if(this.loadedWhat.archived=!0,!this.loadedWhat.contacts&&this.peerType.includes("contacts"))return this.getMoreContacts()}}))}getMoreContacts(){return i(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(!this.loadedWhat.contacts){if(this.cachedContacts||(this.promise=l.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==r.$rootScope.myID),this.promise=null),this.cachedContacts.length){const e=u.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResultsFunc(t)}return this.cachedContacts.length||(this.loadedWhat.contacts=!0,this.peerType.includes("dialogs"))?void 0:this.getMoreDialogs()}}))}getMoreResults(){const e=[];return e.push(o.default.getConversationsAll()),!this.peerType.includes("dialogs")&&!this.loadedWhat.contacts||this.loadedWhat.archived||(e.push(this.getMoreDialogs()),this.loadedWhat.archived)?(this.peerType.includes("contacts")&&!this.loadedWhat.contacts&&e.push(this.getMoreContacts()),Promise.all(e)):Promise.all(e)}renderResults(e){!this.peerType.includes("dialogs")&&this.loadedWhat.contacts&&(e=e.filter(e=>l.default.isNonContactUser(e))),e.forEach(e=>{const{dom:t}=d.default.addDialog(e,this.scrollable,!1,!1),s=this.selected.has(e);t.containerEl.insertAdjacentHTML("afterbegin",`
`),s&&t.listEl.classList.add("active");let i="";e<0?i=f.default.getChatMembersString(-e):e==r.$rootScope.myID?i="chat with yourself":(i=l.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e,t){const s=document.createElement("div");s.classList.add("selector-user","scale-in");const i=document.createElement("avatar-element");return i.classList.add("selector-user-avatar","tgico"),i.setAttribute("dialog","1"),s.dataset.key=""+e,this.selected.add(e),"number"==typeof e&&(void 0===t&&(t=e==r.$rootScope.myID?"Saved":c.default.getPeerTitle(e,!1,!0)),i.setAttribute("peer",""+e)),t&&(s.innerHTML=t),s.insertAdjacentElement("afterbegin",i),this.selectedContainer.insertBefore(s,this.input),this.selectedScrollable.scrollTo(this.selectedScrollable.scrollHeight,!0,!0),this.onChange&&this.onChange(this.selected.size),s}remove(e){const t=this.selectedContainer.querySelector(`[data-key="${e}"]`);t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{this.selected.delete(e),t.remove(),this.onChange&&this.onChange(this.selected.size)},{once:!0})}getSelected(){return[...this.selected]}}},,function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WebpWorkerController=void 0;const n=i(s(72)),a=s(24),o=i(s(2));class r{constructor(){this.convertPromises={}}init(){this.worker=new n.default,this.worker.addEventListener("message",e=>{const t=e.data.payload;if(0===t.fileName.indexOf("main-")){const e=this.convertPromises[t.fileName];e&&(t.bytes?e.resolve(t.bytes):e.reject(),delete this.convertPromises[t.fileName])}else o.default.postMessage(e.data)})}postMessage(e){this.init&&(this.init(),this.init=null),this.worker.postMessage(e)}convert(e,t){if(e="main-"+e,this.convertPromises.hasOwnProperty(e))return this.convertPromises[e];const s=a.deferredPromise();return this.postMessage({type:"convertWebp",payload:{fileName:e,bytes:t}}),this.convertPromises[e]=s}}t.WebpWorkerController=r;const d=new r;t.default=d},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.OpusDecodeController=void 0;const n=s(1),a=s(10);class o{constructor(){this.sampleRate=48e3,this.tasks=[],this.keepAlive=!1,this.log=a.logger("OPUS",a.LogLevels.error)}isPlaySupported(){if(void 0!==this.isPlaySupportedResult)return this.isPlaySupportedResult;const e=document.createElement("audio");return this.isPlaySupportedResult=!(!e.canPlayType||!e.canPlayType("audio/ogg;").replace(/no/,""))}loadWavWorker(){this.wavWorker||(this.wavWorker=new Worker("waveWorker.min.js"),this.wavWorker.addEventListener("message",e=>{const t=e.data;if(this.log("[WAV] got message:",t),t&&t.page){const e=t.page;this.onTaskEnd(this.tasks.shift(),e)}}))}loadWorker(){this.worker||(this.worker=new Worker("decoderWorker.min.js"),this.worker.addEventListener("message",e=>{const t=e.data;this.log("[DECODER] got message",t),"done"==t.type?(this.wavWorker.postMessage({command:"done"}),t.waveform&&(this.tasks[0].waveform=t.waveform)):this.wavWorker.postMessage({command:"encode",buffers:e.data},n.isSafari?void 0:t.map(e=>e.buffer))}))}setKeepAlive(e){this.keepAlive=e,this.keepAlive?(this.loadWorker(),this.loadWavWorker()):this.tasks.length||this.terminateWorkers()}onTaskEnd(e,t){t?(clearTimeout(e.timeout),e.callback.resolve({bytes:t,waveform:e.waveform})):e.callback.reject("timeout"),this.tasks.length&&this.executeNewTask(this.tasks[0]),this.terminateWorkers()}terminateWorkers(e=!1){(!this.keepAlive&&!this.tasks.length||e)&&(this.worker&&(this.worker.terminate(),this.worker=null),this.wavWorker&&(this.wavWorker.terminate(),this.wavWorker=null))}executeNewTask(e){this.worker.postMessage({command:"init",decoderSampleRate:this.sampleRate,outputBufferSampleRate:this.sampleRate}),this.wavWorker.postMessage({command:"init",wavBitDepth:16,wavSampleRate:this.sampleRate}),this.log("[DECODER] send decode"),this.worker.postMessage({command:"decode",pages:e.pages,waveform:e.withWaveform},n.isSafari?void 0:[e.pages.buffer]),e.timeout=setTimeout(()=>{this.log.error("decode timeout"),this.terminateWorkers(!0),this.tasks.length&&(this.loadWorker(),this.loadWavWorker()),this.onTaskEnd(this.tasks.shift())},1e4)}pushDecodeTask(e,t){return new Promise((s,i)=>{const n={pages:e,withWaveform:t,callback:{resolve:s,reject:i},timeout:0};this.loadWorker(),this.loadWavWorker(),1==this.tasks.push(n)&&this.executeNewTask(n)})}decode(e,t=!1){return i(this,void 0,void 0,(function*(){return this.pushDecodeTask(e,t).then(e=>{const t=new Blob([e.bytes],{type:"audio/wav"});return{url:URL.createObjectURL(t),waveform:e.waveform}})}))}}t.OpusDecodeController=o;const r=new o;t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(13)),o=i(s(11)),r=s(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},n.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,s){e.photo&&"photo"===e.photo._?e.photo=a.default.savePhoto(e.photo,s):delete e.photo,e.document&&"document"===e.document._?e.document=o.default.saveDoc(e.document,s):("document"==e.type&&delete e.type,delete e.document);var i=e.site_name,d=e.title||e.author||i||"";i&&d==i&&delete e.site_name,d.length>100&&(d=d.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(d,{noLinks:!0,noLinebreaks:!0});var f="";if("GitHub"==i){var l=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);l&&(f=l[0]+"/issues/{1}")}var c=e.description||"";if(c.length>180&&(c=c.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(c,{contextSite:i||"external",contextHashtag:f}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:n.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var u=[];for(let t in this.pendingWebPages[e.id])u.push(t);n.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:u})}}getWebPage(e){return this.webpages[e]}}},function(e,t,s){"use strict";var i=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppMediaViewer=void 0;const a=n(s(8)),o=n(s(13)),r=n(s(7)),d=s(3),f=s(10),l=n(s(35)),c=s(0),u=n(s(11)),h=n(s(49)),p=s(4),m=n(s(23)),g=n(s(50)),b=s(1),v=s(24),y=n(s(37));class w{constructor(e,t){this.onSwipe=t,this.handleTouchStart=e=>{if("INPUT"==e.target.tagName)return void(this.xDown=this.yDown=null);const t=e.touches[0];this.xDown=t.clientX,this.yDown=t.clientY},this.handleTouchMove=e=>{if(null==this.xDown||null==this.yDown)return;const t=e.touches[0].clientX,s=e.touches[0].clientY,i=this.xDown-t,n=this.yDown-s;this.onSwipe(i,n)&&(this.xDown=null,this.yDown=null)},e.addEventListener("touchstart",this.handleTouchStart,!1),e.addEventListener("touchmove",this.handleTouchMove,!1)}}class _{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.preloaderStreamable=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.onClickDownload=e=>{const t=r.default.getMessage(this.currentMessageID);if(t.media.photo)o.default.savePhotoFile(t.media.photo);else{let e=null;e=t.media.webpage?t.media.webpage.document:t.media.document,e&&u.default.saveDocFile(e)}},this.onClick=e=>{if(this.setMoverAnimationPromise)return;const t=e.target;if("A"==t.tagName)return;if(c.cancelEvent(e),b.touchSupport)return this.highlightSwitchersTimeout?clearTimeout(this.highlightSwitchersTimeout):this.wholeDiv.classList.add("highlight-switchers"),void(this.highlightSwitchersTimeout=setTimeout(()=>{this.wholeDiv.classList.remove("highlight-switchers"),this.highlightSwitchersTimeout=0},3e3));let s=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(s=c.findUpClassName(t,e),s)return!0}catch(e){return!1}}),s&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.onKeyDown=e=>{"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()},this.log=f.logger("AMV"),this.preloader=new l.default,this.preloaderStreamable=new l.default(void 0,!1,!0),this.lazyLoadQueue=new m.default(void 0,!0),p.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']"));const e=e=>{c.cancelEvent(e),this.content.container.innerHTML="",this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,this.setMoverPromise=null,g.default.container.classList.contains("active")&&setTimeout(()=>{g.default.close()},200),window.removeEventListener("keydown",this.onKeyDown)};[this.buttons.close,this.buttons["mobile-close"],this.preloaderStreamable.preloader].forEach(t=>{t.addEventListener("click",e)}),this.buttons.prev.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(c.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),[this.buttons.download,this.buttons["menu-download"]].forEach(e=>{e.addEventListener("click",this.onClickDownload)});const t=e=>{g.default.init([this.currentMessageID])};if([this.buttons.forward,this.buttons["menu-forward"]].forEach(e=>{e.addEventListener("click",t)}),this.wholeDiv.addEventListener("click",this.onClick),this.setNewMover(),b.touchSupport){new w(this.wholeDiv,(e,t)=>{if(h.default.isFullScreen())return;if(Math.abs(e)/o.default.windowW>.2||e>125)return e<0?this.buttons.prev.click():this.buttons.next.click(),!0;return(Math.abs(t)/o.default.windowH>.2||t>125)&&(this.buttons.close.click(),!0)})}}setMoverToTarget(e,t=!1,s=0){return i(this,void 0,void 0,(function*(){const i=this.content.mover;e||(e=this.content.container),t||(i.innerHTML=""),this.removeCenterFromMover(i);const n=0!==s,a=n?350:200;let r,d;this.log("setMoverToTarget",e,t,n,s),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(r=c.findUpClassName(e,"attachment"),d=r.getBoundingClientRect()):(r=e.parentElement,d=e.getBoundingClientRect()));const f=this.content.container.getBoundingClientRect();let l,u,h,p="";if(n?(l=1===s?o.default.windowW:-f.width,u=f.top):(l=d.left,u=d.top),p+=`translate(${l}px,${u}px) `,e instanceof HTMLImageElement||e instanceof HTMLVideoElement||"DIV"==e.tagName){if(i.firstElementChild&&i.firstElementChild.classList.contains("media-viewer-aspecter")){h=i.firstElementChild;const e=h.querySelector(".ckin__player");if(e){const t=e.firstElementChild;h.append(t),e.remove()}h.style.cssText||(i.classList.remove("active"),this.setFullAspect(h,f,d),i.offsetLeft,i.classList.add("active"))}else h=document.createElement("div"),h.classList.add("media-viewer-aspecter"),i.prepend(h);h.style.cssText=`width: ${d.width}px; height: ${d.height}px; transform: scale(${f.width/d.width}, ${f.height/d.height});`}i.style.width=f.width+"px",i.style.height=f.height+"px";const m=d.width/f.width,g=d.height/f.height;n||(p+=`scale(${m},${g}) `);let b=window.getComputedStyle(r).getPropertyValue("border-radius");const y=c.fillPropertyValue(b);let w;b=y.map(e=>parseInt(e)/m+"px").join(" "),n||(i.style.borderRadius=b),i.style.transform=p;const _=e.classList.contains("is-out"),S=this.setMoverAnimationPromise=v.deferredPromise(),L={onAnimationEnd:S};if(this.setMoverAnimationPromise.then(()=>{this.setMoverAnimationPromise=null}),t)return e instanceof SVGSVGElement&&(w=i.querySelector("path"),w&&this.sizeTailPath(w,f,m,a,!1,_,b)),e.classList.contains("media-viewer-media")&&i.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{i.style.borderRadius=b,i.firstElementChild&&(i.firstElementChild.style.borderRadius=b)},a/2),setTimeout(()=>{i.innerHTML="",i.classList.remove("moving","active","hiding"),i.style.cssText="display: none;",S.resolve()},a),L;{let t,s;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,s=e.firstElementChild.src,i.append(t));else if(e instanceof HTMLImageElement)t=new Image,s=e.src;else if(e instanceof HTMLVideoElement){(t=document.createElement("video")).src=null==e?void 0:e.src}else if(e instanceof SVGSVGElement){const t=e.dataset.clipID,s=t+"-mv",{width:n,height:a}=f,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width",""+n),o.setAttributeNS(null,"height",""+a),o.setAttributeNS(null,"viewBox",`0 0 ${n} ${a}`),o.setAttributeNS(null,"preserveAspectRatio","xMidYMid meet"),o.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,s)),o.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,s));const r=o.firstElementChild,d=r.firstElementChild.firstElementChild;if(d instanceof SVGUseElement){let e,t=d.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,s,i,o)=>`translate(${t=2!=(t=+t)?n-2/m:2/m}, ${a}) scale(${+i/m}, ${+o/g})`),d.setAttributeNS(null,"transform",t),w=r.firstElementChild.lastElementChild;const s=b.split(" ").map(e=>parseInt(e));e=_?c.generatePathData(0,0,n-9/m,a,...s):c.generatePathData(9/m,0,n-9/m,a,...s),w.setAttributeNS(null,"d",e)}const l=o.lastElementChild;l.setAttributeNS(null,"width",""+f.width),l.setAttributeNS(null,"height",""+f.height),i.prepend(o)}h&&(h.style.borderRadius=b,t&&h.append(t)),t=i.querySelector("video, img"),t instanceof HTMLImageElement&&(t.classList.add("thumbnail"),h||(t.style.width=f.width+"px",t.style.height=f.height+"px"),s&&(yield new Promise((e,i)=>{t.addEventListener("load",e),s&&(t.src=s)}))),i.style.display="",window.requestAnimationFrame(()=>{i.classList.add(n?"moving":"active")})}return yield new Promise(e=>window.requestAnimationFrame(e)),i.style.transform=`translate(${f.left}px,${f.top}px) scale(1,1)`,h&&this.setFullAspect(h,f,d),setTimeout(()=>{i.style.borderRadius="",i.firstElementChild&&(i.firstElementChild.style.borderRadius="")},a/2),i.dataset.timeout=""+setTimeout(()=>{i.classList.remove("moving"),h&&(i.querySelector("video"),i.classList.remove("active"),h.style.cssText="",i.offsetLeft),i.classList.add("center","no-transition"),i.classList.add("active"),delete i.dataset.timeout,S.resolve()},a),w&&this.sizeTailPath(w,f,m,a,!0,_,b),L}))}setFullAspect(e,t,s){const i=t.width/t.height;let{width:n,height:a}=s;i>0?n=a*i:a=n*i,e.style.cssText=`width: ${n}px; height: ${a}px; transform: scale(${t.width/n}, ${t.height/a});`}sizeTailPath(e,t,s,i,n,a,o){const r=Date.now(),{width:d,height:f}=t;i/=2;const l=o.split(" ").map(e=>parseInt(e)),u=()=>{const t=Date.now()-r;let o=t/i;o>1&&(o=1),n&&(o=1-o);const h=l.map(e=>e*o);let p;p=a?c.generatePathData(0,0,d-9/s*o,f,...h):c.generatePathData(9/s*o,0,d,f,...h),e.setAttributeNS(null,"d",p),t{const a=t?-i.width:s;return e.replace(n,a+"px")});e.style.transform=n,setTimeout(()=>{e.remove()},350)}setNewMover(){const e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return this.content.mover=e}loadMoreMedia(e=!0){if(e&&this.loadedAllMediaDown)return;if(!e&&this.loadedAllMediaUp)return;if(e&&this.loadMediaPromiseDown)return this.loadMediaPromiseDown;if(!e&&this.loadMediaPromiseUp)return this.loadMediaPromiseUp;const t=e?0:50;let s,i=this.currentMessageID;s=e?this.reverse?this.prevTargets[0]:this.nextTargets[this.nextTargets.length-1]:this.reverse?this.nextTargets[this.nextTargets.length-1]:this.prevTargets[0],s&&(i=s.mid),e||(i+=1);const n=this.peerID,a=r.default.getSearch(n,"",{_:"inputMessagesFilterPhotoVideo"},i,50,0,t).then(t=>{if(this.peerID!=n)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",i,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0);(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{const s=r.default.getMessage(t).media;if(!s||!(s.photo||s.document||s.webpage&&s.webpage.document))return;if("document"==s._&&"video"!=s.type)return;const i={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(i):this.nextTargets.push(i):this.reverse?this.nextTargets.push(i):this.prevTargets.unshift(i)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=a:this.loadMediaPromiseUp=a,a}updateMediaSource(e,t,s){const i=e.querySelector(s);p.renderImageFromUrl(i,t)}openMedia(e,t,s=!1,n,r=[],f=[],l=!0){return i(this,void 0,void 0,(function*(){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const n=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,m="video"==n.type||"gif"==n.type,v=!this.peerID;v&&(this.peerID=c.$rootScope.selectedPeerID,this.prevTargets=r,this.nextTargets=f,this.reverse=s,this.needLoadMore=l,g.default.container.classList.contains("active")&&(g.default.close(),yield new Promise(e=>setTimeout(e,200))));let w=0;v||(w=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const _=this.content.container;!t&&(t=_),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),_.firstElementChild&&(_.innerHTML="");const S=new Date(1e3*n.date),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][S.getMonth()]+" "+S.getDate()+" at "+S.getHours()+":"+("0"+S.getMinutes()).slice(-2);this.author.date.innerText=L;const M=a.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=M,e.message?this.content.caption.innerHTML=d.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let D=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),D.parentElement.replaceChild(this.author.avatarEl,D);0!==w?(this.moveTheMover(this.content.mover,1===w),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDown),this.wholeDiv.classList.add("active"));const E=this.content.mover,I=b.mediaSizes.isMobile?this.pageEl.scrollWidth:this.pageEl.scrollWidth-16,C=o.default.windowH-100,P=o.default.setAttachmentSize(n,_,I,C),k=n.supportsStreaming?this.preloaderStreamable:this.preloader;let T;if(m){const s=document.createElement("video");T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:a})=>{const o=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E,r=E.querySelector("video");r&&r.remove(),s.setAttribute("playsinline",""),b.isSafari&&(s.autoplay=!0),"gif"==n.type&&(s.muted=!0,s.autoplay=!0,s.loop=!0),s.parentElement||o.append(s);const d=new Promise(e=>{s.addEventListener("canplay",e,{once:!0})});if(n.supportsStreaming){a.then(()=>{s.readyState{s.addEventListener("canplay",()=>{k.detach(),s.parentElement.classList.remove("is-buffering")},{once:!0})};s.addEventListener("waiting",t=>{const i=s.networkState===s.NETWORK_LOADING,n=s.readyState{const r=n.supportsStreaming?Promise.resolve():u.default.downloadDocNew(n);return n.supportsStreaming||a.then(()=>{k.attach(E,!0,r)}),r.then(()=>i(this,void 0,void 0,(function*(){if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");const i=n.url;t instanceof SVGSVGElement?(o.firstElementChild.lastElementChild.append(s),this.updateMediaSource(E,i,"video")):p.renderImageFromUrl(s,i),"gif"!=n.type&&(s.dataset.ckin="default",s.dataset.overlay="1",y.default.pause(),y.default.willBePlayedMedia=null,Promise.all([d,a]).then(()=>{new h.default(s,!0,n.supportsStreaming)}))}))),r},wasSeen:!0})})}else T=this.setMoverToTarget(t,!1,w).then(({onAnimationEnd:s})=>{this.lazyLoadQueue.unshift({div:null,load:()=>{const i=o.default.preloadPhoto(n.id,P);return s.then(()=>{this.preloader.attach(E,!0,i)}),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");const s=n.url;if(t instanceof SVGSVGElement){if(this.updateMediaSource(t,s,"img"),this.updateMediaSource(E,s,"img"),b.mediaSizes.isMobile){const e=E.querySelectorAll("img");e&&e.length&&e.forEach(e=>{e.classList.remove("thumbnail")})}}else{const e=E.firstElementChild&&E.firstElementChild.classList.contains("media-viewer-aspecter")?E.firstElementChild:E;let t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),p.renderImageFromUrl(t,s,()=>{b.mediaSizes.isMobile&&t.classList.remove("thumbnail"),e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})});return this.setMoverPromise=T.catch(()=>{this.setMoverAnimationPromise=null}).finally(()=>{this.setMoverPromise=null})}))}}t.AppMediaViewer=_,t.default=new _},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Layouter=t.RectPart=void 0,t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let i=(e,t)=>e.reduce((e,t)=>e+t,t);function n(e,t,s){return es?s:e}class a{constructor(e,t,s,n,o=t){this.sizes=e,this.maxWidth=t,this.minWidth=s,this.spacing=n,this.maxHeight=o,this.count=e.length,this.ratios=a.countRatios(e),this.proportions=a.countProportions(this.ratios),this.averageRatio=i(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new o(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,s=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:s},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),s=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),i=this.maxWidth-s-this.spacing,n=Math.min(this.maxHeight,Math.round(Math.min(i/this.ratios[0],s/this.ratios[1])));return[{geometry:{x:0,y:0,width:i,height:n},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:s,height:n},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),i=e-s-this.spacing,n=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(s*this.ratios[2],i*this.ratios[1])))),a=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-n);return[{geometry:{x:0,y:0,width:a,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:a+this.spacing,y:0,width:n,height:i},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:s},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=(this.maxWidth-this.spacing)/2,n=Math.min(this.maxHeight-s-this.spacing,Math.round(Math.min(i/this.ratios[1],i/this.ratios[2]))),a=e-i-this.spacing;return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:i,height:n},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:i+this.spacing,y:s+this.spacing,width:a,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,s=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),i=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),n=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),i*this.ratios[1]))),a=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),i*this.ratios[3])),o=e-n-a-2*this.spacing,r=Math.min(this.maxHeight-s-this.spacing,i);return[{geometry:{x:0,y:0,width:e,height:s},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:s+this.spacing,width:n,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:n+this.spacing,y:s+this.spacing,width:o,height:r},sides:t.RectPart.Bottom},{geometry:{x:n+this.spacing+o+this.spacing,y:s+this.spacing,width:a,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,s=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),i=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),n=Math.round(i/this.ratios[1]),a=Math.round(i/this.ratios[2]),o=e-n-a-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-s-this.spacing,i));return[{geometry:{x:0,y:0,width:s,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:r,height:n},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+this.spacing,width:r,height:a},sides:t.RectPart.Right},{geometry:{x:s+this.spacing,y:n+a+2*this.spacing,width:r,height:o},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=a;class o{constructor(e,t,s,i,n,a=4*s/3){this.averageRatio=t,this.maxWidth=s,this.minWidth=i,this.spacing=n,this.maxHeight=a,this.ratios=o.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?n(e,1,2.75):n(e,.6667,1))}layout(){let e=new Array(this.count),s=[];const n=(e,t)=>{const s=this.ratios.slice(e,e+t),n=i(s,0);return(this.maxWidth-(t-1)*this.spacing)/n},a=e=>{let t=[],i=0;for(let s of e)t.push(n(i,s)),i+=s;s.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||a([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const s=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||s>3||a([e,t,s])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let s=1;s!=this.count-e-t;++s){const i=this.count-e-t-s;e>3||t>3||s>3||i>3||a([e,t,s,i])}let o=null,r=0;for(const e of s){const{heights:t,lineCounts:s}=e,n=s.length,a=i(t,0)+this.spacing*(n-1),d=Math.min(...t),f=(Math.max(...t),d{for(let e=1;e!=n;++e)if(s[e-1]>s[e])return 1.5;return 1})(),c=Math.abs(a-this.maxHeight)*f*l;(!o||c{const t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){const s=t-100,i=e.length;for(let t=0;t=.5&&is&&(s=i,t=n)}if(-1==t)return;e[t]+=1-s}}};const h=[];o.$rootScope.$on("poll_update",e=>{const{poll:t,results:s}=e.detail;for(const e of h)if(e.id==t.id){const i=e.element;i.isClosed=!!t.pFlags.closed,i.performResults(s,t.chosenIndexes)}}),o.$rootScope.$on("peer_changed",()=>{m&&p(m,g,b)});const p=(e,t,s)=>{e.classList.remove("active"),clearTimeout(s),setTimeout(()=>{t(),e.remove(),m==e&&g==t&&b==s&&(m=g=null,b=0)},200)};let m,g,b;class v extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isClosed=!1,this.isQuiz=!1,this.isRetracted=!1,this.isPublic=!1,this.isMultiple=!1,this.chosenIndexes=[],this.chosingIndexes=[],this.sentVote=!1}connectedCallback(){u||(u=document.getElementById("poll-line").getTotalLength()),this.pollID=this.getAttribute("poll-id"),this.mid=+this.getAttribute("message-id");const{poll:e,results:t}=n.default.getPoll(this.pollID);h.push({id:this.pollID,element:this});let s="";if(e.pFlags)if(this.isPublic=!!e.pFlags.public_voters,this.isQuiz=!!e.pFlags.quiz,this.isClosed=!!e.pFlags.closed,this.isMultiple=!!e.pFlags.multiple_choice,this.isClosed)s="Final results",this.classList.add("is-closed");else{let e=this.isQuiz?"Quiz":"Poll";s=(this.isPublic?"":"Anonymous ")+e}const i=this.isMultiple?'':"",f=e.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n ${i}\n
\n
\n
${a.RichTextProcessor.wrapEmojiText(e.text)}
\n \n \n
\n `).join("");if(this.innerHTML=`\n
${e.rQuestion}
\n
\n
${s}
\n
\n
\n ${f}\n \n `,this.descDiv=this.firstElementChild.nextElementSibling,this.typeDiv=this.descDiv.firstElementChild,this.avatarsDiv=this.descDiv.lastElementChild,this.isQuiz&&(this.classList.add("is-quiz"),e.close_period&&e.close_date)){const t=document.createElement("div");t.classList.add("poll-time"),this.descDiv.append(t);const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("poll-quiz-timer"),this.quizTimer=s;const i=2,a=7,o=2*Math.PI*a,r=document.createElementNS("http://www.w3.org/2000/svg","circle");r.classList.add("poll-quiz-timer-circle"),r.setAttributeNS(null,"cx","16"),r.setAttributeNS(null,"cy","16"),r.setAttributeNS(null,"r",""+a),r.setAttributeNS(null,"stroke-width",""+i),s.append(r),this.descDiv.append(s);const d=1e3*e.close_period,f=1e3*(e.close_date-l.default.serverTimeOffset);this.quizInterval=setInterval(()=>{const e=Date.now(),s=(f-e)/d,i=(f-e)/1e3+1|0;t.innerHTML=String(i).toHHMMSS(),i<=5&&(t.style.color="#ee545c",r.style.stroke="#ee545c"),r.style.strokeDashoffset=o+s*o,r.style.strokeDasharray=`${o} ${o}`,e>=f&&(clearInterval(this.quizInterval),t.innerHTML="",r.style.strokeDashoffset=o,this.quizInterval=0,setTimeout(()=>{n.default.getResults(this.mid)},3e3))},1e3)}this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));const p=this.lastElementChild;this.viewResults=p.firstElementChild,this.votersCountDiv=p.lastElementChild,this.viewResults.addEventListener("click",e=>{o.cancelEvent(e),d.default.pollResultsTab.init(this.pollID,this.mid)}),c.ripple(this.viewResults),this.isMultiple&&(this.sendVoteBtn=document.createElement("div"),this.sendVoteBtn.classList.add("poll-footer-button","poll-send-vote"),this.sendVoteBtn.innerText="Vote",c.ripple(this.sendVoteBtn),e.chosenIndexes.length||this.votersCountDiv.classList.add("hide"),this.sendVoteBtn.addEventListener("click",()=>{this.chosingIndexes.length&&this.sendVotes(this.chosingIndexes).then(()=>{this.chosingIndexes.length=0,this.answerDivs.forEach(e=>{e.classList.remove("is-chosing")})})}),p.append(this.sendVoteBtn));const m=this.getBoundingClientRect().width;this.maxLength=m+9+this.maxOffset+-13.7,e.chosenIndexes.length||this.isClosed?this.performResults(t,e.chosenIndexes):this.isClosed||(this.setVotersCount(t),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){h.findAndSplice(e=>e.element==this)}static get observedAttributes(){return["poll-id","message-id"]}attributeChangedCallback(e,t,s){"poll-id"==e?this.pollID=s:"message-id"==e&&(this.mid=+s)}adoptedCallback(){}initQuizHint(e){if(e.solution&&e.solution_entities){const t=document.createElement("div");if(t.classList.add("tgico-tip","poll-hint"),this.descDiv.append(t),t.addEventListener("click",s=>{o.cancelEvent(s),t.classList.add("active"),((e,t,s)=>{m&&p(m,g,b);const i=document.createElement("div");i.classList.add("quiz-hint");const n=document.createElement("div");n.classList.add("container","tgico");const o=document.createElement("div");o.classList.add("text"),n.append(o),i.append(n),o.innerHTML=a.RichTextProcessor.wrapRichText(e,{entities:t}),f.default.bubblesContainer.append(i),i.offsetLeft,i.classList.add("active"),m=i,g=s,b=setTimeout(()=>{p(i,s,b)},r.touchSupport?5e3:7e3)})(e.solution,e.solution_entities,()=>{t.classList.remove("active")})}),this.sentVote){const s=e.results.find(e=>e.pFlags.correct);s&&!s.pFlags.chosen&&t.click()}}}clickHandler(e){const t=o.findUpClassName(e.target,"poll-answer");if(!t)return;const s=+t.dataset.index;if(this.isMultiple){t.classList.toggle("is-chosing");const e=this.chosingIndexes.indexOf(s);-1!==e?this.chosingIndexes.splice(e,1):this.chosingIndexes.push(s)}else this.sendVotes([s])}sendVotes(e){if(this.sendVotePromise)return this.sendVotePromise;const t=this.answerDivs.filter((t,s)=>e.includes(s));return t.forEach(e=>{e.classList.add("is-voting")}),this.classList.add("disable-hover"),this.sentVote=!0,this.sendVotePromise=n.default.sendVote(this.mid,e).then(()=>{t.forEach(e=>{e.classList.remove("is-voting")}),this.classList.remove("disable-hover")}).catch(()=>{this.sentVote=!1}).finally(()=>{this.sendVotePromise=null})}performResults(e,t){var s,i;if(this.isQuiz&&((null===(s=e.results)||void 0===s?void 0:s.length)||this.isClosed)){this.answerDivs.forEach((t,s)=>{t.classList.toggle("is-correct",!!e.results[s].pFlags.correct)}),this.initQuizHint&&(this.initQuizHint(e),this.initQuizHint=null),this.quizInterval&&(clearInterval(this.quizInterval),this.quizInterval=0),(null===(i=this.quizTimer)||void 0===i?void 0:i.parentElement)&&this.quizTimer.remove();const t=this.descDiv.querySelector(".poll-time");t&&t.remove()}if(this.isClosed&&(this.classList.add("is-closed"),this.typeDiv.innerText="Final results"),(this.chosenIndexes.length!=t.length||this.isClosed)&&(this.isRetracted=this.chosenIndexes.length&&!t.length,this.chosenIndexes=t.slice(),this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),this.chosenIndexes.length||this.isRetracted||this.isClosed){const t=e.results.map(t=>e.total_voters?t.voters/e.total_voters*100:0);this.setResults(this.isRetracted?this.percents:t,this.chosenIndexes),this.percents=t,this.isRetracted=!1}if(this.setVotersCount(e),this.isPublic){this.isMultiple||(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length));let t="";e.recent_voters.forEach((e,s)=>{t+=``}),this.avatarsDiv.innerHTML=t}this.isMultiple&&(this.sendVoteBtn.classList.toggle("hide",!!this.chosenIndexes.length),this.chosenIndexes.length?this.isPublic?(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length)):this.votersCountDiv.classList.toggle("hide",!this.chosenIndexes.length):(this.votersCountDiv.classList.add("hide"),this.viewResults.classList.add("hide")))}setResults(e,s){this.svgLines.forEach(e=>e.style.display=""),this.answerDivs.forEach((e,t)=>{e.classList.toggle("is-chosen",s.includes(t))});const i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),e=e.slice(),t.roundPercents(e),this.isRetracted)for(let t=9,s=0;t>=0;--t,++s)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*t);this.numberDivs[s].innerText=i+"%"})},34*s);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,s)=>{const i=Math.round(e/10*(t+1));this.numberDivs[s].innerText=i+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){const t=e.total_voters||0,s=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+s:"No "+s)}setLineProgress(e,t){const s=this.svgLines[e];-1==t?(s.style.strokeDasharray="",s.style.strokeDashoffset=""):(s.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",s.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=v,customElements.define("poll-element",v)},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readBlobAsText=void 0,t.readBlobAsText=e=>new Promise(t=>{const s=new FileReader;s.addEventListener("loadend",e=>{t(e.srcElement.result)}),s.readAsText(e)})},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(26);t.default=class{constructor(e,t){this.sidebarEl=e,this.tabs=t,this.historyTabIDs=[],this._selectTab=i.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,250),this._selectTab(0);let s=()=>{let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",s)})}selectTab(e){if(this.historyTabIDs[this.historyTabIDs.length-1]==e)return;const t=this.tabs[e];t&&(t.onOpen&&t.onOpen(),t.onOpenAfterTimeout&&setTimeout(()=>{t.onOpenAfterTimeout()},250)),this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&(t.onClose&&t.onClose(),t.onCloseAfterTimeout&&setTimeout(()=>{t.onCloseAfterTimeout()},250))}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(43)),o=s(3),r=i(s(6)),d=s(20),f=i(s(23)),l=s(4),c=i(s(18)),u=s(0),h=i(s(12));class p extends n.PopupElement{constructor(e){super("popup-stickers",null,{closable:!0,body:!0}),this.stickerSetInput=e,this.onFooterClick=()=>{this.stickersFooter.setAttribute("disabled","true"),a.default.toggleStickerSet(this.set).then(()=>{this.closeBtn.click()}).catch(()=>{this.stickersFooter.removeAttribute("disabled")})},this.onStickersClick=e=>{const t=u.findUpClassName(e.target,"sticker-set-sticker");if(!t)return;const s=t.dataset.docID;h.default.chatInputC.sendMessageWithDocument(s)?this.closeBtn.click():console.warn("got no doc by id:",s)},this.h6=document.createElement("h6"),this.h6.innerText="Loading...",this.header.append(this.h6),this.onClose=()=>{c.default.checkAnimations(!1),this.stickersFooter.removeEventListener("click",this.onFooterClick),this.stickersDiv.removeEventListener("click",this.onStickersClick),this.element.removeEventListener("click",t)},this.onCloseAfterTimeout=()=>{c.default.checkAnimations(void 0,"STICKERS-POPUP")};const t=e=>{u.findUpClassName(e.target,"popup-container")||this.closeBtn.click()};this.element.addEventListener("click",t);const s=document.createElement("div");s.classList.add("sticker-set"),this.stickersDiv=document.createElement("div"),this.stickersDiv.classList.add("sticker-set-stickers"),l.putPreloader(this.stickersDiv),this.stickersFooter=document.createElement("div"),this.stickersFooter.classList.add("sticker-set-footer"),s.append(this.stickersDiv),this.stickersFooter.innerText="Loading...",this.body.append(s);new r.default(this.body,"y",void 0);this.body.append(this.stickersFooter),this.loadStickerSet()}loadStickerSet(){return a.default.getStickerSet(this.stickerSetInput).then(e=>{this.set=e.set,c.default.checkAnimations(!0),this.h6.innerHTML=o.RichTextProcessor.wrapEmojiText(e.set.title),e.set.installed_date?this.stickersFooter.classList.remove("add"):this.stickersFooter.classList.add("add"),this.stickersFooter.innerHTML=e.set.hasOwnProperty("installed_date")?'
Remove stickers
':``,this.stickersFooter.addEventListener("click",this.onFooterClick),e.documents.length&&this.stickersDiv.addEventListener("click",this.onStickersClick);const t=new f.default;this.stickersDiv.innerHTML="";for(let s of e.documents){const e=document.createElement("div");e.classList.add("sticker-set-sticker"),d.wrapSticker({doc:s,div:e,lazyLoadQueue:t,group:"STICKERS-POPUP",play:!0,loop:!0,width:80,height:80}),this.stickersDiv.append(e)}})}}t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AppInlineBotsManager=void 0;const n=i(s(7)),a=i(s(2)),o=i(s(8)),r=i(s(33)),d=s(3),f=s(44),l=i(s(5)),c=i(s(13)),u=i(s(11));class h{constructor(){this.inlineResults={}}getInlineResults(e,t,s="",i="",n){return a.default.invokeApi("messages.getInlineBotResults",{flags:0|(n?1:0),bot:l.default.getUserInput(t),peer:o.default.getInputPeerByID(e),query:s,geo_point:n&&{_:"inputGeoPoint",lat:n.lat,long:n.long},offset:i},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{const s=e.query_id;return e.switch_pm&&(e.switch_pm.rText=d.RichTextProcessor.wrapRichText(e.switch_pm.text,{noLinebreaks:!0,noLinks:!0})),e.results.forEach(e=>{const i=s+"_"+e.id;e.qID=i,e.botID=t,e.rTitle=d.RichTextProcessor.wrapRichText(e.title,{noLinebreaks:!0,noLinks:!0}),e.rDescription=d.RichTextProcessor.wrapRichText(e.description,{noLinebreaks:!0,noLinks:!0}),e.initials=(e.url||e.title||e.type||"").substr(0,1),"botInlineMediaResult"==e._&&(e.document&&(e.document=u.default.saveDoc(e.document)),e.photo&&(e.photo=c.default.savePhoto(e.photo))),this.inlineResults[i]=e}),e})}callbackButtonClick(e,t){let s=n.default.getMessage(e),i=n.default.getMessagePeer(s);return a.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:o.default.getInputPeerByID(i),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&f.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0}))})}}t.AppInlineBotsManager=h;const p=new h;t.default=p},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(11)),o=s(20),r=s(4);t.default=class{constructor(e){this.element=e}add(e,t,s){var i;let d=e.w,f=e.h;f<100&&(d*=100/f,f=100);let l=Math.min(300,400,d),{w:c,h:u}=n.calcImageInBox(d,f,l,100),h=document.createElement("div");h.classList.add("gif","fade-in-transition"),h.style.width=c+"px",h.style.opacity="0",h.dataset.docID=e.id,this.element.append(h);const p=a.default.getThumb(e,!1);let m;!!p&&(m=new Image,p.thumb.url||p.promise.then(()=>{m.src=p.thumb.url}));let g=!1;const b=()=>{g=!1,o.wrapVideo({doc:e,container:h,lazyLoadQueue:s,group:t,noInfo:!0});h.querySelector("video").addEventListener("canplay",()=>{h.style.opacity="",g?(m&&m.classList.remove("hide"),h.lastElementChild!=m&&h.lastElementChild.remove()):m&&m.classList.add("hide")},{once:!0})},v=()=>{m&&(h.append(m),h.style.opacity=""),s?b():(h.addEventListener("mouseover",b,{once:!0}),h.addEventListener("mouseout",e=>{const t=e.toElement;if(n.findUpClassName(t,"gif")==h)return;g=!0;const s=()=>{h.lastElementChild!=m&&h.lastElementChild.remove(),h.addEventListener("mouseover",b,{once:!0})};m&&m.classList.remove("hide"),m?window.requestAnimationFrame(()=>window.requestAnimationFrame(s)):s()}))};(null===(i=null==p?void 0:p.thumb)||void 0===i?void 0:i.url)?r.renderImageFromUrl(m,p.thumb.url,v):v()}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,s=t.target.parentElement,i=t.rootBounds;e.bottom=i.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let s=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,s)},{root:this.container})}addSentinel(e,t){const s=document.createElement("div");return s.classList.add("sticky_sentinel",t),e.appendChild(s)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(31)),a=s(4),o=i(s(17)),r=i(s(2)),d=i(s(25)),f=s(1),l=i(s(103)),c=s(0);const u=new d.default("page-password",!0,()=>{let e,t=0,s=!1;const i=u.pageEl.querySelector("button"),d=document.getElementById("password"),h=d.nextElementSibling,p=u.pageEl.querySelector(".toggle-visible");let m=()=>l.default.getState().then(e=>{var t;v=e,h.innerText=null!==(t=v.hint)&&void 0!==t?t:"Password"}),g=e=>{i.removeAttribute("disabled"),e.type,i.innerText=e.type,m()};const b=function(i){c.cancelEvent(i),s=!s,this.classList.toggle("tgico-eye2",s),s?(d.setAttribute("type","text"),e.setDirection(1),e.curFrame=0,t=16,e.play()):(d.setAttribute("type","password"),e.setDirection(-1),e.curFrame=16,t=0,e.play())};let v;p.addEventListener("click",b),p.addEventListener("touchend",b),i.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let s=d.value;this.textContent="PLEASE WAIT...",a.putPreloader(this),l.default.check(s,v).then(t=>{switch(t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),n.default.mount(),e&&e.remove();break;default:i.removeAttribute("disabled"),i.innerText=t._}}).catch(g)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return i.click()}));const y=f.mediaSizes.isMobile?100:166;return Promise.all([o.default.loadAnimationFromURL({container:u.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,width:y,height:y,noCache:!0},"assets/img/TwoFactorSetupMonkeyPeek.tgs").then(s=>{e=s,e.addListener("enterFrame",s=>{(1==e.direction&&s>=t||-1==e.direction&&s<=t)&&(e.setSpeed(1),e.pause())}),t=49}),m()])});t.default=u},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),s(67),s(68),s(69),document.addEventListener("DOMContentLoaded",()=>o(void 0,void 0,void 0,(function*(){const e=()=>{const e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh",e+"px")};window.addEventListener("resize",e),e();const[t,i,n,o]=yield Promise.all([Promise.resolve().then(()=>a(s(1))),Promise.resolve().then(()=>a(s(2))),Promise.resolve().then(()=>a(s(24))),Promise.resolve().then(()=>a(s(16)))]),r=yield o.default.get("user_auth");t.isApple?(document.documentElement.classList.add("is-mac","emoji-supported"),t.isAppleMobile&&document.documentElement.classList.add("is-ios")):t.isAndroid&&document.documentElement.classList.add("is-android"),t.touchSupport||document.documentElement.classList.add("no-touch");const d=r.id||0;d?(yield Promise.resolve().then(()=>a(s(31)))).default.mount():(yield Promise.resolve().then(()=>a(s(48)))).default.mount();const f=yield Promise.resolve().then(()=>a(s(0)));f.$rootScope.myID=d;const l=f.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{const t=l(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});const c=(yield Promise.resolve().then(()=>a(s(19)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>c(e))})))},function(e,t,s){},function(e,t,s){},function(e,t,s){},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notifyAll=t.notifySomeone=t.isWorker=t.isServiceWorker=t.isWebWorker=void 0,t.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t.isServiceWorker="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,t.isWorker=t.isWebWorker||t.isServiceWorker;const i=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(s=>{s.length&&s.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},n=(...e)=>{self.postMessage(...e)},a=()=>{};t.notifySomeone=t.isServiceWorker?i.bind(null,!1):t.isWebWorker?n:a,t.notifyAll=t.isServiceWorker?i.bind(null,!0):t.isWebWorker?n:a},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(21);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,s){return this.performTaskWorker("pbkdf2",e,t,s)}aesEncrypt(e,t,s){return this.performTaskWorker("aes-encrypt",i.convertToArrayBuffer(e),i.convertToArrayBuffer(t),i.convertToArrayBuffer(s))}aesDecrypt(e,t,s){return this.performTaskWorker("aes-decrypt",e,t,s).then(e=>i.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=i.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,s){return this.performTaskWorker("mod-pow",e,t,s)}gzipUncompress(e,t){return this.performTaskWorker("gzipUncompress",e,t)}computeSRP(e,t){return this.performTaskWorker("computeSRP",e,t)}}},function(e,t,s){e.exports=function(){return new Worker(s.p+"b728a346dae6ae3292c0.worker.js")}},function(e,t,s){e.exports=function(){return new Worker(s.p+"9ec5bf231b8216403a20.worker.js")}},function(e,t,s){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var s,i=e.HTMLElement||e.Element,n=468,a={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:i.prototype.scroll||d,scrollIntoView:i.prototype.scrollIntoView},o=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(s=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(s)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):a.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?a.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var e=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):a.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var s=function(e){for(;e!==t.body&&!1===(i=l(s=e,"Y")&&c(s,"Y"),n=l(s,"X")&&c(s,"X"),i||n);)e=e.parentNode||e.host;var s,i,n;return e}(this),i=s.getBoundingClientRect(),n=this.getBoundingClientRect();s!==t.body?(h.call(this,s,s.scrollLeft+n.left-i.left,s.scrollTop+n.top-i.top),"fixed"!==e.getComputedStyle(s).position&&e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):e.scrollBy({left:n.left,top:n.top,behavior:"smooth"})}else a.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function d(e,t){this.scrollLeft=e,this.scrollTop=t}function f(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function l(e,t){return"Y"===t?e.clientHeight+r1?1:d,s=.5*(1-Math.cos(Math.PI*r)),i=t.startX+(t.x-t.startX)*s,a=t.startY+(t.y-t.startY)*s,t.method.call(t.scrollable,i,a),i===t.x&&a===t.y||e.requestAnimationFrame(u.bind(e,t))}function h(s,i,n){var r,f,l,c,h=o();s===t.body?(r=e,f=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,c=a.scroll):(r=s,f=s.scrollLeft,l=s.scrollTop,c=d),u({scrollable:r,method:c,startTime:h,startX:f,startY:l,x:i,y:n})}}}}()},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="(?:👨🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👨🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👨🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👨🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👨🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏻‍🤝‍👨\ud83c[\udffc-\udfff]|👩🏻‍🤝‍👩\ud83c[\udffc-\udfff]|👩🏼‍🤝‍👨\ud83c[\udffb\udffd-\udfff]|👩🏼‍🤝‍👩\ud83c[\udffb\udffd-\udfff]|👩🏽‍🤝‍👨\ud83c[\udffb\udffc\udffe\udfff]|👩🏽‍🤝‍👩\ud83c[\udffb\udffc\udffe\udfff]|👩🏾‍🤝‍👨\ud83c[\udffb-\udffd\udfff]|👩🏾‍🤝‍👩\ud83c[\udffb-\udffd\udfff]|👩🏿‍🤝‍👨\ud83c[\udffb-\udffe]|👩🏿‍🤝‍👩\ud83c[\udffb-\udffe]|🧑🏻‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏼‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏽‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏾‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑🏿‍🤝‍🧑\ud83c[\udffb-\udfff]|🧑‍🤝‍🧑|👫\ud83c[\udffb-\udfff]|👬\ud83c[\udffb-\udfff]|👭\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|🧑)(?:\ud83c[\udffb-\udfff])?‍(?:⚕️|⚖️|✈️|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|⛹)((?:\ud83c[\udffb-\udfff]|️)‍[♀♂]️)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?‍[♀♂]️|(?:👨‍❤️‍💋‍👨|👨‍👨‍👦‍👦|👨‍👨‍👧‍\ud83d[\udc66\udc67]|👨‍👩‍👦‍👦|👨‍👩‍👧‍\ud83d[\udc66\udc67]|👩‍❤️‍💋‍\ud83d[\udc68\udc69]|👩‍👩‍👦‍👦|👩‍👩‍👧‍\ud83d[\udc66\udc67]|👨‍❤️‍👨|👨‍👦‍👦|👨‍👧‍\ud83d[\udc66\udc67]|👨‍👨‍\ud83d[\udc66\udc67]|👨‍👩‍\ud83d[\udc66\udc67]|👩‍❤️‍\ud83d[\udc68\udc69]|👩‍👦‍👦|👩‍👧‍\ud83d[\udc66\udc67]|👩‍👩‍\ud83d[\udc66\udc67]|🏳️‍⚧️|🏳️‍🌈|🏴‍☠️|🐕‍🦺|🐻‍❄️|👁‍🗨|👨‍\ud83d[\udc66\udc67]|👩‍\ud83d[\udc66\udc67]|👯‍♀️|👯‍♂️|🤼‍♀️|🤼‍♂️|🧞‍♀️|🧞‍♂️|🧟‍♀️|🧟‍♂️|🐈‍⬛)|[#*0-9]️?⃣|(?:[©®™♟]️)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[‼⁉ℹ↔-↙↩↪⌚⌛⌨⏏⏭-⏯⏱⏲⏸-⏺Ⓜ▪▫▶◀◻-◾☀-☄☎☑☔☕☘☠☢☣☦☪☮☯☸-☺♀♂♈-♓♠♣♥♦♨♻♿⚒-⚗⚙⚛⚜⚠⚡⚧⚪⚫⚰⚱⚽⚾⛄⛅⛈⛏⛑⛓⛔⛩⛪⛰-⛵⛸⛺⛽✂✈✉✏✒✔✖✝✡✳✴❄❇❗❣❤➡⤴⤵⬅-⬇⬛⬜⭐⭕〰〽㊗㊙])(?:️|(?!︎))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[☝⛷⛹✌✍])(?:️|(?!︎))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[✊✋]))(?:\ud83c[\udffb-\udfff])?|(?:🏴󠁧󠁢󠁥󠁮󠁧󠁿|🏴󠁧󠁢󠁳󠁣󠁴󠁿|🏴󠁧󠁢󠁷󠁬󠁳󠁿|🇦\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|🇧\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|🇨\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|🇩\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|🇪\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|🇫\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|🇬\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|🇭\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|🇮\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|🇯\ud83c[\uddea\uddf2\uddf4\uddf5]|🇰\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|🇱\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|🇲\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|🇳\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|🇴🇲|🇵\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|🇶🇦|🇷\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|🇸\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|🇹\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|🇺\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|🇻\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|🇼\ud83c[\uddeb\uddf8]|🇽🇰|🇾\ud83c[\uddea\uddf9]|🇿\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[⏩-⏬⏰⏳♾⛎✅✨❌❎❓-❕➕-➗➰➿])|️"},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toCodePoints=t.encodeEmoji=void 0,t.encodeEmoji=function(e){return o(a(e)).join("-")};const i=/\uFE0F/g,n=String.fromCharCode(8205),a=e=>e.indexOf(n)<0?e.replace(i,""):e;function o(e){const t=[];let s=0,i=0,n=0;for(;n55296&&s<=56319?i=s:t.push(s.toString(16));return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t}t.toCodePoints=o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(48)),a=i(s(78)),o=i(s(31)),r=i(s(65)),d=i(s(17)),f=i(s(2)),l=i(s(25)),c=(s(30),s(1));let u=null;let h=null,p=null;const m=new l.default("page-authCode",!0,()=>{let e,t,s=0,i=0;const l=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return n.default.mount()}));let b=()=>{setTimeout(()=>{e&&e.remove(),t&&t.remove()},300)};h.addEventListener("input",(function(n){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>l&&(this.value=this.value.slice(0,l));let d,c=this.value.length;if(c==l)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};f.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),o.default.mount(),b();break;case"auth.authorizationSignUpRequired":a.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),b();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":e.handled=!0,b(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(c==i)return;if(i=c,!e)return;c?(d=Math.round(Math.min(45,c)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):d=0;let m=s>d?-1:1;e.setDirection(m),0!=s&&0==d&&e.setSpeed(7),s=d,e.play()}));let v=m.pageEl.querySelector(".auth-image");const y=c.mediaSizes.isMobile?100:166;return Promise.all([d.default.loadAnimationFromURL({container:v,loop:!0,autoplay:!0,width:y,height:y},"assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>{t=e}),d.default.loadAnimationFromURL({container:v,loop:!1,autoplay:!1,width:y,height:y},"assets/img/TwoFactorSetupMonkeyTracking.tgs").then(i=>{e=i,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",i=>{(1==e.direction&&i>=s||-1==e.direction&&i<=s)&&(e.setSpeed(1),e.pause()),0==i&&0==s&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=o(s(31)),f=o(s(2)),l=o(s(25)),c=o(s(45));let u=null;const h=new l.default("page-signUp",!0,()=>Promise.resolve().then(()=>a(s(27))).then(e=>{const t=h.pageEl,s=t.querySelector("#canvas-avatar"),i=e.default;let n;t.querySelector(".auth-image").addEventListener("click",()=>{c.default.open(s,e=>{n=e})});const a=t.getElementsByClassName("fullName")[0];let o=function(e){let t=l.value||"",s=p.value||"",i=t||s?(t+" "+s).trim():"Your Name";a.innerText!=i&&(a.innerText=i),this.classList.remove("error")};const l=document.getElementById("name");l.addEventListener("input",o);const p=document.getElementById("lastName");p.addEventListener("input",o);document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!l.value.length)return l.classList.add("error"),!1;let t=l.value,s=p.value,a={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,first_name:t,last_name:s};this.textContent="PLEASE WAIT...",r.putPreloader(this),f.default.invokeApi("auth.signUp",a).then(e=>{switch(e._){case"auth.authorization":f.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!n)return e();n().then(s=>{i.uploadProfilePhoto(s).then(e,t)},t)}).then(()=>{d.default.mount()},()=>{d.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))}),e=>{u=e});t.default=h},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(0),a=i(s(17)),o=s(26);const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=n.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&a.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};t.default=r},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.telegramMeWebService=t.TelegramMeWebService=void 0;const n=i(s(16)),a=s(30);class o{constructor(){this.disabled=a.Modes.test||-1==a.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;n.default.get("tgme_sync").then(t=>{var s=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>s)return!1;n.default.set({tgme_sync:{canRedirect:e,ts:s}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=o,t.telegramMeWebService=new o},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeWaveform=void 0;const n=i(s(11)),a=s(3),o=s(20),r=i(s(35)),d=s(49),f=i(s(37)),l=s(1);function c(e){e instanceof Uint8Array||(e=new Uint8Array(e));var t=8*e.length/5|0;if(!t)return new Uint8Array([]);for(var s=new DataView(e.buffer),i=new Uint8Array(t),n=0;n>o&31}return i}t.decodeWaveform=c;class u extends HTMLElement{constructor(){super(),this.attachedHandlers={}}connectedCallback(){this.classList.add("audio");const e=+this.getAttribute("message-id"),t=this.getAttribute("doc-id"),s=n.default.getDoc(t),i=+s.id<0,u=String(0|s.duration).toHHMMSS(!0);this.innerHTML='
';const h=document.createElement("div");h.classList.add("audio-download"),i||"audio"==s.type||(h.innerHTML='
'),("audio"!=s.type||i)&&this.append(h);const p="voice"==s.type?function(e,t){t.classList.add("is-voice");const s=l.mediaSizes.isMobile?2:1,i=l.mediaSizes.isMobile?3:2,n=l.mediaSizes.isMobile?16:23,a=l.mediaSizes.isMobile?152:190,o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add("audio-waveform"),o.setAttributeNS(null,"width",""+a),o.setAttributeNS(null,"height",""+n),o.setAttributeNS(null,"viewBox",`0 0 ${a} ${n}`);const r=document.createElement("div");r.classList.add("audio-time"),t.append(o,r);let d=e.attributes[0].waveform||[];d=c(d.slice());const f=Math.max(...d),u=d.length?d.length:100,h=Math.min(a/(2+s)|0,u);let p=0;const m=n-i;let g="";for(let e=0,t=0,a=0;e=u){a=a+h-u,a<(h+1)/2&&p\n `,t+=2+s,p=a<(h+1)/2?0:o}else p{let e=0,s=0,i=t.audio;(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")));let n=()=>{clearInterval(e),e=setInterval(()=>{s>o.childElementCount||isNaN(i.duration)||i.paused?clearInterval(e):(s=Math.round(i.currentTime/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active")))},20)};i.paused||n(),t.addAudioListener("playing",()=>{n()}),t.addAudioListener("pause",()=>{clearInterval(e)}),t.addAudioListener("ended",()=>{clearInterval(e),b.forEach(e=>e.classList.remove("active"))});let r=!1,d=!1;function f(e){const t=e.offsetX/a*i.duration;s=Math.round(t/i.duration*h),b.slice(0,s+1).forEach(e=>e.classList.add("active"));for(let e=s+1;e{r&&(i.play(),r=!1),d=!1}),v.addEventListener("mousemove",e=>{d=!0,r&&f(e)}),v.addEventListener("mousedown",e=>{e.preventDefault(),i.paused||(i.pause(),f(e),r=!0)}),v.addEventListener("mouseup",e=>{d&&r&&(i.play(),r=!1)}),v.addEventListener("click",e=>{i.paused||f(e)}),()=>{clearInterval(e),v.remove(),v=null,i=null}}}(s,this):function(e,t){const s=!!+t.getAttribute("with-time"),i=e.audioTitle||e.file_name;let n=e.audioPerformer?a.RichTextProcessor.wrapPlainText(e.audioPerformer):"";s?n+=(n?" · ":"")+o.formatDate(e.date):n||(n="Unknown Artist");const r=`\n
\n
${i}
\n
${n}
\n
\n
`;return t.insertAdjacentHTML("beforeend",r),()=>{const s=t.querySelector(".audio-subtitle");let i=!1,a=new d.MediaProgressLine(t.audio,e.supportsStreaming);t.addAudioListener("ended",()=>{t.classList.remove("audio-show-progress"),s.innerHTML=n,i=!1});const o=()=>{i||(t.classList.add("audio-show-progress"),i=!0,s.innerHTML="",a&&s.append(a.container))};return t.addAudioListener("playing",o),(!t.audio.paused||t.audio.currentTime>0)&&o(),()=>{a.removeListeners(),a.container.remove(),a=null}}}(s,this),m=this.querySelector(".audio-time");m.innerHTML=u;const g=(t=!0)=>{const i=this.audio=f.default.addMedia(s,e,t);this.onTypeDisconnect=p();const n=this.querySelector(".audio-toggle"),a=()=>{m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u,i.paused||(n.classList.remove("tgico-largeplay"),n.classList.add("tgico-largepause"))};(!i.paused||i.currentTime>0&&i.currentTime!=i.duration)&&(a(),m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u),n.addEventListener("click",()=>{i.paused?i.play().catch(()=>{}):i.pause()}),this.addAudioListener("ended",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("timeupdate",()=>{f.default.isSafariBuffering(i)||(m.innerText=String(0|i.currentTime).toHHMMSS(!0)+" / "+u)}),this.addAudioListener("pause",()=>{n.classList.add("tgico-largeplay"),n.classList.remove("tgico-largepause")}),this.addAudioListener("playing",a)};if(i)this.preloader.attach(h,!1);else{let t=this.preloader;if("voice"==s.type){let e;const i=()=>{e?e.cancel():(t||(t=new r.default(null,!0)),e=n.default.downloadDocNew(s.id),t.attach(h,!0,e),e.then(()=>{h.remove(),this.removeEventListener("click",i),g()}).catch(t=>{"AbortError"===t.name&&(e=null)}).finally(()=>{h.classList.remove("downloading")}),h.classList.add("downloading"))};this.addEventListener("click",i),this.click()}else{g(!1);const s=()=>{f.default.resolveWaitingForLoadMedia(e),f.default.willBePlayed(this.audio),t||(t=new r.default(null,!1)),l.isSafari&&(this.audio.autoplay=!0,this.audio.play().catch(()=>{})),t.attach(h),this.append(h),new Promise(e=>{this.audio.readyState>=2?e():this.addAudioListener("canplay",e)}).then(()=>{h.remove(),f.default.willBePlayedMedia==this.audio&&(this.audio.play(),f.default.willBePlayedMedia=null)})};this.addEventListener("click",s,{once:!0})}}}addAudioListener(e,t){this.attachedHandlers[e]||(this.attachedHandlers[e]=[]),this.attachedHandlers[e].push(t),this.audio.addEventListener(e,t)}disconnectedCallback(){this.onTypeDisconnect&&(this.onTypeDisconnect(),this.onTypeDisconnect=null);for(let e in this.attachedHandlers){for(let t of this.attachedHandlers[e])this.audio.removeEventListener(e,t);delete this.attachedHandlers[e]}this.preloader=null}static get observedAttributes(){return[]}attributeChangedCallback(e,t,s){}adoptedCallback(){}}t.default=u,customElements.define("audio-element",u)},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(29)),d=o(s(6)),f=o(s(23)),l=s(0),c=o(s(12)),u=o(s(43)),h=o(s(61)),p=o(s(18)),m=s(3),g=s(20),b=a(s(22));t.default=class{constructor(){this.container=document.getElementById("stickers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.setsDiv=this.contentDiv.firstElementChild,this.scrollable=new d.default(this.contentDiv,"y","STICKERS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.setsDiv),this.lazyLoadQueue=new f.default,this.searchInput=new r.default("Search Stickers",e=>{this.search(e)}),this.backBtn.parentElement.append(this.searchInput.container),this.setsDiv.addEventListener("click",e=>{const t=l.findUpClassName(e.target,"sticker-set-sticker");if(t){const e=t.dataset.docID;return void c.default.chatInputC.sendMessageWithDocument(e)}const s=l.findUpClassName(e.target,"sticker-set");if(!s)return;const i=s.dataset.stickerSet,n=s.dataset.stickerSet,a=l.findUpClassName(e.target,"sticker-set-button");a?(e.preventDefault(),e.cancelBubble=!0,a.setAttribute("disabled","true"),u.default.getStickerSet({id:i,access_hash:n}).then(e=>{u.default.toggleStickerSet(e.set).then(t=>{t&&(a.innerText=e.set.installed_date?"Added":"Add",a.classList.toggle("gray",!!e.set.installed_date))}).finally(()=>{a.removeAttribute("disabled")})})):u.default.getStickerSet({id:i,access_hash:n}).then(e=>{new h.default(e.set).show()})})}onCloseAfterTimeout(){this.setsDiv.innerHTML="",this.searchInput.value="",p.default.checkAnimations(void 0,"STICKERS-SEARCH")}renderSet(e){const t=document.createElement("div");t.classList.add("sticker-set");const s=document.createElement("div");s.classList.add("sticker-set-header");const i=document.createElement("div");i.classList.add("sticker-set-details"),i.innerHTML=`\n
${m.RichTextProcessor.wrapEmojiText(e.title)}
\n
${e.count} stickers
\n `;const n=document.createElement("button");n.classList.add("btn-primary","sticker-set-button"),n.innerText=e.installed_date?"Added":"Add",e.installed_date&&n.classList.add("gray"),s.append(i,n);const a=document.createElement("div");a.classList.add("sticker-set-stickers");const o=Math.min(5,e.count);for(let e=0;e{for(let t=0;t{this.renderFeatured()})}renderFeatured(){return u.default.getFeaturedStickers().then(e=>{this.searchInput.value||(e=this.filterRendered("",e)).forEach(e=>{this.renderSet(e.set)})})}filterRendered(e,t){t=t.slice();return Array.from(this.setsDiv.children).forEachReverse(s=>{const i=s.dataset.stickerSet,n=t.findIndex(e=>e.set.id==i);-1!==n?t.splice(n,1):e&&s.dataset.title.toLowerCase().includes(e.toLowerCase())||s.remove()}),p.default.checkAnimations(void 0,"STICKERS-SEARCH"),t}search(e){return e?u.default.searchStickerSets(e,!1).then(t=>{this.searchInput.value==e&&(t=this.filterRendered(e,t)).forEach(e=>{this.renderSet(e.set)})}):this.renderFeatured()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=a(s(22)),f=o(s(39)),l=s(58),c=s(3),u=o(s(15)),h=s(19);t.default=class{constructor(){this.container=document.getElementById("poll-results-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.resultsDiv=this.contentDiv.firstElementChild,this.scrollable=new r.default(this.contentDiv,"y","POLL-RESULTS",void 0,void 0,2)}cleanup(){this.resultsDiv.innerHTML="",this.pollID="",this.mid=0}onCloseAfterTimeout(){this.cleanup()}init(e,t){if(this.pollID==e&&this.mid==t)return;this.cleanup(),this.pollID=e,this.mid=t,d.default.selectTab(d.AppSidebarRight.SLIDERITEMSIDS.pollResults);const s=f.default.getPoll(e),i=document.createElement("h3");i.innerHTML=s.poll.rQuestion;const n=s.results.results.map(e=>e.voters/s.results.total_voters*100);l.roundPercents(n);const a=document.createDocumentFragment();s.results.results.forEach((e,i)=>{if(!e.voters)return;const o=document.createElement("hr"),r=s.poll.answers[i],d=document.createElement("div");d.classList.add("poll-results-answer");const l=document.createElement("div");l.innerHTML=c.RichTextProcessor.wrapEmojiText(r.text);const p=document.createElement("div");p.innerText=Math.round(n[i])+"%",d.append(l,p);const m=document.createElement("ul");m.classList.add("poll-results-voters"),u.default.setListClickListener(m),m.style.minHeight=50*Math.min(e.voters,4)+"px",a.append(o,d,m);let g,b=4,v=!1,y=e.voters-4;const w=()=>{v||(v=!0,f.default.getVotes(t,r.option,g,b).then(e=>{e.votes.forEach(e=>{const{dom:t}=u.default.addDialog(e.user_id,m,!1,!1,void 0,!1);t.lastMessageSpan.parentElement.remove()}),g&&(y-=e.votes.length,_.lastElementChild.innerText=`Show ${Math.min(20,y)} more voter${y>1?"s":""}`),g=e.next_offset,b=20,y&&e.votes.length||_.remove()}).finally(()=>{v=!1}))};if(w(),y<=0)return;const _=document.createElement("div");_.classList.add("poll-results-more","show-more"),_.addEventListener("click",w),_.innerHTML=`
Show ${Math.min(20,y)} more voter${y>1?"s":""}
`,h.ripple(_),a.append(_)}),this.resultsDiv.append(i,a),d.default.toggleSidebar(!0).then(()=>{})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(29)),f=r(s(6)),l=r(s(23)),c=r(s(18)),u=a(s(22)),h=r(s(5)),p=r(s(62)),m=r(s(63)),g=s(0),b=r(s(12));t.default=class{constructor(){this.container=document.getElementById("search-gifs-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.gifsDiv=this.contentDiv.firstElementChild,this.nextOffset="",this.loadedAll=!1,this.onGifsClick=e=>{const t=g.findUpClassName(e.target,"gif");if(!t)return;const s=t.dataset.docID;b.default.chatInputC.sendMessageWithDocument(s)||console.warn("got no doc by id:",s)},this.scrollable=new f.default(this.contentDiv,"y","GIFS-SEARCH",void 0,void 0,2),this.scrollable.setVirtualContainer(this.gifsDiv),this.masonry=new m.default(this.gifsDiv),this.lazyLoadQueue=new l.default,this.searchInput=new d.default("Search GIFs",e=>{this.reset(),this.search(e)}),this.gifsDiv.addEventListener("click",this.onGifsClick),this.backBtn.parentElement.append(this.searchInput.container)}onClose(){this.scrollable.onScrolledBottom=()=>{}}onCloseAfterTimeout(){this.reset(),this.gifsDiv.innerHTML="",this.searchInput.value="",c.default.checkAnimations(void 0,"GIFS-SEARCH")}reset(){this.searchPromise=null,this.nextOffset="",this.loadedAll=!1,this.lazyLoadQueue.clear()}init(){u.default.selectTab(u.AppSidebarRight.SLIDERITEMSIDS.gifs),u.default.toggleSidebar(!0).then(()=>{this.search("",!0),this.reset(),this.scrollable.onScrolledBottom=()=>{this.search(this.searchInput.value,!1)}})}search(e,t=!0){return o(this,void 0,void 0,(function*(){if(!this.searchPromise&&!this.loadedAll){this.gifBotPeerID||(this.gifBotPeerID=(yield h.default.resolveUsername("gif")).id);try{this.searchPromise=p.default.getInlineResults(0,this.gifBotPeerID,e,this.nextOffset);const{results:s,next_offset:i}=yield this.searchPromise;if(this.searchInput.value!=e)return;this.searchPromise=null,this.nextOffset=i,t&&(this.gifsDiv.innerHTML=""),s.length?s.forEach(e=>{"botInlineMediaResult"===e._&&e.document&&this.masonry.add(e.document,"GIFS-SEARCH",this.lazyLoadQueue)}):this.loadedAll=!0,this.scrollable.onScroll()}catch(e){throw new Error(JSON.stringify(e))}}}))}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(45)),d=o(s(9)),f=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{r.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,d.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{d.default.editPhoto(e,t)}),f.default.removeTabFromHistory(f.AppSidebarLeft.SLIDERITEMSIDS.newChannel),f.default.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var s,i,n,a={},o=1,r=0,d=0,f=0,l=0;function c(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(n=new Image).crossOrigin=e.crossOrigin,n.src=e.src,n.draggable=!1,t||(t=document.createElement("canvas")),(s=document.createElement("div")).classList.add("crop-component"),(i=document.createElement("div")).classList.add("overlay");let a=document.createElement("div");a.classList.add("crop-overlay-color"),s.appendChild(i),e.parentNode.appendChild(s),s.appendChild(n),s.appendChild(e),s.appendChild(a),i.appendChild(n),n.style.maxWidth=e.width+"px",u(e.offsetWidth/2-100,e.offsetHeight/2-100),i.addEventListener("mousedown",b,!1),i.addEventListener("touchstart",b,!1),i.addEventListener("wheel",g,!1),document.addEventListener("keypress",m,!1)}function u(e,t){r=-e*o,d=-t*o,n.style.top=-t+"px",n.style.left=-e+"px"}function h(e,t){let s=t+100+"px",n=e+100+"px";i.style.top=s,i.style.left=n}function p(e){e=e*Math.PI*2;var t,s,a,r,d,f,l=Math.floor(i.clientWidth+e),c=Math.floor(i.clientHeight+e),p=n.clientWidth,m=n.clientHeight;l<50||(l>p||(a=(t=i.offsetLeft-e/2)+l,r=(s=i.offsetTop-e/2)+c,t<0&&(t=0),s<0&&(s=0),a>p||r>m||(o=200/l,d=l,f=l,i.style.width=d+"px",i.style.height=f+"px",u(t,s),h(t,s))))}function m(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":p(4);break;case"-":p(-4)}}function g(e){e.preventDefault(),p(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){a.container_width=i.offsetWidth,a.container_height=i.offsetHeight,a.container_left=i.offsetLeft,a.container_top=i.offsetTop,a.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,a.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,s,o,r,d={x:0,y:0};e.preventDefault(),e.stopPropagation(),d.x=e.pageX||e.touches&&e.touches[0].pageX,d.y=e.pageY||e.touches&&e.touches[0].pageY,t=d.x-(a.mouse_x-a.container_left),s=d.y-(a.mouse_y-a.container_top),o=i.offsetWidth,r=i.offsetHeight,t<0?t=0:t>n.offsetWidth-o&&(t=n.offsetWidth-o),s<0?s=0:s>n.offsetHeight-r&&(s=n.offsetHeight-r),u(t,s),h(t,s)}return e.complete?c():e.onload=c,{crop:function(){f=n.width*o,l=n.height*o,t.width=200,t.height=200,t.getContext("2d").drawImage(n,r,d,f,l)},removeHandlers:function(){i.removeEventListener("mousedown",b),i.removeEventListener("touchstart",b),i.removeEventListener("wheel",g),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",m),s.remove(),i.remove(),n.remove()}}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=s(4),f=o(s(9)),l=a(s(14));t.default=class{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{if(this.skippable)return void this.backBtn.click();const e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,d.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,s,i){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=i,this.skippable=s,this.onCloseAfterTimeout(),this.selector=new r.AppSelectPeers(this.contentDiv,s?null:e=>{this.nextBtn.classList.toggle("is-visible",!!e)},["contacts"]),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),this.nextBtn.classList.toggle("is-visible",s),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.addMembers)}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=o(s(6)),d=o(s(15)),f=o(s(5)),l=o(s(13)),c=a(s(14)),u=s(0),h=o(s(29));t.default=class{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),d.default.setListClickListener(this.list),this.scrollable=new r.default(this.list.parentElement),this.searchInput=new h.default("Search",e=>{this.list.innerHTML="",this.openContacts(e)}),this.container.firstElementChild.append(this.searchInput.container)}onClose(){let e=l.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.searchInput.value=""}openContacts(e){if(-1===c.default.historyTabIDs.indexOf(c.AppSidebarLeft.SLIDERITEMSIDS.contacts)&&c.default.selectTab(c.AppSidebarLeft.SLIDERITEMSIDS.contacts),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=f.default.getContacts(e).then(e=>{if(this.promise=null,c.default.historyTabIDs[c.default.historyTabIDs.length-1]!=c.AppSidebarLeft.SLIDERITEMSIDS.contacts)return void console.warn("user closed contacts before it's loaded");const t=[...e];t.findAndSplice(e=>e==u.$rootScope.myID);let s=t.map(e=>{let t=f.default.getUser(e);return{user:t,status:f.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=l.default.windowH/72*1.25|0;s.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:s}=d.default.addDialog(e.id,this.list,!1),i=f.default.getUserStatusString(e.id);s.lastMessageSpan.innerHTML="online"==i?`${i}`:i}),s.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(42),d=o(s(45)),f=o(s(9)),l=a(s(14)),c=o(s(6)),u=o(s(15)),h=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new r.SearchGroup(" ","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{d.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{const e=this.groupNameInput.value;this.nextBtn.classList.toggle("is-visible",!!e.length)}),this.nextBtn.addEventListener("click",()=>{const e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),l.default.selectTab(0)})});const e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new c.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear();this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1,this.searchGroup.clear()}init(e){this.userIDs=e,l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.newGroup),this.userIDs.forEach(e=>{let{dom:t}=u.default.addDialog(e,this.searchGroup.list,!1,!1),s="";s=h.default.getUserStatusString(e),"online"==s&&(s=`${s}`),s&&(t.lastMessageSpan.innerHTML=s)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(4),d=s(0),f=o(s(2)),l=a(s(14)),c=o(s(5));t.default=class{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},r.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),d.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{f.default.logOut().finally(()=>{localStorage.clear(),location.reload()})}),this.buttons.edit.addEventListener("click",()=>{l.default.editProfileTab.fillElements(),l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.editProfile)}),this.buttons.folders.addEventListener("click",()=>{l.default.selectTab(l.AppSidebarLeft.SLIDERITEMSIDS.chatFolders)})}fillElements(){let e=c.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(45)),a=i(s(2)),o=i(s(27)),r=i(s(14)),d=i(s(6)),f=i(s(5)),l=s(0);t.default=class{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{n.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void a.default.invokeApi("account.checkUsername",{username:t}).then(s=>{this.userNameInput.value==t&&(s?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},s=>{if(this.userNameInput.value==t)switch(s.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(o.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{r.default.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{o.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(o.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new d.default(this.scrollWrapper,"y")}fillElements(){var e,t,s;let i=f.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=i.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=i.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(s=i.username)&&void 0!==s?s:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",o.default.getProfile(i.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+l.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(17)),a=i(s(2)),o=i(s(7)),r=s(3),d=i(s(8)),f=s(0),l=i(s(14)),c=s(19),u=s(44);t.default=class{constructor(){this.filtersRendered={}}renderFolder(e,t,s=document.createElement("div")){let i,n="",a=[];if("dialogFilterSuggested"==e._)i=e.filter,n=e.description;else{i=e,n="";const t=i.id;if(this.filtersRendered.hasOwnProperty(i.id)||s.addEventListener("click",()=>{l.default.editFolderTab.open(o.default.filtersStorage.filters[t])}),this.filtersRendered[i.id]=s,1==Object.keys(i.pFlags).length){n="All ";const e=i.pFlags;e.contacts?n+="Contacts":e.non_contacts?n+="Non-Contacts":e.groups?n+="Groups":e.broadcasts?n+="Channels":e.bots?n+="Bots":e.exclude_muted?n+="Unmuted":e.exclude_read?n+="Unread":e.exclude_archived&&(n+="Unarchived"),a.push(n)}else{const e=o.default.dialogsStorage.getFolder(i.id);let t=0,s=0,n=0;for(const i of e)d.default.isAnyGroup(i.peerID)?n++:d.default.isBroadcast(i.peerID)?s++:t++;t&&a.push(t+" chats"),s&&a.push(s+" channels"),n&&a.push(n+" groups")}}return s.classList.add("category","rp-square"),s.innerHTML=`\n
\n

${r.RichTextProcessor.wrapEmojiText(i.title)}

\n

${a.length?a.join(", "):n}

\n
\n `,c.ripple(s),t&&t.append(s),s}init(){this.container=document.querySelector(".chat-folders-container"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.foldersContainer=this.container.querySelector(".folders-my"),this.suggestedContainer=this.container.querySelector(".folders-suggested"),this.createFolderBtn=this.container.querySelector(".btn-create-folder"),this.createFolderBtn.addEventListener("click",()=>{Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):l.default.editFolderTab.open()}),n.default.loadAnimationFromURL({container:this.stickerContainer,loop:!1,autoplay:!0,width:86,height:86},"assets/img/Folders_1.tgs").then(e=>{this.animation=e}),o.default.filtersStorage.getDialogFilters().then(e=>{for(const t in e){const s=e[t];this.renderFolder(s,this.foldersContainer)}}),f.$rootScope.$on("filter_update",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)?this.renderFolder(t,null,this.filtersRendered[t.id]):this.renderFolder(t,this.foldersContainer),this.getSuggestedFilters()}),f.$rootScope.$on("filter_delete",e=>{const t=e.detail;this.filtersRendered.hasOwnProperty(t.id)&&(this.getSuggestedFilters(),this.filtersRendered[t.id].remove(),delete this.filtersRendered[t.id])}),this.getSuggestedFilters()}getSuggestedFilters(){a.default.invokeApi("messages.getSuggestedDialogFilters").then(e=>{this.suggestedContainer.style.display=e.length?"":"none",Array.from(this.suggestedContainer.children).slice(1).forEach(e=>e.remove()),e.forEach(e=>{const t=this.renderFolder(e),s=document.createElement("button");s.classList.add("btn-primary"),s.innerText="Add",t.append(s),this.suggestedContainer.append(t),s.addEventListener("click",i=>{f.cancelEvent(i),Object.keys(this.filtersRendered).length>=10?u.toast("Sorry, you can't create more folders."):(s.setAttribute("disabled","true"),o.default.filtersStorage.createDialogFilter(e.filter).then(e=>{e&&t.remove()}).finally(()=>{s.removeAttribute("disabled")}))})})})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(s(14)),d=o(s(17)),f=o(s(7)),l=s(4),c=o(s(15)),u=s(0),h=s(44),p=s(19);t.default=class{constructor(){this.flags={}}init(){this.container=document.querySelector(".edit-folder-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.title=this.container.querySelector(".sidebar-header__title"),this.caption=this.container.querySelector(".caption"),this.stickerContainer=this.container.querySelector(".sticker-container"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.menuBtn=this.container.querySelector(".btn-menu-toggle"),this.deleteFolderBtn=this.menuBtn.querySelector(".menu-delete"),this.nameInput=this.container.querySelector("#folder-name"),this.include_peers=this.container.querySelector(".folder-list-included"),this.exclude_peers=this.container.querySelector(".folder-list-excluded");const e=this.include_peers.querySelector(".folder-categories"),t=this.exclude_peers.querySelector(".folder-categories");l.parseMenuButtonsTo(this.flags,e.children),l.parseMenuButtonsTo(this.flags,t.children),e.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"included")}),t.firstElementChild.addEventListener("click",()=>{r.default.includedChatsTab.open(this.filter,"excluded")}),d.default.loadAnimationFromURL({container:this.stickerContainer,loop:!0,autoplay:!0,width:86,height:86},"assets/img/Folders_2.tgs").then(e=>{this.animation=e}),this.deleteFolderBtn.addEventListener("click",()=>{this.deleteFolderBtn.setAttribute("disabled","true"),f.default.filtersStorage.updateDialogFilter(this.filter,!0).then(e=>{e&&this.closeBtn.click()}).finally(()=>{this.deleteFolderBtn.removeAttribute("disabled")})}),this.confirmBtn.addEventListener("click",()=>{if(!this.nameInput.value.trim())return void this.nameInput.classList.add("error");let t,s=Array.from(e.children).slice(1).reduce((e,t)=>e+ +!t.style.display,0);"UL"==this.include_peers.lastElementChild.tagName&&(s+=this.include_peers.lastElementChild.childElementCount),s?(this.confirmBtn.setAttribute("disabled","true"),t=this.filter.id?f.default.filtersStorage.updateDialogFilter(this.filter):f.default.filtersStorage.createDialogFilter(this.filter),t.then(e=>{e&&this.closeBtn.click()}).catch(e=>{"DIALOG_FILTERS_TOO_MUCH"==e.type?h.toast("Sorry, you can't create more folders."):console.error("updateDialogFilter error:",e)}).finally(()=>{this.confirmBtn.removeAttribute("disabled")})):h.toast("Please choose at least one chat for this folder.")}),this.nameInput.addEventListener("input",()=>{this.nameInput.value.length>12?this.nameInput.value=this.nameInput.value.slice(0,12):(this.filter.title=this.nameInput.value,this.nameInput.classList.remove("error"),this.editCheckForChange())})}onOpen(){this.init?(this.init(),this.init=null):this.animation&&this.animation.restart()}onCloseAfterTimeout(){Array.from(this.container.querySelectorAll("ul, .show-more")).forEach(e=>e.remove())}onCreateOpen(){this.caption.style.display="",this.title.innerText="New Folder",this.menuBtn.classList.add("hide"),this.confirmBtn.classList.remove("hide"),this.nameInput.value="";for(const e in this.flags)this.flags[e].style.display="none"}onEditOpen(){this.caption.style.display="none",this.title.innerText="create"==this.type?"New Folder":"Edit Folder","edit"==this.type&&(this.menuBtn.classList.remove("hide"),this.confirmBtn.classList.add("hide"));const e=this.filter;this.nameInput.value=e.title;for(const t in this.flags)this.flags[t].style.display=e.pFlags[t]?"":"none";["include_peers","exclude_peers"].forEach(t=>{const s=this[t],i=document.createElement("ul"),n=e[t].slice(),a=e=>{for(let t=0,s=Math.min(n.length,e);t
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`:o&&o.remove()};let o;s.append(i),n.length&&(o=document.createElement("div"),o.classList.add("show-more"),o.addEventListener("click",()=>a(20)),o.innerHTML=`
Show ${Math.min(20,n.length)} more chat${n.length>1?"s":""}
`,p.ripple(o),s.append(o)),a(4)})}editCheckForChange(){if("edit"==this.type){const e=!u.deepEqual(this.originalFilter,this.filter);this.confirmBtn.classList.toggle("hide",!e),this.menuBtn.classList.toggle("hide",e)}}setFilter(e,t){this.onCloseAfterTimeout(),t?(this.originalFilter=e,this.filter=u.copy(e)):(this.filter=e,this.onEditOpen(),this.editCheckForChange())}open(e){r.default.selectTab(r.AppSidebarLeft.SLIDERITEMSIDS.editFolder),void 0===e?(this.setFilter({_:"dialogFilter",flags:0,id:0,title:"",pFlags:{},pinned_peers:[],include_peers:[],exclude_peers:[]},!0),this.type="create",this.onCreateOpen()):(this.setFilter(e,!0),this.type="edit",this.onEditOpen())}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=s(51),d=a(s(14)),f=o(s(15)),l=o(s(8)),c=o(s(5)),u=s(0);t.default=class{constructor(){this.renderResults=e=>{const t="included"==this.type?this.filter.exclude_peers:this.filter.include_peers;e.forEach(e=>{if(t.includes(e))return;const{dom:s}=f.default.addDialog(e,this.selector.scrollable,!1,!1),i=this.selector.selected.has(e);s.containerEl.insertAdjacentHTML("beforeend",this.checkbox(i)),i&&s.listEl.classList.add("active");let n="";n=e>0?e==u.$rootScope.myID?"Chat with yourself":c.default.isBot(e)?"Bot":c.default.contactsList.has(e)?"Contact":"Non-Contact":l.default.isBroadcast(e)?"Channel":"Group",s.lastMessageSpan.innerHTML=n})},this.onSelectChange=e=>{"included"==this.type&&(this.confirmBtn.style.display=e?"":"none")}}init(){this.container=document.querySelector(".included-chats-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.confirmBtn=this.container.querySelector(".btn-confirm"),this.title=this.container.querySelector(".sidebar-header__title"),this.confirmBtn.addEventListener("click",()=>{const e=this.selector.getSelected();if("included"==this.type)for(const e in this.filter.pFlags)0!==e.indexOf("exclude_")&&delete this.filter.pFlags[e];else for(const e in this.filter.pFlags)0===e.indexOf("exclude_")&&delete this.filter.pFlags[e];const t=[];for(const s of e)"number"==typeof s?t.push(s):this.filter.pFlags[s]=!0;this.filter["included"==this.type?"include_peers":"exclude_peers"]=t,d.default.editFolderTab.setFilter(this.filter,!1),this.closeBtn.click()})}checkbox(e){return`
`}onOpen(){this.init&&(this.init(),this.init=null),this.confirmBtn.style.display="excluded"==this.type?"":"none",this.title.innerText="included"==this.type?"Included Chats":"Excluded Chats";const e=this.filter,t=document.createDocumentFragment(),s=document.createElement("div");s.classList.add("sidebar-left-h2"),s.innerText="Chat types";const i=document.createElement("div");let n;i.classList.add("folder-categories"),n="excluded"==this.type?{exclude_muted:{ico:"tgico-mute",text:"Muted"},exclude_archived:{ico:"tgico-archive",text:"Archived"},exclude_read:{ico:"tgico-readchats",text:"Read"}}:{contacts:{ico:"tgico-newprivate",text:"Contacts"},non_contacts:{ico:"tgico-noncontacts",text:"Non-Contacts"},groups:{ico:"tgico-group",text:"Groups"},broadcasts:{ico:"tgico-newchannel",text:"Channels"},bots:{ico:"tgico-bots",text:"Bots"}};let a="";for(const e in n)a+=`

${n[e].text}

${this.checkbox()}
`;i.innerHTML=a;const o=document.createElement("hr");o.style.margin="7px 0 9px";const d=document.createElement("div");d.classList.add("sidebar-left-h2"),d.innerText="Chats",t.append(s,i,o,d);const f=("included"==this.type?e.include_peers:e.exclude_peers).slice();this.selector=new r.AppSelectPeers(this.container,this.onSelectChange,["dialogs"],null,this.renderResults),this.selector.selected=new Set(f),this.selector.input.placeholder="Search";const l=this.selector.add.bind(this.selector);this.selector.add=(e,t)=>{var s;const i=l(e,null===(s=n[e])||void 0===s?void 0:s.text);return n[e]&&i.querySelector("avatar-element").classList.add(n[e].ico),i},this.selector.list.parentElement.insertBefore(t,this.selector.list),f.forEach(e=>{this.selector.add(e)});for(const t in e.pFlags)n.hasOwnProperty(t)&&e.pFlags[t]&&i.querySelector(`[data-peerID="${t}"]`).click()}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}open(e,t){this.originalFilter=e,this.filter=u.copy(this.originalFilter),this.type=t,d.default.selectTab(d.AppSidebarLeft.SLIDERITEMSIDS.includedChats)}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=i(s(6)),a=s(3),o=i(s(2)),r=i(s(55)),d=i(s(12)),f=s(0),l=s(20),c=i(s(7)),u=s(57),h=i(s(96)),p=i(s(54)),m=s(1),g=i(s(11)),b=i(s(46)),v=i(s(100));t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new n.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.btnCancelRecord=this.btnSend.parentElement.previousElementSibling,this.lastUrl="",this.lastTimeType=0,this.inputContainer=this.btnSend.parentElement.parentElement,this.chatInput=this.inputContainer.parentElement,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.recording=!1,this.recordCanceled=!1,this.recordTimeEl=this.inputContainer.querySelector(".record-time"),this.recordRippleEl=this.inputContainer.querySelector(".record-ripple"),this.recordStartTime=0,this.scrollTop=0,this.scrollOffsetTop=0,this.scrollDiff=0,this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle");try{this.recorder=new h.default({encoderSampleRate:48e3,monitorGain:0,numberOfChannels:1,recordingGain:1,reuseWorker:!0})}catch(e){this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"),console.error("Recorder constructor error:",e)}this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key&&!m.touchSupport){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),m.touchSupport&&(this.messageInput.addEventListener("touchend",e=>{this.saveScroll(),b.default.toggle(!1)}),window.addEventListener("resize",()=>{this.restoreScroll()})),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,s=a.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(s){let e=t.slice(s.offset,s.offset+s.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,o.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{r.default.saveWebPage(t),this.lastUrl==e&&(this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")||!this.recorder){this.recorder&&(this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2"));let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,c.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2")),c.default.setTyping("sendMessageCancelAction")}),a.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let s=t.getRangeAt(0),i=s.commonAncestorContainer,n="",a=Array.from(i.childNodes).slice(s.startOffset,s.endOffset);n=a.length?this.serializeNodes(a):t.toString(),event.clipboardData.setData("text/plain",n),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=a.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,i)=>{let n={};n.file=e;let a=document.createElement("div");switch(s.type){case"media":{let s=0===e.type.indexOf("video/");if(a.classList.add("popup-item-media"),s){let s=document.createElement("video"),i=document.createElement("source");i.src=n.objectURL=URL.createObjectURL(e),s.autoplay=!1,s.controls=!1,s.muted=!0,s.setAttribute("playsinline",""),s.onloadeddata=()=>{n.width=s.videoWidth,n.height=s.videoHeight,n.duration=Math.floor(s.duration),a.append(s),t(a)},s.append(i)}else{let s=new Image;s.src=n.objectURL=URL.createObjectURL(e),s.onload=()=>{n.width=s.naturalWidth,n.height=s.naturalHeight,a.append(s),t(a)}}break}case"document":{let s=l.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);n.objectURL=URL.createObjectURL(e),a.append(s),t(a);break}}s.sendFileDetails.push(n)}),t=t=>{this.fileInput.value="";let i=this.attachMediaPopUp.container.firstElementChild;if(i.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",s.sendFileDetails=[],(t=t.filter(e=>"media"!=s.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==s.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),i.classList.add("is-document");else{i.classList.add("is-media");let e=0,s=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++s}),e&&s?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):s&&(this.attachMediaPopUp.titleEl.innerText="Send "+(s>1?s+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==s.type)if(s.sendFileDetails.length>1){i.classList.add("is-album");let t=new u.Layouter(s.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:s,sides:i}of t){let t=e.shift();t.style.width=s.width+"px",t.style.height=s.height+"px",t.style.top=s.y+"px",t.style.left=s.x+"px",i&u.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=s.width+s.x+"px"),i&u.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=s.height+s.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}}else{let t=s.sendFileDetails[0],i=e[0],{w:n,h:a}=f.calcImageInBox(t.width,t.height,380,320);i.style.width=n+"px",i.style.height=a+"px",this.attachMediaPopUp.mediaContainer.append(i)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},s={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let s=e.target.files;s.length&&t(Array.from(s))},!1),this.attachMenu.media.addEventListener("click",()=>{this.fileInput.setAttribute("accept","image/*, video/*"),s.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{this.fileInput.removeAttribute("accept"),s.type="document",this.fileInput.click()}),this.attachMenu.poll.addEventListener("click",()=>{(new v.default).show()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var i=(e.clipboardData||e.originalEvent.clipboardData).items;for(let n=0;n{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;s.isMedia="media"==s.type;let t=d.default.peerID;if(s.sendFileDetails.length>1&&s.isMedia)c.default.sendAlbum(t,s.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},s));else{e&&s.sendFileDetails.length>1&&(c.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);s.sendFileDetails.map(i=>{let n=c.default.sendFile(t,i.file,Object.assign({isMedia:i.file.type.includes("audio/")||s.isMedia,caption:e,replyToMsgID:this.replyToMsgID},i));return e="",this.replyToMsgID=0,n})}this.onMessageSent()});const i=e=>{f.cancelEvent(e),this.btnSend.classList.contains("tgico-send")||!this.recorder?this.recording?this.recorder.stop():this.sendMessage():this.recorder.start().then(()=>{this.recordCanceled=!1,this.btnSend.classList.add("tgico-send"),this.chatInput.classList.add("is-recording"),this.recording=!0,p.default.setKeepAlive(!0),this.recordStartTime=Date.now();const e=this.recorder.sourceNode,t=e.context.createAnalyser();e.connect(t),t.fftSize=32;const s=new Uint8Array(t.frequencyBinCount),i=255*s.length;let n=()=>{if(!this.recording)return;t.getByteFrequencyData(s);let e=0;s.forEach(t=>{e+=t});let a=Math.min(1,e/i+.36);this.recordRippleEl.style.transform=`scale(${a})`;let o=Date.now()-this.recordStartTime,r=o%1e3,d=(""+o/1e3).toHHMMSS()+","+("00"+Math.round(r/10)).slice(-2);this.recordTimeEl.innerText=d,window.requestAnimationFrame(n)};n()}).catch(e=>{console.error("Recorder start error:",e)})};if(this.btnSend.addEventListener("touchend",i),this.btnSend.addEventListener("click",i),this.recorder){const e=e=>{f.cancelEvent(e),this.recordCanceled=!0,this.recorder.stop(),p.default.setKeepAlive(!1)};this.btnCancelRecord.addEventListener("touchend",e),this.btnCancelRecord.addEventListener("click",e),this.recorder.onstop=()=>{this.recording=!1,this.chatInput.classList.remove("is-recording"),this.btnSend.classList.remove("tgico-send"),this.recordRippleEl.style.transform=""},this.recorder.ondataavailable=e=>{if(this.recordCanceled)return;const t=(Date.now()-this.recordStartTime)/1e3|0,s=new Blob([e],{type:"audio/ogg"});performance.now();p.default.decode(e,!0).then(e=>{p.default.setKeepAlive(!1);let i=d.default.peerID;c.default.sendFile(i,s,{isVoiceMessage:!0,isMedia:!0,duration:t,waveform:e.waveform,objectURL:e.url,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0)})}}this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=c.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"));this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0,t){let s=c.default.getDialogByPeerID(d.default.peerID)[0];s&&s.top_message&&c.default.readHistory(d.default.peerID,s.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.noWebPage=!1,this.willSendWebPage=null,this.messageInput.innerText="",this.recorder&&(this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))),(t||e)&&(this.replyToMsgID=0,this.replyElements.container.classList.remove("active"))}sendMessage(){let e=f.getRichValue(this.messageInput);this.editMsgID?c.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):c.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}sendMessageWithDocument(e){return"documentEmpty"!=(e=g.default.getDoc(e))._&&(c.default.sendFile(d.default.peerID,e,{isMedia:!0,replyToMsgID:this.replyToMsgID}),this.onMessageSent(!1,!0),"sticker"==e.type&&b.default.stickersTab.pushRecentSticker(e),!0)}setTopInfo(e,t,s,i){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(l.wrapReply(e,t,i))),this.replyElements.container.classList.add("active"),void 0!==s&&(this.messageInput.innerHTML=s?a.RichTextProcessor.wrapRichText(s):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}saveScroll(){this.scrollTop=d.default.scrollable.container.scrollTop,this.scrollOffsetTop=this.chatInput.offsetTop}restoreScroll(){if(this.chatInput.style.display)return;let e=this.chatInput.offsetTop,t=d.default.scrollable.container,s=t.scrollTop,i=t.clientHeight,n=t.scrollHeight;if(e{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,s)=>{var i=s=>{switch(s.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=s.data.samplePosition,e(s.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,s)=>{var i=s=>{"flushed"===s.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var s=i=>{"done"===i.data.message&&(e.removeEventListener("message",s),t())};e.addEventListener("message",s),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,s){return e.set(s,t),t+s.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,s(1))},function(e,t){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(e){"object"==typeof window&&(s=window)}e.exports=s}])},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(63)),o=i(s(6)),r=s(4),d=i(s(2)),f=i(s(11));t.default=class{init(){this.content=document.getElementById("content-gifs");const e=this.content.firstElementChild;e.addEventListener("click",n.EmoticonsDropdown.onMediaClick);const t=new a.default(e),s=(new o.default(this.content,"y","GIFS",null),r.putPreloader(this.content,!0));d.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;s.remove(),i.gifs.forEach((e,s)=>{i.gifs[s]=f.default.saveDoc(e),t.add(i.gifs[s],n.EMOTICONSSTICKERGROUP,n.EmoticonsDropdown.lazyLoadQueue)})}),this.init=null}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(46),a=i(s(6)),o=i(s(1)),r=s(4),d=i(s(40)),f=s(3),l=i(s(12));t.default=class{constructor(){this.recent=[],this.onContentClick=e=>{let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;l.default.chatInputC.messageInput.innerHTML+=t.outerHTML;const s=this.getEmojiFromElement(t);Array.from(this.recentItemsDiv.children).forEach((e,t)=>{const i=this.getEmojiFromElement(e);s==i&&e.remove()});this.recentItemsDiv.scrollHeight;this.appendEmoji(s,this.recentItemsDiv,!0),this.recent.findAndSplice(e=>e==s),this.recent.unshift(s),this.recent.length>36&&(this.recent.length=36),d.default.pushToState("recentEmoji",this.recent);const i=new Event("input",{bubbles:!0,cancelable:!0});l.default.chatInputC.messageInput.dispatchEvent(i)}}init(){this.content=document.getElementById("content-emoji");const e=["Smileys & Emotion","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Flags","Skin Tones"],t={},s={Recent:[]};for(const t in o.default.Emoji){const i=""+o.default.Emoji[t],n=e[+i[0]-1];n&&(s[n]||(s[n]=[]),s[n][+i.slice(1)||0]=t)}e.pop(),delete s["Skin Tones"];for(const e in s){const i=document.createElement("div");i.classList.add("emoji-category");const n=document.createElement("div");n.classList.add("category-title"),n.innerText=e;const a=document.createElement("div");a.classList.add("category-items"),i.append(n,a);s[e].forEach(e=>{e=e.split("-").reduce((e,t)=>e+String.fromCodePoint(parseInt(t,16)),""),this.appendEmoji(e,a,!1)}),t[e]=i}const i=this.content.previousElementSibling.firstElementChild,f=this.scroll=new a.default(this.content,"y","EMOJI",null),l=r.putPreloader(this.content,!0);Promise.all([new Promise(e=>setTimeout(e,200)),d.default.getState().then(e=>{Array.isArray(e.recentEmoji)&&(this.recent=e.recentEmoji)})]).then(()=>{l.remove(),this.recentItemsDiv=t.Recent.querySelector(".category-items");for(const e of this.recent)this.appendEmoji(e,this.recentItemsDiv);e.unshift("Recent"),e.map(e=>{const s=t[e];return s||console.error("no div by category:",e),f.append(s),this.stickyIntersector.observeStickyHeaderChanges(s),s})}),this.content.addEventListener("click",this.onContentClick),this.stickyIntersector=n.EmoticonsDropdown.menuOnClick(i,f),this.init=null}appendEmoji(e,t,s=!1){const i=document.createElement("span");let n;n=f.RichTextProcessor.wrapEmojiText(e),i.innerHTML=n,i.firstElementChild&&i.firstElementChild.setAttribute("loading","lazy"),s?t.prepend(i):t.appendChild(i)}getEmojiFromElement(e){return"SPAN"!=e.tagName||e.classList.contains("emoji")||(e=e.firstElementChild),e.getAttribute("alt")||e.innerText}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(s(46)),f=r(s(6)),l=s(20),c=r(s(43)),u=r(s(28)),h=s(59),p=r(s(17)),m=s(4),g=s(3),b=s(0),v=r(s(2)),y=r(s(11)),w=r(s(18));t.default=class{constructor(){this.stickerSets={},this.recentStickers=[],this.mounted=!1,this.queueCategoryPush=[],this.animatedDivs=new Set}categoryPush(e,t,s,i){const n=document.createElement("div");n.classList.add("category-items");const a=document.createElement("div");a.classList.add("category-title"),a.innerHTML=t,e.append(a,n),this.stickyIntersector.observeStickyHeaderChanges(e),this.queueCategoryPush.push({element:e,prepend:i}),s.then(e=>{e.forEach(e=>{n.append(this.renderSticker(e))}),this.queueCategoryPush.length&&(this.queueCategoryPush.forEach(({element:e,prepend:t})=>{t?this.recentDiv.parentElement?(this.scroll.prepend(e),this.scroll.prepend(this.recentDiv)):this.scroll.prepend(e):this.scroll.append(e)}),this.queueCategoryPush.length=0)})}renderSticker(e,t){return t||(t=document.createElement("div"),2==e.sticker&&(this.animatedDivs.add(t),this.animatedIntersector.observe(t))),l.wrapSticker({doc:e,div:t,lazyLoadQueue:d.EmoticonsDropdown.lazyLoadQueue,group:d.EMOTICONSSTICKERGROUP,onlyThumb:2==e.sticker}),t}renderStickerSet(e,t=!1){return o(this,void 0,void 0,(function*(){const s=document.createElement("div");s.classList.add("sticker-category");const i=document.createElement("li");i.classList.add("btn-icon"),this.stickerSets[e.id]={stickers:s,tab:i},t?this.menu.insertBefore(i,this.menu.firstElementChild.nextSibling):this.menu.append(i);const n=c.default.getStickerSet(e);this.categoryPush(s,g.RichTextProcessor.wrapEmojiText(e.title),n.then(e=>e.documents),t);const a=yield n;if(a.set.thumb){const e=c.default.getStickerSetThumbDownloadOptions(a.set),t=u.default.download(e);if(a.set.pFlags.animated)t.then(h.readBlobAsText).then(JSON.parse).then(e=>{p.default.loadAnimationWorker({container:i,loop:!0,autoplay:!1,animationData:e,width:32,height:32},d.EMOTICONSSTICKERGROUP)});else{const e=new Image;t.then(t=>{m.renderImageFromUrl(e,URL.createObjectURL(t),()=>{i.append(e)})})}}else l.wrapSticker({doc:a.documents[0],div:i,group:d.EMOTICONSSTICKERGROUP})}))}init(){this.content=document.getElementById("content-stickers"),this.recentDiv=document.createElement("div"),this.recentDiv.classList.add("sticker-category");let e=this.content.previousElementSibling;this.menu=e.firstElementChild.firstElementChild;let t=new f.default(e,"x"),s=document.createElement("div");s.classList.add("stickers-categories"),this.content.append(s),b.$rootScope.$on("stickers_installed",e=>{const t=e.detail;!this.stickerSets[t.id]&&this.mounted&&this.renderStickerSet(t,!0)}),b.$rootScope.$on("stickers_deleted",e=>{const t=e.detail;if(this.stickerSets[t.id]&&this.mounted){const e=this.stickerSets[t.id];e.stickers.remove(),e.tab.remove(),delete this.stickerSets[t.id]}}),s.addEventListener("click",d.EmoticonsDropdown.onMediaClick),this.scroll=new f.default(this.content,"y","STICKERS",void 0,void 0,2),this.scroll.setVirtualContainer(s),this.stickyIntersector=d.EmoticonsDropdown.menuOnClick(this.menu,this.scroll,t);const i=m.putPreloader(this.content,!0);Promise.all([c.default.getRecentStickers().then(e=>{this.recentStickers=e.stickers.slice(0,20),this.stickerSets.recent={stickers:this.recentDiv,tab:this.menu.firstElementChild},i.remove(),this.categoryPush(this.recentDiv,"Recent",Promise.resolve(this.recentStickers),!0)}),v.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>o(this,void 0,void 0,(function*(){let t=e;i.remove();for(let e of t.sets)this.renderStickerSet(e)})))]).finally(()=>{this.mounted=!0});const n=e=>{w.default.getAnimations(e).forEach(t=>{u.has(e)?w.default.checkAnimation(t,!1):w.default.checkAnimation(t,!0,!0)})},a=e=>{u.delete(e);const t=e.dataset.docID,s=y.default.getDoc(t);n(e),e.innerHTML="",this.renderSticker(s,e)};let r=!1;const u=new Set;this.animatedIntersector=new IntersectionObserver(e=>{r||e.forEach(e=>{const{target:t,isIntersecting:s}=e,i=t,o=i.dataset.docID,r=y.default.getDoc(o);if(s){if(u.has(i))return;u.add(i),l.wrapSticker({doc:r,div:i,width:80,height:80,lazyLoadQueue:null,group:d.EMOTICONSSTICKERGROUP,onlyThumb:!1,play:!0,loop:!0}).then(()=>{n(i)})}else a(i)})}),d.default.events.onClose.push(()=>{r=!0}),d.default.events.onCloseAfter.push(()=>{const e=[...u];for(const t of e)a(t)}),d.default.events.onOpenAfter.push(()=>{r=!1,this.animatedIntersector.disconnect();const e=[...this.animatedDivs];for(const t of e)this.animatedIntersector.observe(t)}),this.init=null}pushRecentSticker(e){if(!this.recentDiv.parentElement)return;let t=this.recentDiv.querySelector(`[data-doc-i-d="${e.id}"]`);t||(t=this.renderSticker(e));const s=this.recentDiv.querySelector(".category-items");s.prepend(t),s.childElementCount>20&&Array.from(s.children).slice(20).forEach(e=>e.remove())}onClose(){}}},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(36),a=i(s(6)),o=i(s(7)),r=s(0),d=s(44),f=(e,t,s)=>{const i=document.createElement("div");return i.classList.add("input-field"),i.innerHTML=`\n \n \n `,i};class l extends n.PopupElement{constructor(){super("popup-create-poll popup-new-media",null,{closable:!0,withConfirm:"CREATE",body:!0}),this.tempID=0,this.onSubmitClick=e=>{const t=this.questionInput.value;if(!t.trim())return void d.toast("Please enter a question");const s=Array.from(this.questions.children).map((e,t)=>e.firstElementChild.value).filter(e=>!!e.trim());if(s.length<2)return void d.toast("Please enter at least two options");this.closeBtn.click(),this.confirmBtn.removeEventListener("click",this.onSubmitClick);const i={_:"poll",flags:0};i.question=t,i.answers=s.map((e,t)=>({_:"pollAnswer",text:e,option:new Uint8Array([t])})),o.default.sendOther(r.$rootScope.selectedPeerID,{_:"inputMediaPoll",flags:0,poll:i})},this.onInput=e=>{const t=e.target;t.value.length&&t.parentElement.classList.add("is-filled");!t.parentElement.nextElementSibling&&t.value.length&&this.questions.childElementCount<10&&this.appendMoreField()},this.onDeleteClick=e=>{e.target.parentElement.remove(),Array.from(this.questions.children).forEach((e,t)=>{e.firstElementChild.nextElementSibling.innerText="Option "+(t+1)})},this.title.innerText="New Poll";const e=f("Ask a Question","Ask a Question","question");this.questionInput=e.firstElementChild,this.header.append(e);const t=document.createElement("hr"),s=document.createElement("div");s.classList.add("caption"),s.innerText="Options",this.questions=document.createElement("div"),this.questions.classList.add("poll-create-questions"),this.body.parentElement.insertBefore(t,this.body),this.body.append(s,this.questions),this.confirmBtn.addEventListener("click",this.onSubmitClick),this.scrollable=new a.default(this.body,"y",void 0),this.appendMoreField()}appendMoreField(){const e=this.questions.childElementCount+1,t=f("Add an Option","Option "+e,"question-"+this.tempID++);t.firstElementChild.addEventListener("input",this.onInput);const s=document.createElement("span");s.classList.add("btn-icon","tgico-close"),t.append(s),s.addEventListener("click",this.onDeleteClick,{once:!0}),this.questions.append(t),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0)}}t.default=l},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let s=this.bubblesByGroups.findAndSplice(e=>e.mid==t);s&&s.group.length&&(s.group.findAndSplice(t=>t==e),s.group.length?this.updateGroup(s.group):this.groups.findAndSplice(e=>e==s.group))}addBubble(e,t,s){let n,a=t.date,o=t.fromID;if(o==i.$rootScope.myID&&i.$rootScope.selectedPeerID==i.$rootScope.myID&&t.fwdFromID==o&&(o=-o),this.bubblesByGroups.length)if(s){let t=this.bubblesByGroups[0];t.fromID==o&&t.timestamp-a{if(!(n instanceof SVGDefsElement))if(t)n.removeAttributeNS(null,"clip-path");else{let t,a,o=s.dataset.clipID,r=s.firstElementChild.firstElementChild.lastElementChild,d=+n.getAttributeNS(null,"width"),f=+n.getAttributeNS(null,"height"),l=e.classList.contains("is-out"),c=e.classList.contains("is-reply"),u="";e.classList.contains("forwarded")||c?t=a=0:l?(t=e.classList.contains("is-group-first")?12:6,a=12):(t=12,a=e.classList.contains("is-group-first")?12:6),u=l?i.generatePathData(0,0,d-9,f,a,t,0,12):i.generatePathData(9,0,d-9,f,a,t,12,0),r.setAttributeNS(null,"d",u),n.setAttributeNS(null,"clip-path","url(#"+o+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let s=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(36);class n extends i.PopupElement{constructor(e,t){super("popup-date-picker",[{text:"CANCEL",isCancel:!0},{text:"JUMP TO DATE",callback:()=>{this.onPick&&this.onPick(this.selectedDate.getTime()/1e3|0)}}]),this.onPick=t,this.minDate=new Date("2013-08-01T00:00:00"),this.onPrevClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()-1),this.setMonth(),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.nextBtn.removeAttribute("disabled")},this.onNextClick=e=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()+1),this.setMonth(),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.prevBtn.removeAttribute("disabled")},this.onDateClick=e=>{const t=e.target;if(!t.dataset.timestamp)return;if(this.selectedEl){if(this.selectedEl==t)return;this.selectedEl.classList.remove("active")}t.classList.add("active");const s=+t.dataset.timestamp;this.selectedDate=new Date(s),this.setTitle(),this.setMonth()};const s=document.createElement("div");s.classList.add("popup-body"),this.controlsDiv=document.createElement("div"),this.controlsDiv.classList.add("date-picker-controls"),this.prevBtn=document.createElement("button"),this.prevBtn.classList.add("btn-icon","tgico-down","date-picker-prev"),this.prevBtn.addEventListener("click",this.onPrevClick),this.nextBtn=document.createElement("button"),this.nextBtn.classList.add("btn-icon","tgico-down","date-picker-next"),this.nextBtn.addEventListener("click",this.onNextClick),this.monthTitle=document.createElement("div"),this.monthTitle.classList.add("date-picker-month-title"),this.controlsDiv.append(this.prevBtn,this.monthTitle,this.nextBtn),this.monthsContainer=document.createElement("div"),this.monthsContainer.classList.add("date-picker-months"),this.monthsContainer.addEventListener("click",this.onDateClick),s.append(this.controlsDiv,this.monthsContainer),this.container.append(s);const i=document.createElement("div");i.classList.add("popup-centerer"),i.append(this.container),this.element.append(i),e.setHours(0,0,0,0),this.selectedDate=e,this.maxDate=new Date,this.maxDate.setHours(0,0,0,0),this.selectedMonth=new Date(this.selectedDate),this.selectedMonth.setDate(1),this.maxMonth=new Date(this.maxDate),this.maxMonth.setDate(1),this.minMonth=new Date(this.minDate),this.minMonth.setDate(1),this.selectedMonth.getTime()==this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.selectedMonth.getTime()==this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.setTitle(),this.setMonth()}setTitle(){const e=this.selectedDate.toString().split(" ",3);this.title.innerText=e[0]+", "+e[1]+" "+e[2]}setMonth(){this.monthTitle.innerText=["January","February","March","April","May","June","July","August","September","October","November","December"][this.selectedMonth.getMonth()]+" "+this.selectedMonth.getFullYear(),this.month&&this.month.remove(),this.month=document.createElement("div"),this.month.classList.add("date-picker-month");const e=["M","T","W","T","F","S","S"];this.month.append(...e.map(e=>{const t=document.createElement("span");return t.innerText=e,t}));const t=new Date(this.selectedMonth);let s=t.getDay()-1;-1==s&&(s=e.length-1);for(let e=0;ethis.maxDate&&s.setAttribute("disabled","true"),t.getTime()==this.selectedDate.getTime()&&(this.selectedEl=s,s.classList.add("active")),this.month.append(s),t.setDate(e+1)}while(1!=t.getDate());this.container.classList.toggle("is-max-lines",this.month.childElementCount/7>6),this.monthsContainer.append(this.month)}}t.default=n},function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PasswordManager=void 0;const n=i(s(2));class a{getState(e={}){return n.default.invokeApi("account.getPassword",{},e).then(e=>e)}check(e,t,s={}){return n.default.computeSRP(e,t).then(e=>n.default.invokeApi("auth.checkPassword",{password:e},s))}requestRecovery(e={}){return n.default.invokeApi("auth.requestPasswordRecovery",{},e)}recover(e,t={}){return n.default.invokeApi("auth.recoverPassword",{code:e},t)}}t.PasswordManager=a;const o=new a;t.default=o},function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)Object.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(n,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=r(s(2)),f=r(s(25)),l=r(s(31)),c=r(s(65)),u=r(s(48)),h=s(30),p=s(21),m=r(s(34));let g;const b=new f.default("page-signQR",!0,()=>g,()=>{g||(g=o(void 0,void 0,void 0,(function*(){const e=b.pageEl.querySelector(".auth-image");b.pageEl.querySelector(".a-qr").addEventListener("click",()=>{u.default.mount(),i=!0});const t=(yield Promise.all([Promise.resolve().then(()=>a(s(105)))]))[0].default;let i=!1;document.addEventListener("user_auth",()=>{i=!0,g=null},{once:!0});let n,r={ignoreErrors:!0};return()=>o(void 0,void 0,void 0,(function*(){for(i=!1;!i;)try{let s=yield d.default.invokeApi("auth.exportLoginToken",{api_id:h.App.id,api_hash:h.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==s._&&(r.dcID||(r.dcID=s.dc_id,d.default.setBaseDcID(s.dc_id)),s=yield d.default.invokeApi("auth.importLoginToken",{token:s.token},r)),"auth.loginTokenSuccess"==s._){let e=s.authorization;d.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!n||!p.bytesCmp(n,s.token)){n=s.token;let i="tg://login?token="+p.bytesToBase64(s.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:i,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let i=Date.now()/1e3,a=s.expires-i-m.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,c.default.mount(),i=!0,g=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),g.then(e=>{e()})});t.default=b},function(e,t,s){window,e.exports=function(e){var t={};function s(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,s),n.l=!0,n.exports}return s.m=e,s.c=t,s.d=function(e,t,i){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(i,n,function(t){return e[t]}.bind(null,n));return i},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=1)}([function(e,t,s){var i,n,a=function(){var e=function(e,t){var s=e,i=n[t],o=null,p=0,m=null,b=[],v={},y=function(e,t){o=function(e){for(var t=new Array(e),s=0;s=7&&L(e),null==m&&(m=E(s,i,b)),D(m,t)},w=function(e,t){for(var s=-1;s<=7;s+=1)if(!(e+s<=-1||p<=e+s))for(var i=-1;i<=7;i+=1)t+i<=-1||p<=t+i||(o[e+s][t+i]=0<=s&&s<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==s||6==s)||2<=s&&s<=4&&2<=i&&i<=4)},_=function(){for(var e=8;e>i&1);o[Math.floor(i/3)][i%3+p-8-3]=n}for(i=0;i<18;i+=1)n=!e&&1==(t>>i&1),o[i%3+p-8-3][Math.floor(i/3)]=n},M=function(e,t){for(var s=i<<3|t,n=a.getBCHTypeInfo(s),r=0;r<15;r+=1){var d=!e&&1==(n>>r&1);r<6?o[r][8]=d:r<8?o[r+1][8]=d:o[p-15+r][8]=d}for(r=0;r<15;r+=1)d=!e&&1==(n>>r&1),r<8?o[8][p-r-1]=d:r<9?o[8][15-r-1+1]=d:o[8][15-r-1]=d;o[p-8][8]=!e},D=function(e,t){for(var s=-1,i=p-1,n=7,r=0,d=a.getMaskFunction(t),f=p-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var l=0;l<2;l+=1)if(null==o[i][f-l]){var c=!1;r>>n&1)),d(i,f-l)&&(c=!c),o[i][f-l]=c,-1==(n-=1)&&(r+=1,n=7)}if((i+=s)<0||p<=i){i-=s,s=-s;break}}},E=function(e,t,s){for(var i=d.getRSBlocks(e,t),n=f(),o=0;o8*c)throw"code length overflow. ("+n.getLengthInBits()+">"+8*c+")";for(n.getLengthInBits()+4<=8*c&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*c||(n.put(236,8),n.getLengthInBits()>=8*c));)n.put(17,8);return function(e,t){for(var s=0,i=0,n=0,o=new Array(t.length),d=new Array(t.length),f=0;f=0?p.getAt(m):0}}var g=0;for(u=0;ui)&&(e=i,t=s)}return t}())},v.createTableTag=function(e,t){e=e||2;var s="";s+='',s+="";for(var i=0;i";for(var n=0;n';s+=""}return(s+="")+"
"},v.createSvgTag=function(e,t,s,i){var n={};"object"==typeof arguments[0]&&(e=(n=arguments[0]).cellSize,t=n.margin,s=n.alt,i=n.title),e=e||2,t=void 0===t?4*e:t,(s="string"==typeof s?{text:s}:s||{}).text=s.text||null,s.id=s.text?s.id||"qrcode-description":null,(i="string"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||"qrcode-title":null;var a,o,r,d,f=v.getModuleCount()*e+2*t,l="";for(d="l"+e+",0 0,"+e+" -"+e+",0 0,-"+e+"z ",l+=''+I(i.text)+"":"",l+=s.text?''+I(s.text)+"":"",l+='',l+='"},v.createDataURL=function(e,t){e=e||2,t=void 0===t?4*e:t;var s=v.getModuleCount()*e+2*t,i=t,n=s-t;return g(s,s,(function(t,s){if(i<=t&&t"};var I=function(e){for(var t="",s=0;s":t+=">";break;case"&":t+="&";break;case'"':t+=""";break;default:t+=i}}return t};return v.createASCII=function(e,t){if((e=e||1)<2)return function(e){e=void 0===e?2:e;var t,s,i,n,a,o=1*v.getModuleCount()+2*e,r=e,d=o-e,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},l={"██":"▀","█ ":"▀"," █":" "," ":" "},c="";for(t=0;t=d?l[a]:f[a];c+="\n"}return o%2&&e>0?c.substring(0,c.length-o-1)+Array(o+1).join("▀"):c.substring(0,c.length-1)}(t);e-=1,t=void 0===t?2*e:t;var s,i,n,a,o=v.getModuleCount()*e+2*t,r=t,d=o-t,f=Array(e+1).join("██"),l=Array(e+1).join(" "),c="",u="";for(s=0;s>>8),t.push(255&o)):t.push(i)}}return t}};var t,s,i,n={L:1,M:0,Q:3,H:2},a=(t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],i=function(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t},(s={}).getBCHTypeInfo=function(e){for(var t=e<<10;i(t)-i(1335)>=0;)t^=1335<=0;)t^=7973<5&&(s+=3+a-5)}for(i=0;i=256;)t-=255;return e[t]}}}();function r(e,t){if(void 0===e.length)throw e.length+"/"+t;var s=function(){for(var s=0;s>>7-t%8&1)},put:function(e,t){for(var i=0;i>>t-i-1&1))},getLengthInBits:function(){return t},putBit:function(s){var i=Math.floor(t/8);e.length<=i&&e.push(0),s&&(e[i]|=128>>>t%8),t+=1}};return s},l=function(e){var t=e,s={getMode:function(){return 1},getLength:function(e){return t.length},write:function(e){for(var s=t,n=0;n+2>>8&255)+(255&n),e.put(n,13),s+=2}if(s>>8)},writeBytes:function(e,s,i){s=s||0,i=i||e.length;for(var n=0;n0&&(t+=","),t+=e[s];return t+"]"}};return t},m=function(e){var t=e,s=0,i=0,n=0,a={read:function(){for(;n<8;){if(s>=t.length){if(0==n)return-1;throw"unexpected end of file./"+n}var e=t.charAt(s);if(s+=1,"="==e)return n=0,-1;e.match(/^\s$/)||(i=i<<6|o(e.charCodeAt(0)),n+=6)}var a=i>>>n-8&255;return n-=8,a}},o=function(e){if(65<=e&&e<=90)return e-65;if(97<=e&&e<=122)return e-97+26;if(48<=e&&e<=57)return e-48+52;if(43==e)return 62;if(47==e)return 63;throw"c:"+e};return a},g=function(e,t,s){for(var i=function(e,t){var s=e,i=t,n=new Array(e*t),a={setPixel:function(e,t,i){n[t*s+e]=i},write:function(e){e.writeString("GIF87a"),e.writeShort(s),e.writeShort(i),e.writeByte(128),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(0),e.writeByte(255),e.writeByte(255),e.writeByte(255),e.writeString(","),e.writeShort(0),e.writeShort(0),e.writeShort(s),e.writeShort(i),e.writeByte(0);var t=o(2);e.writeByte(2);for(var n=0;t.length-n>255;)e.writeByte(255),e.writeBytes(t,n,255),n+=255;e.writeByte(t.length-n),e.writeBytes(t,n,t.length-n),e.writeByte(0),e.writeString(";")}},o=function(e){for(var t=1<>>n!=0)throw"length over";for(;s+n>=8;)t.writeByte(255&(e<>>=8-s,i=0,s=0;i|=e<0&&t.writeByte(i)}}}(d);f.write(t,i);var l=0,c=String.fromCharCode(n[l]);for(l+=1;l=6;)a(e>>>t-6),t-=6},n.flush=function(){if(t>0&&(a(e<<6-t),e=0,t=0),s%3!=0)for(var n=3-s%3,o=0;o>6,128|63&i):i<55296||i>=57344?t.push(224|i>>12,128|i>>6&63,128|63&i):(s++,i=65536+((1023&i)<<10|1023&e.charCodeAt(s)),t.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return t}(e)},void 0===(n="function"==typeof(i=function(){return a})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,s){"use strict";s.r(t);var i={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},n=function(){return(n=Object.assign||function(e){for(var t,s=1,i=arguments.length;si.width||n>i.height)throw"The canvas is too small.";for(var a=Math.min(i.width,i.height),o=Math.floor(a/n),r=Math.floor((i.width-n*o)/2),d=Math.floor((i.height-n*o)/2),l=new f({context:s,type:i.dotsOptions.type}),c=function(a){for(var f=function(f){return e&&!e(a,f)?"continue":u._qr.isDark(a,f)?(s.fillStyle=i.dotsOptions.color,void l.draw(r+a*o,d+f*o,o,(function(s,i){return!(a+s<0||f+i<0||a+s>=n||f+i>=n)&&!(e&&!e(a+s,f+i))&&!!t._qr&&t._qr.isDark(a+s,f+i)}))):"continue"},c=0;ci||n&&n=(a+p)/2||t<(a-m)/2||t>=(a+m)/2})),i.drawImage(c,f+(a*r-d)/2,l+(a*r-h)/2,d,h),t()},c.src=n.image}))},e}(),c={},u=0;u<=40;u++)c[u]=u;var h=c,p={L:"L",M:"M",Q:"Q",H:"H"},m={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:h[0],mode:void 0,errorCorrectionLevel:p.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},g=s(0),b=s.n(g),v=function(){function e(e){this._options=e?r(m,e):m,this.update()}return e._clearContainer=function(e){e&&(e.innerHTML="")},e.prototype.update=function(t){e._clearContainer(this._container),this._options=t?r(this._options,t):this._options,this._options.data&&(this._qr=b()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(e){switch(!0){case/^[0-9]*$/.test(e):return i.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(e):return i.alphanumeric;default:return i.byte}}(this._options.data)),this._qr.make(),this._canvas=new l(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},e.prototype.append=function(e){if(e){if("function"!=typeof e.appendChild)throw"Container should be a single DOM node";this._canvas&&e.appendChild(this._canvas.getCanvas()),this._container=e}},e.prototype.download=function(e){var t,s,i;this._canvas&&(t=this._canvas.getCanvas().toDataURL(e?"image/"+e:void 0),s="qr."+(e||"png"),(i=document.createElement("a")).download=s,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i))},e}(),y={dots:"dots",rounded:"rounded",square:"square"};s.d(t,"dotTypes",(function(){return y})),s.d(t,"errorCorrectionLevels",(function(){return p})),s.d(t,"errorCorrectionPercents",(function(){return d})),s.d(t,"modes",(function(){return i})),s.d(t,"qrTypes",(function(){return h})),t.default=v}]).default}]); \ No newline at end of file diff --git a/public/t4/npm.jsbn.chunk.js b/public/t4/npm.jsbn.chunk.js new file mode 100644 index 00000000..d1e37c23 --- /dev/null +++ b/public/t4/npm.jsbn.chunk.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{52:function(t,i,o){(function(){var i;function o(t,i,o){null!=t&&("number"==typeof t?this.fromNumber(t,i,o):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function r(){return new o(null)}var s="undefined"!=typeof navigator;s&&"Microsoft Internet Explorer"==navigator.appName?(o.prototype.am=function(t,i,o,r,s,h){for(var e=32767&i,n=i>>15;--h>=0;){var f=32767&this[t],u=this[t++]>>15,p=n*f+u*e;s=((f=e*f+((32767&p)<<15)+o[r]+(1073741823&s))>>>30)+(p>>>15)+n*u+(s>>>30),o[r++]=1073741823&f}return s},i=30):s&&"Netscape"!=navigator.appName?(o.prototype.am=function(t,i,o,r,s,h){for(;--h>=0;){var e=i*this[t++]+o[r]+s;s=Math.floor(e/67108864),o[r++]=67108863&e}return s},i=26):(o.prototype.am=function(t,i,o,r,s,h){for(var e=16383&i,n=i>>14;--h>=0;){var f=16383&this[t],u=this[t++]>>14,p=n*f+u*e;s=((f=e*f+((16383&p)<<14)+o[r]+s)>>28)+(p>>14)+n*u,o[r++]=268435455&f}return s},i=28),o.prototype.DB=i,o.prototype.DM=(1<>>16)&&(t=i,o+=16),0!=(i=t>>8)&&(t=i,o+=8),0!=(i=t>>4)&&(t=i,o+=4),0!=(i=t>>2)&&(t=i,o+=2),0!=(i=t>>1)&&(t=i,o+=1),o}function c(t){this.m=t}function m(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,i+=16),0==(255&t)&&(t>>=8,i+=8),0==(15&t)&&(t>>=4,i+=4),0==(3&t)&&(t>>=2,i+=2),0==(1&t)&&++i,i}function D(t){for(var i=0;0!=t;)t&=t-1,++i;return i}function b(){}function g(t){return t}function S(t){this.r2=r(),this.q3=r(),o.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}c.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},c.prototype.revert=function(t){return t},c.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},c.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},c.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},m.prototype.convert=function(t){var i=r();return t.abs().dlShiftTo(this.m.t,i),i.divRemTo(this.m,null,i),t.s<0&&i.compareTo(o.ZERO)>0&&this.m.subTo(i,i),i},m.prototype.revert=function(t){var i=r();return t.copyTo(i),this.reduce(i),i},m.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&t.DM;for(t[o=i+this.m.t]+=this.m.am(0,r,t,i,0,this.m.t);t[o]>=t.DV;)t[o]-=t.DV,t[++o]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},m.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},m.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},o.prototype.copyTo=function(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s},o.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},o.prototype.fromString=function(t,i){var r;if(16==i)r=4;else if(8==i)r=3;else if(256==i)r=8;else if(2==i)r=1;else if(32==i)r=5;else{if(4!=i)return void this.fromRadix(t,i);r=2}this.t=0,this.s=0;for(var s=t.length,h=!1,e=0;--s>=0;){var n=8==r?255&t[s]:u(t,s);n<0?"-"==t.charAt(s)&&(h=!0):(h=!1,0==e?this[this.t++]=n:e+r>this.DB?(this[this.t-1]|=(n&(1<>this.DB-e):this[this.t-1]|=n<=this.DB&&(e-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,e>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},o.prototype.dlShiftTo=function(t,i){var o;for(o=this.t-1;o>=0;--o)i[o+t]=this[o];for(o=t-1;o>=0;--o)i[o]=0;i.t=this.t+t,i.s=this.s},o.prototype.drShiftTo=function(t,i){for(var o=t;o=0;--o)i[o+e+1]=this[o]>>s|n,n=(this[o]&h)<=0;--o)i[o]=0;i[e]=n,i.t=this.t+e+1,i.s=this.s,i.clamp()},o.prototype.rShiftTo=function(t,i){i.s=this.s;var o=Math.floor(t/this.DB);if(o>=this.t)i.t=0;else{var r=t%this.DB,s=this.DB-r,h=(1<>r;for(var e=o+1;e>r;r>0&&(i[this.t-o-1]|=(this.s&h)<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;o>=this.DB;r-=t.s}i.s=r<0?-1:0,r<-1?i[o++]=this.DV+r:r>0&&(i[o++]=r),i.t=o,i.clamp()},o.prototype.multiplyTo=function(t,i){var r=this.abs(),s=t.abs(),h=r.t;for(i.t=h+s.t;--h>=0;)i[h]=0;for(h=0;h=0;)t[o]=0;for(o=0;o=i.DV&&(t[o+i.t]-=i.DV,t[o+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(o,i[o],t,2*o,0,1)),t.s=0,t.clamp()},o.prototype.divRemTo=function(t,i,s){var h=t.abs();if(!(h.t<=0)){var e=this.abs();if(e.t0?(h.lShiftTo(p,n),e.lShiftTo(p,s)):(h.copyTo(n),e.copyTo(s));var c=n.t,m=n[c-1];if(0!=m){var l=m*(1<1?n[c-2]>>this.F2:0),v=this.FV/l,T=(1<=0&&(s[s.t++]=1,s.subTo(b,s)),o.ONE.dlShiftTo(c,b),b.subTo(n,n);n.t=0;){var g=s[--d]==m?this.DM:Math.floor(s[d]*v+(s[d-1]+y)*T);if((s[d]+=n.am(0,g,s,D,0,c))0&&s.rShiftTo(p,s),f<0&&o.ZERO.subTo(s,s)}}},o.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var i=3&t;return(i=(i=(i=(i=i*(2-(15&t)*i)&15)*(2-(255&t)*i)&255)*(2-((65535&t)*i&65535))&65535)*(2-t*i%this.DV)%this.DV)>0?this.DV-i:-i},o.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},o.prototype.exp=function(t,i){if(t>4294967295||t<1)return o.ONE;var s=r(),h=r(),e=i.convert(this),n=a(t)-1;for(e.copyTo(s);--n>=0;)if(i.sqrTo(s,h),(t&1<0)i.mulTo(h,e,s);else{var f=s;s=h,h=f}return i.revert(s)},o.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var o,r=(1<0)for(n>n)>0&&(s=!0,h=f(o));e>=0;)n>(n+=this.DB-i)):(o=this[e]>>(n-=i)&r,n<=0&&(n+=this.DB,--e)),o>0&&(s=!0),s&&(h+=f(o));return s?h:"0"},o.prototype.negate=function(){var t=r();return o.ZERO.subTo(this,t),t},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.compareTo=function(t){var i=this.s-t.s;if(0!=i)return i;var o=this.t;if(0!=(i=o-t.t))return this.s<0?-i:i;for(;--o>=0;)if(0!=(i=this[o]-t[o]))return i;return 0},o.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+a(this[this.t-1]^this.s&this.DM)},o.prototype.mod=function(t){var i=r();return this.abs().divRemTo(t,null,i),this.s<0&&i.compareTo(o.ZERO)>0&&t.subTo(i,i),i},o.prototype.modPowInt=function(t,i){var o;return o=t<256||i.isEven()?new c(i):new m(i),this.exp(t,o)},o.ZERO=p(0),o.ONE=p(1),b.prototype.convert=g,b.prototype.revert=g,b.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o)},b.prototype.sqrTo=function(t,i){t.squareTo(i)},S.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var i=r();return t.copyTo(i),this.reduce(i),i},S.prototype.revert=function(t){return t},S.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},S.prototype.mulTo=function(t,i,o){t.multiplyTo(i,o),this.reduce(o)},S.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)};var B,w,M,E=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/E[E.length-1];function O(){var t;t=(new Date).getTime(),w[M++]^=255&t,w[M++]^=t>>8&255,w[M++]^=t>>16&255,w[M++]^=t>>24&255,M>=I&&(M-=I)}if(o.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},o.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var i=this.chunkSize(t),o=Math.pow(t,i),s=p(o),h=r(),e=r(),n="";for(this.divRemTo(s,h,e);h.signum()>0;)n=(o+e.intValue()).toString(t).substr(1)+n,h.divRemTo(s,h,e);return e.intValue().toString(t)+n},o.prototype.fromRadix=function(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),s=Math.pow(i,r),h=!1,e=0,n=0,f=0;f=r&&(this.dMultiply(s),this.dAddOffset(n,0),e=0,n=0))}e>0&&(this.dMultiply(Math.pow(i,e)),this.dAddOffset(n,0)),h&&o.ZERO.subTo(this,this)},o.prototype.fromNumber=function(t,i,r){if("number"==typeof i)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(o.ONE.shiftLeft(t-1),v,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(o.ONE.shiftLeft(t-1),this);else{var s=new Array,h=7&t;s.length=1+(t>>3),i.nextBytes(s),h>0?s[0]&=(1<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;o>=this.DB;r+=t.s}i.s=r<0?-1:0,r>0?i[o++]=r:r<-1&&(i[o++]=this.DV+r),i.t=o,i.clamp()},o.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},o.prototype.dAddOffset=function(t,i){if(0!=t){for(;this.t<=i;)this[this.t++]=0;for(this[i]+=t;this[i]>=this.DV;)this[i]-=this.DV,++i>=this.t&&(this[this.t++]=0),++this[i]}},o.prototype.multiplyLowerTo=function(t,i,o){var r,s=Math.min(this.t+t.t,i);for(o.s=0,o.t=s;s>0;)o[--s]=0;for(r=o.t-this.t;s=0;)o[r]=0;for(r=Math.max(i-this.t,0);r0)if(0==i)o=this[0]%t;else for(var r=this.t-1;r>=0;--r)o=(i*o+this[r])%t;return o},o.prototype.millerRabin=function(t){var i=this.subtract(o.ONE),s=i.getLowestSetBit();if(s<=0)return!1;var h=i.shiftRight(s);(t=t+1>>1)>E.length&&(t=E.length);for(var e=r(),n=0;n>24},o.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},o.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},o.prototype.toByteArray=function(){var t=this.t,i=new Array;i[0]=this.s;var o,r=this.DB-t*this.DB%8,s=0;if(t-- >0)for(r>r)!=(this.s&this.DM)>>r&&(i[s++]=o|this.s<=0;)r<8?(o=(this[t]&(1<>(r+=this.DB-8)):(o=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),0!=(128&o)&&(o|=-256),0==s&&(128&this.s)!=(128&o)&&++s,(s>0||o!=this.s)&&(i[s++]=o);return i},o.prototype.equals=function(t){return 0==this.compareTo(t)},o.prototype.min=function(t){return this.compareTo(t)<0?this:t},o.prototype.max=function(t){return this.compareTo(t)>0?this:t},o.prototype.and=function(t){var i=r();return this.bitwiseTo(t,l,i),i},o.prototype.or=function(t){var i=r();return this.bitwiseTo(t,v,i),i},o.prototype.xor=function(t){var i=r();return this.bitwiseTo(t,T,i),i},o.prototype.andNot=function(t){var i=r();return this.bitwiseTo(t,y,i),i},o.prototype.not=function(){for(var t=r(),i=0;i=this.t?0!=this.s:0!=(this[i]&1<1){var v=r();for(s.sqrTo(n[1],v);f<=l;)n[f]=r(),s.mulTo(v,n[f-2],n[f]),f+=2}var T,y,d=t.t-1,D=!0,b=r();for(h=a(t[d])-1;d>=0;){for(h>=u?T=t[d]>>h-u&l:(T=(t[d]&(1<0&&(T|=t[d-1]>>this.DB+h-u)),f=o;0==(1&T);)T>>=1,--f;if((h-=f)<0&&(h+=this.DB,--d),D)n[T].copyTo(e),D=!1;else{for(;f>1;)s.sqrTo(e,b),s.sqrTo(b,e),f-=2;f>0?s.sqrTo(e,b):(y=e,e=b,b=y),s.mulTo(b,n[T],e)}for(;d>=0&&0==(t[d]&1<=0?(r.subTo(s,r),i&&h.subTo(n,h),e.subTo(f,e)):(s.subTo(r,s),i&&n.subTo(h,n),f.subTo(e,f))}return 0!=s.compareTo(o.ONE)?o.ZERO:f.compareTo(t)>=0?f.subtract(t):f.signum()<0?(f.addTo(t,f),f.signum()<0?f.add(t):f):f},o.prototype.pow=function(t){return this.exp(t,new b)},o.prototype.gcd=function(t){var i=this.s<0?this.negate():this.clone(),o=t.s<0?t.negate():t.clone();if(i.compareTo(o)<0){var r=i;i=o,o=r}var s=i.getLowestSetBit(),h=o.getLowestSetBit();if(h<0)return i;for(s0&&(i.rShiftTo(h,i),o.rShiftTo(h,o));i.signum()>0;)(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=o.getLowestSetBit())>0&&o.rShiftTo(s,o),i.compareTo(o)>=0?(i.subTo(o,i),i.rShiftTo(1,i)):(o.subTo(i,o),o.rShiftTo(1,o));return h>0&&o.lShiftTo(h,o),o},o.prototype.isProbablePrime=function(t){var i,o=this.abs();if(1==o.t&&o[0]<=E[E.length-1]){for(i=0;i>>8,w[M++]=255&A;M=0,O()}function N(){if(null==B){for(O(),(B=new L).init(w),M=0;M0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var a=i.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==a)throw new Error(s[a]);if(e.header&&i.deflateSetHeader(this.strm,e.header),e.dictionary){var d;if(d="string"==typeof e.dictionary?r.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(a=i.deflateSetDictionary(this.strm,d)))throw new Error(s[a]);this._dict_set=!0}}function d(t,e){var a=new l(e);if(a.push(t,!0),a.err)throw a.msg||s[a.err];return a.result}l.prototype.push=function(t,e){var a,s,o=this.strm,l=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=r.string2buf(t):"[object ArrayBuffer]"===h.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(l),o.next_out=0,o.avail_out=l),1!==(a=i.deflate(o,s))&&0!==a)return this.onEnd(a),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==a);return 4===s?(a=i.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,0===a):2!==s||(this.onEnd(0),o.avail_out=0,!0)},l.prototype.onData=function(t){this.chunks.push(t)},l.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=l,e.deflate=d,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,d(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,d(t,e)}},105:function(t,e,a){"use strict";var i,n=a(18),r=a(106),s=a(60),o=a(61),h=a(49);function l(t,e){return t.msg=h[e],e}function d(t){return(t<<1)-(t>4?9:0)}function _(t){for(var e=t.length;--e>=0;)t[e]=0}function f(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(n.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function u(t,e){r._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,f(t.strm)}function c(t,e){t.pending_buf[t.pending++]=e}function w(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function g(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,l=t.window,d=t.w_mask,_=t.prev,f=t.strstart+258,u=l[r+s-1],c=l[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(l[(a=e)+s]===c&&l[a+s-1]===u&&l[a]===l[r]&&l[++a]===l[r+1]){r+=2,a++;do{}while(l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&l[++r]===l[++a]&&rs){if(t.match_start=e,s=i,i>=o)break;u=l[r+s-1],c=l[r+s]}}}while((e=_[e&d])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead}function b(t){var e,a,i,r,h,l,d,_,f,u,c=t.w_size;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=c+(c-262)){n.arraySet(t.window,t.window,c,c,0),t.match_start-=c,t.strstart-=c,t.block_start-=c,e=a=t.hash_size;do{i=t.head[--e],t.head[e]=i>=c?i-c:0}while(--a);e=a=c;do{i=t.prev[--e],t.prev[e]=i>=c?i-c:0}while(--a);r+=c}if(0===t.strm.avail_in)break;if(l=t.strm,d=t.window,_=t.strstart+t.lookahead,f=r,u=void 0,(u=l.avail_in)>f&&(u=f),a=0===u?0:(l.avail_in-=u,n.arraySet(d,l.input,l.next_in,u,_),1===l.state.wrap?l.adler=s(l.adler,d,u,_):2===l.state.wrap&&(l.adler=o(l.adler,d,u,_)),l.next_in+=u,l.total_in+=u,u),t.lookahead+=a,t.lookahead+t.insert>=3)for(h=t.strstart-t.insert,t.ins_h=t.window[h],t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<=3)if(i=r._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=3&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=r._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<15&&(o=2,i-=16),r<1||r>9||8!==a||i<8||i>15||e<0||e>9||s<0||s>4)return l(t,-2);8===i&&(i=9);var h=new k;return t.state=h,h.strm=t,h.wrap=o,h.gzhead=null,h.w_bits=i,h.w_size=1<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(b(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,u(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(u(t,!1),t.strm.avail_out),1)})),new v(4,4,8,4,p),new v(4,5,16,8,p),new v(4,6,32,32,p),new v(4,4,16,16,m),new v(8,16,32,32,m),new v(8,16,128,128,m),new v(8,32,128,256,m),new v(32,128,258,1024,m),new v(32,258,258,4096,m)],e.deflateInit=function(t,e){return z(t,e,8,15,8,0)},e.deflateInit2=z,e.deflateReset=x,e.deflateResetKeep=y,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?-2:(t.state.gzhead=e,0):-2},e.deflate=function(t,e){var a,n,s,h;if(!t||!t.state||e>5||e<0)return t?l(t,-2):-2;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||666===n.status&&4!==e)return l(t,0===t.avail_out?-5:-2);if(n.strm=t,a=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,c(n,31),c(n,139),c(n,8),n.gzhead?(c(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),c(n,255&n.gzhead.time),c(n,n.gzhead.time>>8&255),c(n,n.gzhead.time>>16&255),c(n,n.gzhead.time>>24&255),c(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),c(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(c(n,255&n.gzhead.extra.length),c(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=o(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(c(n,0),c(n,0),c(n,0),c(n,0),c(n,0),c(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),c(n,3),n.status=113);else{var g=8+(n.w_bits-8<<4)<<8;g|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(g|=32),g+=31-g%31,n.status=113,w(n,g),0!==n.strstart&&(w(n,t.adler>>>16),w(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending!==n.pending_buf_size));)c(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindexs&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===h&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),f(t),s=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindexs&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===h&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&f(t),n.pending+2<=n.pending_buf_size&&(c(n,255&t.adler),c(n,t.adler>>8&255),t.adler=0,n.status=113)):n.status=113),0!==n.pending){if(f(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&d(e)<=d(a)&&4!==e)return l(t,-5);if(666===n.status&&0!==t.avail_in)return l(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&666!==n.status){var p=2===n.strategy?function(t,e){for(var a;;){if(0===t.lookahead&&(b(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,a=r._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(u(t,!1),0===t.strm.avail_out)?1:2}(n,e):3===n.strategy?function(t,e){for(var a,i,n,s,o=t.window;;){if(t.lookahead<=258){if(b(t),t.lookahead<=258&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=o[n=t.strstart-1])===o[++n]&&i===o[++n]&&i===o[++n]){s=t.strstart+258;do{}while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=r._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=r._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(u(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(u(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(u(t,!1),0===t.strm.avail_out)?1:2}(n,e):i[n.level].func(n,e);if(3!==p&&4!==p||(n.status=666),1===p||3===p)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===p&&(1===e?r._tr_align(n):5!==e&&(r._tr_stored_block(n,0,0,!1),3===e&&(_(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),f(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(c(n,255&t.adler),c(n,t.adler>>8&255),c(n,t.adler>>16&255),c(n,t.adler>>24&255),c(n,255&t.total_in),c(n,t.total_in>>8&255),c(n,t.total_in>>16&255),c(n,t.total_in>>24&255)):(w(n,t.adler>>>16),w(n,65535&t.adler)),f(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?l(t,-2):(t.state=null,113===e?l(t,-3):0):-2},e.deflateSetDictionary=function(t,e){var a,i,r,o,h,l,d,f,u=e.length;if(!t||!t.state)return-2;if(2===(o=(a=t.state).wrap)||1===o&&42!==a.status||a.lookahead)return-2;for(1===o&&(t.adler=s(t.adler,e,u,0)),a.wrap=0,u>=a.w_size&&(0===o&&(_(a.head),a.strstart=0,a.block_start=0,a.insert=0),f=new n.Buf8(a.w_size),n.arraySet(f,e,u-a.w_size,a.w_size,0),e=f,u=a.w_size),h=t.avail_in,l=t.next_in,d=t.input,t.avail_in=u,t.next_in=0,t.input=e,b(a);a.lookahead>=3;){i=a.strstart,r=a.lookahead-2;do{a.ins_h=(a.ins_h<=0;)t[e]=0}var r=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],s=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],h=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],l=new Array(576);n(l);var d=new Array(60);n(d);var _=new Array(512);n(_);var f=new Array(256);n(f);var u=new Array(29);n(u);var c,w,g,b=new Array(30);function p(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function m(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function v(t){return t<256?_[t]:_[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function y(t,e,a){t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function B(t,e,a){var i,n,r=new Array(16),s=0;for(i=1;i<=15;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=z(r[o]++,o))}}function S(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function E(t){t.bi_valid>8?k(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function A(t,e,a,i){var n=2*e,r=2*a;return t[n]>1;a>=1;a--)Z(t,r,a);n=h;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Z(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,Z(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a,i,n,r,s,o,h=e.dyn_tree,l=e.max_code,d=e.stat_desc.static_tree,_=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,w=0;for(r=0;r<=15;r++)t.bl_count[r]=0;for(h[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<573;a++)(r=h[2*h[2*(i=t.heap[a])+1]+1]+1)>c&&(r=c,w++),h[2*i+1]=r,i>l||(t.bl_count[r]++,s=0,i>=u&&(s=f[i-u]),o=h[2*i],t.opt_len+=o*(r+s),_&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==w){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,w-=2}while(w>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)(n=t.heap[--a])>l||(h[2*n+1]!==r&&(t.opt_len+=(r-h[2*n+1])*h[2*n],h[2*n+1]=r),i--)}}(t,e),B(r,l,t.bl_count)}function N(t,e,a){var i,n,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o>=7;i<30;i++)for(b[i]=n<<7,t=0;t<1<0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),C(t,t.l_desc),C(t,t.d_desc),s=function(t){var e;for(N(t,t.dyn_ltree,t.l_desc.max_code),N(t,t.dyn_dtree,t.d_desc.max_code),C(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(r=t.static_len+3+7>>>3)<=n&&(n=r)):n=r=a+5,a+4<=n&&-1!==e?D(t,e,a,i):4===t.strategy||r===n?(y(t,2+(i?1:0),3),R(t,l,d)):(y(t,4+(i?1:0),3),function(t,e,a,i){var n;for(y(t,e-257,5),y(t,a-1,5),y(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(f[a]+256+1)]++,t.dyn_dtree[2*v(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){y(t,2,3),x(t,256,l),function(t){16===t.bi_valid?(k(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},107:function(t,e,a){"use strict";var i=a(108),n=a(18),r=a(62),s=a(64),o=a(49),h=a(63),l=a(111),d=Object.prototype.toString;function _(t){if(!(this instanceof _))return new _(t);this.options=n.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var a=i.inflateInit2(this.strm,e.windowBits);if(a!==s.Z_OK)throw new Error(o[a]);if(this.header=new l,i.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=r.string2buf(e.dictionary):"[object ArrayBuffer]"===d.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=i.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[a])}function f(t,e){var a=new _(e);if(a.push(t,!0),a.err)throw a.msg||o[a.err];return a.result}_.prototype.push=function(t,e){var a,o,h,l,_,f=this.strm,u=this.options.chunkSize,c=this.options.dictionary,w=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?f.input=r.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new n.Buf8(u),f.next_out=0,f.avail_out=u),(a=i.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&c&&(a=i.inflateSetDictionary(this.strm,c)),a===s.Z_BUF_ERROR&&!0===w&&(a=s.Z_OK,w=!1),a!==s.Z_STREAM_END&&a!==s.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&a!==s.Z_STREAM_END&&(0!==f.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(h=r.utf8border(f.output,f.next_out),l=f.next_out-h,_=r.buf2string(f.output,h),f.next_out=l,f.avail_out=u-l,l&&n.arraySet(f.output,f.output,h,l,0),this.onData(_)):this.onData(n.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(w=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==s.Z_STREAM_END);return a===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(a=i.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},_.prototype.onData=function(t){this.chunks.push(t)},_.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=_,e.inflate=f,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},e.ungzip=f},108:function(t,e,a){"use strict";var i=a(18),n=a(60),r=a(61),s=a(109),o=a(110);function h(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function l(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new i.Buf32(852),e.distcode=e.distdyn=new i.Buf32(592),e.sane=1,e.back=-1,0):-2}function _(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,d(t)):-2}function f(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?-2:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,_(t))):-2}function u(t,e){var a,i;return t?(i=new l,t.state=i,i.window=null,0!==(a=f(t,e))&&(t.state=null),a):-2}var c,w,g=!0;function b(t){if(g){var e;for(c=new i.Buf32(512),w=new i.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,c,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,w,0,t.work,{bits:5}),g=!1}t.lencode=c,t.lenbits=9,t.distcode=w,t.distbits=5}function p(t,e,a,n){var r,s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(i.arraySet(s.window,e,a-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>n&&(r=n),i.arraySet(s.window,e,a-n,r,s.wnext),(n-=r)?(i.arraySet(s.window,e,a-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,a.check=r(a.check,D,2,0),w=0,g=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&w)<<8)+(w>>8))%31){t.msg="incorrect header check",a.mode=30;break}if(8!=(15&w)){t.msg="unknown compression method",a.mode=30;break}if(g-=4,R=8+(15&(w>>>=4)),0===a.wbits)a.wbits=R;else if(R>a.wbits){t.msg="invalid window size",a.mode=30;break}a.dmax=1<>8&1),512&a.flags&&(D[0]=255&w,D[1]=w>>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0,a.mode=3;case 3:for(;g<32;){if(0===u)break t;u--,w+=l[_++]<>>8&255,D[2]=w>>>16&255,D[3]=w>>>24&255,a.check=r(a.check,D,4,0)),w=0,g=0,a.mode=4;case 4:for(;g<16;){if(0===u)break t;u--,w+=l[_++]<>8),512&a.flags&&(D[0]=255&w,D[1]=w>>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0,a.mode=5;case 5:if(1024&a.flags){for(;g<16;){if(0===u)break t;u--,w+=l[_++]<>>8&255,a.check=r(a.check,D,2,0)),w=0,g=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&((k=a.length)>u&&(k=u),k&&(a.head&&(R=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),i.arraySet(a.head.extra,l,_,k,R)),512&a.flags&&(a.check=r(a.check,l,k,_)),u-=k,_+=k,a.length-=k),a.length))break t;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===u)break t;k=0;do{R=l[_+k++],a.head&&R&&a.length<65536&&(a.head.name+=String.fromCharCode(R))}while(R&&k>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=12;break;case 10:for(;g<32;){if(0===u)break t;u--,w+=l[_++]<>>=7&g,g-=7&g,a.mode=27;break}for(;g<3;){if(0===u)break t;u--,w+=l[_++]<>>=1)){case 0:a.mode=14;break;case 1:if(b(a),a.mode=20,6===e){w>>>=2,g-=2;break t}break;case 2:a.mode=17;break;case 3:t.msg="invalid block type",a.mode=30}w>>>=2,g-=2;break;case 14:for(w>>>=7&g,g-=7&g;g<32;){if(0===u)break t;u--,w+=l[_++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=30;break}if(a.length=65535&w,w=0,g=0,a.mode=15,6===e)break t;case 15:a.mode=16;case 16:if(k=a.length){if(k>u&&(k=u),k>c&&(k=c),0===k)break t;i.arraySet(d,l,_,k,f),u-=k,_+=k,c-=k,f+=k,a.length-=k;break}a.mode=12;break;case 17:for(;g<14;){if(0===u)break t;u--,w+=l[_++]<>>=5,g-=5,a.ndist=1+(31&w),w>>>=5,g-=5,a.ncode=4+(15&w),w>>>=4,g-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=30;break}a.have=0,a.mode=18;case 18:for(;a.have>>=3,g-=3}for(;a.have<19;)a.lens[U[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,N={bits:a.lenbits},C=o(0,a.lens,0,19,a.lencode,0,a.work,N),a.lenbits=N.bits,C){t.msg="invalid code lengths set",a.mode=30;break}a.have=0,a.mode=19;case 19:for(;a.have>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=z,g-=z,a.lens[a.have++]=S;else{if(16===S){for(I=z+2;g>>=z,g-=z,0===a.have){t.msg="invalid bit length repeat",a.mode=30;break}R=a.lens[a.have-1],k=3+(3&w),w>>>=2,g-=2}else if(17===S){for(I=z+3;g>>=z)),w>>>=3,g-=3}else{for(I=z+7;g>>=z)),w>>>=7,g-=7}if(a.have+k>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=30;break}for(;k--;)a.lens[a.have++]=R}}if(30===a.mode)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=30;break}if(a.lenbits=9,N={bits:a.lenbits},C=o(1,a.lens,0,a.nlen,a.lencode,0,a.work,N),a.lenbits=N.bits,C){t.msg="invalid literal/lengths set",a.mode=30;break}if(a.distbits=6,a.distcode=a.distdyn,N={bits:a.distbits},C=o(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,N),a.distbits=N.bits,C){t.msg="invalid distances set",a.mode=30;break}if(a.mode=20,6===e)break t;case 20:a.mode=21;case 21:if(u>=6&&c>=258){t.next_out=f,t.avail_out=c,t.next_in=_,t.avail_in=u,a.hold=w,a.bits=g,s(t,v),f=t.next_out,d=t.output,c=t.avail_out,_=t.next_in,l=t.input,u=t.avail_in,w=a.hold,g=a.bits,12===a.mode&&(a.back=-1);break}for(a.back=0;B=(O=a.lencode[w&(1<>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>E)])>>>16&255,S=65535&O,!(E+(z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=E,g-=E,a.back+=E}if(w>>>=z,g-=z,a.back+=z,a.length=S,0===B){a.mode=26;break}if(32&B){a.back=-1,a.mode=12;break}if(64&B){t.msg="invalid literal/length code",a.mode=30;break}a.extra=15&B,a.mode=22;case 22:if(a.extra){for(I=a.extra;g>>=a.extra,g-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;B=(O=a.distcode[w&(1<>>16&255,S=65535&O,!((z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>E)])>>>16&255,S=65535&O,!(E+(z=O>>>24)<=g);){if(0===u)break t;u--,w+=l[_++]<>>=E,g-=E,a.back+=E}if(w>>>=z,g-=z,a.back+=z,64&B){t.msg="invalid distance code",a.mode=30;break}a.offset=S,a.extra=15&B,a.mode=24;case 24:if(a.extra){for(I=a.extra;g>>=a.extra,g-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=30;break}a.mode=25;case 25:if(0===c)break t;if(k=v-c,a.offset>k){if((k=a.offset-k)>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=30;break}k>a.wnext?(k-=a.wnext,y=a.wsize-k):y=a.wnext-k,k>a.length&&(k=a.length),x=a.window}else x=d,y=f-a.offset,k=a.length;k>c&&(k=c),c-=k,a.length-=k;do{d[f++]=x[y++]}while(--k);0===a.length&&(a.mode=21);break;case 26:if(0===c)break t;d[f++]=a.length,c--,a.mode=21;break;case 27:if(a.wrap){for(;g<32;){if(0===u)break t;u--,w|=l[_++]<>>=v=m>>>24,c-=v,0===(v=m>>>16&255))S[r++]=65535&m;else{if(!(16&v)){if(0==(64&v)){m=w[(65535&m)+(u&(1<>>=v,c-=v),c<15&&(u+=B[i++]<>>=v=m>>>24,c-=v,!(16&(v=m>>>16&255))){if(0==(64&v)){m=g[(65535&m)+(u&(1<h){t.msg="invalid distance too far back",a.mode=30;break t}if(u>>>=v,c-=v,y>(v=r-s)){if((v=y-v)>d&&a.sane){t.msg="invalid distance too far back",a.mode=30;break t}if(x=0,z=f,0===_){if(x+=l-v,v2;)S[r++]=z[x++],S[r++]=z[x++],S[r++]=z[x++],k-=3;k&&(S[r++]=z[x++],k>1&&(S[r++]=z[x++]))}else{x=r-y;do{S[r++]=S[x++],S[r++]=S[x++],S[r++]=S[x++],k-=3}while(k>2);k&&(S[r++]=S[x++],k>1&&(S[r++]=S[x++]))}break}}break}}while(i>3,u&=(1<<(c-=k<<3))-1,t.next_in=i,t.next_out=r,t.avail_in=i=1&&0===D[S];S--);if(E>S&&(E=S),0===S)return l[d++]=20971520,l[d++]=20971520,f.bits=1,0;for(B=1;B0&&(0===t||1!==S))return-1;for(U[1]=0,x=1;x<15;x++)U[x+1]=U[x]+D[x];for(z=0;z852||2===t&&C>592)return 1;for(;;){m=x-Z,_[z]p?(v=T[F+_[z]],k=I[O+_[z]]):(v=96,k=0),u=1<>Z)+(c-=u)]=m<<24|v<<16|k|0}while(0!==c);for(u=1<>=1;if(0!==u?(N&=u-1,N+=u):N=0,z++,0==--D[x]){if(x===S)break;x=e[a+_[z]]}if(x>E&&(N&g)!==w){for(0===Z&&(Z=E),b+=B,R=1<<(A=x-Z);A+Z852||2===t&&C>592)return 1;l[w=N&g]=E<<24|A<<16|b-d|0}}return 0!==N&&(l[b+N]=x-Z<<24|64<<16|0),f.bits=E,0}},111:function(t,e,a){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},18:function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)n(a,i)&&(t[i]=a[i])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var r={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(a,a+i),n);else for(var r=0;r>>16&65535|0,s=0;0!==a;){a-=s=a>2e3?2e3:a;do{r=r+(n=n+e[i++]|0)|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}},61:function(t,e,a){"use strict";var i=function(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}();t.exports=function(t,e,a,n){var r=i,s=n+a;t^=-1;for(var o=n;o>>8^r[255&(t^e[o])];return-1^t}},62:function(t,e,a){"use strict";var i=a(18),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){r=!1}for(var s=new i.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function h(t,e){if(e<65534&&(t.subarray&&r||!t.subarray&&n))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var a="",s=0;s>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},e.buf2binstring=function(t){return h(t,t.length)},e.binstring2buf=function(t){for(var e=new i.Buf8(t.length),a=0,n=e.length;a4)l[i++]=65533,a+=r-1;else{for(n&=2===r?31:3===r?15:7;r>1&&a1?l[i++]=65533:n<65536?l[i++]=n:(n-=65536,l[i++]=55296|n>>10&1023,l[i++]=56320|1023&n)}return h(l,i)},e.utf8border=function(t,e){var a;for((e=e||t.length)>t.length&&(e=t.length),a=e-1;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+s[t[a]]>e?a:e}},63:function(t,e,a){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},64:function(t,e,a){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}}]); \ No newline at end of file diff --git a/public/t4/recorder.min.js b/public/t4/recorder.min.js new file mode 100644 index 00000000..a28275fe --- /dev/null +++ b/public/t4/recorder.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Recorder=t():e.Recorder=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function o(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(i,n,function(t){return e[t]}.bind(null,n));return i},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";(function(t){var o=t.AudioContext||t.webkitAudioContext,i=function(e){if(!i.isRecordingSupported())throw new Error("Recording is not supported in this browser");e||(e={}),this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,reuseWorker:!1,wavBitDepth:16},e),this.encodedSamplePosition=0};i.isRecordingSupported=function(){return o&&t.navigator&&t.navigator.mediaDevices&&t.navigator.mediaDevices.getUserMedia&&t.WebAssembly},i.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach((function(e){e.stop()})):this.stream.stop(),delete this.stream),this.audioContext&&this.closeAudioContext&&(this.audioContext.close(),delete this.audioContext)},i.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],o=0;o{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},i.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},i.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},i.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,o)=>{var i=o=>{switch(o.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=o.data.samplePosition,e(o.data.page);break;case"done":this.encoder.removeEventListener("message",i),this.finish()}};this.encoder.addEventListener("message",i),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},i.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,o)=>{var i=o=>{"flushed"===o.data.message&&(t.removeEventListener("message",i),this.onpause(),e())};t.addEventListener("message",i),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},i.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},i.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},i.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(e)).then(e=>{this.sourceNode=e,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},i.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var o=i=>{"done"===i.data.message&&(e.removeEventListener("message",o),t())};e.addEventListener("message",o),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},i.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},i.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},i.prototype.streamPage=function(e){this.ondataavailable(e)},i.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,o){return e.set(o,t),t+o.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},i.prototype.ondataavailable=function(){},i.prototype.onpause=function(){},i.prototype.onresume=function(){},i.prototype.onstart=function(){},i.prototype.onstop=function(){},e.exports=i}).call(this,o(1))},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o}])})); \ No newline at end of file diff --git a/public/t4/rlottie-wasm.js b/public/t4/rlottie-wasm.js new file mode 100644 index 00000000..773ad1ab --- /dev/null +++ b/public/t4/rlottie-wasm.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":522,"maximum":522+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5275232,DYNAMICTOP_PTR=32192;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="rlottie-wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function __ZN7VRegionC1ERK5VRect(){err("missing function: _ZN7VRegionC1ERK5VRect");abort(-1)}function __ZN7VRegionD1Ev(){err("missing function: _ZN7VRegionD1Ev");abort(-1)}function __ZN7VRegionpLERK5VRect(){err("missing function: _ZN7VRegionpLERK5VRect");abort(-1)}function __ZNK7VRegion12boundingRectEv(){err("missing function: _ZNK7VRegion12boundingRectEv");abort(-1)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___map_file(pathname,size){setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){abort()}var setjmpId=0;function _saveSetjmp(env,label,table,size){env=env|0;label=label|0;table=table|0;size=size|0;var i=0;setjmpId=setjmpId+1|0;HEAP32[env>>2]=setjmpId;while((i|0)<(size|0)){if((HEAP32[table+(i<<3)>>2]|0)==0){HEAP32[table+(i<<3)>>2]=setjmpId;HEAP32[table+((i<<3)+4)>>2]=label;HEAP32[table+((i<<3)+8)>>2]=0;setTempRet0(size|0);return table|0}i=i+1|0}size=size*2|0;table=_realloc(table|0,8*(size+1|0)|0)|0;table=_saveSetjmp(env|0,label|0,table|0,size|0)|0;setTempRet0(size|0);return table|0}function _testSetjmp(id,table,size){id=id|0;table=table|0;size=size|0;var i=0,curr=0;while((i|0)<(size|0)){curr=HEAP32[table+(i<<3)>>2]|0;if((curr|0)==0)break;if((curr|0)==(id|0)){return HEAP32[table+((i<<3)+4)>>2]|0}i=i+1|0}return 0}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _getTempRet0(){return getTempRet0()|0}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _setTempRet0($i){setTempRet0($i|0)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"o":__ZN7VRegionC1ERK5VRect,"m":__ZN7VRegionD1Ev,"n":__ZN7VRegionpLERK5VRect,"x":__ZNK7VRegion12boundingRectEv,"a":___assert_fail,"u":___map_file,"h":___sys_fcntl64,"z":___sys_ioctl,"t":___sys_munmap,"A":___sys_open,"d":_abort,"c":_emscripten_longjmp,"q":_emscripten_memcpy_big,"r":_emscripten_resize_heap,"v":_environ_get,"w":_environ_sizes_get,"g":_fd_close,"y":_fd_read,"p":_fd_seek,"f":_fd_write,"b":_getTempRet0,"k":invoke_iii,"B":invoke_vi,"memory":wasmMemory,"i":_round,"l":_saveSetjmp,"j":_setTempRet0,"s":_strftime_l,"table":wasmTable,"e":_testSetjmp};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["C"]).apply(null,arguments)};var _lottie_init=Module["_lottie_init"]=function(){return(_lottie_init=Module["_lottie_init"]=Module["asm"]["D"]).apply(null,arguments)};var _lottie_resize=Module["_lottie_resize"]=function(){return(_lottie_resize=Module["_lottie_resize"]=Module["asm"]["E"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["F"]).apply(null,arguments)};var _lottie_load_from_data=Module["_lottie_load_from_data"]=function(){return(_lottie_load_from_data=Module["_lottie_load_from_data"]=Module["asm"]["G"]).apply(null,arguments)};var _lottie_buffer=Module["_lottie_buffer"]=function(){return(_lottie_buffer=Module["_lottie_buffer"]=Module["asm"]["H"]).apply(null,arguments)};var _lottie_destroy=Module["_lottie_destroy"]=function(){return(_lottie_destroy=Module["_lottie_destroy"]=Module["asm"]["I"]).apply(null,arguments)};var _lottie_render=Module["_lottie_render"]=function(){return(_lottie_render=Module["_lottie_render"]=Module["asm"]["J"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["K"]).apply(null,arguments)};var _realloc=Module["_realloc"]=function(){return(_realloc=Module["_realloc"]=Module["asm"]["L"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["M"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["N"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["O"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["P"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Q"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["R"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["T"]).apply(null,arguments)};function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["asm"]=asm;Module["intArrayFromString"]=intArrayFromString;Module["cwrap"]=cwrap;Module["allocate"]=allocate;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/t4/rlottie-wasm.wasm b/public/t4/rlottie-wasm.wasm new file mode 100644 index 00000000..7f299645 Binary files /dev/null and b/public/t4/rlottie-wasm.wasm differ diff --git a/public/t4/rlottie.worker.js b/public/t4/rlottie.worker.js new file mode 100644 index 00000000..d7d2600a --- /dev/null +++ b/public/t4/rlottie.worker.js @@ -0,0 +1,182 @@ +importScripts('rlottie-wasm.js'); + +function RLottieItem(reqId, jsString, width, height, fps) { + this.stringOnWasmHeap = null; + this.handle = null; + this.frameCount = 0; + + this.reqId = reqId; + this.width = width; + this.height = height; + this.fps = Math.max(1, Math.min(60, fps || 60)); + + this.dead = false; + + this.init(jsString, width, height); + + reply('loaded', this.reqId, this.frameCount, this.fps); +} + +RLottieItem.prototype.init = function(jsString) { + try { + this.handle = RLottieWorker.Api.init(); + + this.stringOnWasmHeap = allocate(intArrayFromString(jsString), 'i8', 0); + + this.frameCount = RLottieWorker.Api.loadFromData(this.handle, this.stringOnWasmHeap); + + RLottieWorker.Api.resize(this.handle, this.width, this.height); + } catch(e) { + console.error('init RLottieItem error:', e); + } +}; + +RLottieItem.prototype.render = function(frameNo, clamped) { + if(this.dead) return; + //return; + + if(this.frameCount < frameNo || frameNo < 0) { + return; + } + + try { + RLottieWorker.Api.render(this.handle, frameNo); + + var bufferPointer = RLottieWorker.Api.buffer(this.handle); + + var data = Module.HEAPU8.subarray(bufferPointer, bufferPointer + (this.width * this.height * 4)); + + if(!clamped) { + clamped = new Uint8ClampedArray(data); + } else { + clamped.set(data); + } + + reply('frame', this.reqId, frameNo, clamped); + } catch(e) { + console.error('Render error:', e); + this.dead = true; + } +}; + +RLottieItem.prototype.destroy = function() { + this.dead = true; + + RLottieWorker.Api.destroy(this.handle); +}; + +var RLottieWorker = (function() { + var worker = {}; + worker.Api = {}; + //worker.lottieHandle = null; + + function initApi() { + worker.Api = { + init: Module.cwrap('lottie_init', '', []), + destroy: Module.cwrap('lottie_destroy', '', ['number']), + resize: Module.cwrap('lottie_resize', '', ['number', 'number', 'number']), + buffer: Module.cwrap('lottie_buffer', 'number', ['number']), + render: Module.cwrap('lottie_render', '', ['number', 'number']), + loadFromData: Module.cwrap('lottie_load_from_data', 'number', ['number', 'number']), + }; + } + + worker.init = function() { + initApi(); + reply('ready'); + }; + + return worker; +}()); + +Module.onRuntimeInitialized = function() { + RLottieWorker.init(); +}; + +var items = {}; +var queryableFunctions = { + loadFromData: function(reqId, jsString, width, height) { + try { + var json_parsed = jsString;//JSON.parse(jsString); + if(!json_parsed.tgs) { + throw new Error('Invalid file'); + } + + items[reqId] = new RLottieItem(reqId, JSON.stringify(jsString), width, height, json_parsed.fr); + } catch(e) {} + }, + destroy: function(reqId) { + items[reqId].destroy(); + delete items[reqId]; + }, + renderFrame: function(reqId, frameNo, clamped) { + //console.log('worker renderFrame', reqId, frameNo, clamped); + items[reqId].render(frameNo, clamped); + } +}; + +function defaultReply(message) { + // your default PUBLIC function executed only when main page calls the queryableWorker.postMessage() method directly + // do something +} + +/** + * Returns true when run in WebKit derived browsers. + * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to + * transfer data between WebWorkers and the main thread. + * https://github.com/mapbox/mapbox-gl-js/issues/8771 + * + * This should be removed once the underlying Safari issue is fixed. + * + * @private + * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context, + * let the calling scope pass in the global scope object. + * @returns {boolean} + */ +var _isSafari = null; +function isSafari(scope) { + if(_isSafari == null) { + var userAgent = scope.navigator ? scope.navigator.userAgent : null; + _isSafari = !!scope.safari || + !!(userAgent && (/\b(iPad|iPhone|iPod)\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome')))); + } + return _isSafari; +} + +function reply() { + if(arguments.length < 1) { + throw new TypeError('reply - not enough arguments'); + } + + //if(arguments[0] == 'frame') return; + + var args = Array.prototype.slice.call(arguments, 1); + if(isSafari(self)) { + postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': args }); + } else { + var transfer = []; + for(var i = 0; i < args.length; i++) { + if(args[i] instanceof ArrayBuffer) { + transfer.push(args[i]); + } + + if(args[i].buffer && args[i].buffer instanceof ArrayBuffer) { + transfer.push(args[i].buffer); + //args[i] = args[i].buffer; + } + } + + postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': args }, transfer); + } + + //postMessage({ 'queryMethodListener': arguments[0], 'queryMethodArguments': Array.prototype.slice.call(arguments, 1) }); + //console.error(transfer, args); +} + +onmessage = function(oEvent) { + if(oEvent.data instanceof Object && oEvent.data.hasOwnProperty('queryMethod') && oEvent.data.hasOwnProperty('queryMethodArguments')) { + queryableFunctions[oEvent.data.queryMethod].apply(self, oEvent.data.queryMethodArguments); + } else { + defaultReply(oEvent.data); + } +}; diff --git a/public/t4/sw.js b/public/t4/sw.js new file mode 100644 index 00000000..a428e5e2 --- /dev/null +++ b/public/t4/sw.js @@ -0,0 +1,9 @@ +var serviceWorkerOption = {"assets":[]}; + + !function(t){var e={};function r(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(i,o,function(e){return t[e]}.bind(null,o));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){(function(){var e;function r(t,e,r){null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function i(){return new r(null)}var o="undefined"!=typeof navigator;o&&"Microsoft Internet Explorer"==navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(var s=32767&e,h=e>>15;--n>=0;){var u=32767&this[t],a=this[t++]>>15,f=h*u+a*s;o=((u=s*u+((32767&f)<<15)+r[i]+(1073741823&o))>>>30)+(f>>>15)+h*a+(o>>>30),r[i++]=1073741823&u}return o},e=30):o&&"Netscape"!=navigator.appName?(r.prototype.am=function(t,e,r,i,o,n){for(;--n>=0;){var s=e*this[t++]+r[i]+o;o=Math.floor(s/67108864),r[i++]=67108863&s}return o},e=26):(r.prototype.am=function(t,e,r,i,o,n){for(var s=16383&e,h=e>>14;--n>=0;){var u=16383&this[t],a=this[t++]>>14,f=h*u+a*s;o=((u=s*u+((16383&f)<<14)+r[i]+o)>>28)+(f>>14)+h*a,r[i++]=268435455&u}return o},e=28),r.prototype.DB=e,r.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function p(t){this.m=t}function l(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function b(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function T(){}function S(t){return t}function w(t){this.r2=i(),this.q3=i(),r.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}p.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},p.prototype.revert=function(t){return t},p.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},p.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},p.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},l.prototype.convert=function(t){var e=i();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(r.ZERO)>0&&this.m.subTo(e,e),e},l.prototype.revert=function(t){var e=i();return t.copyTo(e),this.reduce(e),e},l.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,i,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},l.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},l.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},r.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},r.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},r.prototype.fromString=function(t,e){var i;if(16==e)i=4;else if(8==e)i=3;else if(256==e)i=8;else if(2==e)i=1;else if(32==e)i=5;else{if(4!=e)return void this.fromRadix(t,e);i=2}this.t=0,this.s=0;for(var o=t.length,n=!1,s=0;--o>=0;){var h=8==i?255&t[o]:a(t,o);h<0?"-"==t.charAt(o)&&(n=!0):(n=!1,0==s?this[this.t++]=h:s+i>this.DB?(this[this.t-1]|=(h&(1<>this.DB-s):this[this.t-1]|=h<=this.DB&&(s-=this.DB))}8==i&&0!=(128&t[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},r.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},r.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>o|h,h=(this[r]&n)<=0;--r)e[r]=0;e[s]=h,e.t=this.t+s+1,e.s=this.s,e.clamp()},r.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var i=t%this.DB,o=this.DB-i,n=(1<>i;for(var s=r+1;s>i;i>0&&(e[this.t-r-1]|=(this.s&n)<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i-=t.s}e.s=i<0?-1:0,i<-1?e[r++]=this.DV+i:i>0&&(e[r++]=i),e.t=r,e.clamp()},r.prototype.multiplyTo=function(t,e){var i=this.abs(),o=t.abs(),n=i.t;for(e.t=n+o.t;--n>=0;)e[n]=0;for(n=0;n=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},r.prototype.divRemTo=function(t,e,o){var n=t.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(f,h),s.lShiftTo(f,o)):(n.copyTo(h),s.copyTo(o));var p=h.t,l=h[p-1];if(0!=l){var y=l*(1<1?h[p-2]>>this.F2:0),d=this.FV/y,m=(1<=0&&(o[o.t++]=1,o.subTo(T,o)),r.ONE.dlShiftTo(p,T),T.subTo(h,h);h.t=0;){var S=o[--g]==l?this.DM:Math.floor(o[g]*d+(o[g-1]+v)*m);if((o[g]+=h.am(0,S,o,b,0,p))0&&o.rShiftTo(f,o),u<0&&r.ZERO.subTo(o,o)}}},r.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},r.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},r.prototype.exp=function(t,e){if(t>4294967295||t<1)return r.ONE;var o=i(),n=i(),s=e.convert(this),h=c(t)-1;for(s.copyTo(o);--h>=0;)if(e.sqrTo(o,n),(t&1<0)e.mulTo(n,s,o);else{var u=o;o=n,n=u}return e.revert(o)},r.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,i=(1<0)for(h>h)>0&&(o=!0,n=u(r));s>=0;)h>(h+=this.DB-e)):(r=this[s]>>(h-=e)&i,h<=0&&(h+=this.DB,--s)),r>0&&(o=!0),o&&(n+=u(r));return o?n:"0"},r.prototype.negate=function(){var t=i();return r.ZERO.subTo(this,t),t},r.prototype.abs=function(){return this.s<0?this.negate():this},r.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+c(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(t){var e=i();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(r.ZERO)>0&&t.subTo(e,e),e},r.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new p(e):new l(e),this.exp(t,r)},r.ZERO=f(0),r.ONE=f(1),T.prototype.convert=S,T.prototype.revert=S,T.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},T.prototype.sqrTo=function(t,e){t.squareTo(e)},w.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=i();return t.copyTo(e),this.reduce(e),e},w.prototype.revert=function(t){return t},w.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},w.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},w.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var B,A,D,M=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/M[M.length-1];function E(){var t;t=(new Date).getTime(),A[D++]^=255&t,A[D++]^=t>>8&255,A[D++]^=t>>16&255,A[D++]^=t>>24&255,D>=C&&(D-=C)}if(r.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},r.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),o=f(r),n=i(),s=i(),h="";for(this.divRemTo(o,n,s);n.signum()>0;)h=(r+s.intValue()).toString(t).substr(1)+h,n.divRemTo(o,n,s);return s.intValue().toString(t)+h},r.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var i=this.chunkSize(e),o=Math.pow(e,i),n=!1,s=0,h=0,u=0;u=i&&(this.dMultiply(o),this.dAddOffset(h,0),s=0,h=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(h,0)),n&&r.ZERO.subTo(this,this)},r.prototype.fromNumber=function(t,e,i){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo(r.ONE.shiftLeft(t-1),d,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(r.ONE.shiftLeft(t-1),this);else{var o=new Array,n=7&t;o.length=1+(t>>3),e.nextBytes(o),n>0?o[0]&=(1<>=this.DB;if(t.t>=this.DB;i+=this.s}else{for(i+=this.s;r>=this.DB;i+=t.s}e.s=i<0?-1:0,i>0?e[r++]=i:i<-1&&(e[r++]=this.DV+i),e.t=r,e.clamp()},r.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},r.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},r.prototype.multiplyLowerTo=function(t,e,r){var i,o=Math.min(this.t+t.t,e);for(r.s=0,r.t=o;o>0;)r[--o]=0;for(i=r.t-this.t;o=0;)r[i]=0;for(i=Math.max(e-this.t,0);i0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r},r.prototype.millerRabin=function(t){var e=this.subtract(r.ONE),o=e.getLowestSetBit();if(o<=0)return!1;var n=e.shiftRight(o);(t=t+1>>1)>M.length&&(t=M.length);for(var s=i(),h=0;h>24},r.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,i=this.DB-t*this.DB%8,o=0;if(t-- >0)for(i>i)!=(this.s&this.DM)>>i&&(e[o++]=r|this.s<=0;)i<8?(r=(this[t]&(1<>(i+=this.DB-8)):(r=this[t]>>(i-=8)&255,i<=0&&(i+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==o&&(128&this.s)!=(128&r)&&++o,(o>0||r!=this.s)&&(e[o++]=r);return e},r.prototype.equals=function(t){return 0==this.compareTo(t)},r.prototype.min=function(t){return this.compareTo(t)<0?this:t},r.prototype.max=function(t){return this.compareTo(t)>0?this:t},r.prototype.and=function(t){var e=i();return this.bitwiseTo(t,y,e),e},r.prototype.or=function(t){var e=i();return this.bitwiseTo(t,d,e),e},r.prototype.xor=function(t){var e=i();return this.bitwiseTo(t,m,e),e},r.prototype.andNot=function(t){var e=i();return this.bitwiseTo(t,v,e),e},r.prototype.not=function(){for(var t=i(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var d=i();for(o.sqrTo(h[1],d);u<=y;)h[u]=i(),o.mulTo(d,h[u-2],h[u]),u+=2}var m,v,g=t.t-1,b=!0,T=i();for(n=c(t[g])-1;g>=0;){for(n>=a?m=t[g]>>n-a&y:(m=(t[g]&(1<0&&(m|=t[g-1]>>this.DB+n-a)),u=r;0==(1&m);)m>>=1,--u;if((n-=u)<0&&(n+=this.DB,--g),b)h[m].copyTo(s),b=!1;else{for(;u>1;)o.sqrTo(s,T),o.sqrTo(T,s),u-=2;u>0?o.sqrTo(s,T):(v=s,s=T,T=v),o.mulTo(T,h[m],s)}for(;g>=0&&0==(t[g]&1<=0?(i.subTo(o,i),e&&n.subTo(h,n),s.subTo(u,s)):(o.subTo(i,o),e&&h.subTo(n,h),u.subTo(s,u))}return 0!=o.compareTo(r.ONE)?r.ZERO:u.compareTo(t)>=0?u.subtract(t):u.signum()<0?(u.addTo(t,u),u.signum()<0?u.add(t):u):u},r.prototype.pow=function(t){return this.exp(t,new T)},r.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r,r=i}var o=e.getLowestSetBit(),n=r.getLowestSetBit();if(n<0)return e;for(o0&&(e.rShiftTo(n,e),r.rShiftTo(n,r));e.signum()>0;)(o=e.getLowestSetBit())>0&&e.rShiftTo(o,e),(o=r.getLowestSetBit())>0&&r.rShiftTo(o,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return n>0&&r.lShiftTo(n,r),r},r.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=M[M.length-1]){for(e=0;e>>8,A[D++]=255&L;D=0,E()}function x(){if(null==B){for(E(),(B=new F).init(A),D=0;D{const e=t.data,r=a[e.id];e.payload?r.resolve(e.payload):r.reject(),delete a[e.id]});let f=0;const c=t=>{try{const[,r,o,u]=/http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(t.request.url)||[];switch(h.debug("[fetch]:",t),o){case"stream":{const o=function(t){if(!t)return[0,0];const[,e]=t.split("="),r=e.split(", "),[i,o]=r[0].split("-");return[+i,+o||0]}(t.request.headers.get("Range"));let[c,p]=o;const y=JSON.parse(decodeURIComponent(u)),d=l;h.debug("[stream]",r,c,p),t.respondWith(Promise.race([(e=45e3,new Promise(t=>{setTimeout(()=>{t(new Response("",{status:408,statusText:"Request timed out."}))},e)})),new Promise((t,e)=>{const r=function(t,e,r){if(0===t[0]&&1===t[1])return new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":"bytes 0-1/"+(r||"*"),"Content-Length":"2","Content-Type":e||"video/mp4"}});return null}(o,y.mimeType,y.size);if(r)return t(r);const u=p&&p{let r=e.bytes;h.debug("[stream] requestFilePart result:",e);const o={"Accept-Ranges":"bytes","Content-Range":`bytes ${l}-${l+r.byteLength-1}/${y.size||"*"}`,"Content-Length":""+r.byteLength};y.mimeType&&(o["Content-Type"]=y.mimeType),i.isSafari&&(r=r.slice(c-l,p-l+1),o["Content-Range"]=`bytes ${c}-${c+r.byteLength-1}/${y.size||"*"}`,o["Content-Length"]=""+r.byteLength),t(new Response(r,{status:206,statusText:"Partial Content",headers:o}))}).catch(t=>{}),s.notifySomeone(m)})]));break}}}catch(e){t.respondWith(new Response("",{status:500,statusText:"Internal Server Error"}))}var e},p=()=>{u.onfetch=c};u.addEventListener("install",t=>{h("installing"),t.waitUntil(u.skipWaiting())}),u.addEventListener("activate",t=>{h("activating",u),t.waitUntil(u.clients.claim())}),u.onerror=t=>{h.error("error:",t)},u.onunhandledrejection=t=>{h.error("onunhandledrejection:",t)},u.onoffline=u.ononline=p,p();const l=524288},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSafari=e.isAppleMobile=e.isAndroid=e.isApple=e.userAgent=void 0,e.userAgent=navigator?navigator.userAgent:null,e.isApple=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),e.isAndroid=-1!=navigator.userAgent.toLowerCase().indexOf("android");const i="undefined"!=typeof window?window:self;e.isAppleMobile=(/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!i.MSStream,e.isSafari=!!("safari"in i)||!(!e.userAgent||!(/\b(iPad|iPhone|iPod)\b/.test(e.userAgent)||e.userAgent.match("Safari")&&!e.userAgent.match("Chrome")))},function(t,e,r){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),e.logger=e.LogLevels=void 0,function(t){t[t.log=1]="log",t[t.warn=2]="warn",t[t.error=4]="error",t[t.debug=8]="debug"}(i=e.LogLevels||(e.LogLevels={}));var o=Date.now();function n(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"}e.logger=function(t,e=i.log|i.warn|i.error){function r(...r){return e&i.log&&console.log(n(),"["+t+"]:",...r)}return e=i.error,r.warn=function(...r){return e&i.warn&&console.warn(n(),"["+t+"]:",...r)},r.info=function(...r){return e&i.log&&console.info(n(),"["+t+"]:",...r)},r.error=function(...r){return e&i.error&&console.error(n(),"["+t+"]:",...r)},r.trace=function(...r){return e&i.log&&console.trace(n(),"["+t+"]:",...r)},r.debug=function(...r){return e&i.debug&&console.debug(n(),"["+t+"]:",...r)},r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.deferredPromise=e.secureRandom=void 0;const i=r(5),o=r(0);e.secureRandom=new o.SecureRandom,e.deferredPromise=function(){let t={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...e)=>{t.lastNotify=e,t.listeners.forEach(t=>t(...e))},lastNotify:void 0,listeners:[],addNotifyListener:e=>{t.lastNotify&&e(...t.lastNotify),t.listeners.push(e)}},e=new Promise((r,i)=>{t.resolve=t=>{e.isFulfilled||(e.isFulfilled=!0,r(t))},t.reject=(...t)=>{e.isRejected||(e.isRejected=!0,i(...t))}});return e.finally(()=>{e.notify=null,e.listeners.length=0,e.lastNotify=null}),Object.assign(e,t),e},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return i.bytesToHex([...this])},set:function(t){this.set(i.bytesFromHex(t))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return e.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...t){return i.bufferConcats(this,...t)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(t){for(var e=this.length-1;e>=0;--e)t(this[e],e,this)},Array.prototype.findAndSplice=function(t){let e=this.findIndex(t);return-1!==e?this.splice(e,1)[0]:void 0},String.prototype.toHHMMSS=function(t=!1){const e=parseInt(this+"",10),r=Math.floor(e/3600);let i=Math.floor((e-3600*r)/60),o=e-3600*r-60*i;return r&&(t=!0),i<10&&(i=t?"0"+i:i),o<10&&(o="0"+o),(r?r+":":"")+i+":"+o}},function(t,e,r){"use strict"; +/*! + * Webogram v0.7.0 - messaging web application for MTProto + * https://github.com/zhukov/webogram + * Copyright (C) 2014 Igor Zhukov + * https://github.com/zhukov/webogram/blob/master/LICENSE + */Object.defineProperty(e,"__esModule",{value:!0}),e.getFileNameByLocation=e.nextRandomInt=e.addPadding=e.longFromInts=e.longToBytes=e.bytesToWordss=e.bytesFromWordss=e.bytesFromWords=e.longToInts=e.bufferConcats=e.bufferConcat=e.bytesFromArrayBuffer=e.convertToByteArray=e.convertToUint8Array=e.convertToArrayBuffer=e.bytesToArrayBuffer=e.bytesFromBigInt=e.bytesXor=e.bytesCmp=e.blobSafeMimeType=e.blobConstruct=e.dataUrlToBlob=e.base64ToBlob=e.uint6ToBase64=e.bytesToBase64=e.bytesFromHex=e.bytesToHex=e.bigStringInt=e.bigint=e.isObject=e.dT=void 0;const i=r(0);var o=Date.now();function n(t){return new i.BigInteger(t.toString(16),16)}function s(t){return new i.BigInteger(t,10)}function h(t){return t<26?t+65:t<52?t+71:t<62?t-4:62===t?43:63===t?47:65}function u(t,e){for(var r=atob(t),i=r.length,o=Math.ceil(i/1024),n=new Array(o),s=0;s{o.append(t)}),r=o.getBlob(i)}return r}function f(t){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4","application/json"].indexOf(t)?"application/octet-stream":t}function c(t){return new Uint8Array(t).buffer}function p(t){return void 0!==t.buffer?t:new Uint8Array(t)}function l(t,e){var r=t.byteLength||t.length,i=e.byteLength||e.length,o=new Uint8Array(r+i);return o.set(t instanceof ArrayBuffer?new Uint8Array(t):t,0),o.set(e instanceof ArrayBuffer?new Uint8Array(e):e,r),o.buffer}function y(t){var e=s(t).divideAndRemainder(n(4294967296));return[e[0].intValue(),e[1].intValue()]}function d(t){for(var e=t.words,r=t.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255);return i}e.dT=function(){return"["+((Date.now()-o)/1e3).toFixed(3)+"]"},e.isObject=function(t){return"object"==typeof t&&null!==t},e.bigint=n,e.bigStringInt=s,e.bytesToHex=function(t){t=t||[];for(var e=[],r=0;r>>e&24),2!==e&&i-n!=1||(r+=String.fromCharCode(h(o>>>18&63),h(o>>>12&63),h(o>>>6&63),h(63&o)),o=0);return r.replace(/A(?=A$|$)/g,"=")},e.uint6ToBase64=h,e.base64ToBlob=u,e.dataUrlToBlob=function(t){var e=t.split(",");return u(e[1],e[0].split(":")[1].split(";")[0])},e.blobConstruct=a,e.blobSafeMimeType=f,e.bytesCmp=function(t,e){var r=t.length;if(r!=e.length)return!1;for(var i=0;ie);)r=r.slice(1);return r},e.bytesToArrayBuffer=c,e.convertToArrayBuffer=function(t){return t instanceof ArrayBuffer?t:void 0!==t.buffer&&t.buffer.byteLength==t.length*t.BYTES_PER_ELEMENT?t.buffer:c(t)},e.convertToUint8Array=p,e.convertToByteArray=function(t){if(Array.isArray(t))return t;for(var e=[],r=0,i=(t=p(t)).length;re+=t.byteLength||t.length);var r=new Uint8Array(e);let i=0;return t.forEach(t=>{r.set(t instanceof ArrayBuffer?new Uint8Array(t):t,i),i+=t.byteLength||t.length}),r},e.longToInts=y,e.bytesFromWords=d,e.bytesFromWordss=function(t){for(var e=[],r=0;r<4*t.length;r++)e.push(t[r>>>2]>>>24-r%4*8&255);return e},e.bytesToWordss=function(t){let e;e=t instanceof ArrayBuffer?new Uint8Array(t):t;var r,i=e.length,o=[];for(r=0;r>>2]|=e[r]<<24-r%4*8;return new Uint32Array(o)},e.longToBytes=function(t){return d({words:y(t),sigBytes:8}).reverse()},e.longFromInts=function(t,e){return n(t).shiftLeft(32).add(n(e)).toString(10)},e.addPadding=function(t,e=16,r,o=!1,n=!1){let s=e-(t.byteLength||t.length)%e;if(s>0&&(s{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(r=>{r.length&&r.slice(t?0:-1).forEach(t=>{t.postMessage(...e)})})},o=(...t)=>{self.postMessage(...t)},n=()=>{};e.notifySomeone=e.isServiceWorker?i.bind(null,!1):e.isWebWorker?o:n,e.notifyAll=e.isServiceWorker?i.bind(null,!0):e.isWebWorker?o:n}]); \ No newline at end of file diff --git a/public/t4/waveWorker.min.js b/public/t4/waveWorker.min.js new file mode 100644 index 00000000..12c54ec2 --- /dev/null +++ b/public/t4/waveWorker.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.WaveWorker=t():e.WaveWorker=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";(function(t){var r;t.onmessage=function(e){switch(e.data.command){case"encode":r&&r.record(e.data.buffers);break;case"done":r&&(r.requestData(),r=null);break;case"close":t.close();break;case"init":r=new n(e.data),t.postMessage({message:"ready"})}};var n=function(e){if(!(e=Object.assign({wavBitDepth:16},e)).wavSampleRate)throw new Error("wavSampleRate value is required to record. NOTE: Audio is not resampled!");if(-1===[8,16,24,32].indexOf(e.wavBitDepth))throw new Error("Only 8, 16, 24 and 32 bits per sample are supported");this.bitDepth=e.wavBitDepth,this.sampleRate=e.wavSampleRate,this.recordedBuffers=[],this.bytesPerSample=this.bitDepth/8};n.prototype.record=function(e){this.numberOfChannels=this.numberOfChannels||e.length;for(var t=e[0].length,r=new Uint8Array(t*this.numberOfChannels*this.bytesPerSample),n=0;n>8,r[a+2]=i>>16,r[a+3]=i>>24;break;case 3:i=8388607.5*i-.5,r[a]=i,r[a+1]=i>>8,r[a+2]=i>>16;break;case 2:i=32767.5*i-.5,r[a]=i,r[a+1]=i>>8;break;case 1:r[a]=127.5*(i+1);break;default:throw new Error("Only 8, 16, 24 and 32 bits per sample are supported")}}this.recordedBuffers.push(r)},n.prototype.requestData=function(){var e=this.recordedBuffers[0].length,r=this.recordedBuffers.length*e,n=new Uint8Array(44+r),s=new DataView(n.buffer);s.setUint32(0,1380533830,!1),s.setUint32(4,36+r,!0),s.setUint32(8,1463899717,!1),s.setUint32(12,1718449184,!1),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,this.numberOfChannels,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(32,this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(34,this.bitDepth,!0),s.setUint32(36,1684108385,!1),s.setUint32(40,r,!0);for(var a=0;a { clearInterval(interval); - interval = setInterval(() => { + interval = window.setInterval(() => { if(lastIndex > svg.childElementCount || isNaN(audio.duration) || audio.paused) { clearInterval(interval); return; diff --git a/src/components/chat/audio.ts b/src/components/chat/audio.ts index a3dff57d..a567eb49 100644 --- a/src/components/chat/audio.ts +++ b/src/components/chat/audio.ts @@ -34,11 +34,16 @@ export class ChatAudio { this.close.addEventListener('click', (e) => { cancelEvent(e); + const scrollTop = appImManager.scrollable.scrollTop; this.container.style.display = 'none'; - this.container.parentElement.classList.remove('is-audio-shown'); + appImManager.topbar.classList.remove('is-audio-shown'); if(this.toggle.classList.contains('flip-icon')) { appMediaPlaybackController.toggle(); } + + if(!appImManager.topbar.classList.contains('is-pinned-shown')) { + appImManager.scrollable.scrollTop = scrollTop - height; + } }); this.toggle.addEventListener('click', (e) => { @@ -46,6 +51,8 @@ export class ChatAudio { appMediaPlaybackController.toggle(); }); + const height = 52; + $rootScope.$on('audio_play', (e) => { const {doc, mid} = e.detail; @@ -68,8 +75,11 @@ export class ChatAudio { if(this.container.style.display) { const scrollTop = appImManager.scrollable.scrollTop; this.container.style.display = ''; - this.container.parentElement.classList.add('is-audio-shown'); - appImManager.scrollable.scrollTop = scrollTop; + appImManager.topbar.classList.add('is-audio-shown'); + + if(!appImManager.topbar.classList.contains('is-pinned-shown')) { + appImManager.scrollable.scrollTop = scrollTop + height; + } } }); diff --git a/src/components/emoticonsDropdown/index.ts b/src/components/emoticonsDropdown/index.ts index 41404183..e1bf65b2 100644 --- a/src/components/emoticonsDropdown/index.ts +++ b/src/components/emoticonsDropdown/index.ts @@ -6,7 +6,7 @@ import { horizontalMenu } from "../horizontalMenu"; import animationIntersector from "../animationIntersector"; import appSidebarRight from "../../lib/appManagers/appSidebarRight"; import appImManager from "../../lib/appManagers/appImManager"; -import Scrollable from "../scrollable_new"; +import Scrollable, { ScrollableX } from "../scrollable_new"; import EmojiTab from "./tabs/emoji"; import StickersTab from "./tabs/stickers"; import StickyIntersector from "../stickyIntersector"; @@ -240,7 +240,7 @@ export class EmoticonsDropdown { //animationIntersector.checkAnimations(false, EMOTICONSSTICKERGROUP); }; - public static menuOnClick = (menu: HTMLUListElement, scroll: Scrollable, menuScroll?: Scrollable) => { + public static menuOnClick = (menu: HTMLUListElement, scroll: Scrollable, menuScroll?: ScrollableX) => { let prevId = 0; let jumpedTo = -1; diff --git a/src/components/emoticonsDropdown/tabs/emoji.ts b/src/components/emoticonsDropdown/tabs/emoji.ts index 9d60c7cd..c52f95b6 100644 --- a/src/components/emoticonsDropdown/tabs/emoji.ts +++ b/src/components/emoticonsDropdown/tabs/emoji.ts @@ -81,7 +81,7 @@ export default class EmojiTab implements EmoticonsTab { //console.timeEnd('emojiParse'); const menu = this.content.previousElementSibling.firstElementChild as HTMLUListElement; - const emojiScroll = this.scroll = new Scrollable(this.content, 'y', 'EMOJI', null); + const emojiScroll = this.scroll = new Scrollable(this.content, 'EMOJI', null); //emojiScroll.setVirtualContainer(emojiScroll.container); diff --git a/src/components/emoticonsDropdown/tabs/gifs.ts b/src/components/emoticonsDropdown/tabs/gifs.ts index fd9b3deb..d8a9d60c 100644 --- a/src/components/emoticonsDropdown/tabs/gifs.ts +++ b/src/components/emoticonsDropdown/tabs/gifs.ts @@ -13,7 +13,7 @@ export default class GifsTab implements EmoticonsTab { const gifsContainer = this.content.firstElementChild as HTMLDivElement; gifsContainer.addEventListener('click', EmoticonsDropdown.onMediaClick); - const scroll = new Scrollable(this.content, 'y', 'GIFS', null); + const scroll = new Scrollable(this.content, 'GIFS', null); const masonry = new GifsMasonry(gifsContainer, EMOTICONSSTICKERGROUP, scroll); const preloader = putPreloader(this.content, true); diff --git a/src/components/emoticonsDropdown/tabs/stickers.ts b/src/components/emoticonsDropdown/tabs/stickers.ts index ac24b625..38aee93f 100644 --- a/src/components/emoticonsDropdown/tabs/stickers.ts +++ b/src/components/emoticonsDropdown/tabs/stickers.ts @@ -1,6 +1,6 @@ import emoticonsDropdown, { EmoticonsTab, EMOTICONSSTICKERGROUP, EmoticonsDropdown } from ".."; import { StickerSet } from "../../../layer"; -import Scrollable from "../../scrollable_new"; +import Scrollable, { ScrollableX } from "../../scrollable_new"; import { wrapSticker } from "../../wrappers"; import appStickersManager from "../../../lib/appManagers/appStickersManager"; import appDownloadManager from "../../../lib/appManagers/appDownloadManager"; @@ -230,7 +230,7 @@ export default class StickersTab implements EmoticonsTab { let menuWrapper = this.content.previousElementSibling as HTMLDivElement; this.menu = menuWrapper.firstElementChild.firstElementChild as HTMLUListElement; - let menuScroll = new Scrollable(menuWrapper, 'x'); + let menuScroll = new ScrollableX(menuWrapper); let stickersDiv = document.createElement('div'); stickersDiv.classList.add('stickers-categories'); @@ -274,7 +274,7 @@ export default class StickersTab implements EmoticonsTab { stickersDiv.addEventListener('click', EmoticonsDropdown.onMediaClick); - this.scroll = new Scrollable(this.content, 'y', 'STICKERS', undefined, undefined, 2); + this.scroll = new Scrollable(this.content, 'STICKERS', undefined, undefined, 2); this.scroll.setVirtualContainer(stickersDiv); this.stickyIntersector = EmoticonsDropdown.menuOnClick(this.menu, this.scroll, menuScroll); diff --git a/src/components/gifsMasonry.ts b/src/components/gifsMasonry.ts index 31ec1acc..427551a6 100644 --- a/src/components/gifsMasonry.ts +++ b/src/components/gifsMasonry.ts @@ -3,9 +3,9 @@ import appDocsManager, {MyDocument} from "../lib/appManagers/appDocsManager"; import { wrapVideo } from "./wrappers"; import { renderImageFromUrl } from "./misc"; import { LazyLoadQueueRepeat2 } from "./lazyLoadQueue"; -import { CancellablePromise, deferredPromise } from "../lib/polyfill"; import animationIntersector from "./animationIntersector"; import Scrollable from "./scrollable_new"; +import { CancellablePromise, deferredPromise } from "../helpers/cancellablePromise"; const width = 400; const maxSingleWidth = width - 100; diff --git a/src/components/horizontalMenu.ts b/src/components/horizontalMenu.ts index d0c72578..8857ea24 100644 --- a/src/components/horizontalMenu.ts +++ b/src/components/horizontalMenu.ts @@ -10,14 +10,15 @@ function slideNavigation(tabContent: HTMLElement, prevTabContent: HTMLElement, t tabContent.style.transform = `translateX(-25%)`; prevTabContent.style.transform = `translateX(20%)`; } */ + const width = prevTabContent.getBoundingClientRect().width; if(toRight) { prevTabContent.style.filter = `brightness(80%)`; - prevTabContent.style.transform = `translateX(-25%)`; - tabContent.style.transform = `translateX(100%)`; + prevTabContent.style.transform = `translate3d(${-width * .25}px, 0, 0)`; + tabContent.style.transform = `translate3d(${width}px, 0, 0)`; } else { tabContent.style.filter = `brightness(80%)`; - tabContent.style.transform = `translateX(-25%)`; - prevTabContent.style.transform = `translateX(100%)`; + tabContent.style.transform = `translate3d(${-width * .25}px, 0, 0)`; + prevTabContent.style.transform = `translate3d(${width}px, 0, 0)`; } tabContent.classList.add('active'); @@ -28,12 +29,13 @@ function slideNavigation(tabContent: HTMLElement, prevTabContent: HTMLElement, t } function slideTabs(tabContent: HTMLElement, prevTabContent: HTMLElement, toRight: boolean) { + const width = prevTabContent.getBoundingClientRect().width; if(toRight) { - tabContent.style.transform = `translateX(100%)`; - prevTabContent.style.transform = `translateX(-100%)`; + tabContent.style.transform = `translate3d(${width}px, 0, 0)`; + prevTabContent.style.transform = `translate3d(${-width}px, 0, 0)`; } else { - tabContent.style.transform = `translateX(-100%)`; - prevTabContent.style.transform = `translateX(100%)`; + tabContent.style.transform = `translate3d(${-width}px, 0, 0)`; + prevTabContent.style.transform = `translate3d(${width}px, 0, 0)`; } tabContent.classList.add('active'); @@ -83,7 +85,7 @@ export function horizontalMenu(tabs: HTMLElement, content: HTMLElement, onClick? const _prevId = prevId; if(hideTimeouts.hasOwnProperty(id)) clearTimeout(hideTimeouts[id]); if(p/* && false */) { - hideTimeouts[_prevId] = setTimeout(() => { + hideTimeouts[_prevId] = window.setTimeout(() => { p.style.transform = ''; p.style.filter = ''; p.classList.remove('active'); diff --git a/src/components/misc.ts b/src/components/misc.ts index 0740312d..56fc029e 100644 --- a/src/components/misc.ts +++ b/src/components/misc.ts @@ -1,4 +1,6 @@ -import Config, { touchSupport, isApple, mediaSizes } from "../lib/config"; +import mediaSizes from "../helpers/mediaSizes"; +import { isApple } from "../helpers/userAgent"; +import Config, { touchSupport } from "../lib/config"; export const loadedURLs: {[url: string]: boolean} = {}; const set = (elem: HTMLElement | HTMLImageElement | SVGImageElement | HTMLVideoElement, url: string) => { diff --git a/src/components/poll.ts b/src/components/poll.ts index 445f7090..33e3f52d 100644 --- a/src/components/poll.ts +++ b/src/components/poll.ts @@ -1,11 +1,12 @@ import appPollsManager, { PollResults, Poll } from "../lib/appManagers/appPollsManager"; import { RichTextProcessor } from "../lib/richtextprocessor"; import { findUpClassName, $rootScope, cancelEvent } from "../lib/utils"; -import { mediaSizes, touchSupport } from "../lib/config"; +import { touchSupport } from "../lib/config"; import appSidebarRight from "../lib/appManagers/appSidebarRight"; import appImManager from "../lib/appManagers/appImManager"; import serverTimeManager from "../lib/mtproto/serverTimeManager"; import { ripple } from "./ripple"; +import mediaSizes from "../helpers/mediaSizes"; let lineTotalLength = 0; const tailLength = 9; diff --git a/src/components/popupCreatePoll.ts b/src/components/popupCreatePoll.ts index 666dc47c..004a6f41 100644 --- a/src/components/popupCreatePoll.ts +++ b/src/components/popupCreatePoll.ts @@ -46,7 +46,7 @@ export default class PopupCreatePoll extends PopupElement { this.confirmBtn.addEventListener('click', this.onSubmitClick); - this.scrollable = new Scrollable(this.body, 'y', undefined); + this.scrollable = new Scrollable(this.body); this.appendMoreField(); } @@ -131,6 +131,6 @@ export default class PopupCreatePoll extends PopupElement { this.questions.append(questionField); - this.scrollable.scrollTo(this.scrollable.scrollHeight, true, true); + this.scrollable.scrollTo(this.scrollable.scrollHeight, 'top', true, true); } } \ No newline at end of file diff --git a/src/components/popupStickers.ts b/src/components/popupStickers.ts index 36a4d812..f6541044 100644 --- a/src/components/popupStickers.ts +++ b/src/components/popupStickers.ts @@ -64,7 +64,7 @@ export default class PopupStickers extends PopupElement { this.stickersFooter.innerText = 'Loading...'; this.body.append(div); - const scrollable = new Scrollable(this.body, 'y', undefined); + const scrollable = new Scrollable(this.body); this.body.append(this.stickersFooter); // const editButton = document.createElement('button'); diff --git a/src/components/preloader.ts b/src/components/preloader.ts index b9a1d42f..3f699db6 100644 --- a/src/components/preloader.ts +++ b/src/components/preloader.ts @@ -1,5 +1,5 @@ import { isInDOM, cancelEvent } from "../lib/utils"; -import { CancellablePromise } from "../lib/polyfill"; +import { CancellablePromise } from "../helpers/cancellablePromise"; export default class ProgressivePreloader { public preloader: HTMLDivElement; diff --git a/src/components/ripple.ts b/src/components/ripple.ts index cd6c0bd4..facc125a 100644 --- a/src/components/ripple.ts +++ b/src/components/ripple.ts @@ -1,4 +1,5 @@ import { touchSupport } from "../lib/config"; +import { findUpClassName } from "../lib/utils"; let rippleClickID = 0; export function ripple(elem: HTMLElement, callback: (id: number) => Promise = () => Promise.resolve(), onEnd: (id: number) => void = null) { @@ -28,6 +29,7 @@ export function ripple(elem: HTMLElement, callback: (id: number) => Promise { + //return; let elapsedTime = Date.now() - startTime; if(elapsedTime < duration) { let delay = Math.max(duration - elapsedTime, duration / 2); @@ -66,8 +68,8 @@ export function ripple(elem: HTMLElement, callback: (id: number) => Promise { - span.classList.add('c-ripple__circle'); let rect = r.getBoundingClientRect(); + span.classList.add('c-ripple__circle'); let clickX = clientX - rect.left; let clickY = clientY - rect.top; @@ -110,7 +112,7 @@ export function ripple(elem: HTMLElement, callback: (id: number) => Promise { //console.log('ripple touchstart', e); - if(e.touches.length > 1 || ((e.target as HTMLElement).tagName == 'BUTTON' && e.target != elem)) { + if(e.touches.length > 1 || ((e.target as HTMLElement).tagName == 'BUTTON' && e.target != elem) || findUpClassName(e.target as HTMLElement, 'c-ripple') != r) { return; } @@ -130,7 +132,9 @@ export function ripple(elem: HTMLElement, callback: (id: number) => Promise { - if(elem.dataset.ripple == '0') { + //console.log('ripple mousedown', e, e.target, findUpClassName(e.target as HTMLElement, 'c-ripple') == r); + + if(elem.dataset.ripple == '0' || findUpClassName(e.target as HTMLElement, 'c-ripple') != r) { return false; } else if(touchStartFired) { touchStartFired = false; diff --git a/src/components/scrollable_new.ts b/src/components/scrollable_new.ts index d76008db..e1be505e 100644 --- a/src/components/scrollable_new.ts +++ b/src/components/scrollable_new.ts @@ -1,10 +1,10 @@ import { logger, LogLevels } from "../lib/logger"; -import smoothscroll from '../vendor/smoothscroll'; -import { touchSupport, isSafari, mediaSizes } from "../lib/config"; -import { CancellablePromise, deferredPromise } from "../lib/polyfill"; +import smoothscroll, { SCROLL_TIME, SmoothScrollToOptions } from '../vendor/smoothscroll'; +import { touchSupport } from "../lib/config"; +//import { CancellablePromise, deferredPromise } from "../lib/polyfill"; //import { isInDOM } from "../lib/utils"; (window as any).__forceSmoothScrollPolyfill__ = true; -smoothscroll.polyfill(); +smoothscroll(); /* var el = $0; var height = 0; @@ -48,10 +48,88 @@ const scrollsIntersector = new IntersectionObserver(entries => { } }); */ -export default class Scrollable { - //public container: HTMLDivElement; - public overflowContainer: HTMLElement; +export class ScrollableBase { + protected log: ReturnType; + protected onScroll: () => void; + public getScrollValue: () => number; + + public scrollLocked = 0; + + constructor(public el: HTMLElement, logPrefix = '', public appendTo = el, public container: HTMLElement = document.createElement('div')) { + this.container.classList.add('scrollable'); + + if(!appendTo) { + this.appendTo = this.container; + } + + this.log = logger('SCROLL' + (logPrefix ? '-' + logPrefix : ''), LogLevels.error); + + if(el) { + Array.from(el.children).forEach(c => this.container.append(c)); + + el.append(this.container); + } + //this.onScroll(); + } + + protected setListeners() { + window.addEventListener('resize', this.onScroll); + this.container.addEventListener('scroll', this.onScroll, {passive: true, capture: true}); + } + + public prepend(element: HTMLElement) { + this.appendTo.prepend(element); + } + + public append(element: HTMLElement) { + this.appendTo.append(element); + } + + public contains(element: Element) { + return !!element.parentElement; + } + + public removeElement(element: Element) { + element.remove(); + } + + public scrollTo(value: number, side: 'top' | 'left', smooth = true, important = false, scrollTime = SCROLL_TIME) { + if(this.scrollLocked && !important) return; + + const scrollValue = this.getScrollValue(); + if(scrollValue == Math.floor(value)) { + return; + } + + if(this.scrollLocked) clearTimeout(this.scrollLocked); + /* else { + this.scrollLockedPromise = deferredPromise(); + } */ + + this.scrollLocked = window.setTimeout(() => { + this.scrollLocked = 0; + //this.scrollLockedPromise.resolve(); + //this.onScroll(); + this.container.dispatchEvent(new CustomEvent('scroll')); + }, scrollTime); + + const options: SmoothScrollToOptions = { + behavior: smooth ? 'smooth' : 'auto', + scrollTime + }; + + options[side] = value; + + this.container.scrollTo(options as any); + } + + get length() { + return this.appendTo.childElementCount; + } +} + +export default class Scrollable extends ScrollableBase { public splitUp: HTMLElement; public onScrolledTop: () => void = null; @@ -63,8 +141,6 @@ export default class Scrollable { private disableHoverTimeout: number = 0; - private log: ReturnType; - /* private sentinelsObserver: IntersectionObserver; private topSentinel: HTMLDivElement; private bottomSentinel: HTMLDivElement; */ @@ -80,8 +156,7 @@ export default class Scrollable { /* private onScrolledTopFired = false; private onScrolledBottomFired = false; */ - public scrollLocked = 0; - public scrollLockedPromise: CancellablePromise = Promise.resolve(); + //public scrollLockedPromise: CancellablePromise = Promise.resolve(); public isVisible = false; private reorderTimeout: number; @@ -102,8 +177,8 @@ export default class Scrollable { this.visible.delete(element); } - constructor(public el: HTMLElement, axis: 'y' | 'x' = 'y', logPrefix = '', public appendTo = el, public onScrollOffset = 300, public splitCount = 15, public container: HTMLElement = document.createElement('div')) { - this.container.classList.add('scrollable'); + constructor(el: HTMLElement, logPrefix = '', appendTo = el, public onScrollOffset = 300, public splitCount = 15, container: HTMLElement = document.createElement('div')) { + super(el, logPrefix, appendTo, container); this.visible = new Set(); this.observer = new IntersectionObserver(entries => { @@ -173,63 +248,11 @@ export default class Scrollable { } }); - if(!appendTo) { - this.appendTo = this.container; - } - - this.log = logger('SCROLL' + (logPrefix ? '-' + logPrefix : ''), LogLevels.error); + this.container.classList.add('scrollable-y'); - if(axis == 'x') { - this.container.classList.add('scrollable-x'); - - if(!touchSupport) { - const scrollHorizontally = (e: any) => { - e = window.event || e; - if(e.which == 1) { - // maybe horizontal scroll is natively supports, works on macbook - return; - } - - const delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); - this.container.scrollLeft -= (delta * 20); - e.preventDefault(); - }; - if(this.container.addEventListener) { - // IE9, Chrome, Safari, Opera - this.container.addEventListener("mousewheel", scrollHorizontally, false); - // Firefox - this.container.addEventListener("DOMMouseScroll", scrollHorizontally, false); - } else { - // IE 6/7/8 - // @ts-ignore - this.container.attachEvent("onmousewheel", scrollHorizontally); - } - } - } else if(axis == 'y') { - this.container.classList.add('scrollable-y'); - } else { - throw new Error('no side for scroll'); - } - - window.addEventListener('resize', () => { - this.overflowContainer = mediaSizes.isMobile && false ? document.documentElement : this.container; - this.onScroll(); - }); - this.container.addEventListener('scroll', this.onScroll, {passive: true, capture: true}); - //document.documentElement.addEventListener('scroll', binded, {passive: true, capture: true}); - //window.addEventListener('scroll', binded, {passive: true, capture: true}); - - if(el) { - Array.from(el.children).forEach(c => this.container.append(c)); - - el.append(this.container); - } //this.onScroll(); - this.overflowContainer = mediaSizes.isMobile && false ? document.documentElement : this.container; - - /* scrollables.set(this.container, this); - scrollsIntersector.observe(this.container); */ + this.setListeners(); } // public attachSentinels(container = this.container, offset = this.onScrollOffset) { @@ -329,12 +352,12 @@ export default class Scrollable { this.onScrollMeasure = window.requestAnimationFrame(() => { //if(!this.isVisible) return; - this.checkForTriggers(this.overflowContainer); + this.checkForTriggers(); this.onScrollMeasure = 0; if(!this.splitUp) return; - const scrollTop = this.overflowContainer.scrollTop; + const scrollTop = this.scrollTop; if(this.lastScrollTop != scrollTop) { this.lastScrollDirection = this.lastScrollTop < scrollTop ? 1 : -1; this.lastScrollTop = scrollTop; @@ -344,9 +367,10 @@ export default class Scrollable { }); }; - public checkForTriggers(container: HTMLElement) { + public checkForTriggers() { if(this.scrollLocked || (!this.onScrolledTop && !this.onScrolledBottom)) return; + const container = this.container; const scrollHeight = container.scrollHeight; if(!scrollHeight) { // незачем вызывать триггеры если блок пустой или не виден return; @@ -439,11 +463,11 @@ export default class Scrollable { if(element.parentElement && !this.scrollLocked) { const isFirstUnread = element.classList.contains('is-first-unread'); - let offsetTop = element.getBoundingClientRect().top - this.container.getBoundingClientRect().top; - offsetTop = this.container.scrollTop + offsetTop; + let offset = element.getBoundingClientRect().top - this.container.getBoundingClientRect().top; + offset = this.scrollTop + offset; if(!smooth && isFirstUnread) { - this.scrollTo(offsetTop, false); + this.scrollTo(offset, 'top', false); return; } @@ -451,39 +475,20 @@ export default class Scrollable { const height = element.scrollHeight; const d = (clientHeight - height) / 2; - offsetTop -= d; + offset -= d; - this.scrollTo(offsetTop, smooth); + this.scrollTo(offset, 'top', smooth); } } - public scrollTo(top: number, smooth = true, important = false) { - if(this.scrollLocked && !important) return; - - const scrollTop = this.scrollTop; - if(scrollTop == Math.floor(top)) { - return; - } - - if(this.scrollLocked) clearTimeout(this.scrollLocked); - else { - this.scrollLockedPromise = deferredPromise(); - } - - this.scrollLocked = window.setTimeout(() => { - this.scrollLocked = 0; - this.scrollLockedPromise.resolve(); - //this.onScroll(); - this.container.dispatchEvent(new CustomEvent('scroll')); - }, 468); - - this.container.scrollTo({behavior: smooth ? 'smooth' : 'auto', top}); - } - public removeElement(element: Element) { element.remove(); } + public getScrollValue = () => { + return this.scrollTop; + }; + set scrollTop(y: number) { this.container.scrollTop = y; } @@ -496,8 +501,57 @@ export default class Scrollable { get scrollHeight() { return this.container.scrollHeight; } - - get length() { - return this.appendTo.childElementCount; - } +} + +export class ScrollableX extends ScrollableBase { + constructor(public el: HTMLElement, logPrefix = '', public appendTo = el, public onScrollOffset = 300, public splitCount = 15, public container: HTMLElement = document.createElement('div')) { + super(el, logPrefix, appendTo, container); + + this.container.classList.add('scrollable-x'); + + if(!touchSupport) { + const scrollHorizontally = (e: any) => { + e = window.event || e; + if(e.which == 1) { + // maybe horizontal scroll is natively supports, works on macbook + return; + } + + const delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); + this.container.scrollLeft -= (delta * 20); + e.preventDefault(); + }; + if(this.container.addEventListener) { + // IE9, Chrome, Safari, Opera + this.container.addEventListener("mousewheel", scrollHorizontally, false); + // Firefox + this.container.addEventListener("DOMMouseScroll", scrollHorizontally, false); + } else { + // IE 6/7/8 + // @ts-ignore + this.container.attachEvent("onmousewheel", scrollHorizontally); + } + } + + this.setListeners(); + } + + public scrollIntoView(element: HTMLElement, smooth = true, scrollTime?: number) { + if(element.parentElement && !this.scrollLocked) { + let offset = element.getBoundingClientRect().left - this.container.getBoundingClientRect().left; + offset = this.getScrollValue() + offset; + + const clientWidth = this.container.clientWidth; + const width = element.scrollWidth; + + const d = (clientWidth - width) / 2; + offset -= d; + + this.scrollTo(offset, 'left', smooth, undefined, scrollTime); + } + } + + public getScrollValue = () => { + return this.container.scrollLeft; + }; } diff --git a/src/components/sidebarLeft/editProfile.ts b/src/components/sidebarLeft/editProfile.ts index 173291aa..ef99f061 100644 --- a/src/components/sidebarLeft/editProfile.ts +++ b/src/components/sidebarLeft/editProfile.ts @@ -134,7 +134,7 @@ export default class AppEditProfileTab implements SliderTab { }); }); - let scrollable = new Scrollable(this.scrollWrapper as HTMLElement, 'y'); + let scrollable = new Scrollable(this.scrollWrapper as HTMLElement); } public fillElements() { diff --git a/src/components/sidebarRight/gifs.ts b/src/components/sidebarRight/gifs.ts index 33364428..d2ff5925 100644 --- a/src/components/sidebarRight/gifs.ts +++ b/src/components/sidebarRight/gifs.ts @@ -31,7 +31,7 @@ export default class AppGifsTab implements SliderTab { private searchPromise: ReturnType; constructor() { - this.scrollable = new Scrollable(this.contentDiv, 'y', ANIMATIONGROUP, undefined, undefined, 2); + this.scrollable = new Scrollable(this.contentDiv, ANIMATIONGROUP, undefined, undefined, 2); this.scrollable.setVirtualContainer(this.gifsDiv); this.masonry = new GifsMasonry(this.gifsDiv, ANIMATIONGROUP, this.scrollable); diff --git a/src/components/sidebarRight/pollResults.ts b/src/components/sidebarRight/pollResults.ts index 7d9f3577..0dce1490 100644 --- a/src/components/sidebarRight/pollResults.ts +++ b/src/components/sidebarRight/pollResults.ts @@ -17,7 +17,7 @@ export default class AppPollResultsTab implements SliderTab { private mid: number; constructor() { - this.scrollable = new Scrollable(this.contentDiv, 'y', 'POLL-RESULTS', undefined, undefined, 2); + this.scrollable = new Scrollable(this.contentDiv, 'POLL-RESULTS', undefined, undefined, 2); } public cleanup() { diff --git a/src/components/sidebarRight/stickers.ts b/src/components/sidebarRight/stickers.ts index 097ba438..8d90f2e5 100644 --- a/src/components/sidebarRight/stickers.ts +++ b/src/components/sidebarRight/stickers.ts @@ -23,7 +23,7 @@ export default class AppStickersTab implements SliderTab { private lazyLoadQueue: LazyLoadQueue; constructor() { - this.scrollable = new Scrollable(this.contentDiv, 'y', 'STICKERS-SEARCH', undefined, undefined, 2); + this.scrollable = new Scrollable(this.contentDiv, 'STICKERS-SEARCH', undefined, undefined, 2); this.scrollable.setVirtualContainer(this.setsDiv); this.lazyLoadQueue = new LazyLoadQueue(); diff --git a/src/components/wrappers.ts b/src/components/wrappers.ts index 0ee2d1eb..2647afab 100644 --- a/src/components/wrappers.ts +++ b/src/components/wrappers.ts @@ -10,7 +10,6 @@ import { renderImageFromUrl } from './misc'; import appMessagesManager from '../lib/appManagers/appMessagesManager'; import { Layouter, RectPart } from './groupedLayout'; import PollElement from './poll'; -import { mediaSizes, isSafari } from '../lib/config'; import animationIntersector from './animationIntersector'; import AudioElement from './audio'; import { DownloadBlob } from '../lib/appManagers/appDownloadManager'; @@ -18,7 +17,9 @@ import webpWorkerController from '../lib/webp/webpWorkerController'; import { readBlobAsText } from '../helpers/blob'; import appMediaPlaybackController from './appMediaPlaybackController'; import { PhotoSize } from '../layer'; -import { deferredPromise } from '../lib/polyfill'; +import { deferredPromise } from '../helpers/cancellablePromise'; +import mediaSizes from '../helpers/mediaSizes'; +import { isSafari } from '../helpers/userAgent'; export function wrapVideo({doc, container, message, boxWidth, boxHeight, withTail, isOut, middleware, lazyLoadQueue, noInfo, group}: { doc: MyDocument, @@ -704,6 +705,14 @@ export function wrapReply(title: string, subtitle: string, message?: any, isPinn const replySubtitle = document.createElement('div'); replySubtitle.classList.add(prefix + '-subtitle'); + + if(title.length > 150) { + title = title.substr(0, 140) + '...'; + } + + if(subtitle.length > 150) { + subtitle = subtitle.substr(0, 140) + '...'; + } replyTitle.innerHTML = title ? RichTextProcessor.wrapEmojiText(title) : ''; diff --git a/src/helpers/cancellablePromise.ts b/src/helpers/cancellablePromise.ts new file mode 100644 index 00000000..139f49c5 --- /dev/null +++ b/src/helpers/cancellablePromise.ts @@ -0,0 +1,63 @@ +export interface CancellablePromise extends Promise { + resolve?: (...args: any[]) => void, + reject?: (...args: any[]) => void, + cancel?: () => void, + + notify?: (...args: any[]) => void, + notifyAll?: (...args: any[]) => void, + lastNotify?: any, + listeners?: Array<(...args: any[]) => void>, + addNotifyListener?: (callback: (...args: any[]) => void) => void, + + isFulfilled?: boolean, + isRejected?: boolean +} + +export function deferredPromise() { + let deferredHelper: any = { + isFulfilled: false, + isRejected: false, + + notify: () => {}, + notifyAll: (...args: any[]) => { + deferredHelper.lastNotify = args; + deferredHelper.listeners.forEach((callback: any) => callback(...args)); + }, + + lastNotify: undefined, + listeners: [], + addNotifyListener: (callback: (...args: any[]) => void) => { + if(deferredHelper.lastNotify) { + callback(...deferredHelper.lastNotify); + } + + deferredHelper.listeners.push(callback); + } + }; + + let deferred: CancellablePromise = new Promise((resolve, reject) => { + deferredHelper.resolve = (value: T) => { + if(deferred.isFulfilled) return; + + deferred.isFulfilled = true; + resolve(value); + }; + + deferredHelper.reject = (...args: any[]) => { + if(deferred.isRejected) return; + + deferred.isRejected = true; + reject(...args); + }; + }); + + deferred.finally(() => { + deferred.notify = null; + deferred.listeners.length = 0; + deferred.lastNotify = null; + }); + + Object.assign(deferred, deferredHelper); + + return deferred; +} \ No newline at end of file diff --git a/src/helpers/eventListenerBase.ts b/src/helpers/eventListenerBase.ts new file mode 100644 index 00000000..319938dc --- /dev/null +++ b/src/helpers/eventListenerBase.ts @@ -0,0 +1,48 @@ +import type { ArgumentTypes } from "../types"; + +export default class EventListenerBase { + protected listeners: Partial<{ + [k in keyof Listeners]: Array<{callback: Listeners[k], once?: true}> + }> = {}; + protected listenerResults: Partial<{ + [k in keyof Listeners]: ArgumentTypes + }> = {}; + + constructor(private reuseResults?: true) { + + } + + public addListener(name: keyof Listeners, callback: Listeners[typeof name], once?: true) { + (this.listeners[name] ?? (this.listeners[name] = [])).push({callback, once}); + + if(this.listenerResults.hasOwnProperty(name)) { + callback(this.listenerResults[name]); + + if(once) { + this.removeListener(name, callback); + } + } + } + + public removeListener(name: keyof Listeners, callback: Listeners[typeof name]) { + if(this.listeners[name]) { + this.listeners[name].findAndSplice(l => l.callback == callback); + } + } + + protected setListenerResult(name: keyof Listeners, ...args: ArgumentTypes) { + if(this.reuseResults) { + this.listenerResults[name] = args; + } + + if(this.listeners[name]) { + this.listeners[name].forEach(listener => { + listener.callback(...args); + + if(listener.once) { + this.removeListener(name, listener.callback); + } + }); + } + } +} \ No newline at end of file diff --git a/src/helpers/mediaSizes.ts b/src/helpers/mediaSizes.ts new file mode 100644 index 00000000..1b7a53f7 --- /dev/null +++ b/src/helpers/mediaSizes.ts @@ -0,0 +1,105 @@ +import EventListenerBase from "./eventListenerBase"; + +type Size = {width: number, height: number}; +type Sizes = { + regular: Size, + webpage: Size, + album: Size +}; + +export enum ScreenSize { + mobile, + medium, + large +} + +const MOBILE_SIZE = 896; +const MEDIUM_SIZE = 1275; +const LARGE_SIZE = 1680; + +class MediaSizes extends EventListenerBase<{ + changeScreen: (from: ScreenSize, to: ScreenSize) => void +}> { + private screenSizes: {key: ScreenSize, value: number}[] = [ + {key: ScreenSize.mobile, value: MOBILE_SIZE - 1}, + {key: ScreenSize.medium, value: MEDIUM_SIZE}, + {key: ScreenSize.large, value: LARGE_SIZE} + ]; + + private sizes: {[k in 'desktop' | 'handhelds']: Sizes} = { + handhelds: { + regular: { + width: 293, + height: 293 + }, + webpage: { + width: 293, + height: 213 + }, + album: { + width: 293, + height: 0 + } + }, + desktop: { + regular: { + width: 480, + height: 480 + }, + webpage: { + width: 480, + height: 400 + }, + album: { + width: 451, + height: 0 + } + } + }; + + public isMobile = false; + public active: Sizes; + public activeScreen: ScreenSize; + + constructor() { + super(); + + window.addEventListener('resize', this.handleResize); + this.handleResize(); + } + + private handleResize = () => { + const innerWidth = window.innerWidth; + //this.isMobile = innerWidth <= 720; + + let activeScreen = this.screenSizes[0].key; + for(let i = this.screenSizes.length - 1; i >= 0; --i) { + if(this.screenSizes[i].value < innerWidth) { + activeScreen = (this.screenSizes[i + 1] || this.screenSizes[i]).key; + break; + } + } + + if(this.activeScreen != activeScreen) { + //console.log('changeScreen', this.activeScreen, activeScreen); + this.setListenerResult('changeScreen', this.activeScreen, activeScreen); + } + + this.activeScreen = activeScreen; + + this.isMobile = this.activeScreen == ScreenSize.mobile; + + this.active = this.isMobile ? this.sizes.handhelds : this.sizes.desktop; + + /* if(this.isMobile) { + for(let i in this.active) { + // @ts-ignore + let size = this.active[i]; + size.width = innerWidth + } + } */ + }; +} + +const mediaSizes = new MediaSizes(); +export default mediaSizes; \ No newline at end of file diff --git a/src/index.hbs b/src/index.hbs index 10588436..a333c4f4 100644 --- a/src/index.hbs +++ b/src/index.hbs @@ -22,7 +22,7 @@ {{/ each }} - + @@ -212,7 +212,7 @@