You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.3 MiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,a,i,o){for(;--o>=0;){var s=t*this[e++]+n[a]+i;i=Math.floor(s/67108864),n[a++]=67108863&s}return i}function am2(e,t,n,a,i,o){for(var s=32767&t,r=t>>15;--o>=0;){var l=32767&this[e],c=this[e++]>>15,d=r*l+c*s;l=s*l+((32767&d)<<15)+n[a]+(1073741823&i),i=(l>>>30)+(d>>>15)+r*c+(i>>>30),n[a++]=1073741823&l}return i}function am3(e,t,n,a,i,o){for(var s=16383&t,r=t>>14;--o>=0;){var l=16383&this[e],c=this[e++]>>14,d=r*l+c*s;l=s*l+((16383&d)<<14)+n[a]+i,i=(l>>28)+(d>>14)+r*c,n[a++]=268435455&l}return i}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=0>e?-1:0,e>0?this[0]=e:-1>e?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var a;if(16==t)a=4;else if(8==t)a=3;else if(256==t)a=8;else if(2==t)a=1;else if(32==t)a=5;else{if(4!=t)return void this.fromRadix(e,t);a=2}this.t=0,this.s=0;for(var i=e.length,o=!1,s=0;--i>=0;){var r=8==a?255&e[i]:intAt(e,i);0>r?"-"==e.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+a>this.DB?(this[this.t-1]|=(r&(1<<this.DB-s)-1)<<s,this[this.t++]=r>>this.DB-s):this[this.t-1]|=r<<s,s+=a,s>=this.DB&&(s-=this.DB))}8==a&&0!=(128&e[0])&&n&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),o&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(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 n,a=(1<<t)-1,i=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-->0)for(r<this.DB&&(n=this[s]>>r)>0&&(i=!0,o=int2char(n));s>=0;)t>r?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&a,0>=r&&(r+=this.DB,--s)),n>0&&(i=!0),i&&(o+=int2char(n));return i?o:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,a=e%this.DB,i=this.DB-a,o=(1<<i)-1,s=Math.floor(e/this.DB),r=this.s<<a&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>i|r,r=(this[n]&o)<<a;for(n=s-1;n>=0;--n)t[n]=0;t[s]=r,t.t=this.t+s+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var a=e%this.DB,i=this.DB-a,o=(1<<a)-1;t[0]=this[n]>>a;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<i,t[s-n]=this[s]>>a;a>0&&(t[this.t-n-1]|=(this.s&o)<<i),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,a=0,i=Math.min(e.t,this.t);i>n;)a+=this[n]-e[n],t[n++]=a&this.DM,a>>=this.DB;if(e.t<this.t){for(a-=e.s;n<this.t;)a+=this[n],t[n++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;n<e.t;)a-=e[n],t[n++]=a&this.DM,a>>=this.DB;a-=e.s}t.s=0>a?-1:0,-1>a?t[n++]=this.DV+a:a>0&&(t[n++]=a),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),a=e.abs(),i=n.t;for(t.t=i+a.t;--i>=0;)t[i]=0;for(i=0;i<a.t;++i)t[i+n.t]=n.am(0,a[i],t,i,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var a=t.a
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnlick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return t&&(t.click||t.mousedown)?!0:!1}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),(void 0===t||t===!1)&&(t=e.value.length),(void 0===n||n===!1)&&(n=t),e.createTextRange){var a=e.createTextRange();a.collapse(!0),a.moveEnd("character",n),a.moveStart("character",t),a.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(i){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),a=n.text,i=n.duplicate(),o=0;try{i.moveToElementText(e)}catch(s){return 0}return n.text=a+t,o=i.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var a=t.join("\n");return a=a.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,a=[],i=[],o=window.getSelection?window.getSelection():!1;if(o&&o.rangeCount){var s=o.getRangeAt(0);s.startContainer&&s.startContainer==s.endContainer&&s.startOffset==s.endOffset&&(t=s.startContainer,n=s.startOffset)}getRichElementValue(e,a,i,t,n),i.length&&a.push(i.join(""));var r=a.join("\n"),l=r.indexOf("");return-1!=l&&(r=r.substr(0,l)+r.substr(l+1)),r=r.replace(/\u00A0/g," "),[r,l]}function getRichElementValue(e,t,n,a,i){if(3!=e.nodeType){if(1==e.nodeType){var o,s=a===e,r="DIV"==e.tagName||"P"==e.tagName;r&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),s&&!i&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,a,i),o=o.nextSibling;s&&i&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(a===e){var l=e.nodeValue;n.push(l.substr(0,i)+""+l.substr(i))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var a=document.createRange();t?a.selectNode(t):a.selectNodeContents(e),n||a.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(a)}else if(void 0!==document.body.createTextRange){var o=document.body.createTextRange();o.moveToElementText(t||e),n||o.collapse(!1),o.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var a=t.offsetTop-15,i=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>a?(e.scrollTop=a,$(n).nanoScroller({flash:!0})):a+i-s>o&&(e.scrollTop=a+i-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(e),setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),a=e.length?e[e.length-1]:4294967295,i=0;i<t.length;i++)t[i]<a&&n.push(t[i]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,a=0;a<e.length;a++)e[a]!==n&&t.push(e[a]),n=e[a];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",message_body:"desktop",message_media:"desktop",forwarded_messages:"desktop",chat_invite_link_m
a!==r&&i.push(e[o]);return i},map:function(e,t,a){var i,o=0,s=e.length,r=n(e),l=[];if(r)for(;s>o;o++)i=t(e[o],o,a),null!=i&&l.push(i);else for(o in e)i=t(e[o],o,a),null!=i&&l.push(i);return Z.apply([],l)},guid:1,proxy:function(e,t){var n,a,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(n=Y.call(arguments,2),a=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},a.guid=e.guid=e.guid||ie.guid++,a):void 0},now:function(){return+new Date},support:ne}),ie.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,a){var i,o,s,r,l,c,u,m,g,h;if((t?t.ownerDocument||t:L)!==D&&T(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(r=t.nodeType)&&9!==r)return[];if(F&&!a){if(i=ve.exec(e))if(s=i[1]){if(9===r){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&O(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!R||!R.test(e))){if(m=u=B,g=t,h=9===r&&e,1===r&&"object"!==t.nodeName.toLowerCase()){for(c=S(e),(u=t.getAttribute("id"))?m=u.replace(be,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=c.length;l--;)c[l]=m+p(c[l]);g=ye.test(e)&&d(t.parentNode)||t,h=c.join(",")}if(h)try{return Q.apply(n,g.querySelectorAll(h)),n}catch(f){}finally{u||t.removeAttribute("id")}}}return x(e.replace(le,"$1"),t,n,a)}function n(){function e(n,a){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=a}var t=[];return e}function a(e){return e[B]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),a=e.length;a--;)k.attrHandle[n[a]]=t}function s(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(a)return a;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return a(function(t){return t=+t,a(function(n,a){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(a[i]=n[i]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,a="";n>t;t++)a+=e[t].value;return a}function m(e,t,n){var a=t.dir,i=n&&"parentNode"===a,o=q++;return t.first?function(t,n,o){for(;t=t[a];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[a];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[a];)if(1===t.nodeType||i){if(l=t[B]||(t[B]={}),(r=l[a])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[a]=c,c[2]=e(t,n,s))return!0}}}function g(e){return e.length>1?function(t,n,a){for(var i=e.length;i--;)if(!e[i](t,n,a))return!1;return!0}:e[0]}function h(e,n,a){for(var i=0,o=n.length;o>i;i++)t(e,n[i],a);return a}function f(e,t,n,a,i){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,a,i))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,i,o,s){return i&&!i[B]&&(i=_(i)),o&&!o[B]&&(o=_(o,s)),a(function(a,s,r,l){var c,d,u,p=[],m=[],g=s.length,_=a||h(t||"*",r.nodeType?[r]:r,[]),v=!e||!a&&t?_:f(_,p,e,r,l),y=n?o||(a?e:g||i)?[]:s:v;if(n&&n(v,y,r,l),i)for(c=f(y,m),i(c,[],r,l),d=c.length;d--;)(u=c[d])&&(y[m[d]]=!(v[m[d]]=u));if(a){if(o||e){if(o){for(c=[],d=y.length;d--;)(u=y[d])&&c.push(v[d]=u);o(null,y=[],c,l)}for(d=y.length;d--;)(u=y[d])&&(c=o?te.call(a,u):p[d])>-1&&(a[c]=!(s[c]=u))}}else y=f(y===s?y.splice(g,y.length):y),o?o(null,s,y,l):Q.apply(s,y)})}function v(e){for(var t,n,a,i=e.length,o=k.relative[e[0].type],s=o||k.relative[" "],r=o?1:0,l=m(function(e){return e===t},s,!0),c=m(function(e){return te.call(t,e)>-1},s,!0),d=[function(e,n,a){return!o&&(a||n!==I)||((t=n).nodeType?l(
c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,u):p.push(u),ie.event.global[m]=!0);e=null}},remove:function(e,t,n,a,i){var o,s,r,l,c,d,u,p,m,g,h,f=ie.hasData(e)&&ie._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Re.exec(t[c])||[],m=h=r[1],g=(r[2]||"").split(".").sort(),m){for(u=ie.event.special[m]||{},m=(a?u.delegateType:u.bindType)||m,p=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=p.length;o--;)s=p[o],!i&&h!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||a&&a!==s.selector&&("**"!==a||!s.selector)||(p.splice(o,1),s.selector&&p.delegateCount--,u.remove&&u.remove.call(e,s));l&&!p.length&&(u.teardown&&u.teardown.call(e,g,f.handle)!==!1||ie.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ie.event.remove(e,m+t[c],n,a,!0);ie.isEmptyObject(d)&&(delete f.handle,ie._removeData(e,"events"))}},trigger:function(t,n,a,i){var o,s,r,l,c,d,u,p=[a||ge],m=te.call(t,"type")?t.type:t,g=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=a=a||ge,3!==a.nodeType&&8!==a.nodeType&&!Fe.test(m+ie.event.triggered)&&(m.indexOf(".")>=0&&(g=m.split("."),m=g.shift(),g.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ie.expando]?t:new ie.Event(m,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=a),n=null==n?[t]:ie.makeArray(n,[t]),c=ie.event.special[m]||{},i||!c.trigger||c.trigger.apply(a,n)!==!1)){if(!i&&!c.noBubble&&!ie.isWindow(a)){for(l=c.delegateType||m,Fe.test(l+m)||(r=r.parentNode);r;r=r.parentNode)p.push(r),d=r;d===(a.ownerDocument||ge)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(r=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||m,o=(ie._data(r,"events")||{})[t.type]&&ie._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ie.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!i&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ie.acceptData(a)&&s&&a[m]&&!ie.isWindow(a)){d=a[s],d&&(a[s]=null),ie.event.triggered=m;try{a[m]()}catch(h){}ie.event.triggered=void 0,d&&(a[s]=d)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,n,a,i,o,s=[],r=Y.call(arguments),l=(ie._data(this,"events")||{})[e.type]||[],c=ie.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ie.event.handlers.call(this,e,l),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,o=0;(a=i.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,n=((ie.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,r),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,a,i,o,s=[],r=t.delegateCount,l=e.target;if(r&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(i=[],o=0;r>o;o++)a=t[o],n=a.selector+" ",void 0===i[n]&&(i[n]=a.needsContext?ie(n,this).index(l)>=0:ie.find(n,this,null,[l]).length),i[n]&&i.push(a);i.length&&s.push({elem:l,handlers:i})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ie.expando])return e;var t,n,a,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Pe.test(i)?this.mouseHooks:De.test(i)?this.keyHooks:{}),a=s.props?this.props.concat(s.props):this.props,e=new ie.Event(o),t=a.length;t--;)n=a[t],e[n]=o[n];return e.target||(e.target=o.srcElement||ge),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:
ie.fn.extend({prop:function(e,t){return Ae(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var a,i,o,s=e.nodeType;return e&&3!==s&&8!==s&&2!==s?(o=1!==s||!ie.isXMLDoc(e),o&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(a=i.set(e,n,t))?a:e[t]=n:i&&"get"in i&&null!==(a=i.get(e,t))?a:e[t]):void 0},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||It.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),ne.enctype||(ie.propFix.enctype="encoding");var At=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):" ")){for(o=0;i=t[o++];)a.indexOf(" "+i+" ")<0&&(a+=i+" ");s=ie.trim(a),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):"")){for(o=0;i=t[o++];)for(;a.indexOf(" "+i+" ")>=0;)a=a.replace(" "+i+" "," ");s=e?ie.trim(a):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ie.isFunction(e)?function(n){ie(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,a=0,i=ie(this),o=e.match(ye)||[];t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,a=this.length;a>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(At," ").indexOf(t)>=0)return!0;return!1}}),ie.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ie.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ie.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,a){return this.on(t,e,n,a)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Et=ie.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,a=null,i=ie.trim(t+"");return i&&!ie.trim(i.replace(Dt,function(e,t,i,o){return n&&t&&(a=0),0===a?e:(n=i||t,a+=!o-!i,"")}))?Function("return "+i)():ie.error("Invalid JSON: "+t)},ie.parseXML=function(t){var n,a;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(a=new DOMParser,n=a.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&
Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"1072550713",predicate:"true",params:[],type:"True"},{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",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:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-208488460",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:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"-139464256",predicate:"inputMediaUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-373312269",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1809496270",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-1293828344",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"-1377390588",predicate:"inputPhotoCropAuto",params:[],type:"InputPhotoCrop"},{id:"-644787419",predicate:"inputPhotoCrop",params:[{name:"crop_left",type:"double"},{name:"crop_top",type:"double"},{name:"crop_width",type:"double"}],type:"InputPhotoCrop"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",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:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"-1278304028",
},{id:"-378127636",predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-718310409",predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:"-212740181",predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-774682074",predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-1441998364",predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"393186209",predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:"1653390447",predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:"446822276",predicate:"contacts.found",params:[{name:"results",type:"Vector<Peer>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"942527460",predicate:"updateServiceNotification",params:[{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"popup",type:"Bool"}],type:"Update"},{id:"-496024847",predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:"129960444",predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:"2011940674",predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:"-298113238",predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector<PrivacyRule>"}],type:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",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<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"1430961007",predicate:"account.privacyRules",params:[{name:"rules",type:"Vector<PrivacyRule>"},{name:"users",type:"Vector<User>"}],type:"account.PrivacyRules"},{id:"-1194283041",predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:"314130811",predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:"1815593308",predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"297109817",predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:"978674434",predicate:"documentAttributeSticker",params:[{name:"alt",type:"string"},{name:"stickerset",type:"InputStickerSet"}],type:"DocumentAttribute"},{id:"1494273227",predicate:"documentAttributeVideo",params:[{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"-1739392570",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",typ
name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:"-190472735",predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1431327288",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:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"766443943",predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"982505656",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",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:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",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:"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:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"750622127",predicate:"updateInlineBotCallbackQuery",params:[{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"data",type:"bytes"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"}],methods:[{id:"-878758099",method:"invokeAfterMsg",params:[{name:"msg_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:"1036301552",method:"invokeAfterMsgs",params:[{name:"msg_ids",type:"Vector<long>"},{name:"query",type:"!X"}],type:"X"},{id:"1877286395",method:"auth.checkPhone",params:[{name:"phone_number",type:"string"}],type:"auth.CheckedPhone"},{id:"-855805745",method:"auth.sendCode",params:[{name:"flags",type:"#"},{name:"allow_flashcall",type:"flags.0?true"},{name:"phone_number",type:"string"},{name:"current_number",type:"flags.0?Bool"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"lang_code",type:"string"}],type:"auth.SentCode"},{id:"453408308",method:"auth.signUp",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"auth.Authorization"},{id
2734:["✴",["eight_pointed_black_star"]],2744:["❄",["snowflake"]],2747:["❇",["sparkle"]],"274c":["❌",["x"]],"274e":["❎",["negative_squared_cross_mark"]],2753:["❓",["question"]],2754:["❔",["grey_question"]],2755:["❕",["grey_exclamation"]],2757:["❗",["exclamation","heavy_exclamation_mark"]],2764:["❤",["heart"],"<3"],2795:["➕",["heavy_plus_sign"]],2796:["➖",["heavy_minus_sign"]],2797:["➗",["heavy_division_sign"]],"27a1":["➡",["arrow_right"]],"27b0":["➰",["curly_loop"]],"27bf":["➿",["loop"]],2934:["⤴",["arrow_heading_up"]],2935:["⤵",["arrow_heading_down"]],"2b05":["⬅",["arrow_left"]],"2b06":["⬆",["arrow_up"]],"2b07":["⬇",["arrow_down"]],"2b1b":["⬛",["black_large_square"]],"2b1c":["⬜",["white_large_square"]],"2b50":["⭐",["star"]],"2b55":["⭕",["o"]],3030:["〰",["wavy_dash"]],"303d":["〽",["part_alternation_mark"]],3297:["㊗",["congratulations"]],3299:["㊙",["secret"]],"1f004":["🀄",["mahjong"]],"1f0cf":["🃏",["black_joker"]],"1f170":["🅰",["a"]],"1f171":["🅱",["b"]],"1f17e":["🅾",["o2"]],"1f17f":["🅿",["parking"]],"1f18e":["🆎",["ab"]],"1f191":["🆑",["cl"]],"1f192":["🆒",["cool"]],"1f193":["🆓",["free"]],"1f194":["🆔",["id"]],"1f195":["🆕",["new"]],"1f196":["🆖",["ng"]],"1f197":["🆗",["ok"]],"1f198":["🆘",["sos"]],"1f199":["🆙",["up"]],"1f19a":["🆚",["vs"]],"1f201":["🈁",["koko"]],"1f202":["🈂",["sa"]],"1f21a":["🈚",["u7121"]],"1f22f":["🈯",["u6307"]],"1f232":["🈲",["u7981"]],"1f233":["🈳",["u7a7a"]],"1f234":["🈴",["u5408"]],"1f235":["🈵",["u6e80"]],"1f236":["🈶",["u6709"]],"1f237":["🈷",["u6708"]],"1f238":["🈸",["u7533"]],"1f239":["🈹",["u5272"]],"1f23a":["🈺",["u55b6"]],"1f250":["🉐",["ideograph_advantage"]],"1f251":["🉑",["accept"]],"1f300":["🌀",["cyclone"]],"1f301":["🌁",["foggy"]],"1f302":["🌂",["closed_umbrella"]],"1f303":["🌃",["night_with_stars"]],"1f304":["🌄",["sunrise_over_mountains"]],"1f305":["🌅",["sunrise"]],"1f306":["🌆",["city_sunset"]],"1f307":["🌇",["city_sunrise"]],"1f308":["🌈",["rainbow"]],"1f309":["🌉",["bridge_at_night"]],"1f30a":["🌊",["ocean"]],"1f30b":["🌋",["volcano"]],"1f30c":["🌌",["milky_way"]],"1f30d":["🌍",["earth_africa"]],"1f30e":["🌎",["earth_americas"]],"1f30f":["🌏",["earth_asia"]],"1f310":["🌐",["globe_with_meridians"]],"1f311":["🌑",["new_moon"]],"1f312":["🌒",["waxing_crescent_moon"]],"1f313":["🌓",["first_quarter_moon"]],"1f314":["🌔",["moon","waxing_gibbous_moon"]],"1f315":["🌕",["full_moon"]],"1f316":["🌖",["waning_gibbous_moon"]],"1f317":["🌗",["last_quarter_moon"]],"1f318":["🌘",["waning_crescent_moon"]],"1f319":["🌙",["crescent_moon"]],"1f320":["🌠",["stars"]],"1f31a":["🌚",["new_moon_with_face"]],"1f31b":["🌛",["first_quarter_moon_with_face"]],"1f31c":["🌜",["last_quarter_moon_with_face"]],"1f31d":["🌝",["full_moon_with_face"]],"1f31e":["🌞",["sun_with_face"]],"1f31f":["🌟",["star2"]],"1f330":["🌰",["chestnut"]],"1f331":["🌱",["seedling"]],"1f332":["🌲",["evergreen_tree"]],"1f333":["🌳",["deciduous_tree"]],"1f334":["🌴",["palm_tree"]],"1f335":["🌵",["cactus"]],"1f337":["🌷",["tulip"]],"1f338":["🌸",["cherry_blossom"]],"1f339":["🌹",["rose"]],"1f33a":["🌺",["hibiscus"]],"1f33b":["🌻",["sunflower"]],"1f33c":["🌼",["blossom"]],"1f33d":["🌽",["corn"]],"1f33e":["🌾",["ear_of_rice"]],"1f33f":["🌿",["herb"]],"1f340":["🍀",["four_leaf_clover"]],"1f341":["🍁",["maple_leaf"]],"1f342":["🍂",["fallen_leaf"]],"1f343":["🍃",["leaves"]],"1f344":["🍄",["mushroom"]],"1f345":["🍅",["tomato"]],"1f346":["🍆",["eggplant"]],"1f347":["🍇",["grapes"]],"1f348":["🍈",["melon"]],"1f349":["🍉",["watermelon"]],"1f34a":["🍊",["tangerine"]],"1f34b":["🍋",["lemon"]],"1f34c":["🍌",["banana"]],"1f34d":["🍍",["pineapple"]],"1f34e":["🍎",["apple"]],"1f34f":["🍏",["green_apple"]],"1f350":["🍐",["pear"]],"1f351":["🍑",["peach"]],"1f352":["🍒",["cherries"]],"1f353":["🍓",["strawberry"]],"1f354":["🍔",["hamburger"]],"1f355":["🍕",["pizza"]],"1f356":["🍖",["meat_o
"ᴎ":"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","ɏ":"
return d(e,Aa.call(arguments,1),!0)}function m(e){return parseInt(e,10)}function g(e,t){return u(Object.create(e),t)}function h(){}function f(e){return e}function _(e){return function(){return e}}function v(e){return M(e.toString)&&e.toString!==Object.prototype.toString}function y(e){return"undefined"==typeof e}function b(e){return"undefined"!=typeof e}function w(e){return null!==e&&"object"==typeof e}function k(e){return null!==e&&"object"==typeof e&&!Pa(e)}function $(e){return"string"==typeof e}function C(e){return"number"==typeof e}function S(e){return"[object Date]"===Da.call(e)}function M(e){return"function"==typeof e}function x(e){return"[object RegExp]"===Da.call(e)}function I(e){return e&&e.window===e}function A(e){return e&&e.$evalAsync&&e.$watch}function E(e){return"[object File]"===Da.call(e)}function T(e){return"[object FormData]"===Da.call(e)}function D(e){return"[object Blob]"===Da.call(e)}function P(e){return"boolean"==typeof e}function F(e){return e&&M(e.then)}function R(e){return Ba.test(Da.call(e))}function N(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function U(e){var t,n={},a=e.split(",");for(t=0;t<a.length;t++)n[a[t]]=!0;return n}function O(e){return ba(e.nodeName||e[0]&&e[0].nodeName)}function B(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function L(e,t,n,a){if(I(e)||A(e))throw Fa("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(R(t))throw Fa("cpta","Can't copy! TypedArray destination cannot be mutated.");if(t){if(e===t)throw Fa("cpi","Can't copy! Source and destination are identical.");n=n||[],a=a||[],w(e)&&(n.push(e),a.push(t));var i;if(Oa(e)){t.length=0;for(var s=0;s<e.length;s++)t.push(L(e[s],null,n,a))}else{var r=t.$$hashKey;if(Oa(t)?t.length=0:o(t,function(e,n){delete t[n]}),k(e))for(i in e)t[i]=L(e[i],null,n,a);else if(e&&"function"==typeof e.hasOwnProperty)for(i in e)e.hasOwnProperty(i)&&(t[i]=L(e[i],null,n,a));else for(i in e)wa.call(e,i)&&(t[i]=L(e[i],null,n,a));c(t,r)}}else if(t=e,w(e)){var l;if(n&&-1!==(l=n.indexOf(e)))return a[l];if(Oa(e))return L(e,[],n,a);if(R(e))t=new e.constructor(e);else if(S(e))t=new Date(e.getTime());else if(x(e))t=new RegExp(e.source,e.toString().match(/[^\/]*$/)[0]),t.lastIndex=e.lastIndex;else{if(!M(e.cloneNode)){var d=Object.create(Pa(e));return L(e,d,n,a)}t=e.cloneNode(!0)}a&&(n.push(e),a.push(t))}return t}function j(e,t){if(Oa(e)){t=t||[];for(var n=0,a=e.length;a>n;n++)t[n]=e[n]}else if(w(e)){t=t||{};for(var i in e)("$"!==i.charAt(0)||"$"!==i.charAt(1))&&(t[i]=e[i])}return t||e}function q(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var n,a,i,o=typeof e,s=typeof t;if(o==s&&"object"==o){if(!Oa(e)){if(S(e))return S(t)?q(e.getTime(),t.getTime()):!1;if(x(e))return x(t)?e.toString()==t.toString():!1;if(A(e)||A(t)||I(e)||I(t)||Oa(t)||S(t)||x(t))return!1;i=fe();for(a in e)if("$"!==a.charAt(0)&&!M(e[a])){if(!q(e[a],t[a]))return!1;i[a]=!0}for(a in t)if(!(a in i)&&"$"!==a.charAt(0)&&b(t[a])&&!M(t[a]))return!1;return!0}if(!Oa(t))return!1;if((n=e.length)==t.length){for(a=0;n>a;a++)if(!q(e[a],t[a]))return!1;return!0}}return!1}function H(e,t,n){return e.concat(Aa.call(t,n))}function V(e,t){return Aa.call(e,t||0)}function z(e,t){var n=arguments.length>2?V(arguments,2):[];return!M(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,H(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function W(e,a){var i=a;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?i=n:I(a)?i="$WINDOW":a&&t===a?i="$DOCUMENT":A(a)&&(i="$SCOPE"),i}function G(e,t){return"undefined"==typeof e?n:(C(t)||(t=t?2:null),JSON.stringify(e,W,t))}function K(e){return $(e)?JSON.parse(e):e}function Y(e,t){var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function Z(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function X(e,t,n){n=n?-1:1;var a=Y(t,e.getTimezoneOffset());return Z(e,n*(a-e.getTimezoneOffset()))}function J(e){e=Ma(e).clone();try{e.empty()}catch(t){}var n=Ma("<div>").append(e).html();t
n.multiElement)return!0;return!1}function G(e,t){var n=t.$attr,a=e.$attr,i=e.$$element;o(e,function(a,i){"$"!=i.charAt(0)&&(t[i]&&t[i]!==a&&(a+=("style"===i?";":" ")+t[i]),e.$set(i,a,!0,n[i]))}),o(t,function(t,o){"class"==o?(T(i,t),e["class"]=(e["class"]?e["class"]+" ":"")+t):"style"==o?(i.attr("style",i.attr("style")+";"+t),e.style=(e.style?e.style+";":"")+t):"$"==o.charAt(0)||e.hasOwnProperty(o)||(e[o]=t,a[o]=n[o])})}function K(e,t,n,a,i,r,l,c){var d,u,p=[],m=t[0],h=e.shift(),f=g(h,{templateUrl:null,transclude:null,replace:null,$$originalDirective:h}),_=M(h.templateUrl)?h.templateUrl(t,n):h.templateUrl,v=h.templateNamespace;return t.empty(),s(_).then(function(s){var g,y,b,k;if(s=de(s),h.replace){if(b=$e(s)?[]:ut(Q(v,La(s))),g=b[0],1!=b.length||g.nodeType!==Ga)throw Ei("tplrt","Template for directive '{0}' must have exactly one root element. {1}",h.name,_);y={$attr:{}},ne(a,t,g);var $=N(g,[],y);w(h.scope)&&H($),e=$.concat(e),G(n,y)}else g=m,t.html(s);for(e.unshift(f),d=j(e,g,n,i,t,h,r,l,c),o(a,function(e,n){e==g&&(a[n]=t[0])}),u=F(t[0].childNodes,i);p.length;){var C=p.shift(),S=p.shift(),M=p.shift(),x=p.shift(),I=t[0];if(!C.$$destroyed){if(S!==m){var A=S.className;c.hasElementTranscludeDirective&&h.replace||(I=Ae(g)),ne(M,Ma(S),I),T(Ma(I),A)}k=d.transcludeOnThisElement?R(C,d.transclude,x):x,d(u,C,I,a,k,d)}}p=null}),function(e,t,n,a,i){var o=i;t.$$destroyed||(p?p.push(t,n,a,o):(d.transcludeOnThisElement&&(o=R(t,d.transclude,i)),d(u,t,n,a,o,d)))}}function Y(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function Z(e,t,n,a){function i(e){return e?" (module: "+e+")":""}if(t)throw Ei("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,J(a))}function X(e,t){var n=a(t,!0);n&&e.push({priority:0,compile:function(e){var t=e.parent(),a=!!t.length;return a&&D.$$addBindingClass(t),function(e,t){var i=t.parent();a||D.$$addBindingClass(i),D.$$addBindingInfo(i,n.expressions),e.$watch(n,function(e){t[0].nodeValue=e})}}})}function Q(e,n){switch(e=ba(e||"html")){case"svg":case"math":var a=t.createElement("div");return a.innerHTML="<"+e+">"+n+"</"+e+">",a.childNodes[0].childNodes;default:return n}}function ee(e,t){if("srcdoc"==t)return x.HTML;var n=O(e);return"xlinkHref"==t||"form"==n&&"action"==t||"img"!=n&&("src"==t||"ngSrc"==t)?x.RESOURCE_URL:void 0}function te(e,t,n,i,o){var s=ee(e,i);o=v[i]||o;var r=a(n,!0,s,o);if(r){if("multiple"===i&&"select"===O(e))throw Ei("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",J(e));t.push({priority:100,compile:function(){return{pre:function(e,t,l){var c=l.$$observers||(l.$$observers=fe());if(C.test(i))throw Ei("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var d=l[i];d!==n&&(r=d&&a(d,!0,s,o),n=d),r&&(l[i]=r(e),(c[i]||(c[i]=[])).$$inter=!0,(l.$$observers&&l.$$observers[i].$$scope||e).$watch(r,function(e,t){"class"===i&&e!=t?l.$updateClass(e,t):l.$set(i,e)}))}}}})}}function ne(e,n,a){var i,o,s=n[0],r=n.length,l=s.parentNode;if(e)for(i=0,o=e.length;o>i;i++)if(e[i]==s){e[i++]=a;for(var c=i,d=c+r-1,u=e.length;u>c;c++,d++)u>d?e[c]=e[d]:delete e[c];e.length-=r-1,e.context===s&&(e.context=a);break}l&&l.replaceChild(a,s);var p=t.createDocumentFragment();p.appendChild(s),Ma.hasData(s)&&(Ma(a).data(Ma(s).data()),xa?(Ua=!0,xa.cleanData([s])):delete Ma.cache[s[Ma.expando]]);for(var m=1,g=n.length;g>m;m++){var h=n[m];Ma(h).remove(),p.appendChild(h),delete n[m]}n[0]=a,n.length=1}function ae(e,t){return u(function(){return e.apply(null,arguments)},e,t)}function ie(e,t,n,a,o,s){try{e(t,n,a,o,s)}catch(r){i(r,J(n))}}function oe(e,t,n,i,s,l){var c;o(i,function(i,o){var l,d,u,p,m=i.attrName,g=i.optional,f=i.mode;switch(f){case"@":g||wa.call(t,m)||(n[o]=t[m]=void 0),t.$observe(m,function(e){$(e)&&(n[o]=e)}),t.$$observers[m].$$scope=e,$(t[m])&&(n[o]=a(t[m])(e));break;case"=":if(!wa.call(t,m)){if(g)break;t[m]=void 0}if(g&&!t[m])break;d=r(t[m]),p=d.literal?q:function(
C.$$phase=e}function f(){C.$$phase=null}function _(e,t){do e.$$watchersCount+=t;while(e=e.$parent)}function v(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function b(){}function k(){for(;I.length;)try{I.shift()()}catch(e){c(e)}r=null}function $(){null===r&&(r=u.defer(function(){C.$apply(k)}))}m.prototype={constructor:m,$new:function(t,n){var a;return n=n||this,t?(a=new m,a.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=e(this)),a=new this.$$ChildScope),a.$parent=n,a.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=a,n.$$childTail=a):n.$$childHead=n.$$childTail=a,(t||n!=this)&&a.$on("$destroy",p),a},$watch:function(e,t,n,a){var i=d(e);if(i.$$watchDelegate)return i.$$watchDelegate(this,t,n,i,e);var o=this,r=o.$$watchers,l={fn:t,last:b,get:i,exp:a||e,eq:!!n};return s=null,M(t)||(l.fn=h),r||(r=o.$$watchers=[]),r.unshift(l),_(this,1),function(){B(r,l)>=0&&_(o,-1),s=null}},$watchGroup:function(e,t){function n(){l=!1,c?(c=!1,t(i,i,r)):t(i,a,r)}var a=new Array(e.length),i=new Array(e.length),s=[],r=this,l=!1,c=!0;if(!e.length){var d=!0;return r.$evalAsync(function(){d&&t(i,i,r)}),function(){d=!1}}return 1===e.length?this.$watch(e[0],function(e,n,o){i[0]=e,a[0]=n,t(i,e===n?i:a,o)}):(o(e,function(e,t){var o=r.$watch(e,function(e,o){i[t]=e,a[t]=o,l||(l=!0,r.$evalAsync(n))});s.push(o)}),function(){for(;s.length;)s.shift()()})},$watchCollection:function(e,t){function n(e){o=e;var t,n,a,r,l;if(!y(o)){if(w(o))if(i(o)){s!==m&&(s=m,f=s.length=0,u++),t=o.length,f!==t&&(u++,s.length=f=t);for(var c=0;t>c;c++)l=s[c],r=o[c],a=l!==l&&r!==r,a||l===r||(u++,s[c]=r)}else{s!==g&&(s=g={},f=0,u++),t=0;for(n in o)wa.call(o,n)&&(t++,r=o[n],l=s[n],n in s?(a=l!==l&&r!==r,a||l===r||(u++,s[n]=r)):(f++,s[n]=r,u++));if(f>t){u++;for(n in s)wa.call(o,n)||(f--,delete s[n])}}else s!==o&&(s=o,u++);return u}}function a(){if(h?(h=!1,t(o,o,l)):t(o,r,l),c)if(w(o))if(i(o)){r=new Array(o.length);for(var e=0;e<o.length;e++)r[e]=o[e]}else{r={};for(var n in o)wa.call(o,n)&&(r[n]=o[n])}else r=o}n.$stateful=!0;var o,s,r,l=this,c=t.length>1,u=0,p=d(e,n),m=[],g={},h=!0,f=0;return this.$watch(p,a)},$digest:function(){var e,a,i,o,l,d,p,m,h,_,v=t,y=this,w=[];g("$digest"),u.$$checkUrlChange(),this===C&&null!==r&&(u.defer.cancel(r),k()),s=null;do{for(d=!1,m=y;S.length;){try{_=S.shift(),_.scope.$eval(_.expression,_.locals)}catch($){c($)}s=null}e:do{if(o=m.$$watchers)for(l=o.length;l--;)try{if(e=o[l])if((a=e.get(m))===(i=e.last)||(e.eq?q(a,i):"number"==typeof a&&"number"==typeof i&&isNaN(a)&&isNaN(i))){if(e===s){d=!1;break e}}else d=!0,s=e,e.last=e.eq?L(a,null):a,e.fn(a,i===b?a:i,m),5>v&&(h=4-v,w[h]||(w[h]=[]),w[h].push({msg:M(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:a,oldVal:i}))}catch($){c($)}if(!(p=m.$$watchersCount&&m.$$childHead||m!==y&&m.$$nextSibling))for(;m!==y&&!(p=m.$$nextSibling);)m=m.$parent}while(m=p);if((d||S.length)&&!v--)throw f(),n("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,w)}while(d||S.length);for(f();x.length;)try{x.shift()()}catch($){c($)}},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===C&&u.$$applicationDestroyed(),_(this,-this.$$watchersCount);for(var t in this.$$listenerCount)v(this,this.$$listenerCount[t],t);e&&e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=h,this.$on=this.$watch=this.$watchGroup=function(){return h},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(e,t){return d(e)(this,t)},$evalAsync:function(e,t){C.$$phase||S.length||u.defer(function(){S.length&&C.$digest()}),S.push({scope:this,expression:e,locals:t})},$$postDigest:fu
var o=t[a];e.appendChild(o)}}},prepend:function(e,t){if(e.nodeType===Ga){var n=e.firstChild;o(new Ie(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){t=Ma(t).eq(0).clone()[0];var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)},remove:qe,detach:function(e){qe(e,!0)},after:function(e,t){var n=e,a=e.parentNode;t=new Ie(t);for(var i=0,o=t.length;o>i;i++){var s=t[i];a.insertBefore(s,n.nextSibling),n=s}},addClass:Ue,removeClass:Ne,toggleClass:function(e,t,n){t&&o(t.split(" "),function(t){var a=n;y(a)&&(a=!Re(e,t)),(a?Ue:Ne)(e,t)})},parent:function(e){var t=e.parentNode;return t&&t.nodeType!==Ja?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:Ae,triggerHandler:function(e,t,n){var a,i,s,r=t.type||t,l=Pe(e),c=l&&l.events,d=c&&c[r];d&&(a={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:h,type:r,target:e},t.type&&(a=u(a,t)),i=j(d),s=n?[a].concat(n):[a],o(i,function(t){a.isImmediatePropagationStopped()||t.apply(e,s)}))}},function(e,t){Ie.prototype[t]=function(t,n,a){for(var i,o=0,s=this.length;s>o;o++)y(i)?(i=e(this[o],t,n,a),b(i)&&(i=Ma(i))):Oe(i,e(this[o],t,n,a));return b(i)?i:this},Ie.prototype.bind=Ie.prototype.on,Ie.prototype.unbind=Ie.prototype.off}),Ye.prototype={put:function(e,t){this[Ke(e,this.nextUid)]=t},get:function(e){return this[Ke(e,this.nextUid)]},remove:function(e){var t=this[e=Ke(e,this.nextUid)];return delete this[e],t}};var _i=[function(){this.$get=[function(){return Ye}]}],vi=/^[^\(]*\(\s*([^\)]*)\)/m,yi=/,/,bi=/^\s*(_?)(\S+?)\1\s*$/,wi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ki=a("$injector");Je.$$annotate=Xe;var $i=a("$animate"),Ci=1,Si="ng-animate",Mi=function(){this.$get=["$q","$$rAF",function(e,t){function n(){}return n.all=h,n.chain=h,n.prototype={end:h,cancel:h,resume:h,pause:h,complete:h,then:function(n,a){return e(function(e){t(function(){e()})}).then(n,a)}},n}]},xi=function(){var e=new Ye,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,a){function i(e,t,n){var a=!1;return t&&(t=$(t)?t.split(" "):Oa(t)?t:[],o(t,function(t){t&&(a=!0,e[t]=n)})),a}function s(){o(t,function(t){var n=e.get(t);if(n){var a=nt(t.attr("class")),i="",s="";o(n,function(e,t){var n=!!a[t];e!==n&&(e?i+=(i.length?" ":"")+t:s+=(s.length?" ":"")+t)}),o(t,function(e){i&&Ue(e,i),s&&Ne(e,s)}),e.remove(t)}}),t.length=0}function r(n,o,r){var l=e.get(n)||{},c=i(l,o,!0),d=i(l,r,!1);(c||d)&&(e.put(n,l),t.push(n),1===t.length&&a.$$postDigest(s))}return{enabled:h,on:h,off:h,pin:h,push:function(e,t,a,i){return i&&i(),a=a||{},a.from&&e.css(a.from),a.to&&e.css(a.to),(a.addClass||a.removeClass)&&r(e,a.addClass,a.removeClass),new n}}}]},Ii=["$provide",function(e){var t=this;this.$$registeredAnimations=Object.create(null),this.register=function(n,a){if(n&&"."!==n.charAt(0))throw $i("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,a)},this.classNameFilter=function(e){if(1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null,this.$$classNameFilter)){var t=new RegExp("(\\s+|\\/)"+Si+"(\\s+|\\/)");if(t.test(this.$$classNameFilter.toString()))throw $i("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Si)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var a=tt(n);!a||a.parentNode||a.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.end&&e.end()},enter:function(n,a,i,o){return a=a&&Ma(a),i=i&&Ma(i),a=a||i.parent(),t(n,a,i),e.push(n,"enter",at(o))},move:function(n,a,i,o){return a=a&&Ma(a),i=i&&Ma(i),a=a||i.parent(),t(n,a,i),e.push(n,"move",at(o))},leave:function(t,n){return e.push(t,"leave",a
ho[t]=function(){return{priority:99,link:function(n,a,i){var o=e,s=e;"href"===e&&"[object SVGAnimatedString]"===Da.call(a.prop("href"))&&(s="xlinkHref",i.$attr[s]="xlink:href",o=null),i.$observe(t,function(t){return t?(i.$set(s,t),void(Sa&&o&&a.prop(o,i[s]))):void("href"===e&&i.$set(s,null))})}}}});var fo={$addControl:h,$$renameControl:ea,$removeControl:h,$setValidity:h,$setDirty:h,$setPristine:h,$setSubmitted:h},_o="ng-submitted";ta.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vo=function(e){return["$timeout","$parse",function(t,a){function i(e){return""===e?a('this[""]').assign:a(e).assign||h}var o={name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:ta,compile:function(a,o){a.addClass(Jo).addClass(Zo);var s=o.name?"name":e&&o.ngForm?"ngForm":!1;return{pre:function(e,a,o,r){var l=r[0];if(!("action"in o)){var c=function(t){e.$apply(function(){l.$commitViewValue(),l.$setSubmitted()}),t.preventDefault()};ni(a[0],"submit",c),a.on("$destroy",function(){t(function(){ai(a[0],"submit",c)},0,!1)})}var d=r[1]||l.$$parentForm;d.$addControl(l);var p=s?i(l.$name):h;s&&(p(e,l),o.$observe(s,function(t){l.$name!==t&&(p(e,n),l.$$parentForm.$$renameControl(l,t),(p=i(l.$name))(e,l))})),a.on("$destroy",function(){l.$$parentForm.$removeControl(l),p(e,n),u(l,fo)})}}}};return o}]},yo=vo(),bo=vo(!0),wo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,ko=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,$o=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Co=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,So=/^(\d{4})-(\d{2})-(\d{2})$/,Mo=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,xo=/^(\d{4})-W(\d\d)$/,Io=/^(\d{4})-(\d\d)$/,Ao=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Eo={text:aa,date:ra("date",So,sa(So,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ra("datetimelocal",Mo,sa(Mo,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:ra("time",Ao,sa(Ao,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ra("week",xo,oa,"yyyy-Www"),month:ra("month",Io,sa(Io,["yyyy","MM"]),"yyyy-MM"),number:ca,url:da,email:ua,radio:pa,checkbox:ga,hidden:h,button:h,submit:h,reset:h,file:h},To=["$browser","$sniffer","$filter","$parse",function(e,t,n,a){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,s,r){r[0]&&(Eo[ba(s.type)]||Eo.text)(i,o,s,r[0],t,e,n,a)}}}}],Do=/^(true|false|\d+)$/,Po=function(){return{restrict:"A",priority:100,compile:function(e,t){return Do.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}},Fo=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,a){e.$$addBindingInfo(n,a.ngBind),n=n[0],t.$watch(a.ngBind,function(e){n.textContent=y(e)?"":e})}}}}],Ro=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,a,i){var o=e(a.attr(i.$attr.ngBindTemplate));t.$$addBindingInfo(a,o.expressions),a=a[0],i.$observe("ngBindTemplate",function(e){a.textContent=y(e)?"":e})}}}}],No=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(a,i){var o=t(i.ngBindHtml),s=t(i.ngBindHtml,function(e){return(e||"").toString()});return n.$$addBindingClass(a),function(t,a,i){n.$$addBindingInfo(a,i.ngBindHtml),t.$watch(s,function(){a.html(e.getTrustedHtml(o(t))||"")})}}}}],Uo=_({restrict:"A",require:"ngModel",link:function(e,t,n,a){a.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),Oo=ha("",!0),Bo=ha("Odd",0),Lo=ha("Even",1),jo=Qn({compile:function(e,t){t.$set("ngCloak",n),e.removeClass("ng-cloak")}}),qo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Ho={},Vo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=ct("ng-"+e);Ho[t]=["$parse","$rootScope",function(n,a){return{restric
n.preparationClasses&&(t.preparationClasses=S(n.preparationClasses,t.preparationClasses),delete n.preparationClasses);var s=t.domOperation!==O?t.domOperation:null;return B(t,n),s&&(t.domOperation=s),t.addClass=o.addClass?o.addClass:null,t.removeClass=o.removeClass?o.removeClass:null,t}function v(e,t,n){function a(e){H(e)&&(e=e.split(" "));var t={};return j(e,function(e){e.length&&(t[e]=!0)}),t}var i=1,o=-1,s={};e=a(e),t=a(t),j(t,function(e,t){s[t]=i}),n=a(n),j(n,function(e,t){s[t]=s[t]===i?null:o});var r={addClass:"",removeClass:""};return j(s,function(t,n){var a,s;t===i?(a="addClass",s=!e[n]):t===o&&(a="removeClass",s=e[n]),s&&(r[a].length&&(r[a]+=" "),r[a]+=n)}),r}function y(e){return e instanceof t.element?e[0]:e}function b(e,t,n){var a="";t&&(a=s(t,J,!0)),n.addClass&&(a=S(a,s(n.addClass,Z))),n.removeClass&&(a=S(a,s(n.removeClass,X))),a.length&&(n.preparationClasses=a,e.addClass(a))}function w(e,t){t.preparationClasses&&(e.removeClass(t.preparationClasses),t.preparationClasses=null),t.activeClasses&&(e.removeClass(t.activeClasses),t.activeClasses=null)}function k(e,t){var n=t?"-"+t+"s":"";return C(e,[pe,n]),[pe,n]}function $(e,t){var n=t?"paused":"",a=N+le;return C(e,[a,n]),[a,n]}function C(e,t){var n=t[0],a=t[1];e.style[n]=a}function S(e,t){return e?t?e+" "+t:e:t}function M(e){return[ue,e+"s"]}function x(e,t){var n=t?de:pe;return[n,e+"s"]}function I(e,t,n){var a=Object.create(null),i=e.getComputedStyle(t)||{};return j(n,function(e,t){var n=i[e];if(n){var o=n.charAt(0);("-"===o||"+"===o||o>=0)&&(n=A(n)),0===n&&(n=null),a[t]=n}}),a}function A(e){var t=0,n=e.split(/\s*,\s*/);return j(n,function(e){"s"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,t=t?Math.max(e,t):e}),t}function E(e){return 0===e||null!=e}function T(e,t){var n=F,a=e+"s";return t?n+=ae:a+=" linear all",[n,a]}function D(){var e=Object.create(null);return{flush:function(){e=Object.create(null)},count:function(t){var n=e[t];return n?n.total:0},get:function(t){var n=e[t];return n&&n.value},put:function(t,n){e[t]?e[t].total++:e[t]={total:1,value:n}}}}function P(e,t,n){j(n,function(n){e[n]=W(e[n])?e[n]:t.style.getPropertyValue(n)})}var F,R,N,U,O=t.noop,B=t.extend,L=t.element,j=t.forEach,q=t.isArray,H=t.isString,V=t.isObject,z=t.isUndefined,W=t.isDefined,G=t.isFunction,K=t.isElement,Y=1,Z="-add",X="-remove",J="ng-",Q="-active",ee="ng-animate",te="$$ngAnimateChildren",ne="";z(e.ontransitionend)&&W(e.onwebkittransitionend)?(ne="-webkit-",F="WebkitTransition",R="webkitTransitionEnd transitionend"):(F="transition",R="transitionend"),z(e.onanimationend)&&W(e.onwebkitanimationend)?(ne="-webkit-",N="WebkitAnimation",U="webkitAnimationEnd animationend"):(N="animation",U="animationend");var ae="Duration",ie="Property",oe="Delay",se="TimingFunction",re="IterationCount",le="PlayState",ce=9999,de=N+oe,ue=N+ae,pe=F+oe,me=F+ae,ge=["$$rAF",function(e){function t(e){a=a.concat(e),n()}function n(){if(a.length){for(var t=a.shift(),o=0;o<t.length;o++)t[o]();i||e(function(){i||n()})}}var a,i;return a=t.queue=[],t.waitUntilQuiet=function(t){i&&i(),i=e(function(){i=null,t(),n()})},t}],he=[function(){return function(e,n,a){var i=a.ngAnimateChildren;t.isString(i)&&0===i.length?n.data(te,!0):a.$observe("ngAnimateChildren",function(e){e="on"===e||"true"===e,n.data(te,e)})}}],fe="$$animateCss",_e=1e3,ve=3,ye=1.5,be={transitionDuration:me,transitionDelay:pe,transitionProperty:F+ie,animationDuration:ue,animationDelay:de,animationIterationCount:N+re},we={transitionDuration:me,transitionDelay:pe,animationDuration:ue,animationDelay:de},ke=["$animateProvider",function(e){var t=D(),n=D();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(e,a,i,l,c,d,u,_){function v(e,t){var n="$$ngAnimateParentKey",a=e.parentNode,i=a[n]||(a[n]=++B);return i+"-"+e.getAttribute("class")+"-"+t}function b(n,a,i,o){var s=t.get(i);return s||(s=I(e,n,o),"infinite"===s.animationIterationCount&&(s.animationIterationCount=1)),t.put(i,s),s}function w(i,o,r,l){var c;if(t.count(r)>0&&(c=n.get(r),!c)){var d=s(o,"-stagger");a.
e}])}]),i.directive("ngClick",["$parse","$timeout","$rootElement",function(e,n,a){function i(e,t,n,a){return Math.abs(e-n)<h&&Math.abs(t-a)<h}function o(e,t,n){for(var a=0;a<e.length;a+=2)if(i(e[a],e[a+1],t,n))return e.splice(a,a+2),!0;return!1}function s(e){if(!(Date.now()-c>g)){var t=e.touches&&e.touches.length?e.touches:[e],n=t[0].clientX,a=t[0].clientY;1>n&&1>a||u&&u[0]===n&&u[1]===a||(u&&(u=null),"label"===e.target.tagName.toLowerCase()&&(u=[n,a]),o(d,n,a)||(e.stopPropagation(),e.preventDefault(),e.target&&e.target.blur()))}}function r(e){var t=e.touches&&e.touches.length?e.touches:[e],a=t[0].clientX,i=t[0].clientY;d.push(a,i),n(function(){for(var e=0;e<d.length;e+=2)if(d[e]==a&&d[e+1]==i)return void d.splice(e,e+2)},g,!1)}function l(e,t){d||(a[0].addEventListener("click",s,!0),a[0].addEventListener("touchstart",r,!0),d=[]),c=Date.now(),o(d,e,t)}var c,d,u,p=750,m=12,g=2500,h=25,f="ng-click-active";return function(n,a,i){function o(){g=!1,a.removeClass(f)}var s,r,c,d,u=e(i.ngClick),g=!1;a.on("touchstart",function(e){g=!0,s=e.target?e.target:e.srcElement,3==s.nodeType&&(s=s.parentNode),a.addClass(f),r=Date.now();var t=e.touches&&e.touches.length?e.touches:[e],n=t[0].originalEvent||t[0];c=n.clientX,d=n.clientY}),a.on("touchmove",function(e){o()}),a.on("touchcancel",function(e){o()}),a.on("touchend",function(e){var n=Date.now()-r,u=e.changedTouches&&e.changedTouches.length?e.changedTouches:e.touches&&e.touches.length?e.touches:[e],h=u[0].originalEvent||u[0],f=h.clientX,_=h.clientY,v=Math.sqrt(Math.pow(f-c,2)+Math.pow(_-d,2));g&&p>n&&m>v&&(l(f,_),s&&s.blur(),t.isDefined(i.disabled)&&i.disabled!==!1||a.triggerHandler("click",[e])),o()}),a.onclick=function(e){},a.on("click",function(e,t){n.$apply(function(){u(n,{$event:t||e})})}),a.on("mousedown",function(e){a.addClass(f)}),a.on("mousemove mouseup",function(e){a.removeClass(f)})}}]),a("ngSwipeLeft",-1,"swipeleft"),a("ngSwipeRight",1,"swiperight")}(window,window.angular),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.dropdown","ui.bootstrap.tooltip","ui.bootstrap.position","ui.bootstrap.bindHtml","ui.bootstrap.modal","ui.bootstrap.transition"]),angular.module("ui.bootstrap.tpls",["template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/modal/backdrop.html","template/modal/window.html"]),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(e){var t=null;this.open=function(i){t||(e.bind("click",n),e.bind("keydown",a)),t&&t!==i&&(t.isOpen=!1),t=i},this.close=function(i){t===i&&(t=null,e.unbind("click",n),e.unbind("keydown",a))};var n=function(e){if(t){var n=t.getToggleElement();e&&n&&n[0].contains(e.target)||t.$apply(function(){t.isOpen=!1})}},a=function(e){27===e.which&&(t.focusToggleElement(),n())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(e,t,n,a,i,o){var s,r=this,l=e.$new(),c=a.openClass,d=angular.noop,u=t.onToggle?n(t.onToggle):angular.noop;this.init=function(a){r.$element=a,t.isOpen&&(s=n(t.isOpen),d=s.assign,e.$watch(s,function(e){l.isOpen=!!e}))},this.toggle=function(e){return l.isOpen=arguments.length?!!e:!l.isOpen},this.isOpen=function(){return l.isOpen},l.getToggleElement=function(){return r.toggleElement},l.focusToggleElement=function(){r.toggleElement&&r.toggleElement[0].focus()},l.$watch("isOpen",function(t,n){o[t?"addClass":"removeClass"](r.$element,c),t?(l.focusToggleElement(),i.open(l)):i.close(l),d(e,t),angular.isDefined(t)&&t!==n&&u(e,{open:!!t})}),e.$on("$locationChangeSuccess",function(){l.isOpen=!1}),e.$on("$destroy",function(){l.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(e,t,n,a){a.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(e,t,n,a){if(a){a.toggleElement=t;var i=function(i){i.preventDefault(),t.hasClass("disabled")||n.disabled||e.$apply(function(){a.toggle()})};t.bind("click",i),t.attr({"aria-haspopup":!0,"aria-expanded":!1}),e.$watc
_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return"string"==typeof e?k:y}return function(t){return{encrypt:function(n,a,i){return e(a).encrypt(t,n,a,i)},decrypt:function(n,a,i){return e(a).decrypt(t,n,a,i)}}}}()}),u=(n.StreamCipher=d.extend({_doFinalize:function(){var e=this._process(!0);return e},blockSize:1}),t.mode={}),p=n.BlockCipherMode=a.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),m=u.CBC=function(){function t(t,n,a){var i=this._iv;if(i){var o=i;this._iv=e}else var o=this._prevBlock;for(var s=0;a>s;s++)t[n+s]^=o[s]}var n=p.extend();return n.Encryptor=n.extend({processBlock:function(e,n){var a=this._cipher,i=a.blockSize;t.call(this,e,n,i),a.encryptBlock(e,n),this._prevBlock=e.slice(n,n+i)}}),n.Decryptor=n.extend({processBlock:function(e,n){var a=this._cipher,i=a.blockSize,o=e.slice(n,n+i);a.decryptBlock(e,n),t.call(this,e,n,i),this._prevBlock=o}}),n}(),g=(u.IGE=function(){function t(e,t,n,a){for(var i=0;a>i;i++)e[n+i]^=t[i]}var n=p.extend();return n.Encryptor=n.extend({processBlock:function(n,a){var i=this._cipher,o=i.blockSize;this._ivp===e&&(this._ivp=this._iv.slice(0,o),this._iv2p=this._iv.slice(o,o+o));var s=n.slice(a,a+o);t(n,this._ivp,a,o),i.encryptBlock(n,a),t(n,this._iv2p,a,o),this._ivp=n.slice(a,a+o),this._iv2p=s}}),n.Decryptor=n.extend({processBlock:function(n,a){var i=this._cipher,o=i.blockSize;this._ivp===e&&(this._ivp=this._iv.slice(0,o),this._iv2p=this._iv.slice(o,2*o));var s=n.slice(a,a+o);t(n,this._iv2p,a,o),i.decryptBlock(n,a),t(n,this._ivp,a,o),this._ivp=s,this._iv2p=n.slice(a,a+o)}}),n}(),t.pad={}),h=g.Pkcs7={pad:function(e,t){for(var n=4*t,a=n-e.sigBytes%n,o=a<<24|a<<16|a<<8|a,s=[],r=0;a>r;r+=4)s.push(o);var l=i.create(s,a);e.concat(l)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},f=(g.NoPadding={pad:function(){},unpad:function(){}},n.BlockCipher=d.extend({cfg:d.cfg.extend({mode:m,padding:h}),reset:function(){d.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var a=n.createEncryptor;else{var a=n.createDecryptor;this._minBufferSize=1}this._mode=a.call(n,this,t&&t.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),n.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}})),_=t.format={},v=_.OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;if(n)var a=i.create([1398893684,1701076831]).concat(n).concat(t);else var a=t;return a.toString(r)},parse:function(e){var t=r.parse(e),n=t.words;if(1398893684==n[0]&&1701076831==n[1]){var a=i.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return f.create({ciphertext:t,salt:a})}},y=n.SerializableCipher=a.extend({cfg:a.extend({format:v}),encrypt:function(e,t,n,a){a=this.cfg.extend(a);var i=e.createEncryptor(n,a),o=i.finalize(t),s=i.cfg;return f.create({ciphertext:o,key:n,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:e.blockSize,formatter:a.format})},decrypt:function(e,t,n,a){a=this.cfg.extend(a),t=this._parse(t,a.format);var i=e.createDecryptor(n,a).finalize(t.ciphertext);return i},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),b=t.kdf={},w=b.OpenSSL={execute:function(e,t,n,a){a||(a=i.random(8));var o=c.create({keySize:t+n}).compute(e,a),s=i.create(o.words.slice(t),4*n);return o.sigBytes=4*t,f.create({key:o,iv:s,salt:a})}},k=n.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:w}),encrypt:function(e,t,n,a){a=this.cfg.extend(a);var i=a.kdf.execute(n,e.keySize,e.ivSize);a.iv=i.iv;var o=y.encrypt.call(this,e,t,i.key,a);return o.mixIn(i),o},decrypt:function(e,t,n,a){a=this.cfg.extend(a),t=this._parse(t,a.format);var i=a.kdf.execute(n,e.keySize,e.ivSize,t.salt);a.iv=i.iv;var o=y.decrypt.call(this,e,t,i.key,a);return o}})}(
},goog.math.Long.prototype.or=function(e){return goog.math.Long.fromBits(this.low_|e.low_,this.high_|e.high_)},goog.math.Long.prototype.xor=function(e){return goog.math.Long.fromBits(this.low_^e.low_,this.high_^e.high_)},goog.math.Long.prototype.shiftLeft=function(e){if(e&=63,0==e)return this;var t=this.low_;if(32>e){var n=this.high_;return goog.math.Long.fromBits(t<<e,n<<e|t>>>32-e)}return goog.math.Long.fromBits(0,t<<e-32)},goog.math.Long.prototype.shiftRight=function(e){if(e&=63,0==e)return this;var t=this.high_;if(32>e){var n=this.low_;return goog.math.Long.fromBits(n>>>e|t<<32-e,t>>e)}return goog.math.Long.fromBits(t>>e-32,t>=0?0:-1)},goog.math.Long.prototype.shiftRightUnsigned=function(e){if(e&=63,0==e)return this;var t=this.high_;if(32>e){var n=this.low_;return goog.math.Long.fromBits(n>>>e|t<<32-e,t>>>e)}return 32==e?goog.math.Long.fromBits(t,0):goog.math.Long.fromBits(t>>>e-32,0)},bpe=0,mask=0,radix=mask+1,digitsStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-";for(bpe=0;1<<bpe+1>1<<bpe;bpe++);bpe>>=1,mask=(1<<bpe)-1,radix=mask+1,one=int2bigInt(1,1,1),t=new Array(0),ss=t,s0=t,s1=t,s2=t,s3=t,s4=t,s5=t,s6=t,s7=t,T=t,sa=t,mr_x1=t,mr_r=t,mr_a=t,eg_v=t,eg_u=t,eg_A=t,eg_B=t,eg_C=t,eg_D=t,md_q1=t,md_q2=t,md_q3=t,md_r=t,md_r1=t,md_r2=t,md_tt=t,primes=t,pows=t,s_i=t,s_i2=t,s_R=t,s_rm=t,s_q=t,s_n1=t,s_a=t,s_r2=t,s_n=t,s_b=t,s_d=t,s_x1=t,s_x2=t,s_aa=t,rpprb=t,function(){function e(e){return JSON.parse(JSON.stringify(e))}function t(e,t,n,a,o){for(i=0;i<o;++i)e[t+i]=n[a+i]}function n(e){var t,n=[],a=e.length;for(t=0;a>t;++t)n.push(e[t]);return n}function a(t,n){var a=[];a.push(e(t));var i;for(i=0;n>i;++i)a.push(e(t));return a.push(0),a}function o(e,t){var n,a=[];for(n=0;t>n;++n)a.push(e);return a.push(0),a}function s(e,t,n,a,i){var o;for(o=0;i>o;o++)e[t+o]=n[a+o]}function r(e,t,n,a){var i;for(i=0;a>i;++i)e[t+i]=n}function l(e,t,n,a){var i,o="";for(i=0;a>i;++i)o+=String.fromCharCode(e[t+i]);return n==o?0:1}function c(e,t){var n,a=[];for(n=0;e>n;++n)a.push(t);return a}function d(t,n){var a,i=[];for(a=0;t>a;++a)i.push(e(n));return i}function u(t,n){var a;for(a=t.length-1;a>=0;--a)n=e(c(t[a],n));return n}function p(e){if(!e)throw Error("assert :P")}var m=void 0,g=null,h=0,f=0,_=h,v=h,y=0,b=0;window.WebPDecoder=function(){function w(e){return e==zt||e==Wt||e==Gt||e==Kt}function k(e){return S(e,1)}function $(e,t){var n=1+((e.la-1)*t>>8),a=n<<8,i=h;for(e.Z>=a?(i=1,e.la-=n,e.Z-=a):(i=0,e.la=n);128>e.la;)e.Z<<=1,e.la<<=1,8==++e.gc&&(e.gc=0,e.bc&&(e.Z+=e.qa[e.Ia++],e.bc--));return i}function C(e,t,n,a){a-=n,a>=2?(e.Z=t[n+0]<<8|t[n+1],e.qa=t,e.Ia=n+2,e.bc=a-2):(e.Z=0,e.qa=g,e.bc=0),e.la=255,e.gc=0}function S(e,t){for(var n=0,a=h,a=t-1;a>=0;a--)n|=$(e,128)<<a;return n}function M(e,t){var n=S(e,t);return k(e)?-n:n}function x(e,t,n,a){var i=b;for(p(e!=g),p(t!=g),p(4294967288>a),e.qa=t,e.Ia=n,e.ya=a,e.T=0,e.Q=0,e.g=0,e.L=0,i=e.fa=0;4>i&&i<e.ya;++i)e.T|=e.qa[e.Ia+e.Q]<<8*i,++e.Q}function I(e){for(;8<=e.g&&e.Q<e.ya;)e.T>>>=8,e.T+=e.qa[e.Ia+e.Q]<<24>>>0,++e.Q,e.g-=8}function A(e){8<=e.g&&I(e),e.Q==e.ya&&32==e.g&&(e.L=1)}function E(e,t){var n=0;if(p(t>=0),!e.L&&hn>t){if(e.Q==e.ya&&32<=e.g+t&&(e.L=1,32<e.g+t))return n;n=e.T>>e.g&fn[t],e.g+=t,8<=e.g&&8<=e.g&&I(e)}else e.fa=1;return n}function T(e){return e.Pa==e.gb}function D(e,t){return p(e!=g),0==t?0:(e.gb=2*t-1,e.Y=d(e.gb,zn),e.Y==g?0:(e.Y[0].s=-1,e.Pa=1))}function P(e){e!=g&&(e.Y=g,e.Y=g,e.gb=0,e.Pa=0)}function F(e,t,n,a){for(var i=e.Y,o=0,s=+e.gb;0<a--;){if(o>=s)return 0;if(0>i[o].s){if(T(e))return 0;var r=e,l=r.Y,c=+r.Pa;i[o].s=c-o,r.Pa+=2,l[c+0].s=-1,l[c+1].s=-1}else if(0==i[o].s)return 0;o+=i[o].s+(n>>a&1)}if(0>i[o].s)i[o].s=0;else if(0!=i[o].s)return 0;return i[o].kc=t,1}function R(e,t,n){var a=h,i=0,o=0;for(p(e!=g),p(t!=g),a=0;n>a;++a)0<t[a]&&(++i,o=a);if(!D(e,i))return 0;if(1==i)return 0>o||o>=n?(P(e),0):F(e,o,0,0);if(i=0,o=c(n,h),o==g)return(i=i&&T(e))||P(e),i;var s=h,s=h,a=c(Mn+1,0),r=h,l=c(Mn+1,0),d=0;for(p(t!=g),p(n>0),p(o!=g),s=0;n>s;++s)t[s]>d&&(d=t[s]);if(d>Mn)a=0;else{for(s=0;n>s;++s)++a[t[s]];for(r=a[0]=0,l[0]=-1,s=1;d>=s
_(n[a+f-1],255&$,$>>16,g,h+(f-1)*v)))}function st(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,Me,3)}function rt(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,Ee,3)}function lt(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,De,4)}function ct(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,Te,4)}function dt(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,Ie,4)}function ut(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,Ae,2)}function pt(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f){ot(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,xe,2)}function mt(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g){var h;for(h=0;p-1>h;h+=2)m(e[t+0],i[o+0],s[r+0],l,c),m(e[t+1],i[o+0],s[r+0],l,c+g),m(n[a+0],i[o+0],s[r+0],d,u),m(n[a+1],i[o+0],s[r+0],d,u+g),t+=2,a+=2,o++,r++,c+=2*g,u+=2*g;h==p-1&&(m(e[t+0],i[o+0],s[r+0],l,c),m(n[a+0],i[o+0],s[r+0],d,u))}function gt(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,De,4)}function ht(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Te,4)}function ft(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Ie,4)}function _t(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Ae,2)}function vt(e,t,n,a,i,o){for(;0<i--;){for(var s=e,r=t+(n?1:0),l=e,c=t+(n?0:3),d=h,d=0;a>d;++d){var u=l[c+4*d];if(255!=u){var u=32897*u,p=s,g=r+4*d+0;s[r+4*d+0]*u>>>23,p[g]=m,p=s,g=r+4*d+1,s[r+4*d+1]*u>>>23,p[g]=m,p=s,g=r+4*d+2,s[r+4*d+2]*u>>>23,p[g]=m}}t+=o}}function yt(e,n){var a,i=n.j.c.Va,o=i.y,s=i.D+e.w*i.F,r=i.c,l=i.B+(e.w>>1)*i.nb,c=i.S,d=i.C+(e.w>>1)*i.rb,u=e.m,p=e.h,m=parseInt((u+1)/2,10),g=parseInt((p+1)/2,10);for(a=0;p>a;++a)t(o,s+a*i.F,e.y,e.D+a*e.F,u);for(a=0;g>a;++a)t(r,l+a*i.nb,e.c,e.B+a*e.Da,m),t(c,d+a*i.rb,e.S,e.C+a*e.Da,m);return e.h}function bt(e,t){var n,a=t.j,i=a.c.RGBA,o=i.ma,s=i.Sa+e.w*i.f,r=e.y,l=e.D,c=e.c,d=e.B,u=e.S,p=e.C,a=ao[a.J],m=e.m,g=e.h-1;for(n=0;g>n;n+=2)a(r,l,r,l+e.F,c,d,u,p,o,s,o,s+i.f,m),l+=2*e.F,d+=e.Da,p+=e.Da,s+=2*i.f;return n==g&&a(r,l,r,l,c,d,u,p,o,s,o,s,m),e.h}function wt(e,n){var a=e.h,i=n.j.c.RGBA,o=i.ma,s=i.Sa+e.w*i.f,r=no[n.j.J],l=e.y,c=e.D,d=e.c,u=e.B,p=e.S,m=e.C,h=n.Qb,f=n.Rb,_=n.lc,v=n.mc,y=e.w,b=e.w+e.h,w=e.m,k=parseInt((w+1)/2,10);for(0==y?r(g,g,l,c,d,u,p,m,d,u,p,m,g,g,o,s,w):(r(n.Sb,n.Tb,l,c,h,f,_,v,d,u,p,m,o,s-i.f,o,s,w),++a);b>y+2;y+=2)h=d,f=u,_=p,v=m,u+=e.Da,m+=e.Da,s+=2*i.f,c+=2*e.F,r(l,c-e.F,l,c,h,f,_,v,d,u,p,m,o,s-i.f,o,s,w);return c+=e.F,e.k+b<e.K?(t(n.Sb,n.Tb,l,c,1*w),t(n.Qb,n.Rb,d,u,1*k),t(n.lc,n.mc,p,m,1*k),a--):1&b||r(l,c,g,g,d,u,p,m,d,u,p,m,o,s+i.f,g,g,w),a}function kt(e,n){var a=e.p,i=e.q,o=n.j.c.Va,s=e.m,l=e.h,c=o.p,d=o.q+e.w*o.Fa,a=e.p,i=e.q,u=h;if(a!=g)for(u=0;l>u;++u)t(c,d,a,i,1*s),i+=e.width,d+=o.Fa;else if(o.p!=g)for(u=0;l>u;++u)r(c,d,255,s),d+=o.Fa;return 0}function $t(e,t,n){var a=e.w;return n[0]=e.h,e.Bb&&(0==a?--n[0]:(--a,t[0]-=e.width),e.k+e.w+e.h==e.K&&(n[0]=e.K-e.k-a)),a}function Ct(e,t){var n=e.p,a=[e.q];if(n!=g){for(var i=e.m,o=t.j.J,s=o==qt||o==Gt,r=t.j.c.RGBA,l=[h],c=$t(e,a,l),a=a[0],d=r.ma,c=r.Sa+c*r.f,u=c+(s?0:3),p=255,m=h,f=h,f=0;f<l[0];++f){for(m=0;i>m;++m){var _=n[a+m];d[u+4*m]=_,p&=_}a+=e.width,u+=r.f}255!=p&&w(o)&&WebPApplyAlphaMultiply(d,c,s,i,l,r.f)}return 0}function St(e,t){var n=e.p,a=[e.q];if(n!=g){var i=e.m,o=t.j.J,s=t.j.c.RGBA,r=[h],l=$t(e,a,r),a=a[0],c=s.ma,l=s.Sa+l*s.f,d=l+1,u=15,p=h;for(j=0;j<r[0];++j){for(p=0;i>p;++p){var m=n[a+p]>>4;c[d+2*p]=240&c[d+2*p]|m,u&=m}a+=e.width,d+=s.f}15!=u&&w(o)&&WebPApplyAlphaMultiply4444(c,l,i,r,s.f)}return 0}function Mt(e){var t=e.ka,n=t.j.J,a=Yt>n,i=n==Bt||n==jt||n==qt||n==Ht||n==Zt||w(n);if(t.memory=g,t.$a=g,t.zb=g,t.ad=g,!Nt(t.Qa,e,i?Yt:Zt))return 0;if(e.I){if(!(a?InitRGBRescaler(e,t):InitYUVRescaler(e,t)))return alert("memory error #1"),0}else{if(a){if(t.$a=bt,e.Bb){var o,s=e.m+1>>1,r=e.m+2*s,l=[];for(o=0;r>o;++o)l.push(205);if(l.push(0),t.memory=l,t.memory==g)return alert("memory error #2"),0;t.Sb=t.memory,t.Tb=0,t.Qb=t.Sb,t.Rb=t.Tb+e.m,t.lc=t.Qb,t.mc=t.Rb+s,t.$a=wt,no[Ot]=st,no[Bt]=lt,no[Lt]=rt,no[jt]=ct,no[qt]=dt,no[Ht]=ut,no[Vt]=pt}}else t.$a=yt;i&&(w(n)&&(Web
},this.WebPDecode=this.Dd=function(t,n,a){var i=e(un),o="VP8StatusCode";return a==g?tn:(o=Rt(t,[0],[n],a.input),o!=Qt?o==rn?nn:o:(i.j=a.j,i.Qa=a.Qa,o=Pt(t,0,[n],i)))}}}(),function(e,t){"use strict";angular.module("toaster",[]).constant("toasterConfig",{limit:0,"tap-to-dismiss":!0,"close-button":!1,"close-html":'<button class="toast-close-button" type="button">&times;</button>',"newest-on-top":!0,"time-out":5e3,"icon-classes":{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},"body-output-type":"","body-template":"toasterBodyTmpl.html","icon-class":"toast-info","position-class":"toast-top-right","title-class":"toast-title","message-class":"toast-message","prevent-duplicates":!1,"mouseover-timer-stop":!0}).service("toaster",["$rootScope","toasterConfig",function(e,t){function n(e){return function(t,n,a,i,o,s,r,l,c){return angular.isString(t)?this.pop(e,t,n,a,i,o,s,r,l,c):this.pop(angular.extend(t,{type:e}))}}var a=function(){var e={};return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},e}();this.pop=function(t,n,i,o,s,r,l,c,d,u){if(angular.isObject(t)){var p=t;this.toast={type:p.type,title:p.title,body:p.body,timeout:p.timeout,bodyOutputType:p.bodyOutputType,clickHandler:p.clickHandler,showCloseButton:p.showCloseButton,closeHtml:p.closeHtml,toastId:p.toastId,onShowCallback:p.onShowCallback,onHideCallback:p.onHideCallback,directiveData:p.directiveData},l=p.toasterId}else this.toast={type:t,title:n,body:i,timeout:o,bodyOutputType:s,clickHandler:r,showCloseButton:c,toastId:d,onHideCallback:u};return this.toast.toastId&&this.toast.toastId.length||(this.toast.toastId=a.newGuid()),e.$emit("toaster-newToast",l,this.toast.toastId),{toasterId:l,toastId:this.toast.toastId}},this.clear=function(t,n){angular.isObject(t)?e.$emit("toaster-clearToasts",t.toasterId,t.toastId):e.$emit("toaster-clearToasts",t,n)};for(var i in t["icon-classes"])this[i]=n(i)}]).factory("toasterEventRegistry",["$rootScope",function(e){var t,n=null,a=null,i=[],o=[];return t={setup:function(){n||(n=e.$on("toaster-newToast",function(e,t,n){for(var a=0,o=i.length;o>a;a++)i[a](e,t,n)})),a||(a=e.$on("toaster-clearToasts",function(e,t,n){for(var a=0,i=o.length;i>a;a++)o[a](e,t,n)}))},subscribeToNewToastEvent:function(e){i.push(e)},subscribeToClearToastsEvent:function(e){o.push(e)},unsubscribeToNewToastEvent:function(e){var t=i.indexOf(e);t>=0&&i.splice(t,1),0===i.length&&(n(),n=null)},unsubscribeToClearToastsEvent:function(e){var t=o.indexOf(e);t>=0&&o.splice(t,1),0===o.length&&(a(),a=null)}},{setup:t.setup,subscribeToNewToastEvent:t.subscribeToNewToastEvent,subscribeToClearToastsEvent:t.subscribeToClearToastsEvent,unsubscribeToNewToastEvent:t.unsubscribeToNewToastEvent,unsubscribeToClearToastsEvent:t.unsubscribeToClearToastsEvent}}]).directive("directiveTemplate",["$compile","$injector",function(e,t){return{restrict:"A",scope:{directiveName:"@directiveName",directiveData:"@directiveData"},replace:!0,link:function(n,a,i){n.$watch("directiveName",function(o){if(angular.isUndefined(o)||o.length<=0)throw new Error("A valid directive name must be provided via the toast body argument when using bodyOutputType: directive");var s;try{s=t.get(i.$normalize(o)+"Directive")}catch(r){throw new Error(o+" could not be found. The name should appear as it exists in the markup, not camelCased as it would appear in the directive declaration, e.g. directive-name not directiveName.")}var l=s[0];if(l.scope!==!0&&l.scope)throw new Error("Cannot use a directive with an isolated scope. The scope must be either true or falsy (e.g. false/null/undefined). Occurred for directive "+o+".");if(l.restrict.indexOf("A")<0)throw new Error('Directives must be usable as attributes. Add "A" to the restrict option (or remove the option entirely). Occurred for directive '+o+".");n.directiveData&&(n.directiveData=angular.fromJson(n.directiveData));var c=e("<div "+o+"></div>")(n);a.append(c)})}}}]).directive("toasterContainer",["$parse","$r
console.error("Crypto digest error",e),l=!1,a.resolve(sha1HashSync(n))}),a.promise}return e(function(){return sha1HashSync(n)})},sha256Hash:function(n){if(c){var a=t.defer(),i=Array.isArray(n)?convertToUint8Array(n):n;return r.digest({name:"SHA-256"},i).then(function(e){a.resolve(e)},function(e){console.error("Crypto digest error",e),c=!1,a.resolve(sha256HashSync(n))}),a.promise}return e(function(){return sha256HashSync(n)})},aesEncrypt:function(t,a,o){return i?n("aes-encrypt",{bytes:addPadding(convertToArrayBuffer(t)),keyBytes:convertToArrayBuffer(a),ivBytes:convertToArrayBuffer(o)},i):e(function(){return convertToArrayBuffer(aesEncryptSync(t,a,o))})},aesDecrypt:function(t,a,o){return i?n("aes-decrypt",{encryptedBytes:addPadding(convertToArrayBuffer(t)),keyBytes:convertToArrayBuffer(a),ivBytes:convertToArrayBuffer(o)},i):e(function(){return convertToArrayBuffer(aesDecryptSync(t,a,o))})},factorize:function(t){return t=convertToByteArray(t),i&&t.length<=8?n("factorize",{bytes:t},i):a?n("factorize",{bytes:t}):e(function(){return pqPrimeFactorization(t)})},modPow:function(t,i,o){return a?n("mod-pow",{x:t,y:i,m:o}):e(function(){return bytesModPow(t,i,o)})}}}]).service("ExternalResourcesManager",["$q","$http","$sce",function(e,t,n){function a(a){return void 0!==i[a]?i[a]:i[a]=t.get(a,{responseType:"blob",transformRequest:null}).then(function(e){window.URL=window.URL||window.webkitURL;var t=window.URL.createObjectURL(e.data);return n.trustAsResourceUrl(t)},function(t){return Config.Modes.chrome_packed?e.reject(t):e.when(n.trustAsResourceUrl(a))})}var i={};return{downloadByURL:a}}]).service("IdleManager",["$rootScope","$window","$timeout",function(e,t,n){function a(){s||(s=!0,$(t).on(l+" blur focus keydown mousedown touchstart",i),setTimeout(function(){i({type:"blur"})},0))}function i(a){if("mousemove"==a.type){var a=a.originalEvent||a;if(a&&0===a.movementX&&0===a.movementY)return;$(t).off("mousemove",i)}var s="blur"==a.type||"timeout"==a.type?!0:!1;r&&document[r]&&(s=!0),n.cancel(o),s||(o=n(function(){i({type:"timeout"})},3e4)),"focus"!=a.type||e.idle.afterFocus||(e.idle.afterFocus=!0,setTimeout(function(){delete e.idle.afterFocus},10)),e.idle.isIDLE!=s&&(e.$apply(function(){e.idle.isIDLE=s}),s&&"timeout"==a.type&&$(t).on("mousemove",i))}e.idle={isIDLE:!1};var o,s=!1,r="hidden",l="visibilitychange";return"undefined"!=typeof document.hidden||("undefined"!=typeof document.mozHidden?(r="mozHidden",l="mozvisibilitychange"):"undefined"!=typeof document.msHidden?(r="msHidden",l="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(r="webkitHidden",l="webkitvisibilitychange")),{start:a}}]).service("GeoLocationManager",["$q",function(e){function t(){return void 0!==navigator.geolocation}function n(n){if(!n&&a)return e.when(a);if(!t())return e.reject();var i=e.defer();return navigator.geolocation.getCurrentPosition(function(e){a={lat:e.coords.latitude,"long":e.coords.longitude},i.resolve(a)},function(e){i.reject(e)}),i.promise}var a=!1;return{getPosition:n,isAvailable:t}}]).service("AppRuntimeManager",["$window",function(e){return{reload:function(){try{location.reload()}catch(t){}e.chrome&&chrome.runtime&&chrome.runtime.reload&&chrome.runtime.reload()},close:function(){try{e.close()}catch(t){}},focus:function(){window.navigator.mozApps&&document.hidden?window.navigator.mozApps.getSelf().onsuccess=function(){this.result.launch()}:(window.chrome&&chrome.app&&chrome.app.window&&chrome.app.window.current().focus(),window.focus())}}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function n(e){for(var t,n,a,i,o=0;o<Config.EmojiCategories.length;o++)if(i=Config.EmojiCategorySpritesheetDimens[o][1],t=Config.EmojiCategories[o].indexOf(e),t>-1)return n=Math.floor(t/i),a=t%i,{category:o,row:n,column:a};return console.error("emoji not found in spritesheet",e),null}function a(e,t){t=t||{};for(var a,i,o,s,r,l=e,d=[],u=0;a=l.match(C);){if(r=u+a.index,a[3])d.push({_:"messageEntityMention",offset:r+a[1].length,length:a[2].length+a[3].length});else if(a[4])if(S.test(a[4]))d.push({_:"messageEntityEmail",offset:r,length:a[4]
if(!o.notContentRelated&&r&&r+n>655360)return void(u=!0);if(o.singleInRequest&&(p++,p>1))return;s.push(o),r+=n,o.isAPI?c=!0:o.longPoll&&(d=!0)}delete m.pendingMessages[t]}}),c&&!d){var g=new TLSerialization({mtproto:!0});g.storeMethod("http_wait",{max_delay:500,wait_after:150,max_wait:3e3}),s.push({msg_id:t.generateID(),seq_no:this.generateSeqNo(),body:g.getBytes()})}if(s.length){var h=[];if(s.length>1){var f=new TLSerialization({mtproto:!0,startMaxLength:r+64});f.storeInt(1945237724,"CONTAINER[id]"),f.storeInt(s.length,"CONTAINER[count]");for(var v=[],n=0;n<s.length;n++)f.storeLong(s[n].msg_id,"CONTAINER["+n+"][msg_id]"),v.push(s[n].msg_id),f.storeInt(s[n].seq_no,"CONTAINER["+n+"][seq_no]"),f.storeInt(s[n].body.length,"CONTAINER["+n+"][bytes]"),f.storeRawBytes(s[n].body,"CONTAINER["+n+"][body]"),s[n].noResponse&&h.push(s[n].msg_id);var y={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),container:!0,inner:v};o=angular.extend({body:f.getBytes(!0)},y),this.sentMessages[o.msg_id]=y,Config.Modes.debug&&console.log(dT(),"Container",v,o.msg_id,o.seq_no)}else o.noResponse&&h.push(o.msg_id),this.sentMessages[o.msg_id]=o;this.pendingAcks=[];var m=this;this.sendEncryptedRequest(o).then(function(e){m.toggleOffline(!1),m.parseResponse(e.data).then(function(e){Config.Modes.debug&&console.log(dT(),"Server response",m.dcID,e),m.processMessage(e.response,e.messageID,e.sessionID),angular.forEach(h,function(e){if(m.sentMessages[e]){var t=m.sentMessages[e].deferred;delete m.sentMessages[e],t.resolve()}}),m.checkLongPoll(),this.checkConnectionPeriod=Math.max(1.1,Math.sqrt(this.checkConnectionPeriod))})},function(e){console.log("Encrypted request failed",e),o.container?(angular.forEach(o.inner,function(e){m.pendingMessages[e]=0}),delete m.sentMessages[o.msg_id]):m.pendingMessages[o.msg_id]=0,angular.forEach(h,function(e){if(m.sentMessages[e]){var t=m.sentMessages[e].deferred;delete m.sentMessages[e],delete m.pendingMessages[e],t.reject()}}),m.toggleOffline(!0)}),(u||p>1)&&this.sheduleRequest()}},u.prototype.getEncryptedMessage=function(e){var t=this;return i.sha1Hash(e).then(function(n){var a=new Uint8Array(n).subarray(4,20);return t.getMsgKeyIv(a,!0).then(function(t){return i.aesEncrypt(e,t[0],t[1]).then(function(e){return{bytes:e,msgKey:a}})})})},u.prototype.getDecryptedMessage=function(e,t){return this.getMsgKeyIv(e,!1).then(function(e){return i.aesDecrypt(t,e[0],e[1])})},u.prototype.sendEncryptedRequest=function(t,n){var i=this;n=n||{};var l=new TLSerialization({startMaxLength:t.body.length+64});return l.storeIntBytes(this.serverSalt,64,"salt"),l.storeIntBytes(this.sessionID,64,"session_id"),l.storeLong(t.msg_id,"message_id"),l.storeInt(t.seq_no,"seq_no"),l.storeInt(t.body.length,"message_data_length"),l.storeRawBytes(t.body,"message_data"),this.getEncryptedMessage(l.getBuffer()).then(function(t){var l=new TLSerialization({startMaxLength:t.bytes.byteLength+256});l.storeIntBytes(i.authKeyID,64,"auth_key_id"),l.storeIntBytes(t.msgKey,128,"msg_key"),l.storeRawBytes(t.bytes,"encrypted_data");var c,d=b?l.getBuffer():l.getArray(),u=e.chooseServer(i.dcID,i.upload),p={code:406,type:"NETWORK_BAD_RESPONSE",url:u};try{n=angular.extend(n||{},{responseType:"arraybuffer",transformRequest:null}),c=s.post(u,d,n)}catch(m){c=r.reject(m)}return c.then(function(e){return e.data&&e.data.byteLength?e:r.reject(p)},function(e){return 404==e.status&&-1!=(e.data||"").indexOf("nginx/0.3.33")&&a.remove("dc"+i.dcID+"_server_salt","dc"+i.dcID+"_auth_key").then(function(){o.reload()}),e.message||e.type||(e=angular.extend(p,{type:"NETWORK_BAD_REQUEST",originalError:e})),r.reject(e)})})},u.prototype.parseResponse=function(e){var t=this,n=new TLDeserialization(e),a=n.fetchIntBytes(64,!1,"auth_key_id");if(!bytesCmp(a,this.authKeyID))throw new Error("Invalid server auth_key_id: "+bytesToHex(a));var o=n.fetchIntBytes(128,!0,"msg_key"),s=n.fetchRawBytes(e.byteLength-n.getOffset(),!0,"encrypted_data");return this.getDecryptedMessage(o,s).then(function(e){var n=new TLDeserialization(e,{mtproto:!0}),a=(n.fetchIntBytes(64,!1,"salt"),n.fetchIntBytes(64,!1,"session_id")),s=n.
access_hash:n.getUser(e).access_hash||0}}function r(e){var t;if(e>0)t="%pu "+n.getUserSearchText(e);else if(0>e){var i=a.getChat(-e);t="%pg "+(i.title||"")}return t}function l(e){return e>0?n.getUserString(e):a.getChatString(-e)}function c(e){if(e>0)return{_:"peerUser",user_id:e};var t=-e;return a.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}}function d(e){var o,s,r,l=SearchIndexManager.cleanUsername(e);return(o=n.resolveUsername(l))&&(r=n.getUser(o).username,SearchIndexManager.cleanUsername(r)==l)?t.when(o):(s=a.resolveUsername(l))&&(r=a.getChat(s).username,SearchIndexManager.cleanUsername(r)==l)?t.when(-s):i.invokeApi("contacts.resolveUsername",{username:e}).then(function(e){return n.saveApiUsers(e.users),a.saveApiChats(e.chats),u(e.peer)})}function u(e){if(angular.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);var t="u"==e.charAt(0),n=e.substr(1).split("_");return t?n[0]:-n[0]||0}function p(e){return e>0?n.getUser(e):a.getChat(-e)}function m(e){return e>0?n.getUserPhoto(e):a.getChatPhoto(-e)}function g(e){return 0>e&&a.isChannel(-e)}function h(e){return 0>e&&a.isMegagroup(-e)}function f(e){return e>0&&n.isBot(e)}return{getInputPeer:o,getInputPeerByID:s,getPeerSearchText:r,getPeerString:l,getOutputPeer:c,getPeerID:u,getPeer:p,getPeerPhoto:m,resolveUsername:d,isChannel:g,isMegagroup:h,isBot:f}}]).service("AppProfileManager",["$q","$rootScope","AppUsersManager","AppChatsManager","AppPeersManager","AppPhotosManager","NotificationsManager","MtpApiManager","ApiUpdatesManager","RichTextProcessor",function(e,t,n,a,i,o,s,r,l,c){function d(e){var t=e&&e.user_id;if(!t)return!1;var n={};return angular.forEach(e.commands,function(e){n[e.command]=e.description}),_[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:n}}function u(e,t){return r.invokeApi("users.getFullUser",{id:n.getUserInput(e)}).then(function(a){return t&&t.phone_number?(a.user.phone=t.phone_number,(t.first_name||t.last_name)&&(a.user.first_name=t.first_name,a.user.last_name=t.last_name),n.saveApiUser(a.user)):n.saveApiUser(a.user,!0),a.profile_photo&&o.savePhoto(a.profile_photo,{user_id:e}),void 0!==a.about&&(a.rAbout=c.wrapRichText(a.about,{noLinebreaks:!0})),s.savePeerSettings(e,a.notify_settings),a.bot_info&&(a.bot_info=d(a.bot_info)),a})}function p(t){var a=[];return t>=0&&!n.isBot(t)||i.isChannel(t)&&!i.isMegagroup(t)?e.when(a):t>=0?u(t).then(function(e){var t=e.bot_info;return t&&"botInfoEmpty"!=t._&&a.push(t),a}):m(-t).then(function(e){return angular.forEach(e.bot_info,function(e){a.push(d(e))}),a})}function m(i){if(a.isChannel(i))return f(i);if(void 0!==v[i]){var l=a.getChat(i);if(l.version==v[i].participants.version||l.pFlags.left)return e.when(v[i])}return void 0!==y[i]?y[i]:(console.trace(dT(),"Get chat full",i,a.getChat(i)),y[i]=r.invokeApi("messages.getFullChat",{chat_id:a.getChatInput(i)}).then(function(e){a.saveApiChats(e.chats),n.saveApiUsers(e.users);var r=e.full_chat;return r&&r.chat_photo.id&&o.savePhoto(r.chat_photo),s.savePeerSettings(-i,r.notify_settings),delete y[i],v[i]=r,t.$broadcast("chat_full_update",i),r}))}function g(e,t){return m(e).then(function(n){if(!t&&n.exported_invite&&"chatInviteExported"==n.exported_invite._)return n.exported_invite.link;var i;return i=a.isChannel(e)?r.invokeApi("channels.exportInvite",{channel:a.getChannelInput(e)}):r.invokeApi("messages.exportChatInvite",{chat_id:a.getChatInput(e)}),i.then(function(t){return void 0!==v[e]&&(v[e].exported_invite=t),t.link})})}function h(e){return r.invokeApi("channels.getParticipants",{channel:a.getChannelInput(e),filter:{_:"channelParticipantsRecent"},offset:0,limit:a.isMegagroup(e)?50:200}).then(function(t){n.saveApiUsers(t.users);var i=t.participants,o=a.getChat(e);if(!o.pFlags.kicked&&!o.pFlags.left){for(var s,r=n.getSelf().id,l=!1,c=0,d=i.length;d>c;c++)if(i[c].user_id==r){l=c;break}l!==!1?(s=i[c],i.splice(c,1)):s={_:"channelParticipantSelf",user_id:r},i.unshift(s)}return i})}function f(i,c){return void 0===v[i]||c?void 0!==y[i]?y[i]:y[i]=r.invokeApi("channels.getFullChannel",{channel:a.getChanne
var y,b;if(e.pts){var w=c.pts+(e.pts_count||0);if(w<e.pts)return console.warn(dT(),"Pts hole",c,e,o&&a.getChat(o)),c.pendingPtsUpdates.push(e),c.syncPending||(c.syncPending={timeout:setTimeout(function(){o?u(o):d()},5e3)}),c.syncPending.ptsAwaiting=!0,!1;if(e.pts>c.pts)c.pts=e.pts,y=!0;else if(e.pts_count)return!1;o&&t.date&&_.date<t.date&&(_.date=t.date)}else if(!o&&t.seq>0){var k=t.seq,$=t.seqStart||k;if($!=c.seq+1&&$>c.seq)return console.warn(dT(),"Seq hole",c,c.syncPending&&c.syncPending.seqAwaiting),void 0===c.pendingSeqUpdates[$]&&(c.pendingSeqUpdates[$]={seq:k,date:t.date,updates:[]}),c.pendingSeqUpdates[$].updates.push(e),c.syncPending||(c.syncPending={timeout:setTimeout(function(){d()},5e3)}),(!c.syncPending.seqAwaiting||c.syncPending.seqAwaiting<$)&&(c.syncPending.seqAwaiting=$),!1;c.seq!=k&&(c.seq=k,t.date&&c.date<t.date&&(c.date=t.date),b=!0)}h(e),y?r(o):b&&s()}function h(t){e.$broadcast("apiUpdate",t)}function f(){t.setUpdatesProcessor(c),o.invokeApi("updates.getState",{},{noErrorBox:!0}).then(function(e){_.seq=e.seq,_.pts=e.pts,_.date=e.date,setTimeout(function(){_.syncLoading=!1},1e3)})}var _={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},v={},y=0;return o.getUserID().then(function(e){y=e}),{processUpdateMessage:c,addChannelState:p,attach:f}}]).service("StatusManager",["$timeout","$rootScope","MtpApiManager","AppUsersManager","IdleManager",function(e,t,n,a,i){function o(){u||(u=!0,t.$watch("idle.isIDLE",r),t.$watch("offline",r))}function s(e){var i=tsNow();if(!(e&&!d||!e&&5e4>i-d||t.offline))return d=e?0:i,a.setUserStatus(p,e),n.invokeApi("account.updateStatus",{offline:e},{noErrorBox:!0})}function r(){c&&e.cancel(c),t.idle.isIDLE?c=e(function(){s(!0)},5e3):(s(!1),c=e(r,6e4))}function l(){return m?tsNow()>m?(m=!1,!1):!0:!1}var c,d=0,u=!1,p=0,m=!1;return n.getUserID().then(function(e){p=e}),t.$on("apiUpdate",function(e,t){"updateUserStatus"==t._&&t.user_id==p&&(m=tsNow()+("userStatusOnline"==t.status._?3e5:0))}),{start:o,isOtherDeviceActive:l}}]).service("NotificationsManager",["$rootScope","$window","$interval","$q","_","MtpApiManager","AppPeersManager","IdleManager","Storage","AppRuntimeManager","FileManager",function(e,t,n,a,i,o,s,r,l,c,d){function u(){l.get("notify_nodesktop","notify_volume","notify_novibrate","notify_nopreview").then(function(e){K.nodesktop=e[0],K.volume=e[1]===!1?.5:e[1],K.novibrate=e[2],K.nopreview=e[3]})}function p(){return K}function m(e){return void 0!==q[e]?q[e]:q[e]=o.invokeApi("account.getNotifySettings",{peer:{_:"inputNotifyPeer",peer:s.getInputPeerByID(e)}})}function g(e){if(e=e||"favicon.ico",P!==e){var t=document.createElement("link");t.rel="shortcut icon",t.type="image/x-icon",t.href=e,H.parentNode.replaceChild(t,H),H=t,P=e}}function h(t,n){q[t]=a.when(n),e.$broadcast("notify_settings",{peerID:t})}function f(e,t){h(e,t);var n=angular.copy(t);return n._="inputPeerNotifySettings",o.invokeApi("account.updateNotifySettings",{peer:{_:"inputNotifyPeer",peer:s.getInputPeerByID(e)},settings:n})}function _(e){return m(e).then(function(e){return"peerNotifySettings"==e._&&1e3*e.mute_until>tsNow()})}function v(){if(u(),e.$on("settings_changed",u),I(),!F)return!1;"Notification"in window&&"granted"!==Notification.permission&&"denied"!==Notification.permission&&$(t).on("click",b);try{"onbeforeunload"in window&&$(t).on("beforeunload",x)}catch(n){}}function y(){x(),n.cancel(D),g(),G=!0}function b(){Notification.requestPermission(),$(t).off("click",b)}function w(e){if(!G){if(Config.Navigator.ffos&&!Config.Navigator.ffos2p)e.image="https://telegram.org/img/t_logo.png";else if(e.image&&!angular.isString(e.image)){if(Config.Navigator.ffos2p)return d.getDataUrl(e.image,"image/jpeg").then(function(t){e.image=t,w(e)}),!1;e.image=d.getUrl(e.image,"image/jpeg")}else e.image||(e.image="img/icons/icon60.png");U++;var t=tsNow();if(K.volume>0&&(!e.tag||!O[e.tag]||t>O[e.tag]+6e4)&&(k(K.volume),O[e.tag]=t),!F||"Notification"in window&&"granted"!==Notification.permission)return!1;if(K.nodesktop){if(B&&!K.novibrate)return void navigator.vibrate([200,100,200])}else{var n,a=++N,i=
},6e3);break}}}),e.$watchCollection("search",function(){e.dialogs=[],e.foundMessages=[],b=!1,S++,f()}),Config.Mobile&&e.$watch("curDialog.peer",function(){e.$broadcast("ui_dialogs_update")}),e.importPhonebook=function(){u.openPhonebookImport()},e.$on("contacts_update",function(){y&&v()}),e.$on("ui_dialogs_search_clear",e.searchClear),e.noMessages||e.$on("dialogs_search",function(t,n){e.search.query=n.query||"",e.toggleSearch()});var I}]).controller("AppImHistoryController",["$scope","$location","$timeout","$modal","$rootScope","toaster","_","MtpApiManager","AppUsersManager","AppChatsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","PeersSelectService","IdleManager","StatusManager","NotificationsManager","ErrorService","GeoLocationManager",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,_,v){function y(t,n){W=i.selectedPeerID=t.peerID,e.historyFilter.mediaType=!1,u.getInputPeer(t.peer||e.curDialog.peer||""),C(),U(!0),n.peer&&n.peer==t.peer&&t.messageID?M():t.peerID?($(!0),A()):E()}function b(t){var n,a,i,o=-1,s=10;for(n=0;n<e.peerHistories.length;n++)if(e.peerHistories[n].peerID==t){o=n;break}return o>-1?a=e.peerHistories[o]:(a={peerID:t,messages:[],ids:[]},e.peerHistories.unshift(a),i=e.peerHistories.length-s,i>0&&e.peerHistories.splice(s-1,i),a)}function w(t){var n;for(n=0;n<e.peerHistories.length;n++)if(e.peerHistories[n].peerID==t)return e.peerHistories[n];return!1}function k(t){var n;for(n=0;n<e.peerHistories.length;n++)if(e.peerHistories[n].peerID==t)return e.peerHistories.splice(n,1),!0;return!1}function $(t){var n=u.getPeer(W);return!n||n.deleted?(safeReplaceObject(e.state,{loaded:!1}),!1):(K=b(W),safeReplaceObject(e.historyPeer,{id:W,data:n}),r.getUserID().then(function(t){e.ownID=t}),void(t&&(e.historyState.typing.splice(0,e.historyState.typing.length),e.$broadcast("ui_peer_change"),e.$broadcast("ui_history_change"),safeReplaceObject(e.state,{loaded:!0,empty:!K.messages.length,mayBeHasMore:!0}),C(),S())))}function C(){var t=e.historyState.botActions;e.historyState.botActions=!W||0>W||!l.isBot(W)||e.historyFilter.mediaType||e.curDialog.messageID?!1:e.state.empty||K&&1==K.messages.length&&K.messages[0].action&&"messageActionBotIntro"==K.messages[0].action._?"start":e.curDialog.startParam?"param":!1,t!=e.historyState.botActions&&e.$broadcast("ui_panel_update")}function S(){var t,n=e.historyState.channelActions;if(W&&u.isChannel(W)&&(t=c.getChat(-W))){var a=c.hasRights(-W,"send");a?e.historyState.channelActions=!1:t.pFlags.left?e.historyState.channelActions="join":(e.historyState.channelActions||(e.historyState.channelActions="mute"),f.getPeerMuted(W).then(function(t){e.historyState.channelActions=t?"unmute":"mute"})),e.historyState.canReply=a,e.historyState.canDelete=a||t.pFlags.moderator}else e.historyState.channelActions=!1,e.historyState.canReply=!0,e.historyState.canDelete=!0;n!=e.historyState.channelActions&&e.$broadcast("ui_panel_update")}function M(){var t=w(W);if(t&&-1!=t.ids.indexOf(e.curDialog.messageID)){e.historyUnread={};var a=e.curDialog.messageID||0;e.$broadcast("messages_focus",a),e.$broadcast("ui_history_change_scroll",!0),n.cancel(G),a&&(G=n(function(){e.curDialog.messageID==a&&e.$broadcast("messages_focus",0)},2800))}else A()}function x(){if(X){if(ie)return void(le=!0);le=!1,e.state.lessActive=re=!0;var t=ne,n=++se,a=0,i=20;d.getHistory(e.curDialog.peerID,Q,a,i).then(function(a){if(e.state.lessActive=re=!1,t==ne&&n==se){var o,s;for(o=a.history.length-1;o>=0;o--)s=a.history[o],s>Q&&(K.messages.push(d.wrapForHistory(s)),K.ids.push(s));a.history.length?(Q=a.history.length>=i?a.history[0]:0,d.regroupWrappedHistory(K.messages,-i)&&e.$broadcast("messages_regroup"),delete e.state.empty,e.$broadcast("ui_history_append")):Q=0,e.historyState.skipped=X=Q>0,oe&&I()}})}}function I(){if(Z){if(re)return void(oe=!0);oe=!1,e.state.moreActive=ie=!0;var t=ne,n=++ae,a=e.historyFilter.mediaType&&{_:te[e.historyFilter.mediaType]},i=Config.Mobile?20:0,o=a?d.getSearch(e.curDialog.peerID,"",a,J,i):d.getHistory(e.curDialog.peerID,J,i);o.then(function(a){e.state.moreActive=ie=!1,t==ne&&n==ae&&(angular.forEac
})}]).controller("EmbedModalController",["$q","$scope","$rootScope","$modalInstance","AppPhotosManager","AppMessagesManager","AppPeersManager","AppWebPagesManager","PeersSelectService","ErrorService",function(e,t,n,a,i,o,s,r,l,c){t.webpage=r.wrapForFull(t.webpageID),t.nav={},t.forward=function(){var e=t.messageID;l.selectPeer({canSend:!0}).then(function(t){n.$broadcast("history_focus",{peerString:t,attachment:{_:"fwd_messages",id:[e]}})})},t["delete"]=function(){var e=t.messageID;c.confirm({type:"MESSAGE_DELETE"}).then(function(){o.deleteMessages([e])})}}]).controller("UserModalController",["$scope","$location","$rootScope","AppProfileManager","$modal","AppUsersManager","MtpApiManager","NotificationsManager","AppPhotosManager","AppMessagesManager","AppPeersManager","PeersSelectService","ErrorService",function(e,t,n,a,i,o,s,r,l,c,d,u,p){var m=o.getUserString(e.userID);e.user=o.getUser(e.userID),e.blocked=!1,e.settings={notifications:!0},a.getProfile(e.userID,e.override).then(function(t){e.blocked=t.pFlags.blocked,e.bot_info=t.bot_info,e.rAbout=t.rAbout,r.getPeerMuted(e.userID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t===n?!1:void r.getPeerSettings(e.userID).then(function(n){n.mute_until=t?0:2e9,r.updatePeerSettings(e.userID,n)})})})}),e.goToHistory=function(){n.$broadcast("history_focus",{peerString:m})},e.flushHistory=function(){p.confirm({type:"HISTORY_FLUSH"}).then(function(){c.flushHistory(e.userID).then(function(){e.goToHistory()})})},e.importContact=function(t){var a=n.$new();a.importContact={phone:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name},i.open({templateUrl:templateUrl(t?"edit_contact_modal":"import_contact_modal"),controller:"ImportContactModalController",windowClass:"md_simple_modal_window mobile_modal",scope:a}).result.then(function(t){e.userID==t&&(e.user=o.getUser(e.userID))})},e.deleteContact=function(){o.deleteContacts([e.userID]).then(function(){e.user=o.getUser(e.userID)})},e.inviteToGroup=function(){u.selectPeer({confirm_type:"INVITE_TO_GROUP",noUsers:!0}).then(function(t){var a=d.getPeerID(t),i=0>a?-a:0;c.startBot(e.user.id,i).then(function(){n.$broadcast("history_focus",{peerString:t})})})},e.sendCommand=function(t){c.sendText(e.userID,"/"+t),n.$broadcast("history_focus",{peerString:m})},e.toggleBlock=function(t){s.invokeApi(t?"contacts.block":"contacts.unblock",{id:o.getUserInput(e.userID)}).then(function(){e.blocked=t})},e.shareContact=function(){u.selectPeer({confirm_type:"SHARE_CONTACT_PEER",canSend:!0}).then(function(t){var a=d.getPeerID(t);c.sendOther(a,{_:"inputMediaContact",phone_number:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name,user_id:e.user.id}),n.$broadcast("history_focus",{peerString:t})})}}]).controller("ChatModalController",["$scope","$timeout","$rootScope","$modal","AppUsersManager","AppChatsManager","AppProfileManager","AppPhotosManager","MtpApiManager","MtpApiFileManager","NotificationsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","ContactsSelectService","ErrorService",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h){function f(t){m.processUpdateMessage(t),n.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function _(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,c.uploadFile(t).then(function(t){return l.invokeApi("messages.editChatPhoto",{chat_id:o.getChatInput(e.chatID),photo:{_:"inputChatUploadedPhoto",file:t,crop:{_:"inputPhotoCropAuto"}}}).then(f)})["finally"](function(){e.photo.updating=!1}))}e.chatFull=o.wrapForFull(e.chatID,{}),e.settings={notifications:!0},e.maxParticipants=200,s.getChatFull(e.chatID).then(function(t){e.chatFull=o.wrapForFull(e.chatID,t),e.$broadcast("ui_height"),e.canMigrate=e.chatFull&&e.chatFull.participants&&e.chatFull.participants.participants&&e.chatFull.participants.participants.length>=200,(Config.Modes.test||Config.Modes.debug)&&(e.canMigrate=!0),d.savePeerSettings(-e.chatID,t.notify_settings),d.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notificati
return function(e){e=parseInt(e),isNaN(e)&&(e=0);var t=e%60,n=Math.floor((e-t)/60);return 10>t&&(t="0"+t),n+":"+t}}]).filter("durationRemains",["$filter",function(e){var t=e("duration");return function(e,n){return"-"+t(n-e)}}]).filter("phoneNumber",[function(){return function(e){var t=" ";return e=(e||"").replace(/\D/g,""),"7"==e.charAt(0)&&11==e.length?"+"+e.charAt(0)+t+"("+e.substr(1,3)+")"+t+e.substr(4,3)+"-"+e.substr(7,2)+"-"+e.substr(9,2):"+"+e}}]).filter("formatSize",[function(){return function(e,t){if(!e)return"0";if(1024>e)return e+" b";if(1048576>e)return Math.round(e/1024)+" KB";var n=e/1048576;return n=t?n.toFixed(1):Math.round(10*n)/10,n+" MB"}}]).filter("formatSizeProgress",["$filter","_",function(e,t){var n=e("formatSize");return function(e){if(!e.total)return"";var a=n(e.done,!0),i=a.split(" "),o=n(e.total),s=o.split(" ");return s[1]===i[1]?t("format_size_progress_mulitple",{done:i[0],total:s[0],parts:i[1]||""}):t("format_size_progress",{done:a,total:o})}}]).filter("formatShortNumber",[function(){return function(e){if(!e)return"0";if(1e3>e)return e.toString();if(9e5>e){var t=e>1e4?1:10;return Math.round(e/1e3*t)/t+"K"}var t=e>1e7?1:10;return Math.round(e/1e6*t)/t+"M"}}]).filter("nl2br",[function(){return function(e){return e.replace(/\n/g,"<br/>")}}]).filter("richText",["$filter",function(e){var t=e("linky");return function(e){return t(e,"_blank").replace(/\n|&#10;/g,"<br/>")}}]).filter("relativeTime",["$filter","_",function(e,t){var n=t.pluralize("relative_time_pluralize_minutes_ago"),a=t.pluralize("relative_time_pluralize_hours_ago"),i=e("dateOrTime");return function(e){var o=Math.abs(tsNow(!0)-e);if(60>o)return t("relative_time_just_now");if(3600>o){var s=Math.floor(o/60);return n(s)}if(86400>o){var r=Math.floor(o/3600);return a(r)}return i(e,!0)}}]),angular.module("myApp.services").service("AppMessagesManager",["$q","$rootScope","$location","$filter","$timeout","$sce","ApiUpdatesManager","AppUsersManager","AppChatsManager","AppPeersManager","AppPhotosManager","AppDocsManager","AppStickersManager","AppWebPagesManager","MtpApiManager","MtpApiFileManager","RichTextProcessor","NotificationsManager","Storage","AppProfileManager","TelegramMeWebService","ErrorService","StatusManager","_",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h,f,_,v,y,b,w,k,$){function C(t,n,a){var i=Ce,o=angular.isString(t)&&t.length;if(o){if(!a||Te.query!==t){Te.query=t;var s=SearchIndexManager.search(t,Ee);Te.dialogs=[],angular.forEach(Ce.dialogs,function(e){s[e.peerID]&&Te.dialogs.push(e)}),Te.count=Te.dialogs.length}i=Te}else Te.query=!1;var r=0;if(n>0)for(r=0;r<i.dialogs.length&&!(n>i.dialogs[r].index);r++);return a=a||20,o||We||i.dialogs.length>=r+a?e.when({dialogs:i.dialogs.slice(r,r+a)}):x(a).then(function(){if(r=0,n>0)for(r=0;r<i.dialogs.length&&!(n>i.dialogs[r].index);r++);return{dialogs:i.dialogs.slice(r,r+a)}})}function S(e){for(var t=0;t<Ce.dialogs.length;t++)if(Ce.dialogs[t].peerID==e)return[Ce.dialogs[t],t];return[]}function M(e,t){var n=-e,a=c.getPeerSearchText(n);SearchIndexManager.indexObject(n,a,Ee);var i=l.isMegagroup(e),o=T(t.top_message,e),r=H(o),d=r.date;i||(o=T(t.top_important_message,e),r=H(o),t.unread_count=t.unread_important_count),t.top_message=o,t.read_inbox_max_id=T(t.read_inbox_max_id,e);var u=r.date,p=l.getChat(e);if((!u||p.date&&p.date>u)&&(u=p.date),t.index=I(u),t.peerID=n,A(t,d),r.mid&&r.mid>t.read_inbox_max_id&&(r.pFlags.unread=!0),void 0===$e[n]){var m={count:null,history:[o],pending:[]};$e[n]=m}_.savePeerSettings(n,t.notify_settings),t.pts&&s.addChannelState(e,t.pts)}function x(e){var n=Ce.dialogs,a=0,i=0,o=0;return Ge&&(a=Ge+Be),g.invokeApi("messages.getDialogs",{offset_date:a,offset_id:P(i),offset_peer:c.getInputPeerByID(o),limit:e},{timeout:300}).then(function(e){a||b.setAuthorized(!0),r.saveApiUsers(e.users),l.saveApiChats(e.chats),Y(e.messages);var i=a?!0:!1;angular.forEach(e.dialogs,function(e){var n=c.getPeerID(e.peer);if("dialogChannel"==e._){var a=-n;M(a,e),s.addChannelState(a,e.pts)}else{if(0>n){var o=l.getChat(-n);if(o&&o.migrated_to&&o.pFlags.deactivated){var r=c.getPeerID(o.migrated_to);re
break;case"messageActionChatEditTitle":c=$("conversation_group_renamed_raw");break;case"messageActionChatEditPhoto":c=$("conversation_group_photo_updated_raw");break;case"messageActionChatDeletePhoto":c=$("conversation_group_photo_removed_raw");break;case"messageActionChatAddUser":case"messageActionChatAddUsers":c=$("conversation_invited_user_message_raw_raw");break;case"messageActionChatReturn":c=$("conversation_returned_to_group_raw");break;case"messageActionChatJoined":c=$("conversation_joined_group_raw");break;case"messageActionChatDeleteUser":c=$("conversation_kicked_user_message_raw");break;case"messageActionChatLeave":c=$("conversation_left_group_raw");break;case"messageActionChatJoinedByLink":c=$("conversation_joined_by_link_raw");break;case"messageActionChannelCreate":c=$("conversation_created_channel_raw");break;case"messageActionChannelEditTitle":c=$("conversation_changed_channel_name_raw");break;case"messageActionChannelEditPhoto":c=$("conversation_changed_channel_photo_raw");break;case"messageActionChannelDeletePhoto":c=$("conversation_removed_channel_photo_raw")}if(o>0){var p=r.getUser(e.from_id),m=r.getUserPhoto(e.from_id);s.title=(p.first_name||"")+(p.first_name&&p.last_name?" ":"")+(p.last_name||""),s.title||(s.title=p.phone||$("conversation_unknown_user_raw")),i=m,a=r.getUserString(o)}else{if(s.title=l.getChat(-o).title||$("conversation_unknown_chat_raw"),e.from_id>0){var p=r.getUser(e.from_id);s.title=(p.first_name||p.last_name||$("conversation_unknown_user_raw"))+" @ "+s.title}i=l.getChatPhoto(-o),a=l.getChatString(-o)}s.title=f.wrapPlainText(s.title),s.onclick=function(){t.$broadcast("history_focus",{peerString:a,messageID:16&e.flags?e.mid:0})},s.message=c,s.key="msg"+e.mid,s.tag=a,i.location&&!i.location.empty?h.downloadSmallFile(i.location,i.size).then(function(t){e.pFlags.unread&&(s.image=t,_.notify(s))}):_.notify(s)}function he(){i.cancel(tt),tt=!1,t.$broadcast("history_multiappend",nt),nt={}}function fe(){i.cancel(at),at=!1,angular.forEach(it,function(e){A(e)}),t.$broadcast("dialogs_multiupdate",it),it={}}function _e(){i.cancel(ot),ot=!1;var e=t.idle.isIDLE&&k.isOtherDeviceActive()?3e4:1e3;angular.forEach(st,function(t){t.isMutedPromise.then(function(n){var a=t.top_message;!n&&a.pFlags.unread&&setTimeout(function(){a.pFlags.unread&&ge(a,{fwd_count:t.fwd_count})},e)})}),st={}}function ve(n){var a=-n;return e.all([y.getChannelFull(n,!0),B(a,0)]).then(function(e){var i=e[0],o=e[1],s=o.history[0],r={_:"dialogChannel",peer:c.getOutputPeer(a),top_message:s,top_important_message:s,read_inbox_max_id:i.read_inbox_max_id,unread_count:i.unread_count,unread_important_count:i.unread_important_count,notify_settings:i.notify_settings};M(n,r);var l={};l[a]=r,t.$broadcast("dialogs_multiupdate",l)})}var ye,be={},we={},ke={},$e={},Ce={count:null,dialogs:[]},Se={},Me={},xe={},Ie=e.when(),Ae=-1,Ee=SearchIndexManager.createIndex(),Te={query:!1},De={},Pe=[],Fe=[],Re=!1,Ne={},Ue=[],Oe=!1,Be=0,Le=tsNow(!0),je=Le-Le%86400,qe=new Date;v.get("server_time_offset").then(function(e){e&&(Be=e)});var He=!1;Config.Modes.packed&&v.get("max_seen_msg").then(function(e){He=e||0});var Ve=a("dateOrTime"),ze=$.pluralize("conversation_forwarded_X_messages");qe.setHours(0),qe.setMinutes(0),qe.setSeconds(0),ye=je-Math.floor(+qe/1e3),_.start();var We=!1,Ge=0,Ke=0,Ye={},Ze={},Xe={},Je={},Qe=0,et=4294967296,tt=!1,nt={},at=!1,it={},ot=!1,st={};return t.$on("apiUpdate",function(e,n){switch(n._){case"updateMessageID":var a=n.random_id,o=Se[a];if(o){var s=o[0],d=c.isChannel(s)?-s:0;Me[T(n.id,d)]=a}break;case"updateNewMessage":case"updateNewChannelMessage":var u=n.message,s=ie(u),p=$e[s];if("updateNewChannelMessage"==n._){if(!l.isMegagroup(-s)&&!(u.pFlags.out||u.pFlags.mention||u.pFlags.post))break;var m=l.getChat(-s);if(m.pFlags&&(m.pFlags.left||m.pFlags.kicked))break}if(Y([u]),void 0!==p){var g=p.history;if(-1!=g.indexOf(u.mid))return!1;var h=g[0];g.unshift(u.mid),u.mid>0&&u.mid<h&&g.sort(function(e,t){return t-e}),null!==p.count&&p.count++}else p=$e[s]={count:null,history:[u.mid],pending:[]};j(p,u)&&t.$broadcast("history_reply_markup",{peerID
e.put("partials/desktop/channel_modal.html",'<div class="chat_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$close()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="hasRights(\'edit_title\')" ng-click="editChannel()" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></span>\n </div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left" ng-switch="photo.updating">\n <div ng-switch-when="true" class="peer_modal_photo md_photo_loading loading_dots">\n <i></i><i></i><i></i>\n </div>\n <a ng-switch-default ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="peer_modal_photo" my-peer-photolink="::-chatFull.chat.id" img-class="peer_modal_photo" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="-chatFull.chat.id" verified="true"></div>\n <div class="peer_modal_profile_description" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions" ng-switch="hasRights(\'edit_photo\')">\n <div ng-switch-when="true" class="md_modal_split_action">\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" title="{{\'group_modal_update_photo\' | i18n}}" />\n <i class="md_modal_split_action_camera"></i>\n </div>\n <a ng-switch-default class="md_modal_split_action" href="" ng-click="goToHistory()" title="{{\'user_modal_send_message\' | i18n}}">\n <i class="md_modal_split_action_msg"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections clearfix">\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_number" ng-if="chatFull.rAbout || chatFull.chat.username || chatFull.chat.pFlags.creator">\n <i class="md_modal_section_icon md_modal_section_icon_about"></i>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.about.length > 0">\n <div class="md_modal_section_param_value">\n <span ng-bind-html="chatFull.rAbout"></span>\n </div>\n <div class="md_modal_section_param_name" my-i18n="channel_modal_description"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.chat.username">\n <div class="md_modal_section_param_value">\n <a class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://telegram.me/\' + chatFull.chat.username" ng-href="https://telegram.me/{{chatFull.chat.username}}" target="_blank"></a>\n </div>\n <div class="md_modal_section_param_name" my-i18n="channel_modal_share_link"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="!chatFull.chat.username &amp;&amp; chatFull.chat.pFlags.creator">\n <div class="md_modal_section_param_value" ng-switch="chatFull.exported_invite._">\n <a ng-switch-when="chatInviteExported" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n <span ng-switch-default my-i18n="channel_m
e.put("partials/desktop/document_modal.html",'<div class="modal_close_wrap" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="document.user_id > 0" ng-switch="messageID > 0">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="document.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="document.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="document.date > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="document.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="document.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_title_wrap" ng-bind="document.file_name"></div>\n\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{photo.full.modalWidth}}" class="media_modal_wrap photo_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n\n <div my-load-document="document"></div>\n\n </div>\n\n </div>\n </div>\n</div>'),e.put("partials/desktop/edit_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4 my-i18n="contact_edit_modal_title"></h4>\n\n <div class="md-input-group md-input-disabled" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_import_modal_phone"></label>\n <span class="md-input" ng-bind="importContact.phone | phoneNumber"></span>\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_first_name"></label>\n <input class="md-input" my-focused type="text" ng-model="importContact.first_name" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_last_name"></label>\n <input class="md-input" type="text" ng-model="importContact.last_name" my-submit-on-enter />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_edit_modal_submit_active\' : \'contact_edit_modal_submit\'| i18n" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/desktop/embed_modal.html",'<div class="modal_close_wrap" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n <
e.put("partials/desktop/import_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4 my-i18n="contact_import_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_import_modal_phone"></label>\n <input class="md-input" my-focused type="text" ng-model="importContact.phone" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_first_name"></label>\n <input class="md-input" type="text" ng-model="importContact.first_name" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_last_name"></label>\n <input class="md-input" type="text" ng-model="importContact.last_name" my-submit-on-enter />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_import_modal_submit_active\' : \'contact_import_modal_submit\' | i18n" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/desktop/inactive.html",'<div class="inactive_page_wrap">\n <div class="tg_head_split inactive_head"></div>\n <div class="im_page_wrap">\n <div class="inactive_page_content" my-vertical-position="0.35">\n <a class="inactive_image" ng-click="reload()"></a>\n <h3 class="inactive_title" my-i18n="inactive_title"></h3>\n <div class="inactive_description" my-i18n="inactive_description_md"></div>\n <div class="inactive_actions">\n <button class="btn btn-lg btn-md btn-md-primary" ng-click="reload()" my-i18n="inactive_reload_btn" my-focused></button>\n </div>\n </div>\n </div>\n</div>'),e.put("partials/desktop/inline_results.html",'<a ng-if="botResults.switch_pm !== undefined" class="inline_switch_pm" ng-bind-html="botResults.switch_pm.rText" data-inlineid="_switch_pm_{{botResults.switch_pm.start_param}}"></a>\n\n<ul class="inline_results_wrap composer_dropdown">\n <li class="inline_result_wrap" ng-class="\'inline_result_\' + result.type" ng-repeat="result in botResults.results track by result.qID" ng-switch="result.type">\n\n <a ng-switch-when="gif" class="img_gif_with_progress_wrap" data-inlineid="{{result.qID}}" ng-style="::{width: result.thumbW, height: result.thumbH}" ng-switch="result._">\n <div class="inline_result_ind"></div>\n <div ng-switch-when="botInlineMediaResult" ng-switch="result.document.url !== undefined" class="inline_result_gif_mtproto">\n <div ng-switch-when="true" ng-switch="result.document.mime_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{result.thumbW}}" height="{{result.thumbH}}" loop autoplay class="img_gif_video">\n <source ng-src="{{result.document.url}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image" ng-src="{{result.document.url}}" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n <div ng-switch-default class="img_gif_image_wrap">\n <img class="img_gif_thumb" my-load-thumb thumb="result.document.thumb" width="{{result.thumbW}}" height="{{result.thumbH}}" />\n </div>\n </div>\n <div ng-switch-default ng-switch="result.contentUrl !== undefined" class="inline_result_gif_http">\n <div ng-switch-when="true" ng-switch="result.content_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{result.thumbW}}" height="{{result.thumbH}}" loop autoplay class="img_gif_video">\n <source ng-src="{{result.contentUrl}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image"
e.put("partials/desktop/message_media.html",'<div ng-switch="::media._">\n <div ng-switch-when="messageMediaPhoto" my-message-photo="media" message-id="messageId"></div>\n <div ng-switch-when="messageMediaDocument" my-message-document="media" message-id="messageId"></div>\n <div ng-switch-when="messageMediaGeo" my-message-geo="media"></div>\n <div ng-switch-when="messageMediaVenue" my-message-venue="media"></div>\n <div ng-switch-when="messageMediaContact" my-message-contact="media"></div>\n <div ng-switch-when="messageMediaWebPage" my-message-webpage="media" message-id="messageId"></div>\n <div ng-switch-when="messageMediaPending" my-message-pending="media"></div>\n <div ng-switch-when="messageMediaUnsupported">\n <div class="im_message_text" my-i18n="message_attach_unsupported">\n <my-i18n-param name="link"><a href="https://web.telegram.org" target="_blank">web.telegram.org</a></my-i18n-param>\n </div>\n </div>\n</div>'),e.put("partials/desktop/message_service.html",'<span ng-switch="::historyMessage.action._">\n <my-i18n>\n <span ng-switch-when="messageActionChatCreate" my-i18n-format="message_service_created_group"></span>\n <span ng-switch-when="messageActionChatEditTitle" my-i18n-format="message_service_changed_group_name"></span>\n <my-i18n-param name="group-name">&laquo;<strong ng-bind-html="::historyMessage.action.rTitle"></strong>&raquo;</my-i18n-param>\n </my-i18n>\n <span ng-switch-when="messageActionChatEditPhoto" my-i18n="message_service_changed_group_photo"></span>\n <span ng-switch-when="messageActionChatDeletePhoto" my-i18n="message_service_removed_group_photo"></span>\n <span ng-switch-when="messageActionChatJoinedByLink" my-i18n="message_service_joined_by_link"></span>\n <span ng-switch-when="messageActionChatReturn" my-i18n="message_service_returned_to_group"></span>\n <span ng-switch-when="messageActionChatJoined" my-i18n="message_service_joined"></span>\n <span ng-switch-when="messageActionChatAddUser" my-i18n="message_service_invited_user">\n <my-i18n-param name="user"><a my-peer-link="historyMessage.action.user_id" color="true"></a></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatAddUsers" my-i18n="message_service_invited_users">\n <my-i18n-param name="user"><a my-peer-link="historyMessage.action.user_id" color="true"></a></my-i18n-param>\n <my-i18n-param name="num-more"><span ng-bind="historyMessage.action.users.length - 1"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatLeave" my-i18n="message_service_left_group"></span>\n <span ng-switch-when="messageActionChatDeleteUser" my-i18n="message_service_kicked_user">\n <my-i18n-param name="user"><a my-peer-link="historyMessage.action.user_id" color="true"></a></my-i18n-param>\n </span>\n\n <span ng-switch-when="messageActionChatMigrateTo" my-i18n="message_service_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelMigrateFrom" my-i18n="message_service_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelCreate" my-i18n="message_service_created_channel"></span>\n <span ng-switch-when="messageActionChannelEditTitle" my-i18n="message_service_changed_channel_name">\n <my-i18n-param name="channel-name">&laquo;<strong ng-bind-html="::historyMessage.action.rTitle"></strong>&raquo;</my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChannelEditPhoto" my-i18n="message_service_changed_channel_photo"></span>\n <span ng-switch-when="messageActionChannelDeletePhoto" my-i18n="message_service_removed_channel_photo"></span>\n\n <span ng-switch-when="messageActionPinMessage" my-i18n="message_service_pinned_message">\n <my-i18n-param name="message"><a class="im_service_message_pinned" my-pinned-message="historyMessage.reply_to_msg"></a></my-i18n-param>\n </span>\n\n\n <span ng-switch-default my-i18n="message_service_unsupported_action">\n <my-i18n-param name="action"><span ng-bind="historyMessage.action._"></span></my-i18n-param>\n </span>\n</span>\n'),e.put("partials/d
e.put("partials/desktop/slider.html",'<div class="tg_slider_wrap">\n <div class="tg_slider_thumb"></div>\n <div class="tg_slider_track">\n <div class="tg_slider_track_fill"></div>\n </div>\n</div>'),e.put("partials/desktop/stickerset_modal.html",'<div class="stickerset_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head md_modal_head_simple">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$dismiss()" my-i18n="modal_close"></a>\n </div>\n </div>\n <div class="md_modal_title" ng-switch="!stickersetLoaded">\n <span ng-switch-when="true" my-i18n="stickerset_modal_title_loading"></span>\n <span ng-switch-default ng-bind="stickerset.title"></span>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div my-stickers-list class="stickerset_modal_col">\n\n <div class="stickerset_wrap nano" my-infinite-scroller>\n <div class="stickerset_scrollable_wrap nano-content" ng-switch="!stickersetLoaded">\n\n <div ng-switch-when="true" class="stickerset_modal_loading" my-vertical-position="0.2" padding="true" my-i18n="stickerset_modal_loading">\n <my-i18n-param name="dots">\n <span my-loading-dots></span>\n </my-i18n-param>\n </div>\n\n <div ng-switch-default class="stickerset_modal_stickers_list clearfix">\n <a class="stickerset_modal_sticker_wrap" ng-repeat="sticker in documents | limitTo: slice.limit" ng-click="chooseSticker(sticker.id)">\n <div class="stickerset_modal_sticker" my-load-sticker document="sticker" dim="stickerDimensions[sticker.id]"></div>\n <div class="stickerset_modal_sticker_alt" ng-bind-html="stickerEmojis[sticker.id]"></div>\n </a>\n </div>\n\n </div>\n </div>\n\n </div>\n\n <div class="stickerset_actions_wrap">\n <div class="stickerset_actions" ng-switch="stickersetInstalled">\n <button ng-if="stickersetLoaded" class="btn btn-md btn-md-primary pull-left" my-i18n="stickerset_modal_share" ng-click="share()"></button>\n <button ng-switch-when="true" class="btn btn-md btn-md-danger" my-i18n="stickerset_modal_uninstall" ng-click="toggleInstalled(false)"></button>\n <button ng-switch-when="false" class="btn btn-md btn-md-primary" my-i18n="stickerset_modal_install" ng-click="toggleInstalled(true)"></button>\n </div>\n </div>\n\n </div>\n\n</div>\n'),e.put("partials/desktop/user_modal.html",'<div class="user_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$close()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="user.pFlags.contact" ng-click="importContact(true)" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" my-i18n="user_modal_contact_info"></div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left">\n <a ng-click="openPhoto(user.photo.photo_id, {p: user.id})" class="peer_modal_photo" ng-class="{disabled: !user.photo.photo_id}" ng-disabled="!user.photo.photo_id" my-peer-photolink="::user.id" img-class="peer_modal_photo" no-open="true"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="user.id" verified="true"></div>\n <div class="peer_modal_profile_description" my-user-status="::user.id"></div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions">\n <a class="md_modal_split_action" href="" ng-click="goToHistory()" title="{{\'user_modal_send_message\' | i18n}}">\n <i class="md_modal_split_action_msg"></i>\n </a>\n </div>\n </div>\n\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections clearfi
e.put("partials/mobile/channel_modal.html",'<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-if="chatFull.chat.pFlags.creator || !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" my-i18n="modal_edit"></a>\n </li>\n <li ng-if="chatFull.chat.pFlags.creator">\n <a ng-click="deleteChannel()" my-i18n="channel_modal_delete_channel"></a>\n </li>\n <li ng-if="!chatFull.chat.pFlags.creator && !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a ng-click="leaveChannel()" my-i18n="group_modal_menu_leave"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="channel_modal_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id" verified="true"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.rAbout">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_description"></h4>\n <div class="mobile_modal_section_value" ng-bind-html="chatFull.rAbout"></div>\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username || chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.chat.username.length > 0">\n <a ng-switch-when="true" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://telegram.me/\' + chatFull.chat.username" ng-href="https://telegram.me/{{chatFull.chat.username}}" target="_blank"></a>\n <a ng-switch-default ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="hasRights(\'invite\')">\n <a class="mobile_modal_action" ng-click="inviteToChannel()" my-i18n="channel_modal_add_member"></a>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="chatFull.chat.pFlags.left">\n <a class="mobile_modal_action" ng-click="joinChannel()" my-i18n="channel_modal_join"></a>\n </div>\
e.put("partials/mobile/im.html",'<div my-head></div>\n\n<div class="im_page_wrap" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div ng-controller="AppImDialogsController" my-dialogs class="im_dialogs_col_wrap" ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="searchClear()" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n\n <div my-dialogs-list-mobile class="im_dialogs_col im_dialogs_scrollable_wrap mobile_scrollable_wrap">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.contacts" my-vertical-position="0.4">\n <h3 class="im_dialogs_empty_header" my-i18n="im_no_contacts"></h3>\n <p class="im_dialogs_empty_lead" my-i18n="im_get_started_long"></p>\n <button type="button" class="btn btn-primary btn-block im_dialogs_add_contact" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-block im_dialogs_import_phonebook" ng-click="importPhonebook()" my-i18n="im_import_phonebook"></button>\n </div>\n\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="im_contacts_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-mousedown="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="contact.userID" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="contact.userID" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" my-user-status="::contact.userID"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_contacts_wrap" ng-show="foundPeers.length > 0">\n <h5 my-i18n="im_found_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="foundPeer in foundPeers track by foundPeer.id" ng-class="{active: curDialog.peerID == foundPeer.id}">\n <a class="im_dialog" ng-mousedown="dialogSelect(foundPeer.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="foundPeer.id" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="foundPeer.id" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" ng-bind="::\'@\' + foundPeer.username"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_messages_wrap" ng-show="foundMessages.length > 0">\n <h5 my-i18n="im_messages"><
e.put("partials/mobile/message_attach_geo.html",'<a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_geopoint">\n <i class="icon icon-geo-point"></i>\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="200"\n height="100"\n />\n</a>'),e.put("partials/mobile/message_attach_pending.html",'<div class="im_message_document im_message_upload_file" ng-class="::\'im_message_upload_\' + media.type">\n <div class="im_message_file_button im_message_file_button_upload">\n <i class="im_message_file_button_icon"></i>\n </div>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" ng-bind="::media.file_name"></span>\n <span class="im_message_document_size" ng-if="media.progress" ng-bind="media.progress | formatSizeProgress"></span>\n </div>\n <div class="clearfix im_message_cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="media.progress.cancel()" my-i18n="modal_cancel"></a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" role="progressbar" ng-style="{width: media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),e.put("partials/mobile/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/mobile/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_venue_geopoint_wrap">\n <i class="icon icon-geo-point"></i>\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_webpage.html",'<div ng-show="webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a href="{{webpage.url}}" target="_blank" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(webpage.photo.id, {w: webpage.id, m: messageId})" ng-style="::{width: webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="webpage.photo.thumb"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{webpage.url}}" target="_blank" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_video_thumb" ng-click="openEmbed($event)" ng-href="{{w
e.put("partials/mobile/stickerset_modal.html",'<div class="stickerset_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right" ng-if="stickersetLoaded" ng-switch="stickersetInstalled">\n <a ng-switch-when="true" my-i18n="stickerset_modal_uninstall" ng-click="toggleInstalled(false)"></a>\n <a ng-switch-when="false" my-i18n="stickerset_modal_install" ng-click="toggleInstalled(true)"></a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 ng-switch="!stickersetLoaded">\n <span ng-switch-when="true" my-i18n="stickerset_modal_title_loading"></span>\n <span ng-switch-default ng-bind="stickerset.title"></span>\n </h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body">\n\n <div my-stickers-list class="stickerset_modal_col">\n\n <div class="stickerset_wrap nano" my-infinite-scroller>\n <div class="stickerset_scrollable_wrap nano-content" ng-switch="!stickersetLoaded">\n\n <div ng-switch-when="true" class="stickerset_modal_loading" my-vertical-position="0.2" padding="true" my-i18n="stickerset_modal_loading">\n <my-i18n-param name="dots">\n <span my-loading-dots></span>\n </my-i18n-param>\n </div>\n\n <div ng-switch-default class="stickerset_modal_stickers_list clearfix">\n <div class="stickerset_modal_sticker_wrap" ng-repeat="sticker in documents | limitTo: slice.limit">\n <div class="stickerset_modal_sticker" my-load-sticker document="sticker" thumb="true"></div>\n <div class="stickerset_modal_sticker_alt" ng-bind-html="sticker.stickerEmoji"></div>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>'),e.put("partials/mobile/user_modal.html",'<div class="mobile_user_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown>\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="user.pFlags.contact">\n <a ng-click="importContact(true)" my-i18n="user_modal_edit_contact"></a>\n </li>\n <li ng-if="user.pFlags.contact">\n <a ng-click="deleteContact()" my-i18n="user_modal_delete_contact"></a>\n </li>\n <li ng-if="user.phone.length > 0 &amp;&amp; !user.pFlags.contact &amp;&amp; !user.pFlags.self">\n <a ng-click="importContact()" my-i18n="user_modal_add_contact"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="user_modal_delete_chat"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="user_modal_contact_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n
n.value=f,setFieldSelection(n,_)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onMentionsUpdated=function(e){delete this.previousQuery,this.isActive&&this.checkAutocomplete()},MessageComposer.prototype.onMentionSelected=function(e){if(this.richTextareaEl){var t=this.richTextareaEl[0];this.isActive||this.restoreSelection()||setRichFocus(t);var n,a=getRichValueWithCaret(t),i=a[0],o=a[1]>=0?a[1]:i.length,s=i.substr(o),r=i.substr(0,o),l=r.match(/@([A-Za-z0-9\-\+\*_]*)$/);n=l&&l[0]?r.substr(0,l.index)+"@"+e:r+"@"+e,t.value=d;var c;s.length?(this.selId=(this.selId||0)+1,c=this.getRichHtml(n)+'&nbsp;<span id="composer_sel'+this.selId+'"></span>'+this.getRichHtml(s),this.richTextareaEl.html(c),setRichFocus(t,$("#composer_sel"+this.selId)[0])):(c=this.getRichHtml(n)+"&nbsp;",this.richTextareaEl.html(c),setRichFocus(t))}else{var t=this.textareaEl[0],i=t.value,o=this.isActive?getFieldSelection(t):i.length,s=i.substr(o),r=i.substr(0,o),l=r.match(/@([A-Za-z0-9\-\+\*_]*)$/);if(l&&l[0])var d=r.substr(0,l.index)+"@"+e+" "+s,u=l.index+e.length+2;else var d=r+":"+e+": "+s,u=r.length+e.length+2;t.value=d,setFieldSelection(t,u)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onCommandSelected=function(e,t){if(t)if(this.richTextareaEl)this.richTextareaEl.html(encodeEntities(e)+"&nbsp;"),setRichFocus(this.richTextareaEl[0]);else{var n=this.textareaEl[0];n.value=e+" ",setFieldSelection(n)}else this.onCommandSend(e);this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onChange=function(e){if(this.richTextareaEl){delete this.keyupStarted;var t=getRichValue(this.richTextareaEl[0]);this.textareaEl.val(t).trigger("change")}this.updateInlinePlaceholder()},MessageComposer.prototype.getEmojiHtml=function(e,t){t=t||EmojiHelper.emojis[e];var n=20,a=EmojiHelper.spritesheetPositions[e],i=a[0],o=(a[1],n*a[3]),s=n*a[2];return'<img src="img/blank.gif" alt=":'+encodeEntities(t[1])+':" data-code="'+encodeEntities(e)+'" class="emoji emoji-w20 emoji-spritesheet-'+i+'" style="background-position: -'+o+"px -"+s+'px;" onresizestart="return false" />'},MessageComposer.prototype.setValue=function(e){this.richTextareaEl?(this.richTextareaEl.html(this.getRichHtml(e)),this.lastLength=e.length,this.wasEmpty=!e.length,this.onKeyEvent({type:"keyup"})):this.textareaEl.val(e)},MessageComposer.prototype.setFocusedValue=function(e){var t=e[0],n=e[1],a=e[2];if(this.richTextareaEl){this.selId=(this.selId||0)+1;var i=this.getRichHtml(t)+'<span id="composer_sel'+this.selId+'">'+this.getRichHtml(n)+"</span>"+this.getRichHtml(a);this.richTextareaEl.html(i),setRichFocus(this.richTextareaEl[0],$("#composer_sel"+this.selId)[0],!0)}else this.textareaEl.val(t+n+a),setFieldSelection(this.textareaEl[0],t.length,t.length+n.length)},MessageComposer.prototype.getRichHtml=function(e){var t=$("<div>").text(e).html();return t=t.replace(/\n/g,"<br/>"),t=t.replace(/:([A-Za-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHelper.shortcuts[t];return void 0!==n?this.getEmojiHtml(n):e}.bind(this)),t=t.replace(/ /g,"  ").replace(/^ | $/g," ")},MessageComposer.prototype.focus=function(){this.richTextareaEl?setZeroTimeout(function(){setRichFocus(this.richTextareaEl[0])}.bind(this)):setFieldSelection(this.textareaEl[0])},MessageComposer.prototype.blur=function(){this.richTextareaEl?this.richTextareaEl[0].blur():this.textareaEl[0].blur()},MessageComposer.prototype.renderSuggestions=function(){this.autoCompleteWrapEl.show(),this.scroller.reinit(),this.updatePosition(),this.autocompleteShown=!0},MessageComposer.prototype.showEmojiSuggestions=function(e){var t=this;setZeroTimeout(function(){t.autoCompleteScope.$apply(function(){t.autoCompleteScope.type="emoji",t.autoCompleteScope.emojiCodes=e}),onContentLoaded(function(){t.renderSuggestions()})})},MessageComposer.prototype.showMentionSuggestions=function(e){var t=this;setZeroTimeout(function(){t.autoCompleteScope.$apply(function(){t.autoCompleteScope.type="mentions",t.autoCompleteScope.mentionUsers=e}),onContentLoaded(function(){t.renderSuggestions()})})},MessageComposer.prototype.showCommandsSuggestions=func
n=n||{};var a=o.draftMessage.isBroadcast;B.setPlaceholder(e(a?"im_broadcast_field_placeholder_raw":"im_message_field_placeholder_raw")),n.customSelection?(B.setFocusedValue(n.customSelection),y()):(L&&(B.setValue(o.draftMessage.text||""),y()),(m||n&&n.focus)&&B.focus()),onContentLoaded(function(){B.checkAutocomplete(!0)}),U&&Config.Mobile&&U.hide()}),o.$on("ui_peer_reply",function(){onContentLoaded(function(){o.$emit("ui_editor_resize"),m&&B.focus()})}),o.$on("mentions_update",function(){B.onMentionsUpdated()}),o.$on("ui_message_before_send",function(){v()}),o.$on("ui_message_send",function(){m&&w()}),o.$on("ui_message_blur",function(){B.blur()}),o.$on("$destroy",function(){$(document).off("paste",C),$(document).off("keydown",b),$("body").off("dragenter dragleave dragover drop",S),$(F).off("mousedown touchstart"),T.off("change")}),m&&w()}return{link:g,scope:{draftMessage:"=",mentions:"=",commands:"="}}}]).directive("myLoadThumb",["MtpApiFileManager","FileManager",function(e,t){function n(n,a,i){var o=0,s=e.getCachedFile(n.thumb&&n.thumb.location&&!n.thumb.location.empty&&n.thumb.location);s&&a.attr("src",t.getUrl(s,"image/jpeg")),n.thumb&&n.thumb.width&&n.thumb.height&&(a.attr("width",n.thumb.width),a.attr("height",n.thumb.height));var r=n.$watchCollection("thumb.location",function(i){n.thumb&&n.thumb.width&&n.thumb.height&&(a.attr("width",n.thumb.width),a.attr("height",n.thumb.height),n.$emit("ui_height"));var s=++o;if(!i||i.empty)return a.attr("src",n.thumb&&n.thumb.placeholder||"img/blank.gif"),void l();var r=e.getCachedFile(i);return r?(a.attr("src",t.getUrl(r,"image/jpeg")),void l()):(a.attr("src")||a.attr("src",n.thumb.placeholder||"img/blank.gif"),void e.downloadSmallFile(n.thumb.location).then(function(e){s==o&&(a.attr("src",t.getUrl(e,"image/jpeg")),l())},function(e){console.log("Download image failed",e,n.thumb.location,a[0]),s==o&&(a.attr("src",n.thumb.placeholder||"img/blank.gif"),l())}))}),l=i.watch?angular.noop:function(){setTimeout(function(){n.$destroy(),r()},0)}}return{link:n,scope:{thumb:"="}}}]).directive("myLoadFullPhoto",["MtpApiFileManager","FileManager","_",function(e,t,n){function a(a,i,o){var s=$("img",i)[0],r=$(".img_fullsize_with_progress_wrap",i).add(".img_fullsize_progress_wrap",i).add($(s)),l=function(){r.css({width:a.fullPhoto.width,height:a.fullPhoto.height}),a.$emit("ui_height",!0)},c=0;a.$watchCollection("fullPhoto.location",function(){var i=e.getCachedFile(a.thumbLocation),o=++c;if(i?(s.src=t.getUrl(i,"image/jpeg"),l()):s.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",a.fullPhoto.location){var r;if(a.fullPhoto.size){var d={_:"inputFileLocation",volume_id:a.fullPhoto.location.volume_id,local_id:a.fullPhoto.location.local_id,secret:a.fullPhoto.location.secret};r=e.downloadFile(a.fullPhoto.location.dc_id,d,a.fullPhoto.size)}else r=e.downloadSmallFile(a.fullPhoto.location);a.progress={enabled:!0,percent:0},r.then(function(e){o==c&&(a.progress.enabled=!1,s.src=t.getUrl(e,"image/jpeg"),l())},function(e){console.log("Download image failed",e,a.fullPhoto.location),a.progress.enabled=!1,a.error=e&&"FS_BROWSER_UNSUPPORTED"==e.type?{html:n("error_browser_no_local_file_system_image_md",{"moz-link":'<a href="{0}" target="_blank">{1}</a>',"chrome-link":'<a href="{0}" target="_blank">{1}</a>',"telegram-link":'<a href="{0}" target="_blank">{1}</a>'})}:{text:n("error_image_download_failed"),error:e}},function(e){a.progress.percent=Math.max(1,Math.floor(100*e.done/e.total))})}}),l()}return{link:a,transclude:!0,templateUrl:templateUrl("full_photo"),scope:{fullPhoto:"=",thumbLocation:"="}}}]).directive("myLoadVideo",["$sce","AppDocsManager","ErrorService","_",function(e,t,n,a){function i(e,i,o){var s=t.downloadDoc(e.video.id);s.then(function(){e.$emit("ui_height"),onContentLoaded(function(){var e=$("video",i)[0];if(e){var t=!1,a=function(e){t||e.target&&e.target.error&&e.target.error.code!=e.target.error.MEDIA_ERR_DECODE&&e.target.error.code!=e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED||(t=!0,n.show({error:{type:"MEDIA_TYPE_NOT_SUPPORTED",originalError:e.target&&e.targ