|
|
!function(o){"use strict";for(var r,e,i={},n=function(){},t="memory".split(","),p="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(",");r=t.pop();)o[r]=o[r]||i;for(;e=p.pop();)o[e]=o[e]||n}(this.console=this.console||{}); |
|
|
!function(e,t){function n(e){var t=e.length,n=ct.type(e);return ct.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e){var t=kt[e]={};return ct.each(e.match(pt)||[],function(e,n){t[n]=!0}),t}function i(e,n,r,i){if(ct.acceptData(e)){var o,a,s=ct.expando,u=e.nodeType,l=u?ct.cache:e,c=u?e[s]:e[s]&&s;if(c&&l[c]&&(i||l[c].data)||r!==t||"string"!=typeof n)return c||(c=u?e[s]=tt.pop()||ct.guid++:s),l[c]||(l[c]=u?{}:{toJSON:ct.noop}),("object"==typeof n||"function"==typeof n)&&(i?l[c]=ct.extend(l[c],n):l[c].data=ct.extend(l[c].data,n)),a=l[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[ct.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[ct.camelCase(n)])):o=a,o}}function o(e,t,n){if(ct.acceptData(e)){var r,i,o=e.nodeType,a=o?ct.cache:e,u=o?e[ct.expando]:ct.expando;if(a[u]){if(t&&(r=n?a[u]:a[u].data)){ct.isArray(t)?t=t.concat(ct.map(t,ct.camelCase)):t in r?t=[t]:(t=ct.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!s(r):!ct.isEmptyObject(r))return}(n||(delete a[u].data,s(a[u])))&&(o?ct.cleanData([e],!0):ct.support.deleteExpando||a!=a.window?delete a[u]:a[u]=null)}}}function a(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(St,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:Et.test(r)?ct.parseJSON(r):r}catch(o){}ct.data(e,n,r)}else r=t}return r}function s(e){var t;for(t in e)if(("data"!==t||!ct.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(){return!0}function l(){return!1}function c(){try{return G.activeElement}catch(e){}}function f(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function p(e,t,n){if(ct.isFunction(t))return ct.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return ct.grep(e,function(e){return e===t!==n});if("string"==typeof t){if($t.test(t))return ct.filter(t,e,n);t=ct.filter(t,e)}return ct.grep(e,function(e){return ct.inArray(e,t)>=0!==n})}function d(e){var t=Ut.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return ct.nodeName(e,"table")&&ct.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function g(e){return e.type=(null!==ct.find.attr(e,"type"))+"/"+e.type,e}function m(e){var t=on.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function y(e,t){for(var n,r=0;null!=(n=e[r]);r++)ct._data(n,"globalEval",!t||ct._data(t[r],"globalEval"))}function v(e,t){if(1===t.nodeType&&ct.hasData(e)){var n,r,i,o=ct._data(e),a=ct._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)ct.event.add(t,n,s[n][r])}a.data&&(a.data=ct.extend({},a.data))}}function b(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!ct.support.noCloneEvent&&t[ct.expando]){i=ct._data(t);for(r in i.events)ct.removeEvent(t,r,i.handle);t.removeAttribute(ct.expando)}"script"===n&&t.text!==e.text?(g(t).text=e.text,m(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),ct.support.html5Clone&&e.innerHTML&&!ct.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&tn.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function x(e,n){var r,i,o=0,a=typeof e.getElementsByTagName!==Y?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==Y?e.querySelectorAll(n||"*"):t;if(!a)for(a=[],r=e.childNodes||e;null!=(i=r[o]);o++)!n||ct.nodeName(i,n)?a.push(i):ct.merge(a,x(i,n));return n===t||n&&ct.nodeName(e,n)?ct.merge([e],a):a}function T(e){tn.test(e.type)&&(e.defaultChecked=e.checked)}function w(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=kn.length;i--;)if(t=kn[i]+n,t in e)return t;return r}function C(e,t){return e=t||e,"none"===ct.css(e,"display")||!ct.contains(e.ownerDocument,e)}function N(e,t){for(var n,r,i,o=[],a=0,s=e.length;s>a;a++)r=e[a],r.style&&(o[a]=ct._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&C(r)&&(o[a]=ct._data(r,"olddisplay",A(r.nodeName)))):o[a]||(i=C(r),(n&&"none"!==n||!i)&&ct._data(r,"olddisplay",i?n:ct.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}function k(e,t,n){var r=vn.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function E(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=ct.css(e,n+Nn[o],!0,i)),r?("content"===n&&(a-=ct.css(e,"padding"+Nn[o],!0,i)),"margin"!==n&&(a-=ct.css(e,"border"+Nn[o]+"Width",!0,i))):(a+=ct.css(e,"padding"+Nn[o],!0,i),"padding"!==n&&(a+=ct.css(e,"border"+Nn[o]+"Width",!0,i)));return a}function S(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=fn(e),a=ct.support.boxSizing&&"border-box"===ct.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=pn(e,t,o),(0>i||null==i)&&(i=e.style[t]),bn.test(i))return i;r=a&&(ct.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+E(e,t,n||(a?"border":"content"),r,o)+"px"}function A(e){var t=G,n=Tn[e];return n||(n=j(e,t),"none"!==n&&n||(cn=(cn||ct("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(cn[0].contentWindow||cn[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=j(e,t),cn.detach()),Tn[e]=n),n}function j(e,t){var n=ct(t.createElement(e)).appendTo(t.body),r=ct.css(n[0],"display");return n.remove(),r}function D(e,t,n,r){var i;if(ct.isArray(t))ct.each(t,function(t,i){n||Sn.test(e)?r(e,i):D(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==ct.type(t))r(e,t);else for(i in t)D(e+"["+i+"]",t[i],n,r)}function L(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(pt)||[];if(ct.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function H(e,n,r,i){function o(u){var l;return a[u]=!0,ct.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||s||a[c]?s?!(l=c):t:(n.dataTypes.unshift(c),o(c),!1)}),l}var a={},s=e===zn;return o(n.dataTypes[0])||!a["*"]&&o("*")}function q(e,n){var r,i,o=ct.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&ct.extend(!0,e,r),e}function _(e,n,r){for(var i,o,a,s,u=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function M(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(a=l[u+" "+o]||l["* "+o],!a)for(i in l)if(s=i.split(" "),s[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function O(){try{return new e.XMLHttpRequest}catch(t){}}function F(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function B(){return setTimeout(function(){Zn=t}),Zn=ct.now()}function P(e,t,n){for(var r,i=(or[t]||[]).concat(or["*"]),o=0,a=i.length;a>o;o++)if(r=i[o].call(n,t,e))return r}function R(e,t,n){var r,i,o=0,a=ir.length,s=ct.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Zn||B(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:ct.extend({},t),opts:ct.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Zn||B(),duration:n.duration,tweens:[],createTween:function(t,n){var r=ct.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(W(c,l.opts.specialEasing);a>o;o++)if(r=ir[o].call(l,e,c,l.opts))return r;return ct.map(c,P,l),ct.isFunction(l.opts.start)&&l.opts.start.call(e,l),ct.fx.timer(ct.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function W(e,t){var n,r,i,o,a;for(n in e)if(r=ct.camelCase(n),i=t[r],o=e[n],ct.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=ct.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o,a,s,u,l=this,c={},f=e.style,p=e.nodeType&&C(e),d=ct._data(e,"fxshow");n.queue||(s=ct._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,l.always(function(){l.always(function(){s.unqueued--,ct.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],"inline"===ct.css(e,"display")&&"none"===ct.css(e,"float")&&(ct.support.inlineBlockNeedsLayout&&"inline"!==A(e.nodeName)?f.zoom=1:f.display="inline-block")),n.overflow&&(f.overflow="hidden",ct.support.shrinkWrapBlocks||l.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],tr.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(p?"hide":"show"))continue;c[r]=d&&d[r]||ct.style(e,r)}if(!ct.isEmptyObject(c)){d?"hidden"in d&&(p=d.hidden):d=ct._data(e,"fxshow",{}),o&&(d.hidden=!p),p?ct(e).show():l.done(function(){ct(e).hide()}),l.done(function(){var t;ct._removeData(e,"fxshow");for(t in c)ct.style(e,t,c[t])});for(r in c)a=P(p?d[r]:0,r,l),r in d||(d[r]=a.start,p&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function I(e,t,n,r,i){return new I.prototype.init(e,t,n,r,i)}function z(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Nn[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function X(e){return ct.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var U,V,Y=typeof t,J=e.location,G=e.document,Q=G.documentElement,K=e.jQuery,Z=e.$,et={},tt=[],nt="1.10.2",rt=tt.concat,it=tt.push,ot=tt.slice,at=tt.indexOf,st=et.toString,ut=et.hasOwnProperty,lt=nt.trim,ct=function(e,t){return new ct.fn.init(e,t,V)},ft=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,pt=/\S+/g,dt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ht=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,gt=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,mt=/^[\],:{}\s]*$/,yt=/(?:^|:|,)(?:\s*\[)+/g,vt=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,bt=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,xt=/^-ms-/,Tt=/-([\da-z])/gi,wt=function(e,t){return t.toUpperCase()},Ct=function(e){(G.addEventListener||"load"===e.type||"complete"===G.readyState)&&(Nt(),ct.ready())},Nt=function(){G.addEventListener?(G.removeEventListener("DOMContentLoaded",Ct,!1),e.removeEventListener("load",Ct,!1)):(G.detachEvent("onreadystatechange",Ct),e.detachEvent("onload",Ct))};ct.fn=ct.prototype={jquery:nt,constructor:ct,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ht.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof ct?n[0]:n,ct.merge(this,ct.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:G,!0)),gt.test(i[1])&&ct.isPlainObject(n))for(i in n)ct.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=G.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=G,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ct.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),ct.makeArray(e,this))},selector:"",length:0,toArray:function(){return ot.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=ct.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return ct.each(this,e,t)},ready:function(e){return ct.ready.promise().done(e),this},slice:function(){return this.pushStack(ot.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(ct.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:it,sort:[].sort,splice:[].splice},ct.fn.init.prototype=ct.fn,ct.extend=ct.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||ct.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(ct.isPlainObject(r)||(n=ct.isArray(r)))?(n?(n=!1,a=e&&ct.isArray(e)?e:[]):a=e&&ct.isPlainObject(e)?e:{},s[i]=ct.extend(c,a,r)):r!==t&&(s[i]=r));return s},ct.extend({expando:"jQuery"+(nt+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===ct&&(e.$=Z),t&&e.jQuery===ct&&(e.jQuery=K),ct},isReady:!1,readyWait:1,holdReady:function(e){e?ct.readyWait++:ct.ready(!0)},ready:function(e){if(e===!0?!--ct.readyWait:!ct.isReady){if(!G.body)return setTimeout(ct.ready);ct.isReady=!0,e!==!0&&--ct.readyWait>0||(U.resolveWith(G,[ct]),ct.fn.trigger&&ct(G).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===ct.type(e)},isArray:Array.isArray||function(e){return"array"===ct.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?et[st.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==ct.type(e)||e.nodeType||ct.isWindow(e))return!1;try{if(e.constructor&&!ut.call(e,"constructor")&&!ut.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(ct.support.ownLast)for(n in e)return ut.call(e,n);for(n in e);return n===t||ut.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||G;var r=gt.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=ct.buildFragment([e],t,i),i&&ct(i).remove(),ct.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=ct.trim(n),n&&mt.test(n.replace(vt,"@").replace(bt,"]").replace(yt,"")))?Function("return "+n)():(ct.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||ct.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&ct.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(xt,"ms-").replace(Tt,wt)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,r){var i,o=0,a=e.length,s=n(e);if(r){if(s)for(;a>o&&(i=t.apply(e[o],r),i!==!1);o++);else for(o in e)if(i=t.apply(e[o],r),i===!1)break}else if(s)for(;a>o&&(i=t.call(e[o],o,e[o]),i!==!1);o++);else for(o in e)if(i=t.call(e[o],o,e[o]),i===!1)break;return e},trim:lt&&!lt.call(" ")?function(e){return null==e?"":lt.call(e)}:function(e){return null==e?"":(e+"").replace(dt,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?ct.merge(r,"string"==typeof e?[e]:e):it.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(at)return at.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else for(;n[o]!==t;)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,r){var i,o=0,a=e.length,s=n(e),u=[];if(s)for(;a>o;o++)i=t(e[o],o,r),null!=i&&(u[u.length]=i);else for(o in e)i=t(e[o],o,r),null!=i&&(u[u.length]=i);return rt.apply([],u)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),ct.isFunction(e)?(r=ot.call(arguments,2),i=function(){return e.apply(n||this,r.concat(ot.call(arguments)))},i.guid=e.guid=e.guid||ct.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===ct.type(r)){o=!0;for(u in r)ct.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,ct.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(ct(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),ct.ready.promise=function(t){if(!U)if(U=ct.Deferred(),"complete"===G.readyState)setTimeout(ct.ready);else if(G.addEventListener)G.addEventListener("DOMContentLoaded",Ct,!1),e.addEventListener("load",Ct,!1);else{G.attachEvent("onreadystatechange",Ct),e.attachEvent("onload",Ct);var n=!1;try{n=null==e.frameElement&&G.documentElement}catch(r){}n&&n.doScroll&&function i(){if(!ct.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}Nt(),ct.ready()}}()}return U.promise(t)},ct.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){et["[object "+t+"]"]=t.toLowerCase()}),V=ct(G),function(e,t){function n(e,t,n,r){var i,o,a,s,u,l,c,f,h,g;if((t?t.ownerDocument||t:R)!==H&&L(t),t=t||H,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(_&&!r){if(i=bt.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&B(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return et.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&C.getElementsByClassName&&t.getElementsByClassName)return et.apply(n,t.getElementsByClassName(a)),n}if(C.qsa&&(!M||!M.test(e))){if(f=c=P,h=t,g=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(l=p(e),(c=t.getAttribute("id"))?f=c.replace(wt,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",u=l.length;u--;)l[u]=f+d(l[u]);h=dt.test(e)&&t.parentNode||t,g=l.join(",")}if(g)try{return et.apply(n,h.querySelectorAll(g)),n}catch(m){}finally{c||t.removeAttribute("id")}}}return T(e.replace(lt,"$1"),t,n,r)}function r(){function e(n,r){return t.push(n+=" ")>k.cacheLength&&delete e[t.shift()],e[n]=r}var t=[];return e}function i(e){return e[P]=!0,e}function o(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var n=e.split("|"),r=e.length;r--;)k.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||J)-(~e.sourceIndex||J);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function u(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 i(function(t){return t=+t,i(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function f(){}function p(e,t){var r,i,o,a,s,u,l,c=z[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=k.preFilter;s;){(!r||(i=ft.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=pt.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(lt," ")}),s=s.slice(r.length));for(a in k.filter)!(i=yt[a].exec(s))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return t?s.length:s?n.error(e):z(e,u).slice(0)}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=$++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=W+" "+o;if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i)if(l=t[P]||(t[P]={}),(u=l[r])&&u[0]===c){if((s=u[1])===!0||s===N)return s===!0}else if(u=l[r]=[c],u[1]=e(t,n,a)||N,u[1]===!0)return!0}}function g(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function y(e,t,n,r,o,a){return r&&!r[P]&&(r=y(r)),o&&!o[P]&&(o=y(o,a)),i(function(i,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=i||x(t||"*",s.nodeType?[s]:s,[]),y=!e||!i&&t?g:m(g,p,e,s,u),v=n?o||(i?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r)for(l=m(v,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f));if(i){if(o||e){if(o){for(l=[],c=v.length;c--;)(f=v[c])&&l.push(y[c]=f);o(null,v=[],l,u)}for(c=v.length;c--;)(f=v[c])&&(l=o?nt.call(i,f):p[c])>-1&&(i[l]=!(a[l]=f))}}else v=m(v===a?v.splice(h,v.length):v),o?o(null,a,v,u):et.apply(a,v)})}function v(e){for(var t,n,r,i=e.length,o=k.relative[e[0].type],a=o||k.relative[" "],s=o?1:0,u=h(function(e){return e===t},a,!0),l=h(function(e){return nt.call(t,e)>-1},a,!0),c=[function(e,n,r){return!o&&(r||n!==j)||((t=n).nodeType?u(e,n,r):l(e,n,r))}];i>s;s++)if(n=k.relative[e[s].type])c=[h(g(c),n)];else{if(n=k.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;i>r&&!k.relative[e[r].type];r++);return y(s>1&&g(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(lt,"$1"),n,r>s&&v(e.slice(s,r)),i>r&&v(e=e.slice(r)),i>r&&d(e))}c.push(n)}return g(c)}function b(e,t){var r=0,o=t.length>0,a=e.length>0,s=function(i,s,u,l,c){var f,p,d,h=[],g=0,y="0",v=i&&[],b=null!=c,x=j,T=i||a&&k.find.TAG("*",c&&s.parentNode||s),w=W+=null==x?1:Math.random()||.1;for(b&&(j=s!==H&&s,N=r);null!=(f=T[y]);y++){if(a&&f){for(p=0;d=e[p++];)if(d(f,s,u)){l.push(f);break}b&&(W=w,N=++r)}o&&((f=!d&&f)&&g--,i&&v.push(f))}if(g+=y,o&&y!==g){for(p=0;d=t[p++];)d(v,h,s,u);if(i){if(g>0)for(;y--;)v[y]||h[y]||(h[y]=K.call(l));h=m(h)}et.apply(l,h),b&&!i&&h.length>0&&g+t.length>1&&n.uniqueSort(l)}return b&&(W=w,j=x),v};return o?i(s):s}function x(e,t,r){for(var i=0,o=t.length;o>i;i++)n(e,t[i],r);return r}function T(e,t,n,r){var i,o,a,s,u,l=p(e);if(!r&&1===l.length){if(o=l[0]=l[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&C.getById&&9===t.nodeType&&_&&k.relative[o[1].type]){if(t=(k.find.ID(a.matches[0].replace(Ct,Nt),t)||[])[0],!t)return n;e=e.slice(o.shift().value.length)}for(i=yt.needsContext.test(e)?0:o.length;i--&&(a=o[i],!k.relative[s=a.type]);)if((u=k.find[s])&&(r=u(a.matches[0].replace(Ct,Nt),dt.test(o[0].type)&&t.parentNode||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return et.apply(n,r),n;break}}return A(e,l)(r,t,!_,n,dt.test(e)),n}var w,C,N,k,E,S,A,j,D,L,H,q,_,M,O,F,B,P="sizzle"+-new Date,R=e.document,W=0,$=0,I=r(),z=r(),X=r(),U=!1,V=function(e,t){return e===t?(U=!0,0):0},Y=typeof t,J=1<<31,G={}.hasOwnProperty,Q=[],K=Q.pop,Z=Q.push,et=Q.push,tt=Q.slice,nt=Q.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},rt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",it="[\\x20\\t\\r\\n\\f]",ot="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",at=ot.replace("w","w#"),st="\\["+it+"*("+ot+")"+it+"*(?:([*^$|!~]?=)"+it+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+at+")|)|)"+it+"*\\]",ut=":("+ot+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+st.replace(3,8)+")*)|.*)\\)|)",lt=RegExp("^"+it+"+|((?:^|[^\\\\])(?:\\\\.)*)"+it+"+$","g"),ft=RegExp("^"+it+"*,"+it+"*"),pt=RegExp("^"+it+"*([>+~]|"+it+")"+it+"*"),dt=RegExp(it+"*[+~]"),ht=RegExp("="+it+"*([^\\]'\"]*)"+it+"*\\]","g"),gt=RegExp(ut),mt=RegExp("^"+at+"$"),yt={ID:RegExp("^#("+ot+")"),CLASS:RegExp("^\\.("+ot+")"),TAG:RegExp("^("+ot.replace("w","w*")+")"),ATTR:RegExp("^"+st),PSEUDO:RegExp("^"+ut),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+it+"*(even|odd|(([+-]|)(\\d*)n|)"+it+"*(?:([+-]|)"+it+"*(\\d+)|))"+it+"*\\)|)","i"),bool:RegExp("^(?:"+rt+")$","i"),needsContext:RegExp("^"+it+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+it+"*((?:-\\d)?\\d*)"+it+"*\\)|)(?=[^-]|$)","i")},vt=/^[^{]+\{\s*\[native \w/,bt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xt=/^(?:input|select|textarea|button)$/i,Tt=/^h\d$/i,wt=/'|\\/g,Ct=RegExp("\\\\([\\da-f]{1,6}"+it+"?|("+it+")|.)","ig"),Nt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{et.apply(Q=tt.call(R.childNodes),R.childNodes),Q[R.childNodes.length].nodeType}catch(kt){et={apply:Q.length?function(e,t){Z.apply(e,tt.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}S=n.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},C=n.support={},L=n.setDocument=function(e){var n=e?e.ownerDocument||e:R,r=n.defaultView;return n!==H&&9===n.nodeType&&n.documentElement?(H=n,q=n.documentElement,_=!S(n),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){L()}),C.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=o(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=o(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),C.getById=o(function(e){return q.appendChild(e).id=P,!n.getElementsByName||!n.getElementsByName(P).length}),C.getById?(k.find.ID=function(e,t){if(typeof t.getElementById!==Y&&_){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},k.filter.ID=function(e){var t=e.replace(Ct,Nt);return function(e){return e.getAttribute("id")===t}}):(delete k.find.ID,k.filter.ID=function(e){var t=e.replace(Ct,Nt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),k.find.TAG=C.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==Y?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},k.find.CLASS=C.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==Y&&_?n.getElementsByClassName(e):t},O=[],M=[],(C.qsa=vt.test(n.querySelectorAll))&&(o(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||M.push("\\["+it+"*(?:value|"+rt+")"),e.querySelectorAll(":checked").length||M.push(":checked")}),o(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&M.push("[*^$]="+it+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(C.matchesSelector=vt.test(F=q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&o(function(e){C.disconnectedMatch=F.call(e,"div"),F.call(e,"[s!='']:x"),O.push("!=",ut)}),M=M.length&&RegExp(M.join("|")),O=O.length&&RegExp(O.join("|")),B=vt.test(q.contains)||q.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=q.compareDocumentPosition?function(e,t){if(e===t)return U=!0,0;var r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return r?1&r||!C.sortDetached&&t.compareDocumentPosition(e)===r?e===n||B(R,e)?-1:t===n||B(R,t)?1:D?nt.call(D,e)-nt.call(D,t):0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,u=[e],l=[t];if(e===t)return U=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:D?nt.call(D,e)-nt.call(D,t):0;if(o===a)return s(e,t);for(r=e;r=r.parentNode;)u.unshift(r);for(r=t;r=r.parentNode;)l.unshift(r);for(;u[i]===l[i];)i++;return i?s(u[i],l[i]):u[i]===R?-1:l[i]===R?1:0},n):H},n.matches=function(e,t){return n(e,null,null,t)},n.matchesSelector=function(e,t){if((e.ownerDocument||e)!==H&&L(e),t=t.replace(ht,"='$1']"),!(!C.matchesSelector||!_||O&&O.test(t)||M&&M.test(t)))try{var r=F.call(e,t);if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return n(t,H,null,[e]).length>0},n.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),B(e,t)},n.attr=function(e,n){(e.ownerDocument||e)!==H&&L(e);var r=k.attrHandle[n.toLowerCase()],i=r&&G.call(k.attrHandle,n.toLowerCase())?r(e,n,!_):t;return i===t?C.attributes||!_?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null:i},n.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},n.uniqueSort=function(e){var t,n=[],r=0,i=0;if(U=!C.detectDuplicates,D=!C.sortStable&&e.slice(0),e.sort(V),U){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return e},E=n.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=E(t);return n},k=n.selectors={cacheLength:50,createPseudo:i,match:yt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ct,Nt),e[3]=(e[4]||e[5]||"").replace(Ct,Nt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||n.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&n.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return yt.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&>.test(r)&&(n=p(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ct,Nt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=I[e+" "];return t||(t=RegExp("(^|"+it+")"+e+"("+it+"|$)"))&&I(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(e,t,r){return function(i){var o=n.attr(i,e);return null==o?"!="===t:t?(o+="","="===t?o===r:"!="===t?o!==r:"^="===t?r&&0===o.indexOf(r):"*="===t?r&&o.indexOf(r)>-1:"$="===t?r&&o.slice(-r.length)===r:"~="===t?(" "+o+" ").indexOf(r)>-1:"|="===t?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s; |
|
|
if(m){if(o){for(;g;){for(f=t;f=f[g];)if(s?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(c=m[P]||(m[P]={}),l=c[e]||[],d=l[0]===W&&l[1],p=l[0]===W&&l[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(p=d=0)||h.pop();)if(1===f.nodeType&&++p&&f===t){c[e]=[W,d,p];break}}else if(v&&(l=(t[P]||(t[P]={}))[e])&&l[0]===W)p=l[1];else for(;(f=++d&&f&&f[g]||(p=d=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==y:1!==f.nodeType)||!++p||(v&&((f[P]||(f[P]={}))[e]=[W,p]),f!==t)););return p-=i,p===r||0===p%r&&p/r>=0}}},PSEUDO:function(e,t){var r,o=k.pseudos[e]||k.setFilters[e.toLowerCase()]||n.error("unsupported pseudo: "+e);return o[P]?o(t):o.length>1?(r=[e,e,"",t],k.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,n){for(var r,i=o(e,t),a=i.length;a--;)r=nt.call(e,i[a]),e[r]=!(n[r]=i[a])}):function(e){return o(e,0,r)}):o}},pseudos:{not:i(function(e){var t=[],n=[],r=A(e.replace(lt,"$1"));return r[P]?i(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:i(function(e){return function(t){return n(e,t).length>0}}),contains:i(function(e){return function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:i(function(e){return mt.test(e||"")||n.error("unsupported lang: "+e),e=e.replace(Ct,Nt).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!k.pseudos.empty(e)},header:function(e){return Tt.test(e.nodeName)},input:function(e){return xt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;t>++r;)e.push(r);return e})}},k.pseudos.nth=k.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})k.pseudos[w]=u(w);for(w in{submit:!0,reset:!0})k.pseudos[w]=l(w);f.prototype=k.filters=k.pseudos,k.setFilters=new f,A=n.compile=function(e,t){var n,r=[],i=[],o=X[e+" "];if(!o){for(t||(t=p(e)),n=t.length;n--;)o=v(t[n]),o[P]?r.push(o):i.push(o);o=X(e,b(i,r))}return o},C.sortStable=P.split("").sort(V).join("")===P,C.detectDuplicates=U,L(),C.sortDetached=o(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),C.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||a(rt,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),ct.find=n,ct.expr=n.selectors,ct.expr[":"]=ct.expr.pseudos,ct.unique=n.uniqueSort,ct.text=n.getText,ct.isXMLDoc=n.isXML,ct.contains=n.contains}(e);var kt={};ct.Callbacks=function(e){e="string"==typeof e?kt[e]||r(e):ct.extend({},e);var n,i,o,a,s,u,l=[],c=!e.once&&[],f=function(t){for(i=e.memory&&t,o=!0,s=u||0,u=0,a=l.length,n=!0;l&&a>s;s++)if(l[s].apply(t[0],t[1])===!1&&e.stopOnFalse){i=!1;break}n=!1,l&&(c?c.length&&f(c.shift()):i?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;!function r(t){ct.each(t,function(t,n){var i=ct.type(n);"function"===i?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),n?a=l.length:i&&(u=t,f(i))}return this},remove:function(){return l&&ct.each(arguments,function(e,t){for(var r;(r=ct.inArray(t,l,r))>-1;)l.splice(r,1),n&&(a>=r&&a--,s>=r&&s--)}),this},has:function(e){return e?ct.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],a=0,this},disable:function(){return l=c=i=t,this},disabled:function(){return!l},lock:function(){return c=t,i||p.disable(),this},locked:function(){return!c},fireWith:function(e,t){return!l||o&&!c||(t=t||[],t=[e,t.slice?t.slice():t],n?c.push(t):f(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!o}};return p},ct.extend({Deferred:function(e){var t=[["resolve","done",ct.Callbacks("once memory"),"resolved"],["reject","fail",ct.Callbacks("once memory"),"rejected"],["notify","progress",ct.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ct.Deferred(function(n){ct.each(t,function(t,o){var a=o[0],s=ct.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&ct.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ct.extend(e,r):r}},i={};return r.pipe=r.then,ct.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ot.call(arguments),a=o.length,s=1!==a||e&&ct.isFunction(e.promise)?a:0,u=1===s?e:ct.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ot.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=Array(a),n=Array(a),r=Array(a);a>i;i++)o[i]&&ct.isFunction(o[i].promise)?o[i].promise().done(l(i,r,o)).fail(u.reject).progress(l(i,n,t)):--s;return s||u.resolveWith(r,o),u.promise()}}),ct.support=function(t){var n,r,i,o,a,s,u,l,c,f=G.createElement("div");if(f.setAttribute("className","t"),f.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=f.getElementsByTagName("*")||[],r=f.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;o=G.createElement("select"),s=o.appendChild(G.createElement("option")),i=f.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==f.className,t.leadingWhitespace=3===f.firstChild.nodeType,t.tbody=!f.getElementsByTagName("tbody").length,t.htmlSerialize=!!f.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!i.value,t.optSelected=s.selected,t.enctype=!!G.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==G.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,i.checked=!0,t.noCloneChecked=i.cloneNode(!0).checked,o.disabled=!0,t.optDisabled=!s.disabled;try{delete f.test}catch(p){t.deleteExpando=!1}i=G.createElement("input"),i.setAttribute("value",""),t.input=""===i.getAttribute("value"),i.value="t",i.setAttribute("type","radio"),t.radioValue="t"===i.value,i.setAttribute("checked","t"),i.setAttribute("name","t"),a=G.createDocumentFragment(),a.appendChild(i),t.appendChecked=i.checked,t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,f.attachEvent&&(f.attachEvent("onclick",function(){t.noCloneEvent=!1}),f.cloneNode(!0).click());for(c in{submit:!0,change:!0,focusin:!0})f.setAttribute(u="on"+c,"t"),t[c+"Bubbles"]=u in e||f.attributes[u].expando===!1;f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===f.style.backgroundClip;for(c in ct(t))break;return t.ownLast="0"!==c,ct(function(){var n,r,i,o="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",a=G.getElementsByTagName("body")[0];a&&(n=G.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(f),f.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=f.getElementsByTagName("td"),i[0].style.cssText="padding:0;margin:0;border:0;display:none",l=0===i[0].offsetHeight,i[0].style.display="",i[1].style.display="none",t.reliableHiddenOffsets=l&&0===i[0].offsetHeight,f.innerHTML="",f.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",ct.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===f.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(f,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(f,null)||{width:"4px"}).width,r=f.appendChild(G.createElement("div")),r.style.cssText=f.style.cssText=o,r.style.marginRight=r.style.width="0",f.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof f.style.zoom!==Y&&(f.innerHTML="",f.style.cssText=o+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===f.offsetWidth,f.style.display="block",f.innerHTML="<div></div>",f.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==f.offsetWidth,t.inlineBlockNeedsLayout&&(a.style.zoom=1)),a.removeChild(n),n=f=i=r=null)}),n=o=a=s=r=i=null,t}({});var Et=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,St=/([A-Z])/g;ct.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?ct.cache[e[ct.expando]]:e[ct.expando],!!e&&!s(e)},data:function(e,t,n){return i(e,t,n)},removeData:function(e,t){return o(e,t)},_data:function(e,t,n){return i(e,t,n,!0)},_removeData:function(e,t){return o(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&ct.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),ct.fn.extend({data:function(e,n){var r,i,o=null,s=0,u=this[0];if(e===t){if(this.length&&(o=ct.data(u),1===u.nodeType&&!ct._data(u,"parsedAttrs"))){for(r=u.attributes;r.length>s;s++)i=r[s].name,0===i.indexOf("data-")&&(i=ct.camelCase(i.slice(5)),a(u,i,o[i]));ct._data(u,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){ct.data(this,e)}):arguments.length>1?this.each(function(){ct.data(this,e,n)}):u?a(u,e,ct.data(u,e)):null},removeData:function(e){return this.each(function(){ct.removeData(this,e)})}}),ct.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=ct._data(e,n),r&&(!i||ct.isArray(r)?i=ct._data(e,n,ct.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=ct.queue(e,t),r=n.length,i=n.shift(),o=ct._queueHooks(e,t),a=function(){ct.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return ct._data(e,n)||ct._data(e,n,{empty:ct.Callbacks("once memory").add(function(){ct._removeData(e,t+"queue"),ct._removeData(e,n)})})}}),ct.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?ct.queue(this[0],e):n===t?this:this.each(function(){var t=ct.queue(this,e,n);ct._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&ct.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ct.dequeue(this,e)})},delay:function(e,t){return e=ct.fx?ct.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=ct.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)r=ct._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var At,jt,Dt=/[\t\r\n\f]/g,Lt=/\r/g,Ht=/^(?:input|select|textarea|button|object)$/i,qt=/^(?:a|area)$/i,_t=/^(?:checked|selected)$/i,Mt=ct.support.getSetAttribute,Ot=ct.support.input;ct.fn.extend({attr:function(e,t){return ct.access(this,ct.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ct.removeAttr(this,e)})},prop:function(e,t){return ct.access(this,ct.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ct.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(ct.isFunction(e))return this.each(function(t){ct(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(pt)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Dt," "):" ")){for(o=0;i=t[o++];)0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=ct.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(ct.isFunction(e))return this.each(function(t){ct(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(pt)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Dt," "):"")){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");n.className=e?ct.trim(r):""}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(ct.isFunction(e)?function(n){ct(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,r=0,i=ct(this),o=e.match(pt)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===Y||"boolean"===n)&&(this.className&&ct._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ct._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Dt," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];return arguments.length?(i=ct.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,ct(this).val()):e,null==o?o="":"number"==typeof o?o+="":ct.isArray(o)&&(o=ct.map(o,function(e){return null==e?"":e+""})),r=ct.valHooks[this.type]||ct.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))})):o?(r=ct.valHooks[o.type]||ct.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(Lt,""):null==n?"":n)):void 0}}),ct.extend({valHooks:{option:{get:function(e){var t=ct.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(ct.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&ct.nodeName(n.parentNode,"optgroup"))){if(t=ct(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=ct.makeArray(t),a=i.length;a--;)r=i[a],(r.selected=ct.inArray(ct(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var i,o,a=e.nodeType;return e&&3!==a&&8!==a&&2!==a?typeof e.getAttribute===Y?ct.prop(e,n,r):(1===a&&ct.isXMLDoc(e)||(n=n.toLowerCase(),i=ct.attrHooks[n]||(ct.expr.match.bool.test(n)?jt:At)),r===t?i&&"get"in i&&null!==(o=i.get(e,n))?o:(o=ct.find.attr(e,n),null==o?t:o):null!==r?i&&"set"in i&&(o=i.set(e,r,n))!==t?o:(e.setAttribute(n,r+""),r):(ct.removeAttr(e,n),t)):void 0},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(pt);if(o&&1===e.nodeType)for(;n=o[i++];)r=ct.propFix[n]||n,ct.expr.match.bool.test(n)?Ot&&Mt||!_t.test(n)?e[r]=!1:e[ct.camelCase("default-"+n)]=e[r]=!1:ct.attr(e,n,""),e.removeAttribute(Mt?n:r)},attrHooks:{type:{set:function(e,t){if(!ct.support.radioValue&&"radio"===t&&ct.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;return e&&3!==s&&8!==s&&2!==s?(a=1!==s||!ct.isXMLDoc(e),a&&(n=ct.propFix[n]||n,o=ct.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]):void 0},propHooks:{tabIndex:{get:function(e){var t=ct.find.attr(e,"tabindex");return t?parseInt(t,10):Ht.test(e.nodeName)||qt.test(e.nodeName)&&e.href?0:-1}}}}),jt={set:function(e,t,n){return t===!1?ct.removeAttr(e,n):Ot&&Mt||!_t.test(n)?e.setAttribute(!Mt&&ct.propFix[n]||n,n):e[ct.camelCase("default-"+n)]=e[n]=!0,n}},ct.each(ct.expr.match.bool.source.match(/\w+/g),function(e,n){var r=ct.expr.attrHandle[n]||ct.find.attr;ct.expr.attrHandle[n]=Ot&&Mt||!_t.test(n)?function(e,n,i){var o=ct.expr.attrHandle[n],a=i?t:(ct.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return ct.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[ct.camelCase("default-"+n)]?n.toLowerCase():null}}),Ot&&Mt||(ct.attrHooks.value={set:function(e,n,r){return ct.nodeName(e,"input")?(e.defaultValue=n,t):At&&At.set(e,n,r)}}),Mt||(At={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},ct.expr.attrHandle.id=ct.expr.attrHandle.name=ct.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},ct.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:At.set},ct.attrHooks.contenteditable={set:function(e,t,n){At.set(e,""===t?!1:t,n)}},ct.each(["width","height"],function(e,n){ct.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),ct.support.hrefNormalized||ct.each(["href","src"],function(e,t){ct.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ct.support.style||(ct.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),ct.support.optSelected||(ct.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ct.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ct.propFix[this.toLowerCase()]=this}),ct.support.enctype||(ct.propFix.enctype="encoding"),ct.each(["radio","checkbox"],function(){ct.valHooks[this]={set:function(e,n){return ct.isArray(n)?e.checked=ct.inArray(ct(e).val(),n)>=0:t}},ct.support.checkOn||(ct.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ft=/^(?:input|select|textarea)$/i,Bt=/^key/,Pt=/^(?:mouse|contextmenu)|click/,Rt=/^(?:focusinfocus|focusoutblur)$/,Wt=/^([^.]*)(?:\.(.+)|)$/;ct.event={global:{},add:function(e,n,r,i,o){var a,s,u,l,c,f,p,d,h,g,m,y=ct._data(e);if(y){for(r.handler&&(l=r,r=l.handler,o=l.selector),r.guid||(r.guid=ct.guid++),(s=y.events)||(s=y.events={}),(f=y.handle)||(f=y.handle=function(e){return typeof ct===Y||e&&ct.event.triggered===e.type?t:ct.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(pt)||[""],u=n.length;u--;)a=Wt.exec(n[u])||[],h=m=a[1],g=(a[2]||"").split(".").sort(),h&&(c=ct.event.special[h]||{},h=(o?c.delegateType:c.bindType)||h,c=ct.event.special[h]||{},p=ct.extend({type:h,origType:m,data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&ct.expr.match.needsContext.test(o),namespace:g.join(".")},l),(d=s[h])||(d=s[h]=[],d.delegateCount=0,c.setup&&c.setup.call(e,i,g,f)!==!1||(e.addEventListener?e.addEventListener(h,f,!1):e.attachEvent&&e.attachEvent("on"+h,f))),c.add&&(c.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),o?d.splice(d.delegateCount++,0,p):d.push(p),ct.event.global[h]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,m=ct.hasData(e)&&ct._data(e);if(m&&(c=m.events)){for(t=(t||"").match(pt)||[""],l=t.length;l--;)if(s=Wt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=ct.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=p.length;o--;)a=p[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(p.splice(o,1),a.selector&&p.delegateCount--,f.remove&&f.remove.call(e,a));u&&!p.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||ct.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)ct.event.remove(e,d+t[l],n,r,!0);ct.isEmptyObject(c)&&(delete m.handle,ct._removeData(e,"events"))}},trigger:function(n,r,i,o){var a,s,u,l,c,f,p,d=[i||G],h=ut.call(n,"type")?n.type:n,g=ut.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||G,3!==i.nodeType&&8!==i.nodeType&&!Rt.test(h+ct.event.triggered)&&(h.indexOf(".")>=0&&(g=h.split("."),h=g.shift(),g.sort()),s=0>h.indexOf(":")&&"on"+h,n=n[ct.expando]?n:new ct.Event(h,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=g.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:ct.makeArray(r,[n]),c=ct.event.special[h]||{},o||!c.trigger||c.trigger.apply(i,r)!==!1)){if(!o&&!c.noBubble&&!ct.isWindow(i)){for(l=c.delegateType||h,Rt.test(l+h)||(u=u.parentNode);u;u=u.parentNode)d.push(u),f=u;f===(i.ownerDocument||G)&&d.push(f.defaultView||f.parentWindow||e)}for(p=0;(u=d[p++])&&!n.isPropagationStopped();)n.type=p>1?l:c.bindType||h,a=(ct._data(u,"events")||{})[n.type]&&ct._data(u,"handle"),a&&a.apply(u,r),a=s&&u[s],a&&ct.acceptData(u)&&a.apply&&a.apply(u,r)===!1&&n.preventDefault();if(n.type=h,!o&&!n.isDefaultPrevented()&&(!c._default||c._default.apply(d.pop(),r)===!1)&&ct.acceptData(i)&&s&&i[h]&&!ct.isWindow(i)){f=i[s],f&&(i[s]=null),ct.event.triggered=h;try{i[h]()}catch(m){}ct.event.triggered=t,f&&(i[s]=f)}return n.result}},dispatch:function(e){e=ct.event.fix(e);var n,r,i,o,a,s=[],u=ot.call(arguments),l=(ct._data(this,"events")||{})[e.type]||[],c=ct.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ct.event.handlers.call(this,e,l),n=0;(o=s[n++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,a=0;(i=o.handlers[a++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((ct.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&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(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?ct(r,this).index(l)>=0:ct.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[ct.expando])return e;var t,n,r,i=e.type,o=e,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Pt.test(i)?this.mouseHooks:Bt.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new ct.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||G),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,a.filter?a.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:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,a=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||G,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||a===t||(e.which=1&a?1:2&a?3:4&a?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==c()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===c()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return ct.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return ct.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=ct.extend(new ct.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?ct.event.trigger(i,null,t):ct.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},ct.removeEvent=G.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===Y&&(e[r]=null),e.detachEvent(r,n))},ct.Event=function(e,n){return this instanceof ct.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?u:l):this.type=e,n&&ct.extend(this,n),this.timeStamp=e&&e.timeStamp||ct.now(),this[ct.expando]=!0,t):new ct.Event(e,n)},ct.Event.prototype={isDefaultPrevented:l,isPropagationStopped:l,isImmediatePropagationStopped:l,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=u,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=u,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u,this.stopPropagation()}},ct.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){ct.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!ct.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),ct.support.submitBubbles||(ct.event.special.submit={setup:function(){return ct.nodeName(this,"form")?!1:(ct.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=ct.nodeName(n,"input")||ct.nodeName(n,"button")?n.form:t;r&&!ct._data(r,"submitBubbles")&&(ct.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),ct._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&ct.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return ct.nodeName(this,"form")?!1:(ct.event.remove(this,"._submit"),t)}}),ct.support.changeBubbles||(ct.event.special.change={setup:function(){return Ft.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ct.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),ct.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),ct.event.simulate("change",this,e,!0)})),!1):(ct.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ft.test(t.nodeName)&&!ct._data(t,"changeBubbles")&&(ct.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||ct.event.simulate("change",this.parentNode,e,!0)}),ct._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return ct.event.remove(this,"._change"),!Ft.test(this.nodeName)}}),ct.support.focusinBubbles||ct.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){ct.event.simulate(t,e.target,ct.event.fix(e),!0)};ct.event.special[t]={setup:function(){0===n++&&G.addEventListener(e,r,!0)},teardown:function(){0===--n&&G.removeEventListener(e,r,!0)}}}),ct.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=l;else if(!i)return this;return 1===o&&(s=i,i=function(e){return ct().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=ct.guid++)),this.each(function(){ct.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,ct(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=l),this.each(function(){ct.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){ct.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?ct.event.trigger(e,n,r,!0):t}});var $t=/^.[^:#\[\.,]*$/,It=/^(?:parents|prev(?:Until|All))/,zt=ct.expr.match.needsContext,Xt={children:!0,contents:!0,next:!0,prev:!0};ct.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(ct(e).filter(function(){for(t=0;i>t;t++)if(ct.contains(r[t],this))return!0}));for(t=0;i>t;t++)ct.find(e,r[t],n);return n=this.pushStack(i>1?ct.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=ct(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(ct.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(p(this,e||[],!0))},filter:function(e){return this.pushStack(p(this,e||[],!1))},is:function(e){return!!p(this,"string"==typeof e&&zt.test(e)?ct(e):e||[],!1).length},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=zt.test(e)||"string"!=typeof e?ct(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&ct.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?ct.unique(o):o)},index:function(e){return e?"string"==typeof e?ct.inArray(this[0],ct(e)):ct.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?ct(e,t):ct.makeArray(e&&e.nodeType?[e]:e),r=ct.merge(this.get(),n);return this.pushStack(ct.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ct.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ct.dir(e,"parentNode")},parentsUntil:function(e,t,n){return ct.dir(e,"parentNode",n)},next:function(e){return f(e,"nextSibling")},prev:function(e){return f(e,"previousSibling")},nextAll:function(e){return ct.dir(e,"nextSibling") |
|
|
},prevAll:function(e){return ct.dir(e,"previousSibling")},nextUntil:function(e,t,n){return ct.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return ct.dir(e,"previousSibling",n)},siblings:function(e){return ct.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return ct.sibling(e.firstChild)},contents:function(e){return ct.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:ct.merge([],e.childNodes)}},function(e,t){ct.fn[e]=function(n,r){var i=ct.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=ct.filter(r,i)),this.length>1&&(Xt[e]||(i=ct.unique(i)),It.test(e)&&(i=i.reverse())),this.pushStack(i)}}),ct.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ct.find.matchesSelector(r,e)?[r]:[]:ct.find.matches(e,ct.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!ct(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var Ut="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Vt=/ jQuery\d+="(?:null|\d+)"/g,Yt=RegExp("<(?:"+Ut+")[\\s/>]","i"),Jt=/^\s+/,Gt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Qt=/<([\w:]+)/,Kt=/<tbody/i,Zt=/<|&#?\w+;/,en=/<(?:script|style|link)/i,tn=/^(?:checkbox|radio)$/i,nn=/checked\s*(?:[^=]|=\s*.checked.)/i,rn=/^$|\/(?:java|ecma)script/i,on=/^true\/(.*)/,an=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sn={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:ct.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},un=d(G),ln=un.appendChild(G.createElement("div"));sn.optgroup=sn.option,sn.tbody=sn.tfoot=sn.colgroup=sn.caption=sn.thead,sn.th=sn.td,ct.fn.extend({text:function(e){return ct.access(this,function(e){return e===t?ct.text(this):this.empty().append((this[0]&&this[0].ownerDocument||G).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=e?ct.filter(e,this):this,i=0;null!=(n=r[i]);i++)t||1!==n.nodeType||ct.cleanData(x(n)),n.parentNode&&(t&&ct.contains(n.ownerDocument,n)&&y(x(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&ct.cleanData(x(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&ct.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return ct.clone(this,e,t)})},html:function(e){return ct.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Vt,""):t;if(!("string"!=typeof e||en.test(e)||!ct.support.htmlSerialize&&Yt.test(e)||!ct.support.leadingWhitespace&&Jt.test(e)||sn[(Qt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Gt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(ct.cleanData(x(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=ct.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),ct(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=rt.apply([],e);var r,i,o,a,s,u,l=0,c=this.length,f=this,p=c-1,d=e[0],h=ct.isFunction(d);if(h||!(1>=c||"string"!=typeof d||ct.support.checkClone)&&nn.test(d))return this.each(function(r){var i=f.eq(r);h&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(u=ct.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=u.firstChild,1===u.childNodes.length&&(u=r),r)){for(a=ct.map(x(u,"script"),g),o=a.length;c>l;l++)i=u,l!==p&&(i=ct.clone(i,!0,!0),o&&ct.merge(a,x(i,"script"))),t.call(this[l],i,l);if(o)for(s=a[a.length-1].ownerDocument,ct.map(a,m),l=0;o>l;l++)i=a[l],rn.test(i.type||"")&&!ct._data(i,"globalEval")&&ct.contains(s,i)&&(i.src?ct._evalUrl(i.src):ct.globalEval((i.text||i.textContent||i.innerHTML||"").replace(an,"")));u=r=null}return this}}),ct.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ct.fn[e]=function(e){for(var n,r=0,i=[],o=ct(e),a=o.length-1;a>=r;r++)n=r===a?this:this.clone(!0),ct(o[r])[t](n),it.apply(i,n.get());return this.pushStack(i)}}),ct.extend({clone:function(e,t,n){var r,i,o,a,s,u=ct.contains(e.ownerDocument,e);if(ct.support.html5Clone||ct.isXMLDoc(e)||!Yt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(ln.innerHTML=e.outerHTML,ln.removeChild(o=ln.firstChild)),!(ct.support.noCloneEvent&&ct.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ct.isXMLDoc(e)))for(r=x(o),s=x(e),a=0;null!=(i=s[a]);++a)r[a]&&b(i,r[a]);if(t)if(n)for(s=s||x(e),r=r||x(o),a=0;null!=(i=s[a]);a++)v(i,r[a]);else v(e,o);return r=x(o,"script"),r.length>0&&y(r,!u&&x(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){for(var i,o,a,s,u,l,c,f=e.length,p=d(t),h=[],g=0;f>g;g++)if(o=e[g],o||0===o)if("object"===ct.type(o))ct.merge(h,o.nodeType?[o]:o);else if(Zt.test(o)){for(s=s||p.appendChild(t.createElement("div")),u=(Qt.exec(o)||["",""])[1].toLowerCase(),c=sn[u]||sn._default,s.innerHTML=c[1]+o.replace(Gt,"<$1></$2>")+c[2],i=c[0];i--;)s=s.lastChild;if(!ct.support.leadingWhitespace&&Jt.test(o)&&h.push(t.createTextNode(Jt.exec(o)[0])),!ct.support.tbody)for(o="table"!==u||Kt.test(o)?"<table>"!==c[1]||Kt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;i--;)ct.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l);for(ct.merge(h,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=p.lastChild}else h.push(t.createTextNode(o));for(s&&p.removeChild(s),ct.support.appendChecked||ct.grep(x(h,"input"),T),g=0;o=h[g++];)if((!r||-1===ct.inArray(o,r))&&(a=ct.contains(o.ownerDocument,o),s=x(p.appendChild(o),"script"),a&&y(s),n))for(i=0;o=s[i++];)rn.test(o.type||"")&&n.push(o);return s=null,p},cleanData:function(e,t){for(var n,r,i,o,a=0,s=ct.expando,u=ct.cache,l=ct.support.deleteExpando,c=ct.event.special;null!=(n=e[a]);a++)if((t||ct.acceptData(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?ct.event.remove(n,r):ct.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l?delete n[s]:typeof n.removeAttribute!==Y?n.removeAttribute(s):n[s]=null,tt.push(i))}},_evalUrl:function(e){return ct.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),ct.fn.extend({wrapAll:function(e){if(ct.isFunction(e))return this.each(function(t){ct(this).wrapAll(e.call(this,t))});if(this[0]){var t=ct(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(ct.isFunction(e)?function(t){ct(this).wrapInner(e.call(this,t))}:function(){var t=ct(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ct.isFunction(e);return this.each(function(n){ct(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ct.nodeName(this,"body")||ct(this).replaceWith(this.childNodes)}).end()}});var cn,fn,pn,dn=/alpha\([^)]*\)/i,hn=/opacity\s*=\s*([^)]*)/,gn=/^(top|right|bottom|left)$/,mn=/^(none|table(?!-c[ea]).+)/,yn=/^margin/,vn=RegExp("^("+ft+")(.*)$","i"),bn=RegExp("^("+ft+")(?!px)[a-z%]+$","i"),xn=RegExp("^([+-])=("+ft+")","i"),Tn={BODY:"block"},wn={position:"absolute",visibility:"hidden",display:"block"},Cn={letterSpacing:0,fontWeight:400},Nn=["Top","Right","Bottom","Left"],kn=["Webkit","O","Moz","ms"];ct.fn.extend({css:function(e,n){return ct.access(this,function(e,n,r){var i,o,a={},s=0;if(ct.isArray(n)){for(o=fn(e),i=n.length;i>s;s++)a[n[s]]=ct.css(e,n[s],!1,o);return a}return r!==t?ct.style(e,n,r):ct.css(e,n)},e,n,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){C(this)?ct(this).show():ct(this).hide()})}}),ct.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=pn(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ct.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=ct.camelCase(n),l=e.style;if(n=ct.cssProps[u]||(ct.cssProps[u]=w(l,u)),s=ct.cssHooks[n]||ct.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=xn.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(ct.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||ct.cssNumber[u]||(r+="px"),ct.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=ct.camelCase(n);return n=ct.cssProps[u]||(ct.cssProps[u]=w(e.style,u)),s=ct.cssHooks[n]||ct.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=pn(e,n,i)),"normal"===a&&n in Cn&&(a=Cn[n]),""===r||r?(o=parseFloat(a),r===!0||ct.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(fn=function(t){return e.getComputedStyle(t,null)},pn=function(e,n,r){var i,o,a,s=r||fn(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||ct.contains(e.ownerDocument,e)||(u=ct.style(e,n)),bn.test(u)&&yn.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):G.documentElement.currentStyle&&(fn=function(e){return e.currentStyle},pn=function(e,n,r){var i,o,a,s=r||fn(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),bn.test(u)&&!gn.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u}),ct.each(["height","width"],function(e,n){ct.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&mn.test(ct.css(e,"display"))?ct.swap(e,wn,function(){return S(e,n,i)}):S(e,n,i):t},set:function(e,t,r){var i=r&&fn(e);return k(e,t,r?E(e,n,r,ct.support.boxSizing&&"border-box"===ct.css(e,"boxSizing",!1,i),i):0)}}}),ct.support.opacity||(ct.cssHooks.opacity={get:function(e,t){return hn.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=ct.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===ct.trim(o.replace(dn,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=dn.test(o)?o.replace(dn,i):o+" "+i)}}),ct(function(){ct.support.reliableMarginRight||(ct.cssHooks.marginRight={get:function(e,n){return n?ct.swap(e,{display:"inline-block"},pn,[e,"marginRight"]):t}}),!ct.support.pixelPosition&&ct.fn.position&&ct.each(["top","left"],function(e,n){ct.cssHooks[n]={get:function(e,r){return r?(r=pn(e,n),bn.test(r)?ct(e).position()[n]+"px":r):t}}})}),ct.expr&&ct.expr.filters&&(ct.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!ct.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||ct.css(e,"display"))},ct.expr.filters.visible=function(e){return!ct.expr.filters.hidden(e)}),ct.each({margin:"",padding:"",border:"Width"},function(e,t){ct.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+Nn[r]+t]=o[r]||o[r-2]||o[0];return i}},yn.test(e)||(ct.cssHooks[e+t].set=k)});var En=/%20/g,Sn=/\[\]$/,An=/\r?\n/g,jn=/^(?:submit|button|image|reset|file)$/i,Dn=/^(?:input|select|textarea|keygen)/i;ct.fn.extend({serialize:function(){return ct.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ct.prop(this,"elements");return e?ct.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ct(this).is(":disabled")&&Dn.test(this.nodeName)&&!jn.test(e)&&(this.checked||!tn.test(e))}).map(function(e,t){var n=ct(this).val();return null==n?null:ct.isArray(n)?ct.map(n,function(e){return{name:t.name,value:e.replace(An,"\r\n")}}):{name:t.name,value:n.replace(An,"\r\n")}}).get()}}),ct.param=function(e,n){var r,i=[],o=function(e,t){t=ct.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=ct.ajaxSettings&&ct.ajaxSettings.traditional),ct.isArray(e)||e.jquery&&!ct.isPlainObject(e))ct.each(e,function(){o(this.name,this.value)});else for(r in e)D(r,e[r],n,o);return i.join("&").replace(En,"+")},ct.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){ct.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ct.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,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Ln,Hn,qn=ct.now(),_n=/\?/,Mn=/#.*$/,On=/([?&])_=[^&]*/,Fn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Bn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Pn=/^(?:GET|HEAD)$/,Rn=/^\/\//,Wn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,$n=ct.fn.load,In={},zn={},Xn="*/".concat("*");try{Hn=J.href}catch(Un){Hn=G.createElement("a"),Hn.href="",Hn=Hn.href}Ln=Wn.exec(Hn.toLowerCase())||[],ct.fn.load=function(e,n,r){if("string"!=typeof e&&$n)return $n.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),ct.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&ct.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?ct("<div>").append(ct.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},ct.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ct.fn[t]=function(e){return this.on(t,e)}}),ct.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Hn,type:"GET",isLocal:Bn.test(Ln[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Xn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ct.parseJSON,"text xml":ct.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?q(q(e,ct.ajaxSettings),t):q(ct.ajaxSettings,e)},ajaxPrefilter:L(In),ajaxTransport:L(zn),ajax:function(e,n){function r(e,n,r,i){var o,f,v,b,T,C=n;2!==x&&(x=2,u&&clearTimeout(u),c=t,s=i||"",w.readyState=e>0?4:0,o=e>=200&&300>e||304===e,r&&(b=_(p,w,r)),b=M(p,b,w,o),o?(p.ifModified&&(T=w.getResponseHeader("Last-Modified"),T&&(ct.lastModified[a]=T),T=w.getResponseHeader("etag"),T&&(ct.etag[a]=T)),204===e||"HEAD"===p.type?C="nocontent":304===e?C="notmodified":(C=b.state,f=b.data,v=b.error,o=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),w.status=e,w.statusText=(n||C)+"",o?g.resolveWith(d,[f,C,w]):g.rejectWith(d,[w,C,v]),w.statusCode(y),y=t,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[w,p,o?f:v]),m.fireWith(d,[w,C]),l&&(h.trigger("ajaxComplete",[w,p]),--ct.active||ct.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,u,l,c,f,p=ct.ajaxSetup({},n),d=p.context||p,h=p.context&&(d.nodeType||d.jquery)?ct(d):ct.event,g=ct.Deferred(),m=ct.Callbacks("once memory"),y=p.statusCode||{},v={},b={},x=0,T="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!f)for(f={};t=Fn.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=b[n]=b[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)y[t]=[y[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||T;return c&&c.abort(t),r(0,t),this}};if(g.promise(w).complete=m.add,w.success=w.done,w.error=w.fail,p.url=((e||p.url||Hn)+"").replace(Mn,"").replace(Rn,Ln[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=ct.trim(p.dataType||"*").toLowerCase().match(pt)||[""],null==p.crossDomain&&(i=Wn.exec(p.url.toLowerCase()),p.crossDomain=!(!i||i[1]===Ln[1]&&i[2]===Ln[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(Ln[3]||("http:"===Ln[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=ct.param(p.data,p.traditional)),H(In,p,n,w),2===x)return w;l=p.global,l&&0===ct.active++&&ct.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Pn.test(p.type),a=p.url,p.hasContent||(p.data&&(a=p.url+=(_n.test(a)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=On.test(a)?a.replace(On,"$1_="+qn++):a+(_n.test(a)?"&":"?")+"_="+qn++)),p.ifModified&&(ct.lastModified[a]&&w.setRequestHeader("If-Modified-Since",ct.lastModified[a]),ct.etag[a]&&w.setRequestHeader("If-None-Match",ct.etag[a])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&w.setRequestHeader("Content-Type",p.contentType),w.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Xn+"; q=0.01":""):p.accepts["*"]);for(o in p.headers)w.setRequestHeader(o,p.headers[o]);if(p.beforeSend&&(p.beforeSend.call(d,w,p)===!1||2===x))return w.abort();T="abort";for(o in{success:1,error:1,complete:1})w[o](p[o]);if(c=H(zn,p,n,w)){w.readyState=1,l&&h.trigger("ajaxSend",[w,p]),p.async&&p.timeout>0&&(u=setTimeout(function(){w.abort("timeout")},p.timeout));try{x=1,c.send(v,r)}catch(C){if(!(2>x))throw C;r(-1,C)}}else r(-1,"No Transport");return w},getJSON:function(e,t,n){return ct.get(e,t,n,"json")},getScript:function(e,n){return ct.get(e,t,n,"script")}}),ct.each(["get","post"],function(e,n){ct[n]=function(e,r,i,o){return ct.isFunction(r)&&(o=o||i,i=r,r=t),ct.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),ct.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return ct.globalEval(e),e}}}),ct.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),ct.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=G.head||ct("head")[0]||G.documentElement;return{send:function(t,i){n=G.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Vn=[],Yn=/(=)\?(?=&|$)|\?\?/;ct.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Vn.pop()||ct.expando+"_"+qn++;return this[e]=!0,e}}),ct.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Yn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=ct.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Yn,"$1"+o):n.jsonp!==!1&&(n.url+=(_n.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||ct.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Vn.push(o)),s&&ct.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Jn,Gn,Qn=0,Kn=e.ActiveXObject&&function(){var e;for(e in Jn)Jn[e](t,!0)};ct.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&O()||F()}:O,Gn=ct.ajaxSettings.xhr(),ct.support.cors=!!Gn&&"withCredentials"in Gn,Gn=ct.support.ajax=!!Gn,Gn&&ct.ajaxTransport(function(n){if(!n.crossDomain||ct.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,f;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=ct.noop,Kn&&delete Jn[a]),i)4!==u.readyState&&u.abort();else{f={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(f.text=u.responseText);try{c=u.statusText}catch(p){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=f.text?200:404}}catch(d){i||o(-1,d)}f&&o(s,c,f,l)},n.async?4===u.readyState?setTimeout(r):(a=++Qn,Kn&&(Jn||(Jn={},ct(e).unload(Kn)),Jn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Zn,er,tr=/^(?:toggle|show|hide)$/,nr=RegExp("^(?:([+-])=|)("+ft+")([a-z%]*)$","i"),rr=/queueHooks$/,ir=[$],or={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=nr.exec(t),o=i&&i[3]||(ct.cssNumber[e]?"":"px"),a=(ct.cssNumber[e]||"px"!==o&&+r)&&nr.exec(ct.css(n.elem,e)),s=1,u=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,ct.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--u)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};ct.Animation=ct.extend(R,{tweener:function(e,t){ct.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],or[n]=or[n]||[],or[n].unshift(t)},prefilter:function(e,t){t?ir.unshift(e):ir.push(e)}}),ct.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ct.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.pos=t=this.options.duration?ct.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=ct.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){ct.fx.step[e.prop]?ct.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[ct.cssProps[e.prop]]||ct.cssHooks[e.prop])?ct.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ct.each(["toggle","show","hide"],function(e,t){var n=ct.fn[t];ct.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(z(t,!0),e,r,i)}}),ct.fn.extend({fadeTo:function(e,t,n,r){return this.filter(C).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=ct.isEmptyObject(e),o=ct.speed(t,n,r),a=function(){var t=R(this,ct.extend({},e),o);(i||ct._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=ct.timers,a=ct._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&rr.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&ct.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=ct._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=ct.timers,a=r?r.length:0;for(n.finish=!0,ct.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),ct.each({slideDown:z("show"),slideUp:z("hide"),slideToggle:z("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ct.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),ct.speed=function(e,t,n){var r=e&&"object"==typeof e?ct.extend({},e):{complete:n||!n&&t||ct.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ct.isFunction(t)&&t};return r.duration=ct.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in ct.fx.speeds?ct.fx.speeds[r.duration]:ct.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){ct.isFunction(r.old)&&r.old.call(this),r.queue&&ct.dequeue(this,r.queue)},r},ct.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},ct.timers=[],ct.fx=I.prototype.init,ct.fx.tick=function(){var e,n=ct.timers,r=0;for(Zn=ct.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||ct.fx.stop(),Zn=t},ct.fx.timer=function(e){e()&&ct.timers.push(e)&&ct.fx.start()},ct.fx.interval=13,ct.fx.start=function(){er||(er=setInterval(ct.fx.tick,ct.fx.interval))},ct.fx.stop=function(){clearInterval(er),er=null},ct.fx.speeds={slow:600,fast:200,_default:400},ct.fx.step={},ct.expr&&ct.expr.filters&&(ct.expr.filters.animated=function(e){return ct.grep(ct.timers,function(t){return e===t.elem}).length}),ct.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){ct.offset.setOffset(this,e,t)});var n,r,i={top:0,left:0},o=this[0],a=o&&o.ownerDocument;return a?(n=a.documentElement,ct.contains(n,o)?(typeof o.getBoundingClientRect!==Y&&(i=o.getBoundingClientRect()),r=X(a),{top:i.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:i.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):i):void 0},ct.offset={setOffset:function(e,t,n){var r=ct.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=ct(e),s=a.offset(),u=ct.css(e,"top"),l=ct.css(e,"left"),c=("absolute"===r||"fixed"===r)&&ct.inArray("auto",[u,l])>-1,f={},p={};c?(p=a.position(),i=p.top,o=p.left):(i=parseFloat(u)||0,o=parseFloat(l)||0),ct.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(f.top=t.top-s.top+i),null!=t.left&&(f.left=t.left-s.left+o),"using"in t?t.using.call(e,f):a.css(f)}},ct.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===ct.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ct.nodeName(e[0],"html")||(n=e.offset()),n.top+=ct.css(e[0],"borderTopWidth",!0),n.left+=ct.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-ct.css(r,"marginTop",!0),left:t.left-n.left-ct.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Q;e&&!ct.nodeName(e,"html")&&"static"===ct.css(e,"position");)e=e.offsetParent;return e||Q})}}),ct.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);ct.fn[e]=function(i){return ct.access(this,function(e,i,o){var a=X(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?ct(a).scrollLeft():o,r?o:ct(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}}),ct.each({Height:"height",Width:"width"},function(e,n){ct.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){ct.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return ct.access(this,function(n,r,i){var o;return ct.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?ct.css(n,r,s):ct.style(n,r,i,s)},n,a?i:t,a,null)}})}),ct.fn.size=function(){return this.length},ct.fn.andSelf=ct.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=ct:(e.jQuery=e.$=ct,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ct}))}(window); |
|
|
!function(t,e,i){"use strict";var s,o,n,l,r,h,c,a,p,d,g,u,v,f,S,m,T,y,b,w,x,$,H,C,O,E,A,Y,D;x={paneClass:"pane",sliderClass:"slider",contentClass:"content",iOSNativeScrolling:!1,preventPageScrolling:!1,disableResize:!1,alwaysVisible:!1,flashDelay:1500,sliderMinHeight:20,sliderMaxHeight:null,documentContext:null,windowContext:null},m="scrollbar",S="scroll",a="mousedown",p="mousemove",g="mousewheel",d="mouseup",f="resize",r="drag",y="up",v="panedown",n="DOMMouseScroll",l="down",b="wheel",h="keydown",c="keyup",T="touchmove",s="Microsoft Internet Explorer"===e.navigator.appName&&/msie 7./i.test(e.navigator.appVersion)&&e.ActiveXObject,o=null,O=e.requestAnimationFrame,w=e.cancelAnimationFrame,A=i.createElement("div").style,D=function(){var t,e,i,s,o,n;for(s=["t","webkitT","MozT","msT","OT"],t=o=0,n=s.length;n>o;t=++o)if(i=s[t],e=s[t]+"ransform",e in A)return s[t].substr(0,s[t].length-1);return!1}(),Y=function(t){return D===!1?!1:""===D?t:D+t.charAt(0).toUpperCase()+t.substr(1)},E=Y("transform"),H=E!==!1,$=function(){var t,e,s;return t=i.createElement("div"),e=t.style,e.position="absolute",e.width="100px",e.height="100px",e.overflow=S,e.top="-9999px",i.body.appendChild(t),s=t.offsetWidth-t.clientWidth,i.body.removeChild(t),s},C=function(){var t,i,s;return i=e.navigator.userAgent,(t=/(?=.+Mac OS X)(?=.+Firefox)/.test(i))?(s=/Firefox\/\d{2}\./.exec(i),s&&(s=s[0].replace(/\D+/g,"")),t&&+s>23):!1},u=function(){function h(s,n){this.el=s,this.options=n,o||(o=$()),this.$el=t(this.el),this.doc=t(this.options.documentContext||i),this.win=t(this.options.windowContext||e),this.$content=this.$el.children("."+n.contentClass),this.$content.attr("tabindex",this.options.tabIndex||0),this.content=this.$content[0],this.options.iOSNativeScrolling&&null!=this.el.style.WebkitOverflowScrolling?this.nativeScrolling():this.generate(),this.createEvents(),this.addEvents(),this.reset()}return h.prototype.preventScrolling=function(t,e){if(this.isActive)if(t.type===n)(e===l&&t.originalEvent.detail>0||e===y&&t.originalEvent.detail<0)&&t.preventDefault();else if(t.type===g){if(!t.originalEvent||!t.originalEvent.wheelDelta)return;(e===l&&t.originalEvent.wheelDelta<0||e===y&&t.originalEvent.wheelDelta>0)&&t.preventDefault()}},h.prototype.nativeScrolling=function(){this.$content.css({WebkitOverflowScrolling:"touch"}),this.iOSNativeScrolling=!0,this.isActive=!0},h.prototype.updateScrollValues=function(){var t;t=this.content,this.maxScrollTop=t.scrollHeight-t.clientHeight,this.prevScrollTop=this.contentScrollTop||0,this.contentScrollTop=t.scrollTop,this.iOSNativeScrolling||(this.maxSliderTop=this.paneHeight-this.sliderHeight,this.sliderTop=0===this.maxScrollTop?0:this.contentScrollTop*this.maxSliderTop/this.maxScrollTop)},h.prototype.setOnScrollStyles=function(){var t,e=this;H?(t={},t[E]="translate(0, "+this.sliderTop+"px)"):t={top:this.sliderTop},O?this.scrollRAF||(this.scrollRAF=O(function(){e.scrollRAF=null,e.slider.css(t)})):this.slider.css(t)},h.prototype.createEvents=function(){var t=this;this.events={down:function(e){return t.isBeingDragged=!0,t.offsetY=e.pageY-t.slider.offset().top,t.pane.addClass("active"),t.doc.bind(p,t.events[r]).bind(d,t.events[y]),!1},drag:function(e){return t.sliderY=e.pageY-t.$el.offset().top-t.offsetY,t.scroll(),t.updateScrollValues(),t.contentScrollTop>=t.maxScrollTop&&t.prevScrollTop!==t.maxScrollTop?t.$el.trigger("scrollend"):0===t.contentScrollTop&&0!==t.prevScrollTop&&t.$el.trigger("scrolltop"),!1},up:function(){return t.isBeingDragged=!1,t.pane.removeClass("active"),t.doc.unbind(p,t.events[r]).unbind(d,t.events[y]),!1},resize:function(){t.reset()},panedown:function(e){return t.sliderY=(e.offsetY||e.originalEvent.layerY)-.5*t.sliderHeight,t.scroll(),t.events.down(e),!1},scroll:function(e){t.isBeingDragged||(t.updateScrollValues(),t.iOSNativeScrolling||(t.sliderY=t.sliderTop,t.setOnScrollStyles()),null!=e&&(t.contentScrollTop>=t.maxScrollTop?(t.options.preventPageScrolling&&t.preventScrolling(e,l),t.prevScrollTop!==t.maxScrollTop&&t.$el.trigger("scrollend")):0===t.contentScrollTop&&(t.options.preventPageScrolling&&t.preventScrolling(e,y),0!==t.prevScrollTop&&t.$el.trigger("scrolltop"))))},wheel:function(e){var i;if(null!=e)return i=e.delta||e.wheelDelta||e.originalEvent&&e.originalEvent.wheelDelta||-e.detail||e.originalEvent&&-e.originalEvent.detail,i&&(t.sliderY+=-i/3),t.scroll(),!1}}},h.prototype.addEvents=function(){var t;this.removeEvents(),t=this.events,this.options.disableResize||this.win.bind(f,t[f]),this.iOSNativeScrolling||(this.slider.bind(a,t[l]),this.pane.bind(a,t[v]).bind(""+g+" "+n,t[b])),this.$content.bind(""+S+" "+g+" "+n+" "+T,t[S])},h.prototype.removeEvents=function(){var t;t=this.events,this.win.unbind(f,t[f]),this.iOSNativeScrolling||(this.slider.unbind(),this.pane.unbind()),this.$content.unbind(""+S+" "+g+" "+n+" "+T,t[S])},h.prototype.generate=function(){var t,i,s,n,l,r;return n=this.options,l=n.paneClass,r=n.sliderClass,t=n.contentClass,this.$el.find("."+l).length||this.$el.find("."+r).length||this.$el.append('<div class="'+l+'"><div class="'+r+'" /></div>'),this.pane=this.$el.children("."+l),this.slider=this.pane.find("."+r),0===o&&C()?(s=e.getComputedStyle(this.content,null).getPropertyValue("padding-right").replace(/\D+/g,""),i={right:-14,paddingRight:+s+14}):o&&(i={right:-o},this.$el.addClass("has-scrollbar")),null!=i&&this.$content.css(i),this},h.prototype.restore=function(){this.stopped=!1,this.iOSNativeScrolling||this.pane.show(),this.addEvents()},h.prototype.reset=function(){var t,e,i,n,l,r,h,c,a,p;return this.iOSNativeScrolling?void(this.contentHeight=this.content.scrollHeight):(this.$el.find("."+this.options.paneClass).length||this.generate().stop(),this.stopped&&this.restore(),t=this.content,i=t.style,n=i.overflowY,s&&this.$content.css({height:this.$content.height()}),e=t.scrollHeight+o,a=parseInt(this.$el.css("max-height"),10),a>0&&(this.$el.height(""),this.$el.height(t.scrollHeight>a?a:t.scrollHeight)),r=this.pane.outerHeight(!1),c=parseInt(this.pane.css("top"),10),l=parseInt(this.pane.css("bottom"),10),h=r+c+l,p=Math.round(h/e*h),p<this.options.sliderMinHeight?p=this.options.sliderMinHeight:null!=this.options.sliderMaxHeight&&p>this.options.sliderMaxHeight&&(p=this.options.sliderMaxHeight),n===S&&i.overflowX!==S&&(p+=o),this.maxSliderTop=h-p,this.contentHeight=e,this.paneHeight=r,this.paneOuterHeight=h,this.sliderHeight=p,this.slider.height(p),this.events.scroll(),this.pane.show(),this.isActive=!0,t.scrollHeight===t.clientHeight||this.pane.outerHeight(!0)>=t.scrollHeight&&n!==S?(this.pane.hide(),this.isActive=!1):this.el.clientHeight===t.scrollHeight&&n===S?this.slider.hide():this.slider.show(),this.pane.css({opacity:this.options.alwaysVisible?1:"",visibility:this.options.alwaysVisible?"visible":""}),this)},h.prototype.scroll=function(){return this.isActive?(this.sliderY=Math.max(0,this.sliderY),this.sliderY=Math.min(this.maxSliderTop,this.sliderY),this.$content.scrollTop((this.paneHeight-this.contentHeight+o)*this.sliderY/this.maxSliderTop*-1),this.iOSNativeScrolling||(this.updateScrollValues(),this.setOnScrollStyles()),this):void 0},h.prototype.scrollBottom=function(t){return this.isActive?(this.reset(),this.$content.scrollTop(this.contentHeight-this.$content.height()-t).trigger(g),this):void 0},h.prototype.scrollTop=function(t){return this.isActive?(this.reset(),this.$content.scrollTop(+t).trigger(g),this):void 0},h.prototype.scrollTo=function(e){return this.isActive?(this.reset(),this.scrollTop(t(e).get(0).offsetTop),this):void 0},h.prototype.stop=function(){return w&&w(this.scrollRAF),this.stopped=!0,this.removeEvents(),this.iOSNativeScrolling||this.pane.hide(),this},h.prototype.destroy=function(){return this.stopped||this.stop(),!this.iOSNativeScrolling&&this.pane.length&&this.pane.remove(),s&&this.$content.height(""),this.$content.removeAttr("tabindex"),this.$el.hasClass("has-scrollbar")&&(this.$el.removeClass("has-scrollbar"),this.$content.css({right:""})),this},h.prototype.flash=function(){var t=this;if(!this.iOSNativeScrolling&&this.isActive)return this.reset(),this.pane.addClass("flashed"),setTimeout(function(){t.pane.removeClass("flashed")},this.options.flashDelay),this},h}(),t.fn.nanoScroller=function(e){return this.each(function(){var i,s;if((s=this.nanoscroller)||(i=t.extend({},x,e),this.nanoscroller=s=new u(this,i)),e&&"object"==typeof e){if(t.extend(s.options,e),null!=e.scrollBottom)return s.scrollBottom(e.scrollBottom);if(null!=e.scrollTop)return s.scrollTop(e.scrollTop);if(e.scrollTo)return s.scrollTo(e.scrollTo);if("bottom"===e.scroll)return s.scrollBottom(0);if("top"===e.scroll)return s.scrollTop(0);if(e.scroll&&e.scroll instanceof t)return s.scrollTo(e.scroll);if(e.stop)return s.stop();if(e.destroy)return s.destroy();if(e.flash)return s.flash()}return s.reset()})},t.fn.nanoScroller.Constructor=u}(jQuery,window,document); |
|
|
!function(e,t,i){var n=1,o=3,a=["p","div","pre","form"],r=27,s=9;e.emojiarea={path:"",spritesheetPath:"",spritesheetDimens:[],iconSize:20,icons:{},defaults:{button:null,buttonLabel:"Emojis",buttonPosition:"after"}},e.fn.emojiarea=function(t){return t=e.extend({},e.emojiarea.defaults,t),this.each(function(){var n=e(this);"contentEditable"in i.body&&t.wysiwyg!==!1?new h(n,t):new l(n,t)})};var c={};c.restoreSelection=function(){return t.getSelection?function(e){var i=t.getSelection();i.removeAllRanges();for(var n=0,o=e.length;o>n;++n)i.addRange(e[n])}:i.selection&&i.selection.createRange?function(e){e&&e.select()}:void 0}(),c.saveSelection=function(){return t.getSelection?function(){var e=t.getSelection(),i=[];if(e.rangeCount)for(var n=0,o=e.rangeCount;o>n;++n)i.push(e.getRangeAt(n));return i}:i.selection&&i.selection.createRange?function(){var e=i.selection;return"none"!==e.type.toLowerCase()?e.createRange():null}:void 0}(),c.replaceSelection=function(){return t.getSelection?function(e){var n,o=t.getSelection(),a="string"==typeof e?i.createTextNode(e):e;o.getRangeAt&&o.rangeCount&&(n=o.getRangeAt(0),n.deleteContents(),n.insertNode(i.createTextNode(" ")),n.insertNode(a),n.setStart(a,0),t.setTimeout(function(){n=i.createRange(),n.setStartAfter(a),n.collapse(!0),o.removeAllRanges(),o.addRange(n)},0))}:i.selection&&i.selection.createRange?function(e){var t=i.selection.createRange();"string"==typeof e?t.text=e:t.pasteHTML(e.outerHTML)}:void 0}(),c.insertAtCursor=function(e,t){e=" "+e;var n,o,a,r=t.value;"undefined"!=typeof t.selectionStart&&"undefined"!=typeof t.selectionEnd?(o=t.selectionStart,n=t.selectionEnd,t.value=r.substring(0,o)+e+r.substring(t.selectionEnd),t.selectionStart=t.selectionEnd=o+e.length):"undefined"!=typeof i.selection&&"undefined"!=typeof i.selection.createRange&&(t.focus(),a=i.selection.createRange(),a.text=e,a.select())},c.extend=function(e,t){if("undefined"!=typeof e&&e||(e={}),"object"==typeof t)for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},c.escapeRegex=function(e){return(e+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},c.htmlEntities=function(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")};var u=function(){};u.prototype.setup=function(){var e=this;this.$editor.on("focus",function(){e.hasFocus=!0}),this.$editor.on("blur",function(){e.hasFocus=!1}),this.setupButton()},u.prototype.setupButton=function(){var t,i=this;this.options.button?t=e(this.options.button):this.options.button!==!1?(t=e('<a href="javascript:void(0)">'),t.html(this.options.buttonLabel),t.addClass("emoji-button"),t.attr({title:this.options.buttonLabel}),this.$editor[this.options.buttonPosition](t)):t=e(""),t.on("click",function(e){p.show(i),e.stopPropagation()}),this.$button=t},u.createIcon=function(t){var i=t[0],n=t[1],o=t[2],a=t[3],r=e.emojiarea.spritesheetPath,s=-(e.emojiarea.iconSize*o),u=-(e.emojiarea.iconSize*n),l=e.emojiarea.spritesheetDimens[i][1]*e.emojiarea.iconSize,h=e.emojiarea.spritesheetDimens[i][0]*e.emojiarea.iconSize,p="display:inline-block;";return p+="width:"+e.emojiarea.iconSize+"px;",p+="height:"+e.emojiarea.iconSize+"px;",p+="background:url('"+r.replace("!",i)+"') "+s+"px "+u+"px no-repeat;",p+="background-size:"+l+"px "+h+"px;",'<img src="img/blank.gif" class="img" style="'+p+'" alt="'+c.htmlEntities(a)+'">'};var l=function(e,t){this.options=t,this.$textarea=e,this.$editor=e,this.setup()};l.prototype.insert=function(t){e.emojiarea.icons.hasOwnProperty(t)&&(c.insertAtCursor(t,this.$textarea[0]),this.$textarea.trigger("change"))},l.prototype.val=function(){return this.$textarea.val()},c.extend(l.prototype,u.prototype);var h=function(t,n){var o=this;this.options=n||{},this.$textarea=t,this.$editor=e("<div>").addClass("emoji-wysiwyg-editor"),this.$editor.text(t.val()),this.$editor.attr({contenteditable:"true"});var a="blur change";this.options.norealTime||(a+=" keyup"),this.$editor.on(a,function(e){return o.onChange.apply(o,[e])}),this.$editor.on("paste",function(e){return o.onPaste.apply(o,[e])}),this.$editor.on("mousedown focus",function(){i.execCommand("enableObjectResizing",!1,!1)}),this.$editor.on("blur",function(){i.execCommand("enableObjectResizing",!0,!0)});var r=this.$editor.text(),s=e.emojiarea.icons;for(var l in s)s.hasOwnProperty(l)&&(r=r.replace(new RegExp(c.escapeRegex(l),"g"),u.createIcon(s[l])));this.$editor.html(r),t.hide().after(this.$editor),this.setup(),e(i.body).on("mousedown",function(){o.hasFocus&&(o.selection=c.saveSelection())})};h.prototype.onPaste=function(e){var t,n=(e.originalEvent||e).clipboardData,o=n&&n.items||[];for(t=0;t<o.length;t++)if("file"==o[t].kind)return e.preventDefault(),!0;var a=(e.originalEvent||e).clipboardData.getData("text/plain"),r=this;return setTimeout(function(){r.onChange()},0),a.length?(i.execCommand("insertText",!1,a),cancelEvent(e)):!0},h.prototype.onChange=function(){this.$textarea.val(this.val()).trigger("change")},h.prototype.insert=function(t){var i=e(u.createIcon(e.emojiarea.icons[t]));i[0].attachEvent&&i[0].attachEvent("onresizestart",function(e){e.returnValue=!1},!1),this.$editor.trigger("focus"),this.selection&&c.restoreSelection(this.selection);try{c.replaceSelection(i[0])}catch(n){}var o=this;setTimeout(function(){o.selection=c.saveSelection()},100),this.onChange()},h.prototype.val=function(){for(var e=[],t=[],i=function(){e.push(t.join("")),t=[]},r=function(e){if(e.nodeType===o)t.push(e.nodeValue);else if(e.nodeType===n){var s=e.tagName.toLowerCase(),c=-1!==a.indexOf(s);if(c&&t.length&&i(),"img"===s){var u=e.getAttribute("alt")||"";return void(u&&t.push(u))}"br"===s&&i();for(var l=e.childNodes,h=0;h<l.length;h++)r(l[h]);c&&t.length&&i()}},s=this.$editor[0].childNodes,c=0;c<s.length;c++)r(s[c]);return t.length&&i(),e.join("\n")},c.extend(h.prototype,u.prototype);var p=function(){var n=this,o=e(i.body),a=e(t);this.visible=!1,this.emojiarea=null,this.$menu=e("<div>"),this.$menu.addClass("emoji-menu"),this.$menu.hide(),this.$itemsTailWrap=e('<div class="emoji-items-wrap1"></div>').appendTo(this.$menu),this.$categoryTabs=e('<table class="emoji-menu-tabs"><tr><td><a class="emoji-menu-tab icon-smile" ></a></td><td><a class="emoji-menu-tab icon-flower"></a></td><td><a class="emoji-menu-tab icon-bell"></a></td><td><a class="emoji-menu-tab icon-car"></a></td><td><a class="emoji-menu-tab icon-grid"></a></td></tr></table>').appendTo(this.$itemsTailWrap),this.$itemsWrap=e('<div class="emoji-items-wrap nano"></div>').appendTo(this.$itemsTailWrap),this.$items=e('<div class="emoji-items content">').appendTo(this.$itemsWrap),e('<div class="emoji-menu-tail">').appendTo(this.$menu),o.append(this.$menu),this.$itemsWrap.nanoScroller({preventPageScrolling:!0,tabIndex:-1}),o.on("keydown",function(e){(e.keyCode===r||e.keyCode===s)&&n.hide()}),o.on("mouseup",function(e){e=e.originalEvent||e;for(var i=e.originalTarget||e.target||t;i&&i!=t;)if(i=i.parentNode,i==n.$menu[0]||n.emojiarea&&i==n.emojiarea.$button[0])return;n.hide()}),a.on("resize",function(){n.visible&&n.reposition()}),this.$menu.on("mouseup","a",function(e){return e.stopPropagation(),!1}),this.$menu.on("click","a",function(i){if(e(this).hasClass("emoji-menu-tab"))return n.getTabIndex(this)!==n.currentCategory&&n.selectCategory(n.getTabIndex(this)),!1;var o=e(".label",e(this)).text();return t.setTimeout(function(){n.onItemSelected(o),(i.ctrlKey||i.metaKey)&&n.hide()},0),i.stopPropagation(),!1}),this.selectCategory(0)};p.prototype.getTabIndex=function(e){return this.$categoryTabs.find(".emoji-menu-tab").index(e)},p.prototype.selectCategory=function(e){this.$categoryTabs.find(".emoji-menu-tab").each(function(t){t===e?this.className+="-selected":this.className=this.className.replace("-selected","")}),this.currentCategory=e,this.load(e),this.$itemsWrap.nanoScroller({scroll:"top"})},p.prototype.onItemSelected=function(e){this.emojiarea.insert(e)},p.prototype.load=function(t){var i=[],n=e.emojiarea.icons,o=e.emojiarea.path;o.length&&"/"!==o.charAt(o.length-1)&&(o+="/");for(var a in n)n.hasOwnProperty(a)&&n[a][0]===t&&i.push('<a href="javascript:void(0)" title="'+c.htmlEntities(a)+'">'+u.createIcon(n[a])+'<span class="label">'+c.htmlEntities(a)+"</span></a>");this.$items.html(i.join(""));var r=this;setTimeout(function(){r.$itemsWrap.nanoScroller()},100)},p.prototype.reposition=function(){var e=this.emojiarea.$button,t=e.offset();t.top+=e.outerHeight(),t.left+=Math.round(e.outerWidth()/2),this.$menu.css({top:t.top,left:t.left})},p.prototype.hide=function(){this.emojiarea&&(this.emojiarea.menu=null,this.emojiarea.$button.removeClass("on"),this.emojiarea=null),this.visible=!1,this.$menu.hide()},p.prototype.show=function(e){return this.emojiarea&&this.emojiarea===e?this.hide():(e.$button.addClass("on"),this.emojiarea=e,this.emojiarea.menu=this,this.reposition(),this.$menu.show(),void(this.visible=!0))},p.show=function(){var e=null;return function(t){e=e||new p,e.show(t)}}()}(jQuery,window,document); |
|
|
!function(t,e,n){"use strict";function r(t){return function(){var e,n,r=arguments[0],i="["+(t?t+":":"")+r+"] ",o=arguments[1],s=arguments,a=function(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof t?"undefined":"string"!=typeof t?JSON.stringify(t):t};for(e=i+o.replace(/\{\d+\}/g,function(t){var e,n=+t.slice(1,-1);return n+2<s.length?(e=s[n+2],"function"==typeof e?e.toString().replace(/ ?\{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?H(e):e):t}),e=e+"\nhttp://errors.angularjs.org/1.2.9/"+(t?t+"/":"")+r,n=2;n<arguments.length;n++)e=e+(2==n?"?":"&")+"p"+(n-2)+"="+encodeURIComponent(a(arguments[n]));return new Error(e)}}function i(t){if(null==t||k(t))return!1;var e=t.length;return 1===t.nodeType&&e?!0:w(t)||S(t)||0===e||"number"==typeof e&&e>0&&e-1 in t}function o(t,e,n){var r;if(t)if(C(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||e.call(n,t[r],r);else if(t.forEach&&t.forEach!==o)t.forEach(e,n);else if(i(t))for(r=0;r<t.length;r++)e.call(n,t[r],r);else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r);return t}function s(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e.sort()}function a(t,e,n){for(var r=s(t),i=0;i<r.length;i++)e.call(n,t[r[i]],r[i]);return r}function u(t){return function(e,n){t(n,e)}}function c(){for(var t,e=wr.length;e;){if(e--,t=wr[e].charCodeAt(0),57==t)return wr[e]="A",wr.join("");if(90!=t)return wr[e]=String.fromCharCode(t+1),wr.join("");wr[e]="0"}return wr.unshift("0"),wr.join("")}function l(t,e){e?t.$$hashKey=e:delete t.$$hashKey}function f(t){var e=t.$$hashKey;return o(arguments,function(e){e!==t&&o(e,function(e,n){t[n]=e})}),l(t,e),t}function h(t){return parseInt(t,10)}function p(t,e){return f(new(f(function(){},{prototype:t})),e)}function $(){}function d(t){return t}function v(t){return function(){return t}}function g(t){return"undefined"==typeof t}function m(t){return"undefined"!=typeof t}function y(t){return null!=t&&"object"==typeof t}function w(t){return"string"==typeof t}function x(t){return"number"==typeof t}function b(t){return"[object Date]"===gr.call(t)}function S(t){return"[object Array]"===gr.call(t)}function C(t){return"function"==typeof t}function E(t){return"[object RegExp]"===gr.call(t)}function k(t){return t&&t.document&&t.location&&t.alert&&t.setInterval}function A(t){return t&&t.$evalAsync&&t.$watch}function O(t){return"[object File]"===gr.call(t)}function T(t){return!(!t||!(t.nodeName||t.on&&t.find))}function M(t,e,n){var r=[];return o(t,function(t,i,o){r.push(e.call(n,t,i,o))}),r}function P(t,e){return-1!=j(t,e)}function j(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0;n<t.length;n++)if(e===t[n])return n;return-1}function N(t,e){var n=j(t,e);return n>=0&&t.splice(n,1),e}function D(t,e){if(k(t)||A(t))throw mr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(e){if(t===e)throw mr("cpi","Can't copy! Source and destination are identical.");if(S(t)){e.length=0;for(var n=0;n<t.length;n++)e.push(D(t[n]))}else{var r=e.$$hashKey;o(e,function(t,n){delete e[n]});for(var i in t)e[i]=D(t[i]);l(e,r)}}else e=t,t&&(S(t)?e=D(t,[]):b(t)?e=new Date(t.getTime()):E(t)?e=new RegExp(t.source):y(t)&&(e=D(t,{})));return e}function R(t,e){e=e||{};for(var n in t)t.hasOwnProperty(n)&&"$"!==n.charAt(0)&&"$"!==n.charAt(1)&&(e[n]=t[n]);return e}function q(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!==t&&e!==e)return!0;var r,i,o,s=typeof t,a=typeof e;if(s==a&&"object"==s){if(!S(t)){if(b(t))return b(e)&&t.getTime()==e.getTime();if(E(t)&&E(e))return t.toString()==e.toString();if(A(t)||A(e)||k(t)||k(e)||S(e))return!1;o={};for(i in t)if("$"!==i.charAt(0)&&!C(t[i])){if(!q(t[i],e[i]))return!1;o[i]=!0}for(i in e)if(!o.hasOwnProperty(i)&&"$"!==i.charAt(0)&&e[i]!==n&&!C(e[i]))return!1;return!0}if(!S(e))return!1;if((r=t.length)==e.length){for(i=0;r>i;i++)if(!q(t[i],e[i]))return!1;return!0}}return!1}function I(){return e.securityPolicy&&e.securityPolicy.isActive||e.querySelector&&!(!e.querySelector("[ng-csp]")&&!e.querySelector("[data-ng-csp]"))}function V(t,e,n){return t.concat(dr.call(e,n))}function U(t,e){return dr.call(t,e||0)}function _(t,e){var n=arguments.length>2?U(arguments,2):[];return!C(e)||e instanceof RegExp?e:n.length?function(){return arguments.length?e.apply(t,n.concat(dr.call(arguments,0))):e.apply(t,n)}:function(){return arguments.length?e.apply(t,arguments):e.call(t)}}function F(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)?i=n:k(r)?i="$WINDOW":r&&e===r?i="$DOCUMENT":A(r)&&(i="$SCOPE"),i}function H(t,e){return"undefined"==typeof t?n:JSON.stringify(t,F,e?" ":null)}function L(t){return w(t)?JSON.parse(t):t}function B(t){if("function"==typeof t)t=!0;else if(t&&0!==t.length){var e=sr(""+t);t=!("f"==e||"0"==e||"false"==e||"no"==e||"n"==e||"[]"==e)}else t=!1;return t}function z(t){t=fr(t).clone();try{t.empty()}catch(e){}var n=3,r=fr("<div>").append(t).html();try{return t[0].nodeType===n?sr(r):r.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,e){return"<"+sr(e)})}catch(e){return sr(r)}}function W(t){try{return decodeURIComponent(t)}catch(e){}}function J(t){var e,n,r={};return o((t||"").split("&"),function(t){if(t&&(e=t.split("="),n=W(e[0]),m(n))){var i=m(e[1])?W(e[1]):!0;r[n]?S(r[n])?r[n].push(i):r[n]=[r[n],i]:r[n]=i}}),r}function Q(t){var e=[];return o(t,function(t,n){S(t)?o(t,function(t){e.push(Y(n,!0)+(t===!0?"":"="+Y(t,!0)))}):e.push(Y(n,!0)+(t===!0?"":"="+Y(t,!0)))}),e.length?e.join("&"):""}function Z(t){return Y(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Y(t,e){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,e?"%20":"+")}function K(t,n){function r(t){t&&a.push(t)}var i,s,a=[t],u=["ng:app","ng-app","x-ng-app","data-ng-app"],c=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;o(u,function(n){u[n]=!0,r(e.getElementById(n)),n=n.replace(":","\\:"),t.querySelectorAll&&(o(t.querySelectorAll("."+n),r),o(t.querySelectorAll("."+n+"\\:"),r),o(t.querySelectorAll("["+n+"]"),r))}),o(a,function(t){if(!i){var e=" "+t.className+" ",n=c.exec(e);n?(i=t,s=(n[2]||"").replace(/\s+/g,",")):o(t.attributes,function(e){!i&&u[e.name]&&(i=t,s=e.value)})}}),i&&n(i,s?[s]:[])}function G(n,r){var i=function(){if(n=fr(n),n.injector()){var t=n[0]===e?"document":z(n);throw mr("btstrpd","App Already Bootstrapped with this Element '{0}'",t)}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",n)}]),r.unshift("ng");var i=Me(r);return i.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(t,e,n,r){t.$apply(function(){e.data("$injector",r),n(e)(t)})}]),i},s=/^NG_DEFER_BOOTSTRAP!/;return t&&!s.test(t.name)?i():(t.name=t.name.replace(s,""),void(yr.resumeBootstrap=function(t){o(t,function(t){r.push(t)}),i()}))}function X(t,e){return e=e||"_",t.replace(br,function(t,n){return(n?e:"")+t.toLowerCase()})}function te(){hr=t.jQuery,hr?(fr=hr,f(hr.fn,{scope:jr.scope,isolateScope:jr.isolateScope,controller:jr.controller,injector:jr.injector,inheritedData:jr.inheritedData}),le("remove",!0,!0,!1),le("empty",!1,!1,!1),le("html",!1,!1,!0)):fr=fe,yr.element=fr}function ee(t,e,n){if(!t)throw mr("areq","Argument '{0}' is {1}",e||"?",n||"required");return t}function ne(t,e,n){return n&&S(t)&&(t=t[t.length-1]),ee(C(t),e,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function re(t,e){if("hasOwnProperty"===t)throw mr("badname","hasOwnProperty is not a valid {0} name",e)}function ie(t,e,n){if(!e)return t;for(var r,i=e.split("."),o=t,s=i.length,a=0;s>a;a++)r=i[a],t&&(t=(o=t)[r]);return!n&&C(t)?_(o,t):t}function oe(t){var e=t[0],n=t[t.length-1];if(e===n)return fr(e);var r=e,i=[r];do{if(r=r.nextSibling,!r)break;i.push(r)}while(r!==n);return fr(i)}function se(t){function e(t,e,n){return t[e]||(t[e]=n())}var n=r("$injector"),i=r("ng"),o=e(t,"angular",Object);return o.$$minErr=o.$$minErr||r,e(o,"module",function(){var t={};return function(r,o,s){var a=function(t,e){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",e)};return a(r,"module"),o&&t.hasOwnProperty(r)&&(t[r]=null),e(t,r,function(){function t(t,n,r){return function(){return e[r||"push"]([t,n,arguments]),u}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var e=[],i=[],a=t("$injector","invoke"),u={_invokeQueue:e,_runBlocks:i,requires:o,name:r,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),config:a,run:function(t){return i.push(t),this}};return s&&a(s),u})}})}function ae(e){f(e,{bootstrap:G,copy:D,extend:f,equals:q,element:fr,forEach:o,injector:Me,noop:$,bind:_,toJson:H,fromJson:L,identity:d,isUndefined:g,isDefined:m,isString:w,isFunction:C,isObject:y,isNumber:x,isElement:T,isArray:S,version:Sr,isDate:b,lowercase:sr,uppercase:ar,callbacks:{counter:0},$$minErr:r,$$csp:I}),pr=se(t);try{pr("ngLocale")}catch(n){pr("ngLocale",[]).provider("$locale",Ge)}pr("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:En}),t.provider("$compile",qe).directive({a:hi,input:bi,textarea:bi,form:vi,script:ro,select:so,style:uo,option:ao,ngBind:Di,ngBindHtml:qi,ngBindTemplate:Ri,ngClass:Ii,ngClassEven:Ui,ngClassOdd:Vi,ngCloak:_i,ngController:Fi,ngForm:gi,ngHide:Ki,ngIf:Li,ngInclude:Bi,ngInit:Wi,ngNonBindable:Ji,ngPluralize:Qi,ngRepeat:Zi,ngShow:Yi,ngStyle:Gi,ngSwitch:Xi,ngSwitchWhen:to,ngSwitchDefault:eo,ngOptions:oo,ngTransclude:no,ngModel:Oi,ngList:Pi,ngChange:Ti,required:Mi,ngRequired:Mi,ngValue:Ni}).directive({ngInclude:zi}).directive(pi).directive(Hi),t.provider({$anchorScroll:Pe,$animate:Fr,$browser:Ne,$cacheFactory:De,$controller:Ue,$document:_e,$exceptionHandler:Fe,$filter:qn,$interpolate:Ye,$interval:Ke,$http:We,$httpBackend:Qe,$location:hn,$log:pn,$parse:xn,$rootScope:Cn,$q:bn,$sce:Mn,$sceDelegate:Tn,$sniffer:Pn,$templateCache:Re,$timeout:jn,$window:Rn})}])}function ue(){return++kr}function ce(t){return t.replace(Tr,function(t,e,n,r){return r?n.toUpperCase():n}).replace(Mr,"Moz$1")}function le(t,e,n,r){function i(t){var i,s,a,u,c,l,f,h=n&&t?[this.filter(t)]:[this],p=e;if(!r||null!=t)for(;h.length;)for(i=h.shift(),s=0,a=i.length;a>s;s++)for(u=fr(i[s]),p?u.triggerHandler("$destroy"):p=!p,c=0,l=(f=u.children()).length;l>c;c++)h.push(hr(f[c]));return o.apply(this,arguments)}var o=hr.fn[t];o=o.$original||o,i.$original=o,hr.fn[t]=i}function fe(t){if(t instanceof fe)return t;if(!(this instanceof fe)){if(w(t)&&"<"!=t.charAt(0))throw Pr("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new fe(t)}if(w(t)){var n=e.createElement("div");n.innerHTML="<div> </div>"+t,n.removeChild(n.firstChild),xe(this,n.childNodes);var r=fr(e.createDocumentFragment());r.append(this)}else xe(this,t)}function he(t){return t.cloneNode(!0)}function pe(t){de(t);for(var e=0,n=t.childNodes||[];e<n.length;e++)pe(n[e])}function $e(t,e,n,r){if(m(r))throw Pr("offargs","jqLite#off() does not support the `selector` argument");var i=ve(t,"events"),s=ve(t,"handle");s&&(g(e)?o(i,function(e,n){Or(t,n,e),delete i[n]}):o(e.split(" "),function(e){g(n)?(Or(t,e,i[e]),delete i[e]):N(i[e]||[],n)}))}function de(t,e){var r=t[Er],i=Cr[r];if(i){if(e)return void delete Cr[r].data[e];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),$e(t)),delete Cr[r],t[Er]=n}}function ve(t,e,n){var r=t[Er],i=Cr[r||-1];return m(n)?(i||(t[Er]=r=ue(),i=Cr[r]={}),void(i[e]=n)):i&&i[e]}function ge(t,e,n){var r=ve(t,"data"),i=m(n),o=!i&&m(e),s=o&&!y(e);if(r||s||ve(t,"data",r={}),i)r[e]=n;else{if(!o)return r;if(s)return r&&r[e];f(r,e)}}function me(t,e){return t.getAttribute?(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+e+" ")>-1:!1}function ye(t,e){e&&t.setAttribute&&o(e.split(" "),function(e){t.setAttribute("class",xr((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+xr(e)+" "," ")))})}function we(t,e){if(e&&t.setAttribute){var n=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(e.split(" "),function(t){t=xr(t),-1===n.indexOf(" "+t+" ")&&(n+=t+" ")}),t.setAttribute("class",xr(n))}}function xe(t,e){if(e){e=e.nodeName||!m(e.length)||k(e)?[e]:e;for(var n=0;n<e.length;n++)t.push(e[n])}}function be(t,e){return Se(t,"$"+(e||"ngController")+"Controller")}function Se(t,e,r){t=fr(t),9==t[0].nodeType&&(t=t.find("html"));for(var i=S(e)?e:[e];t.length;){for(var o=0,s=i.length;s>o;o++)if((r=t.data(i[o]))!==n)return r;t=t.parent()}}function Ce(t){for(var e=0,n=t.childNodes;e<n.length;e++)pe(n[e]);for(;t.firstChild;)t.removeChild(t.firstChild)}function Ee(t,e){var n=Nr[e.toLowerCase()];return n&&Dr[t.nodeName]&&n}function ke(t,n){var r=function(r,i){if(r.preventDefault||(r.preventDefault=function(){r.returnValue=!1}),r.stopPropagation||(r.stopPropagation=function(){r.cancelBubble=!0}),r.target||(r.target=r.srcElement||e),g(r.defaultPrevented)){var s=r.preventDefault;r.preventDefault=function(){r.defaultPrevented=!0,s.call(r)},r.defaultPrevented=!1}r.isDefaultPrevented=function(){return r.defaultPrevented||r.returnValue===!1};var a=R(n[i||r.type]||[]);o(a,function(e){e.call(t,r)}),8>=lr?(r.preventDefault=null,r.stopPropagation=null,r.isDefaultPrevented=null):(delete r.preventDefault,delete r.stopPropagation,delete r.isDefaultPrevented)};return r.elem=t,r}function Ae(t){var e,r=typeof t;return"object"==r&&null!==t?"function"==typeof(e=t.$$hashKey)?e=t.$$hashKey():e===n&&(e=t.$$hashKey=c()):e=t,r+":"+e}function Oe(t){o(t,this.put,this)}function Te(t){var e,n,r,i;return"function"==typeof t?(e=t.$inject)||(e=[],t.length&&(n=t.toString().replace(Vr,""),r=n.match(Rr),o(r[1].split(qr),function(t){t.replace(Ir,function(t,n,r){e.push(r)})})),t.$inject=e):S(t)?(i=t.length-1,ne(t[i],"fn"),e=t.slice(0,i)):ne(t,"fn",!0),e}function Me(t){function e(t){return function(e,n){return y(e)?void o(e,u(t)):t(e,n)}}function n(t,e){if(re(t,"service"),(C(e)||S(e))&&(e=x.instantiate(e)),!e.$get)throw Ur("pget","Provider '{0}' must define $get factory method.",t);return m[t+p]=e}function r(t,e){return n(t,{$get:e})}function i(t,e){return r(t,["$injector",function(t){return t.instantiate(e)}])}function s(t,e){return r(t,v(e))}function a(t,e){re(t,"constant"),m[t]=e,b[t]=e}function c(t,e){var n=x.get(t+p),r=n.$get;n.$get=function(){var t=E.invoke(r,n);return E.invoke(e,null,{$delegate:t})}}function l(t){var e,n,r,i,s=[];return o(t,function(t){if(!g.get(t)){g.put(t,!0);try{if(w(t))for(e=pr(t),s=s.concat(l(e.requires)).concat(e._runBlocks),n=e._invokeQueue,r=0,i=n.length;i>r;r++){var o=n[r],a=x.get(o[0]);a[o[1]].apply(a,o[2])}else C(t)?s.push(x.invoke(t)):S(t)?s.push(x.invoke(t)):ne(t,"module")}catch(u){throw S(t)&&(t=t[t.length-1]),u.message&&u.stack&&-1==u.stack.indexOf(u.message)&&(u=u.message+"\n"+u.stack),Ur("modulerr","Failed to instantiate module {0} due to:\n{1}",t,u.stack||u.message||u)}}}),s}function f(t,e){function n(n){if(t.hasOwnProperty(n)){if(t[n]===h)throw Ur("cdep","Circular dependency found: {0}",d.join(" <- "));return t[n]}try{return d.unshift(n),t[n]=h,t[n]=e(n)}catch(r){throw t[n]===h&&delete t[n],r}finally{d.shift()}}function r(t,e,r){var i,o,s,a=[],u=Te(t);for(o=0,i=u.length;i>o;o++){if(s=u[o],"string"!=typeof s)throw Ur("itkn","Incorrect injection token! Expected service name as string, got {0}",s);a.push(r&&r.hasOwnProperty(s)?r[s]:n(s))}return t.$inject||(t=t[i]),t.apply(e,a)}function i(t,e){var n,i,o=function(){};return o.prototype=(S(t)?t[t.length-1]:t).prototype,n=new o,i=r(t,n,e),y(i)||C(i)?i:n}return{invoke:r,instantiate:i,get:n,annotate:Te,has:function(e){return m.hasOwnProperty(e+p)||t.hasOwnProperty(e)}}}var h={},p="Provider",d=[],g=new Oe,m={$provide:{provider:e(n),factory:e(r),service:e(i),value:e(s),constant:e(a),decorator:c}},x=m.$injector=f(m,function(){throw Ur("unpr","Unknown provider: {0}",d.join(" <- "))}),b={},E=b.$injector=f(b,function(t){var e=x.get(t+p);return E.invoke(e.$get,e)});return o(l(t),function(t){E.invoke(t||$)}),E}function Pe(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(e,n,r){function i(t){var e=null;return o(t,function(t){e||"a"!==sr(t.nodeName)||(e=t)}),e}function s(){var t,r=n.hash();r?(t=a.getElementById(r))?t.scrollIntoView():(t=i(a.getElementsByName(r)))?t.scrollIntoView():"top"===r&&e.scrollTo(0,0):e.scrollTo(0,0)}var a=e.document;return t&&r.$watch(function(){return n.hash()},function(){r.$evalAsync(s)}),s}]}function je(t,e,r,i){function s(t){try{t.apply(null,U(arguments,1))}finally{if(m--,0===m)for(;y.length;)try{y.pop()()}catch(e){r.error(e)}}}function a(t,e){!function n(){o(b,function(t){t()}),x=e(n,t)}()}function u(){E=null,S!=c.url()&&(S=c.url(),o(k,function(t){t(c.url())}))}var c=this,l=e[0],f=t.location,h=t.history,p=t.setTimeout,d=t.clearTimeout,v={};c.isMock=!1;var m=0,y=[];c.$$completeOutstandingRequest=s,c.$$incOutstandingRequestCount=function(){m++},c.notifyWhenNoOutstandingRequests=function(t){o(b,function(t){t()}),0===m?t():y.push(t)};var x,b=[];c.addPollFn=function(t){return g(x)&&a(100,p),b.push(t),t};var S=f.href,C=e.find("base"),E=null;c.url=function(e,n){if(f!==t.location&&(f=t.location),h!==t.history&&(h=t.history),e){if(S==e)return;return S=e,i.history?n?h.replaceState(null,"",e):(h.pushState(null,"",e),C.attr("href",C.attr("href"))):(E=e,n?f.replace(e):f.href=e),c}return E||f.href.replace(/%27/g,"'")};var k=[],A=!1;c.onUrlChange=function(e){return A||(i.history&&fr(t).on("popstate",u),i.hashchange?fr(t).on("hashchange",u):c.addPollFn(u),A=!0),k.push(e),e},c.baseHref=function(){var t=C.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var O={},T="",M=c.baseHref();c.cookies=function(t,e){var i,o,s,a,u;if(!t){if(l.cookie!==T)for(T=l.cookie,o=T.split("; "),O={},a=0;a<o.length;a++)s=o[a],u=s.indexOf("="),u>0&&(t=unescape(s.substring(0,u)),O[t]===n&&(O[t]=unescape(s.substring(u+1))));return O}e===n?l.cookie=escape(t)+"=;path="+M+";expires=Thu, 01 Jan 1970 00:00:00 GMT":w(e)&&(i=(l.cookie=escape(t)+"="+escape(e)+";path="+M).length+1,i>4096&&r.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+i+" > 4096 bytes)!"))},c.defer=function(t,e){var n;return m++,n=p(function(){delete v[n],s(t)},e||0),v[n]=!0,n},c.defer.cancel=function(t){return v[t]?(delete v[t],d(t),s($),!0):!1}}function Ne(){this.$get=["$window","$log","$sniffer","$document",function(t,e,n,r){return new je(t,r,e,n)}]}function De(){this.$get=function(){function t(t,n){function i(t){t!=h&&(p?p==t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,e){t!=e&&(t&&(t.p=e),e&&(e.n=t))}if(t in e)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var s=0,a=f({},n,{id:t}),u={},c=n&&n.capacity||Number.MAX_VALUE,l={},h=null,p=null;return e[t]={put:function(t,e){var n=l[t]||(l[t]={key:t});return i(n),g(e)?void 0:(t in u||s++,u[t]=e,s>c&&this.remove(p.key),e)},get:function(t){var e=l[t];if(e)return i(e),u[t]},remove:function(t){var e=l[t];e&&(e==h&&(h=e.p),e==p&&(p=e.n),o(e.n,e.p),delete l[t],delete u[t],s--)},removeAll:function(){u={},s=0,l={},h=p=null},destroy:function(){u=null,a=null,l=null,delete e[t]},info:function(){return f({},a,{size:s})}}}var e={};return t.info=function(){var t={};return o(e,function(e,n){t[n]=e.info()}),t},t.get=function(t){return e[t]},t}}function Re(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function qe(t,r){var i={},s="Directive",a=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,c=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,l=/^(on[a-z]+|formaction)$/;this.directive=function h(e,n){return re(e,"directive"),w(e)?(ee(n,"directiveFactory"),i.hasOwnProperty(e)||(i[e]=[],t.factory(e+s,["$injector","$exceptionHandler",function(t,n){var r=[];return o(i[e],function(i,o){try{var s=t.invoke(i);C(s)?s={compile:v(s)}:!s.compile&&s.link&&(s.compile=v(s.link)),s.priority=s.priority||0,s.index=o,s.name=s.name||e,s.require=s.require||s.controller&&s.name,s.restrict=s.restrict||"A",r.push(s)}catch(a){n(a)}}),r}])),i[e].push(n)):o(e,u(h)),this},this.aHrefSanitizationWhitelist=function(t){return m(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return m(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,u,h,$,g,m,x,b,E,k,A){function O(t,e,n,r,i){t instanceof fr||(t=fr(t)),o(t,function(e,n){3==e.nodeType&&e.nodeValue.match(/\S+/)&&(t[n]=e=fr(e).wrap("<span></span>").parent()[0])});var s=M(t,e,t,n,r,i);return T(t,"ng-scope"),function(e,n,r){ee(e,"scope");var i=n?jr.clone.call(t):t;o(r,function(t,e){i.data("$"+e+"Controller",t)});for(var a=0,u=i.length;u>a;a++){var c=i[a],l=c.nodeType;(1===l||9===l)&&i.eq(a).data("$scope",e)}return n&&n(i,e),s&&s(e,i,i),i}}function T(t,e){try{t.addClass(e)}catch(n){}}function M(t,e,r,i,o,s){function a(t,r,i,o){var s,a,u,c,l,f,h,p,d,v=r.length,g=new Array(v);for(h=0;v>h;h++)g[h]=r[h];for(h=0,d=0,p=$.length;p>h;d++)u=g[d],s=$[h++],a=$[h++],c=fr(u),s?(s.scope?(l=t.$new(),c.data("$scope",l)):l=t,f=s.transclude,f||!o&&e?s(a,l,u,i,P(t,f||e)):s(a,l,u,i,o)):a&&a(t,u.childNodes,n,o)}for(var u,c,l,f,h,p,$=[],d=0;d<t.length;d++)u=new G,c=j(t[d],[],u,0===d?i:n,o),l=c.length?I(c,t[d],u,e,r,null,[],[],s):null,l&&l.scope&&T(fr(t[d]),"ng-scope"),h=l&&l.terminal||!(f=t[d].childNodes)||!f.length?null:M(f,l?l.transclude:e),$.push(l,h),p=p||l||h,s=null;return p?a:null}function P(t,e){return function(n,r,i){var o=!1;n||(n=t.$new(),n.$$transcluded=!0,o=!0);var s=e(n,r,i);return o&&s.on("$destroy",_(n,n.$destroy)),s}}function j(t,e,n,r,i){var o,s,u=t.nodeType,l=n.$attr;switch(u){case 1:F(e,Ie($r(t).toLowerCase()),"E",r,i);for(var f,h,p,$,d,v=t.attributes,g=0,m=v&&v.length;m>g;g++){var y=!1,x=!1;if(f=v[g],!lr||lr>=8||f.specified){h=f.name,$=Ie(h),ie.test($)&&(h=X($.substr(6),"-"));var b=$.replace(/(Start|End)$/,"");$===b+"Start"&&(y=h,x=h.substr(0,h.length-5)+"end",h=h.substr(0,h.length-6)),p=Ie(h.toLowerCase()),l[p]=h,n[p]=d=xr(f.value),Ee(t,p)&&(n[p]=!0),Z(t,e,d,p),F(e,p,"A",r,i,y,x)}}if(s=t.className,w(s)&&""!==s)for(;o=c.exec(s);)p=Ie(o[2]),F(e,p,"C",r,i)&&(n[p]=xr(o[3])),s=s.substr(o.index+o[0].length);break;case 3:J(e,t.nodeValue);break;case 8:try{o=a.exec(t.nodeValue),o&&(p=Ie(o[1]),F(e,p,"M",r,i)&&(n[p]=xr(o[2])))}catch(S){}}return e.sort(B),e}function N(t,e,n){var r=[],i=0;if(e&&t.hasAttribute&&t.hasAttribute(e)){do{if(!t)throw Hr("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",e,n);1==t.nodeType&&(t.hasAttribute(e)&&i++,t.hasAttribute(n)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return fr(r)}function D(t,e,n){return function(r,i,o,s,a){return i=N(i[0],e,n),t(r,i,o,s,a)}}function I(t,i,s,a,c,l,f,h,p){function $(t,e,n,r){t&&(n&&(t=D(t,n,r)),t.require=b.require,(_===b||b.$$isolateScope)&&(t=K(t,{isolateScope:!0})),f.push(t)),e&&(n&&(e=D(e,n,r)),e.require=b.require,(_===b||b.$$isolateScope)&&(e=K(e,{isolateScope:!0})),h.push(e))}function d(t,e,n){var r,i="data",s=!1;if(w(t)){for(;"^"==(r=t.charAt(0))||"?"==r;)t=t.substr(1),"^"==r&&(i="inheritedData"),s=s||"?"==r;if(r=null,n&&"data"===i&&(r=n[t]),r=r||e[i]("$"+t+"Controller"),!r&&!s)throw Hr("ctreq","Controller '{0}', required by directive '{1}', can't be found!",t,E);return r}return S(t)&&(r=[],o(t,function(t){r.push(d(t,e,n))})),r}function v(t,e,a,c,l){function p(t,e){var r;return arguments.length<2&&(e=t,t=n),Q&&(r=E),l(t,e,r)}var $,v,y,w,x,b,S,C,E={};if($=i===a?s:R(s,new G(fr(a),s.$attr)),v=$.$$element,_){var k=/^\s*([@=&])(\??)\s*(\w*)\s*$/,A=fr(a);S=e.$new(!0),F&&F===_.$$originalDirective?A.data("$isolateScope",S):A.data("$isolateScopeNoTemplate",S),T(A,"ng-isolate-scope"),o(_.scope,function(t,n){var i,o,s,a,u=t.match(k)||[],c=u[3]||n,l="?"==u[2],f=u[1];switch(S.$$isolateBindings[n]=f+c,f){case"@":$.$observe(c,function(t){S[n]=t}),$.$$observers[c].$$scope=e,$[c]&&(S[n]=r($[c])(e));break;case"=":if(l&&!$[c])return;o=g($[c]),a=o.literal?q:function(t,e){return t===e},s=o.assign||function(){throw i=S[n]=o(e),Hr("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",$[c],_.name)},i=S[n]=o(e),S.$watch(function(){var t=o(e);return a(t,S[n])||(a(t,i)?s(e,t=S[n]):S[n]=t),i=t},null,o.literal);break;case"&":o=g($[c]),S[n]=function(t){return o(e,t)};break;default:throw Hr("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",_.name,n,t)}})}for(C=l&&p,I&&o(I,function(t){var n,r={$scope:t===_||t.$$isolateScope?S:e,$element:v,$attrs:$,$transclude:C};b=t.controller,"@"==b&&(b=$[t.name]),n=m(b,r),E[t.name]=n,Q||v.data("$"+t.name+"Controller",n),t.controllerAs&&(r.$scope[t.controllerAs]=n)}),y=0,w=f.length;w>y;y++)try{x=f[y],x(x.isolateScope?S:e,v,$,x.require&&d(x.require,v,E),C)}catch(O){u(O,z(v))}var M=e;for(_&&(_.template||null===_.templateUrl)&&(M=S),t&&t(M,a.childNodes,n,l),y=h.length-1;y>=0;y--)try{x=h[y],x(x.isolateScope?S:e,v,$,x.require&&d(x.require,v,E),C)}catch(O){u(O,z(v))}}p=p||{};for(var x,b,E,k,A,M,P=-Number.MAX_VALUE,I=p.controllerDirectives,_=p.newIsolateScopeDirective,F=p.templateDirective,B=p.nonTlbTranscludeDirective,J=!1,Q=!1,Z=s.$$element=fr(i),X=l,te=a,ee=0,ne=t.length;ne>ee;ee++){b=t[ee];var ie=b.$$start,oe=b.$$end;if(ie&&(Z=N(i,ie,oe)),k=n,P>b.priority)break;if((M=b.scope)&&(x=x||b,b.templateUrl||(W("new/isolated scope",_,b,Z),y(M)&&(_=b))),E=b.name,!b.templateUrl&&b.controller&&(M=b.controller,I=I||{},W("'"+E+"' controller",I[E],b,Z),I[E]=b),(M=b.transclude)&&(J=!0,b.$$tlb||(W("transclusion",B,b,Z),B=b),"element"==M?(Q=!0,P=b.priority,k=N(i,ie,oe),Z=s.$$element=fr(e.createComment(" "+E+": "+s[E]+" ")),i=Z[0],Y(c,fr(U(k)),i),te=O(k,a,P,X&&X.name,{nonTlbTranscludeDirective:B})):(k=fr(he(i)).contents(),Z.empty(),te=O(k,a))),b.template)if(W("template",F,b,Z),F=b,M=C(b.template)?b.template(Z,s):b.template,M=re(M),b.replace){if(X=b,k=fr("<div>"+xr(M)+"</div>").contents(),i=k[0],1!=k.length||1!==i.nodeType)throw Hr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",E,"");Y(c,Z,i);var se={$attr:{}},ae=j(i,[],se),ue=t.splice(ee+1,t.length-(ee+1));_&&V(ae),t=t.concat(ae).concat(ue),H(s,se),ne=t.length}else Z.html(M);if(b.templateUrl)W("template",F,b,Z),F=b,b.replace&&(X=b),v=L(t.splice(ee,t.length-ee),Z,s,c,te,f,h,{controllerDirectives:I,newIsolateScopeDirective:_,templateDirective:F,nonTlbTranscludeDirective:B}),ne=t.length;else if(b.compile)try{A=b.compile(Z,s,te),C(A)?$(null,A,ie,oe):A&&$(A.pre,A.post,ie,oe)}catch(ce){u(ce,z(Z))}b.terminal&&(v.terminal=!0,P=Math.max(P,b.priority))}return v.scope=x&&x.scope===!0,v.transclude=J&&te,v}function V(t){for(var e=0,n=t.length;n>e;e++)t[e]=p(t[e],{$$isolateScope:!0})}function F(e,r,o,a,c,l,f){if(r===c)return null;var h=null;if(i.hasOwnProperty(r))for(var $,d=t.get(r+s),v=0,g=d.length;g>v;v++)try{$=d[v],(a===n||a>$.priority)&&-1!=$.restrict.indexOf(o)&&(l&&($=p($,{$$start:l,$$end:f})),e.push($),h=$)}catch(m){u(m)}return h}function H(t,e){var n=e.$attr,r=t.$attr,i=t.$$element;o(t,function(r,i){"$"!=i.charAt(0)&&(e[i]&&(r+=("style"===i?";":" ")+e[i]),t.$set(i,r,!0,n[i]))}),o(e,function(e,o){"class"==o?(T(i,e),t["class"]=(t["class"]?t["class"]+" ":"")+e):"style"==o?(i.attr("style",i.attr("style")+";"+e),t.style=(t.style?t.style+";":"")+e):"$"==o.charAt(0)||t.hasOwnProperty(o)||(t[o]=e,r[o]=n[o])})}function L(t,e,n,r,i,s,a,u){var c,l,p=[],d=e[0],v=t.shift(),g=f({},v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),m=C(v.templateUrl)?v.templateUrl(e,n):v.templateUrl;return e.empty(),h.get(E.getTrustedResourceUrl(m),{cache:$}).success(function(f){var h,$,w,x;if(f=re(f),v.replace){if(w=fr("<div>"+xr(f)+"</div>").contents(),h=w[0],1!=w.length||1!==h.nodeType)throw Hr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,m);$={$attr:{}},Y(r,e,h);var b=j(h,[],$);y(v.scope)&&V(b),t=b.concat(t),H(n,$)}else h=d,e.html(f);for(t.unshift(g),c=I(t,h,n,i,e,v,s,a,u),o(r,function(t,n){t==h&&(r[n]=e[0])}),l=M(e[0].childNodes,i);p.length;){var S=p.shift(),C=p.shift(),E=p.shift(),k=p.shift(),A=e[0];C!==d&&(A=he(h),Y(E,fr(C),A)),x=c.transclude?P(S,c.transclude):k,c(l,S,A,r,x)}p=null}).error(function(t,e,n,r){throw Hr("tpload","Failed to load template: {0}",r.url)}),function(t,e,n,r,i){p?(p.push(e),p.push(n),p.push(r),p.push(i)):c(l,e,n,r,i)}}function B(t,e){var n=e.priority-t.priority;return 0!==n?n:t.name!==e.name?t.name<e.name?-1:1:t.index-e.index}function W(t,e,n,r){if(e)throw Hr("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",e.name,n.name,t,z(r))}function J(t,e){var n=r(e,!0);n&&t.push({priority:0,compile:v(function(t,e){var r=e.parent(),i=r.data("$binding")||[];i.push(n),T(r.data("$binding",i),"ng-binding"),t.$watch(n,function(t){e[0].nodeValue=t})})})}function Q(t,e){if("srcdoc"==e)return E.HTML;var n=$r(t);return"xlinkHref"==e||"FORM"==n&&"action"==e||"IMG"!=n&&("src"==e||"ngSrc"==e)?E.RESOURCE_URL:void 0}function Z(t,e,n,i){var o=r(n,!0);if(o){if("multiple"===i&&"SELECT"===$r(t))throw Hr("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",z(t));e.push({priority:100,compile:function(){return{pre:function(e,n,s){var a=s.$$observers||(s.$$observers={});if(l.test(i))throw Hr("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");o=r(s[i],!0,Q(t,i)),o&&(s[i]=o(e),(a[i]||(a[i]=[])).$$inter=!0,(s.$$observers&&s.$$observers[i].$$scope||e).$watch(o,function(t,e){"class"===i&&t!=e?s.$updateClass(t,e):s.$set(i,t)}))}}}})}}function Y(t,n,r){var i,o,s=n[0],a=n.length,u=s.parentNode;if(t)for(i=0,o=t.length;o>i;i++)if(t[i]==s){t[i++]=r;for(var c=i,l=c+a-1,f=t.length;f>c;c++,l++)f>l?t[c]=t[l]:delete t[c];t.length-=a-1;break}u&&u.replaceChild(r,s);var h=e.createDocumentFragment();h.appendChild(s),r[fr.expando]=s[fr.expando];for(var p=1,$=n.length;$>p;p++){var d=n[p];fr(d).remove(),h.appendChild(d),delete n[p]}n[0]=r,n.length=1}function K(t,e){return f(function(){return t.apply(null,arguments)},t,e)}var G=function(t,e){this.$$element=t,this.$attr=e||{}};G.prototype={$normalize:Ie,$addClass:function(t){t&&t.length>0&&k.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&k.removeClass(this.$$element,t)},$updateClass:function(t,e){this.$removeClass(Ve(e,t)),this.$addClass(Ve(t,e))},$set:function(t,e,r,i){var s,a=Ee(this.$$element[0],t);a&&(this.$$element.prop(t,e),i=a),this[t]=e,i?this.$attr[t]=i:(i=this.$attr[t],i||(this.$attr[t]=i=X(t,"-"))),s=$r(this.$$element),("A"===s&&"href"===t||"IMG"===s&&"src"===t)&&(this[t]=e=A(e,"src"===t)),r!==!1&&(null===e||e===n?this.$$element.removeAttr(i):this.$$element.attr(i,e));var c=this.$$observers;c&&o(c[t],function(t){try{t(e)}catch(n){u(n)}})},$observe:function(t,e){var n=this,r=n.$$observers||(n.$$observers={}),i=r[t]||(r[t]=[]);return i.push(e),x.$evalAsync(function(){i.$$inter||e(n[t])}),e}};var te=r.startSymbol(),ne=r.endSymbol(),re="{{"==te||"}}"==ne?d:function(t){return t.replace(/\{\{/g,te).replace(/}}/g,ne)},ie=/^ngAttr[A-Z]/;return O}]}function Ie(t){return ce(t.replace(Lr,""))}function Ve(t,e){var n="",r=t.split(/\s+/),i=e.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var s=r[o],a=0;a<i.length;a++)if(s==i[a])continue t;n+=(n.length>0?" ":"")+s}return n}function Ue(){var t={},e=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(e,n){re(e,"controller"),y(e)?f(t,e):t[e]=n},this.$get=["$injector","$window",function(n,i){return function(o,s){var a,u,c,l;if(w(o)&&(u=o.match(e),c=u[1],l=u[3],o=t.hasOwnProperty(c)?t[c]:ie(s.$scope,c,!0)||ie(i,c,!0),ne(o,c,!0)),a=n.instantiate(o,s),l){if(!s||"object"!=typeof s.$scope)throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",c||o.name,l); |
|
|
s.$scope[l]=a}return a}}]}function _e(){this.$get=["$window",function(t){return fr(t.document)}]}function Fe(){this.$get=["$log",function(t){return function(){t.error.apply(t,arguments)}}]}function He(t){var e,n,r,i={};return t?(o(t.split("\n"),function(t){r=t.indexOf(":"),e=sr(xr(t.substr(0,r))),n=xr(t.substr(r+1)),e&&(i[e]?i[e]+=", "+n:i[e]=n)}),i):i}function Le(t){var e=y(t)?t:n;return function(n){return e||(e=He(t)),n?e[sr(n)]||null:e}}function Be(t,e,n){return C(n)?n(t,e):(o(n,function(n){t=n(t,e)}),t)}function ze(t){return t>=200&&300>t}function We(){var t=/^\s*(\[|\{[^\{])/,e=/[\}\]]\s*$/,r=/^\)\]\}',?\n/,i={"Content-Type":"application/json;charset=utf-8"},s=this.defaults={transformResponse:[function(n){return w(n)&&(n=n.replace(r,""),t.test(n)&&e.test(n)&&(n=L(n))),n}],transformRequest:[function(t){return y(t)&&!O(t)?H(t):t}],headers:{common:{Accept:"application/json, text/plain, */*"},post:D(i),put:D(i),patch:D(i)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},u=this.interceptors=[],c=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(t,e,r,i,l,h){function p(t){function r(t){var e=f({},t,{data:Be(t.data,t.headers,a.transformResponse)});return ze(t.status)?e:l.reject(e)}function i(t){function e(t){var e;o(t,function(n,r){C(n)&&(e=n(),null!=e?t[r]=e:delete t[r])})}var n,r,i,a=s.headers,u=f({},t.headers);a=f({},a.common,a[sr(t.method)]),e(a),e(u);t:for(n in a){r=sr(n);for(i in u)if(sr(i)===r)continue t;u[n]=a[n]}return u}var a={transformRequest:s.transformRequest,transformResponse:s.transformResponse},u=i(t);f(a,t),a.headers=u,a.method=ar(a.method);var c=Dn(a.url)?e.cookies()[a.xsrfCookieName||s.xsrfCookieName]:n;c&&(u[a.xsrfHeaderName||s.xsrfHeaderName]=c);var h=function(t){u=t.headers;var e=Be(t.data,Le(u),t.transformRequest);return g(t.data)&&o(u,function(t,e){"content-type"===sr(e)&&delete u[e]}),g(t.withCredentials)&&!g(s.withCredentials)&&(t.withCredentials=s.withCredentials),v(t,e,u).then(r,r)},p=[h,n],$=l.when(a);for(o(E,function(t){(t.request||t.requestError)&&p.unshift(t.request,t.requestError),(t.response||t.responseError)&&p.push(t.response,t.responseError)});p.length;){var d=p.shift(),m=p.shift();$=$.then(d,m)}return $.success=function(t){return $.then(function(e){t(e.data,e.status,e.headers,a)}),$},$.error=function(t){return $.then(null,function(e){t(e.data,e.status,e.headers,a)}),$},$}function $(){o(arguments,function(t){p[t]=function(e,n){return p(f(n||{},{method:t,url:e}))}})}function d(){o(arguments,function(t){p[t]=function(e,n,r){return p(f(r||{},{method:t,url:e,data:n}))}})}function v(e,n,r){function o(t,e,n){c&&(ze(t)?c.put(d,[t,e,He(n)]):c.remove(d)),a(e,t,n),i.$$phase||i.$apply()}function a(t,n,r){n=Math.max(n,0),(ze(n)?h.resolve:h.reject)({data:t,status:n,headers:Le(r),config:e})}function u(){var t=j(p.pendingRequests,e);-1!==t&&p.pendingRequests.splice(t,1)}var c,f,h=l.defer(),$=h.promise,d=x(e.url,e.params);if(p.pendingRequests.push(e),$.then(u,u),(e.cache||s.cache)&&e.cache!==!1&&"GET"==e.method&&(c=y(e.cache)?e.cache:y(s.cache)?s.cache:b),c)if(f=c.get(d),m(f)){if(f.then)return f.then(u,u),f;S(f)?a(f[1],f[0],D(f[2])):a(f,200,{})}else c.put(d,$);return g(f)&&t(e.method,d,n,o,r,e.timeout,e.withCredentials,e.responseType),$}function x(t,e){if(!e)return t;var n=[];return a(e,function(t,e){null===t||g(t)||(S(t)||(t=[t]),o(t,function(t){y(t)&&(t=H(t)),n.push(Y(e)+"="+Y(t))}))}),t+(-1==t.indexOf("?")?"?":"&")+n.join("&")}var b=r("$http"),E=[];return o(u,function(t){E.unshift(w(t)?h.get(t):h.invoke(t))}),o(c,function(t,e){var n=w(t)?h.get(t):h.invoke(t);E.splice(e,0,{response:function(t){return n(l.when(t))},responseError:function(t){return n(l.reject(t))}})}),p.pendingRequests=[],$("get","delete","head","jsonp"),d("post","put"),p.defaults=s,p}]}function Je(e){return 8>=lr&&"patch"===sr(e)?new ActiveXObject("Microsoft.XMLHTTP"):new t.XMLHttpRequest}function Qe(){this.$get=["$browser","$window","$document",function(t,e,n){return Ze(t,Je,t.defer,e.angular.callbacks,n[0])}]}function Ze(t,e,n,r,i){function s(t,e){var n=i.createElement("script"),r=function(){n.onreadystatechange=n.onload=n.onerror=null,i.body.removeChild(n),e&&e()};return n.type="text/javascript",n.src=t,lr&&8>=lr?n.onreadystatechange=function(){/loaded|complete/.test(n.readyState)&&r()}:n.onload=n.onerror=function(){r()},i.body.appendChild(n),r}var a=-1;return function(i,u,c,l,f,h,p,d){function v(){y=a,x&&x(),b&&b.abort()}function g(e,r,i,o){S&&n.cancel(S),x=b=null,r=0===r?i?200:404:r,r=1223==r?204:r,e(r,i,o),t.$$completeOutstandingRequest($)}var y;if(t.$$incOutstandingRequestCount(),u=u||t.url(),"jsonp"==sr(i)){var w="_"+(r.counter++).toString(36);r[w]=function(t){r[w].data=t};var x=s(u.replace("JSON_CALLBACK","angular.callbacks."+w),function(){r[w].data?g(l,200,r[w].data):g(l,y||-2),r[w]=yr.noop})}else{var b=e(i);b.open(i,u,!0),o(f,function(t,e){m(t)&&b.setRequestHeader(e,t)}),b.onreadystatechange=function(){if(b&&4==b.readyState){var t=null,e=null;y!==a&&(t=b.getAllResponseHeaders(),e="response"in b?b.response:b.responseText),g(l,y||b.status,e,t)}},p&&(b.withCredentials=!0),d&&(b.responseType=d),b.send(c||null)}if(h>0)var S=n(v,h);else h&&h.then&&h.then(v)}}function Ye(){var t="{{",e="}}";this.startSymbol=function(e){return e?(t=e,this):t},this.endSymbol=function(t){return t?(e=t,this):e},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function o(o,u,c){for(var l,f,h,p,$=0,d=[],v=o.length,m=!1,y=[];v>$;)-1!=(l=o.indexOf(t,$))&&-1!=(f=o.indexOf(e,l+s))?($!=l&&d.push(o.substring($,l)),d.push(h=n(p=o.substring(l+s,f))),h.exp=p,$=f+a,m=!0):($!=v&&d.push(o.substring($)),$=v);if((v=d.length)||(d.push(""),v=1),c&&d.length>1)throw Br("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",o);return!u||m?(y.length=v,h=function(t){try{for(var e,n=0,s=v;s>n;n++)"function"==typeof(e=d[n])&&(e=e(t),e=c?i.getTrusted(c,e):i.valueOf(e),null===e||g(e)?e="":"string"!=typeof e&&(e=H(e))),y[n]=e;return y.join("")}catch(a){var u=Br("interr","Can't interpolate: {0}\n{1}",o,a.toString());r(u)}},h.exp=o,h.parts=d,h):void 0}var s=t.length,a=e.length;return o.startSymbol=function(){return t},o.endSymbol=function(){return e},o}]}function Ke(){this.$get=["$rootScope","$window","$q",function(t,e,n){function r(r,o,s,a){var u=e.setInterval,c=e.clearInterval,l=n.defer(),f=l.promise,h=0,p=m(a)&&!a;return s=m(s)?s:0,f.then(null,null,r),f.$$intervalId=u(function(){l.notify(h++),s>0&&h>=s&&(l.resolve(h),c(f.$$intervalId),delete i[f.$$intervalId]),p||t.$apply()},o),i[f.$$intervalId]=l,f}var i={};return r.cancel=function(t){return t&&t.$$intervalId in i?(i[t.$$intervalId].reject("canceled"),clearInterval(t.$$intervalId),delete i[t.$$intervalId],!0):!1},r}]}function Ge(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(t){return 1===t?"one":"other"}}}}function Xe(t){for(var e=t.split("/"),n=e.length;n--;)e[n]=Z(e[n]);return e.join("/")}function tn(t,e,n){var r=Nn(t,n);e.$$protocol=r.protocol,e.$$host=r.hostname,e.$$port=h(r.port)||Wr[r.protocol]||null}function en(t,e,n){var r="/"!==t.charAt(0);r&&(t="/"+t);var i=Nn(t,n);e.$$path=decodeURIComponent(r&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname),e.$$search=J(i.search),e.$$hash=decodeURIComponent(i.hash),e.$$path&&"/"!=e.$$path.charAt(0)&&(e.$$path="/"+e.$$path)}function nn(t,e){return 0===e.indexOf(t)?e.substr(t.length):void 0}function rn(t){var e=t.indexOf("#");return-1==e?t:t.substr(0,e)}function on(t){return t.substr(0,rn(t).lastIndexOf("/")+1)}function sn(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function an(t,e){this.$$html5=!0,e=e||"";var r=on(t);tn(t,this,t),this.$$parse=function(e){var n=nn(r,e);if(!w(n))throw Jr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,r);en(n,this,t),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=Q(this.$$search),e=this.$$hash?"#"+Z(this.$$hash):"";this.$$url=Xe(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=r+this.$$url.substr(1)},this.$$rewrite=function(i){var o,s;return(o=nn(t,i))!==n?(s=o,(o=nn(e,o))!==n?r+(nn("/",o)||o):t+s):(o=nn(r,i))!==n?r+o:r==i+"/"?r:void 0}}function un(t,e){var n=on(t);tn(t,this,t),this.$$parse=function(r){function i(t,e,n){var r,i=/^\/?.*?:(\/.*)/;return 0===e.indexOf(n)&&(e=e.replace(n,"")),i.exec(e)?t:(r=i.exec(t),r?r[1]:t)}var o=nn(t,r)||nn(n,r),s="#"==o.charAt(0)?nn(e,o):this.$$html5?o:"";if(!w(s))throw Jr("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',r,e);en(s,this,t),this.$$path=i(this.$$path,s,t),this.$$compose()},this.$$compose=function(){var n=Q(this.$$search),r=this.$$hash?"#"+Z(this.$$hash):"";this.$$url=Xe(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$rewrite=function(e){return rn(t)==rn(e)?e:void 0}}function cn(t,e){this.$$html5=!0,un.apply(this,arguments);var n=on(t);this.$$rewrite=function(r){var i;return t==rn(r)?r:(i=nn(n,r))?t+e+i:n===r+"/"?n:void 0}}function ln(t){return function(){return this[t]}}function fn(t,e){return function(n){return g(n)?this[t]:(this[t]=e(n),this.$$compose(),this)}}function hn(){var e="",n=!1;this.hashPrefix=function(t){return m(t)?(e=t,this):e},this.html5Mode=function(t){return m(t)?(n=t,this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(r,i,o,s){function a(t){r.$broadcast("$locationChangeSuccess",u.absUrl(),t)}var u,c,l,f=i.baseHref(),h=i.url();n?(l=sn(h)+(f||"/"),c=o.history?an:cn):(l=rn(h),c=un),u=new c(l,"#"+e),u.$$parse(u.$$rewrite(h)),s.on("click",function(e){if(!e.ctrlKey&&!e.metaKey&&2!=e.which){for(var n=fr(e.target);"a"!==sr(n[0].nodeName);)if(n[0]===s[0]||!(n=n.parent())[0])return;var o=n.prop("href");y(o)&&"[object SVGAnimatedString]"===o.toString()&&(o=Nn(o.animVal).href);var a=u.$$rewrite(o);o&&!n.attr("target")&&a&&!e.isDefaultPrevented()&&(e.preventDefault(),a!=i.url()&&(u.$$parse(a),r.$apply(),t.angular["ff-684208-preventDefault"]=!0))}}),u.absUrl()!=h&&i.url(u.absUrl(),!0),i.onUrlChange(function(t){u.absUrl()!=t&&(r.$evalAsync(function(){var e=u.absUrl();u.$$parse(t),r.$broadcast("$locationChangeStart",t,e).defaultPrevented?(u.$$parse(e),i.url(e)):a(e)}),r.$$phase||r.$digest())});var p=0;return r.$watch(function(){var t=i.url(),e=u.$$replace;return p&&t==u.absUrl()||(p++,r.$evalAsync(function(){r.$broadcast("$locationChangeStart",u.absUrl(),t).defaultPrevented?u.$$parse(t):(i.url(u.absUrl(),e),a(t))})),u.$$replace=!1,p}),u}]}function pn(){var t=!0,e=this;this.debugEnabled=function(e){return m(e)?(t=e,this):t},this.$get=["$window",function(n){function r(t){return t instanceof Error&&(t.stack?t=t.message&&-1===t.stack.indexOf(t.message)?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var e=n.console||{},i=e[t]||e.log||$,s=!1;try{s=!!i.apply}catch(a){}return s?function(){var t=[];return o(arguments,function(e){t.push(r(e))}),i.apply(e,t)}:function(t,e){i(t,null==e?"":e)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){t&&n.apply(e,arguments)}}()}}]}function $n(t,e){if("constructor"===t)throw Zr("isecfld",'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}',e);return t}function dn(t,e){if(t){if(t.constructor===t)throw Zr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t.document&&t.location&&t.alert&&t.setInterval)throw Zr("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",e);if(t.children&&(t.nodeName||t.on&&t.find))throw Zr("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",e)}return t}function vn(t,e,r,i,o){o=o||{};for(var s,a=e.split("."),u=0;a.length>1;u++){s=$n(a.shift(),i);var c=t[s];c||(c={},t[s]=c),t=c,t.then&&o.unwrapPromises&&(Qr(i),"$$v"in t||!function(t){t.then(function(e){t.$$v=e})}(t),t.$$v===n&&(t.$$v={}),t=t.$$v)}return s=$n(a.shift(),i),t[s]=r,r}function gn(t,e,r,i,o,s,a){return $n(t,s),$n(e,s),$n(r,s),$n(i,s),$n(o,s),a.unwrapPromises?function(a,u){var c,l=u&&u.hasOwnProperty(t)?u:a;return null==l?l:(l=l[t],l&&l.then&&(Qr(s),"$$v"in l||(c=l,c.$$v=n,c.then(function(t){c.$$v=t})),l=l.$$v),e?null==l?n:(l=l[e],l&&l.then&&(Qr(s),"$$v"in l||(c=l,c.$$v=n,c.then(function(t){c.$$v=t})),l=l.$$v),r?null==l?n:(l=l[r],l&&l.then&&(Qr(s),"$$v"in l||(c=l,c.$$v=n,c.then(function(t){c.$$v=t})),l=l.$$v),i?null==l?n:(l=l[i],l&&l.then&&(Qr(s),"$$v"in l||(c=l,c.$$v=n,c.then(function(t){c.$$v=t})),l=l.$$v),o?null==l?n:(l=l[o],l&&l.then&&(Qr(s),"$$v"in l||(c=l,c.$$v=n,c.then(function(t){c.$$v=t})),l=l.$$v),l):l):l):l):l)}:function(s,a){var u=a&&a.hasOwnProperty(t)?a:s;return null==u?u:(u=u[t],e?null==u?n:(u=u[e],r?null==u?n:(u=u[r],i?null==u?n:(u=u[i],o?null==u?n:u=u[o]:u):u):u):u)}}function mn(t,e){return $n(t,e),function(e,r){return null==e?n:(r&&r.hasOwnProperty(t)?r:e)[t]}}function yn(t,e,r){return $n(t,r),$n(e,r),function(r,i){return null==r?n:(r=(i&&i.hasOwnProperty(t)?i:r)[t],null==r?n:r[e])}}function wn(t,e,r){if(ei.hasOwnProperty(t))return ei[t];var i,s=t.split("."),a=s.length;if(e.unwrapPromises||1!==a)if(e.unwrapPromises||2!==a)if(e.csp)i=6>a?gn(s[0],s[1],s[2],s[3],s[4],r,e):function(t,i){var o,u=0;do o=gn(s[u++],s[u++],s[u++],s[u++],s[u++],r,e)(t,i),i=n,t=o;while(a>u);return o};else{var u="var p;\n";o(s,function(t,n){$n(t,r),u+="if(s == null) return undefined;\ns="+(n?"s":'((k&&k.hasOwnProperty("'+t+'"))?k:s)')+'["'+t+'"];\n'+(e.unwrapPromises?'if (s && s.then) {\n pw("'+r.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")}),u+="return s;";var c=new Function("s","k","pw",u);c.toString=v(u),i=e.unwrapPromises?function(t,e){return c(t,e,Qr)}:c}else i=yn(s[0],s[1],r);else i=mn(s[0],r);return"hasOwnProperty"!==t&&(ei[t]=i),i}function xn(){var t={},e={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(t){return m(t)?(e.unwrapPromises=!!t,this):e.unwrapPromises},this.logPromiseWarnings=function(t){return m(t)?(e.logPromiseWarnings=t,this):e.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(n,r,i){return e.csp=r.csp,Qr=function(t){e.logPromiseWarnings&&!Yr.hasOwnProperty(t)&&(Yr[t]=!0,i.warn("[$parse] Promise found in the expression `"+t+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(r){var i;switch(typeof r){case"string":if(t.hasOwnProperty(r))return t[r];var o=new Xr(e),s=new ti(o,n,e);return i=s.parse(r,!1),"hasOwnProperty"!==r&&(t[r]=i),i;case"function":return r;default:return $}}}]}function bn(){this.$get=["$rootScope","$exceptionHandler",function(t,e){return Sn(function(e){t.$evalAsync(e)},e)}]}function Sn(t,e){function r(t){return t}function i(t){return c(t)}function s(t){var e=a(),n=0,r=S(t)?[]:{};return o(t,function(t,i){n++,u(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--n||e.resolve(r))},function(t){r.hasOwnProperty(i)||e.reject(t)})}),0===n&&e.resolve(r),e.promise}var a=function(){var o,s,l=[];return s={resolve:function(e){if(l){var r=l;l=n,o=u(e),r.length&&t(function(){for(var t,e=0,n=r.length;n>e;e++)t=r[e],o.then(t[0],t[1],t[2])})}},reject:function(t){s.resolve(c(t))},notify:function(e){if(l){var n=l;l.length&&t(function(){for(var t,r=0,i=n.length;i>r;r++)t=n[r],t[2](e)})}},promise:{then:function(t,n,s){var u=a(),c=function(n){try{u.resolve((C(t)?t:r)(n))}catch(i){u.reject(i),e(i)}},f=function(t){try{u.resolve((C(n)?n:i)(t))}catch(r){u.reject(r),e(r)}},h=function(t){try{u.notify((C(s)?s:r)(t))}catch(n){e(n)}};return l?l.push([c,f,h]):o.then(c,f,h),u.promise},"catch":function(t){return this.then(null,t)},"finally":function(t){function e(t,e){var n=a();return e?n.resolve(t):n.reject(t),n.promise}function n(n,i){var o=null;try{o=(t||r)()}catch(s){return e(s,!1)}return o&&C(o.then)?o.then(function(){return e(n,i)},function(t){return e(t,!1)}):e(n,i)}return this.then(function(t){return n(t,!0)},function(t){return n(t,!1)})}}}},u=function(e){return e&&C(e.then)?e:{then:function(n){var r=a();return t(function(){r.resolve(n(e))}),r.promise}}},c=function(n){return{then:function(r,o){var s=a();return t(function(){try{s.resolve((C(o)?o:i)(n))}catch(t){s.reject(t),e(t)}}),s.promise}}},l=function(n,o,s,l){var f,h=a(),p=function(t){try{return(C(o)?o:r)(t)}catch(n){return e(n),c(n)}},$=function(t){try{return(C(s)?s:i)(t)}catch(n){return e(n),c(n)}},d=function(t){try{return(C(l)?l:r)(t)}catch(n){e(n)}};return t(function(){u(n).then(function(t){f||(f=!0,h.resolve(u(t).then(p,$,d)))},function(t){f||(f=!0,h.resolve($(t)))},function(t){f||h.notify(d(t))})}),h.promise};return{defer:a,reject:c,when:l,all:s}}function Cn(){var t=10,e=r("$rootScope"),n=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,s,a,u){function l(){this.$id=c(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function f(t){if(g.$$phase)throw e("inprog","{0} already in progress",g.$$phase);g.$$phase=t}function h(){g.$$phase=null}function p(t,e){var n=a(t);return ne(n,e),n}function d(t,e,n){do t.$$listenerCount[n]-=e,0===t.$$listenerCount[n]&&delete t.$$listenerCount[n];while(t=t.$parent)}function v(){}l.prototype={constructor:l,$new:function(t){var e,n;return t?(n=new l,n.$root=this.$root,n.$$asyncQueue=this.$$asyncQueue,n.$$postDigestQueue=this.$$postDigestQueue):(e=function(){},e.prototype=this,n=new e,n.$id=c()),n["this"]=n,n.$$listeners={},n.$$listenerCount={},n.$parent=this,n.$$watchers=n.$$nextSibling=n.$$childHead=n.$$childTail=null,n.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=n,this.$$childTail=n):this.$$childHead=this.$$childTail=n,n},$watch:function(t,e,r){var i=this,o=p(t,"watch"),s=i.$$watchers,a={fn:e,last:v,get:o,exp:t,eq:!!r};if(n=null,!C(e)){var u=p(e||$,"listener");a.fn=function(t,e,n){u(n)}}if("string"==typeof t&&o.constant){var c=a.fn;a.fn=function(t,e,n){c.call(this,t,e,n),N(s,a)}}return s||(s=i.$$watchers=[]),s.unshift(a),function(){N(s,a),n=null}},$watchCollection:function(t,e){function n(){s=l(u);var t,e;if(y(s))if(i(s)){o!==f&&(o=f,p=o.length=0,c++),t=s.length,p!==t&&(c++,o.length=p=t);for(var n=0;t>n;n++)o[n]!==s[n]&&(c++,o[n]=s[n])}else{o!==h&&(o=h={},p=0,c++),t=0;for(e in s)s.hasOwnProperty(e)&&(t++,o.hasOwnProperty(e)?o[e]!==s[e]&&(c++,o[e]=s[e]):(p++,o[e]=s[e],c++));if(p>t){c++;for(e in o)o.hasOwnProperty(e)&&!s.hasOwnProperty(e)&&(p--,delete o[e])}}else o!==s&&(o=s,c++);return c}function r(){e(s,o,u)}var o,s,u=this,c=0,l=a(t),f=[],h={},p=0;return this.$watch(n,r)},$digest:function(){var r,i,o,a,u,c,l,p,$,d,g,m=this.$$asyncQueue,y=this.$$postDigestQueue,w=t,x=this,b=[];f("$digest"),n=null;do{for(c=!1,p=x;m.length;){try{g=m.shift(),g.scope.$eval(g.expression)}catch(S){h(),s(S)}n=null}t:do{if(a=p.$$watchers)for(u=a.length;u--;)try{if(r=a[u])if((i=r.get(p))===(o=r.last)||(r.eq?q(i,o):"number"==typeof i&&"number"==typeof o&&isNaN(i)&&isNaN(o))){if(r===n){c=!1;break t}}else c=!0,n=r,r.last=r.eq?D(i):i,r.fn(i,o===v?i:o,p),5>w&&($=4-w,b[$]||(b[$]=[]),d=C(r.exp)?"fn: "+(r.exp.name||r.exp.toString()):r.exp,d+="; newVal: "+H(i)+"; oldVal: "+H(o),b[$].push(d))}catch(S){h(),s(S)}if(!(l=p.$$childHead||p!==x&&p.$$nextSibling))for(;p!==x&&!(l=p.$$nextSibling);)p=p.$parent}while(p=l);if((c||m.length)&&!w--)throw h(),e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,H(b))}while(c||m.length);for(h();y.length;)try{y.shift()()}catch(S){s(S)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==g&&(o(this.$$listenerCount,_(null,d,this)),t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t.$$childTail==this&&(t.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null)}},$eval:function(t,e){return a(t)(this,e)},$evalAsync:function(t){g.$$phase||g.$$asyncQueue.length||u.defer(function(){g.$$asyncQueue.length&&g.$digest()}),this.$$asyncQueue.push({scope:this,expression:t})},$$postDigest:function(t){this.$$postDigestQueue.push(t)},$apply:function(t){try{return f("$apply"),this.$eval(t)}catch(e){s(e)}finally{h();try{g.$digest()}catch(e){throw s(e),e}}},$on:function(t,e){var n=this.$$listeners[t];n||(this.$$listeners[t]=n=[]),n.push(e);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){n[j(n,e)]=null,d(i,1,t)}},$emit:function(t){var e,n,r,i=[],o=this,a=!1,u={name:t,targetScope:o,stopPropagation:function(){a=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},c=V([u],arguments,1);do{for(e=o.$$listeners[t]||i,u.currentScope=o,n=0,r=e.length;r>n;n++)if(e[n])try{e[n].apply(null,c)}catch(l){s(l)}else e.splice(n,1),n--,r--;if(a)return u;o=o.$parent}while(o);return u},$broadcast:function(t){for(var e,n,r,i=this,o=i,a=i,u={name:t,targetScope:i,preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},c=V([u],arguments,1);o=a;){for(u.currentScope=o,e=o.$$listeners[t]||[],n=0,r=e.length;r>n;n++)if(e[n])try{e[n].apply(null,c)}catch(l){s(l)}else e.splice(n,1),n--,r--;if(!(a=o.$$listenerCount[t]&&o.$$childHead||o!==i&&o.$$nextSibling))for(;o!==i&&!(a=o.$$nextSibling);)o=o.$parent}return u}};var g=new l;return g}]}function En(){var t=/^\s*(https?|ftp|mailto|tel|file):/,e=/^\s*(https?|ftp|file):|data:image\//;this.aHrefSanitizationWhitelist=function(e){return m(e)?(t=e,this):t},this.imgSrcSanitizationWhitelist=function(t){return m(t)?(e=t,this):e},this.$get=function(){return function(n,r){var i,o=r?e:t;return lr&&!(lr>=8)||(i=Nn(n).href,""===i||i.match(o))?n:"unsafe:"+i}}}function kn(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}function An(t){if("self"===t)return t;if(w(t)){if(t.indexOf("***")>-1)throw ni("iwcard","Illegal sequence *** in string matcher. String: {0}",t);return t=kn(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(E(t))return new RegExp("^"+t.source+"$");throw ni("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function On(t){var e=[];return m(t)&&o(t,function(t){e.push(An(t))}),e}function Tn(){this.SCE_CONTEXTS=ri;var t=["self"],e=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(t=On(e)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(e=On(t)),e},this.$get=["$injector",function(r){function i(t,e){return"self"===t?Dn(e):!!t.exec(e.href)}function o(n){var r,o,s=Nn(n.toString()),a=!1;for(r=0,o=t.length;o>r;r++)if(i(t[r],s)){a=!0;break}if(a)for(r=0,o=e.length;o>r;r++)if(i(e[r],s)){a=!1;break}return a}function s(t){var e=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(e.prototype=new t),e.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},e.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},e}function a(t,e){var r=h.hasOwnProperty(t)?h[t]:null;if(!r)throw ni("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,e);if(null===e||e===n||""===e)return e;if("string"!=typeof e)throw ni("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new r(e)}function u(t){return t instanceof f?t.$$unwrapTrustedValue():t}function c(t,e){if(null===e||e===n||""===e)return e;var r=h.hasOwnProperty(t)?h[t]:null;if(r&&e instanceof r)return e.$$unwrapTrustedValue();if(t===ri.RESOURCE_URL){if(o(e))return e;throw ni("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",e.toString())}if(t===ri.HTML)return l(e);throw ni("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(){throw ni("unsafe","Attempting to use an unsafe value in a safe context.")};r.has("$sanitize")&&(l=r.get("$sanitize"));var f=s(),h={};return h[ri.HTML]=s(f),h[ri.CSS]=s(f),h[ri.URL]=s(f),h[ri.JS]=s(f),h[ri.RESOURCE_URL]=s(h[ri.URL]),{trustAs:a,getTrusted:c,valueOf:u}}]}function Mn(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sniffer","$sceDelegate",function(e,n,r){if(t&&n.msie&&n.msieDocumentMode<8)throw ni("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var i=D(ri);i.isEnabled=function(){return t},i.trustAs=r.trustAs,i.getTrusted=r.getTrusted,i.valueOf=r.valueOf,t||(i.trustAs=i.getTrusted=function(t,e){return e},i.valueOf=d),i.parseAs=function(t,n){var r=e(n);return r.literal&&r.constant?r:function(e,n){return i.getTrusted(t,r(e,n))}};var s=i.parseAs,a=i.getTrusted,u=i.trustAs;return o(ri,function(t,e){var n=sr(e);i[ce("parse_as_"+n)]=function(e){return s(t,e)},i[ce("get_trusted_"+n)]=function(e){return a(t,e)},i[ce("trust_as_"+n)]=function(e){return u(t,e)}}),i}]}function Pn(){this.$get=["$window","$document",function(t,e){var n,r,i={},o=h((/android (\d+)/.exec(sr((t.navigator||{}).userAgent))||[])[1]),s=/Boxee/i.test((t.navigator||{}).userAgent),a=e[0]||{},u=a.documentMode,c=/^(Moz|webkit|O|ms)(?=[A-Z])/,l=a.body&&a.body.style,f=!1,p=!1;if(l){for(var $ in l)if(r=c.exec($)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in l&&"webkit"),f=!!("transition"in l||n+"Transition"in l),p=!!("animation"in l||n+"Animation"in l),!o||f&&p||(f=w(a.body.style.webkitTransition),p=w(a.body.style.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||4>o||s),hashchange:"onhashchange"in t&&(!u||u>7),hasEvent:function(t){if("input"==t&&9==lr)return!1;if(g(i[t])){var e=a.createElement("div");i[t]="on"+t in e}return i[t]},csp:I(),vendorPrefix:n,transitions:f,animations:p,android:o,msie:lr,msieDocumentMode:u}}]}function jn(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(t,e,n,r){function i(i,s,a){var u,c=n.defer(),l=c.promise,f=m(a)&&!a;return u=e.defer(function(){try{c.resolve(i())}catch(e){c.reject(e),r(e)}finally{delete o[l.$$timeoutId]}f||t.$apply()},s),l.$$timeoutId=u,o[u]=c,l}var o={};return i.cancel=function(t){return t&&t.$$timeoutId in o?(o[t.$$timeoutId].reject("canceled"),delete o[t.$$timeoutId],e.defer.cancel(t.$$timeoutId)):!1},i}]}function Nn(t){var e=t;return lr&&(ii.setAttribute("href",e),e=ii.href),ii.setAttribute("href",e),{href:ii.href,protocol:ii.protocol?ii.protocol.replace(/:$/,""):"",host:ii.host,search:ii.search?ii.search.replace(/^\?/,""):"",hash:ii.hash?ii.hash.replace(/^#/,""):"",hostname:ii.hostname,port:ii.port,pathname:"/"===ii.pathname.charAt(0)?ii.pathname:"/"+ii.pathname}}function Dn(t){var e=w(t)?Nn(t):t;return e.protocol===oi.protocol&&e.host===oi.host}function Rn(){this.$get=v(t)}function qn(t){function e(r,i){if(y(r)){var s={};return o(r,function(t,n){s[n]=e(n,t)}),s}return t.factory(r+n,i)}var n="Filter";this.register=e,this.$get=["$injector",function(t){return function(e){return t.get(e+n)}}],e("currency",Vn),e("date",Wn),e("filter",In),e("json",Jn),e("limitTo",Qn),e("lowercase",li),e("number",Un),e("orderBy",Zn),e("uppercase",fi)}function In(){return function(t,e,n){if(!S(t))return t;var r=typeof n,i=[];i.check=function(t){for(var e=0;e<i.length;e++)if(!i[e](t))return!1;return!0},"function"!==r&&(n="boolean"===r&&n?function(t,e){return yr.equals(t,e)}:function(t,e){return e=(""+e).toLowerCase(),(""+t).toLowerCase().indexOf(e)>-1});var o=function(t,e){if("string"==typeof e&&"!"===e.charAt(0))return!o(t,e.substr(1));switch(typeof t){case"boolean":case"number":case"string":return n(t,e);case"object":switch(typeof e){case"object":return n(t,e);default:for(var r in t)if("$"!==r.charAt(0)&&o(t[r],e))return!0}return!1;case"array":for(var i=0;i<t.length;i++)if(o(t[i],e))return!0;return!1;default:return!1}};switch(typeof e){case"boolean":case"number":case"string":e={$:e};case"object":for(var s in e)!function(t){"undefined"!=typeof e[t]&&i.push(function(n){return o("$"==t?n:ie(n,t),e[t])})}(s);break;case"function":i.push(e);break;default:return t}for(var a=[],u=0;u<t.length;u++){var c=t[u];i.check(c)&&a.push(c)}return a}}function Vn(t){var e=t.NUMBER_FORMATS;return function(t,n){return g(n)&&(n=e.CURRENCY_SYM),_n(t,e.PATTERNS[1],e.GROUP_SEP,e.DECIMAL_SEP,2).replace(/\u00A4/g,n)}}function Un(t){var e=t.NUMBER_FORMATS;return function(t,n){return _n(t,e.PATTERNS[0],e.GROUP_SEP,e.DECIMAL_SEP,n)}}function _n(t,e,n,r,i){if(isNaN(t)||!isFinite(t))return"";var o=0>t;t=Math.abs(t);var s=t+"",a="",u=[],c=!1;if(-1!==s.indexOf("e")){var l=s.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>i+1?s="0":(a=s,c=!0)}if(c)i>0&&t>-1&&1>t&&(a=t.toFixed(i));else{var f=(s.split(si)[1]||"").length;g(i)&&(i=Math.min(Math.max(e.minFrac,f),e.maxFrac));var h=Math.pow(10,i);t=Math.round(t*h)/h;var p=(""+t).split(si),$=p[0];p=p[1]||"";var d,v=0,m=e.lgSize,y=e.gSize;if($.length>=m+y)for(v=$.length-m,d=0;v>d;d++)(v-d)%y===0&&0!==d&&(a+=n),a+=$.charAt(d);for(d=v;d<$.length;d++)($.length-d)%m===0&&0!==d&&(a+=n),a+=$.charAt(d);for(;p.length<i;)p+="0";i&&"0"!==i&&(a+=r+p.substr(0,i))}return u.push(o?e.negPre:e.posPre),u.push(a),u.push(o?e.negSuf:e.posSuf),u.join("")}function Fn(t,e,n){var r="";for(0>t&&(r="-",t=-t),t=""+t;t.length<e;)t="0"+t;return n&&(t=t.substr(t.length-e)),r+t}function Hn(t,e,n,r){return n=n||0,function(i){var o=i["get"+t]();return(n>0||o>-n)&&(o+=n),0===o&&-12==n&&(o=12),Fn(o,e,r)}}function Ln(t,e){return function(n,r){var i=n["get"+t](),o=ar(e?"SHORT"+t:t);return r[o][i]}}function Bn(t){var e=-1*t.getTimezoneOffset(),n=e>=0?"+":"";return n+=Fn(Math[e>0?"floor":"ceil"](e/60),2)+Fn(Math.abs(e%60),2)}function zn(t,e){return t.getHours()<12?e.AMPMS[0]:e.AMPMS[1]}function Wn(t){function e(t){var e;if(e=t.match(n)){var r=new Date(0),i=0,o=0,s=e[8]?r.setUTCFullYear:r.setFullYear,a=e[8]?r.setUTCHours:r.setHours;e[9]&&(i=h(e[9]+e[10]),o=h(e[9]+e[11])),s.call(r,h(e[1]),h(e[2])-1,h(e[3]));var u=h(e[4]||0)-i,c=h(e[5]||0)-o,l=h(e[6]||0),f=Math.round(1e3*parseFloat("0."+(e[7]||0)));return a.call(r,u,c,l,f),r}return t}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r){var i,s,a="",u=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,w(n)&&(n=ci.test(n)?h(n):e(n)),x(n)&&(n=new Date(n)),!b(n))return n;for(;r;)s=ui.exec(r),s?(u=V(u,s,1),r=u.pop()):(u.push(r),r=null);return o(u,function(e){i=ai[e],a+=i?i(n,t.DATETIME_FORMATS):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),a}}function Jn(){return function(t){return H(t,!0)}}function Qn(){return function(t,e){if(!S(t)&&!w(t))return t;if(e=h(e),w(t))return e?e>=0?t.slice(0,e):t.slice(e,t.length):""; |
|
|
var n,r,i=[];for(e>t.length?e=t.length:e<-t.length&&(e=-t.length),e>0?(n=0,r=e):(n=t.length+e,r=t.length);r>n;n++)i.push(t[n]);return i}}function Zn(t){return function(e,n,r){function i(t,e){for(var r=0;r<n.length;r++){var i=n[r](t,e);if(0!==i)return i}return 0}function o(t,e){return B(e)?function(e,n){return t(n,e)}:t}function s(t,e){var n=typeof t,r=typeof e;return n==r?("string"==n&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e?0:e>t?-1:1):r>n?-1:1}if(!S(e))return e;if(!n)return e;n=S(n)?n:[n],n=M(n,function(e){var n=!1,r=e||d;return w(e)&&(("+"==e.charAt(0)||"-"==e.charAt(0))&&(n="-"==e.charAt(0),e=e.substring(1)),r=t(e)),o(function(t,e){return s(r(t),r(e))},n)});for(var a=[],u=0;u<e.length;u++)a.push(e[u]);return a.sort(o(i,r))}}function Yn(t){return C(t)&&(t={link:t}),t.restrict=t.restrict||"AC",v(t)}function Kn(t,e){function n(e,n){n=n?"-"+X(n,"-"):"",t.removeClass((e?Ci:Si)+n).addClass((e?Si:Ci)+n)}var r=this,i=t.parent().controller("form")||$i,s=0,a=r.$error={},u=[];r.$name=e.name||e.ngForm,r.$dirty=!1,r.$pristine=!0,r.$valid=!0,r.$invalid=!1,i.$addControl(r),t.addClass(Ei),n(!0),r.$addControl=function(t){re(t.$name,"input"),u.push(t),t.$name&&(r[t.$name]=t)},r.$removeControl=function(t){t.$name&&r[t.$name]===t&&delete r[t.$name],o(a,function(e,n){r.$setValidity(n,!0,t)}),N(u,t)},r.$setValidity=function(t,e,o){var u=a[t];if(e)u&&(N(u,o),u.length||(s--,s||(n(e),r.$valid=!0,r.$invalid=!1),a[t]=!1,n(!0,t),i.$setValidity(t,!0,r)));else{if(s||n(e),u){if(P(u,o))return}else a[t]=u=[],s++,n(!1,t),i.$setValidity(t,!1,r);u.push(o),r.$valid=!1,r.$invalid=!0}},r.$setDirty=function(){t.removeClass(Ei).addClass(ki),r.$dirty=!0,r.$pristine=!1,i.$setDirty()},r.$setPristine=function(){t.removeClass(ki).addClass(Ei),r.$dirty=!1,r.$pristine=!0,o(u,function(t){t.$setPristine()})}}function Gn(t,e,r,i){return t.$setValidity(e,r),r?i:n}function Xn(t,e,n,i,o,s){if(!o.android){var a=!1;e.on("compositionstart",function(){a=!0}),e.on("compositionend",function(){a=!1})}var u=function(){if(!a){var r=e.val();B(n.ngTrim||"T")&&(r=xr(r)),i.$viewValue!==r&&(t.$$phase?i.$setViewValue(r):t.$apply(function(){i.$setViewValue(r)}))}};if(o.hasEvent("input"))e.on("input",u);else{var c,l=function(){c||(c=s.defer(function(){u(),c=null}))};e.on("keydown",function(t){var e=t.keyCode;91===e||e>15&&19>e||e>=37&&40>=e||l()}),o.hasEvent("paste")&&e.on("paste cut",l)}e.on("change",u),i.$render=function(){e.val(i.$isEmpty(i.$viewValue)?"":i.$viewValue)};var f,p,$=n.ngPattern;if($){var d=function(t,e){return Gn(i,"pattern",i.$isEmpty(e)||t.test(e),e)};p=$.match(/^\/(.*)\/([gim]*)$/),p?($=new RegExp(p[1],p[2]),f=function(t){return d($,t)}):f=function(n){var i=t.$eval($);if(!i||!i.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",$,i,z(e));return d(i,n)},i.$formatters.push(f),i.$parsers.push(f)}if(n.ngMinlength){var v=h(n.ngMinlength),g=function(t){return Gn(i,"minlength",i.$isEmpty(t)||t.length>=v,t)};i.$parsers.push(g),i.$formatters.push(g)}if(n.ngMaxlength){var m=h(n.ngMaxlength),y=function(t){return Gn(i,"maxlength",i.$isEmpty(t)||t.length<=m,t)};i.$parsers.push(y),i.$formatters.push(y)}}function tr(t,e,r,i,o,s){if(Xn(t,e,r,i,o,s),i.$parsers.push(function(t){var e=i.$isEmpty(t);return e||wi.test(t)?(i.$setValidity("number",!0),""===t?null:e?t:parseFloat(t)):(i.$setValidity("number",!1),n)}),i.$formatters.push(function(t){return i.$isEmpty(t)?"":""+t}),r.min){var a=function(t){var e=parseFloat(r.min);return Gn(i,"min",i.$isEmpty(t)||t>=e,t)};i.$parsers.push(a),i.$formatters.push(a)}if(r.max){var u=function(t){var e=parseFloat(r.max);return Gn(i,"max",i.$isEmpty(t)||e>=t,t)};i.$parsers.push(u),i.$formatters.push(u)}i.$formatters.push(function(t){return Gn(i,"number",i.$isEmpty(t)||x(t),t)})}function er(t,e,n,r,i,o){Xn(t,e,n,r,i,o);var s=function(t){return Gn(r,"url",r.$isEmpty(t)||mi.test(t),t)};r.$formatters.push(s),r.$parsers.push(s)}function nr(t,e,n,r,i,o){Xn(t,e,n,r,i,o);var s=function(t){return Gn(r,"email",r.$isEmpty(t)||yi.test(t),t)};r.$formatters.push(s),r.$parsers.push(s)}function rr(t,e,n,r){g(n.name)&&e.attr("name",c()),e.on("click",function(){e[0].checked&&t.$apply(function(){r.$setViewValue(n.value)})}),r.$render=function(){var t=n.value;e[0].checked=t==r.$viewValue},n.$observe("value",r.$render)}function ir(t,e,n,r){var i=n.ngTrueValue,o=n.ngFalseValue;w(i)||(i=!0),w(o)||(o=!1),e.on("click",function(){t.$apply(function(){r.$setViewValue(e[0].checked)})}),r.$render=function(){e[0].checked=r.$viewValue},r.$isEmpty=function(t){return t!==i},r.$formatters.push(function(t){return t===i}),r.$parsers.push(function(t){return t?i:o})}function or(t,e){return t="ngClass"+t,function(){return{restrict:"AC",link:function(n,r,i){function s(t){if(e===!0||n.$index%2===e){var r=a(t||"");u?q(t,u)||i.$updateClass(r,a(u)):i.$addClass(r)}u=D(t)}function a(t){if(S(t))return t.join(" ");if(y(t)){var e=[];return o(t,function(t,n){t&&e.push(n)}),e.join(" ")}return t}var u;n.$watch(i[t],s,!0),i.$observe("class",function(){s(n.$eval(i[t]))}),"ngClass"!==t&&n.$watch("$index",function(r,o){var s=1&r;if(s!==o&1){var u=a(n.$eval(i[t]));s===e?i.$addClass(u):i.$removeClass(u)}})}}}}var sr=function(t){return w(t)?t.toLowerCase():t},ar=function(t){return w(t)?t.toUpperCase():t},ur=function(t){return w(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},cr=function(t){return w(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(-33&t.charCodeAt(0))}):t};"i"!=="I".toLowerCase()&&(sr=ur,ar=cr);var lr,fr,hr,pr,$r,dr=[].slice,vr=[].push,gr=Object.prototype.toString,mr=r("ng"),yr=(t.angular,t.angular||(t.angular={})),wr=["0","0","0"];lr=h((/msie (\d+)/.exec(sr(navigator.userAgent))||[])[1]),isNaN(lr)&&(lr=h((/trident\/.*; rv:(\d+)/.exec(sr(navigator.userAgent))||[])[1])),$.$inject=[],d.$inject=[];var xr=function(){return String.prototype.trim?function(t){return w(t)?t.trim():t}:function(t){return w(t)?t.replace(/^\s\s*/,"").replace(/\s\s*$/,""):t}}();$r=9>lr?function(t){return t=t.nodeName?t:t[0],t.scopeName&&"HTML"!=t.scopeName?ar(t.scopeName+":"+t.nodeName):t.nodeName}:function(t){return t.nodeName?t.nodeName:t[0].nodeName};var br=/[A-Z]/g,Sr={full:"1.2.9",major:1,minor:2,dot:9,codeName:"enchanted-articulacy"},Cr=fe.cache={},Er=fe.expando="ng-"+(new Date).getTime(),kr=1,Ar=t.document.addEventListener?function(t,e,n){t.addEventListener(e,n,!1)}:function(t,e,n){t.attachEvent("on"+e,n)},Or=t.document.removeEventListener?function(t,e,n){t.removeEventListener(e,n,!1)}:function(t,e,n){t.detachEvent("on"+e,n)},Tr=/([\:\-\_]+(.))/g,Mr=/^moz([A-Z])/,Pr=r("jqLite"),jr=fe.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===e.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),fe(t).on("load",r))},toString:function(){var t=[];return o(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(t){return fr(t>=0?this[t]:this[this.length+t])},length:0,push:vr,sort:[].sort,splice:[].splice},Nr={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){Nr[sr(t)]=t});var Dr={};o("input,select,option,textarea,button,form,details".split(","),function(t){Dr[ar(t)]=!0}),o({data:ge,inheritedData:Se,scope:function(t){return fr(t).data("$scope")||Se(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return fr(t).data("$isolateScope")||fr(t).data("$isolateScopeNoTemplate")},controller:be,injector:function(t){return Se(t,"$injector")},removeAttr:function(t,e){t.removeAttribute(e)},hasClass:me,css:function(t,e,r){if(e=ce(e),!m(r)){var i;return 8>=lr&&(i=t.currentStyle&&t.currentStyle[e],""===i&&(i="auto")),i=i||t.style[e],8>=lr&&(i=""===i?n:i),i}t.style[e]=r},attr:function(t,e,r){var i=sr(e);if(Nr[i]){if(!m(r))return t[e]||(t.attributes.getNamedItem(e)||$).specified?i:n;r?(t[e]=!0,t.setAttribute(e,i)):(t[e]=!1,t.removeAttribute(i))}else if(m(r))t.setAttribute(e,r);else if(t.getAttribute){var o=t.getAttribute(e,2);return null===o?n:o}},prop:function(t,e,n){return m(n)?void(t[e]=n):t[e]},text:function(){function t(t,n){var r=e[t.nodeType];return g(n)?r?t[r]:"":void(t[r]=n)}var e=[];return 9>lr?(e[1]="innerText",e[3]="nodeValue"):e[1]=e[3]="textContent",t.$dv="",t}(),val:function(t,e){if(g(e)){if("SELECT"===$r(t)&&t.multiple){var n=[];return o(t.options,function(t){t.selected&&n.push(t.value||t.text)}),0===n.length?null:n}return t.value}t.value=e},html:function(t,e){if(g(e))return t.innerHTML;for(var n=0,r=t.childNodes;n<r.length;n++)pe(r[n]);t.innerHTML=e},empty:Ce},function(t,e){fe.prototype[e]=function(e,r){var i,o;if(t!==Ce&&(2==t.length&&t!==me&&t!==be?e:r)===n){if(y(e)){for(i=0;i<this.length;i++)if(t===ge)t(this[i],e);else for(o in e)t(this[i],o,e[o]);return this}for(var s=t.$dv,a=s===n?Math.min(this.length,1):this.length,u=0;a>u;u++){var c=t(this[u],e,r);s=s?s+c:c}return s}for(i=0;i<this.length;i++)t(this[i],e,r);return this}}),o({removeData:de,dealoc:pe,on:function co(t,n,r,i){if(m(i))throw Pr("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var s=ve(t,"events"),a=ve(t,"handle");s||ve(t,"events",s={}),a||ve(t,"handle",a=ke(t,s)),o(n.split(" "),function(n){var i=s[n];if(!i){if("mouseenter"==n||"mouseleave"==n){var o=e.body.contains||e.body.compareDocumentPosition?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1};s[n]=[];var u={mouseleave:"mouseout",mouseenter:"mouseover"};co(t,u[n],function(t){var e=this,r=t.relatedTarget;(!r||r!==e&&!o(e,r))&&a(t,n)})}else Ar(t,n,a),s[n]=[];i=s[n]}i.push(r)})},off:$e,one:function(t,e,n){t=fr(t),t.on(e,function r(){t.off(e,n),t.off(e,r)}),t.on(e,n)},replaceWith:function(t,e){var n,r=t.parentNode;pe(t),o(new fe(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(t){var e=[];return o(t.childNodes,function(t){1===t.nodeType&&e.push(t)}),e},contents:function(t){return t.childNodes||[]},append:function(t,e){o(new fe(e),function(e){(1===t.nodeType||11===t.nodeType)&&t.appendChild(e)})},prepend:function(t,e){if(1===t.nodeType){var n=t.firstChild;o(new fe(e),function(e){t.insertBefore(e,n)})}},wrap:function(t,e){e=fr(e)[0];var n=t.parentNode;n&&n.replaceChild(e,t),e.appendChild(t)},remove:function(t){pe(t);var e=t.parentNode;e&&e.removeChild(t)},after:function(t,e){var n=t,r=t.parentNode;o(new fe(e),function(t){r.insertBefore(t,n.nextSibling),n=t})},addClass:we,removeClass:ye,toggleClass:function(t,e,n){g(n)&&(n=!me(t,e)),(n?we:ye)(t,e)},parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},next:function(t){if(t.nextElementSibling)return t.nextElementSibling;for(var e=t.nextSibling;null!=e&&1!==e.nodeType;)e=e.nextSibling;return e},find:function(t,e){return t.getElementsByTagName?t.getElementsByTagName(e):[]},clone:he,triggerHandler:function(t,e,n){var r=(ve(t,"events")||{})[e];n=n||[];var i=[{preventDefault:$,stopPropagation:$}];o(r,function(e){e.apply(t,i.concat(n))})}},function(t,e){fe.prototype[e]=function(e,n,r){for(var i,o=0;o<this.length;o++)g(i)?(i=t(this[o],e,n,r),m(i)&&(i=fr(i))):xe(i,t(this[o],e,n,r));return m(i)?i:this},fe.prototype.bind=fe.prototype.on,fe.prototype.unbind=fe.prototype.off}),Oe.prototype={put:function(t,e){this[Ae(t)]=e},get:function(t){return this[Ae(t)]},remove:function(t){var e=this[t=Ae(t)];return delete this[t],e}};var Rr=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,qr=/,/,Ir=/^\s*(_?)(\S+?)\1\s*$/,Vr=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Ur=r("$injector"),_r=r("$animate"),Fr=["$provide",function(t){this.$$selectors={},this.register=function(e,n){var r=e+"-animation";if(e&&"."!=e.charAt(0))throw _r("notcsel","Expecting class selector starting with '.' got '{0}'.",e);this.$$selectors[e.substr(1)]=r,t.factory(r,n)},this.classNameFilter=function(t){return 1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null),this.$$classNameFilter},this.$get=["$timeout",function(t){return{enter:function(e,n,r,i){r?r.after(e):(n&&n[0]||(n=r.parent()),n.append(e)),i&&t(i,0,!1)},leave:function(e,n){e.remove(),n&&t(n,0,!1)},move:function(t,e,n,r){this.enter(t,e,n,r)},addClass:function(e,n,r){n=w(n)?n:S(n)?n.join(" "):"",o(e,function(t){we(t,n)}),r&&t(r,0,!1)},removeClass:function(e,n,r){n=w(n)?n:S(n)?n.join(" "):"",o(e,function(t){ye(t,n)}),r&&t(r,0,!1)},enabled:$}}]}],Hr=r("$compile");qe.$inject=["$provide","$$sanitizeUriProvider"];var Lr=/^(x[\:\-_]|data[\:\-_])/i,Br=r("$interpolate"),zr=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Wr={http:80,https:443,ftp:21},Jr=r("$location");cn.prototype=un.prototype=an.prototype={$$html5:!1,$$replace:!1,absUrl:ln("$$absUrl"),url:function(t,e){if(g(t))return this.$$url;var n=zr.exec(t);return n[1]&&this.path(decodeURIComponent(n[1])),(n[2]||n[1])&&this.search(n[3]||""),this.hash(n[5]||"",e),this},protocol:ln("$$protocol"),host:ln("$$host"),port:ln("$$port"),path:fn("$$path",function(t){return"/"==t.charAt(0)?t:"/"+t}),search:function(t,e){switch(arguments.length){case 0:return this.$$search;case 1:if(w(t))this.$$search=J(t);else{if(!y(t))throw Jr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");this.$$search=t}break;default:g(e)||null===e?delete this.$$search[t]:this.$$search[t]=e}return this.$$compose(),this},hash:fn("$$hash",d),replace:function(){return this.$$replace=!0,this}};var Qr,Zr=r("$parse"),Yr={},Kr={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:$,"+":function(t,e,r,i){return r=r(t,e),i=i(t,e),m(r)?m(i)?r+i:r:m(i)?i:n},"-":function(t,e,n,r){return n=n(t,e),r=r(t,e),(m(n)?n:0)-(m(r)?r:0)},"*":function(t,e,n,r){return n(t,e)*r(t,e)},"/":function(t,e,n,r){return n(t,e)/r(t,e)},"%":function(t,e,n,r){return n(t,e)%r(t,e)},"^":function(t,e,n,r){return n(t,e)^r(t,e)},"=":$,"===":function(t,e,n,r){return n(t,e)===r(t,e)},"!==":function(t,e,n,r){return n(t,e)!==r(t,e)},"==":function(t,e,n,r){return n(t,e)==r(t,e)},"!=":function(t,e,n,r){return n(t,e)!=r(t,e)},"<":function(t,e,n,r){return n(t,e)<r(t,e)},">":function(t,e,n,r){return n(t,e)>r(t,e)},"<=":function(t,e,n,r){return n(t,e)<=r(t,e)},">=":function(t,e,n,r){return n(t,e)>=r(t,e)},"&&":function(t,e,n,r){return n(t,e)&&r(t,e)},"||":function(t,e,n,r){return n(t,e)||r(t,e)},"&":function(t,e,n,r){return n(t,e)&r(t,e)},"|":function(t,e,n,r){return r(t,e)(t,e,n(t,e))},"!":function(t,e,n){return!n(t,e)}},Gr={n:"\n",f:"\f",r:"\r",t:" ",v:"","'":"'",'"':'"'},Xr=function(t){this.options=t};Xr.prototype={constructor:Xr,lex:function(t){this.text=t,this.index=0,this.ch=n,this.lastCh=":",this.tokens=[];for(var e,r=[];this.index<this.text.length;){if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&"{"===r[0]&&(e=this.tokens[this.tokens.length-1])&&(e.json=-1===e.text.indexOf("."));else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&r.unshift(this.ch),this.is("}]")&&r.shift(),this.index++;else{if(this.isWhitespace(this.ch)){this.index++;continue}var i=this.ch+this.peek(),o=i+this.peek(2),s=Kr[this.ch],a=Kr[i],u=Kr[o];u?(this.tokens.push({index:this.index,text:o,fn:u}),this.index+=3):a?(this.tokens.push({index:this.index,text:i,fn:a}),this.index+=2):s?(this.tokens.push({index:this.index,text:this.ch,fn:s,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(t){return-1!==t.indexOf(this.ch)},was:function(t){return-1!==t.indexOf(this.lastCh)},peek:function(t){var e=t||1;return this.index+e<this.text.length?this.text.charAt(this.index+e):!1},isNumber:function(t){return t>="0"&&"9">=t},isWhitespace:function(t){return" "===t||"\r"===t||" "===t||"\n"===t||""===t||" "===t},isIdent:function(t){return t>="a"&&"z">=t||t>="A"&&"Z">=t||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,e,n){n=n||this.index;var r=m(e)?"s "+e+"-"+this.index+" ["+this.text.substring(e,n)+"]":" "+n;throw Zr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",e=this.index;this.index<this.text.length;){var n=sr(this.text.charAt(this.index));if("."==n||this.isNumber(n))t+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))t+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}t=1*t,this.tokens.push({index:e,text:t,json:!0,fn:function(){return t}})},readIdent:function(){for(var t,e,n,r,i=this,o="",s=this.index;this.index<this.text.length&&(r=this.text.charAt(this.index),"."===r||this.isIdent(r)||this.isNumber(r));)"."===r&&(t=this.index),o+=r,this.index++;if(t)for(e=this.index;e<this.text.length;){if(r=this.text.charAt(e),"("===r){n=o.substr(t-s+1),o=o.substr(0,t-s),this.index=e;break}if(!this.isWhitespace(r))break;e++}var a={index:s,text:o};if(Kr.hasOwnProperty(o))a.fn=Kr[o],a.json=Kr[o];else{var u=wn(o,this.options,this.text);a.fn=f(function(t,e){return u(t,e)},{assign:function(t,e){return vn(t,o,e,i.text,i.options)}})}this.tokens.push(a),n&&(this.tokens.push({index:t,text:".",json:!1}),this.tokens.push({index:t+1,text:n,json:!1}))},readString:function(t){var e=this.index;this.index++;for(var n="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var s=this.text.substring(this.index+1,this.index+5);s.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+s+"]"),this.index+=4,n+=String.fromCharCode(parseInt(s,16))}else{var a=Gr[o];n+=a?a:o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:e,text:r,string:n,json:!0,fn:function(){return n}});n+=o}this.index++}this.throwError("Unterminated quote",e)}};var ti=function(t,e,n){this.lexer=t,this.$filter=e,this.options=n};ti.ZERO=function(){return 0},ti.prototype={constructor:ti,parse:function(t,e){this.text=t,this.json=e,this.tokens=this.lexer.lex(t),e&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:t,index:0})});var n=e?this.primary():this.statements();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),n.literal=!!n.literal,n.constant=!!n.constant,n},primary:function(){var t;if(this.expect("("))t=this.filterChain(),this.consume(")");else if(this.expect("["))t=this.arrayDeclaration();else if(this.expect("{"))t=this.object();else{var e=this.expect();t=e.fn,t||this.throwError("not a primary expression",e),e.json&&(t.constant=!0,t.literal=!0)}for(var n,r;n=this.expect("(","[",".");)"("===n.text?(t=this.functionCall(t,r),r=null):"["===n.text?(r=t,t=this.objectIndex(t)):"."===n.text?(r=t,t=this.fieldAccess(t)):this.throwError("IMPOSSIBLE");return t},throwError:function(t,e){throw Zr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",e.text,t,e.index+1,this.text,this.text.substring(e.index))},peekToken:function(){if(0===this.tokens.length)throw Zr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,e,n,r){if(this.tokens.length>0){var i=this.tokens[0],o=i.text;if(o===t||o===e||o===n||o===r||!t&&!e&&!n&&!r)return i}return!1},expect:function(t,e,n,r){var i=this.peek(t,e,n,r);return i?(this.json&&!i.json&&this.throwError("is not valid json",i),this.tokens.shift(),i):!1},consume:function(t){this.expect(t)||this.throwError("is unexpected, expecting ["+t+"]",this.peek())},unaryFn:function(t,e){return f(function(n,r){return t(n,r,e)},{constant:e.constant})},ternaryFn:function(t,e,n){return f(function(r,i){return t(r,i)?e(r,i):n(r,i)},{constant:t.constant&&e.constant&&n.constant})},binaryFn:function(t,e,n){return f(function(r,i){return e(r,i,t,n)},{constant:t.constant&&n.constant})},statements:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.filterChain()),!this.expect(";"))return 1===t.length?t[0]:function(e,n){for(var r,i=0;i<t.length;i++){var o=t[i];o&&(r=o(e,n))}return r}},filterChain:function(){for(var t,e=this.expression();;){if(!(t=this.expect("|")))return e;e=this.binaryFn(e,t.fn,this.filter())}},filter:function(){for(var t=this.expect(),e=this.$filter(t.text),n=[];;){if(!(t=this.expect(":"))){var r=function(t,r,i){for(var o=[i],s=0;s<n.length;s++)o.push(n[s](t,r));return e.apply(t,o)};return function(){return r}}n.push(this.expression())}},expression:function(){return this.assignment()},assignment:function(){var t,e,n=this.ternary();return(e=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,e.index)+"] can not be assigned to",e),t=this.ternary(),function(e,r){return n.assign(e,t(e,r),r)}):n},ternary:function(){var t,e,n=this.logicalOR();return(e=this.expect("?"))?(t=this.ternary(),(e=this.expect(":"))?this.ternaryFn(n,t,this.ternary()):void this.throwError("expected :",e)):n},logicalOR:function(){for(var t,e=this.logicalAND();;){if(!(t=this.expect("||")))return e;e=this.binaryFn(e,t.fn,this.logicalAND())}},logicalAND:function(){var t,e=this.equality();return(t=this.expect("&&"))&&(e=this.binaryFn(e,t.fn,this.logicalAND())),e},equality:function(){var t,e=this.relational();return(t=this.expect("==","!=","===","!=="))&&(e=this.binaryFn(e,t.fn,this.equality())),e},relational:function(){var t,e=this.additive();return(t=this.expect("<",">","<=",">="))&&(e=this.binaryFn(e,t.fn,this.relational())),e},additive:function(){for(var t,e=this.multiplicative();t=this.expect("+","-");)e=this.binaryFn(e,t.fn,this.multiplicative());return e},multiplicative:function(){for(var t,e=this.unary();t=this.expect("*","/","%");)e=this.binaryFn(e,t.fn,this.unary());return e},unary:function(){var t;return this.expect("+")?this.primary():(t=this.expect("-"))?this.binaryFn(ti.ZERO,t.fn,this.unary()):(t=this.expect("!"))?this.unaryFn(t.fn,this.unary()):this.primary()},fieldAccess:function(t){var e=this,n=this.expect().text,r=wn(n,this.options,this.text);return f(function(e,n,i){return r(i||t(e,n),n)},{assign:function(r,i,o){return vn(t(r,o),n,i,e.text,e.options)}})},objectIndex:function(t){var e=this,r=this.expression();return this.consume("]"),f(function(i,o){var s,a,u=t(i,o),c=r(i,o);return u?(s=dn(u[c],e.text),s&&s.then&&e.options.unwrapPromises&&(a=s,"$$v"in s||(a.$$v=n,a.then(function(t){a.$$v=t})),s=s.$$v),s):n},{assign:function(n,i,o){var s=r(n,o),a=dn(t(n,o),e.text);return a[s]=i}})},functionCall:function(t,e){var n=[];if(")"!==this.peekToken().text)do n.push(this.expression());while(this.expect(","));this.consume(")");var r=this;return function(i,o){for(var s=[],a=e?e(i,o):i,u=0;u<n.length;u++)s.push(n[u](i,o));var c=t(i,o,a)||$;dn(a,r.text),dn(c,r.text);var l=c.apply?c.apply(a,s):c(s[0],s[1],s[2],s[3],s[4]);return dn(l,r.text)}},arrayDeclaration:function(){var t=[],e=!0;if("]"!==this.peekToken().text)do{var n=this.expression();t.push(n),n.constant||(e=!1)}while(this.expect(","));return this.consume("]"),f(function(e,n){for(var r=[],i=0;i<t.length;i++)r.push(t[i](e,n));return r},{literal:!0,constant:e})},object:function(){var t=[],e=!0;if("}"!==this.peekToken().text)do{var n=this.expect(),r=n.string||n.text;this.consume(":");var i=this.expression();t.push({key:r,value:i}),i.constant||(e=!1)}while(this.expect(","));return this.consume("}"),f(function(e,n){for(var r={},i=0;i<t.length;i++){var o=t[i];r[o.key]=o.value(e,n)}return r},{literal:!0,constant:e})}};var ei={},ni=r("$sce"),ri={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ii=e.createElement("a"),oi=Nn(t.location.href,!0);qn.$inject=["$provide"],Vn.$inject=["$locale"],Un.$inject=["$locale"];var si=".",ai={yyyy:Hn("FullYear",4),yy:Hn("FullYear",2,0,!0),y:Hn("FullYear",1),MMMM:Ln("Month"),MMM:Ln("Month",!0),MM:Hn("Month",2,1),M:Hn("Month",1,1),dd:Hn("Date",2),d:Hn("Date",1),HH:Hn("Hours",2),H:Hn("Hours",1),hh:Hn("Hours",2,-12),h:Hn("Hours",1,-12),mm:Hn("Minutes",2),m:Hn("Minutes",1),ss:Hn("Seconds",2),s:Hn("Seconds",1),sss:Hn("Milliseconds",3),EEEE:Ln("Day"),EEE:Ln("Day",!0),a:zn,Z:Bn},ui=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,ci=/^\-?\d+$/;Wn.$inject=["$locale"];var li=v(sr),fi=v(ar);Zn.$inject=["$parse"];var hi=v({restrict:"E",compile:function(t,n){return 8>=lr&&(n.href||n.name||n.$set("href",""),t.append(e.createComment("IE fix"))),n.href||n.name?void 0:function(t,e){e.on("click",function(t){e.attr("href")||t.preventDefault()})}}}),pi={};o(Nr,function(t,e){if("multiple"!=t){var n=Ie("ng-"+e);pi[n]=function(){return{priority:100,link:function(t,r,i){t.$watch(i[n],function(t){i.$set(e,!!t)})}}}}}),o(["src","srcset","href"],function(t){var e=Ie("ng-"+t);pi[e]=function(){return{priority:99,link:function(n,r,i){i.$observe(e,function(e){e&&(i.$set(t,e),lr&&r.prop(t,i[t]))})}}}});var $i={$addControl:$,$removeControl:$,$setValidity:$,$setDirty:$,$setPristine:$};Kn.$inject=["$element","$attrs","$scope"];var di=function(t){return["$timeout",function(e){var r={name:"form",restrict:t?"EAC":"E",controller:Kn,compile:function(){return{pre:function(t,r,i,o){if(!i.action){var s=function(t){t.preventDefault?t.preventDefault():t.returnValue=!1};Ar(r[0],"submit",s),r.on("$destroy",function(){e(function(){Or(r[0],"submit",s)},0,!1)})}var a=r.parent().controller("form"),u=i.name||i.ngForm;u&&vn(t,u,o,u),a&&r.on("$destroy",function(){a.$removeControl(o),u&&vn(t,u,n,u),f(o,$i)})}}}};return r}]},vi=di(),gi=di(!0),mi=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,yi=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/,wi=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,xi={text:Xn,number:tr,url:er,email:nr,radio:rr,checkbox:ir,hidden:$,button:$,submit:$,reset:$},bi=["$browser","$sniffer",function(t,e){return{restrict:"E",require:"?ngModel",link:function(n,r,i,o){o&&(xi[sr(i.type)]||xi.text)(n,r,i,o,e,t)}}}],Si="ng-valid",Ci="ng-invalid",Ei="ng-pristine",ki="ng-dirty",Ai=["$scope","$exceptionHandler","$attrs","$element","$parse",function(t,e,n,i,s){function a(t,e){e=e?"-"+X(e,"-"):"",i.removeClass((t?Ci:Si)+e).addClass((t?Si:Ci)+e)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=n.name;var u=s(n.ngModel),c=u.assign;if(!c)throw r("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",n.ngModel,z(i));this.$render=$,this.$isEmpty=function(t){return g(t)||""===t||null===t||t!==t};var l=i.inheritedData("$formController")||$i,f=0,h=this.$error={};i.addClass(Ei),a(!0),this.$setValidity=function(t,e){h[t]!==!e&&(e?(h[t]&&f--,f||(a(!0),this.$valid=!0,this.$invalid=!1)):(a(!1),this.$invalid=!0,this.$valid=!1,f++),h[t]=!e,a(e,t),l.$setValidity(t,e,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,i.removeClass(ki).addClass(Ei)},this.$setViewValue=function(n){this.$viewValue=n,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,i.removeClass(Ei).addClass(ki),l.$setDirty()),o(this.$parsers,function(t){n=t(n)}),this.$modelValue!==n&&(this.$modelValue=n,c(t,n),o(this.$viewChangeListeners,function(t){try{t()}catch(n){e(n)}}))};var p=this;t.$watch(function(){var e=u(t);if(p.$modelValue!==e){var n=p.$formatters,r=n.length;for(p.$modelValue=e;r--;)e=n[r](e);p.$viewValue!==e&&(p.$viewValue=e,p.$render())}return e})}],Oi=function(){return{require:["ngModel","^?form"],controller:Ai,link:function(t,e,n,r){var i=r[0],o=r[1]||$i;o.$addControl(i),t.$on("$destroy",function(){o.$removeControl(i)})}}},Ti=v({require:"ngModel",link:function(t,e,n,r){r.$viewChangeListeners.push(function(){t.$eval(n.ngChange)})}}),Mi=function(){return{require:"?ngModel",link:function(t,e,n,r){if(r){n.required=!0;var i=function(t){return n.required&&r.$isEmpty(t)?void r.$setValidity("required",!1):(r.$setValidity("required",!0),t)};r.$formatters.push(i),r.$parsers.unshift(i),n.$observe("required",function(){i(r.$viewValue)})}}}},Pi=function(){return{require:"ngModel",link:function(t,e,r,i){var s=/\/(.*)\//.exec(r.ngList),a=s&&new RegExp(s[1])||r.ngList||",",u=function(t){if(!g(t)){var e=[];return t&&o(t.split(a),function(t){t&&e.push(xr(t))}),e}};i.$parsers.push(u),i.$formatters.push(function(t){return S(t)?t.join(", "):n}),i.$isEmpty=function(t){return!t||!t.length}}}},ji=/^(true|false|\d+)$/,Ni=function(){return{priority:100,compile:function(t,e){return ji.test(e.ngValue)?function(t,e,n){n.$set("value",t.$eval(n.ngValue))}:function(t,e,n){t.$watch(n.ngValue,function(t){n.$set("value",t)})}}}},Di=Yn(function(t,e,r){e.addClass("ng-binding").data("$binding",r.ngBind),t.$watch(r.ngBind,function(t){e.text(t==n?"":t)})}),Ri=["$interpolate",function(t){return function(e,n,r){var i=t(n.attr(r.$attr.ngBindTemplate));n.addClass("ng-binding").data("$binding",i),r.$observe("ngBindTemplate",function(t){n.text(t)})}}],qi=["$sce","$parse",function(t,e){return function(n,r,i){function o(){return(s(n)||"").toString()}r.addClass("ng-binding").data("$binding",i.ngBindHtml);var s=e(i.ngBindHtml);n.$watch(o,function(){r.html(t.getTrustedHtml(s(n))||"")})}}],Ii=or("",!0),Vi=or("Odd",0),Ui=or("Even",1),_i=Yn({compile:function(t,e){e.$set("ngCloak",n),t.removeClass("ng-cloak")}}),Fi=[function(){return{scope:!0,controller:"@",priority:500}}],Hi={};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var e=Ie("ng-"+t);Hi[e]=["$parse",function(n){return{compile:function(r,i){var o=n(i[e]);return function(e,n){n.on(sr(t),function(t){e.$apply(function(){o(e,{$event:t})})})}}}}]});var Li=["$animate",function(t){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,s){var a,u;n.$watch(i.ngIf,function(o){B(o)?u||(u=n.$new(),s(u,function(n){n[n.length++]=e.createComment(" end ngIf: "+i.ngIf+" "),a={clone:n},t.enter(n,r.parent(),r)})):(u&&(u.$destroy(),u=null),a&&(t.leave(oe(a.clone)),a=null))})}}}],Bi=["$http","$templateCache","$anchorScroll","$animate","$sce",function(t,e,n,r,i){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:yr.noop,compile:function(o,s){var a=s.ngInclude||s.src,u=s.onload||"",c=s.autoscroll;return function(o,s,l,f,h){var p,$,d=0,v=function(){p&&(p.$destroy(),p=null),$&&(r.leave($),$=null)};o.$watch(i.parseAsResourceUrl(a),function(i){var a=function(){!m(c)||c&&!o.$eval(c)||n()},l=++d;i?(t.get(i,{cache:e}).success(function(t){if(l===d){var e=o.$new();f.template=t;var n=h(e,function(t){v(),r.enter(t,null,s,a)});p=e,$=n,p.$emit("$includeContentLoaded"),o.$eval(u)}}).error(function(){l===d&&v()}),o.$emit("$includeContentRequested")):(v(),f.template=null)})}}}}],zi=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,n,r,i){n.html(i.template),t(n.contents())(e)}}}],Wi=Yn({priority:450,compile:function(){return{pre:function(t,e,n){t.$eval(n.ngInit)}}}}),Ji=Yn({terminal:!0,priority:1e3}),Qi=["$locale","$interpolate",function(t,e){var n=/{}/g;return{restrict:"EA",link:function(r,i,s){var a=s.count,u=s.$attr.when&&i.attr(s.$attr.when),c=s.offset||0,l=r.$eval(u)||{},f={},h=e.startSymbol(),p=e.endSymbol(),$=/^when(Minus)?(.+)$/;o(s,function(t,e){$.test(e)&&(l[sr(e.replace("when","").replace("Minus","-"))]=i.attr(s.$attr[e]))}),o(l,function(t,r){f[r]=e(t.replace(n,h+a+"-"+c+p))}),r.$watch(function(){var e=parseFloat(r.$eval(a));return isNaN(e)?"":(e in l||(e=t.pluralCat(e-c)),f[e](r,i,!0))},function(t){i.text(t)})}}}],Zi=["$parse","$animate",function(t,n){function s(t){return t.clone[0] |
|
|
}function a(t){return t.clone[t.clone.length-1]}var u="$$NG_REMOVED",c=r("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(r,l,f,h,p){var $,d,v,g,m,y,w,x,b,S=f.ngRepeat,C=S.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),E={$id:Ae};if(!C)throw c("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",S);if(y=C[1],w=C[2],$=C[3],$?(d=t($),v=function(t,e,n){return b&&(E[b]=t),E[x]=e,E.$index=n,d(r,E)}):(g=function(t,e){return Ae(e)},m=function(t){return t}),C=y.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!C)throw c("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",y);x=C[3]||C[1],b=C[2];var k={};r.$watchCollection(w,function(t){var f,h,$,d,y,w,C,E,A,O,T,M,P=l[0],j={},N=[];if(i(t))O=t,A=v||g;else{A=v||m,O=[];for(w in t)t.hasOwnProperty(w)&&"$"!=w.charAt(0)&&O.push(w);O.sort()}for(d=O.length,h=N.length=O.length,f=0;h>f;f++)if(w=t===O?f:O[f],C=t[w],E=A(w,C,f),re(E,"`track by` id"),k.hasOwnProperty(E))T=k[E],delete k[E],j[E]=T,N[f]=T;else{if(j.hasOwnProperty(E))throw o(N,function(t){t&&t.scope&&(k[t.id]=t)}),c("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}",S,E);N[f]={id:E},j[E]=!1}for(w in k)k.hasOwnProperty(w)&&(T=k[w],M=oe(T.clone),n.leave(M),o(M,function(t){t[u]=!0}),T.scope.$destroy());for(f=0,h=O.length;h>f;f++){if(w=t===O?f:O[f],C=t[w],T=N[f],N[f-1]&&(P=a(N[f-1])),T.scope){y=T.scope,$=P;do $=$.nextSibling;while($&&$[u]);s(T)!=$&&n.move(oe(T.clone),null,fr(P)),P=a(T)}else y=r.$new();y[x]=C,b&&(y[b]=w),y.$index=f,y.$first=0===f,y.$last=f===d-1,y.$middle=!(y.$first||y.$last),y.$odd=!(y.$even=0===(1&f)),T.scope||p(y,function(t){t[t.length++]=e.createComment(" end ngRepeat: "+S+" "),n.enter(t,null,fr(P)),P=t,T.scope=y,T.clone=t,j[T.id]=T})}k=j})}}}],Yi=["$animate",function(t){return function(e,n,r){e.$watch(r.ngShow,function(e){t[B(e)?"removeClass":"addClass"](n,"ng-hide")})}}],Ki=["$animate",function(t){return function(e,n,r){e.$watch(r.ngHide,function(e){t[B(e)?"addClass":"removeClass"](n,"ng-hide")})}}],Gi=Yn(function(t,e,n){t.$watch(n.ngStyle,function(t,n){n&&t!==n&&o(n,function(t,n){e.css(n,"")}),t&&e.css(t)},!0)}),Xi=["$animate",function(t){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,n,r,i){var s,a,u=r.ngSwitch||r.on,c=[];e.$watch(u,function(n){for(var u=0,l=c.length;l>u;u++)c[u].$destroy(),t.leave(a[u]);a=[],c=[],(s=i.cases["!"+n]||i.cases["?"])&&(e.$eval(r.change),o(s,function(n){var r=e.$new();c.push(r),n.transclude(r,function(e){var r=n.element;a.push(e),t.enter(e,r.parent(),r)})}))})}}}],to=Yn({transclude:"element",priority:800,require:"^ngSwitch",link:function(t,e,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:e})}}),eo=Yn({transclude:"element",priority:800,require:"^ngSwitch",link:function(t,e,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:e})}}),no=Yn({controller:["$element","$transclude",function(t,e){if(!e)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",z(t));this.$transclude=e}],link:function(t,e,n,r){r.$transclude(function(t){e.empty(),e.append(t)})}}),ro=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(e,n){if("text/ng-template"==n.type){var r=n.id,i=e[0].text;t.put(r,i)}}}}],io=r("ngOptions"),oo=v({terminal:!0}),so=["$compile","$parse",function(t,r){var i=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,a={$setViewValue:$};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(t,e,n){var r,i,o=this,s={},u=a;o.databound=n.ngModel,o.init=function(t,e,n){u=t,r=e,i=n},o.addOption=function(e){re(e,'"option value"'),s[e]=!0,u.$viewValue==e&&(t.val(e),i.parent()&&i.remove())},o.removeOption=function(t){this.hasOption(t)&&(delete s[t],u.$viewValue==t&&this.renderUnknownOption(t))},o.renderUnknownOption=function(e){var n="? "+Ae(e)+" ?";i.val(n),t.prepend(i),t.val(n),i.prop("selected",!0)},o.hasOption=function(t){return s.hasOwnProperty(t)},e.$on("$destroy",function(){o.renderUnknownOption=$})}],link:function(a,u,c,l){function f(t,e,n,r){n.$render=function(){var t=n.$viewValue;r.hasOption(t)?(E.parent()&&E.remove(),e.val(t),""===t&&$.prop("selected",!0)):g(t)&&$?e.val(""):r.renderUnknownOption(t)},e.on("change",function(){t.$apply(function(){E.parent()&&E.remove(),n.$setViewValue(e.val())})})}function h(t,e,n){var r;n.$render=function(){var t=new Oe(n.$viewValue);o(e.find("option"),function(e){e.selected=m(t.get(e.value))})},t.$watch(function(){q(r,n.$viewValue)||(r=D(n.$viewValue),n.$render())}),e.on("change",function(){t.$apply(function(){var t=[];o(e.find("option"),function(e){e.selected&&t.push(e.value)}),n.$setViewValue(t)})})}function p(e,o,a){function u(){var t,n,r,i,u,c,v,w,k,A,O,T,M,P,j,N={"":[]},D=[""],R=a.$modelValue,q=d(e)||[],I=h?s(q):q,V={},U=!1;if(y)if(g&&S(R)){U=new Oe([]);for(var _=0;_<R.length;_++)V[f]=R[_],U.put(g(e,V),R[_])}else U=new Oe(R);for(O=0;k=I.length,k>O;O++){if(v=O,h){if(v=I[O],"$"===v.charAt(0))continue;V[h]=v}if(V[f]=q[v],t=p(e,V)||"",(n=N[t])||(n=N[t]=[],D.push(t)),y)T=m(U.remove(g?g(e,V):$(e,V)));else{if(g){var F={};F[f]=R,T=g(e,F)===g(e,V)}else T=R===$(e,V);U=U||T}j=l(e,V),j=m(j)?j:"",n.push({id:g?g(e,V):h?I[O]:O,label:j,selected:T})}for(y||(x||null===R?N[""].unshift({id:"",label:"",selected:!U}):U||N[""].unshift({id:"?",label:"",selected:!0})),A=0,w=D.length;w>A;A++){for(t=D[A],n=N[t],E.length<=A?(i={element:C.clone().attr("label",t),label:n.label},u=[i],E.push(u),o.append(i.element)):(u=E[A],i=u[0],i.label!=t&&i.element.attr("label",i.label=t)),M=null,O=0,k=n.length;k>O;O++)r=n[O],(c=u[O+1])?(M=c.element,c.label!==r.label&&M.text(c.label=r.label),c.id!==r.id&&M.val(c.id=r.id),M[0].selected!==r.selected&&M.prop("selected",c.selected=r.selected)):(""===r.id&&x?P=x:(P=b.clone()).val(r.id).attr("selected",r.selected).text(r.label),u.push(c={element:P,label:r.label,id:r.id,selected:r.selected}),M?M.after(P):i.element.append(P),M=P);for(O++;u.length>O;)u.pop().element.remove()}for(;E.length>A;)E.pop()[0].element.remove()}var c;if(!(c=w.match(i)))throw io("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",w,z(o));var l=r(c[2]||c[1]),f=c[4]||c[6],h=c[5],p=r(c[3]||""),$=r(c[2]?c[1]:f),d=r(c[7]),v=c[8],g=v?r(c[8]):null,E=[[{element:o,label:""}]];x&&(t(x)(e),x.removeClass("ng-scope"),x.remove()),o.empty(),o.on("change",function(){e.$apply(function(){var t,r,i,s,u,c,l,p,v,m=d(e)||[],w={};if(y){for(i=[],c=0,p=E.length;p>c;c++)for(t=E[c],u=1,l=t.length;l>u;u++)if((s=t[u].element)[0].selected){if(r=s.val(),h&&(w[h]=r),g)for(v=0;v<m.length&&(w[f]=m[v],g(e,w)!=r);v++);else w[f]=m[r];i.push($(e,w))}}else if(r=o.val(),"?"==r)i=n;else if(""===r)i=null;else if(g){for(v=0;v<m.length;v++)if(w[f]=m[v],g(e,w)==r){i=$(e,w);break}}else w[f]=m[r],h&&(w[h]=r),i=$(e,w);a.$setViewValue(i)})}),a.$render=u,e.$watch(u)}if(l[1]){for(var $,d=l[0],v=l[1],y=c.multiple,w=c.ngOptions,x=!1,b=fr(e.createElement("option")),C=fr(e.createElement("optgroup")),E=b.clone(),k=0,A=u.children(),O=A.length;O>k;k++)if(""===A[k].value){$=x=A.eq(k);break}d.init(v,x,E),y&&(v.$isEmpty=function(t){return!t||0===t.length}),w?p(a,u,v):y?h(a,u,v):f(a,u,v,d)}}}}],ao=["$interpolate",function(t){var e={addOption:$,removeOption:$};return{restrict:"E",priority:100,compile:function(n,r){if(g(r.value)){var i=t(n.text(),!0);i||r.$set("value",n.text())}return function(t,n,r){var o="$selectController",s=n.parent(),a=s.data(o)||s.parent().data(o);a&&a.databound?n.prop("selected",!1):a=e,i?t.$watch(i,function(t,e){r.$set("value",t),t!==e&&a.removeOption(e),a.addOption(t)}):a.addOption(r.value),n.on("$destroy",function(){a.removeOption(r.value)})}}}}],uo=v({restrict:"E",terminal:!0});te(),ae(yr),fr(e).ready(function(){K(e,G)})}(window,document),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>'); |
|
|
!function(e,r){"use strict";function t(){function e(e,t){return r.extend(new(r.extend(function(){},{prototype:e})),t)}function t(e,r){var t=r.caseInsensitiveMatch,n={originalPath:e,regexp:e},a=n.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?|\*])?/g,function(e,r,t,n){var o="?"===n?n:null,i="*"===n?n:null;return a.push({name:t,optional:!!o}),r=r||"",""+(o?"":r)+"(?:"+(o?r:"")+(i&&"(.+?)"||"([^/]+)")+(o||"")+")"+(o||"")}).replace(/([\/$\*])/g,"\\$1"),n.regexp=new RegExp("^"+e+"$",t?"i":""),n}var n={};this.when=function(e,a){if(n[e]=r.extend({reloadOnSearch:!0},a,e&&t(e,a)),e){var o="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";n[o]=r.extend({redirectTo:e},t(o,a))}return this},this.otherwise=function(e){return this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(t,a,o,i,c,u,l,s){function p(e,r){var t=r.keys,n={};if(!r.regexp)return null;var a=r.regexp.exec(e);if(!a)return null;for(var o=1,i=a.length;i>o;++o){var c=t[o-1],u="string"==typeof a[o]?decodeURIComponent(a[o]):a[o];c&&u&&(n[c.name]=u)}return n}function $(){var e=h(),n=m.current;e&&n&&e.$$route===n.$$route&&r.equals(e.pathParams,n.pathParams)&&!e.reloadOnSearch&&!d?(n.params=e.params,r.copy(n.params,o),t.$broadcast("$routeUpdate",n)):(e||n)&&(d=!1,t.$broadcast("$routeChangeStart",e,n),m.current=e,e&&e.redirectTo&&(r.isString(e.redirectTo)?a.path(f(e.redirectTo,e.params)).search(e.params).replace():a.url(e.redirectTo(e.pathParams,a.path(),a.search())).replace()),i.when(e).then(function(){if(e){var t,n,a=r.extend({},e.resolve);return r.forEach(a,function(e,t){a[t]=r.isString(e)?c.get(e):c.invoke(e)}),r.isDefined(t=e.template)?r.isFunction(t)&&(t=t(e.params)):r.isDefined(n=e.templateUrl)&&(r.isFunction(n)&&(n=n(e.params)),n=s.getTrustedResourceUrl(n),r.isDefined(n)&&(e.loadedTemplateUrl=n,t=u.get(n,{cache:l}).then(function(e){return e.data}))),r.isDefined(t)&&(a.$template=t),i.all(a)}}).then(function(a){e==m.current&&(e&&(e.locals=a,r.copy(e.params,o)),t.$broadcast("$routeChangeSuccess",e,n))},function(r){e==m.current&&t.$broadcast("$routeChangeError",e,n,r)}))}function h(){var t,o;return r.forEach(n,function(n){!o&&(t=p(a.path(),n))&&(o=e(n,{params:r.extend({},a.search(),t),pathParams:t}),o.$$route=n)}),o||n[null]&&e(n[null],{params:{},pathParams:{}})}function f(e,t){var n=[];return r.forEach((e||"").split(":"),function(e,r){if(0===r)n.push(e);else{var a=e.match(/(\w+)(.*)/),o=a[1];n.push(t[o]),n.push(a[2]||""),delete t[o]}}),n.join("")}var d=!1,m={routes:n,reload:function(){d=!0,t.$evalAsync($)}};return t.$on("$locationChangeSuccess",$),m}]}function n(){this.$get=function(){return{}}}function a(e,t,n){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,o,i,c,u){function l(){p&&(p.$destroy(),p=null),$&&(n.leave($),$=null)}function s(){var i=e.current&&e.current.locals,c=i&&i.$template;if(r.isDefined(c)){var s=a.$new(),d=e.current,m=u(s,function(e){n.enter(e,null,$||o,function(){!r.isDefined(h)||h&&!a.$eval(h)||t()}),l()});$=m,p=d.scope=s,p.$emit("$viewContentLoaded"),p.$eval(f)}else l()}var p,$,h=i.autoscroll,f=i.onload||"";a.$on("$routeChangeSuccess",s),s()}}}function o(e,r,t){return{restrict:"ECA",priority:-400,link:function(n,a){var o=t.current,i=o.locals;a.html(i.$template);var c=e(a.contents());if(o.controller){i.$scope=n;var u=r(o.controller,i);o.controllerAs&&(n[o.controllerAs]=u),a.data("$ngControllerController",u),a.children().data("$ngControllerController",u)}c(n)}}}var i=r.module("ngRoute",["ng"]).provider("$route",t);i.provider("$routeParams",n),i.directive("ngView",a),i.directive("ngView",o),a.$inject=["$route","$anchorScroll","$animate"],o.$inject=["$compile","$controller","$route"]}(window,window.angular); |
|
|
!function(n,t,a){"use strict";t.module("ngAnimate",["ng"]).factory("$$animateReflow",["$window","$timeout",function(n,t){var a=n.requestAnimationFrame||n.webkitRequestAnimationFrame||function(n){return t(n,10,!1)},e=n.cancelAnimationFrame||n.webkitCancelAnimationFrame||function(n){return t.cancel(n)};return function(n){var t=a(n);return function(){e(t)}}}]).config(["$provide","$animateProvider",function(e,i){function r(n){for(var t=0;t<n.length;t++){var a=n[t];if(a.nodeType==f)return a}}function o(n,t){return r(n)==r(t)}var s=t.noop,u=t.forEach,l=i.$$selectors,f=1,c="$$ngAnimateState",m="ng-animate",d={running:!0};e.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(n,a,e,f,v,p){function g(n){return v(n,0,!1)}function y(n){if(n){var t=[],i={},r=n.substr(1).split(".");(e.transitions||e.animations)&&r.push("");for(var o=0;o<r.length;o++){var s=r[o],u=l[s];u&&!i[s]&&(t.push(a.get(u)),i[s]=!0)}return t}}function C(n,t,a,e,i,o,l){function f(n){if(A(),n===!0)return void S();var t=a.data(c);t&&(t.done=S,a.data(c,t)),d(I,"after",S)}function d(e,i,r){function o(n,t){var a=t+"Complete",i=e[n];i[a]=!0,(i[l]||s)();for(var o=0;o<e.length;o++)if(!e[o][a])return;r()}"after"==i?D():C();var l=i+"End";u(e,function(e,r){var s=function(){o(r,i)};return"before"!=i||"enter"!=n&&"move"!=n?void(e[i]?e[l]=R?e[i](a,t,s):e[i](a,s):s()):void s()})}function p(e){a.triggerHandler("$animate:"+e,{event:n,className:t})}function C(){g(function(){p("before")})}function D(){g(function(){p("after")})}function x(){l&&g(l)}function A(){A.hasBeenRun||(A.hasBeenRun=!0,o())}function S(){if(!S.hasBeenRun){S.hasBeenRun=!0;var n=a.data(c);n&&(R?b(a):(n.closeAnimationTimeout=g(function(){b(a)}),a.data(c,n))),x()}}var k,N,M=r(a);if(M&&(k=M.className,N=k+" "+t),!M||!w(N))return A(),C(),D(),void S();var F=(" "+N).replace(/\s+/g,".");e||(e=i?i.parent():a.parent());var E=y(F),R="addClass"==n||"removeClass"==n,T=a.data(c)||{};if($(a,e)||0===E.length)return A(),C(),D(),void S();var I=[],P=R?!(T.disabled||T.running&&T.structural):!0;if(P&&u(E,function(e){if(!e.allowCancel||e.allowCancel(a,n,t)){var i,r=e[n];"leave"==n?(i=r,r=null):i=e["before"+n.charAt(0).toUpperCase()+n.substr(1)],I.push({before:i,after:r})}}),0===I.length)return A(),C(),D(),void x();var O=" ",B=O+k+O;if(T.running){v.cancel(T.closeAnimationTimeout),b(a),h(T.animations);var q=R&&!T.structural,W=q&&T.className==t&&n!=T.event;T.beforeComplete||W?(T.done||s)(!0):q&&(B="removeClass"==T.event?B.replace(O+T.className+O,O):B+T.className+O)}var j=O+t+O;return"addClass"==n&&B.indexOf(j)>=0||"removeClass"==n&&-1==B.indexOf(j)?(A(),C(),D(),void x()):(a.addClass(m),a.data(c,{running:!0,event:n,className:t,structural:!R,animations:I,done:f}),void d(I,"before",f))}function D(n){var a=r(n);u(a.querySelectorAll("."+m),function(n){n=t.element(n);var a=n.data(c);a&&(h(a.animations),b(n))})}function h(n){var t=!0;u(n,function(n){n.beforeComplete||(n.beforeEnd||s)(t),n.afterComplete||(n.afterEnd||s)(t)})}function b(n){o(n,f)?d.disabled||(d.running=!1,d.structural=!1):(n.removeClass(m),n.removeData(c))}function $(n,t){if(d.disabled)return!0;if(o(n,f))return d.disabled||d.running;do{if(0===t.length)break;var a=o(t,f),e=a?d:t.data(c),i=e&&(!!e.disabled||!!e.running);if(a||i)return i;if(a)return!0}while(t=t.parent());return!0}f.data(c,d),p.$$postDigest(function(){p.$$postDigest(function(){d.running=!1})});var x=i.classNameFilter(),w=x?function(n){return x.test(n)}:function(){return!0};return{enter:function(t,a,e,i){this.enabled(!1,t),n.enter(t,a,e),p.$$postDigest(function(){C("enter","ng-enter",t,a,e,s,i)})},leave:function(t,a){D(t),this.enabled(!1,t),p.$$postDigest(function(){C("leave","ng-leave",t,null,null,function(){n.leave(t)},a)})},move:function(t,a,e,i){D(t),this.enabled(!1,t),n.move(t,a,e),p.$$postDigest(function(){C("move","ng-move",t,a,e,s,i)})},addClass:function(t,a,e){C("addClass",a,t,null,null,function(){n.addClass(t,a)},e)},removeClass:function(t,a,e){C("removeClass",a,t,null,null,function(){n.removeClass(t,a)},e)},enabled:function(n,t){switch(arguments.length){case 2:if(n)b(t);else{var a=t.data(c)||{};a.disabled=!0,t.data(c,a)}break;case 1:d.disabled=!n;break;default:n=!d.disabled}return!!n}}}]),i.register("",["$window","$sniffer","$timeout","$$animateReflow",function(e,i,o,l){function c(n,a){T&&T(),J.push(a);var e=r(n);n=t.element(e),L.push(n);var i=n.data(W),s=i.stagger,f=i.itemIndex*(Math.max(s.animationDelay,s.transitionDelay)||0),c=(i.maxDelay+i.maxDuration)*H;Q=Math.max(Q,(f+c)*K),i.animationCount=U,T=l(function(){u(J,function(n){n()});var n=[],t=U;u(L,function(t){n.push(t)}),o(function(){m(n,t),n=null},Q,!1),J=[],L=[],T=null,z={},Q=0,U++})}function m(n,t){u(n,function(n){var a=n.data(W);a&&a.animationCount==t&&(a.closeAnimationFn||s)()})}function d(n,t){var a=t?z[t]:null;if(!a){var i,r,o,s,l=0,c=0,m=0,d=0;u(n,function(n){if(n.nodeType==f){var t=e.getComputedStyle(n)||{};o=t[N+I],l=Math.max(v(o),l),s=t[N+P],i=t[N+O],c=Math.max(v(i),c),r=t[F+O],d=Math.max(v(r),d);var a=v(t[F+I]);a>0&&(a*=parseInt(t[F+B],10)||1),m=Math.max(a,m)}}),a={total:0,transitionPropertyStyle:s,transitionDurationStyle:o,transitionDelayStyle:i,transitionDelay:c,transitionDuration:l,animationDelayStyle:r,animationDelay:d,animationDuration:m},t&&(z[t]=a)}return a}function v(n){var a=0,e=t.isString(n)?n.split(/\s*,\s*/):[];return u(e,function(n){a=Math.max(parseFloat(n)||0,a)}),a}function p(n){var t=n.parent(),a=t.data(q);return a||(t.data(q,++G),a=G),a+"-"+r(n).className}function g(n,t,a){var e=p(n),i=e+" "+t,r={},o=z[i]?++z[i].total:0;if(o>0){var s=t+"-stagger",l=e+" "+s,f=!z[l];f&&n.addClass(s),r=d(n,l),f&&n.removeClass(s)}a=a||function(n){return n()},n.addClass(t);var c=a(function(){return d(n,i)}),m=Math.max(c.transitionDelay,c.animationDelay),v=Math.max(c.transitionDuration,c.animationDuration);if(0===v)return n.removeClass(t),!1;var g="";return c.transitionDuration>0?y(n):C(n),u(t.split(" "),function(n,t){g+=(t>0?" ":"")+n+"-active"}),n.data(W,{className:t,activeClassName:g,maxDuration:v,maxDelay:m,classes:t+" "+g,timings:c,stagger:r,itemIndex:o}),!0}function y(n){r(n).style[N+P]="none"}function C(n){r(n).style[F]="none 0s"}function D(n){var t=N+P,a=r(n);a.style[t]&&a.style[t].length>0&&(a.style[t]="")}function h(n){var t=F,a=r(n);a.style[t]&&a.style[t].length>0&&(a.style[t]="")}function b(n,t,a){function e(){n.off(v,i),n.removeClass(c),S(n,t);var a=r(n);for(var e in y)a.style.removeProperty(y[e])}function i(n){n.stopPropagation();var t=n.originalEvent||n,e=t.$manualTimeStamp||t.timeStamp||Date.now(),i=parseFloat(t.elapsedTime.toFixed(j));Math.max(e-d,0)>=m&&i>=f&&a()}var o=n.data(W),s=r(n);if(-1==s.className.indexOf(t)||!o)return void a();var u=o.timings,l=o.stagger,f=o.maxDuration,c=o.activeClassName,m=Math.max(u.transitionDelay,u.animationDelay)*K,d=Date.now(),v=E+" "+M,p=o.itemIndex,g="",y=[];if(u.transitionDuration>0){var C=u.transitionPropertyStyle;-1==C.indexOf("all")&&(g+=R+"transition-property: "+C+";",g+=R+"transition-duration: "+u.transitionDurationStyle+";",y.push(R+"transition-property"),y.push(R+"transition-duration"))}if(p>0){if(l.transitionDelay>0&&0===l.transitionDuration){var D=u.transitionDelayStyle;g+=R+"transition-delay: "+$(D,l.transitionDelay,p)+"; ",y.push(R+"transition-delay")}l.animationDelay>0&&0===l.animationDuration&&(g+=R+"animation-delay: "+$(u.animationDelayStyle,l.animationDelay,p)+"; ",y.push(R+"animation-delay"))}if(y.length>0){var h=s.getAttribute("style")||"";s.setAttribute("style",h+" "+g)}return n.on(v,i),n.addClass(c),o.closeAnimationFn=function(){e(),a()},e}function $(n,t,a){var e="";return u(n.split(","),function(n,i){e+=(i>0?",":"")+(a*t+parseInt(n,10))+"s"}),e}function x(n,t,a){return g(n,t,a)?function(a){a&&S(n,t)}:void 0}function w(n,t,a){return n.data(W)?b(n,t,a):(S(n,t),void a())}function A(n,t,a){var e=x(n,t);if(!e)return void a();var i=e;return c(n,function(){D(n),h(n),i=w(n,t,a)}),function(n){(i||s)(n)}}function S(n,t){n.removeClass(t),n.removeData(W)}function k(n,a){var e="";return n=t.isArray(n)?n:n.split(/\s+/),u(n,function(n,t){n&&n.length>0&&(e+=(t>0?" ":"")+n+a)}),e}var N,M,F,E,R="";n.ontransitionend===a&&n.onwebkittransitionend!==a?(R="-webkit-",N="WebkitTransition",M="webkitTransitionEnd transitionend"):(N="transition",M="transitionend"),n.onanimationend===a&&n.onwebkitanimationend!==a?(R="-webkit-",F="WebkitAnimation",E="webkitAnimationEnd animationend"):(F="animation",E="animationend");var T,I="Duration",P="Property",O="Delay",B="IterationCount",q="$$ngAnimateKey",W="$$ngAnimateCSS3Data",j=3,H=1.5,K=1e3,U=0,z={},G=0,J=[],L=[],Q=0;return{allowCancel:function(n,a,e){var i=(n.data(W)||{}).classes;if(!i||["enter","leave","move"].indexOf(a)>=0)return!0;var o=n.parent(),s=t.element(r(n).cloneNode());s.attr("style","position:absolute; top:-9999px; left:-9999px"),s.removeAttr("id"),s.empty(),u(i.split(" "),function(n){s.removeClass(n)});var l="addClass"==a?"-add":"-remove";s.addClass(k(e,l)),o.append(s);var f=d(s);return s.remove(),Math.max(f.transitionDuration,f.animationDuration)>0},enter:function(n,t){return A(n,"ng-enter",t)},leave:function(n,t){return A(n,"ng-leave",t)},move:function(n,t){return A(n,"ng-move",t)},beforeAddClass:function(n,t,a){var e=x(n,k(t,"-add"),function(a){n.addClass(t);var e=a();return n.removeClass(t),e});return e?(c(n,function(){D(n),h(n),a()}),e):void a()},addClass:function(n,t,a){return w(n,k(t,"-add"),a)},beforeRemoveClass:function(n,t,a){var e=x(n,k(t,"-remove"),function(a){var e=n.attr("class");n.removeClass(t);var i=a();return n.attr("class",e),i});return e?(c(n,function(){D(n),h(n),a()}),e):void a()},removeClass:function(n,t,a){return w(n,k(t,"-remove"),a)}}}])}])}(window,window.angular); |
|
|
!function(e,t){"use strict";function r(){this.$get=["$$sanitizeUri",function(e){return function(t){var r=[];return s(t,c(r,function(t,r){return!/^unsafe/.test(e(t,r))})),r.join("")}}]}function n(e){var r=[],n=c(r,t.noop);return n.chars(e),r.join("")}function a(e){var t,r={},n=e.split(",");for(t=0;t<n.length;t++)r[n[t]]=!0;return r}function s(e,r){function n(e,n,s,o){if(n=t.lowercase(n),k[n])for(;v.last()&&y[v.last()];)a("",v.last());z[n]&&v.last()==n&&a("",n),o=w[n]||!!o,o||v.push(n);var c={};s.replace(f,function(e,t,r,n,a){var s=r||n||a||"";c[t]=i(s)}),r.start&&r.start(n,c,o)}function a(e,n){var a,s=0;if(n=t.lowercase(n))for(s=v.length-1;s>=0&&v[s]!=n;s--);if(s>=0){for(a=v.length-1;a>=s;a--)r.end&&r.end(v[a]);v.length=s}}var s,o,c,v=[],x=e;for(v.last=function(){return v[v.length-1]};e;){if(o=!0,v.last()&&C[v.last()])e=e.replace(new RegExp("(.*)<\\s*\\/\\s*"+v.last()+"[^>]*>","i"),function(e,t){return t=t.replace(d,"$1").replace(b,"$1"),r.chars&&r.chars(i(t)),""}),a("",v.last());else if(0===e.indexOf("<!--")?(s=e.indexOf("--",4),s>=0&&e.lastIndexOf("-->",s)===s&&(r.comment&&r.comment(e.substring(4,s)),e=e.substring(s+3),o=!1)):m.test(e)?(c=e.match(m),c&&(e=e.replace(c[0],""),o=!1)):g.test(e)?(c=e.match(p),c&&(e=e.substring(c[0].length),c[0].replace(p,a),o=!1)):h.test(e)&&(c=e.match(u),c&&(e=e.substring(c[0].length),c[0].replace(u,n),o=!1)),o){s=e.indexOf("<");var $=0>s?e:e.substring(0,s);e=0>s?"":e.substring(s),r.chars&&r.chars(i($))}if(e==x)throw l("badparse","The sanitizer was unable to parse the following block of html: {0}",e);x=e}a()}function i(e){if(!e)return"";var t=S.exec(e),r=t[1],n=t[3],a=t[2];return a&&(A.innerHTML=a.replace(/</g,"<"),a="textContent"in A?A.textContent:A.innerText),r+a+n}function o(e){return e.replace(/&/g,"&").replace(v,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function c(e,r){var n=!1,a=t.bind(e,e.push);return{start:function(e,s,i){e=t.lowercase(e),!n&&C[e]&&(n=e),n||E[e]!==!0||(a("<"),a(e),t.forEach(s,function(n,s){var i=t.lowercase(s),c="img"===e&&"src"===i||"background"===i;T[i]!==!0||O[i]===!0&&!r(n,c)||(a(" "),a(s),a('="'),a(o(n)),a('"'))}),a(i?"/>":">"))},end:function(e){e=t.lowercase(e),n||E[e]!==!0||(a("</"),a(e),a(">")),e==n&&(n=!1)},chars:function(e){n||a(o(e))}}}var l=t.$$minErr("$sanitize"),u=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,p=/^<\s*\/\s*([\w:-]+)[^>]*>/,f=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,h=/^</,g=/^<\s*\//,d=/<!--(.*?)-->/g,m=/<!DOCTYPE([^>]*?)>/i,b=/<!\[CDATA\[(.*?)]]>/g,v=/([^\#-~| |!])/g,w=a("area,br,col,hr,img,wbr"),x=a("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),$=a("rp,rt"),z=t.extend({},$,x),k=t.extend({},x,a("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),y=t.extend({},$,a("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),C=a("script,style"),E=t.extend({},w,k,y,z),O=a("background,cite,href,longdesc,src,usemap"),T=t.extend({},O,a("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),A=document.createElement("pre"),S=/^(\s*)([\s\S]*?)(\s*)$/;t.module("ngSanitize",[]).provider("$sanitize",r),t.module("ngSanitize").filter("linky",["$sanitize",function(e){var r=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>]/,a=/^mailto:/;return function(s,i){function o(e){e&&h.push(n(e))}function c(e,r){h.push("<a "),t.isDefined(i)&&(h.push('target="'),h.push(i),h.push('" ')),h.push('href="'),h.push(e),h.push('">'),o(r),h.push("</a>")}if(!s)return s;for(var l,u,p,f=s,h=[];l=f.match(r);)u=l[0],l[2]==l[3]&&(u="mailto:"+u),p=l.index,o(f.substr(0,p)),c(u,l[0].replace(a,"")),f=f.substring(p+l[0].length);return o(f),e(h.join(""))}}])}(window,window.angular); |
|
|
angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.dropdownToggle","ui.bootstrap.modal","ui.bootstrap.position","ui.bootstrap.bindHtml","ui.bootstrap.tooltip"]),angular.module("ui.bootstrap.tpls",["template/modal/backdrop.html","template/modal/window.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(t,n,e){function o(t){for(var n in t)if(void 0!==a.style[n])return t[n]}var i=function(o,a,l){l=l||{};var r=t.defer(),s=i[l.animation?"animationEndEventName":"transitionEndEventName"],c=function(){e.$apply(function(){o.unbind(s,c),r.resolve(o)})};return s&&o.bind(s,c),n(function(){angular.isString(a)?o.addClass(a):angular.isFunction(a)?a(o):angular.isObject(a)&&o.css(a),s||r.resolve(o)}),r.promise.cancel=function(){s&&o.unbind(s,c),r.reject("Transition cancelled")},r.promise},a=document.createElement("trans"),l={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},r={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return i.transitionEndEventName=o(l),i.animationEndEventName=o(r),i}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(t){return{link:function(n,e,o){function i(n){function o(){c===i&&(c=void 0)}var i=t(e,n);return c&&c.cancel(),c=i,i.then(o,o),i}function a(){p?(p=!1,l()):(e.removeClass("collapse").addClass("collapsing"),i({height:e[0].scrollHeight+"px"}).then(l))}function l(){e.removeClass("collapsing"),e.addClass("collapse in"),e.css({height:"auto"})}function r(){if(p)p=!1,s(),e.css({height:0});else{e.css({height:e[0].scrollHeight+"px"});{e[0].offsetWidth}e.removeClass("collapse in").addClass("collapsing"),i({height:0}).then(s)}}function s(){e.removeClass("collapsing"),e.addClass("collapse")}var c,p=!0;n.$watch(o.collapse,function(t){t?r():a()})}}}]),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function(t){var n=null,e=angular.noop;return{restrict:"CA",link:function(o,i){o.$watch("$location.path",function(){e()}),i.parent().bind("click",function(){e()}),i.bind("click",function(o){var a=i===n;o.preventDefault(),o.stopPropagation(),n&&e(),a||i.hasClass("disabled")||i.prop("disabled")||(i.parent().addClass("open"),n=i,e=function(o){o&&(o.preventDefault(),o.stopPropagation()),t.unbind("click",e),i.parent().removeClass("open"),e=angular.noop,n=null},t.bind("click",e))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var t=[];return{add:function(n,e){t.push({key:n,value:e})},get:function(n){for(var e=0;e<t.length;e++)if(n==t[e].key)return t[e]},keys:function(){for(var n=[],e=0;e<t.length;e++)n.push(t[e].key);return n},top:function(){return t[t.length-1]},remove:function(n){for(var e=-1,o=0;o<t.length;o++)if(n==t[o].key){e=o;break}return t.splice(e,1)[0]},removeTop:function(){return t.splice(t.length-1,1)[0]},length:function(){return t.length}}}}}).directive("modalBackdrop",["$timeout",function(t){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(n){n.animate=!1,t(function(){n.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function(t,n){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:"template/modal/window.html",link:function(e,o,i){e.windowClass=i.windowClass||"",n(function(){e.animate=!0,o[0].focus()}),e.close=function(n){var e=t.getTop();e&&e.value.backdrop&&"static"!=e.value.backdrop&&n.target===n.currentTarget&&(n.preventDefault(),n.stopPropagation(),t.dismiss(e.key,"backdrop click"))}}}}]).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(t,n,e,o,i,a){function l(){for(var t=-1,n=f.keys(),e=0;e<n.length;e++)f.get(n[e]).value.backdrop&&(t=e);return t}function r(t){var n=e.find("body").eq(0),o=f.get(t).value;f.remove(t),c(o.modalDomEl,o.modalScope,0,s),n.toggleClass(d,f.length()>0)}function s(){if(p&&-1==l()){var t=u;c(p,u,0,function(){t.$destroy(),t=null}),p=void 0,u=void 0}}function c(e,o,i,a){function l(){l.done||(l.done=!0,e.remove(),a&&a())}o.animate=!1;var r=t.transitionEndEventName;if(r){var s=n(l,i);e.bind(r,function(){n.cancel(s),l(),o.$apply()})}else n(l,0)}var p,u,d="modal-open",f=a.createNew(),m={};return i.$watch(l,function(t){u&&(u.index=t)}),e.bind("keydown",function(t){var n;27===t.which&&(n=f.top(),n&&n.value.keyboard&&i.$apply(function(){m.dismiss(n.key)}))}),m.open=function(t,n){f.add(t,{deferred:n.deferred,modalScope:n.scope,backdrop:n.backdrop,keyboard:n.keyboard});var a=e.find("body").eq(0),r=l();r>=0&&!p&&(u=i.$new(!0),u.index=r,p=o("<div modal-backdrop></div>")(u),a.append(p));var s=angular.element("<div modal-window></div>");s.attr("window-class",n.windowClass),s.attr("index",f.length()-1),s.attr("animate","animate"),s.html(n.content);var c=o(s)(n.scope);f.top().value.modalDomEl=c,a.append(c),a.addClass(d)},m.close=function(t,n){var e=f.get(t).value;e&&(e.deferred.resolve(n),r(t))},m.dismiss=function(t,n){var e=f.get(t).value;e&&(e.deferred.reject(n),r(t))},m.dismissAll=function(t){for(var n=this.getTop();n;)this.dismiss(n.key,t),n=this.getTop()},m.getTop=function(){return f.top()},m}]).provider("$modal",function(){var t={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(n,e,o,i,a,l,r){function s(t){return t.template?o.when(t.template):i.get(t.templateUrl,{cache:a}).then(function(t){return t.data})}function c(t){var e=[];return angular.forEach(t,function(t){(angular.isFunction(t)||angular.isArray(t))&&e.push(o.when(n.invoke(t)))}),e}var p={};return p.open=function(n){var i=o.defer(),a=o.defer(),p={result:i.promise,opened:a.promise,close:function(t){r.close(p,t)},dismiss:function(t){r.dismiss(p,t)}};if(n=angular.extend({},t.options,n),n.resolve=n.resolve||{},!n.template&&!n.templateUrl)throw new Error("One of template or templateUrl options is required.");var u=o.all([s(n)].concat(c(n.resolve)));return u.then(function(t){var o=(n.scope||e).$new();o.$close=p.close,o.$dismiss=p.dismiss;var a,s={},c=1;n.controller&&(s.$scope=o,s.$modalInstance=p,angular.forEach(n.resolve,function(n,e){s[e]=t[c++]}),a=l(n.controller,s)),r.open(p,{scope:o,deferred:i,content:t[0],backdrop:n.backdrop,keyboard:n.keyboard,windowClass:n.windowClass})},function(t){i.reject(t)}),u.then(function(){a.resolve(!0)},function(){a.reject(!1)}),p},p}]};return t}),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(t,n){function e(t,e){return t.currentStyle?t.currentStyle[e]:n.getComputedStyle?n.getComputedStyle(t)[e]:t.style[e]}function o(t){return"static"===(e(t,"position")||"static")}var i=function(n){for(var e=t[0],i=n.offsetParent||e;i&&i!==e&&o(i);)i=i.offsetParent;return i||e};return{position:function(n){var e=this.offset(n),o={top:0,left:0},a=i(n[0]);a!=t[0]&&(o=this.offset(angular.element(a)),o.top+=a.clientTop-a.scrollTop,o.left+=a.clientLeft-a.scrollLeft);var l=n[0].getBoundingClientRect();return{width:l.width||n.prop("offsetWidth"),height:l.height||n.prop("offsetHeight"),top:e.top-o.top,left:e.left-o.left}},offset:function(e){var o=e[0].getBoundingClientRect();return{width:o.width||e.prop("offsetWidth"),height:o.height||e.prop("offsetHeight"),top:o.top+(n.pageYOffset||t[0].body.scrollTop||t[0].documentElement.scrollTop),left:o.left+(n.pageXOffset||t[0].body.scrollLeft||t[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(t,n,e){n.addClass("ng-binding").data("$binding",e.bindHtmlUnsafe),t.$watch(e.bindHtmlUnsafe,function(t){n.html(t||"")})}}),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function t(t){var n=/[A-Z]/g,e="-";return t.replace(n,function(t,n){return(n?e:"")+t.toLowerCase()})}var n={placement:"top",animation:!0,popupDelay:0},e={mouseenter:"mouseleave",click:"click",focus:"blur"},o={};this.options=function(t){angular.extend(o,t)},this.setTriggers=function(t){angular.extend(e,t)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(i,a,l,r,s,c,p){return function(i,u,d){function f(t){var n=t||m.trigger||d,o=e[n]||n;return{show:n,hide:o}}var m=angular.extend({},n,o),v=t(i),h=p.startSymbol(),g=p.endSymbol(),b="<div "+v+'-popup title="'+h+"tt_title"+g+'" content="'+h+"tt_content"+g+'" placement="'+h+"tt_placement"+g+'" animation="tt_animation" is-open="tt_isOpen"></div>';return{restrict:"EA",scope:!0,compile:function(){var t=a(b);return function(n,e,o){function a(){n.tt_isOpen?d():p()}function p(){(!T||n.$eval(o[u+"Enable"]))&&(n.tt_popupDelay?(k=l(v,n.tt_popupDelay,!1),k.then(function(t){t()})):v()())}function d(){n.$apply(function(){h()})}function v(){return n.tt_content?(g(),w&&l.cancel(w),$.css({top:0,left:0,display:"block"}),y?s.find("body").append($):e.after($),_(),n.tt_isOpen=!0,n.$digest(),_):angular.noop}function h(){n.tt_isOpen=!1,l.cancel(k),n.tt_animation?w=l(b,500):b()}function g(){$&&b(),$=t(n,function(){}),n.$digest()}function b(){$&&($.remove(),$=null)}var $,w,k,y=angular.isDefined(m.appendToBody)?m.appendToBody:!1,C=f(void 0),E=!1,T=angular.isDefined(o[u+"Enable"]),_=function(){var t,o,i,a;switch(t=y?c.offset(e):c.position(e),o=$.prop("offsetWidth"),i=$.prop("offsetHeight"),n.tt_placement){case"right":a={top:t.top+t.height/2-i/2,left:t.left+t.width};break;case"bottom":a={top:t.top+t.height,left:t.left+t.width/2-o/2};break;case"left":a={top:t.top+t.height/2-i/2,left:t.left-o};break;default:a={top:t.top-i,left:t.left+t.width/2-o/2}}a.top+="px",a.left+="px",$.css(a)};n.tt_isOpen=!1,o.$observe(i,function(t){n.tt_content=t,!t&&n.tt_isOpen&&h()}),o.$observe(u+"Title",function(t){n.tt_title=t}),o.$observe(u+"Placement",function(t){n.tt_placement=angular.isDefined(t)?t:m.placement}),o.$observe(u+"PopupDelay",function(t){var e=parseInt(t,10);n.tt_popupDelay=isNaN(e)?m.popupDelay:e});var x=function(){E&&(e.unbind(C.show,p),e.unbind(C.hide,d))};o.$observe(u+"Trigger",function(t){x(),C=f(t),C.show===C.hide?e.bind(C.show,a):(e.bind(C.show,p),e.bind(C.hide,d)),E=!0});var O=n.$eval(o[u+"Animation"]);n.tt_animation=angular.isDefined(O)?!!O:m.animation,o.$observe(u+"AppendToBody",function(t){y=angular.isDefined(t)?r(t)(n):y}),y&&n.$on("$locationChangeSuccess",function(){n.tt_isOpen&&h()}),n.$on("$destroy",function(){l.cancel(w),l.cancel(k),x(),b()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(t){return t("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(t){return t("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(t){t.put("template/modal/backdrop.html",'<div class="modal-backdrop fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1040 + index*10 + 1}"></div>')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(t){t.put("template/modal/window.html",'<div tabindex="-1" class="modal fade {{ windowClass }}" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n <div class="modal_close_wrap hidden-xs hidden-sm" ng-click="close($event)">\n <div class="modal_close"></div>\n </div>\n <div class="modal-dialog"><div class="modal-content" ng-transclude></div></div>\n</div>')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(t){t.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(t){t.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]); |
|
|
!function(){"use strict";var e=angular.module("pasvaz.bindonce",[]);e.directive("bindonce",function(){var e=function(e){if(e&&0!==e.length){var t=angular.lowercase(""+e);e=!("f"===t||"0"===t||"false"===t||"no"===t||"n"===t||"[]"===t)}else e=!1;return e},t=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);isNaN(t)&&(t=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10));var r={restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(r,a,i,n){var c=function(t,r,a){var i="show"===r?"":"none",n="hide"===r?"":"none";t.css("display",e(a)?i:n)},o=function(e,t){if(angular.isObject(t)&&!angular.isArray(t)){var r=[];angular.forEach(t,function(e,t){e&&r.push(t)}),t=r}t&&e.addClass(angular.isArray(t)?t.join(" "):t)},s=function(e,t){e.transclude(t,function(t){var r=e.element.parent(),a=e.element&&e.element[e.element.length-1],i=r&&r[0]||a&&a.parentNode,n=a&&a.nextSibling||null;angular.forEach(t,function(e){i.insertBefore(e,n)})})},l={watcherRemover:void 0,binders:[],group:i.boName,element:a,ran:!1,addBinder:function(e){this.binders.push(e),this.ran&&this.runBinders()},setupWatcher:function(e){var t=this;this.watcherRemover=r.$watch(e,function(e){void 0!==e&&(t.removeWatcher(),t.checkBindonce(e))},!0)},checkBindonce:function(e){var t=this,r=e.$promise?e.$promise.then:e.then;"function"==typeof r?r(function(){t.runBinders()}):t.runBinders()},removeWatcher:function(){void 0!==this.watcherRemover&&(this.watcherRemover(),this.watcherRemover=void 0)},runBinders:function(){for(;this.binders.length>0;){var r=this.binders.shift();if(!this.group||this.group==r.group){var a=r.scope.$eval(r.interpolate?n(r.value):r.value);switch(r.attr){case"boIf":e(a)&&s(r,r.scope.$new());break;case"boSwitch":var i,l=r.controller[0];(i=l.cases["!"+a]||l.cases["?"])&&(r.scope.$eval(r.attrs.change),angular.forEach(i,function(e){s(e,r.scope.$new())}));break;case"boSwitchWhen":var u=r.controller[0];u.cases["!"+r.attrs.boSwitchWhen]=u.cases["!"+r.attrs.boSwitchWhen]||[],u.cases["!"+r.attrs.boSwitchWhen].push({transclude:r.transclude,element:r.element});break;case"boSwitchDefault":var u=r.controller[0];u.cases["?"]=u.cases["?"]||[],u.cases["?"].push({transclude:r.transclude,element:r.element});break;case"hide":case"show":c(r.element,r.attr,a);break;case"class":o(r.element,a);break;case"text":r.element.text(a);break;case"html":r.element.html(a);break;case"style":r.element.css(a);break;case"src":r.element.attr(r.attr,a),t&&r.element.prop("src",a);break;case"attr":angular.forEach(r.attrs,function(e,t){var a,i;t.match(/^boAttr./)&&r.attrs[t]&&(a=t.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i=r.scope.$eval(r.attrs[t]),r.element.attr(a,i))});break;case"href":case"alt":case"title":case"id":case"value":r.element.attr(r.attr,a)}}}this.ran=!0}};return l}],link:function(e,t,r,a){var i=r.bindonce&&e.$eval(r.bindonce);void 0!==i?a.checkBindonce(i):(a.setupWatcher(r.bindonce),t.bind("$destroy",a.removeWatcher))}};return r}),angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boBind",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"},{directiveName:"boIf",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boSwitch",require:"boSwitch",controller:function(){this.cases={}}},{directiveName:"boSwitchWhen",transclude:"element",priority:800,require:"^boSwitch"},{directiveName:"boSwitchDefault",transclude:"element",priority:800,require:"^boSwitch"}],function(t){var r=200;return e.directive(t.directiveName,function(){var e={priority:t.priority||r,transclude:t.transclude||!1,terminal:t.terminal||!1,require:["^bindonce"].concat(t.require||[]),controller:t.controller,compile:function(e,r,a){return function(e,r,i,n){var c=n[0],o=i.boParent;if(o&&c.group!==o){var s=c.element.parent();c=void 0;for(var l;9!==s[0].nodeType&&s.length;){if((l=s.data("$bindonceController"))&&l.group===o){c=l;break}s=s.parent()}if(!c)throw new Error("No bindonce controller: "+o)}c.addBinder({element:r,attr:t.attribute||t.directiveName,attrs:i,value:i[t.directiveName],interpolate:t.interpolate,group:o,transclude:a,controller:n.slice(1),scope:e})}}};return e})})}(); |
|
|
function BigInteger(t,i,r){null!=t&&("number"==typeof t?this.fromNumber(t,i,r):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function nbi(){return new BigInteger(null)}function am1(t,i,r,n,o,e){for(;--e>=0;){var s=i*this[t++]+r[n]+o;o=Math.floor(s/67108864),r[n++]=67108863&s}return o}function am2(t,i,r,n,o,e){for(var s=32767&i,h=i>>15;--e>=0;){var p=32767&this[t],u=this[t++]>>15,a=h*p+u*s;p=s*p+((32767&a)<<15)+r[n]+(1073741823&o),o=(p>>>30)+(a>>>15)+h*u+(o>>>30),r[n++]=1073741823&p}return o}function am3(t,i,r,n,o,e){for(var s=16383&i,h=i>>14;--e>=0;){var p=16383&this[t],u=this[t++]>>14,a=h*p+u*s;p=s*p+((16383&a)<<14)+r[n]+o,o=(p>>28)+(a>>14)+h*u,r[n++]=268435455&p}return o}function int2char(t){return BI_RM.charAt(t)}function intAt(t,i){var r=BI_RC[t.charCodeAt(i)];return null==r?-1:r}function bnpCopyTo(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s}function bnpFromInt(t){this.t=1,this.s=0>t?-1:0,t>0?this[0]=t:-1>t?this[0]=t+this.DV:this.t=0}function nbv(t){var i=nbi();return i.fromInt(t),i}function bnpFromString(t,i,r){var n;if(16==i)n=4;else if(8==i)n=3;else if(256==i)n=8;else if(2==i)n=1;else if(32==i)n=5;else{if(4!=i)return void this.fromRadix(t,i);n=2}this.t=0,this.s=0;for(var o=t.length,e=!1,s=0;--o>=0;){var h=8==n?255&t[o]:intAt(t,o);0>h?"-"==t.charAt(o)&&(e=!0):(e=!1,0==s?this[this.t++]=h:s+n>this.DB?(this[this.t-1]|=(h&(1<<this.DB-s)-1)<<s,this[this.t++]=h>>this.DB-s):this[this.t-1]|=h<<s,s+=n,s>=this.DB&&(s-=this.DB))}8==n&&0!=(128&t[0])&&r&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),e&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t}function bnToString(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,n=(1<<i)-1,o=!1,e="",s=this.t,h=this.DB-s*this.DB%i;if(s-->0)for(h<this.DB&&(r=this[s]>>h)>0&&(o=!0,e=int2char(r));s>=0;)i>h?(r=(this[s]&(1<<h)-1)<<i-h,r|=this[--s]>>(h+=this.DB-i)):(r=this[s]>>(h-=i)&n,0>=h&&(h+=this.DB,--s)),r>0&&(o=!0),o&&(e+=int2char(r));return o?e:"0"}function bnNegate(){var t=nbi();return BigInteger.ZERO.subTo(this,t),t}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(t){var i=this.s-t.s;if(0!=i)return i;var r=this.t;if(i=r-t.t,0!=i)return this.s<0?-i:i;for(;--r>=0;)if(0!=(i=this[r]-t[r]))return i;return 0}function nbits(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(t,i){var r;for(r=this.t-1;r>=0;--r)i[r+t]=this[r];for(r=t-1;r>=0;--r)i[r]=0;i.t=this.t+t,i.s=this.s}function bnpDRShiftTo(t,i){for(var r=t;r<this.t;++r)i[r-t]=this[r];i.t=Math.max(this.t-t,0),i.s=this.s}function bnpLShiftTo(t,i){var r,n=t%this.DB,o=this.DB-n,e=(1<<o)-1,s=Math.floor(t/this.DB),h=this.s<<n&this.DM;for(r=this.t-1;r>=0;--r)i[r+s+1]=this[r]>>o|h,h=(this[r]&e)<<n;for(r=s-1;r>=0;--r)i[r]=0;i[s]=h,i.t=this.t+s+1,i.s=this.s,i.clamp()}function bnpRShiftTo(t,i){i.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)return void(i.t=0);var n=t%this.DB,o=this.DB-n,e=(1<<n)-1;i[0]=this[r]>>n;for(var s=r+1;s<this.t;++s)i[s-r-1]|=(this[s]&e)<<o,i[s-r]=this[s]>>n;n>0&&(i[this.t-r-1]|=(this.s&e)<<o),i.t=this.t-r,i.clamp()}function bnpSubTo(t,i){for(var r=0,n=0,o=Math.min(t.t,this.t);o>r;)n+=this[r]-t[r],i[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this[r],i[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t[r],i[r++]=n&this.DM,n>>=this.DB;n-=t.s}i.s=0>n?-1:0,-1>n?i[r++]=this.DV+n:n>0&&(i[r++]=n),i.t=r,i.clamp()}function bnpMultiplyTo(t,i){var r=this.abs(),n=t.abs(),o=r.t;for(i.t=o+n.t;--o>=0;)i[o]=0;for(o=0;o<n.t;++o)i[o+r.t]=r.am(0,n[o],i,o,0,r.t);i.s=0,i.clamp(),this.s!=t.s&&BigInteger.ZERO.subTo(i,i)}function bnpSquareTo(t){for(var i=this.abs(),r=t.t=2*i.t;--r>=0;)t[r]=0;for(r=0;r<i.t-1;++r){var n=i.am(r,i[r],t,2*r,0,1);(t[r+i.t]+=i.am(r+1,2*i[r],t,2*r+1,n,i.t-r-1))>=i.DV&&(t[r+i.t]-=i.DV,t[r+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(r,i[r],t,2*r,0,1)),t.s=0,t.clamp()}function bnpDivRemTo(t,i,r){var n=t.abs();if(!(n.t<=0)){var o=this.abs();if(o.t<n.t)return null!=i&&i.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=nbi());var e=nbi(),s=this.s,h=t.s,p=this.DB-nbits(n[n.t-1]);p>0?(n.lShiftTo(p,e),o.lShiftTo(p,r)):(n.copyTo(e),o.copyTo(r));var u=e.t,a=e[u-1];if(0!=a){var f=a*(1<<this.F1)+(u>1?e[u-2]>>this.F2:0),g=this.FV/f,b=(1<<this.F1)/f,l=1<<this.F2,m=r.t,c=m-u,v=null==i?nbi():i;for(e.dlShiftTo(c,v),r.compareTo(v)>=0&&(r[r.t++]=1,r.subTo(v,r)),BigInteger.ONE.dlShiftTo(u,v),v.subTo(e,e);e.t<u;)e[e.t++]=0;for(;--c>=0;){var B=r[--m]==a?this.DM:Math.floor(r[m]*g+(r[m-1]+l)*b);if((r[m]+=e.am(0,B,r,c,0,u))<B)for(e.dlShiftTo(c,v),r.subTo(v,r);r[m]<--B;)r.subTo(v,r)}null!=i&&(r.drShiftTo(u,i),s!=h&&BigInteger.ZERO.subTo(i,i)),r.t=u,r.clamp(),p>0&&r.rShiftTo(p,r),0>s&&BigInteger.ZERO.subTo(r,r)}}}function bnMod(t){var i=nbi();return this.abs().divRemTo(t,null,i),this.s<0&&i.compareTo(BigInteger.ZERO)>0&&t.subTo(i,i),i}function Classic(t){this.m=t}function cConvert(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function cRevert(t){return t}function cReduce(t){t.divRemTo(this.m,null,t)}function cMulTo(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function cSqrTo(t,i){t.squareTo(i),this.reduce(i)}function bnpInvDigit(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var i=3&t;return i=i*(2-(15&t)*i)&15,i=i*(2-(255&t)*i)&255,i=i*(2-((65535&t)*i&65535))&65535,i=i*(2-t*i%this.DV)%this.DV,i>0?this.DV-i:-i}function Montgomery(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function montConvert(t){var i=nbi();return t.abs().dlShiftTo(this.m.t,i),i.divRemTo(this.m,null,i),t.s<0&&i.compareTo(BigInteger.ZERO)>0&&this.m.subTo(i,i),i}function montRevert(t){var i=nbi();return t.copyTo(i),this.reduce(i),i}function montReduce(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var i=0;i<this.m.t;++i){var r=32767&t[i],n=r*this.mpl+((r*this.mph+(t[i]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=i+this.m.t,t[r]+=this.m.am(0,n,t,i,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function montSqrTo(t,i){t.squareTo(i),this.reduce(i)}function montMulTo(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(t,i){if(t>4294967295||1>t)return BigInteger.ONE;var r=nbi(),n=nbi(),o=i.convert(this),e=nbits(t)-1;for(o.copyTo(r);--e>=0;)if(i.sqrTo(r,n),(t&1<<e)>0)i.mulTo(n,o,r);else{var s=r;r=n,n=s}return i.revert(r)}function bnModPowInt(t,i){var r;return r=256>t||i.isEven()?new Classic(i):new Montgomery(i),this.exp(t,r)}function bnClone(){var t=nbi();return this.copyTo(t),t}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnByteValue(){return 0==this.t?this.s:this[0]<<24>>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(t){if(null==t&&(t=10),0==this.signum()||2>t||t>36)return"0";var i=this.chunkSize(t),r=Math.pow(t,i),n=nbv(r),o=nbi(),e=nbi(),s="";for(this.divRemTo(n,o,e);o.signum()>0;)s=(r+e.intValue()).toString(t).substr(1)+s,o.divRemTo(n,o,e);return e.intValue().toString(t)+s}function bnpFromRadix(t,i){this.fromInt(0),null==i&&(i=10);for(var r=this.chunkSize(i),n=Math.pow(i,r),o=!1,e=0,s=0,h=0;h<t.length;++h){var p=intAt(t,h);0>p?"-"==t.charAt(h)&&0==this.signum()&&(o=!0):(s=i*s+p,++e>=r&&(this.dMultiply(n),this.dAddOffset(s,0),e=0,s=0))}e>0&&(this.dMultiply(Math.pow(i,e)),this.dAddOffset(s,0)),o&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(t,i,r){if("number"==typeof i)if(2>t)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(t-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(BigInteger.ONE.shiftLeft(t-1),this);else{var n=new Array,o=7&t;n.length=(t>>3)+1,i.nextBytes(n),o>0?n[0]&=(1<<o)-1:n[0]=0,this.fromString(n,256)}}function bnToByteArray(t){var i=this.t,r=new Array;r[0]=this.s;var n,o=this.DB-i*this.DB%8,e=0;if(i-->0)for(o<this.DB&&(n=this[i]>>o)!=(this.s&this.DM)>>o&&(r[e++]=n|this.s<<this.DB-o);i>=0;)8>o?(n=(this[i]&(1<<o)-1)<<8-o,n|=this[--i]>>(o+=this.DB-8)):(n=this[i]>>(o-=8)&255,0>=o&&(o+=this.DB,--i)),t&&0!=(128&n)&&(n|=-256),0==e&&(128&this.s)!=(128&n)&&++e,(e>0||n!=this.s)&&(r[e++]=n);return r}function bnEquals(t){return 0==this.compareTo(t)}function bnMin(t){return this.compareTo(t)<0?this:t}function bnMax(t){return this.compareTo(t)>0?this:t}function bnpBitwiseTo(t,i,r){var n,o,e=Math.min(t.t,this.t);for(n=0;e>n;++n)r[n]=i(this[n],t[n]);if(t.t<this.t){for(o=t.s&this.DM,n=e;n<this.t;++n)r[n]=i(this[n],o);r.t=this.t}else{for(o=this.s&this.DM,n=e;n<t.t;++n)r[n]=i(o,t[n]);r.t=t.t}r.s=i(this.s,t.s),r.clamp()}function op_and(t,i){return t&i}function bnAnd(t){var i=nbi();return this.bitwiseTo(t,op_and,i),i}function op_or(t,i){return t|i}function bnOr(t){var i=nbi();return this.bitwiseTo(t,op_or,i),i}function op_xor(t,i){return t^i}function bnXor(t){var i=nbi();return this.bitwiseTo(t,op_xor,i),i}function op_andnot(t,i){return t&~i}function bnAndNot(t){var i=nbi();return this.bitwiseTo(t,op_andnot,i),i}function bnNot(){for(var t=nbi(),i=0;i<this.t;++i)t[i]=this.DM&~this[i];return t.t=this.t,t.s=~this.s,t}function bnShiftLeft(t){var i=nbi();return 0>t?this.rShiftTo(-t,i):this.lShiftTo(t,i),i}function bnShiftRight(t){var i=nbi();return 0>t?this.lShiftTo(-t,i):this.rShiftTo(t,i),i}function lbit(t){if(0==t)return-1;var i=0;return 0==(65535&t)&&(t>>=16,i+=16),0==(255&t)&&(t>>=8,i+=8),0==(15&t)&&(t>>=4,i+=4),0==(3&t)&&(t>>=2,i+=2),0==(1&t)&&++i,i}function bnGetLowestSetBit(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+lbit(this[t]);return this.s<0?this.t*this.DB:-1}function cbit(t){for(var i=0;0!=t;)t&=t-1,++i;return i}function bnBitCount(){for(var t=0,i=this.s&this.DM,r=0;r<this.t;++r)t+=cbit(this[r]^i);return t}function bnTestBit(t){var i=Math.floor(t/this.DB);return i>=this.t?0!=this.s:0!=(this[i]&1<<t%this.DB)}function bnpChangeBit(t,i){var r=BigInteger.ONE.shiftLeft(t);return this.bitwiseTo(r,i,r),r}function bnSetBit(t){return this.changeBit(t,op_or)}function bnClearBit(t){return this.changeBit(t,op_andnot)}function bnFlipBit(t){return this.changeBit(t,op_xor)}function bnpAddTo(t,i){for(var r=0,n=0,o=Math.min(t.t,this.t);o>r;)n+=this[r]+t[r],i[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this[r],i[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t[r],i[r++]=n&this.DM,n>>=this.DB;n+=t.s}i.s=0>n?-1:0,n>0?i[r++]=n:-1>n&&(i[r++]=this.DV+n),i.t=r,i.clamp()}function bnAdd(t){var i=nbi();return this.addTo(t,i),i}function bnSubtract(t){var i=nbi();return this.subTo(t,i),i}function bnMultiply(t){var i=nbi();return this.multiplyTo(t,i),i}function bnSquare(){var t=nbi();return this.squareTo(t),t}function bnDivide(t){var i=nbi();return this.divRemTo(t,i,null),i}function bnRemainder(t){var i=nbi();return this.divRemTo(t,null,i),i}function bnDivideAndRemainder(t){var i=nbi(),r=nbi();return this.divRemTo(t,i,r),new Array(i,r)}function bnpDMultiply(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(t,i){if(0!=t){for(;this.t<=i;)this[this.t++]=0;for(this[i]+=t;this[i]>=this.DV;)this[i]-=this.DV,++i>=this.t&&(this[this.t++]=0),++this[i]}}function NullExp(){}function nNop(t){return t}function nMulTo(t,i,r){t.multiplyTo(i,r)}function nSqrTo(t,i){t.squareTo(i)}function bnPow(t){return this.exp(t,new NullExp)}function bnpMultiplyLowerTo(t,i,r){var n=Math.min(this.t+t.t,i);for(r.s=0,r.t=n;n>0;)r[--n]=0;var o;for(o=r.t-this.t;o>n;++n)r[n+this.t]=this.am(0,t[n],r,n,0,this.t);for(o=Math.min(t.t,i);o>n;++n)this.am(0,t[n],r,n,0,i-n);r.clamp()}function bnpMultiplyUpperTo(t,i,r){--i;var n=r.t=this.t+t.t-i;for(r.s=0;--n>=0;)r[n]=0;for(n=Math.max(i-this.t,0);n<t.t;++n)r[this.t+n-i]=this.am(i-n,t[n],r,0,0,this.t+n-i);r.clamp(),r.drShiftTo(1,r)}function Barrett(t){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function barrettConvert(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var i=nbi();return t.copyTo(i),this.reduce(i),i}function barrettRevert(t){return t}function barrettReduce(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function barrettSqrTo(t,i){t.squareTo(i),this.reduce(i)}function barrettMulTo(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function bnModPow(t,i){var r,n,o=t.bitLength(),e=nbv(1);if(0>=o)return e;r=18>o?1:48>o?3:144>o?4:768>o?5:6,n=8>o?new Classic(i):i.isEven()?new Barrett(i):new Montgomery(i);var s=new Array,h=3,p=r-1,u=(1<<r)-1;if(s[1]=n.convert(this),r>1){var a=nbi();for(n.sqrTo(s[1],a);u>=h;)s[h]=nbi(),n.mulTo(a,s[h-2],s[h]),h+=2}var f,g,b=t.t-1,l=!0,m=nbi();for(o=nbits(t[b])-1;b>=0;){for(o>=p?f=t[b]>>o-p&u:(f=(t[b]&(1<<o+1)-1)<<p-o,b>0&&(f|=t[b-1]>>this.DB+o-p)),h=r;0==(1&f);)f>>=1,--h;if((o-=h)<0&&(o+=this.DB,--b),l)s[f].copyTo(e),l=!1;else{for(;h>1;)n.sqrTo(e,m),n.sqrTo(m,e),h-=2;h>0?n.sqrTo(e,m):(g=e,e=m,m=g),n.mulTo(m,s[f],e)}for(;b>=0&&0==(t[b]&1<<o);)n.sqrTo(e,m),g=e,e=m,m=g,--o<0&&(o=this.DB-1,--b)}return n.revert(e)}function bnGCD(t){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var n=i;i=r,r=n}var o=i.getLowestSetBit(),e=r.getLowestSetBit();if(0>e)return i;for(e>o&&(e=o),e>0&&(i.rShiftTo(e,i),r.rShiftTo(e,r));i.signum()>0;)(o=i.getLowestSetBit())>0&&i.rShiftTo(o,i),(o=r.getLowestSetBit())>0&&r.rShiftTo(o,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r));return e>0&&r.lShiftTo(e,r),r}function bnpModInt(t){if(0>=t)return 0;var i=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==i)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(i*r+this[n])%t;return r}function bnModInverse(t){var i=t.isEven();if(this.isEven()&&i||0==t.signum())return BigInteger.ZERO;for(var r=t.clone(),n=this.clone(),o=nbv(1),e=nbv(0),s=nbv(0),h=nbv(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),i?(o.isEven()&&e.isEven()||(o.addTo(this,o),e.subTo(t,e)),o.rShiftTo(1,o)):e.isEven()||e.subTo(t,e),e.rShiftTo(1,e);for(;n.isEven();)n.rShiftTo(1,n),i?(s.isEven()&&h.isEven()||(s.addTo(this,s),h.subTo(t,h)),s.rShiftTo(1,s)):h.isEven()||h.subTo(t,h),h.rShiftTo(1,h);r.compareTo(n)>=0?(r.subTo(n,r),i&&o.subTo(s,o),e.subTo(h,e)):(n.subTo(r,n),i&&s.subTo(o,s),h.subTo(e,h))}return 0!=n.compareTo(BigInteger.ONE)?BigInteger.ZERO:h.compareTo(t)>=0?h.subtract(t):h.signum()<0?(h.addTo(t,h),h.signum()<0?h.add(t):h):h}function bnIsProbablePrime(t){var i,r=this.abs();if(1==r.t&&r[0]<=lowprimes[lowprimes.length-1]){for(i=0;i<lowprimes.length;++i)if(r[0]==lowprimes[i])return!0;return!1}if(r.isEven())return!1;for(i=1;i<lowprimes.length;){for(var n=lowprimes[i],o=i+1;o<lowprimes.length&&lplim>n;)n*=lowprimes[o++];for(n=r.modInt(n);o>i;)if(n%lowprimes[i++]==0)return!1}return r.millerRabin(t)}function bnpMillerRabin(t){var i=this.subtract(BigInteger.ONE),r=i.getLowestSetBit();if(0>=r)return!1;var n=i.shiftRight(r);t=t+1>>1,t>lowprimes.length&&(t=lowprimes.length);for(var o=nbi(),e=0;t>e;++e){o.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var s=o.modPow(n,this);if(0!=s.compareTo(BigInteger.ONE)&&0!=s.compareTo(i)){for(var h=1;h++<r&&0!=s.compareTo(i);)if(s=s.modPowInt(2,this),0==s.compareTo(BigInteger.ONE))return!1;if(0!=s.compareTo(i))return!1}}return!0}function rng_seed_int(t){rng_pool[rng_pptr++]^=255&t,rng_pool[rng_pptr++]^=t>>8&255,rng_pool[rng_pptr++]^=t>>16&255,rng_pool[rng_pptr++]^=t>>24&255,rng_pptr>=rng_psize&&(rng_pptr-=rng_psize)}function rng_seed_time(){rng_seed_int((new Date).getTime())}function rng_get_byte(){if(null==rng_state){for(rng_seed_time(),rng_state=prng_newstate(),rng_state.init(rng_pool),rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr)rng_pool[rng_pptr]=0;rng_pptr=0}return rng_state.next()}function rng_get_bytes(t){var i;for(i=0;i<t.length;++i)t[i]=rng_get_byte()}function SecureRandom(){}function Arcfour(){this.i=0,this.j=0,this.S=new Array}function ARC4init(t){var i,r,n;for(i=0;256>i;++i)this.S[i]=i;for(r=0,i=0;256>i;++i)r=r+this.S[i]+t[i%t.length]&255,n=this.S[i],this.S[i]=this.S[r],this.S[r]=n;this.i=0,this.j=0}function ARC4next(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;9>=vv;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare;var rng_state,rng_pool,rng_pptr;if(null==rng_pool){rng_pool=new Array,rng_pptr=0;var global="undefined"!=typeof window?window:this,t;if(global&&global.crypto&&global.crypto.getRandomValues){var ua=new Uint8Array(32);for(global.crypto.getRandomValues(ua),t=0;32>t;++t)rng_pool[rng_pptr++]=ua[t]}if("Netscape"==navigator.appName&&navigator.appVersion<"5"&&global&&global.crypto){var z=global.crypto.random(32);for(t=0;t<z.length;++t)rng_pool[rng_pptr++]=255&z.charCodeAt(t)}for(;rng_psize>rng_pptr;)t=Math.floor(65536*Math.random()),rng_pool[rng_pptr++]=t>>>8,rng_pool[rng_pptr++]=255&t;rng_pptr=0,rng_seed_time()}SecureRandom.prototype.nextBytes=rng_get_bytes,Arcfour.prototype.init=ARC4init,Arcfour.prototype.next=ARC4next;var rng_psize=256; |
|
|
var CryptoJS=CryptoJS||function(t,e){var r={},i=r.lib={},n=i.Base=function(){function t(){}return{extend:function(e){t.prototype=this;var r=new t;return e&&r.mixIn(e),r.hasOwnProperty("init")||(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),o=i.WordArray=n.extend({init:function(t,r){t=this.words=t||[],this.sigBytes=r!=e?r:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,r=t.words,i=this.sigBytes,n=t.sigBytes;if(this.clamp(),i%4)for(var o=0;n>o;o++){var s=r[o>>>2]>>>24-o%4*8&255;e[i+o>>>2]|=s<<24-(i+o)%4*8}else if(r.length>65535)for(var o=0;n>o;o+=4)e[i+o>>>2]=r[o>>>2];else for(var o=0;o<r.length;o++)e.push(r[o]);return this.sigBytes+=n,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=n.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var r=[],i=0;e>i;i+=4)r.push(4294967296*t.random()|0);return new o.init(r,e)}}),s=r.enc={},c=s.Hex={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;r>n;n++){var o=e[n>>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;e>i;i+=2)r[i>>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new o.init(r,e/2)}},a=s.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;r>n;n++){var o=e[n>>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;e>i;i++)r[i>>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new o.init(r,e)}},f=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(a.stringify(t)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(t){return a.parse(unescape(encodeURIComponent(t)))}},h=i.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=f.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r=this._data,i=r.words,n=r.sigBytes,s=this.blockSize,c=4*s,a=n/c;a=e?t.ceil(a):t.max((0|a)-this._minBufferSize,0);var f=a*s,h=t.min(4*f,n);if(f){for(var u=0;f>u;u+=s)this._doProcessBlock(i,u);var p=i.splice(0,f);r.sigBytes-=h}return new o.init(p,h)},clone:function(){var t=n.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0}),u=(i.Hasher=h.extend({cfg:n.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var e=this._doFinalize();return e},blockSize:16,_createHelper:function(t){return function(e,r){return new t.init(r).finalize(e)}},_createHmacHelper:function(t){return function(e,r){return new u.HMAC.init(t,r).finalize(e)}}}),r.algo={});return r}(Math);CryptoJS.lib.Cipher||function(t){var e=CryptoJS,r=e.lib,i=r.Base,n=r.WordArray,o=r.BufferedBlockAlgorithm,s=e.enc,c=(s.Utf8,s.Base64),a=e.algo,f=a.EvpKDF,h=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){t&&this._append(t);var e=this._doFinalize();return e},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?x:k}return function(e){return{encrypt:function(r,i,n){return t(i).encrypt(e,r,i,n)},decrypt:function(r,i,n){return t(i).decrypt(e,r,i,n)}}}}()}),u=(r.StreamCipher=h.extend({_doFinalize:function(){var t=this._process(!0);return t},blockSize:1}),e.mode={}),p=r.BlockCipherMode=i.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),l=u.CBC=function(){function e(e,r,i){var n=this._iv;if(n){var o=n;this._iv=t}else var o=this._prevBlock;for(var s=0;i>s;s++)e[r+s]^=o[s]}var r=p.extend();return r.Encryptor=r.extend({processBlock:function(t,r){var i=this._cipher,n=i.blockSize;e.call(this,t,r,n),i.encryptBlock(t,r),this._prevBlock=t.slice(r,r+n)}}),r.Decryptor=r.extend({processBlock:function(t,r){var i=this._cipher,n=i.blockSize,o=t.slice(r,r+n);i.decryptBlock(t,r),e.call(this,t,r,n),this._prevBlock=o}}),r}(),d=(u.IGE=function(){function e(t,e,r,i){for(var n=0;i>n;n++)t[r+n]^=e[n]}var r=p.extend();return r.Encryptor=r.extend({processBlock:function(r,i){var n=this._cipher,o=n.blockSize;this._ivp===t&&(this._ivp=this._iv.slice(0,o),this._iv2p=this._iv.slice(o,o+o));var s=r.slice(i,i+o);e(r,this._ivp,i,o),n.encryptBlock(r,i),e(r,this._iv2p,i,o),this._ivp=r.slice(i,i+o),this._iv2p=s}}),r.Decryptor=r.extend({processBlock:function(r,i){var n=this._cipher,o=n.blockSize;this._ivp===t&&(this._ivp=this._iv.slice(0,o),this._iv2p=this._iv.slice(o,2*o));var s=r.slice(i,i+o);e(r,this._iv2p,i,o),n.decryptBlock(r,i),e(r,this._ivp,i,o),this._ivp=s,this._iv2p=r.slice(i,i+o)}}),r}(),e.pad={}),v=d.Pkcs7={pad:function(t,e){for(var r=4*e,i=r-t.sigBytes%r,o=i<<24|i<<16|i<<8|i,s=[],c=0;i>c;c+=4)s.push(o);var a=n.create(s,i);t.concat(a)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},y=(d.NoPadding={pad:function(){},unpad:function(){}},r.BlockCipher=h.extend({cfg:h.cfg.extend({mode:l,padding:v}),reset:function(){h.reset.call(this);var t=this.cfg,e=t.iv,r=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var i=r.createEncryptor;else{var i=r.createDecryptor;this._minBufferSize=1}this._mode=i.call(r,this,e&&e.words)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else{var e=this._process(!0);t.unpad(e)}return e},blockSize:4}),r.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),_=e.format={},g=_.OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;if(r)var i=n.create([1398893684,1701076831]).concat(r).concat(e);else var i=e;return i.toString(c)},parse:function(t){var e=c.parse(t),r=e.words;if(1398893684==r[0]&&1701076831==r[1]){var i=n.create(r.slice(2,4));r.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:i})}},k=r.SerializableCipher=i.extend({cfg:i.extend({format:g}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i),o=n.finalize(e),s=n.cfg;return y.create({ciphertext:o,key:r,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){i=this.cfg.extend(i),e=this._parse(e,i.format);var n=t.createDecryptor(r,i).finalize(e.ciphertext);return n},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),B=e.kdf={},S=B.OpenSSL={execute:function(t,e,r,i){i||(i=n.random(8));var o=f.create({keySize:e+r}).compute(t,i),s=n.create(o.words.slice(e),4*r);return o.sigBytes=4*e,y.create({key:o,iv:s,salt:i})}},x=r.PasswordBasedCipher=k.extend({cfg:k.cfg.extend({kdf:S}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=i.kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var o=k.encrypt.call(this,t,e,n.key,i);return o.mixIn(n),o},decrypt:function(t,e,r,i){i=this.cfg.extend(i),e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);i.iv=n.iv;var o=k.decrypt.call(this,t,e,n.key,i);return o}})}(),function(){var t=CryptoJS,e=t.lib,r=e.BlockCipher,i=t.algo,n=[],o=[],s=[],c=[],a=[],f=[],h=[],u=[],p=[],l=[];!function(){for(var t=[],e=0;256>e;e++)t[e]=128>e?e<<1:e<<1^283;for(var r=0,i=0,e=0;256>e;e++){var d=i^i<<1^i<<2^i<<3^i<<4;d=d>>>8^255&d^99,n[r]=d,o[d]=r;var v=t[r],y=t[v],_=t[y],g=257*t[d]^16843008*d;s[r]=g<<24|g>>>8,c[r]=g<<16|g>>>16,a[r]=g<<8|g>>>24,f[r]=g;var g=16843009*_^65537*y^257*v^16843008*r;h[d]=g<<24|g>>>8,u[d]=g<<16|g>>>16,p[d]=g<<8|g>>>24,l[d]=g,r?(r=v^t[t[t[_^v]]],i^=t[t[i]]):r=i=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],v=i.AES=r.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes/4,i=this._nRounds=r+6,o=4*(i+1),s=this._keySchedule=[],c=0;o>c;c++)if(r>c)s[c]=e[c];else{var a=s[c-1];c%r?r>6&&c%r==4&&(a=n[a>>>24]<<24|n[a>>>16&255]<<16|n[a>>>8&255]<<8|n[255&a]):(a=a<<8|a>>>24,a=n[a>>>24]<<24|n[a>>>16&255]<<16|n[a>>>8&255]<<8|n[255&a],a^=d[c/r|0]<<24),s[c]=s[c-r]^a}for(var f=this._invKeySchedule=[],v=0;o>v;v++){var c=o-v;if(v%4)var a=s[c];else var a=s[c-4];f[v]=4>v||4>=c?a:h[n[a>>>24]]^u[n[a>>>16&255]]^p[n[a>>>8&255]]^l[n[255&a]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,c,a,f,n)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,h,u,p,l,o);var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,o,s,c){for(var a=this._nRounds,f=t[e]^r[0],h=t[e+1]^r[1],u=t[e+2]^r[2],p=t[e+3]^r[3],l=4,d=1;a>d;d++){var v=i[f>>>24]^n[h>>>16&255]^o[u>>>8&255]^s[255&p]^r[l++],y=i[h>>>24]^n[u>>>16&255]^o[p>>>8&255]^s[255&f]^r[l++],_=i[u>>>24]^n[p>>>16&255]^o[f>>>8&255]^s[255&h]^r[l++],g=i[p>>>24]^n[f>>>16&255]^o[h>>>8&255]^s[255&u]^r[l++];f=v,h=y,u=_,p=g}var v=(c[f>>>24]<<24|c[h>>>16&255]<<16|c[u>>>8&255]<<8|c[255&p])^r[l++],y=(c[h>>>24]<<24|c[u>>>16&255]<<16|c[p>>>8&255]<<8|c[255&f])^r[l++],_=(c[u>>>24]<<24|c[p>>>16&255]<<16|c[f>>>8&255]<<8|c[255&h])^r[l++],g=(c[p>>>24]<<24|c[f>>>16&255]<<16|c[h>>>8&255]<<8|c[255&u])^r[l++];t[e]=v,t[e+1]=y,t[e+2]=_,t[e+3]=g},keySize:8});t.AES=r._createHelper(v)}();var sha1;!function(t){function e(t){for(var e,r="",i=7;i>=0;--i)e=t>>>(i<<2)&15,r+=e.toString(16);return r}function r(t){for(var e,r=[],i=3;i>=0;--i)e=t>>8*i&255,r.push(e);return r}function i(t,e){return t<<e|t>>>32-e}function n(t){t=t.replace(/[\u0080-\u07ff]/g,function(t){var e=t.charCodeAt(0);return String.fromCharCode(192|e>>6,128|63&e)}),t=t.replace(/[\u0080-\uffff]/g,function(t){var e=t.charCodeAt(0);return String.fromCharCode(224|e>>12,128|e>>6&63,128|63&e)});for(var e=t.length,r=new Uint8Array(e),i=0;e>i;++i)r[i]=t.charCodeAt(i);return r.buffer}function o(t){for(var e=t.length,r=new Uint8Array(e),i=0;e>i;++i)r[i]=t[i];return r.buffer}function s(t,s){var c;c=t instanceof ArrayBuffer?t:"[object Array]"==Object.prototype.toString.apply(t)?o(t):n(String(t));var h,u,p=1732584193,l=4023233417,d=2562383102,v=271733878,y=3285377520,_=c.byteLength,g=_<<3,k=g+65,B=Math.ceil(k/512)<<9,S=B>>>3,x=S>>>2,m=new f(x),C=m.bytes,w=new Uint32Array(80),z=new Uint8Array(c);for(h=0;_>h;++h)C[h]=z[h];for(C[_]=128,m.set(x-2,Math.floor(g/a)),m.set(x-1,4294967295&g),h=0;x>h;h+=16){for(u=0;16>u;++u)w[u]=m.get(h+u);for(;80>u;++u)w[u]=i(w[u-3]^w[u-8]^w[u-14]^w[u-16],1);var b,E,M,A=p,D=l,O=d,R=v,F=y;for(u=0;80>u;++u)20>u?(b=D&O|~D&R,E=1518500249):40>u?(b=D^O^R,E=1859775393):60>u?(b=D&O^D&R^O&R,E=2400959708):(b=D^O^R,E=3395469782),M=i(A,5)+b+F+E+w[u]&4294967295,F=R,R=O,O=i(D,30),D=A,A=M;p=p+A&4294967295,l=l+D&4294967295,d=d+O&4294967295,v=v+R&4294967295,y=y+F&4294967295}return s?r(p).concat(r(l),r(d),r(v),r(y)):e(p)+e(l)+e(d)+e(v)+e(y)}var c=Math.pow(2,24),a=Math.pow(2,32),f=function(){function t(t){this.bytes=new Uint8Array(t<<2)}return t.prototype.get=function(t){return t<<=2,this.bytes[t]*c+(this.bytes[t+1]<<16|this.bytes[t+2]<<8|this.bytes[t+3])},t.prototype.set=function(t,e){var r=Math.floor(e/c),i=e-r*c;t<<=2,this.bytes[t]=r,this.bytes[t+1]=i>>16,this.bytes[t+2]=i>>8&255,this.bytes[t+3]=255&i},t}();t.hash=s}(sha1||(sha1={})); |
|
|
(function(){"use strict";function t(t){throw t}function r(t,r){var e=t.split("."),i=c;!(e[0]in i)&&i.execScript&&i.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)e.length||r===f?i=i[n]?i[n]:i[n]={}:i[n]=r}function e(t,r,e){var i,n="number"==typeof r?r:r=0,s="number"==typeof e?e:t.length;for(i=-1,n=7&s;n--;++r)i=i>>>8^g[255&(i^t[r])];for(n=s>>3;n--;r+=8)i=i>>>8^g[255&(i^t[r])],i=i>>>8^g[255&(i^t[r+1])],i=i>>>8^g[255&(i^t[r+2])],i=i>>>8^g[255&(i^t[r+3])],i=i>>>8^g[255&(i^t[r+4])],i=i>>>8^g[255&(i^t[r+5])],i=i>>>8^g[255&(i^t[r+6])],i=i>>>8^g[255&(i^t[r+7])];return(4294967295^i)>>>0}function i(){}function n(t){var r,e,i,n,s,a,h,o,u,f=t.length,c=0,p=Number.POSITIVE_INFINITY;for(o=0;f>o;++o)t[o]>c&&(c=t[o]),t[o]<p&&(p=t[o]);for(r=1<<c,e=new(l?Uint32Array:Array)(r),i=1,n=0,s=2;c>=i;){for(o=0;f>o;++o)if(t[o]===i){for(a=0,h=n,u=0;i>u;++u)a=a<<1|1&h,h>>=1;for(u=a;r>u;u+=s)e[u]=i<<16|o;++n}++i,n<<=1,s<<=1}return[e,c,p]}function s(r,e){switch(this.i=[],this.j=32768,this.d=this.f=this.c=this.n=0,this.input=l?new Uint8Array(r):r,this.o=!1,this.k=k,this.w=!1,(e||!(e={}))&&(e.index&&(this.c=e.index),e.bufferSize&&(this.j=e.bufferSize),e.bufferType&&(this.k=e.bufferType),e.resize&&(this.w=e.resize)),this.k){case m:this.a=32768,this.b=new(l?Uint8Array:Array)(32768+this.j+258);break;case k:this.a=0,this.b=new(l?Uint8Array:Array)(this.j),this.e=this.D,this.q=this.A,this.l=this.C;break;default:t(Error("invalid inflate mode"))}}function a(r,e){for(var i,n=r.f,s=r.d,a=r.input,h=r.c;e>s;)i=a[h++],i===f&&t(Error("input buffer is broken")),n|=i<<s,s+=8;return i=n&(1<<e)-1,r.f=n>>>e,r.d=s-e,r.c=h,i}function h(t,r){for(var e,i,n,s=t.f,a=t.d,h=t.input,o=t.c,u=r[0],c=r[1];c>a&&(e=h[o++],e!==f);)s|=e<<a,a+=8;return i=u[s&(1<<c)-1],n=i>>>16,t.f=s>>n,t.d=a-n,t.c=o,65535&i}function o(t){function r(t,r,e){var i,n,s,o;for(o=0;t>o;)switch(i=h(this,r)){case 16:for(s=3+a(this,2);s--;)e[o++]=n;break;case 17:for(s=3+a(this,3);s--;)e[o++]=0;n=0;break;case 18:for(s=11+a(this,7);s--;)e[o++]=0;n=0;break;default:n=e[o++]=i}return e}var e,i,s,o,u=a(t,5)+257,f=a(t,5)+1,c=a(t,4)+4,p=new(l?Uint8Array:Array)(N.length);for(o=0;c>o;++o)p[N[o]]=a(t,3);e=n(p),i=new(l?Uint8Array:Array)(u),s=new(l?Uint8Array:Array)(f),t.l(n(r.call(t,u,e,i)),n(r.call(t,f,e,s)))}function u(t){this.input=t,this.c=0,this.m=[],this.s=!1}var f=void 0,c=this,l="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;new(l?Uint8Array:Array)(256);var p;for(p=0;256>p;++p)for(var y=p,b=7,y=y>>>1;y;y>>>=1)--b;var d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],g=l?new Uint32Array(d):d;i.prototype.getName=function(){return this.name},i.prototype.getData=function(){return this.data},i.prototype.G=function(){return this.H},r("Zlib.GunzipMember",i),r("Zlib.GunzipMember.prototype.getName",i.prototype.getName),r("Zlib.GunzipMember.prototype.getData",i.prototype.getData),r("Zlib.GunzipMember.prototype.getMtime",i.prototype.G);var v,A=[];for(v=0;288>v;v++)switch(!0){case 143>=v:A.push([v+48,8]);break;case 255>=v:A.push([v-144+400,9]);break;case 279>=v:A.push([v-256+0,7]);break;case 287>=v:A.push([v-280+192,8]);break;default:t("invalid literal: "+v)}var w=function(){function r(r){switch(!0){case 3===r:return[257,r-3,0];case 4===r:return[258,r-4,0];case 5===r:return[259,r-5,0];case 6===r:return[260,r-6,0];case 7===r:return[261,r-7,0];case 8===r:return[262,r-8,0];case 9===r:return[263,r-9,0];case 10===r:return[264,r-10,0];case 12>=r:return[265,r-11,1];case 14>=r:return[266,r-13,1];case 16>=r:return[267,r-15,1];case 18>=r:return[268,r-17,1];case 22>=r:return[269,r-19,2];case 26>=r:return[270,r-23,2];case 30>=r:return[271,r-27,2];case 34>=r:return[272,r-31,2];case 42>=r:return[273,r-35,3];case 50>=r:return[274,r-43,3];case 58>=r:return[275,r-51,3];case 66>=r:return[276,r-59,3];case 82>=r:return[277,r-67,4];case 98>=r:return[278,r-83,4];case 114>=r:return[279,r-99,4];case 130>=r:return[280,r-115,4];case 162>=r:return[281,r-131,5];case 194>=r:return[282,r-163,5];case 226>=r:return[283,r-195,5];case 257>=r:return[284,r-227,5];case 258===r:return[285,r-258,0];default:t("invalid length: "+r)}}var e,i,n=[];for(e=3;258>=e;e++)i=r(e),n[e]=i[2]<<24|i[1]<<16|i[0];return n}();l&&new Uint32Array(w);var m=0,k=1;s.prototype.g=function(){for(;!this.o;){var r=a(this,3);switch(1&r&&(this.o=!0),r>>>=1){case 0:var e=this.input,i=this.c,n=this.b,s=this.a,h=f,u=f,c=f,p=n.length,y=f;switch(this.d=this.f=0,h=e[i++],h===f&&t(Error("invalid uncompressed block header: LEN (first byte)")),u=h,h=e[i++],h===f&&t(Error("invalid uncompressed block header: LEN (second byte)")),u|=h<<8,h=e[i++],h===f&&t(Error("invalid uncompressed block header: NLEN (first byte)")),c=h,h=e[i++],h===f&&t(Error("invalid uncompressed block header: NLEN (second byte)")),c|=h<<8,u===~c&&t(Error("invalid uncompressed block header: length verify")),i+u>e.length&&t(Error("input buffer is broken")),this.k){case m:for(;s+u>n.length;){if(y=p-s,u-=y,l)n.set(e.subarray(i,i+y),s),s+=y,i+=y;else for(;y--;)n[s++]=e[i++];this.a=s,n=this.e(),s=this.a}break;case k:for(;s+u>n.length;)n=this.e({t:2});break;default:t(Error("invalid inflate mode"))}if(l)n.set(e.subarray(i,i+u),s),s+=u,i+=u;else for(;u--;)n[s++]=e[i++];this.c=i,this.a=s,this.b=n;break;case 1:this.l(q,F);break;case 2:o(this);break;default:t(Error("unknown BTYPE: "+r))}}return this.q()};var U,E,z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=l?new Uint16Array(z):z,S=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],G=l?new Uint16Array(S):S,C=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],x=l?new Uint8Array(C):C,I=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],M=l?new Uint16Array(I):I,Z=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],j=l?new Uint8Array(Z):Z,D=new(l?Uint8Array:Array)(288);for(U=0,E=D.length;E>U;++U)D[U]=143>=U?8:255>=U?9:279>=U?7:8;var L,T,q=n(D),B=new(l?Uint8Array:Array)(30);for(L=0,T=B.length;T>L;++L)B[L]=5;var F=n(B);s.prototype.l=function(t,r){var e=this.b,i=this.a;this.r=t;for(var n,s,o,u,f=e.length-258;256!==(n=h(this,t));)if(256>n)i>=f&&(this.a=i,e=this.e(),i=this.a),e[i++]=n;else for(s=n-257,u=G[s],0<x[s]&&(u+=a(this,x[s])),n=h(this,r),o=M[n],0<j[n]&&(o+=a(this,j[n])),i>=f&&(this.a=i,e=this.e(),i=this.a);u--;)e[i]=e[i++-o];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},s.prototype.C=function(t,r){var e=this.b,i=this.a;this.r=t;for(var n,s,o,u,f=e.length;256!==(n=h(this,t));)if(256>n)i>=f&&(e=this.e(),f=e.length),e[i++]=n;else for(s=n-257,u=G[s],0<x[s]&&(u+=a(this,x[s])),n=h(this,r),o=M[n],0<j[n]&&(o+=a(this,j[n])),i+u>f&&(e=this.e(),f=e.length);u--;)e[i]=e[i++-o];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},s.prototype.e=function(){var t,r,e=new(l?Uint8Array:Array)(this.a-32768),i=this.a-32768,n=this.b;if(l)e.set(n.subarray(32768,e.length));else for(t=0,r=e.length;r>t;++t)e[t]=n[t+32768];if(this.i.push(e),this.n+=e.length,l)n.set(n.subarray(i,i+32768));else for(t=0;32768>t;++t)n[t]=n[i+t];return this.a=32768,n},s.prototype.D=function(t){var r,e,i,n,s=this.input.length/this.c+1|0,a=this.input,h=this.b;return t&&("number"==typeof t.t&&(s=t.t),"number"==typeof t.z&&(s+=t.z)),2>s?(e=(a.length-this.c)/this.r[2],n=258*(e/2)|0,i=n<h.length?h.length+n:h.length<<1):i=h.length*s,l?(r=new Uint8Array(i),r.set(h)):r=h,this.b=r},s.prototype.q=function(){var t,r,e,i,n,s=0,a=this.b,h=this.i,o=new(l?Uint8Array:Array)(this.n+(this.a-32768));if(0===h.length)return l?this.b.subarray(32768,this.a):this.b.slice(32768,this.a);for(r=0,e=h.length;e>r;++r)for(t=h[r],i=0,n=t.length;n>i;++i)o[s++]=t[i];for(r=32768,e=this.a;e>r;++r)o[s++]=a[r];return this.i=[],this.buffer=o},s.prototype.A=function(){var t,r=this.a;return l?this.w?(t=new Uint8Array(r),t.set(this.b.subarray(0,r))):t=this.b.subarray(0,r):(this.b.length>r&&(this.b.length=r),t=this.b),this.buffer=t},u.prototype.F=function(){return this.s||this.g(),this.m.slice()},u.prototype.g=function(){for(var r=this.input.length;this.c<r;){var n=new i,a=f,h=f,o=f,u=f,c=f,p=f,y=f,b=f,d=f,g=this.input,v=this.c;switch(n.u=g[v++],n.v=g[v++],(31!==n.u||139!==n.v)&&t(Error("invalid file signature:"+n.u+","+n.v)),n.p=g[v++],n.p){case 8:break;default:t(Error("unknown compression method: "+n.p))}if(n.h=g[v++],b=g[v++]|g[v++]<<8|g[v++]<<16|g[v++]<<24,n.H=new Date(1e3*b),n.N=g[v++],n.M=g[v++],0<(4&n.h)&&(n.I=g[v++]|g[v++]<<8,v+=n.I),0<(8&n.h)){for(y=[],p=0;0<(c=g[v++]);)y[p++]=String.fromCharCode(c);n.name=y.join("")}if(0<(16&n.h)){for(y=[],p=0;0<(c=g[v++]);)y[p++]=String.fromCharCode(c);n.J=y.join("")}0<(2&n.h)&&(n.B=65535&e(g,0,v),n.B!==(g[v++]|g[v++]<<8)&&t(Error("invalid header crc16"))),a=g[g.length-4]|g[g.length-3]<<8|g[g.length-2]<<16|g[g.length-1]<<24,g.length-v-4-4<512*a&&(u=a),h=new s(g,{index:v,bufferSize:u}),n.data=o=h.g(),v=h.c,n.K=d=(g[v++]|g[v++]<<8|g[v++]<<16|g[v++]<<24)>>>0,e(o,f,f)!==d&&t(Error("invalid CRC-32 checksum: 0x"+e(o,f,f).toString(16)+" / 0x"+d.toString(16))),n.L=a=(g[v++]|g[v++]<<8|g[v++]<<16|g[v++]<<24)>>>0,(4294967295&o.length)!==a&&t(Error("invalid input size: "+(4294967295&o.length)+" / "+a)),this.m.push(n),this.c=v}this.s=!0;var A,w,m,k=this.m,U=0,E=0;for(A=0,w=k.length;w>A;++A)E+=k[A].data.length;if(l)for(m=new Uint8Array(E),A=0;w>A;++A)m.set(k[A].data,U),U+=k[A].data.length;else{for(m=[],A=0;w>A;++A)m[A]=k[A].data;m=Array.prototype.concat.apply([],m)}return m},r("Zlib.Gunzip",u),r("Zlib.Gunzip.prototype.decompress",u.prototype.g),r("Zlib.Gunzip.prototype.getMembers",u.prototype.F)}).call(this); |
|
|
this.goog={provide:function(){},math:{}},goog.provide("goog.math.Long"),goog.math.Long=function(o,t){this.low_=0|o,this.high_=0|t},goog.math.Long.IntCache_={},goog.math.Long.fromInt=function(o){if(o>=-128&&128>o){var t=goog.math.Long.IntCache_[o];if(t)return t}var g=new goog.math.Long(0|o,0>o?-1:0);return o>=-128&&128>o&&(goog.math.Long.IntCache_[o]=g),g},goog.math.Long.fromNumber=function(o){return isNaN(o)||!isFinite(o)?goog.math.Long.ZERO:o<=-goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.MIN_VALUE:o+1>=goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.MAX_VALUE:0>o?goog.math.Long.fromNumber(-o).negate():new goog.math.Long(o%goog.math.Long.TWO_PWR_32_DBL_|0,o/goog.math.Long.TWO_PWR_32_DBL_|0)},goog.math.Long.fromBits=function(o,t){return new goog.math.Long(o,t)},goog.math.Long.fromString=function(o,t){if(0==o.length)throw Error("number format error: empty string");var g=t||10;if(2>g||g>36)throw Error("radix out of range: "+g);if("-"==o.charAt(0))return goog.math.Long.fromString(o.substring(1),g).negate();if(o.indexOf("-")>=0)throw Error('number format error: interior "-" character: '+o);for(var n=goog.math.Long.fromNumber(Math.pow(g,8)),h=goog.math.Long.ZERO,r=0;r<o.length;r+=8){var i=Math.min(8,o.length-r),a=parseInt(o.substring(r,r+i),g);if(8>i){var e=goog.math.Long.fromNumber(Math.pow(g,i));h=h.multiply(e).add(goog.math.Long.fromNumber(a))}else h=h.multiply(n),h=h.add(goog.math.Long.fromNumber(a))}return h},goog.math.Long.TWO_PWR_16_DBL_=65536,goog.math.Long.TWO_PWR_24_DBL_=1<<24,goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_,goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2,goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_,goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_,goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2,goog.math.Long.ZERO=goog.math.Long.fromInt(0),goog.math.Long.ONE=goog.math.Long.fromInt(1),goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1),goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(-1,2147483647),goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,-2147483648),goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24),goog.math.Long.prototype.toInt=function(){return this.low_},goog.math.Long.prototype.toNumber=function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()},goog.math.Long.prototype.toString=function(o){var t=o||10;if(2>t||t>36)throw Error("radix out of range: "+t);if(this.isZero())return"0";if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var g=goog.math.Long.fromNumber(t),n=this.div(g),h=n.multiply(g).subtract(this);return n.toString(t)+h.toInt().toString(t)}return"-"+this.negate().toString(t)}for(var r=goog.math.Long.fromNumber(Math.pow(t,6)),h=this,i="";;){var a=h.div(r),e=h.subtract(a.multiply(r)).toInt(),m=e.toString(t);if(h=a,h.isZero())return m+i;for(;m.length<6;)m="0"+m;i=""+m+i}},goog.math.Long.prototype.getHighBits=function(){return this.high_},goog.math.Long.prototype.getLowBits=function(){return this.low_},goog.math.Long.prototype.getLowBitsUnsigned=function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_},goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(goog.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var o=0!=this.high_?this.high_:this.low_,t=31;t>0&&0==(o&1<<t);t--);return 0!=this.high_?t+33:t+1},goog.math.Long.prototype.isZero=function(){return 0==this.high_&&0==this.low_},goog.math.Long.prototype.isNegative=function(){return this.high_<0},goog.math.Long.prototype.isOdd=function(){return 1==(1&this.low_)},goog.math.Long.prototype.equals=function(o){return this.high_==o.high_&&this.low_==o.low_},goog.math.Long.prototype.notEquals=function(o){return this.high_!=o.high_||this.low_!=o.low_},goog.math.Long.prototype.lessThan=function(o){return this.compare(o)<0},goog.math.Long.prototype.lessThanOrEqual=function(o){return this.compare(o)<=0},goog.math.Long.prototype.greaterThan=function(o){return this.compare(o)>0},goog.math.Long.prototype.greaterThanOrEqual=function(o){return this.compare(o)>=0},goog.math.Long.prototype.compare=function(o){if(this.equals(o))return 0;var t=this.isNegative(),g=o.isNegative();return t&&!g?-1:!t&&g?1:this.subtract(o).isNegative()?-1:1},goog.math.Long.prototype.negate=function(){return this.equals(goog.math.Long.MIN_VALUE)?goog.math.Long.MIN_VALUE:this.not().add(goog.math.Long.ONE)},goog.math.Long.prototype.add=function(o){var t=this.high_>>>16,g=65535&this.high_,n=this.low_>>>16,h=65535&this.low_,r=o.high_>>>16,i=65535&o.high_,a=o.low_>>>16,e=65535&o.low_,m=0,s=0,_=0,L=0;return L+=h+e,_+=L>>>16,L&=65535,_+=n+a,s+=_>>>16,_&=65535,s+=g+i,m+=s>>>16,s&=65535,m+=t+r,m&=65535,goog.math.Long.fromBits(_<<16|L,m<<16|s)},goog.math.Long.prototype.subtract=function(o){return this.add(o.negate())},goog.math.Long.prototype.multiply=function(o){if(this.isZero())return goog.math.Long.ZERO;if(o.isZero())return goog.math.Long.ZERO;if(this.equals(goog.math.Long.MIN_VALUE))return o.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO;if(o.equals(goog.math.Long.MIN_VALUE))return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO;if(this.isNegative())return o.isNegative()?this.negate().multiply(o.negate()):this.negate().multiply(o).negate();if(o.isNegative())return this.multiply(o.negate()).negate();if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&o.lessThan(goog.math.Long.TWO_PWR_24_))return goog.math.Long.fromNumber(this.toNumber()*o.toNumber());var t=this.high_>>>16,g=65535&this.high_,n=this.low_>>>16,h=65535&this.low_,r=o.high_>>>16,i=65535&o.high_,a=o.low_>>>16,e=65535&o.low_,m=0,s=0,_=0,L=0;return L+=h*e,_+=L>>>16,L&=65535,_+=n*e,s+=_>>>16,_&=65535,_+=h*a,s+=_>>>16,_&=65535,s+=g*e,m+=s>>>16,s&=65535,s+=n*a,m+=s>>>16,s&=65535,s+=h*i,m+=s>>>16,s&=65535,m+=t*e+g*a+n*i+h*r,m&=65535,goog.math.Long.fromBits(_<<16|L,m<<16|s)},goog.math.Long.prototype.div=function(o){if(o.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Long.ZERO;if(this.equals(goog.math.Long.MIN_VALUE)){if(o.equals(goog.math.Long.ONE)||o.equals(goog.math.Long.NEG_ONE))return goog.math.Long.MIN_VALUE;if(o.equals(goog.math.Long.MIN_VALUE))return goog.math.Long.ONE;var t=this.shiftRight(1),g=t.div(o).shiftLeft(1);if(g.equals(goog.math.Long.ZERO))return o.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE;var n=this.subtract(o.multiply(g)),h=g.add(n.div(o));return h}if(o.equals(goog.math.Long.MIN_VALUE))return goog.math.Long.ZERO;if(this.isNegative())return o.isNegative()?this.negate().div(o.negate()):this.negate().div(o).negate();if(o.isNegative())return this.div(o.negate()).negate();for(var r=goog.math.Long.ZERO,n=this;n.greaterThanOrEqual(o);){for(var g=Math.max(1,Math.floor(n.toNumber()/o.toNumber())),i=Math.ceil(Math.log(g)/Math.LN2),a=48>=i?1:Math.pow(2,i-48),e=goog.math.Long.fromNumber(g),m=e.multiply(o);m.isNegative()||m.greaterThan(n);)g-=a,e=goog.math.Long.fromNumber(g),m=e.multiply(o);e.isZero()&&(e=goog.math.Long.ONE),r=r.add(e),n=n.subtract(m)}return r},goog.math.Long.prototype.modulo=function(o){return this.subtract(this.div(o).multiply(o))},goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)},goog.math.Long.prototype.and=function(o){return goog.math.Long.fromBits(this.low_&o.low_,this.high_&o.high_)},goog.math.Long.prototype.or=function(o){return goog.math.Long.fromBits(this.low_|o.low_,this.high_|o.high_)},goog.math.Long.prototype.xor=function(o){return goog.math.Long.fromBits(this.low_^o.low_,this.high_^o.high_)},goog.math.Long.prototype.shiftLeft=function(o){if(o&=63,0==o)return this;var t=this.low_;if(32>o){var g=this.high_;return goog.math.Long.fromBits(t<<o,g<<o|t>>>32-o)}return goog.math.Long.fromBits(0,t<<o-32)},goog.math.Long.prototype.shiftRight=function(o){if(o&=63,0==o)return this;var t=this.high_;if(32>o){var g=this.low_;return goog.math.Long.fromBits(g>>>o|t<<32-o,t>>o)}return goog.math.Long.fromBits(t>>o-32,t>=0?0:-1)},goog.math.Long.prototype.shiftRightUnsigned=function(o){if(o&=63,0==o)return this;var t=this.high_;if(32>o){var g=this.low_;return goog.math.Long.fromBits(g>>>o|t<<32-o,t>>>o)}return 32==o?goog.math.Long.fromBits(t,0):goog.math.Long.fromBits(t>>>o-32,0)}; |
|
|
Config=window.Config||{},Config.Schema=Config.Schema||{},Config.Schema.MTProto={constructors:[{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"85337187",predicate:"resPQ",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"pq",type:"bytes"},{name:"server_public_key_fingerprints",type:"Vector<long>"}],type:"ResPQ"},{id:"-2083955988",predicate:"p_q_inner_data",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"}],type:"P_Q_inner_data"},{id:"2043348061",predicate:"server_DH_params_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash",type:"int128"}],type:"Server_DH_Params"},{id:"-790100132",predicate:"server_DH_params_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_answer",type:"bytes"}],type:"Server_DH_Params"},{id:"-1249309254",predicate:"server_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"g",type:"int"},{name:"dh_prime",type:"bytes"},{name:"g_a",type:"bytes"},{name:"server_time",type:"int"}],type:"Server_DH_inner_data"},{id:"1715713620",predicate:"client_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"retry_id",type:"long"},{name:"g_b",type:"bytes"}],type:"Client_DH_Inner_Data"},{id:"1003222836",predicate:"dh_gen_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash1",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"1188831161",predicate:"dh_gen_retry",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash2",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"-1499615742",predicate:"dh_gen_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash3",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"-212046591",predicate:"rpc_result",params:[{name:"req_msg_id",type:"long"},{name:"result",type:"Object"}],type:"RpcResult"},{id:"558156313",predicate:"rpc_error",params:[{name:"error_code",type:"int"},{name:"error_message",type:"string"}],type:"RpcError"},{id:"1579864942",predicate:"rpc_answer_unknown",params:[],type:"RpcDropAnswer"},{id:"-847714938",predicate:"rpc_answer_dropped_running",params:[],type:"RpcDropAnswer"},{id:"-1539647305",predicate:"rpc_answer_dropped",params:[{name:"msg_id",type:"long"},{name:"seq_no",type:"int"},{name:"bytes",type:"int"}],type:"RpcDropAnswer"},{id:"155834844",predicate:"future_salt",params:[{name:"valid_since",type:"int"},{name:"valid_until",type:"int"},{name:"salt",type:"long"}],type:"FutureSalt"},{id:"-1370486635",predicate:"future_salts",params:[{name:"req_msg_id",type:"long"},{name:"now",type:"int"},{name:"salts",type:"vector<future_salt>"}],type:"FutureSalts"},{id:"880243653",predicate:"pong",params:[{name:"msg_id",type:"long"},{name:"ping_id",type:"long"}],type:"Pong"},{id:"-501201412",predicate:"destroy_session_ok",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"1658015945",predicate:"destroy_session_none",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"-1631450872",predicate:"new_session_created",params:[{name:"first_msg_id",type:"long"},{name:"unique_id",type:"long"},{name:"server_salt",type:"long"}],type:"NewSession"},{id:"1945237724",predicate:"msg_container",params:[{name:"messages",type:"vector<%Message>"}],type:"MessageContainer"},{id:"1538843921",predicate:"message",params:[{name:"msg_id",type:"long"},{name:"seqno",type:"int"},{name:"bytes",type:"int"},{name:"body",type:"Object"}],type:"Message"},{id:"-530561358",predicate:"msg_copy",params:[{name:"orig_message",type:"Message"}],type:"MessageCopy"},{id:"812830625",predicate:"gzip_packed",params:[{name:"packed_data",type:"bytes"}],type:"Object"},{id:"1658238041",predicate:"msgs_ack",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgsAck"},{id:"-1477445615",predicate:"bad_msg_notification",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"}],type:"BadMsgNotification"},{id:"-307542917",predicate:"bad_server_salt",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"},{name:"new_server_salt",type:"long"}],type:"BadMsgNotification"},{id:"2105940488",predicate:"msg_resend_req",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgResendReq"},{id:"-630588590",predicate:"msgs_state_req",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgsStateReq"},{id:"81704317",predicate:"msgs_state_info",params:[{name:"req_msg_id",type:"long"},{name:"info",type:"bytes"}],type:"MsgsStateInfo"},{id:"-1933520591",predicate:"msgs_all_info",params:[{name:"msg_ids",type:"Vector<long>"},{name:"info",type:"bytes"}],type:"MsgsAllInfo"},{id:"661470918",predicate:"msg_detailed_info",params:[{name:"msg_id",type:"long"},{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:"-2137147681",predicate:"msg_new_detailed_info",params:[{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"}],methods:[{id:"1615239032",method:"req_pq",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:"-686627650",method:"req_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"public_key_fingerprint",type:"long"},{name:"encrypted_data",type:"bytes"}],type:"Server_DH_Params"},{id:"-184262881",method:"set_client_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_data",type:"bytes"}],type:"Set_client_DH_params_answer"},{id:"1491380032",method:"rpc_drop_answer",params:[{name:"req_msg_id",type:"long"}],type:"RpcDropAnswer"},{id:"-1188971260",method:"get_future_salts",params:[{name:"num",type:"int"}],type:"FutureSalts"},{id:"2059302892",method:"ping",params:[{name:"ping_id",type:"long"}],type:"Pong"},{id:"-213746804",method:"ping_delay_disconnect",params:[{name:"ping_id",type:"long"},{name:"disconnect_delay",type:"int"}],type:"Pong"},{id:"-414113498",method:"destroy_session",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"-1835453025",method:"http_wait",params:[{name:"max_delay",type:"int"},{name:"wait_after",type:"int"},{name:"max_wait",type:"int"}],type:"HttpWait"}]},Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{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:"270785512",predicate:"inputPeerContact",params:[{name:"user_id",type:"int"}],type:"InputPeer"},{id:"-1690012891",predicate:"inputPeerForeign",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],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:"-2031530139",predicate:"inputUserContact",params:[{name:"user_id",type:"int"}],type:"InputUser"},{id:"1700689151",predicate:"inputUserForeign",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],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:"767900285",predicate:"inputMediaUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputMedia"},{id:"-1893027092",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"}],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:"1212668202",predicate:"inputMediaUploadedVideo",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"InputMedia"},{id:"-433544891",predicate:"inputMediaUploadedThumbVideo",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"InputMedia"},{id:"2130852582",predicate:"inputMediaVideo",params:[{name:"id",type:"InputVideo"}],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:"1426648181",predicate:"inputVideoEmpty",params:[],type:"InputVideo"},{id:"-296249774",predicate:"inputVideo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputVideo"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1023632620",predicate:"inputVideoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",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",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:"2086234950",predicate:"fileLocationUnavailable",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"FileLocation"},{id:"1406570614",predicate:"fileLocation",params:[{name:"dc_id",type:"int"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"FileLocation"},{id:"537022650",predicate:"userEmpty",params:[{name:"id",type:"int"}],type:"User"},{id:"1912944108",predicate:"userSelf",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"},{name:"inactive",type:"Bool"}],type:"User"},{id:"-218397927",predicate:"userContact",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"585682608",predicate:"userRequest",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"1377093789",predicate:"userForeign",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"-1298475060",predicate:"userDeleted",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"User"},{id:"1326562017",predicate:"userProfilePhotoEmpty",params:[],type:"UserProfilePhoto"},{id:"-715532088",predicate:"userProfilePhoto",params:[{name:"photo_id",type:"long"},{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"}],type:"UserProfilePhoto"},{id:"164646985",predicate:"userStatusEmpty",params:[],type:"UserStatus"},{id:"-306628279",predicate:"userStatusOnline",params:[{name:"expires",type:"int"}],type:"UserStatus"},{id:"9203775",predicate:"userStatusOffline",params:[{name:"was_online",type:"int"}],type:"UserStatus"},{id:"-1683826688",predicate:"chatEmpty",params:[{name:"id",type:"int"}],type:"Chat"},{id:"1855757255",predicate:"chat",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"left",type:"Bool"},{name:"version",type:"int"}],type:"Chat"},{id:"-83047359",predicate:"chatForbidden",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"date",type:"int"}],type:"Chat"},{id:"1661886910",predicate:"chatFull",params:[{name:"id",type:"int"},{name:"participants",type:"ChatParticipants"},{name:"chat_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"ChatFull"},{id:"-925415106",predicate:"chatParticipant",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:"265468810",predicate:"chatParticipantsForbidden",params:[{name:"chat_id",type:"int"}],type:"ChatParticipants"},{id:"2017571861",predicate:"chatParticipants",params:[{name:"chat_id",type:"int"},{name:"admin_id",type:"int"},{name:"participants",type:"Vector<ChatParticipant>"},{name:"version",type:"int"}],type:"ChatParticipants"},{id:"935395612",predicate:"chatPhotoEmpty",params:[],type:"ChatPhoto"},{id:"1632839530",predicate:"chatPhoto",params:[{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"}],type:"ChatPhoto"},{id:"-2082087340",predicate:"messageEmpty",params:[{name:"id",type:"int"}],type:"Message"},{id:"585853626",predicate:"message",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"Message"},{id:"99903492",predicate:"messageForwarded",params:[{name:"id",type:"int"},{name:"fwd_from_id",type:"int"},{name:"fwd_date",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"Message"},{id:"-1618124613",predicate:"messageService",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"Message"},{id:"1038967584",predicate:"messageMediaEmpty",params:[],type:"MessageMedia"},{id:"-926655958",predicate:"messageMediaPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageMedia"},{id:"-1563278704",predicate:"messageMediaVideo",params:[{name:"video",type:"Video"}],type:"MessageMedia"},{id:"1457575028",predicate:"messageMediaGeo",params:[{name:"geo",type:"GeoPoint"}],type:"MessageMedia"},{id:"1585262393",predicate:"messageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"user_id",type:"int"}],type:"MessageMedia"},{id:"694364726",predicate:"messageMediaUnsupported",params:[{name:"bytes",type:"bytes"}],type:"MessageMedia"},{id:"-1230047312",predicate:"messageActionEmpty",params:[],type:"MessageAction"},{id:"-1503425638",predicate:"messageActionChatCreate",params:[{name:"title",type:"string"},{name:"users",type:"Vector<int>"}],type:"MessageAction"},{id:"-1247687078",predicate:"messageActionChatEditTitle",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:"2144015272",predicate:"messageActionChatEditPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageAction"},{id:"-1780220945",predicate:"messageActionChatDeletePhoto",params:[],type:"MessageAction"},{id:"1581055051",predicate:"messageActionChatAddUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:"-1297179892",predicate:"messageActionChatDeleteUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:"558533855",predicate:"dialog",params:[{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"unread_count",type:"int"}],type:"Dialog"},{id:"590459437",predicate:"photoEmpty",params:[{name:"id",type:"long"}],type:"Photo"},{id:"582313809",predicate:"photo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"caption",type:"string"},{name:"geo",type:"GeoPoint"},{name:"sizes",type:"Vector<PhotoSize>"}],type:"Photo"},{id:"236446268",predicate:"photoSizeEmpty",params:[{name:"type",type:"string"}],type:"PhotoSize"},{id:"2009052699",predicate:"photoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"PhotoSize"},{id:"-374917894",predicate:"photoCachedSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:"-1056548696",predicate:"videoEmpty",params:[{name:"id",type:"long"}],type:"Video"},{id:"1510253727",predicate:"video",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"caption",type:"string"},{name:"duration",type:"int"},{name:"size",type:"int"},{name:"thumb",type:"PhotoSize"},{name:"dc_id",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"Video"},{id:"286776671",predicate:"geoPointEmpty",params:[],type:"GeoPoint"},{id:"541710092",predicate:"geoPoint",params:[{name:"long",type:"double"},{name:"lat",type:"double"}],type:"GeoPoint"},{id:"-486486981",predicate:"auth.checkedPhone",params:[{name:"phone_registered",type:"Bool"},{name:"phone_invited",type:"Bool"}],type:"auth.CheckedPhone"},{id:"-269659687",predicate:"auth.sentCode",params:[{name:"phone_registered",type:"Bool"},{name:"phone_code_hash",type:"string"},{name:"send_call_timeout",type:"int"},{name:"is_password",type:"Bool"}],type:"auth.SentCode"},{id:"-155815004",predicate:"auth.authorization",params:[{name:"expires",type:"int"},{name:"user",type:"User"}],type:"auth.Authorization"},{id:"-543777747",predicate:"auth.exportedAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.ExportedAuthorization"},{id:"-1195615476",predicate:"inputNotifyPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputNotifyPeer"},{id:"423314455",predicate:"inputNotifyUsers",params:[],type:"InputNotifyPeer"},{id:"1251338318",predicate:"inputNotifyChats",params:[],type:"InputNotifyPeer"},{id:"-1540769658",predicate:"inputNotifyAll",params:[],type:"InputNotifyPeer"},{id:"-265263912",predicate:"inputPeerNotifyEventsEmpty",params:[],type:"InputPeerNotifyEvents"},{id:"-395694988",predicate:"inputPeerNotifyEventsAll",params:[],type:"InputPeerNotifyEvents"},{id:"1185074840",predicate:"inputPeerNotifySettings",params:[{name:"mute_until",type:"int"},{name:"sound",type:"string"},{name:"show_previews",type:"Bool"},{name:"events_mask",type:"int"}],type:"InputPeerNotifySettings"},{id:"-1378534221",predicate:"peerNotifyEventsEmpty",params:[],type:"PeerNotifyEvents"},{id:"1830677896",predicate:"peerNotifyEventsAll",params:[],type:"PeerNotifyEvents"},{id:"1889961234",predicate:"peerNotifySettingsEmpty",params:[],type:"PeerNotifySettings"},{id:"-1923214866",predicate:"peerNotifySettings",params:[{name:"mute_until",type:"int"},{name:"sound",type:"string"},{name:"show_previews",type:"Bool"},{name:"events_mask",type:"int"}],type:"PeerNotifySettings"},{id:"-860866985",predicate:"wallPaper",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"sizes",type:"Vector<PhotoSize>"},{name:"color",type:"int"}],type:"WallPaper"},{id:"1997575642",predicate:"userFull",params:[{name:"user",type:"User"},{name:"link",type:"contacts.Link"},{name:"profile_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"blocked",type:"Bool"},{name:"real_first_name",type:"string"},{name:"real_last_name",type:"string"}],type:"UserFull"},{id:"-116274796",predicate:"contact",params:[{name:"user_id",type:"int"},{name:"mutual",type:"Bool"}],type:"Contact"},{id:"-805141448",predicate:"importedContact",params:[{name:"user_id",type:"int"},{name:"client_id",type:"long"}],type:"ImportedContact"},{id:"1444661369",predicate:"contactBlocked",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ContactBlocked"},{id:"-360210539",predicate:"contactFound",params:[{name:"user_id",type:"int"}],type:"ContactFound"},{id:"1038193057",predicate:"contactSuggested",params:[{name:"user_id",type:"int"},{name:"mutual_contacts",type:"int"}],type:"ContactSuggested"},{id:"-1434994573",predicate:"contactStatus",params:[{name:"user_id",type:"int"},{name:"expires",type:"int"}],type:"ContactStatus"},{id:"909233996",predicate:"chatLocated",params:[{name:"chat_id",type:"int"},{name:"distance",type:"int"}],type:"ChatLocated"},{id:"322183672",predicate:"contacts.foreignLinkUnknown",params:[],type:"contacts.ForeignLink"},{id:"-1484775609",predicate:"contacts.foreignLinkRequested",params:[{name:"has_phone",type:"Bool"}],type:"contacts.ForeignLink"},{id:"468356321",predicate:"contacts.foreignLinkMutual",params:[],type:"contacts.ForeignLink"},{id:"-768992160",predicate:"contacts.myLinkEmpty",params:[],type:"contacts.MyLink"},{id:"1818882030",predicate:"contacts.myLinkRequested",params:[{name:"contact",type:"Bool"}],type:"contacts.MyLink"},{id:"-1035932711",predicate:"contacts.myLinkContact",params:[],type:"contacts.MyLink"},{id:"-322001931",predicate:"contacts.link",params:[{name:"my_link",type:"contacts.MyLink"},{name:"foreign_link",type:"contacts.ForeignLink"},{name:"user",type:"User"}],type:"contacts.Link"},{id:"1871416498",predicate:"contacts.contacts",params:[{name:"contacts",type:"Vector<Contact>"},{name:"users",type:"Vector<User>"}],type:"contacts.Contacts"},{id:"-1219778094",predicate:"contacts.contactsNotModified",params:[],type:"contacts.Contacts"},{id:"-775091636",predicate:"contacts.importedContacts",params:[{name:"imported",type:"Vector<ImportedContact>"},{name:"users",type:"Vector<User>"}],type:"contacts.ImportedContacts"},{id:"471043349",predicate:"contacts.blocked",params:[{name:"blocked",type:"Vector<ContactBlocked>"},{name:"users",type:"Vector<User>"}],type:"contacts.Blocked"},{id:"-1878523231",predicate:"contacts.blockedSlice",params:[{name:"count",type:"int"},{name:"blocked",type:"Vector<ContactBlocked>"},{name:"users",type:"Vector<User>"}],type:"contacts.Blocked"},{id:"90570766",predicate:"contacts.found",params:[{name:"results",type:"Vector<ContactFound>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"1447681221",predicate:"contacts.suggested",params:[{name:"results",type:"Vector<ContactSuggested>"},{name:"users",type:"Vector<User>"}],type:"contacts.Suggested"},{id:"364538944",predicate:"messages.dialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Dialogs"},{id:"1910543603",predicate:"messages.dialogsSlice",params:[{name:"count",type:"int"},{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Dialogs"},{id:"-1938715001",predicate:"messages.messages",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Messages"},{id:"189033187",predicate:"messages.messagesSlice",params:[{name:"count",type:"int"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Messages"},{id:"1062078024",predicate:"messages.messageEmpty",params:[],type:"messages.Message"},{id:"-7289833",predicate:"messages.message",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Message"},{id:"-1768654661",predicate:"messages.statedMessages",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessages"},{id:"-797251802",predicate:"messages.statedMessage",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessage"},{id:"-772484260",predicate:"messages.sentMessage",params:[{name:"id",type:"int"},{name:"date",type:"int"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.SentMessage"},{id:"1089011754",predicate:"messages.chat",params:[{name:"chat",type:"Chat"},{name:"users",type:"Vector<User>"}],type:"messages.Chat"},{id:"-2125411368",predicate:"messages.chats",params:[{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Chats"},{id:"-438840932",predicate:"messages.chatFull",params:[{name:"full_chat",type:"ChatFull"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.ChatFull"},{id:"-1210173710",predicate:"messages.affectedHistory",params:[{name:"pts",type:"int"},{name:"seq",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"1474492012",predicate:"inputMessagesFilterEmpty",params:[],type:"MessagesFilter"},{id:"-1777752804",predicate:"inputMessagesFilterPhotos",params:[],type:"MessagesFilter"},{id:"-1614803355",predicate:"inputMessagesFilterVideo",params:[],type:"MessagesFilter"},{id:"1458172132",predicate:"inputMessagesFilterPhotoVideo",params:[],type:"MessagesFilter"},{id:"-1629621880",predicate:"inputMessagesFilterDocument",params:[],type:"MessagesFilter"},{id:"20626867",predicate:"updateNewMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"}],type:"Update"},{id:"1318109142",predicate:"updateMessageID",params:[{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"Update"},{id:"-966484431",predicate:"updateReadMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"-1456734682",predicate:"updateDeleteMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"-782376883",predicate:"updateRestoreMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"1806337288",predicate:"updateUserTyping",params:[{name:"user_id",type:"int"}],type:"Update"},{id:"1011273702",predicate:"updateChatUserTyping",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"}],type:"Update"},{id:"125178264",predicate:"updateChatParticipants",params:[{name:"participants",type:"ChatParticipants"}],type:"Update"},{id:"469489699",predicate:"updateUserStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"Update"},{id:"-635250259",predicate:"updateUserName",params:[{name:"user_id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"Update"},{id:"-1791935732",predicate:"updateUserPhoto",params:[{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"photo",type:"UserProfilePhoto"},{name:"previous",type:"Bool"}],type:"Update"},{id:"628472761",predicate:"updateContactRegistered",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:"1369737882",predicate:"updateContactLink",params:[{name:"user_id",type:"int"},{name:"my_link",type:"contacts.MyLink"},{name:"foreign_link",type:"contacts.ForeignLink"}],type:"Update"},{id:"1869154659",predicate:"updateActivation",params:[{name:"user_id",type:"int"}],type:"Update"},{id:"-1895411046",predicate:"updateNewAuthorization",params:[{name:"auth_key_id",type:"long"},{name:"date",type:"int"},{name:"device",type:"string"},{name:"location",type:"string"}],type:"Update"},{id:"-1519637954",predicate:"updates.state",params:[{name:"pts",type:"int"},{name:"qts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"},{name:"unread_count",type:"int"}],type:"updates.State"},{id:"1567990072",predicate:"updates.differenceEmpty",params:[{name:"date",type:"int"},{name:"seq",type:"int"}],type:"updates.Difference"},{id:"16030880",predicate:"updates.difference",params:[{name:"new_messages",type:"Vector<Message>"},{name:"new_encrypted_messages",type:"Vector<EncryptedMessage>"},{name:"other_updates",type:"Vector<Update>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"updates.Difference"},{id:"-1459938943",predicate:"updates.differenceSlice",params:[{name:"new_messages",type:"Vector<Message>"},{name:"new_encrypted_messages",type:"Vector<EncryptedMessage>"},{name:"other_updates",type:"Vector<Update>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"intermediate_state",type:"updates.State"}],type:"updates.Difference"},{id:"-484987010",predicate:"updatesTooLong",params:[],type:"Updates"},{id:"-738961532",predicate:"updateShortMessage",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"724548942",predicate:"updateShortChatMessage",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"chat_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"2027216577",predicate:"updateShort",params:[{name:"update",type:"Update"},{name:"date",type:"int"}],type:"Updates"},{id:"1918567619",predicate:"updatesCombined",params:[{name:"updates",type:"Vector<Update>"},{name:"users",type:"Vector<User>"},{name:"chats",type:"Vector<Chat>"},{name:"date",type:"int"},{name:"seq_start",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"1957577280",predicate:"updates",params:[{name:"updates",type:"Vector<Update>"},{name:"users",type:"Vector<User>"},{name:"chats",type:"Vector<Chat>"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"-1916114267",predicate:"photos.photos",params:[{name:"photos",type:"Vector<Photo>"},{name:"users",type:"Vector<User>"}],type:"photos.Photos"},{id:"352657236",predicate:"photos.photosSlice",params:[{name:"count",type:"int"},{name:"photos",type:"Vector<Photo>"},{name:"users",type:"Vector<User>"}],type:"photos.Photos"},{id:"539045032",predicate:"photos.photo",params:[{name:"photo",type:"Photo"},{name:"users",type:"Vector<User>"}],type:"photos.Photo"},{id:"157948117",predicate:"upload.file",params:[{name:"type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.File"},{id:"784507964",predicate:"dcOption",params:[{name:"id",type:"int"},{name:"hostname",type:"string"},{name:"ip_address",type:"string"},{name:"port",type:"int"}],type:"DcOption"},{id:"777313652",predicate:"config",params:[{name:"date",type:"int"},{name:"test_mode",type:"Bool"},{name:"this_dc",type:"int"},{name:"dc_options",type:"Vector<DcOption>"},{name:"chat_size_max",type:"int"},{name:"broadcast_size_max",type:"int"}],type:"Config"},{id:"-1910892683",predicate:"nearestDc",params:[{name:"country",type:"string"},{name:"this_dc",type:"int"},{name:"nearest_dc",type:"int"}],type:"NearestDc"},{id:"-1987579119",predicate:"help.appUpdate",params:[{name:"id",type:"int"},{name:"critical",type:"Bool"},{name:"url",type:"string"},{name:"text",type:"string"}],type:"help.AppUpdate"},{id:"-1000708810",predicate:"help.noAppUpdate",params:[],type:"help.AppUpdate"},{id:"415997816",predicate:"help.inviteText",params:[{name:"message",type:"string"}],type:"help.InviteText"},{id:"1047852486",predicate:"messages.statedMessagesLinks",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"links",type:"Vector<contacts.Link>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessages"},{id:"-1448138623",predicate:"messages.statedMessageLink",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"links",type:"Vector<contacts.Link>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessage"},{id:"-371504577",predicate:"messages.sentMessageLink",params:[{name:"id",type:"int"},{name:"date",type:"int"},{name:"pts",type:"int"},{name:"seq",type:"int"},{name:"links",type:"Vector<contacts.Link>"}],type:"messages.SentMessage"},{id:"1960072954",predicate:"inputGeoChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputGeoChat"},{id:"1301143240",predicate:"inputNotifyGeoChatPeer",params:[{name:"peer",type:"InputGeoChat"}],type:"InputNotifyPeer"},{id:"1978329690",predicate:"geoChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"venue",type:"string"},{name:"geo",type:"GeoPoint"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"checked_in",type:"Bool"},{name:"version",type:"int"}],type:"Chat"},{id:"1613830811",predicate:"geoChatMessageEmpty",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"}],type:"GeoChatMessage"},{id:"1158019297",predicate:"geoChatMessage",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"GeoChatMessage"},{id:"-749755826",predicate:"geoChatMessageService",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"GeoChatMessage"},{id:"397498251",predicate:"geochats.statedMessage",params:[{name:"message",type:"GeoChatMessage"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"seq",type:"int"}],type:"geochats.StatedMessage"},{id:"1224651367",predicate:"geochats.located",params:[{name:"results",type:"Vector<ChatLocated>"},{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Located"},{id:"-783127119",predicate:"geochats.messages",params:[{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Messages"},{id:"-1135057944",predicate:"geochats.messagesSlice",params:[{name:"count",type:"int"},{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Messages"},{id:"1862504124",predicate:"messageActionGeoChatCreate",params:[{name:"title",type:"string"},{name:"address",type:"string"}],type:"MessageAction"},{id:"209540062",predicate:"messageActionGeoChatCheckin",params:[],type:"MessageAction"},{id:"1516823543",predicate:"updateNewGeoChatMessage",params:[{name:"message",type:"GeoChatMessage"}],type:"Update"},{id:"1662091044",predicate:"wallPaperSolid",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"bg_color",type:"int"},{name:"color",type:"int"}],type:"WallPaper"},{id:"314359194",predicate:"updateNewEncryptedMessage",params:[{name:"message",type:"EncryptedMessage"},{name:"qts",type:"int"}],type:"Update"},{id:"386986326",predicate:"updateEncryptedChatTyping",params:[{name:"chat_id",type:"int"}],type:"Update"},{id:"-1264392051",predicate:"updateEncryption",params:[{name:"chat",type:"EncryptedChat"},{name:"date",type:"int"}],type:"Update"},{id:"956179895",predicate:"updateEncryptedMessagesRead",params:[{name:"chat_id",type:"int"},{name:"max_date",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:"-1417756512",predicate:"encryptedChatEmpty",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:"1006044124",predicate:"encryptedChatWaiting",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"}],type:"EncryptedChat"},{id:"-931638658",predicate:"encryptedChatRequested",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:"-94974410",predicate:"encryptedChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:"332848423",predicate:"encryptedChatDiscarded",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:"-247351839",predicate:"inputEncryptedChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputEncryptedChat"},{id:"-1038136962",predicate:"encryptedFileEmpty",params:[],type:"EncryptedFile"},{id:"1248893260",predicate:"encryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"key_fingerprint",type:"int"}],type:"EncryptedFile"},{id:"406307684",predicate:"inputEncryptedFileEmpty",params:[],type:"InputEncryptedFile"},{id:"1690108678",predicate:"inputEncryptedFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:"1511503333",predicate:"inputEncryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputEncryptedFile"},{id:"-182231723",predicate:"inputEncryptedFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-317144808",predicate:"encryptedMessage",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"},{name:"file",type:"EncryptedFile"}],type:"EncryptedMessage"},{id:"594758406",predicate:"encryptedMessageService",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"}],type:"EncryptedMessage"},{id:"-1717290801",predicate:"decryptedMessageLayer",params:[{name:"layer",type:"int"},{name:"message",type:"DecryptedMessage"}],type:"DecryptedMessageLayer"},{id:"528568095",predicate:"decryptedMessage",params:[{name:"random_id",type:"long"},{name:"random_bytes",type:"bytes"},{name:"message",type:"string"},{name:"media",type:"DecryptedMessageMedia"}],type:"DecryptedMessage"},{id:"-1438109059",predicate:"decryptedMessageService",params:[{name:"random_id",type:"long"},{name:"random_bytes",type:"bytes"},{name:"action",type:"DecryptedMessageAction"}],type:"DecryptedMessage"},{id:"144661578",predicate:"decryptedMessageMediaEmpty",params:[],type:"DecryptedMessageMedia"},{id:"846826124",predicate:"decryptedMessageMediaPhoto",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1290694387",predicate:"decryptedMessageMediaVideo",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"893913689",predicate:"decryptedMessageMediaGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"DecryptedMessageMedia"},{id:"1485441687",predicate:"decryptedMessageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"user_id",type:"int"}],type:"DecryptedMessageMedia"},{id:"-1586283796",predicate:"decryptedMessageActionSetMessageTTL",params:[{name:"ttl_seconds",type:"int"}],type:"DecryptedMessageAction"},{id:"-1058912715",predicate:"messages.dhConfigNotModified",params:[{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:"740433629",predicate:"messages.dhConfig",params:[{name:"g",type:"int"},{name:"p",type:"bytes"},{name:"version",type:"int"},{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:"1443858741",predicate:"messages.sentEncryptedMessage",params:[{name:"date",type:"int"}],type:"messages.SentEncryptedMessage"},{id:"-1802240206",predicate:"messages.sentEncryptedFile",params:[{name:"date",type:"int"},{name:"file",type:"EncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:"-95482955",predicate:"inputFileBig",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"}],type:"InputFile"},{id:"767652808",predicate:"inputEncryptedFileBigUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:"974056226",predicate:"updateChatParticipantAdd",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:"1851755554",predicate:"updateChatParticipantDelete",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:"-1906403213",predicate:"updateDcOptions",params:[{name:"dc_options",type:"Vector<DcOption>"}],type:"Update"},{id:"1638323254",predicate:"inputMediaUploadedAudio",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"}],type:"InputMedia"},{id:"-1986820223",predicate:"inputMediaAudio",params:[{name:"id",type:"InputAudio"}],type:"InputMedia"},{id:"887592125",predicate:"inputMediaUploadedDocument",params:[{name:"file",type:"InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"1044831837",predicate:"inputMediaUploadedThumbDocument",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"-779818943",predicate:"inputMediaDocument",params:[{name:"id",type:"InputDocument"}],type:"InputMedia"},{id:"802824708",predicate:"messageMediaDocument",params:[{name:"document",type:"Document"}],type:"MessageMedia"},{id:"-961117440",predicate:"messageMediaAudio",params:[{name:"audio",type:"Audio"}],type:"MessageMedia"},{id:"-648356732",predicate:"inputAudioEmpty",params:[],type:"InputAudio"},{id:"2010398975",predicate:"inputAudio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputAudio"},{id:"1928391342",predicate:"inputDocumentEmpty",params:[],type:"InputDocument"},{id:"410618194",predicate:"inputDocument",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputDocument"},{id:"1960591437",predicate:"inputAudioFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"1313188841",predicate:"inputDocumentFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-1332395189",predicate:"decryptedMessageMediaDocument",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1619031439",predicate:"decryptedMessageMediaAudio",params:[{name:"duration",type:"int"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1483311320",predicate:"audioEmpty",params:[{name:"id",type:"long"}],type:"Audio"},{id:"1114908135",predicate:"audio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"duration",type:"int"},{name:"size",type:"int"},{name:"dc_id",type:"int"}],type:"Audio"},{id:"922273905",predicate:"documentEmpty",params:[{name:"id",type:"long"}],type:"Document"},{id:"-1627626714",predicate:"document",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumb",type:"PhotoSize"},{name:"dc_id",type:"int"}],type:"Document"},{id:"398898678",predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"}],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:"1988976461",method:"auth.sendCode",params:[{name:"phone_number",type:"string"},{name:"sms_type",type:"int"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"lang_code",type:"string"}],type:"auth.SentCode"},{id:"63247716",method:"auth.sendCall",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{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:"-1126886015",method:"auth.signIn",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"auth.Authorization"},{id:"1461180992",method:"auth.logOut",params:[],type:"Bool"},{id:"-1616179942",method:"auth.resetAuthorizations",params:[],type:"Bool"},{id:"1998331287",method:"auth.sendInvites",params:[{name:"phone_numbers",type:"Vector<string>"},{name:"message",type:"string"}],type:"Bool"},{id:"-440401971",method:"auth.exportAuthorization",params:[{name:"dc_id",type:"int"}],type:"auth.ExportedAuthorization"},{id:"-470837741",method:"auth.importAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.Authorization"},{id:"1147957548",method:"account.registerDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"app_sandbox",type:"Bool"},{name:"lang_code",type:"string"}],type:"Bool"},{id:"1707432768",method:"account.unregisterDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"}],type:"Bool"},{id:"-2067899501",method:"account.updateNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"},{name:"settings",type:"InputPeerNotifySettings"}],type:"Bool"},{id:"313765169",method:"account.getNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"}],type:"PeerNotifySettings"},{id:"-612493497",method:"account.resetNotifySettings",params:[],type:"Bool"},{id:"-259486360",method:"account.updateProfile",params:[{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"User"},{id:"1713919532",method:"account.updateStatus",params:[{name:"offline",type:"Bool"}],type:"Bool"},{id:"-1068696894",method:"account.getWallPapers",params:[],type:"Vector<WallPaper>"},{id:"227648840",method:"users.getUsers",params:[{name:"id",type:"Vector<InputUser>"}],type:"Vector<User>"},{id:"-902781519",method:"users.getFullUser",params:[{name:"id",type:"InputUser"}],type:"UserFull"},{id:"-995929106",method:"contacts.getStatuses",params:[],type:"Vector<ContactStatus>"},{id:"583445000",method:"contacts.getContacts",params:[{name:"hash",type:"string"}],type:"contacts.Contacts"},{id:"-634342611",method:"contacts.importContacts",params:[{name:"contacts",type:"Vector<InputContact>"},{name:"replace",type:"Bool"}],type:"contacts.ImportedContacts"},{id:"301470424",method:"contacts.search",params:[{name:"q",type:"string"},{name:"limit",type:"int"}],type:"contacts.Found"},{id:"-847825880",method:"contacts.getSuggested",params:[{name:"limit",type:"int"}],type:"contacts.Suggested"},{id:"-1902823612",method:"contacts.deleteContact",params:[{name:"id",type:"InputUser"}],type:"contacts.Link"},{id:"1504393374",method:"contacts.deleteContacts",params:[{name:"id",type:"Vector<InputUser>"}],type:"Bool"},{id:"858475004",method:"contacts.block",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-448724803",method:"contacts.unblock",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-176409329",method:"contacts.getBlocked",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"contacts.Blocked"},{id:"1109588596",method:"messages.getMessages",params:[{name:"id",type:"Vector<int>"}],type:"messages.Messages"},{id:"-321970698",method:"messages.getDialogs",params:[{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Dialogs"},{id:"-1834885329",method:"messages.getHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:"132772523",method:"messages.search",params:[{name:"peer",type:"InputPeer"},{name:"q",type:"string"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:"-1336990448",method:"messages.readHistory",params:[{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"-185009311",method:"messages.deleteHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"351460618",method:"messages.deleteMessages",params:[{name:"id",type:"Vector<int>"}],type:"Vector<int>"},{id:"962567550",method:"messages.restoreMessages",params:[{name:"id",type:"Vector<int>"}],type:"Vector<int>"},{id:"682347368",method:"messages.receivedMessages",params:[{name:"max_id",type:"int"}],type:"Vector<int>"},{id:"1905801705",method:"messages.setTyping",params:[{name:"peer",type:"InputPeer"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"1289620139",method:"messages.sendMessage",params:[{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"random_id",type:"long"}],type:"messages.SentMessage"},{id:"-1547149962",method:"messages.sendMedia",params:[{name:"peer",type:"InputPeer"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"}],type:"messages.StatedMessage"},{id:"1363988751",method:"messages.forwardMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector<int>"}],type:"messages.StatedMessages"},{id:"1013621127",method:"messages.getChats",params:[{name:"id",type:"Vector<int>"}],type:"messages.Chats"},{id:"998448230",method:"messages.getFullChat",params:[{name:"chat_id",type:"int"}],type:"messages.ChatFull"},{id:"-1262720843",method:"messages.editChatTitle",params:[{name:"chat_id",type:"int"},{name:"title",type:"string"}],type:"messages.StatedMessage"},{id:"-662601187",method:"messages.editChatPhoto",params:[{name:"chat_id",type:"int"},{name:"photo",type:"InputChatPhoto"}],type:"messages.StatedMessage"},{id:"787082910",method:"messages.addChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"fwd_limit",type:"int"}],type:"messages.StatedMessage"},{id:"-1010447069",method:"messages.deleteChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"}],type:"messages.StatedMessage"},{id:"1100847854",method:"messages.createChat",params:[{name:"users",type:"Vector<InputUser>"},{name:"title",type:"string"}],type:"messages.StatedMessage"},{id:"-304838614",method:"updates.getState",params:[],type:"updates.State"},{id:"168039573",method:"updates.getDifference",params:[{name:"pts",type:"int"},{name:"date",type:"int"},{name:"qts",type:"int"}],type:"updates.Difference"},{id:"-285902432",method:"photos.updateProfilePhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],type:"UserProfilePhoto"},{id:"-720397176",method:"photos.uploadProfilePhoto",params:[{name:"file",type:"InputFile"},{name:"caption",type:"string"},{name:"geo_point",type:"InputGeoPoint"},{name:"crop",type:"InputPhotoCrop"}],type:"photos.Photo"},{id:"-1291540959",method:"upload.saveFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:"-475607115",method:"upload.getFile",params:[{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.File"},{id:"-990308245",method:"help.getConfig",params:[],type:"Config"},{id:"531836966",method:"help.getNearestDc",params:[],type:"NearestDc"},{id:"-938300290",method:"help.getAppUpdate",params:[{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"lang_code",type:"string"}],type:"help.AppUpdate"},{id:"1862465352",method:"help.saveAppLog",params:[{name:"events",type:"Vector<InputAppEvent>"}],type:"Bool"},{id:"-1532407418",method:"help.getInviteText",params:[{name:"lang_code",type:"string"}],type:"help.InviteText"},{id:"-1209117380",method:"photos.getUserPhotos",params:[{name:"user_id",type:"InputUser"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"photos.Photos"},{id:"66319602",method:"messages.forwardMessage",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"messages.StatedMessage"},{id:"1102776690",method:"messages.sendBroadcast",params:[{name:"contacts",type:"Vector<InputUser>"},{name:"message",type:"string"},{name:"media",type:"InputMedia"}],type:"messages.StatedMessages"},{id:"2132356495",method:"geochats.getLocated",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"radius",type:"int"},{name:"limit",type:"int"}],type:"geochats.Located"},{id:"-515735953",method:"geochats.getRecents",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"1437853947",method:"geochats.checkin",params:[{name:"peer",type:"InputGeoChat"}],type:"geochats.StatedMessage"},{id:"1730338159",method:"geochats.getFullChat",params:[{name:"peer",type:"InputGeoChat"}],type:"messages.ChatFull"},{id:"1284383347",method:"geochats.editChatTitle",params:[{name:"peer",type:"InputGeoChat"},{name:"title",type:"string"},{name:"address",type:"string"}],type:"geochats.StatedMessage"},{id:"903355029",method:"geochats.editChatPhoto",params:[{name:"peer",type:"InputGeoChat"},{name:"photo",type:"InputChatPhoto"}],type:"geochats.StatedMessage"},{id:"-808598451",method:"geochats.search",params:[{name:"peer",type:"InputGeoChat"},{name:"q",type:"string"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"-1254131096",method:"geochats.getHistory",params:[{name:"peer",type:"InputGeoChat"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"146319145",method:"geochats.setTyping",params:[{name:"peer",type:"InputGeoChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"102432836",method:"geochats.sendMessage",params:[{name:"peer",type:"InputGeoChat"},{name:"message",type:"string"},{name:"random_id",type:"long"}],type:"geochats.StatedMessage"},{id:"-1192173825",method:"geochats.sendMedia",params:[{name:"peer",type:"InputGeoChat"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"}],type:"geochats.StatedMessage"},{id:"235482646",method:"geochats.createGeoChat",params:[{name:"title",type:"string"},{name:"geo_point",type:"InputGeoPoint"},{name:"address",type:"string"},{name:"venue",type:"string"}],type:"geochats.StatedMessage"},{id:"651135312",method:"messages.getDhConfig",params:[{name:"version",type:"int"},{name:"random_length",type:"int"}],type:"messages.DhConfig"},{id:"-162681021",method:"messages.requestEncryption",params:[{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:"1035731989",method:"messages.acceptEncryption",params:[{name:"peer",type:"InputEncryptedChat"},{name:"g_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:"-304536635",method:"messages.discardEncryption",params:[{name:"chat_id",type:"int"}],type:"Bool"},{id:"2031374829",method:"messages.setEncryptedTyping",params:[{name:"peer",type:"InputEncryptedChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"2135648522",method:"messages.readEncryptedHistory",params:[{name:"peer",type:"InputEncryptedChat"},{name:"max_date",type:"int"}],type:"Bool"},{id:"-1451792525",method:"messages.sendEncrypted",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"-1701831834",method:"messages.sendEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"},{name:"file",type:"InputEncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:"852769188",method:"messages.sendEncryptedService",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"1436924774",method:"messages.receivedQueue",params:[{name:"max_qts",type:"int"}],type:"Vector<long>"},{id:"-562337987",method:"upload.saveBigFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"file_total_parts",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:"1769565673",method:"initConnection",params:[{name:"api_id",type:"int"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"lang_code",type:"string"},{name:"query",type:"!X"}],type:"X"},{id:"-1663104819",method:"help.getSupport",params:[],type:"help.Support"},{id:"-576320196",method:"invokeWithLayer12",params:[{name:"query",type:"!X"}],type:"X"}]},Config.Schema.API.layer=12,Config.Emoji={"00a9":["©",["copyright"]],"00ae":["®",["registered"]],"203c":["‼",["bangbang"]],2049:["⁉",["interrobang"]],2122:["™",["tm"]],2139:["ℹ",["information_source"]],2194:["↔",["left_right_arrow"]],2195:["↕",["arrow_up_down"]],2196:["↖",["arrow_upper_left"]],2197:["↗",["arrow_upper_right"]],2198:["↘",["arrow_lower_right"]],2199:["↙",["arrow_lower_left"]],"21a9":["↩",["leftwards_arrow_with_hook"]],"21aa":["↪",["arrow_right_hook"]],"231a":["⌚",["watch"]],"231b":["⌛",["hourglass"]],"23e9":["⏩",["fast_forward"]],"23ea":["⏪",["rewind"]],"23eb":["⏫",["arrow_double_up"]],"23ec":["⏬",["arrow_double_down"]],"23f0":["⏰",["alarm_clock"]],"23f3":["⏳",["hourglass_flowing_sand"]],"24c2":["Ⓜ",["m"]],"25aa":["▪",["black_small_square"]],"25ab":["▫",["white_small_square"]],"25b6":["▶",["arrow_forward"]],"25c0":["◀",["arrow_backward"]],"25fb":["◻",["white_medium_square"]],"25fc":["◼",["black_medium_square"]],"25fd":["◽",["white_medium_small_square"]],"25fe":["◾",["black_medium_small_square"]],2600:["☀",["sunny"]],2601:["☁",["cloud"]],"260e":["☎",["phone","telephone"]],2611:["☑",["ballot_box_with_check"]],2614:["☔",["umbrella"]],2615:["☕",["coffee"]],"261d":["☝",["point_up"]],"263a":["☺",["relaxed"]],2648:["♈",["aries"]],2649:["♉",["taurus"]],"264a":["♊",["gemini"]],"264b":["♋",["cancer"]],"264c":["♌",["leo"]],"264d":["♍",["virgo"]],"264e":["♎",["libra"]],"264f":["♏",["scorpius"]],2650:["♐",["sagittarius"]],2651:["♑",["capricorn"]],2652:["♒",["aquarius"]],2653:["♓",["pisces"]],2660:["♠",["spades"]],2663:["♣",["clubs"]],2665:["♥",["hearts"]],2666:["♦",["diamonds"]],2668:["♨",["hotsprings"]],"267b":["♻",["recycle"]],"267f":["♿",["wheelchair"]],2693:["⚓",["anchor"]],"26a0":["⚠",["warning"]],"26a1":["⚡",["zap"]],"26aa":["⚪",["white_circle"]],"26ab":["⚫",["black_circle"]],"26bd":["⚽",["soccer"]],"26be":["⚾",["baseball"]],"26c4":["⛄",["snowman"]],"26c5":["⛅",["partly_sunny"]],"26ce":["⛎",["ophiuchus"]],"26d4":["⛔",["no_entry"]],"26ea":["⛪",["church"]],"26f2":["⛲",["fountain"]],"26f3":["⛳",["golf"]],"26f5":["⛵",["boat","sailboat"]],"26fa":["⛺",["tent"]],"26fd":["⛽",["fuelpump"]],2702:["✂",["scissors"]],2705:["✅",["white_check_mark"]],2708:["✈",["airplane"]],2709:["✉",["email","envelope"]],"270a":["✊",["fist"]],"270b":["✋",["hand","raised_hand"]],"270c":["✌",["v"]],"270f":["✏",["pencil2"]],2712:["✒",["black_nib"]],2714:["✔",["heavy_check_mark"]],2716:["✖",["heavy_multiplication_x"]],2728:["✨",["sparkles"]],2733:["✳",["eight_spoked_asterisk"]],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":["🌃",["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"]],"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_on_bone"]],"1f357":["🍗",["poultry_leg"]],"1f358":["🍘",["rice_cracker"]],"1f359":["🍙",["rice_ball"]],"1f35a":["🍚",["rice"]],"1f35b":["🍛",["curry"]],"1f35c":["🍜",["ramen"]],"1f35d":["🍝",["spaghetti"]],"1f35e":["🍞",["bread"]],"1f35f":["🍟",["fries"]],"1f360":["🍠",["sweet_potato"]],"1f361":["🍡",["dango"]],"1f362":["🍢",["oden"]],"1f363":["🍣",["sushi"]],"1f364":["🍤",["fried_shrimp"]],"1f365":["🍥",["fish_cake"]],"1f366":["🍦",["icecream"]],"1f367":["🍧",["shaved_ice"]],"1f368":["🍨",["ice_cream"]],"1f369":["🍩",["doughnut"]],"1f36a":["🍪",["cookie"]],"1f36b":["🍫",["chocolate_bar"]],"1f36c":["🍬",["candy"]],"1f36d":["🍭",["lollipop"]],"1f36e":["🍮",["custard"]],"1f36f":["🍯",["honey_pot"]],"1f370":["🍰",["cake"]],"1f371":["🍱",["bento"]],"1f372":["🍲",["stew"]],"1f373":["🍳",["egg"]],"1f374":["🍴",["fork_and_knife"]],"1f375":["🍵",["tea"]],"1f376":["🍶",["sake"]],"1f377":["🍷",["wine_glass"]],"1f378":["🍸",["cocktail"]],"1f379":["🍹",["tropical_drink"]],"1f37a":["🍺",["beer"]],"1f37b":["🍻",["beers"]],"1f37c":["🍼",["baby_bottle"]],"1f380":["🎀",["ribbon"]],"1f381":["🎁",["gift"]],"1f382":["🎂",["birthday"]],"1f383":["🎃",["jack_o_lantern"]],"1f384":["🎄",["christmas_tree"]],"1f385":["🎅",["santa"]],"1f386":["🎆",["fireworks"]],"1f387":["🎇",["sparkler"]],"1f388":["🎈",["balloon"]],"1f389":["🎉",["tada"]],"1f38a":["🎊",["confetti_ball"]],"1f38b":["🎋",["tanabata_tree"]],"1f38c":["🎌",["crossed_flags"]],"1f38d":["🎍",["bamboo"]],"1f38e":["🎎",["dolls"]],"1f38f":["🎏",["flags"]],"1f390":["🎐",["wind_chime"]],"1f391":["🎑",["rice_scene"]],"1f392":["🎒",["school_satchel"]],"1f393":["🎓",["mortar_board"]],"1f3a0":["🎠",["carousel_horse"]],"1f3a1":["🎡",["ferris_wheel"]],"1f3a2":["🎢",["roller_coaster"]],"1f3a3":["🎣",["fishing_pole_and_fish"]],"1f3a4":["🎤",["microphone"]],"1f3a5":["🎥",["movie_camera"]],"1f3a6":["🎦",["cinema"]],"1f3a7":["🎧",["headphones"]],"1f3a8":["🎨",["art"]],"1f3a9":["🎩",["tophat"]],"1f3aa":["🎪",["circus_tent"]],"1f3ab":["🎫",["ticket"]],"1f3ac":["🎬",["clapper"]],"1f3ad":["🎭",["performing_arts"]],"1f3ae":["🎮",["video_game"]],"1f3af":["🎯",["dart"]],"1f3b0":["🎰",["slot_machine"]],"1f3b1":["🎱",["8ball"]],"1f3b2":["🎲",["game_die"]],"1f3b3":["🎳",["bowling"]],"1f3b4":["🎴",["flower_playing_cards"]],"1f3b5":["🎵",["musical_note"]],"1f3b6":["🎶",["notes"]],"1f3b7":["🎷",["saxophone"]],"1f3b8":["🎸",["guitar"]],"1f3b9":["🎹",["musical_keyboard"]],"1f3ba":["🎺",["trumpet"]],"1f3bb":["🎻",["violin"]],"1f3bc":["🎼",["musical_score"]],"1f3bd":["🎽",["running_shirt_with_sash"]],"1f3be":["🎾",["tennis"]],"1f3bf":["🎿",["ski"]],"1f3c0":["🏀",["basketball"]],"1f3c1":["🏁",["checkered_flag"]],"1f3c2":["🏂",["snowboarder"]],"1f3c3":["🏃",["runner","running"]],"1f3c4":["🏄",["surfer"]],"1f3c6":["🏆",["trophy"]],"1f3c7":["🏇",["horse_racing"]],"1f3c8":["🏈",["football"]],"1f3c9":["🏉",["rugby_football"]],"1f3ca":["🏊",["swimmer"]],"1f3e0":["🏠",["house"]],"1f3e1":["🏡",["house_with_garden"]],"1f3e2":["🏢",["office"]],"1f3e3":["🏣",["post_office"]],"1f3e4":["🏤",["european_post_office"]],"1f3e5":["🏥",["hospital"]],"1f3e6":["🏦",["bank"]],"1f3e7":["🏧",["atm"]],"1f3e8":["🏨",["hotel"]],"1f3e9":["🏩",["love_hotel"]],"1f3ea":["🏪",["convenience_store"]],"1f3eb":["🏫",["school"]],"1f3ec":["🏬",["department_store"]],"1f3ed":["🏭",["factory"]],"1f3ee":["🏮",["izakaya_lantern","lantern"]],"1f3ef":["🏯",["japanese_castle"]],"1f3f0":["🏰",["european_castle"]],"1f400":["🐀",["rat"]],"1f401":["🐁",["mouse2"]],"1f402":["🐂",["ox"]],"1f403":["🐃",["water_buffalo"]],"1f404":["🐄",["cow2"]],"1f405":["🐅",["tiger2"]],"1f406":["🐆",["leopard"]],"1f407":["🐇",["rabbit2"]],"1f408":["🐈",["cat2"]],"1f409":["🐉",["dragon"]],"1f40a":["🐊",["crocodile"]],"1f40b":["🐋",["whale2"]],"1f40c":["🐌",["snail"]],"1f40d":["🐍",["snake"]],"1f40e":["🐎",["racehorse"]],"1f40f":["🐏",["ram"]],"1f410":["🐐",["goat"]],"1f411":["🐑",["sheep"]],"1f412":["🐒",["monkey"]],"1f413":["🐓",["rooster"]],"1f414":["🐔",["chicken"]],"1f415":["🐕",["dog2"]],"1f416":["🐖",["pig2"]],"1f417":["🐗",["boar"]],"1f418":["🐘",["elephant"]],"1f419":["🐙",["octopus"]],"1f41a":["🐚",["shell"]],"1f41b":["🐛",["bug"]],"1f41c":["🐜",["ant"]],"1f41d":["🐝",["bee","honeybee"]],"1f41e":["🐞",["beetle"]],"1f41f":["🐟",["fish"]],"1f420":["🐠",["tropical_fish"]],"1f421":["🐡",["blowfish"]],"1f422":["🐢",["turtle"]],"1f423":["🐣",["hatching_chick"]],"1f424":["🐤",["baby_chick"]],"1f425":["🐥",["hatched_chick"]],"1f426":["🐦",["bird"]],"1f427":["🐧",["penguin"]],"1f428":["🐨",["koala"]],"1f429":["🐩",["poodle"]],"1f42a":["🐪",["dromedary_camel"]],"1f42b":["🐫",["camel"]],"1f42c":["🐬",["dolphin","flipper"]],"1f42d":["🐭",["mouse"]],"1f42e":["🐮",["cow"]],"1f42f":["🐯",["tiger"]],"1f430":["🐰",["rabbit"]],"1f431":["🐱",["cat"]],"1f432":["🐲",["dragon_face"]],"1f433":["🐳",["whale"]],"1f434":["🐴",["horse"]],"1f435":["🐵",["monkey_face"]],"1f436":["🐶",["dog"]],"1f437":["🐷",["pig"]],"1f438":["🐸",["frog"]],"1f439":["🐹",["hamster"]],"1f43a":["🐺",["wolf"]],"1f43b":["🐻",["bear"]],"1f43c":["🐼",["panda_face"]],"1f43d":["🐽",["pig_nose"]],"1f43e":["🐾",["feet","paw_prints"]],"1f440":["👀",["eyes"]],"1f442":["👂",["ear"]],"1f443":["👃",["nose"]],"1f444":["👄",["lips"]],"1f445":["👅",["tongue"]],"1f446":["👆",["point_up_2"]],"1f447":["👇",["point_down"]],"1f448":["👈",["point_left"]],"1f449":["👉",["point_right"]],"1f44a":["👊",["facepunch","punch"]],"1f44b":["👋",["wave"]],"1f44c":["👌",["ok_hand"]],"1f44d":["👍",["+1","thumbsup"]],"1f44e":["👎",["-1","thumbsdown"]],"1f44f":["👏",["clap"]],"1f450":["👐",["open_hands"]],"1f451":["👑",["crown"]],"1f452":["👒",["womans_hat"]],"1f453":["👓",["eyeglasses"]],"1f454":["👔",["necktie"]],"1f455":["👕",["shirt","tshirt"]],"1f456":["👖",["jeans"]],"1f457":["👗",["dress"]],"1f458":["👘",["kimono"]],"1f459":["👙",["bikini"]],"1f45a":["👚",["womans_clothes"]],"1f45b":["👛",["purse"]],"1f45c":["👜",["handbag"]],"1f45d":["👝",["pouch"]],"1f45e":["👞",["mans_shoe","shoe"]],"1f45f":["👟",["athletic_shoe"]],"1f460":["👠",["high_heel"]],"1f461":["👡",["sandal"]],"1f462":["👢",["boot"]],"1f463":["👣",["footprints"]],"1f464":["👤",["bust_in_silhouette"]],"1f465":["👥",["busts_in_silhouette"]],"1f466":["👦",["boy"]],"1f467":["👧",["girl"]],"1f468":["👨",["man"]],"1f469":["👩",["woman"]],"1f46a":["👪",["family"]],"1f46b":["👫",["couple"]],"1f46c":["👬",["two_men_holding_hands"]],"1f46d":["👭",["two_women_holding_hands"]],"1f46e":["👮",["cop"]],"1f46f":["👯",["dancers"]],"1f470":["👰",["bride_with_veil"]],"1f471":["👱",["person_with_blond_hair"]],"1f472":["👲",["man_with_gua_pi_mao"]],"1f473":["👳",["man_with_turban"]],"1f474":["👴",["older_man"]],"1f475":["👵",["older_woman"]],"1f476":["👶",["baby"]],"1f477":["👷",["construction_worker"]],"1f478":["👸",["princess"]],"1f479":["👹",["japanese_ogre"]],"1f47a":["👺",["japanese_goblin"]],"1f47b":["👻",["ghost"]],"1f47c":["👼",["angel"]],"1f47d":["👽",["alien"]],"1f47e":["👾",["space_invader"]],"1f47f":["👿",["imp"]],"1f480":["💀",["skull"]],"1f481":["💁",["information_desk_person"]],"1f482":["💂",["guardsman"]],"1f483":["💃",["dancer"]],"1f484":["💄",["lipstick"]],"1f485":["💅",["nail_care"]],"1f486":["💆",["massage"]],"1f487":["💇",["haircut"]],"1f488":["💈",["barber"]],"1f489":["💉",["syringe"]],"1f48a":["💊",["pill"]],"1f48b":["💋",["kiss"]],"1f48c":["💌",["love_letter"]],"1f48d":["💍",["ring"]],"1f48e":["💎",["gem"]],"1f48f":["💏",["couplekiss"]],"1f490":["💐",["bouquet"]],"1f491":["💑",["couple_with_heart"]],"1f492":["💒",["wedding"]],"1f493":["💓",["heartbeat"]],"1f494":["💔",["broken_heart"],"</3"],"1f495":["💕",["two_hearts"]],"1f496":["💖",["sparkling_heart"]],"1f497":["💗",["heartpulse"]],"1f498":["💘",["cupid"]],"1f499":["💙",["blue_heart"],"<3"],"1f49a":["💚",["green_heart"],"<3"],"1f49b":["💛",["yellow_heart"],"<3"],"1f49c":["💜",["purple_heart"],"<3"],"1f49d":["💝",["gift_heart"]],"1f49e":["💞",["revolving_hearts"]],"1f49f":["💟",["heart_decoration"]],"1f4a0":["💠",["diamond_shape_with_a_dot_inside"]],"1f4a1":["💡",["bulb"]],"1f4a2":["💢",["anger"]],"1f4a3":["💣",["bomb"]],"1f4a4":["💤",["zzz"]],"1f4a5":["💥",["boom","collision"]],"1f4a6":["💦",["sweat_drops"]],"1f4a7":["💧",["droplet"]],"1f4a8":["💨",["dash"]],"1f4a9":["💩",["hankey","poop","shit"]],"1f4aa":["💪",["muscle"]],"1f4ab":["💫",["dizzy"]],"1f4ac":["💬",["speech_balloon"]],"1f4ad":["💭",["thought_balloon"]],"1f4ae":["💮",["white_flower"]],"1f4af":["💯",["100"]],"1f4b0":["💰",["moneybag"]],"1f4b1":["💱",["currency_exchange"]],"1f4b2":["💲",["heavy_dollar_sign"]],"1f4b3":["💳",["credit_card"]],"1f4b4":["💴",["yen"]],"1f4b5":["💵",["dollar"]],"1f4b6":["💶",["euro"]],"1f4b7":["💷",["pound"]],"1f4b8":["💸",["money_with_wings"]],"1f4b9":["💹",["chart"]],"1f4ba":["💺",["seat"]],"1f4bb":["💻",["computer"]],"1f4bc":["💼",["briefcase"]],"1f4bd":["💽",["minidisc"]],"1f4be":["💾",["floppy_disk"]],"1f4bf":["💿",["cd"]],"1f4c0":["📀",["dvd"]],"1f4c1":["📁",["file_folder"]],"1f4c2":["📂",["open_file_folder"]],"1f4c3":["📃",["page_with_curl"]],"1f4c4":["📄",["page_facing_up"]],"1f4c5":["📅",["date"]],"1f4c6":["📆",["calendar"]],"1f4c7":["📇",["card_index"]],"1f4c8":["📈",["chart_with_upwards_trend"]],"1f4c9":["📉",["chart_with_downwards_trend"]],"1f4ca":["📊",["bar_chart"]],"1f4cb":["📋",["clipboard"]],"1f4cc":["📌",["pushpin"]],"1f4cd":["📍",["round_pushpin"]],"1f4ce":["📎",["paperclip"]],"1f4cf":["📏",["straight_ruler"]],"1f4d0":["📐",["triangular_ruler"]],"1f4d1":["📑",["bookmark_tabs"]],"1f4d2":["📒",["ledger"]],"1f4d3":["📓",["notebook"]],"1f4d4":["📔",["notebook_with_decorative_cover"]],"1f4d5":["📕",["closed_book"]],"1f4d6":["📖",["book","open_book"]],"1f4d7":["📗",["green_book"]],"1f4d8":["📘",["blue_book"]],"1f4d9":["📙",["orange_book"]],"1f4da":["📚",["books"]],"1f4db":["📛",["name_badge"]],"1f4dc":["📜",["scroll"]],"1f4dd":["📝",["memo","pencil"]],"1f4de":["📞",["telephone_receiver"]],"1f4df":["📟",["pager"]],"1f4e0":["📠",["fax"]],"1f4e1":["📡",["satellite"]],"1f4e2":["📢",["loudspeaker"]],"1f4e3":["📣",["mega"]],"1f4e4":["📤",["outbox_tray"]],"1f4e5":["📥",["inbox_tray"]],"1f4e6":["📦",["package"]],"1f4e7":["📧",["e-mail"]],"1f4e8":["📨",["incoming_envelope"]],"1f4e9":["📩",["envelope_with_arrow"]],"1f4ea":["📪",["mailbox_closed"]],"1f4eb":["📫",["mailbox"]],"1f4ec":["📬",["mailbox_with_mail"]],"1f4ed":["📭",["mailbox_with_no_mail"]],"1f4ee":["📮",["postbox"]],"1f4ef":["📯",["postal_horn"]],"1f4f0":["📰",["newspaper"]],"1f4f1":["📱",["iphone"]],"1f4f2":["📲",["calling"]],"1f4f3":["📳",["vibration_mode"]],"1f4f4":["📴",["mobile_phone_off"]],"1f4f5":["📵",["no_mobile_phones"]],"1f4f6":["📶",["signal_strength"]],"1f4f7":["📷",["camera"]],"1f4f9":["📹",["video_camera"]],"1f4fa":["📺",["tv"]],"1f4fb":["📻",["radio"]],"1f4fc":["📼",["vhs"]],"1f500":["🔀",["twisted_rightwards_arrows"]],"1f501":["🔁",["repeat"]],"1f502":["🔂",["repeat_one"]],"1f503":["🔃",["arrows_clockwise"]],"1f504":["🔄",["arrows_counterclockwise"]],"1f505":["🔅",["low_brightness"]],"1f506":["🔆",["high_brightness"]],"1f507":["🔇",["mute"]],"1f509":["🔉",["sound"]],"1f50a":["🔊",["speaker"]],"1f50b":["🔋",["battery"]],"1f50c":["🔌",["electric_plug"]],"1f50d":["🔍",["mag"]],"1f50e":["🔎",["mag_right"]],"1f50f":["🔏",["lock_with_ink_pen"]],"1f510":["🔐",["closed_lock_with_key"]],"1f511":["🔑",["key"]],"1f512":["🔒",["lock"]],"1f513":["🔓",["unlock"]],"1f514":["🔔",["bell"]],"1f515":["🔕",["no_bell"]],"1f516":["🔖",["bookmark"]],"1f517":["🔗",["link"]],"1f518":["🔘",["radio_button"]],"1f519":["🔙",["back"]],"1f51a":["🔚",["end"]],"1f51b":["🔛",["on"]],"1f51c":["🔜",["soon"]],"1f51d":["🔝",["top"]],"1f51e":["🔞",["underage"]],"1f51f":["🔟",["keycap_ten"]],"1f520":["🔠",["capital_abcd"]],"1f521":["🔡",["abcd"]],"1f522":["🔢",["1234"]],"1f523":["🔣",["symbols"]],"1f524":["🔤",["abc"]],"1f525":["🔥",["fire"]],"1f526":["🔦",["flashlight"]],"1f527":["🔧",["wrench"]],"1f528":["🔨",["hammer"]],"1f529":["🔩",["nut_and_bolt"]],"1f52a":["🔪",["hocho"]],"1f52b":["🔫",["gun"]],"1f52c":["🔬",["microscope"]],"1f52d":["🔭",["telescope"]],"1f52e":["🔮",["crystal_ball"]],"1f52f":["🔯",["six_pointed_star"]],"1f530":["🔰",["beginner"]],"1f531":["🔱",["trident"]],"1f532":["🔲",["black_square_button"]],"1f533":["🔳",["white_square_button"]],"1f534":["🔴",["red_circle"]],"1f535":["🔵",["large_blue_circle"]],"1f536":["🔶",["large_orange_diamond"]],"1f537":["🔷",["large_blue_diamond"]],"1f538":["🔸",["small_orange_diamond"]],"1f539":["🔹",["small_blue_diamond"]],"1f53a":["🔺",["small_red_triangle"]],"1f53b":["🔻",["small_red_triangle_down"]],"1f53c":["🔼",["arrow_up_small"]],"1f53d":["🔽",["arrow_down_small"]],"1f550":["🕐",["clock1"]],"1f551":["🕑",["clock2"]],"1f552":["🕒",["clock3"]],"1f553":["🕓",["clock4"]],"1f554":["🕔",["clock5"]],"1f555":["🕕",["clock6"]],"1f556":["🕖",["clock7"]],"1f557":["🕗",["clock8"]],"1f558":["🕘",["clock9"]],"1f559":["🕙",["clock10"]],"1f55a":["🕚",["clock11"]],"1f55b":["🕛",["clock12"]],"1f55c":["🕜",["clock130"]],"1f55d":["🕝",["clock230"]],"1f55e":["🕞",["clock330"]],"1f55f":["🕟",["clock430"]],"1f560":["🕠",["clock530"]],"1f561":["🕡",["clock630"]],"1f562":["🕢",["clock730"]],"1f563":["🕣",["clock830"]],"1f564":["🕤",["clock930"]],"1f565":["🕥",["clock1030"]],"1f566":["🕦",["clock1130"]],"1f567":["🕧",["clock1230"]],"1f5fb":["🗻",["mount_fuji"]],"1f5fc":["🗼",["tokyo_tower"]],"1f5fd":["🗽",["statue_of_liberty"]],"1f5fe":["🗾",["japan"]],"1f5ff":["🗿",["moyai"]],"1f600":["😀",["grinning"]],"1f601":["😁",["grin"]],"1f602":["😂",["joy"]],"1f603":["😃",["smiley"],":)"],"1f604":["😄",["smile"],":)"],"1f605":["😅",["sweat_smile"]],"1f606":["😆",["laughing","satisfied"]],"1f607":["😇",["innocent"]],"1f608":["😈",["smiling_imp"]],"1f609":["😉",["wink"],";)"],"1f60a":["😊",["blush"]],"1f60b":["😋",["yum"]],"1f60c":["😌",["relieved"]],"1f60d":["😍",["heart_eyes"]],"1f60e":["😎",["sunglasses"]],"1f60f":["😏",["smirk"]],"1f610":["😐",["neutral_face"]],"1f611":["😑",["expressionless"]],"1f612":["😒",["unamused"]],"1f613":["😓",["sweat"]],"1f614":["😔",["pensive"]],"1f615":["😕",["confused"]],"1f616":["😖",["confounded"]],"1f617":["😗",["kissing"]],"1f618":["😘",["kissing_heart"]],"1f619":["😙",["kissing_smiling_eyes"]],"1f61a":["😚",["kissing_closed_eyes"]],"1f61b":["😛",["stuck_out_tongue"]],"1f61c":["😜",["stuck_out_tongue_winking_eye"],";p"],"1f61d":["😝",["stuck_out_tongue_closed_eyes"]],"1f61e":["😞",["disappointed"],":("],"1f61f":["😟",["worried"]],"1f620":["😠",["angry"]],"1f621":["😡",["rage"]],"1f622":["😢",["cry"],":'("],"1f623":["😣",["persevere"]],"1f624":["😤",["triumph"]],"1f625":["😥",["disappointed_relieved"]],"1f626":["😦",["frowning"]],"1f627":["😧",["anguished"]],"1f628":["😨",["fearful"]],"1f629":["😩",["weary"]],"1f62a":["😪",["sleepy"]],"1f62b":["😫",["tired_face"]],"1f62c":["😬",["grimacing"]],"1f62d":["😭",["sob"],":'("],"1f62e":["😮",["open_mouth"]],"1f62f":["😯",["hushed"]],"1f630":["😰",["cold_sweat"]],"1f631":["😱",["scream"]],"1f632":["😲",["astonished"]],"1f633":["😳",["flushed"]],"1f634":["😴",["sleeping"]],"1f635":["😵",["dizzy_face"]],"1f636":["😶",["no_mouth"]],"1f637":["😷",["mask"]],"1f638":["😸",["smile_cat"]],"1f639":["😹",["joy_cat"]],"1f63a":["😺",["smiley_cat"]],"1f63b":["😻",["heart_eyes_cat"]],"1f63c":["😼",["smirk_cat"]],"1f63d":["😽",["kissing_cat"]],"1f63e":["😾",["pouting_cat"]],"1f63f":["😿",["crying_cat_face"]],"1f640":["🙀",["scream_cat"]],"1f645":["🙅",["no_good"]],"1f646":["🙆",["ok_woman"]],"1f647":["🙇",["bow"]],"1f648":["🙈",["see_no_evil"]],"1f649":["🙉",["hear_no_evil"]],"1f64a":["🙊",["speak_no_evil"]],"1f64b":["🙋",["raising_hand"]],"1f64c":["🙌",["raised_hands"]],"1f64d":["🙍",["person_frowning"]],"1f64e":["🙎",["person_with_pouting_face"]],"1f64f":["🙏",["pray"]],"1f680":["🚀",["rocket"]],"1f681":["🚁",["helicopter"]],"1f682":["🚂",["steam_locomotive"]],"1f683":["🚃",["railway_car","train"]],"1f684":["🚄",["bullettrain_side"]],"1f685":["🚅",["bullettrain_front"]],"1f686":["🚆",["train2"]],"1f687":["🚇",["metro"]],"1f688":["🚈",["light_rail"]],"1f689":["🚉",["station"]],"1f68a":["🚊",["tram"]],"1f68c":["🚌",["bus"]],"1f68d":["🚍",["oncoming_bus"]],"1f68e":["🚎",["trolleybus"]],"1f68f":["🚏",["busstop"]],"1f690":["🚐",["minibus"]],"1f691":["🚑",["ambulance"]],"1f692":["🚒",["fire_engine"]],"1f693":["🚓",["police_car"]],"1f694":["🚔",["oncoming_police_car"]],"1f695":["🚕",["taxi"]],"1f696":["🚖",["oncoming_taxi"]],"1f697":["🚗",["car","red_car"]],"1f698":["🚘",["oncoming_automobile"]],"1f699":["🚙",["blue_car"]],"1f69a":["🚚",["truck"]],"1f69b":["🚛",["articulated_lorry"]],"1f69c":["🚜",["tractor"]],"1f69d":["🚝",["monorail"]],"1f69e":["🚞",["mountain_railway"]],"1f69f":["🚟",["suspension_railway"]],"1f6a0":["🚠",["mountain_cableway"]],"1f6a1":["🚡",["aerial_tramway"]],"1f6a2":["🚢",["ship"]],"1f6a3":["🚣",["rowboat"]],"1f6a4":["🚤",["speedboat"]],"1f6a5":["🚥",["traffic_light"]],"1f6a6":["🚦",["vertical_traffic_light"]],"1f6a7":["🚧",["construction"]],"1f6a8":["🚨",["rotating_light"]],"1f6a9":["🚩",["triangular_flag_on_post"]],"1f6aa":["🚪",["door"]],"1f6ab":["🚫",["no_entry_sign"]],"1f6ac":["🚬",["smoking"]],"1f6ad":["🚭",["no_smoking"]],"1f6ae":["🚮",["put_litter_in_its_place"]],"1f6af":["🚯",["do_not_litter"]],"1f6b0":["🚰",["potable_water"]],"1f6b1":["🚱",["non-potable_water"]],"1f6b2":["🚲",["bike"]],"1f6b3":["🚳",["no_bicycles"]],"1f6b4":["🚴",["bicyclist"]],"1f6b5":["🚵",["mountain_bicyclist"]],"1f6b6":["🚶",["walking"]],"1f6b7":["🚷",["no_pedestrians"]],"1f6b8":["🚸",["children_crossing"]],"1f6b9":["🚹",["mens"]],"1f6ba":["🚺",["womens"]],"1f6bb":["🚻",["restroom"]],"1f6bc":["🚼",["baby_symbol"]],"1f6bd":["🚽",["toilet"]],"1f6be":["🚾",["wc"]],"1f6bf":["🚿",["shower"]],"1f6c0":["🛀",["bath"]],"1f6c1":["🛁",["bathtub"]],"1f6c2":["🛂",["passport_control"]],"1f6c3":["🛃",["customs"]],"1f6c4":["🛄",["baggage_claim"]],"1f6c5":["🛅",["left_luggage"]],"0023":["#⃣",["hash"]],"0030":["0⃣",["zero"]],"0031":["1⃣",["one"]],"0032":["2⃣",["two"]],"0033":["3⃣",["three"]],"0034":["4⃣",["four"]],"0035":["5⃣",["five"]],"0036":["6⃣",["six"]],"0037":["7⃣",["seven"]],"0038":["8⃣",["eight"]],"0039":["9⃣",["nine"]],"1f1e8-1f1f3":["🇨🇳",["cn"]],"1f1e9-1f1ea":["🇩🇪",["de"]],"1f1ea-1f1f8":["🇪🇸",["es"]],"1f1eb-1f1f7":["🇫🇷",["fr"]],"1f1ec-1f1e7":["🇬🇧",["gb","uk"]],"1f1ee-1f1f9":["🇮🇹",["it"]],"1f1ef-1f1f5":["🇯🇵",["jp"]],"1f1f0-1f1f7":["🇰🇷",["kr"]],"1f1f7-1f1fa":["🇷🇺",["ru"]],"1f1fa-1f1f8":["🇺🇸",["us"]]},Config.EmojiCategories=[["1f604","1f603","1f600","1f60a","263a","1f609","1f60d","1f618","1f61a","1f617","1f619","1f61c","1f61d","1f61b","1f633","1f601","1f614","1f60c","1f612","1f61e","1f623","1f622","1f602","1f62d","1f62a","1f625","1f630","1f605","1f613","1f629","1f62b","1f628","1f631","1f620","1f621","1f624","1f616","1f606","1f60b","1f637","1f60e","1f634","1f635","1f632","1f61f","1f626","1f627","1f608","1f47f","1f62e","1f62c","1f610","1f615","1f62f","1f636","1f607","1f60f","1f611","1f472","1f473","1f46e","1f477","1f482","1f476","1f466","1f467","1f468","1f469","1f474","1f475","1f471","1f47c","1f478","1f63a","1f638","1f63b","1f63d","1f63c","1f640","1f63f","1f639","1f63e","1f479","1f47a","1f648","1f649","1f64a","1f480","1f47d","1f4a9","1f525","2728","1f31f","1f4ab","1f4a5","1f4a2","1f4a6","1f4a7","1f4a4","1f4a8","1f442","1f440","1f443","1f445","1f444","1f44d","1f44e","1f44c","1f44a","270a","270c","1f44b","270b","1f450","1f446","1f447","1f449","1f448","1f64c","1f64f","261d","1f44f","1f4aa","1f6b6","1f3c3","1f483","1f46b","1f46a","1f46c","1f46d","1f48f","1f491","1f46f","1f646","1f645","1f481","1f64b","1f486","1f487","1f485","1f470","1f64e","1f64d","1f647","1f3a9","1f451","1f452","1f45f","1f45e","1f461","1f460","1f462","1f455","1f454","1f45a","1f457","1f3bd","1f456","1f458","1f459","1f4bc","1f45c","1f45d","1f45b","1f453","1f380","1f302","1f484","1f49b","1f499","1f49c","1f49a","2764","1f494","1f497","1f493","1f495","1f496","1f49e","1f498","1f48c","1f48b","1f48d","1f48e","1f464","1f465","1f4ac","1f463","1f4ad"],["1f436","1f43a","1f431","1f42d","1f439","1f430","1f438","1f42f","1f428","1f43b","1f437","1f43d","1f42e","1f417","1f435","1f412","1f434","1f411","1f418","1f43c","1f427","1f426","1f424","1f425","1f423","1f414","1f40d","1f422","1f41b","1f41d","1f41c","1f41e","1f40c","1f419","1f41a","1f420","1f41f","1f42c","1f433","1f40b","1f404","1f40f","1f400","1f403","1f405","1f407","1f409","1f40e","1f410","1f413","1f415","1f416","1f401","1f402","1f432","1f421","1f40a","1f42b","1f42a","1f406","1f408","1f429","1f43e","1f490","1f338","1f337","1f340","1f339","1f33b","1f33a","1f341","1f343","1f342","1f33f","1f33e","1f344","1f335","1f334","1f332","1f333","1f330","1f331","1f33c","1f310","1f31e","1f31d","1f31a","1f311","1f312","1f313","1f314","1f315","1f316","1f317","1f318","1f31c","1f31b","1f319","1f30d","1f30e","1f30f","1f30b","1f30c","1f30d","2b50","2600","26c5","2601","26a1","2614","2744","26c4","1f300","1f301","1f308","1f30a"],["1f38d","1f49d","1f38e","1f392","1f393","1f38f","1f386","1f387","1f390","1f391","1f383","1f47b","1f385","1f384","1f381","1f38b","1f389","1f38a","1f388","1f38c","1f52e","1f3a5","1f4f7","1f4f9","1f4fc","1f4bf","1f4c0","1f4bd","1f4be","1f4bb","1f4f1","260e","1f4de","1f4df","1f4e0","1f4e1","1f4fa","1f4fb","1f50a","1f509","1f509","1f507","1f514","1f514","1f4e2","1f4e3","23f3","231b","23f0","231a","1f513","1f512","1f50f","1f510","1f511","1f50e","1f4a1","1f526","1f506","1f505","1f50c","1f50b","1f50d","1f6c0","1f6bf","1f6bd","1f527","1f529","1f528","1f6aa","1f6ac","1f4a3","1f52b","1f52a","1f48a","1f489","1f4b0","1f4b4","1f4b5","1f4b7","1f4b6","1f4b3","1f4b8","1f4f2","1f4e7","1f4e5","1f4e4","2709","1f4e9","1f4e8","1f4ef","1f4eb","1f4ea","1f4ec","1f4ed","1f4ee","1f4e6","1f4dd","1f4c4","1f4c3","1f4d1","1f4ca","1f4c8","1f4c9","1f4dc","1f4cb","1f4c5","1f4c6","1f4c7","1f4c1","1f4c2","2702","1f4cc","1f4ce","2712","270f","1f4cf","1f4d0","1f4d5","1f4d7","1f4d8","1f4d9","1f4d3","1f4d4","1f4d2","1f4da","1f4d6","1f516","1f4db","1f52c","1f52d","1f4f0","1f3a8","1f3ac","1f3a4","1f3a7","1f3bc","1f3b5","1f3b6","1f3b9","1f3bb","1f3ba","1f3b7","1f3b8","1f47e","1f3ae","1f0cf","1f3b4","1f004","1f3b2","1f3af","1f3c8","1f3c0","26bd","26be","1f3be","1f3b1","1f3c9","1f3b3","26f3","1f6b5","1f6b4","1f3c1","1f3c7","1f3c6","1f3bf","1f3c2","1f3ca","1f3c4","1f3a3","2615","1f375","1f376","1f37c","1f37a","1f37b","1f378","1f379","1f377","1f374","1f355","1f354","1f35f","1f357","1f356","1f35d","1f35b","1f364","1f371","1f363","1f365","1f359","1f358","1f35a","1f35c","1f372","1f362","1f361","1f373","1f35e","1f369","1f36e","1f366","1f368","1f367","1f382","1f370","1f36a","1f36b","1f36c","1f36d","1f36f","1f34e","1f34f","1f34a","1f34b","1f352","1f347","1f349","1f353","1f351","1f348","1f34c","1f350","1f34d","1f360","1f346","1f345","1f33d"],["1f3e0","1f3e1","1f3eb","1f3e2","1f3e3","1f3e5","1f3e6","1f3ea","1f3e9","1f3e8","1f492","26ea","1f3ec","1f3e4","1f307","1f306","1f3ef","1f3f0","26fa","1f3ed","1f5fc","1f5fe","1f5fb","1f304","1f305","1f303","1f5fd","1f309","1f3a0","1f3a1","26f2","1f3a2","1f6a2","26f5","1f6a4","1f6a3","2693","1f680","2708","1f4ba","1f681","1f682","1f68a","1f689","1f69e","1f686","1f684","1f685","1f688","1f687","1f69d","1f69d","1f683","1f68e","1f68c","1f68d","1f699","1f698","1f697","1f695","1f696","1f69b","1f69a","1f6a8","1f693","1f694","1f692","1f691","1f690","1f6b2","1f6a1","1f69f","1f6a0","1f69c","1f488","1f68f","1f3ab","1f6a6","1f6a5","26a0","1f6a7","1f530","26fd","1f3ee","1f3b0","2668","1f5ff","1f3aa","1f3ad","1f4cd","1f6a9","1f1ef-1f1f5","1f1f0-1f1f7","1f1e9-1f1ea","1f1e8-1f1f3","1f1fa-1f1f8","1f1eb-1f1f7","1f1ea-1f1f8","1f1ee-1f1f9","1f1f7-1f1fa","1f1ec-1f1e7"],["0031","0032","0033","0034","0035","0036","0037","0038","0039","0030","1f51f","1f522","0023","1f523","2b06","2b07","2b05","27a1","1f520","1f521","1f524","2197","2196","2198","2199","2194","2195","1f504","25c0","25b6","1f53c","1f53d","21a9","21aa","2139","23ea","23e9","23eb","23ec","2935","2934","1f197","1f500","1f501","1f502","1f195","1f199","1f192","1f193","1f196","1f4f6","1f3a6","1f201","1f22f","1f233","1f235","1f232","1f234","1f232","1f250","1f239","1f23a","1f236","1f21a","1f6bb","1f6b9","1f6ba","1f6bc","1f6be","1f6b0","1f6ae","1f17f","267f","1f6ad","1f237","1f238","1f202","24c2","1f251","3299","3297","1f191","1f198","1f194","1f6ab","1f51e","1f4f5","1f6af","1f6b1","1f6b3","1f6b7","1f6b8","26d4","2733","2747","274e","2705","2734","1f49f","1f19a","1f4f3","1f4f4","1f170","1f171","1f18e","1f17e","1f4a0","27bf","267b","2648","2649","264a","264b","264c","264d","264e","264f","2650","2651","2652","2653","26ce","1f52f","1f3e7","1f4b9","1f4b2","1f4b1","00a9","00ae","2122","303d","3030","1f51d","1f51a","1f519","1f51b","1f51c","274c","2b55","2757","2753","2755","2754","1f503","1f55b","1f567","1f550","1f55c","1f551","1f55d","1f552","1f55e","1f553","1f55f","1f554","1f560","1f555","1f556","1f557","1f558","1f559","1f55a","1f561","1f562","1f563","1f564","1f565","1f566","2716","2795","2796","2797","2660","2665","2663","2666","1f4ae","1f4af","2714","2611","1f518","1f517","27b0","1f531","1f532","1f533","25fc","25fb","25fe","25fd","25aa","25ab","1f53a","2b1c","2b1b","26ab","26aa","1f534","1f535","1f53b","1f536","1f537","1f538","1f539"]],Config.EmojiCategorySpritesheetDimens=[[7,27],[4,29],[7,33],[3,34],[6,34]]; |
|
|
|
|
|
function bigint(e){return new BigInteger(e.toString(16),16)}function bigStringInt(e){return new BigInteger(e,10)}function dHexDump(e){for(var t=[],n=0;n<e.length;n++)!n||n%2||t.push(n%16?n%4?" ":" ":"\n"),t.push((e[n]<16?"0":"")+e[n].toString(16));console.log(t.join(""))}function bytesToHex(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]<16?"0":"")+e[n].toString(16));return t.join("")}function bytesFromHex(e){var t,n=e.length,r=[];for(t=0;n>t;t+=2)r.push(parseInt(e.substr(t,2),16));return r}function bytesToBase64(e){for(var t,n="",r=e.length,o=0,s=0;r>s;s++)t=s%3,o|=e[s]<<(16>>>t&24),(2===t||r-s===1)&&(n+=String.fromCharCode(uint6ToBase64(o>>>18&63),uint6ToBase64(o>>>12&63),uint6ToBase64(o>>>6&63),uint6ToBase64(63&o)),o=0);return n.replace(/A(?=A$|$)/g,"=")}function uint6ToBase64(e){return 26>e?e+65:52>e?e+71:62>e?e-4:62===e?43:63===e?47:65}function bytesCmp(e,t){var n=e.length;if(n!=t.length)return!1;for(var r=0;n>r;r++)if(e[r]!=t[r])return!1;return!0}function bytesXor(e,t){for(var n=e.length,r=[],o=0;n>o;++o)r[o]=e[o]^t[o];return r}function bytesToWords(e){for(var t=e.length,n=[],r=0;t>r;r++)n[r>>>2]|=e[r]<<24-r%4*8;return new CryptoJS.lib.WordArray.init(n,t)}function bytesFromWords(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;n>o;o++)r.push(t[o>>>2]>>>24-o%4*8&255);return r}function bytesFromBigInt(e,t){for(var n=e.toByteArray();!n[0]&&(!t||n.length>t);)n=n.slice(1);return n}function bytesToArrayBuffer(e){return new Uint8Array(e).buffer}function bytesFromArrayBuffer(e){for(var t=e.byteLength,n=new Uint8Array(e),r=[],o=0;t>o;++o)r[o]=n[o];return r}function longToInts(e){var t=bigStringInt(e).divideAndRemainder(bigint(4294967296));return[t[0].intValue(),t[1].intValue()]}function longToBytes(e){return bytesFromWords({words:longToInts(e),sigBytes:8}).reverse()}function longFromInts(e,t){return bigint(e).shiftLeft(32).add(bigint(t)).toString(10)}function intToUint(e){return e=parseInt(e),0>e&&(e+=4294967296),e}function uintToInt(e){return e>2147483647&&(e-=4294967296),e}function sha1Hash(e){var t=sha1.hash(e,!0);return t}function rsaEncrypt(e,t){var n=255-t.length;if(n>0){var r=new Array(n);(new SecureRandom).nextBytes(r),t=t.concat(r)}var o=new BigInteger(e.modulus,16),s=new BigInteger(e.exponent,16),i=new BigInteger(t),a=i.modPowInt(s,o),c=bytesFromBigInt(a,256);return c}function aesEncrypt(e,t,n){var r=16-e.length%16;if(r>0&&16>r){var o=new Array(r);(new SecureRandom).nextBytes(o),e=e.concat(o)}var s=CryptoJS.AES.encrypt(bytesToWords(e),bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}).ciphertext,i=bytesFromWords(s);return i}function aesDecrypt(e,t,n){var r=CryptoJS.AES.decrypt({ciphertext:bytesToWords(e)},bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}),o=bytesFromWords(r);return o}function gzipUncompress(e){var t=new Zlib.Gunzip(e).decompress();return t}function nextRandomInt(e){return Math.floor(Math.random()*e)}function pqPrimeFactorization(e){var t=new BigInteger(e),n=!1;if(console.log("PQ start",e,t.bitLength()),t.bitLength()<=64)try{n=pqPrimeLong(goog.math.Long.fromString(t.toString(16),16))}catch(r){console.error(r)}return console.log(n),n===!1&&(n=pqPrimeBigInteger(t)),console.log("PQ finish"),n}function pqPrimeBigInteger(e){for(var t,n=0,r=0;3>r;r++){for(var o=(15&nextRandomInt(128))+17,s=bigint(nextRandomInt(1e9)+1),i=s.clone(),a=1<<r+18,c=1;a>c;c++){++n;for(var h=s.clone(),f=s.clone(),u=bigint(o);!f.equals(BigInteger.ZERO);)f.and(BigInteger.ONE).equals(BigInteger.ZERO)||(u=u.add(h),u.compareTo(e)>0&&(u=u.subtract(e))),h=h.add(h),h.compareTo(e)>0&&(h=h.subtract(e)),f=f.shiftRight(1);s=u.clone();var g=s.compareTo(i)<0?i.subtract(s):s.subtract(i);if(t=g.gcd(e),!t.equals(BigInteger.ONE))break;0==(c&c-1)&&(i=s.clone())}if(t.compareTo(BigInteger.ONE)>0)break}var d,l,p=e.divide(t);return t.compareTo(p)>0?(d=p,l=t):(d=t,l=p),[bytesFromBigInt(d),bytesFromBigInt(l)]}function gcdLong(e,t){for(;e.notEquals(goog.math.Long.ZERO)&&t.notEquals(goog.math.Long.ZERO);){for(;t.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)t=t.shiftRight(1);for(;e.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)e=e.shiftRight(1);e.compare(t)>0?e=e.subtract(t):t=t.subtract(e)}return t.equals(goog.math.Long.ZERO)?e:t}function pqPrimeLong(e){for(var t,n=0,r=0;3>r;r++){for(var o=(15&nextRandomInt(128))+17,s=goog.math.Long.fromInt(nextRandomInt(1e9)+1),i=new goog.math.Long(s.getLowBits(),s.getHighBits()),a=1<<r+18,c=1;a>c;c++){++n;for(var h=new goog.math.Long(s.getLowBits(),s.getHighBits()),f=new goog.math.Long(s.getLowBits(),s.getHighBits()),u=goog.math.Long.fromInt(o);f.notEquals(goog.math.Long.ZERO);)f.and(goog.math.Long.ONE).notEquals(goog.math.Long.ZERO)&&(u=u.add(h),u.compare(e)>0&&(u=u.subtract(e))),h=h.add(h),h.compare(e)>0&&(h=h.subtract(e)),f=f.shiftRight(1);s=new goog.math.Long(u.getLowBits(),u.getHighBits());var g=s.compare(i)<0?i.subtract(s):s.subtract(i);if(t=gcdLong(g,e),t.notEquals(goog.math.Long.ONE))break;0==(c&c-1)&&(i=new goog.math.Long(s.getLowBits(),s.getHighBits()))}if(t.compare(goog.math.Long.ONE)>0)break}var d,l,p=e.div(t);return t.compare(p)>0?(d=p,l=t):(d=t,l=p),[bytesFromHex(d.toString(16)),bytesFromHex(l.toString(16))]}function TLSerialization(e){return e=e||{},this.maxLength=e.startMaxLength||2048,this.offset=0,this.createBuffer(),this.mtproto=e.mtproto||!1,this}function TLDeserialization(e,t){return t=t||{},this.offset=0,this.buffer=e,this.intView=new Uint32Array(this.buffer),this.byteView=new Uint8Array(this.buffer),this.mtproto=t.mtproto||!1,this}TLSerialization.prototype.createBuffer=function(){this.buffer=new ArrayBuffer(this.maxLength),this.intView=new Int32Array(this.buffer),this.byteView=new Uint8Array(this.buffer)},TLSerialization.prototype.getArray=function(){var e=new ArrayBuffer(this.offset),t=new Int32Array(e);return t.set(this.intView.subarray(0,this.offset/4)),t},TLSerialization.prototype.getBuffer=function(){return this.getArray().buffer},TLSerialization.prototype.getBytes=function(){for(var e=[],t=0;t<this.offset;t++)e.push(this.byteView[t]);return e},TLSerialization.prototype.checkLength=function(e){if(!(this.offset+e<this.maxLength)){console.trace("Increase buffer",this.offset,e,this.maxLength),this.maxLength=4*Math.ceil(Math.max(2*this.maxLength,this.offset+e+16)/4);var t=this.buffer,n=new Int32Array(t);this.createBuffer(),new Int32Array(this.buffer).set(n)}},TLSerialization.prototype.writeInt=function(e,t){this.debug&&console.log(">>>",e.toString(16),e,t),this.checkLength(4),this.intView[this.offset/4]=e,this.offset+=4},TLSerialization.prototype.storeInt=function(e,t){this.writeInt(e,(t||"")+":int")},TLSerialization.prototype.storeBool=function(e,t){e?this.writeInt(2574415285,(t||"")+":bool"):this.writeInt(3162085175,(t||"")+":bool")},TLSerialization.prototype.storeLongP=function(e,t,n){this.writeInt(t,(n||"")+":long[low]"),this.writeInt(e,(n||"")+":long[high]")},TLSerialization.prototype.storeLong=function(e,t){if(angular.isArray(e))return 2==e.length?this.storeLongP(e[0],e[1],t):this.storeIntBytes(e,64,t);var n=bigStringInt(e).divideAndRemainder(bigint(4294967296));this.writeInt(intToUint(n[1].intValue()),(t||"")+":long[low]"),this.writeInt(intToUint(n[0].intValue()),(t||"")+":long[high]")},TLSerialization.prototype.storeDouble=function(e){var t=new ArrayBuffer(8),n=new Int32Array(t),r=new Float64Array(t);r[0]=e,this.writeInt(n[0],(field||"")+":double[low]"),this.writeInt(n[1],(field||"")+":double[high]")},TLSerialization.prototype.storeString=function(e,t){this.debug&&console.log(">>>",e,(t||"")+":string");var n=unescape(encodeURIComponent(e));this.checkLength(n.length+8);var r=n.length;253>=r?this.byteView[this.offset++]=r:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&r,this.byteView[this.offset++]=(65280&r)>>8,this.byteView[this.offset++]=(16711680&r)>>16);for(var o=0;r>o;o++)this.byteView[this.offset++]=n.charCodeAt(o);for(;this.offset%4;)this.byteView[this.offset++]=0},TLSerialization.prototype.storeBytes=function(e,t){this.debug&&console.log(">>>",bytesToHex(e),(t||"")+":bytes"),this.checkLength(e.length+8);var n=e.length;253>=n?this.byteView[this.offset++]=n:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&n,this.byteView[this.offset++]=(65280&n)>>8,this.byteView[this.offset++]=(16711680&n)>>16);for(var r=0;n>r;r++)this.byteView[this.offset++]=e[r];for(;this.offset%4;)this.byteView[this.offset++]=0},TLSerialization.prototype.storeIntBytes=function(e,t,n){var r=e.length;if(t%32||8*r!=t)throw new Error("Invalid bits: "+t+", "+e.length);this.debug&&console.log(">>>",bytesToHex(e),(n||"")+":int"+t),this.checkLength(r);for(var o=0;r>o;o++)this.byteView[this.offset++]=e[o]},TLSerialization.prototype.storeRawBytes=function(e,t){var n=e.length;this.debug&&console.log(">>>",bytesToHex(e),t||""),this.checkLength(n);for(var r=0;n>r;r++)this.byteView[this.offset++]=e[r]},TLSerialization.prototype.storeMethod=function(e,t){var n,r=this.mtproto?Config.Schema.MTProto:Config.Schema.API,o=!1;for(n=0;n<r.methods.length;n++)if(r.methods[n].method==e){o=r.methods[n];break}if(!o)throw new Error("No method "+e+" found");this.storeInt(intToUint(o.id),e+"[id]");var s=this;angular.forEach(o.params,function(n){s.storeObject(t[n.name],n.type,e+"["+n.name+"]")})},TLSerialization.prototype.storeObject=function(e,t,n){switch(t){case"int":return this.storeInt(e,n);case"long":return this.storeLong(e,n);case"int128":return this.storeIntBytes(e,128,n);case"int256":return this.storeIntBytes(e,256,n);case"int512":return this.storeIntBytes(e,512,n);case"string":return this.storeString(e,n);case"bytes":return this.storeBytes(e,n);case"double":return this.storeDouble(e,n);case"Bool":return this.storeBool(e,n)}if(angular.isArray(e)){if("Vector"==t.substr(0,6))this.writeInt(481674261,n+"[id]");else if("vector"!=t.substr(0,6))throw new Error("Invalid vector type "+t);var r=t.substr(7,t.length-8);this.writeInt(e.length,n+"[count]");for(var o=0;o<e.length;o++)this.storeObject(e[o],r,n+"["+o+"]");return!0}if("vector"==t.substr(0,6).toLowerCase())throw new Error("Invalid vector object");if(!angular.isObject(e))throw new Error("Invalid object for type "+t);var o,s=this.mtproto?Config.Schema.MTProto:Config.Schema.API,i=e._,a=!1,c=!1;for((a="%"==t.charAt(0))&&(t=t.substr(1)),o=0;o<s.constructors.length;o++)if(s.constructors[o].predicate==i){c=s.constructors[o];break}if(!c)throw new Error("No predicate "+i+" found");i==t&&(a=!0),a||this.writeInt(intToUint(c.id),n+"["+i+"][id]");var h=this;angular.forEach(c.params,function(t){h.storeObject(e[t.name],t.type,n+"["+i+"]["+t.name+"]")})},TLDeserialization.prototype.readInt=function(e){if(this.offset>=4*this.intView.length)throw new Error("Nothing to fetch");var t=this.intView[this.offset/4];return this.debug&&console.log("<<<",t.toString(16),t,e),this.offset+=4,t},TLDeserialization.prototype.fetchInt=function(e){return this.readInt((e||"")+":int")},TLDeserialization.prototype.fetchDouble=function(e){var t=new ArrayBuffer(8),n=new Int32Array(t),r=new Float64Array(t);return n[0]=this.readInt((e||"")+":double[low]"),n[1]=this.readInt((e||"")+":double[high]"),r[0]},TLDeserialization.prototype.fetchLong=function(e){var t=this.readInt((e||"")+":long[low]"),n=this.readInt((e||"")+":long[high]"),r=bigint(n).shiftLeft(32).add(bigint(t)).toString();return r},TLDeserialization.prototype.fetchBool=function(e){var t=this.readInt((e||"")+":bool");if(2574415285==t)return!0;if(3162085175==t)return!1;throw new Error("Unknown Bool constructor "+t)},TLDeserialization.prototype.fetchString=function(e){var t=this.byteView[this.offset++];if(254==t)var t=this.byteView[this.offset++]|this.byteView[this.offset++]<<8|this.byteView[this.offset++]<<16;for(var n="",r=0;t>r;r++)n+=String.fromCharCode(this.byteView[this.offset++]);for(;this.offset%4;)this.offset++;try{var o=decodeURIComponent(escape(n))}catch(s){var o=n}return this.debug&&console.log("<<<",o,(e||"")+":string"),o},TLDeserialization.prototype.fetchBytes=function(e){var t=this.byteView[this.offset++];if(254==t)var t=this.byteView[this.offset++]|this.byteView[this.offset++]<<8|this.byteView[this.offset++]<<16;for(var n=[],r=0;t>r;r++)n.push(this.byteView[this.offset++]);for(;this.offset%4;)this.offset++;return this.debug&&console.log("<<<",bytesToHex(n),(e||"")+":bytes"),n},TLDeserialization.prototype.fetchIntBytes=function(e,t){if(e%32)throw new Error("Invalid bits: "+e);for(var n=e/8,r=[],o=0;n>o;o++)r.push(this.byteView[this.offset++]);return this.debug&&console.log("<<<",bytesToHex(r),(t||"")+":int"+e),r},TLDeserialization.prototype.fetchRawBytes=function(e,t){e===!1&&(e=this.readInt((t||"")+"_length"));for(var n=[],r=0;e>r;r++)n.push(this.byteView[this.offset++]);return this.debug&&console.log("<<<",bytesToHex(n),t||""),n},TLDeserialization.prototype.fetchObject=function(e,t){switch(e){case"int":return this.fetchInt(t);case"long":return this.fetchLong(t);case"int128":return this.fetchIntBytes(128,t);case"int256":return this.fetchIntBytes(256,t);case"int512":return this.fetchIntBytes(512,t);case"string":return this.fetchString(t);case"bytes":return this.fetchBytes(t);case"double":return this.fetchDouble(t);case"Bool":return this.fetchBool(t)}if(t=t||e||"Object","Vector"==e.substr(0,6)||"vector"==e.substr(0,6)){if("V"==e.charAt(0)){var n=this.readInt(t+"[id]");if(481674261!=n)throw new Error("Invalid vector constructor "+n)}var r=this.readInt(t+"[count]"),o=[];if(r>0)for(var s=e.substr(7,e.length-8),i=0;r>i;i++)o.push(this.fetchObject(s,t+"["+i+"]"));return o}var a=this.mtproto?Config.Schema.MTProto:Config.Schema.API,c=!1,h=!1;if("%"==e.charAt(0)){var f=e.substr(1);for(i=0;i<a.constructors.length;i++)if(a.constructors[i].type==f){h=a.constructors[i];break}if(!h)throw new Error("Constructor not found for type: "+e)}else if(e.charAt(0)>=97&&e.charAt(0)<=122){for(i=0;i<a.constructors.length;i++)if(a.constructors[i].predicate==e){h=a.constructors[i];break}if(!h)throw new Error("Constructor not found for predicate: "+e)}else{var n=this.readInt(t+"[id]"),u=uintToInt(n);if(812830625==u){var g=this.fetchBytes(t+"[packed_string]"),d=gzipUncompress(g),l=bytesToArrayBuffer(d),p=new TLDeserialization(l);return p.fetchObject(e,t)}for(i=0;i<a.constructors.length;i++)if(a.constructors[i].id==u){h=a.constructors[i];break}var y=!1;if(!h&&this.mtproto){var m=Config.Schema.API;for(i=0;i<m.constructors.length;i++)if(m.constructors[i].id==u){h=m.constructors[i],delete this.mtproto,y=!0;break}}if(!h)throw new Error("Constructor not found: "+n)}c=h.predicate;var o={_:c},v=this;return angular.forEach(h.params,function(e){o[e.name]=v.fetchObject(e.type,t+"["+c+"]["+e.name+"]")}),y&&(this.mtproto=!0),o},TLDeserialization.prototype.getOffset=function(){return this.offset},TLDeserialization.prototype.fetchEnd=function(){if(this.offset!=this.byteView.length)throw new Error("Fetch end with non-empty buffer");return!0},"undefined"!=typeof angular&&angular.module("mtproto.services",["myApp.services"]).factory("MtpDcConfigurator",function(){function e(e){if(void 0===n[e]){var r,o,s=!1;for(r=0;r<t.length;r++)o=t[r],o.id==e&&(s=o.host+":"+o.port);n[e]=s}return n[e]}var t=window._testMode?[{id:1,host:"173.240.5.253",port:80},{id:2,host:"109.239.131.195",port:80},{id:3,host:"174.140.142.5",port:80}]:[{id:1,host:"173.240.5.1",port:80},{id:2,host:"109.239.131.193",port:80},{id:3,host:"174.140.142.6",port:80},{id:4,host:"31.210.235.12",port:80},{id:5,host:"116.51.22.2",port:80}],n={};return{chooseServer:e}}).factory("MtpRsaKeysManager",function(){function e(){if(!o){for(var e=0;e<n.length;e++){var t=n[e],s=new TLSerialization;s.storeBytes(bytesFromHex(t.modulus),"n"),s.storeBytes(bytesFromHex(t.exponent),"e");var i=s.getBuffer(),a=sha1Hash(i).slice(-8);a.reverse();var c=new BigInteger(a).toString(16);r[c]={modulus:t.modulus,exponent:t.exponent}}o=!0}}function t(t){e();var n,o,s;for(s=0;s<t.length;s++)if(n=bigStringInt(t[s]).toString(16),o=r[n])return angular.extend({fingerprint:t[s]},o);return!1}var n=[{modulus:"c150023e2f70db7985ded064759cfecf0af328e69a41daf4d6f01b538135a6f91f8f8b2a0ec9ba9720ce352efcf6c5680ffc424bd634864902de0b4bd6d49f4e580230e3ae97d95c8b19442b3c0a10d8f5633fecedd6926a7f6dab0ddb7d457f9ea81b8465fcd6fffeed114011df91c059caedaf97625f6c96ecc74725556934ef781d866b34f011fce4d835a090196e9a5f0e4449af7eb697ddb9076494ca5f81104a305b6dd27665722c46b60e5df680fb16b210607ef217652e60236c255f6a28315f4083a96791d7214bf64c1df4fd0db1944fb26a2a57031b32eee64ad15a8ba68885cde74a5bfc920f6abf59ba5c75506373e7130f9042da922179251f",exponent:"010001"}],r={},o=!1;return{prepare:e,select:t}}).service("MtpSecureRandom",function(){return new SecureRandom}).factory("MtpMessageIdGenerator",["AppConfigManager",function(e){function t(){var e=tsNow(),t=Math.floor(e/1e3)+o,n=e%1e3,s=nextRandomInt(65535),i=[t,n<<21|s<<3|4];return(r[0]>i[0]||r[0]==i[0]&&r[1]>=i[1])&&(i=[r[0],r[1]+4]),r=i,longFromInts(i[0],i[1])}function n(t,n){var s=t-Math.floor((n||tsNow())/1e3),i=Math.abs(o-s)>10;return e.set({server_time_offset:s}),r=[0,0],o=s,console.log("Apply server time",t,n,s,i),i}var r=[0,0],o=0;return e.get("server_time_offset").then(function(e){e&&(o=e)}),{generateID:t,applyServerTime:n}}]).factory("MtpAuthorizer",["MtpDcConfigurator","MtpRsaKeysManager","MtpSecureRandom","MtpMessageIdGenerator","$http","$q","$timeout",function(e,t,n,r,o,s,i){function a(t,n){var s=n.byteLength,i=new Int32Array(n),a=new TLSerialization;a.storeLongP(0,0,"auth_key_id"),a.storeLong(r.generateID(),"msg_id"),a.storeInt(s,"request_length");var c=a.getBuffer(),h=new Int32Array(c),f=c.byteLength,u=new ArrayBuffer(f+s),g=new Int32Array(u);return g.set(h),g.set(i,h.length),delete o.defaults.headers.post["Content-Type"],delete o.defaults.headers.common.Accept,"ArrayBufferView"in window||(g=g.buffer),o.post("http://"+e.chooseServer(t)+"/apiw1",g,{responseType:"arraybuffer",transformRequest:null,transformResponse:function(e){{var t=new TLDeserialization(e,{mtproto:!0});t.fetchLong("auth_key_id"),t.fetchLong("msg_id"),t.fetchInt("msg_len")}return rng_seed_time(),t}})}function c(e){var n=e.deferred,r=new TLSerialization({mtproto:!0});r.storeMethod("req_pq",{nonce:e.nonce}),console.log(dT(),"Send req_pq",bytesToHex(e.nonce)),a(e.dcID,r.getBuffer()).then(function(r){var o=r.data,s=o.fetchObject("ResPQ");if("resPQ"!=s._)throw new Error("resPQ response invalid: "+s._);if(!bytesCmp(e.nonce,s.nonce))throw new Error("resPQ nonce mismatch");if(e.serverNonce=s.server_nonce,e.pq=s.pq,e.fingerprints=s.server_public_key_fingerprints,console.log(dT(),"Got ResPQ",bytesToHex(e.serverNonce),bytesToHex(e.pq),e.fingerprints),e.publicKey=t.select(e.fingerprints),!e.publicKey)throw new Error("No public key found");if(console.log(dT(),"PQ factorization start"),window.Worker){var i=new Worker("js/lib/pq_worker.js");i.onmessage=function(t){e.p=t.data[0],e.q=t.data[1],console.log(dT(),"PQ factorization done"),h(e)},i.onerror=function(e){console.log("Worker error",e,e.stack),n.reject(e)},i.postMessage(e.pq)}else{var a=pqPrimeFactorization(e.pq);e.p=a[0],e.q=a[1],console.log(dT(),"PQ factorization done"),h(e)}},function(e){n.reject(e)}),i(function(){t.prepare()})}function h(e){var t=e.deferred;e.newNonce=new Array(32),n.nextBytes(e.newNonce);var r=new TLSerialization({mtproto:!0});r.storeObject({_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},"P_Q_inner_data","DECRYPTED_DATA");var o=sha1Hash(r.getBuffer()).concat(r.getBytes()),s=new TLSerialization({mtproto:!0});s.storeMethod("req_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:rsaEncrypt(e.publicKey,o)}),console.log(dT(),"Send req_DH_params"),a(e.dcID,s.getBuffer()).then(function(n){var r=n.data,o=r.fetchObject("Server_DH_Params","RESPONSE");if("server_DH_params_fail"!=o._&&"server_DH_params_ok"!=o._)return t.reject(new Error("Server_DH_Params response invalid: "+o._)),!1;if(!bytesCmp(e.nonce,o.nonce))return t.reject(new Error("Server_DH_Params nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,o.server_nonce))return t.reject(new Error("Server_DH_Params server_nonce mismatch")),!1;if("server_DH_params_fail"==o._){var s=sha1Hash(e.newNonce).slice(-16);return bytesCmp(s,o.new_nonce_hash)?(t.reject(new Error("server_DH_params_fail")),!1):(t.reject(new Error("server_DH_params_fail new_nonce_hash mismatch")),!1)}try{f(e,o.encrypted_answer)}catch(i){return t.reject(i),!1}u(e)},function(e){t.reject(e)})}function f(e,t){e.localTime=tsNow(),e.tmpAesKey=sha1Hash(e.newNonce.concat(e.serverNonce)).concat(sha1Hash(e.serverNonce.concat(e.newNonce)).slice(0,12)),e.tmpAesIv=sha1Hash(e.serverNonce.concat(e.newNonce)).slice(12).concat(sha1Hash([].concat(e.newNonce,e.newNonce)),e.newNonce.slice(0,4));var n=aesDecrypt(t,e.tmpAesKey,e.tmpAesIv),o=n.slice(0,20),s=n.slice(20),i=bytesToArrayBuffer(s),a=new TLDeserialization(i,{mtproto:!0}),c=a.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=c._)throw new Error("server_DH_inner_data response invalid: "+constructor);if(!bytesCmp(e.nonce,c.nonce))throw new Error("server_DH_inner_data nonce mismatch");if(!bytesCmp(e.serverNonce,c.server_nonce))throw new Error("server_DH_inner_data serverNonce mismatch");console.log(dT(),"Done decrypting answer"),e.g=c.g,e.dhPrime=c.dh_prime,e.gA=c.g_a,e.serverTime=c.server_time,e.retry=0;var h=a.getOffset();if(!bytesCmp(o,sha1Hash(s.slice(0,h))))throw new Error("server_DH_inner_data SHA1-hash mismatch");r.applyServerTime(e.serverTime,e.localTime)}function u(e){var t=e.deferred;e.b=new Array(256),n.nextBytes(e.b);var r=new BigInteger(e.b),o=new BigInteger(e.dhPrime),s=bytesFromBigInt(bigint(e.g).modPow(r,o)),i=new TLSerialization({mtproto:!0});i.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:s},"Client_DH_Inner_Data");var c=sha1Hash(i.getBuffer()).concat(i.getBytes()),h=aesEncrypt(c,e.tmpAesKey,e.tmpAesIv),f=new TLSerialization({mtproto:!0});f.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:h}),console.log(dT(),"Send set_client_DH_params"),a(e.dcID,f.getBuffer()).then(function(n){var r=n.data,o=r.fetchObject("Set_client_DH_params_answer");if("dh_gen_ok"!=o._&&"dh_gen_retry"!=o._&&"dh_gen_fail"!=o._)return t.reject(new Error("Set_client_DH_params_answer response invalid: "+o._)),!1;if(!bytesCmp(e.nonce,o.nonce))return t.reject(new Error("Set_client_DH_params_answer nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,o.server_nonce))return t.reject(new Error("Set_client_DH_params_answer server_nonce mismatch")),!1;var s=new BigInteger(e.b),i=new BigInteger(e.dhPrime),a=bytesFromBigInt(new BigInteger(e.gA).modPow(s,i)),c=sha1Hash(a),h=c.slice(0,8),f=c.slice(-8);switch(console.log(dT(),"Got Set_client_DH_params_answer",o._),o._){case"dh_gen_ok":var g=sha1Hash(e.newNonce.concat([1],h)).slice(-16);if(!bytesCmp(g,o.new_nonce_hash1))return t.reject(new Error("Set_client_DH_params_answer new_nonce_hash1 mismatch")),!1;var d=bytesXor(e.newNonce.slice(0,8),e.serverNonce.slice(0,8));e.authKeyID=f,e.authKey=a,e.serverSalt=d,t.resolve(e);break;case"dh_gen_retry":var l=sha1Hash(e.newNonce.concat([2],h)).slice(-16);return bytesCmp(l,o.new_nonce_hash2)?u(e):(t.reject(new Error("Set_client_DH_params_answer new_nonce_hash2 mismatch")),!1);case"dh_gen_fail":var p=sha1Hash(e.newNonce.concat([3],h)).slice(-16);return bytesCmp(p,o.new_nonce_hash3)?(t.reject(new Error("Set_client_DH_params_answer fail")),!1):(t.reject(new Error("Set_client_DH_params_answer new_nonce_hash3 mismatch")),!1)}},function(e){t.reject(e)})}function g(t){if(void 0!==d[t])return d[t];for(var n=[],r=0;16>r;r++)n.push(nextRandomInt(255));if(!e.chooseServer(t))return s.reject(new Error("No server found for dc "+t));var o={dcID:t,nonce:n,deferred:s.defer()};return i(function(){c(o)}),d[t]=o.deferred.promise}var d={};return{auth:g}}]).factory("MtpAesService",["$q",function(e){return{encrypt:function(t,n,r){return e.when(aesEncrypt(t,n,r))},decrypt:function(t,n,r){return e.when(aesDecrypt(t,n,r))}}}]).factory("MtpSha1Service",["$q",function(e){return{hash:function(t){var n=e.defer();return setTimeout(function(){n.resolve(sha1Hash(t))},0),n.promise}}}]).factory("MtpNetworkerFactory",["MtpDcConfigurator","MtpMessageIdGenerator","MtpSecureRandom","MtpSha1Service","MtpAesService","AppConfigManager","$http","$q","$timeout","$interval","$rootScope",function(e,t,n,r,o,s,i,a,c,h,f){function u(e,t,n,r){r=r||{},this.dcID=e,this.iii=d++,this.authKey=t,this.authKeyID=sha1Hash(t).slice(-8),this.serverSalt=n,this.upload=r.fileUpload||r.fileDownload||!1,this.updateSession(),this.currentRequests=0,this.checkConnectionPeriod=0,this.sentMessages={},this.serverMessages=[],this.clientMessages=[],this.pendingMessages={},this.pendingAcks=[],this.pendingResends=[],this.connectionInited=!1,this.pendingTimeouts=[],this.longPollInt=h(this.checkLongPoll.bind(this),1e4),this.checkLongPoll(),l||(l=!0,f.offline=!0,f.offlineConnecting=!0)}var g,d=0,l=!1;return f.retryOnline=function(){$(document.body).trigger("online")},u.prototype.updateSession=function(){console.log(dT(),"Update session"),this.seqNo=0,this.sessionID=new Array(8),n.nextBytes(this.sessionID)},u.prototype.updateSentMessage=function(e){var n=this.sentMessages[e];if(!n)return!1;var r=this;if(n.container){var o=[];angular.forEach(n.inner,function(e){var t=r.updateSentMessage(e);t&&o.push(t.msg_id)}),n.inner=o}return n.msg_id=t.generateID(),n.seq_no=this.generateSeqNo(n.notContentRelated||n.container),this.sentMessages[n.msg_id]=n,delete r.sentMessages[e],n},u.prototype.generateSeqNo=function(e){var t=2*this.seqNo;return e||(t++,this.seqNo++),t},u.prototype.wrapMtpCall=function(e,n,r){var o=new TLSerialization({mtproto:!0});o.storeMethod(e,n);var s=t.generateID(),i=this.generateSeqNo(),a={msg_id:s,seq_no:i,body:o.getBytes()};return window._debugMode&&console.log(dT(),"MT call",e,n,s,i),this.pushMessage(a,r)},u.prototype.wrapMtpMessage=function(e,n){n=n||{};var r=new TLSerialization({mtproto:!0});r.storeObject(e,"Object");var o=t.generateID(),s=this.generateSeqNo(n.notContentRelated),i={msg_id:o,seq_no:s,body:r.getBytes()};return window._debugMode&&console.log(dT(),"MT message",e,o,s),this.pushMessage(i,n)},u.prototype.wrapApiCall=function(e,n,r){var o=new TLSerialization(r);this.connectionInited||(o.storeInt(3718647100,"invokeWithLayer12"),o.storeInt(1769565673,"initConnection"),o.storeInt(2496,"api_id"),o.storeString(navigator.userAgent||"Unknown UserAgent","device_model"),o.storeString(navigator.platform||"Unknown Platform","system_version"),o.storeString("0.1","app_version"),o.storeString(navigator.language||"en","lang_code")),r.afterMessageID&&(o.storeInt(3416209197,"invokeAfterMsg"),o.storeLong(r.afterMessageID,"msg_id")),o.storeMethod(e,n);var s=t.generateID(),i=this.generateSeqNo(),a={msg_id:s,seq_no:i,body:o.getBytes(),isAPI:!0};return window._debugMode?console.log(dT(),"Api call",e,n,s,i,r):console.log(dT(),"Api call",e,s,i),this.pushMessage(a,r)},u.prototype.checkLongPoll=function(){var e=this.cleanupSent();if(this.longPollPending&&tsNow()<this.longPollPending||this.offline)return!1;var t=this;s.get("dc").then(function(n){(!e||n==t.dcID&&!t.upload)&&t.sendLongPoll()})},u.prototype.sendLongPoll=function(){var e=25e3,t=this;this.longPollPending=tsNow()+e,this.wrapMtpCall("http_wait",{max_delay:0,wait_after:0,max_wait:e},{noResponse:!0,longPoll:!0}).then(function(){delete t.longPollPending,c(t.checkLongPoll.bind(t),0)},function(){console.log("Long-poll failed")})},u.prototype.pushMessage=function(e,t){var n=a.defer();return this.sentMessages[e.msg_id]=angular.extend(e,t||{},{deferred:n}),this.pendingMessages[e.msg_id]=0,t&&t.noShedule||this.sheduleRequest(),angular.isObject(t)&&(t.messageID=e.msg_id),n.promise},u.prototype.pushResend=function(e,t){var n=t?tsNow()+t:0,r=this.sentMessages[e];if(r.container)for(var o=0;o<r.inner.length;o++)this.pendingMessages[r.inner[o]]=n;else this.pendingMessages[e]=n;this.sheduleRequest(t)},u.prototype.getMsgKeyIv=function(e,t){var n=this.authKey,o=t?0:8,s={sha1a:r.hash(e.concat(n.slice(o,o+32))),sha1b:r.hash(n.slice(32+o,48+o).concat(e,n.slice(48+o,64+o))),sha1c:r.hash(n.slice(64+o,96+o).concat(e)),sha1d:r.hash(e.concat(n.slice(96+o,128+o)))};return a.all(s).then(function(e){var t=e.sha1a.slice(0,8).concat(e.sha1b.slice(8,20),e.sha1c.slice(4,16)),n=e.sha1a.slice(8,20).concat(e.sha1b.slice(0,8),e.sha1c.slice(16,20),e.sha1d.slice(0,8));return[t,n]})},u.prototype.checkConnection=function(e){f.offlineConnecting=!0,console.log(dT(),"Check connection",e),c.cancel(this.checkConnectionPromise);var n=new TLSerialization({mtproto:!0}),r=[nextRandomInt(4294967295),nextRandomInt(4294967295)];n.storeMethod("ping",{ping_id:r});var o={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),body:n.getBytes()},s=this;this.sendEncryptedRequest(o).then(function(){delete f.offlineConnecting,s.toggleOffline(!1)},function(){console.log(dT(),"Delay ",1e3*s.checkConnectionPeriod),s.checkConnectionPromise=c(s.checkConnection.bind(s),parseInt(1e3*s.checkConnectionPeriod)),s.checkConnectionPeriod=Math.min(60,1.5*s.checkConnectionPeriod),c(function(){delete f.offlineConnecting},1e3)})},u.prototype.toggleOffline=function(e){return void 0!==this.offline&&this.offline==e?!1:(this.offline=e,f.offline=e,f.offlineConnecting=!1,void(this.offline?(c.cancel(this.nextReqPromise),delete this.nextReq,this.checkConnectionPeriod<1.5&&(this.checkConnectionPeriod=0),this.checkConnectionPromise=c(this.checkConnection.bind(this),parseInt(1e3*this.checkConnectionPeriod)),this.checkConnectionPeriod=Math.min(60,1.5*(1+this.checkConnectionPeriod)),this.onOnlineCb=this.checkConnection.bind(this),$(document.body).on("online",this.onOnlineCb)):(delete this.longPollPending,this.checkLongPoll(),this.sheduleRequest(),this.onOnlineCb&&$(document.body).off("online",this.onOnlineCb),c.cancel(this.checkConnectionPromise))))},u.prototype.performSheduledRequest=function(){if(this.offline)return console.log(dT(),"Cancel sheduled"),!1;if(delete this.nextReq,this.pendingAcks.length){for(var e=[],n=0;n<this.pendingAcks.length;n++)e.push(this.pendingAcks[n]);this.wrapMtpMessage({_:"msgs_ack",msg_ids:e},{notContentRelated:!0,noShedule:!0})}if(this.pendingResends.length){for(var r=[],n=0;n<this.pendingResends.length;n++)r.push(this.pendingResends[n]);this.wrapMtpMessage({_:"msg_resend_req",msg_ids:r},{noShedule:!0})}var o,s=[],i=0,a=tsNow(),c=!1,h=!1,f=this;if(angular.forEach(this.pendingMessages,function(e,t){(!e||e>=a)&&((o=f.sentMessages[t])&&(s.push(o),i+=o.body.length+32,o.isAPI?c=!0:o.longPoll&&(h=!0)),delete f.pendingMessages[t])}),c&&!h){var u=new TLSerialization({mtproto:!0});u.storeMethod("http_wait",{max_delay:0,wait_after:0,max_wait:25e3}),s.push({msg_id:t.generateID(),seq_no:this.generateSeqNo(),body:u.getBytes()})}if(s.length){var g=[];if(s.length>1){var d=new TLSerialization({mtproto:!0,startMaxLength:i+64});d.storeInt(1945237724,"CONTAINER[id]"),d.storeInt(s.length,"CONTAINER[count]");for(var l=[],n=0;n<s.length;n++)d.storeLong(s[n].msg_id,"CONTAINER["+n+"][msg_id]"),l.push(s[n].msg_id),d.storeInt(s[n].seq_no,"CONTAINER["+n+"][seq_no]"),d.storeInt(s[n].body.length,"CONTAINER["+n+"][bytes]"),d.storeRawBytes(s[n].body,"CONTAINER["+n+"][body]"),s[n].noResponse&&g.push(s[n].msg_id);var p={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),container:!0,inner:l};o=angular.extend({body:d.getBytes()},p),this.sentMessages[o.msg_id]=p,window._debugMode&&console.log(dT(),"Container",l,o.msg_id,o.seq_no)}else o.noResponse&&g.push(o.msg_id),this.sentMessages[o.msg_id]=o;this.pendingAcks=[];var f=this;this.sendEncryptedRequest(o).then(function(e){f.toggleOffline(!1),f.parseResponse(e.data).then(function(e){window._debugMode&&console.log(dT(),"Server response",f.dcID,e),f.processMessage(e.response,e.messageID,e.sessionID),angular.forEach(g,function(e){if(f.sentMessages[e]){var t=f.sentMessages[e].deferred;delete f.sentMessages[e],t.resolve()}}),f.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){f.pendingMessages[e]=0}),delete f.sentMessages[o.msg_id]):f.pendingMessages[o.msg_id]=0,angular.forEach(g,function(e){if(f.sentMessages[e]){var t=f.sentMessages[e].deferred;delete f.sentMessages[e],delete f.pendingMessages[e],t.reject()}}),f.toggleOffline(!0)})}},u.prototype.getEncryptedMessage=function(e){var t=this;return r.hash(e).then(function(n){var r=n.slice(-16);return t.getMsgKeyIv(r,!0).then(function(t){return o.encrypt(e,t[0],t[1]).then(function(e){return{bytes:e,msgKey:r}})})})},u.prototype.getDecryptedMessage=function(e,t){return this.getMsgKeyIv(e,!1).then(function(e){return o.decrypt(t,e[0],e[1])})},u.prototype.sendEncryptedRequest=function(t){var n=this,r=new TLSerialization({startMaxLength:t.body.length+64});return r.storeIntBytes(this.serverSalt,64,"salt"),r.storeIntBytes(this.sessionID,64,"session_id"),r.storeLong(t.msg_id,"message_id"),r.storeInt(t.seq_no,"seq_no"),r.storeInt(t.body.length,"message_data_length"),r.storeRawBytes(t.body,"message_data"),this.getEncryptedMessage(r.getBytes()).then(function(t){var r=new TLSerialization({startMaxLength:t.bytes.length+256});r.storeIntBytes(n.authKeyID,64,"auth_key_id"),r.storeIntBytes(t.msgKey,128,"msg_key"),r.storeRawBytes(t.bytes,"encrypted_data"),delete i.defaults.headers.post["Content-Type"],delete i.defaults.headers.common.Accept;var o=r.getArray();return"ArrayBufferView"in window||(o=o.buffer),i.post("http://"+e.chooseServer(n.dcID)+"/apiw1",o,{responseType:"arraybuffer",transformRequest:null})})},u.prototype.parseResponse=function(e){var t=new TLDeserialization(e),n=t.fetchIntBytes(64,"auth_key_id");if(!bytesCmp(n,this.authKeyID))throw new Error("Invalid server auth_key_id: "+bytesToHex(n));var o=t.fetchIntBytes(128,"msg_key"),s=e.byteLength-t.getOffset(),i=t.fetchRawBytes(s,"encrypted_data");return this.getDecryptedMessage(o,i).then(function(e){var t=bytesToArrayBuffer(e),n=new TLDeserialization(t,{mtproto:!0}),s=(n.fetchIntBytes(64,"salt"),n.fetchIntBytes(64,"session_id")),i=n.fetchLong("message_id"),a=n.fetchInt("seq_no"),c=n.fetchRawBytes(!1,"message_data"),h=n.getOffset();return r.hash(e.slice(0,h)).then(function(e){if(!bytesCmp(o,e.slice(-16)))throw new Error("server msgKey mismatch");var t=bytesToArrayBuffer(c),n=new TLDeserialization(t,{mtproto:!0}),r=n.fetchObject("","INPUT");return{response:r,messageID:i,sessionID:s,seqNo:a}})})},u.prototype.applyServerSalt=function(e){var t=longToBytes(e),n={};return n["dc"+this.dcID+"_server_salt"]=bytesToHex(t),s.set(n),this.serverSalt=t,!0},u.prototype.sheduleRequest=function(e){this.offline&&this.checkConnection("forced shedule");var t=tsNow()+e;return e&&this.nextReq&&this.nextReq<=t?!1:(c.cancel(this.nextReqPromise),this.nextReqPromise=c(this.performSheduledRequest.bind(this),e||0),void(this.nextReq=t))},u.prototype.onSessionCreate=function(e){console.log(dT(),"New session created",bytesToHex(e))},u.prototype.ackMessage=function(e){this.pendingAcks.push(e),this.sheduleRequest(3e4)},u.prototype.reqResendMessage=function(e){console.log(dT(),"Req resend",e),this.pendingResends.push(e),this.sheduleRequest(100)},u.prototype.cleanupSent=function(){var e=this,t=!1;return angular.forEach(this.sentMessages,function(n,r){if(n.notContentRelated&&void 0===e.pendingMessages[r])delete e.sentMessages[r];else if(n.container){for(var o=0;o<n.inner.length;o++)if(void 0!==e.sentMessages[n.inner[o]])return void(t=!0);delete e.sentMessages[r]}else t=!0}),!t},u.prototype.processMessageAck=function(e){var t=this.sentMessages[e];return t&&!t.acked?(delete t.body,t.acked=!0,!0):!1},u.prototype.processError=function(e){var t=(e.error_message||"").match(/^([A-Z_0-9]+\b)(: (.+))?/)||[];return e.error_code=uintToInt(e.error_code),{code:!e.error_code||e.error_code<=0?500:e.error_code,type:t[1]||"UNKNOWN",description:t[3]||"CODE#"+e.error_code+" "+e.error_message,originalError:e}},u.prototype.processMessage=function(e,n,r){switch(e._){case"msg_container":for(var o=e.messages.length,s=0;o>s;s++)this.processMessage(e.messages[s],n,r);break;case"bad_server_salt":console.log(dT(),"Bad server salt",e);var i=this.sentMessages[e.bad_msg_id];if(!i||i.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad server salt for invalid message");this.applyServerSalt(e.new_server_salt),this.pushResend(e.bad_msg_id),this.ackMessage(n);break;case"bad_msg_notification":console.log(dT(),"Bad msg notification",e);var i=this.sentMessages[e.bad_msg_id];if(!i||i.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad msg notification for invalid message");if(16==e.error_code||17==e.error_code){t.applyServerTime(bigStringInt(n).shiftRight(32).toString(10))&&this.updateSession();var a=this.updateSentMessage(e.bad_msg_id);this.pushResend(a.msg_id),this.ackMessage(n)}break;case"message":this.serverMessages.push(e.msg_id),this.processMessage(e.body,e.msg_id,r);break;case"new_session_created":this.ackMessage(n),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt),this.onSessionCreate(r,n);break;case"msgs_ack":for(var s=0;s<e.msg_ids.length;s++)this.processMessageAck(e.msg_ids[s]);break;case"msg_detailed_info":if(!this.sentMessages[e.msg_id]){this.ackMessage(e.answer_msg_id);break}case"msg_new_detailed_info":this.reqResendMessage(e.answer_msg_id);break;case"rpc_result":this.ackMessage(n);var c=e.req_msg_id,i=this.sentMessages[c];if(this.processMessageAck(c),i){var h=i.deferred;if("rpc_error"==e.result._){var f=this.processError(e.result);console.log(dT(),"Rpc error",f),h&&h.reject(f)}else h&&(window._debugMode?console.log(dT(),"Rpc response",e.result):console.log(dT(),"Rpc response",e.result._),i.deferred.resolve(e.result)),i.isAPI&&(this.connectionInited=!0);delete this.sentMessages[c]}break;default:this.ackMessage(n),g&&g(e)}},{getNetworker:function(e,t,n,r){return new u(e,t,n,r)},setUpdatesProcessor:function(e){g=e}}}]).factory("MtpApiManager",["AppConfigManager","MtpAuthorizer","MtpNetworkerFactory","$q",function(e,t,n,r){function o(t,n){e.set({dc:t,user_auth:angular.extend({dcID:t},n)}),d=t}function s(){return a("auth.logOut").then(function(){e.remove("dc","user_auth"),d=!1},function(t){e.remove("dc","user_auth"),t&&401!=t.code&&e.remove("dc"+d+"_auth_key"),d=!1})}function i(o,s){s=s||{};var i=s.fileUpload||s.fileDownload?u:f;if(!o)throw new Exception("get Networker without dcID");if(void 0!==i[o])return r.when(i[o]);var a="dc"+o+"_auth_key",c="dc"+o+"_server_salt";return e.get(a,c).then(function(h){if(void 0!==i[o])return i[o];var f=h[0],u=h[1];if(f&&512==f.length){var g=bytesFromHex(f),d=bytesFromHex(u);return i[o]=n.getNetworker(o,g,d,s)}return s.createNetworker?t.auth(o).then(function(t){var r={};return r[a]=bytesToHex(t.authKey),r[c]=bytesToHex(t.serverSalt),e.set(r),i[o]=n.getNetworker(o,t.authKey,t.serverSalt,s)},function(e){return console.log("Get networker error",e,e.stack),r.reject(e)}):r.reject({type:"AUTH_KEY_EMPTY",code:401})})}function a(t,n,o){o=o||{};var s,c,h=r.defer();c=(s=o.dcID)?i(s,o):e.get("dc").then(function(e){return i(s=e||1,o)});var f;return c.then(function(c){return(f=c).wrapApiCall(t,n,o).then(function(e){h.resolve(e)},function(u){if(console.error(dT(),"Error",u.code,u.type,d,s),401==u.code&&d&&s!=d){if(void 0===g[s]){var l=r.defer();a("auth.exportAuthorization",{dc_id:s}).then(function(e){a("auth.importAuthorization",{id:e.id,bytes:e.bytes},{dcID:s}).then(function(){l.resolve()},function(e){l.reject(e)})},function(e){l.reject(e)}),g[s]=l.promise}g[s].then(function(){(f=c).wrapApiCall(t,n,o).then(function(e){h.resolve(e)},function(e){h.reject(e)})},function(e){h.reject(e)})}else if(303==u.code){var p=u.type.match(/^(PHONE_MIGRATE_|NETWORK_MIGRATE_)(\d+)/)[2];p!=s&&(o.dcID?o.dcID=p:e.set({dc:d=p}),i(p,o).then(function(e){e.wrapApiCall(t,n,o).then(function(e){h.resolve(e)},function(e){h.reject(e)})}))}else h.reject(u)})},function(e){h.reject(e)}),h.promise}function c(){return e.get("user_auth").then(function(e){return e.id||0})}function h(){return d||!1}var f={},u={},g={},d=!1;return e.get("dc").then(function(e){e&&(d=e)}),{getBaseDcID:h,getUserID:c,invokeApi:a,setUserAuth:o,logOut:s}}]).factory("MtpApiFileManager",["MtpApiManager","$q","$window",function(e,t,n){function r(e,n,r){void 0===v[e]&&(v[e]=[],_[e]=0);var s=v[e],i=t.defer();return s.push({cb:n,deferred:i,activeDelta:r}),o(e),i.promise}function o(e){var t=v[e];if(_[e]>=w||!t||!t.length)return!1;var n=t.shift(),r=n.activeDelta||1;_[e]+=r;b++;n.cb().then(function(t){_[e]-=r,o(e),n.deferred.resolve(t)},function(t){_[e]-=r,o(e),n.deferred.reject(t)})}function s(){if(d)return t.when(d);if(n.requestFileSystem=n.requestFileSystem||n.webkitRequestFileSystem,!n.requestFileSystem)return t.reject({type:"FS_BROWSER_UNSUPPORTED",description:"requestFileSystem not present"});var e=t.defer();return n.requestFileSystem(n.TEMPORARY,5242880,function(t){d=t,e.resolve()},function(t){e.reject(t)}),e.promise}function i(e,n){var r=t.defer();return e.onwriteend=function(){r.resolve()},e.onerror=function(){r.reject()},e.write(new Blob([bytesToArrayBuffer(n)])),r.promise}function a(e){switch(e._){case"inputVideoFileLocation":return"video"+e.id+".mp4";case"inputDocumentFileLocation":return"doc"+e.id;case"inputAudioFileLocation":return"audio"+e.id}return e.volume_id||console.trace("Empty location",e),e.volume_id+"_"+e.local_id+"_"+e.secret+".jpg"}function c(e){if(!e)return!1;var t=a(e);return m[t]||!1}function h(e,n){var r=a(e);if(p[r])return p[r];var o,c=t.defer(),h=function(e){c.reject(e),o&&o.truncate(0),h=angular.noop};return s().then(function(){d.root.getFile(r,{create:!1},function(e){c.resolve(m[r]=e.toURL())},function(){d.root.getFile(r,{create:!0},function(e){e.createWriter(function(t){o=t,i(t,n).then(function(){c.resolve(m[r]=e.toURL())},h)},h)},h)})},h),p[r]=c.promise}function f(n){var o=a(n),c=p[o]||y[o];if(c)return c;var h,f=t.defer(),u=function(e){f.reject(e),h&&h.truncate(0),u=angular.noop},g=function(){d.root.getFile(o,{create:!0},function(t){var s=r(n.dc_id,function(){return e.invokeApi("upload.getFile",{location:angular.extend({},n,{_:"inputFileLocation"}),offset:0,limit:0},{dcID:n.dc_id,fileDownload:!0,createNetworker:!0})});t.createWriter(function(e){h=e,s.then(function(n){i(e,n.bytes).then(function(){f.resolve(m[o]=t.toURL())},u)},u)},u)},u)};return s().then(function(){d.root.getFile(o,{create:!1},function(e){e.file(function(t){t.size?f.resolve(m[o]=e.toURL()):(console.log("Small file empty",t),g())},u)},g)},function(){r(n.dc_id,function(){return e.invokeApi("upload.getFile",{location:angular.extend({},n,{_:"inputFileLocation"}),offset:0,limit:0},{dcID:n.dc_id,fileDownload:!0,createNetworker:!0})}).then(function(e){f.resolve(m[o]="data:image/jpeg;base64,"+bytesToBase64(e.bytes))},u)}),y[o]=f.promise}function u(n,o,c,h,f){f=f||{},console.log(dT(),"Dload file",n,o,c);var u=a(o),g=p[u]||y[u];if(g)return g;var l,v=t.defer(),_=function(e){console.error(e),v.reject(e),l&&l.truncate(0),_=angular.noop},w=function(s){s.createWriter(function(a){l=a;for(var h,g=524288,d=t.when(),p=0;c>p;p+=g)h=t.defer(),function(t,h,d,l){return r(n,function(){return e.invokeApi("upload.getFile",{location:o,offset:h,limit:g},{dcID:n,fileDownload:!0,createNetworker:!0})},6).then(function(e){l.then(function(){return i(a,e.bytes).then(function(){d.resolve()},_).then(function(){t?v.resolve(m[u]=s.toURL(f.mime||"image/jpeg")):v.notify({done:h+g,total:c})})})})}(p+g>=c,p,h,d),d=h.promise},_)};return h?w(h):s().then(function(){d.root.getFile(u,{create:!1},function(e){e.file(function(t){t.size>=c?v.resolve(m[u]=e.toURL()):(console.log("File bad size",t,c),d.root.getFile(u,{create:!0},w,_))},_)},function(){d.root.getFile(u,{create:!0},w,_)})},function(){for(var s,i=[],a=c>30400?524288:4096,h=t.when(),g=0;c>g;g+=a)s=t.defer(),function(t,s,h,g){return r(n,function(){return e.invokeApi("upload.getFile",{location:o,offset:s,limit:a},{dcID:n,fileDownload:!0,createNetworker:!0})},6).then(function(e){g.then(function(){try{if(i.push(bytesToArrayBuffer(e.bytes)),h.resolve(),t){try{var n=new Blob(i,{type:f.mime||"image/jpeg"})}catch(r){window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;var o=new BlobBuilder;angular.forEach(i,function(e){o.append(e)});var n=o.getBlob(f.mime||"image/jpeg")}window.URL=window.URL||window.webkitURL,v.resolve(m[u]=URL.createObjectURL(n))}else v.notify({done:s+a,total:c})}catch(r){_(r)}},_)})}(g+a>=c,g,s,h),h=s.promise}),y[u]=v.promise}function g(n){var r=n.size,o=r>102400?524288:4096,s=Math.ceil(r/o),i=0;if(s>1500)return t.reject({type:"FILE_TOO_BIG"});var a,c=[nextRandomInt(4294967295),nextRandomInt(4294967295)],h=t.defer(),f=function(e){console.error("Error",e),h.reject(e),f=angular.noop},u=0,g={_:"inputFile",id:c,parts:s,name:n.name,md5_checksum:""},d=t.when();for(a=0;r>a;a+=o)!function(a,u){d=d.then(function(){var d=t.defer(),p=new FileReader,y=n.slice(a,a+o);return p.onloadend=function(t){if(t.target.readyState==FileReader.DONE){var n=l=l.then(function(){return e.invokeApi("upload.saveFilePart",{file_id:c,file_part:u,bytes:bytesFromArrayBuffer(t.target.result)},{startMaxLength:o+256,fileUpload:!0})},f);n.then(function(){i++,d.resolve(),i>=s?h.resolve(g):(console.log(dT(),"Progress",i*o/r),h.notify({done:i*o,total:r}))},f)}},p.readAsArrayBuffer(y),d.promise})}(a,u++);return h.promise}var d=!1,l=t.when(),p={},y={},m={},v={},_={},w=5,b=0;return{getCachedFile:c,downloadFile:u,downloadSmallFile:f,saveSmallFile:h,uploadFile:g}}]); |
|
|
function dT(){return"["+(((new Date).getTime()-_logTimer)/1e3).toFixed(3)+"]"}function checkClick(e,t){return 1==e.which&&(e.ctrlKey||e.metaKey)||2==e.which?!0:(t||e.preventDefault(),!1)}function checkDragEvent(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t<e.dataTransfer.types.length;t++)if("Files"==e.dataTransfer.types[t])return!0;return!1}function cancelEvent(e){return e=e||window.event,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}function onCtrlEnter(e,t){$(e).on("keydown",function(e){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}function onContentLoaded(e){setTimeout(e,0)}function tsNow(e){var t=+new Date;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 safeConfirm(e){try{return confirm(e)}catch(t){return!0}}var _logTimer=(new Date).getTime(); |
|
|
"use strict";window._testMode=location.search.indexOf("test=1")>0,window._debugMode=location.search.indexOf("debug=1")>0,window._osX=-1!=(navigator.platform||"").toLowerCase().indexOf("mac")||-1!=(navigator.userAgent||"").toLowerCase().indexOf("mac"),window._retina=window.devicePixelRatio>1,window._osX||$("body").addClass("non_osx"),$("body").addClass(window._retina?"is_2x":"is_1x"),$(window).on("load",function(){setTimeout(function(){window.scrollTo(0,1)},0)}),angular.module("myApp",["ngRoute","ngAnimate","ngSanitize","ui.bootstrap","pasvaz.bindonce","mtproto.services","myApp.filters","myApp.services","myApp.templates","myApp.directives","myApp.controllers"]).config(["$locationProvider","$routeProvider","$compileProvider",function(e,o,i){var t,n,r,a,s,l,m,p={},d={};for(n=0;n<Config.EmojiCategories.length;n++)for(m=Config.EmojiCategorySpritesheetDimens[n][1],t=0;t<Config.EmojiCategories[n].length;t++)a=Config.Emoji[Config.EmojiCategories[n][t]],r=a[1][0],s=Math.floor(t/m),l=t%m,p[":"+r+":"]=[n,s,l,":"+r+":"],d[r]=a[0];$.emojiarea.spritesheetPath="img/emojisprite_!.png",$.emojiarea.spritesheetDimens=Config.EmojiCategorySpritesheetDimens,$.emojiarea.iconSize=20,$.emojiarea.icons=p,$.emojiarea.reverseIcons=d,i.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|filesystem|chrome-extension|app):|data:image\//),i.aHrefSanitizationWhitelist(/^\s*(https?|ftp|file|mailto|blob|filesystem|chrome-extension|app):|data:image\//),o.when("/",{templateUrl:"partials/welcome.html",controller:"AppWelcomeController"}),o.when("/login",{templateUrl:"partials/login.html",controller:"AppLoginController"}),o.when("/im",{templateUrl:"partials/im.html",controller:"AppIMController",reloadOnSearch:!1}),o.otherwise({redirectTo:"/"})}]); |
|
|
"use strict";angular.module("myApp.services",[]).service("AppConfigManager",["$q",function(e){function t(){for(var t=Array.prototype.slice.call(arguments),a=[],o=1==t.length,d=!0,c=0;c<t.length;c++)t[c]=n+t[c];if(angular.forEach(t,function(e){if(void 0!==r[e])a.push(r[e]);else if(s){var t=localStorage.getItem(e);t=void 0===t||null===t?!1:JSON.parse(t),a.push(r[e]=t)}else i?d=!1:a.push(r[e]=!1)}),d)return e.when(o?a[0]:a);var u=e.defer();return chrome.storage.local.get(t,function(e){a=[],angular.forEach(t,function(t){var o=e[t];o=void 0===o||null===o?!1:JSON.parse(o),a.push(r[t]=o)}),u.resolve(o?a[0]:a)}),u.promise}function a(t){var a={};if(angular.forEach(t,function(e,t){a[n+t]=JSON.stringify(e),r[n+t]=e}),s)return angular.forEach(a,function(e,t){localStorage.setItem(t,e)}),e.when();if(!i)return e.when();var o=e.defer();return chrome.storage.local.set(a,function(){o.resolve()}),o.promise}function o(){for(var t=Array.prototype.slice.call(arguments),a=0;a<t.length;a++)t[a]=n+t[a];if(angular.forEach(t,function(e){delete r[e]}),s)return angular.forEach(t,function(e){localStorage.removeItem(e)}),e.when();if(!i)return e.when();var o=e.defer();return chrome.storage.local.remove(t,function(){o.resolve()}),o.promise}var n=window._testMode?"t_":"",r={},i=!!(window.chrome&&chrome.storage&&chrome.storage.local),s=!i&&!!window.localStorage;return{get:t,set:a,remove:o}}]).service("AppUsersManager",["$rootScope","$modal","$modalStack","$filter","MtpApiFileManager","MtpApiManager","RichTextProcessor","SearchIndexManager",function(e,t,a,o,n,r,i,s){function d(){return M?M:M=r.invokeApi("contacts.getContacts",{hash:""}).then(function(e){var t,a;A=[],l(e.users);for(var a=0;a<e.contacts.length;a++)t=e.contacts[a].user_id,A.push(t),s.indexObject(t,c(t),U);return A})}function c(e){var t=S[e];return t?(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||""):!1}function u(e){return d().then(function(t){if(angular.isString(e)&&e.length){for(var a=s.search(e,U),o=[],n=0;n<t.length;n++)a[t[n]]&&o.push(t[n]);t=o}return t})}function l(e){angular.forEach(e,p)}function p(e){angular.isObject(e)&&(e.phone&&(e.rPhone=o("phoneNumber")(e.phone)),e.first_name?(e.rFirstName=i.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=i.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0})):(e.rFirstName=i.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"DELETED",e.rFullName=i.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"DELETED"),e.sortName=s.cleanSearchText(e.first_name+" "+(e.last_name||"")),e.sortStatus=e.status&&(e.status.expires||e.status.was_online)||0,void 0===S[e.id]?S[e.id]=e:safeReplaceObject(S[e.id],e),void 0!==D[e.id]&&safeReplaceObject(D[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0}))}function h(e){return angular.isObject(e)?e:S[e]||{id:e,deleted:!0}}function g(e){return angular.isObject(S[e])}function m(e,t){var a=h(e);if(333e3==e)return{placeholder:"img/placeholders/DialogListAvatarSystem@2x.png"};void 0===D[e]&&(D[e]=a&&a.photo&&a.photo.photo_small||{empty:!0});var o=Math.abs(e)%8+1;return{num:o,placeholder:"img/placeholders/"+t+"Avatar"+o+"@2x.png",location:D[e]}}function f(e){var t=h(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}function _(e){var t=h(e);return t}function v(a){var o=e.$new();o.userID=a;t.open({templateUrl:"partials/user_modal.html",controller:"UserModalController",scope:o,windowClass:"user_modal_window"})}function w(e,t,a){return r.invokeApi("contacts.importContacts",{contacts:[{_:"inputPhoneContact",client_id:"1",phone:e,first_name:t,last_name:a}],replace:!1}).then(function(e){l(e.users);var t=!1;return angular.forEach(e.imported,function(e){b(t=e.user_id,!0)}),t})}function y(e){var t=[];return angular.forEach(e,function(e){t.push({_:"inputUserContact",user_id:e})}),r.invokeApi("contacts.deleteContacts",{id:t},function(){angular.forEach(e,function(e){b(e,!1)})})}function b(e,t){if(angular.isArray(A)){var a=o=A.indexOf(e),o=-1!=a;t!=o&&(t?(A.push(e),s.indexObject(e,c(e),U)):A.splice(a,1))}}var M,A,S={},D={},U=s.createIndex();return e.openUser=v,e.$on("apiUpdate",function(t,a){switch(a._){case"updateUserStatus":var o=a.user_id,n=S[o];n&&(n.status=a.status,n.sortStatus=a.status&&(a.status.expires||a.status.was_online)||0,e.$broadcast("user_update",o));break;case"updateUserPhoto":var o=a.user_id;S[o]&&(safeReplaceObject(S[o].photo,a.photo),void 0!==D[o]&&safeReplaceObject(D[o],a.photo&&a.photo.photo_small||{empty:!0}),e.$broadcast("user_update",o));break;case"updateContactLink":b(a.user_id,"contacts.myLinkContact"==a.my_link._)}}),{getContacts:u,saveApiUsers:l,saveApiUser:p,getUser:h,getUserPhoto:m,getUserString:f,getUserSearchText:c,hasUser:g,importContact:w,deleteContacts:y,wrapForFull:_,openUser:v}}]).service("AppChatsManager",["$rootScope","$modal","MtpApiFileManager","MtpApiManager","AppUsersManager","RichTextProcessor",function(e,t,a,o,n,r){function i(e){angular.forEach(e,s)}function s(e){angular.isObject(e)&&(e.rTitle=r.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"DELETED",void 0===g[e.id]?g[e.id]=e:safeReplaceObject(g[e.id],e),void 0!==m[e.id]&&safeReplaceObject(m[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0}))}function d(e){return g[e]||{id:e,deleted:!0}}function c(e){return angular.isObject(g[e])}function u(e,t){var a=d(e);return void 0===m[e]&&(m[e]=a&&a.photo&&a.photo.photo_small||{empty:!0}),{placeholder:"img/placeholders/"+t+"Avatar"+(Math.abs(e)%4+1)+"@2x.png",location:m[e]}}function l(e){d(e);return"g"+e}function p(e,t){var a=angular.copy(t),r=d(e);return a.participants&&"chatParticipants"==a.participants._&&o.getUserID().then(function(e){angular.forEach(a.participants.participants,function(t){t.user=n.getUser(t.user_id),t.userPhoto=n.getUserPhoto(t.user_id,"User"),t.inviter=n.getUser(t.inviter_id),t.canKick=e!=t.user_id&&(e==a.participants.admin_id||e==t.inviter_id)})}),a.thumb={placeholder:"img/placeholders/GroupAvatar"+(Math.abs(e)%4+1)+"@2x.png",location:r&&r.photo&&r.photo.photo_small,width:120,height:120,size:0},a.peerString=l(e),a.chat=r,a}function h(a){var o=e.$new();o.chatID=a;t.open({templateUrl:"partials/chat_modal.html",controller:"ChatModalController",windowClass:"chat_modal_window",scope:o})}var g={},m={};return e.openChat=h,{saveApiChats:i,saveApiChat:s,getChat:d,getChatPhoto:u,getChatString:l,hasChat:c,wrapForFull:p,openChat:h}}]).service("AppPeersManager",["AppUsersManager","AppChatsManager",function(e,t){return{getInputPeer:function(e){var t="u"==e.charAt(0),a=e.substr(1).split("_");return t?{_:"inputPeerForeign",user_id:a[0],access_hash:a[1]}:{_:"inputPeerChat",chat_id:a[0]}},getInputPeerByID:function(t){return t>0?{_:"inputPeerForeign",user_id:t,access_hash:e.getUser(t).access_hash||0}:0>t?{_:"inputPeerChat",chat_id:-t}:void 0},getPeerSearchText:function(a){var o;if(a>0)o=e.getUserSearchText(a);else if(0>a){var n=t.getChat(-a);o=n.title||""}return o},getOutputPeer:function(e){return e>0?{_:"peerUser",user_id:e}:{_:"peerChat",chat_id:-e}},getPeerID:function(e){if(angular.isObject(e))return e.user_id?e.user_id:-e.chat_id;var t="u"==e.charAt(0),a=e.substr(1).split("_");return t?a[0]:-a[0]||0},getPeer:function(a){return a>0?e.getUser(a):t.getChat(-a)},getPeerPhoto:function(a,o,n){return a>0?e.getUserPhoto(a,o):t.getChatPhoto(-a,n)}}}]).service("SearchIndexManager",function(){function e(){return{shortIndexes:{},fullTexts:{}}}function t(e){e=e.replace(n," ").replace(r,"").toLowerCase();for(var t in i)i.hasOwnProperty(t)&&(e=e.replace(i[t],t));return e}function a(e,a,o){if(void 0!==o.fullTexts[e])return!1;if(a=t(a),!a.length)return!1;var n=o.shortIndexes;o.fullTexts[e]=a,angular.forEach(a.split(" "),function(t){var a,o,r=Math.min(t.length,3);for(o=1;r>=o;o++)a=t.substr(0,o),void 0===n[a]?n[a]=[e]:n[a].push(e)})}function o(e,a){console.time("search");var o=a.shortIndexes,n=a.fullTexts;e=t(e);var r,i,s,d,c,u=e.split(" "),l=!1;for(i=0;i<u.length;i++){if(r=o[u[i].substr(0,3)],!r){l=[];break}(l===!1||l.length>r.length)&&(l=r)}for(r={},s=0;s<l.length;s++){for(c=!0,d=n[l[s]],i=0;i<u.length;i++)if(-1==d.indexOf(u[i])){c=!1;break}c&&(r[l[s]]=!0)}return console.timeEnd("search"),r}var n=/[`~!@#$%^&*()\-_=+\[\]\\|{}'";:\/?.>,<\s]+/g,r=/^\s+|\s$/g,i={a:/[áâäà]/g,e:/[éêëè]/g,i:/[íîïì]/g,o:/[óôöò]/g,u:/[úûüù]/g,c:/ç/g,ss:/ß/g};return{createIndex:e,indexObject:a,cleanSearchText:t,search:o}}).service("AppMessagesManager",["$q","$rootScope","$location","$filter","ApiUpdatesManager","AppUsersManager","AppChatsManager","AppPeersManager","AppPhotosManager","AppVideoManager","AppDocsManager","AppAudioManager","MtpApiManager","MtpApiFileManager","RichTextProcessor","NotificationsManager","SearchIndexManager",function(e,t,a,o,n,r,i,s,d,c,u,l,p,h,g,m,f){function _(t,a,o){var n=R;if(angular.isString(t)&&t.length){if(!o||G.query!==t){G.query=t;var d=f.search(t,B);G.dialogs=[],angular.forEach(R.dialogs,function(e){d[e.peerID]&&G.dialogs.push(e)}),G.count=G.dialogs.length}n=G}else G.query=!1;var c=0;if(a>0)for(c=0;c<n.dialogs.length&&!(a>n.dialogs[c].top_message);c++);return null!==n.count&&n.dialogs.length==n.count||n.dialogs.length>=c+(o||1)?e.when({count:n.count,dialogs:n.dialogs.slice(c,c+(o||20))}):(o=o||20,p.invokeApi("messages.getDialogs",{offset:c,limit:o,max_id:a||0}).then(function(e){if(r.saveApiUsers(e.users),i.saveApiChats(e.chats),D(e.messages),a>0)for(c=0;c<n.dialogs.length&&!(a>n.dialogs[c].top_message);c++);return n.count="messages.dialogsSlice"==e._?e.count:e.dialogs.length,n.dialogs.splice(c,n.dialogs.length-c),angular.forEach(e.dialogs,function(e){var t=s.getPeerID(e.peer),a=s.getPeerSearchText(t);f.indexObject(t,a,B),n.dialogs.push({peerID:t,top_message:e.top_message,unread_count:e.unread_count}),void 0===q[t]&&(q[t]={count:null,history:[e.top_message],pending:[]})}),{count:n.count,dialogs:n.dialogs.slice(c,c+o)}}))}function v(e,t,a,o){return p.invokeApi("messages.getHistory",{peer:e,offset:0,limit:a,max_id:t||0}).then(function(n){r.saveApiUsers(n.users),i.saveApiChats(n.chats),D(n.messages),o.count="messages.messagesSlice"==n._?n.count:n.messages.length;var s=0;if(t>0)for(s=0;s<o.history.length&&!(t>o.history[s]);s++);return o.history.splice(s,o.history.length-s),angular.forEach(n.messages,function(e){o.history.push(e.id)}),a-=n.messages.length,a>0&&o.history.length<o.count?(t=o.history[o.history.length-1],v(e,t,a,o)):!0})}function w(t,a,o){var n=s.getPeerID(t),r=q[n],i=0,d=[];void 0===r?r=q[n]={count:null,history:[],pending:[]}:!a&&r.pending.length&&(d=r.pending.slice());var c=!1;if(!o&&!a){var u=F(n);u&&u[0]&&u[0].unread_count>1&&(c=Math.min(1e3,u[0].unread_count),o=c)}if(a>0)for(i=0;i<r.history.length&&!(a>r.history[i]);i++);return null!==r.count&&r.history.length==r.count||r.history.length>=i+(o||1)?e.when({count:r.count,history:d.concat(r.history.slice(i,i+(o||20))),unreadLimit:c}):(c&&(o=Math.max(20,c+2)),o=o||20,v(t,a,o,r).then(function(){if(i=0,a>0)for(i=0;i<r.history.length&&!(a>r.history[i]);i++);return{count:r.count,history:d.concat(r.history.slice(i,i+o)),unreadLimit:c}}))}function y(e,t,a,o,n){return p.invokeApi("messages.search",{peer:e,q:t||"",filter:a||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:n||20,max_id:o||0}).then(function(e){r.saveApiUsers(e.users),i.saveApiChats(e.chats),D(e.messages);var t="messages.messagesSlice"==e._?e.count:e.messages.length,a=[];return angular.forEach(e.messages,function(e){a.push(e.id)}),{count:t,history:a}})}function b(e){return p.invokeApi("messages.deleteMessages",{id:e}).then(function(e){return n.saveUpdate({_:"updateDeleteMessages",messages:e}),e})}function M(t,a,o){return n.saveSeq(a.seq)?a.offset?p.invokeApi(o,{peer:t,offset:a.offset,max_id:0}).then(function(e){return M(t,e,o)}):e.when():!1}function A(e){var a=s.getPeerID(e),o=q[a],n=F(a);if(!n[0]||!n[0].unread_count){if(!o||!o.history.length)return!1;var r,i,d=!1;for(u=o.history.length;u>=0;u--)if(r=o.history[u],i=T[r],i&&!i.out&&i.unread){d=!0;break}if(!d)return!1}var c=p.invokeApi("messages.readHistory",{peer:e,offset:0,max_id:0}).then(function(t){return M(e,t,"messages.readHistory")}).then(function(){n[0]&&(n[0].unread_count=0,t.$broadcast("dialog_unread",{peerID:a,count:0}))});if(o&&o.history.length){var r,i,u,a,n;for(u=0;u<o.history.length;u++)r=o.history[u],i=T[r],i&&!i.out&&(i.unread=!1,N[r]&&(N[r].unread=!1),z[r]&&(z[r].unread=!1))}return c}function S(e){{var a=s.getPeerID(e);q[a]}return p.invokeApi("messages.deleteHistory",{peer:e,offset:0}).then(function(t){return M(e,t,"messages.deleteHistory")}).then(function(){var e=F(a);e[0]&&R.dialogs.splice(e[1],1),delete q[a],t.$broadcast("dialog_flush",{peerID:a})})}function D(e){angular.forEach(e,function(e){T[e.id]=e,e.media&&"messageMediaPhoto"==e.media._&&d.savePhoto(e.media.photo),e.media&&"messageMediaVideo"==e.media._&&c.saveVideo(e.media.video),e.media&&"messageMediaDocument"==e.media._&&u.saveDoc(e.media.document),e.media&&"messageMediaAudio"==e.media._&&l.saveAudio(e.media.audio),e.action&&"messageActionChatEditPhoto"==e.action._&&d.savePhoto(e.action.photo)})}function U(e,a){var o,r=V--,i=[nextRandomInt(4294967295),nextRandomInt(4294967295)],d=bigint(i[0]).shiftLeft(32).add(bigint(i[1])).toString(),c=q[e],u=s.getInputPeerByID(e);void 0===c&&(c=q[e]={count:null,history:[],pending:[]}),p.getUserID().then(function(l){o={_:"message",id:r,from_id:l,to_id:s.getOutputPeer(e),out:!0,unread:!0,date:tsNow()/1e3,message:a,media:{_:"messageMediaEmpty"},random_id:d,pending:!0};var h=function(e){var t=N[r];e?(o.error=!0,t&&(t.error=!0)):(delete o.error,t&&delete t.error)};o.send=function(){h(!1);var t={};H[e]&&(t.afterMessageID=H[e].messageID),p.invokeApi("messages.sendMessage",{peer:u,message:a,random_id:i},t).then(function(a){H[e]===t&&delete H[e],n.saveSeq(a.seq)&&(n.saveUpdate({_:"updateMessageID",random_id:d,id:a.id}),o.date=a.date,o.id=a.id,n.saveUpdate({_:"updateNewMessage",message:o,pts:a.pts}))},function(){h(!0)}),H[e]=t},D([o]),c.pending.unshift(r),t.$broadcast("history_append",{peerID:e,messageID:r,my:!0}),o.send()}),j[d]=[e,r]}function $(e,a,o){o=o||{};var r,i,d=V--,c=[nextRandomInt(4294967295),nextRandomInt(4294967295)],u=bigint(c[0]).shiftLeft(32).add(bigint(c[1])).toString(),l=q[e],g=s.getInputPeerByID(e);o.isMedia?["image/jpeg","image/gif","image/png","image/bmp"].indexOf(a.type)>=0?(r="photo",i="photo."+a.type.split("/")[1]):"video/"==a.type.substr(0,6)?(r="video",i="video.mp4"):"audio/mpeg"==a.type||"audio/mp3"==a.type?(r="audio",i="audio.mp3"):(r="document",i="document."+a.type.split("/")[1]):(r="document",i="document."+a.type.split("/")[1]),a.name||(a.name=i),void 0===l&&(l=q[e]={count:null,history:[],pending:[]}),p.getUserID().then(function(o){var i={_:"messageMediaPending",type:r,file_name:a.name,size:a.size,progress:{percent:1,total:a.size}},m={_:"message",id:d,from_id:o,to_id:s.getOutputPeer(e),out:!0,unread:!0,date:tsNow()/1e3,message:"",media:i,random_id:u,pending:!0},f=function(e){var t=N[d];e?(m.error=!0,t&&(t.error=!0)):(delete m.error,t&&delete t.error)};m.send=function(){h.uploadFile(a).then(function(e){var t;switch(r){case"photo":t={_:"inputMediaUploadedPhoto",file:e};break;case"video":t={_:"inputMediaUploadedVideo",file:e,duration:0,w:0,h:0};break;case"audio":t={_:"inputMediaUploadedAudio",file:e,duration:0};break;case"document":default:t={_:"inputMediaUploadedDocument",file:e,file_name:a.name,mime_type:a.type}}p.invokeApi("messages.sendMedia",{peer:g,media:t,random_id:c}).then(function(e){n.saveSeq(e.seq)&&(n.saveUpdate({_:"updateMessageID",random_id:u,id:e.message.id}),m.date=e.message.date,m.id=e.message.id,m.media=e.message.media,n.saveUpdate({_:"updateNewMessage",message:m,pts:e.pts}))},function(){f(!0)})},function(){f(!0)},function(a){var o=N[d],n=Math.max(1,Math.floor(100*a.done/a.total));i.progress.done=a.done,i.progress.percent=n,o&&(o.media.progress.done=a.done,o.media.progress.percent=n,t.$broadcast("history_update",{peerID:e}))})},D([m]),l.pending.unshift(d),t.$broadcast("history_append",{peerID:e,messageID:d,my:!0}),m.send()}),j[u]=[e,d]}function k(e,a){var o=V--,r=[nextRandomInt(4294967295),nextRandomInt(4294967295)],i=bigint(r[0]).shiftLeft(32).add(bigint(r[1])).toString(),d=q[e],c=s.getInputPeerByID(e);void 0===d&&(d=q[e]={count:null,history:[],pending:[]}),p.getUserID().then(function(u){var l;switch(a._){case"inputMediaContact":l=angular.extend({},a,{_:"messageMediaContact"})}var h={_:"message",id:o,from_id:u,to_id:s.getOutputPeer(e),out:!0,unread:!0,date:tsNow()/1e3,message:"",media:l,random_id:i,pending:!0},g=function(e){var t=N[o];e?(h.error=!0,t&&(t.error=!0)):(delete h.error,t&&delete t.error)};h.send=function(){p.invokeApi("messages.sendMedia",{peer:c,media:a,random_id:r}).then(function(e){n.saveSeq(e.seq)&&(n.saveUpdate({_:"updateMessageID",random_id:i,id:e.message.id}),h.date=e.message.date,h.id=e.message.id,h.media=e.message.media,n.saveUpdate({_:"updateNewMessage",message:h,pts:e.pts}))},function(){g(!0)})},D([h]),d.pending.unshift(o),t.$broadcast("history_append",{peerID:e,messageID:o,my:!0}),h.send()}),j[i]=[e,o]}function I(e,t){return p.invokeApi("messages.forwardMessages",{peer:s.getInputPeerByID(e),id:t}).then(function(e){r.saveApiUsers(e.users),i.saveApiChats(e.chats),n.saveSeq(e.seq)&&angular.forEach(e.messages,function(t){n.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts})})})}function P(e,t){var a=j[e];if(a){var o,n=a[0],r=a[1],i=q[n],s=!1,d=!1;for(o=0;o<i.pending.length;o++)if(i.pending[o]==r){i.pending.splice(o,1);break}return(s=T[r])&&(delete s.pending,delete s.error,delete s.random_id,delete s.send),(d=N[r])&&(N[t.id]=angular.extend(d,x(t.id)),delete d.pending,delete d.error,delete d.random_id,delete d.send),delete N[r],delete T[r],s}return!1}function C(e){var t=e.to_id&&s.getPeerID(e.to_id)||0;return 0>t?t:e.out?t:e.from_id}function E(e,t){if(void 0!==z[e])return z[e];var a=angular.copy(T[e])||{id:e};return a.fromUser=r.getUser(a.from_id),(a.chatID=a.to_id.chat_id)?(a.peerID=-a.chatID,a.peerData=i.getChat(a.chatID),a.peerString=i.getChatString(a.chatID)):(a.peerID=a.out?a.to_id.user_id:a.from_id,a.peerData=r.getUser(a.peerID),a.peerString=r.getUserString(a.peerID)),a.peerPhoto=s.getPeerPhoto(a.peerID,"User","Group"),a.unreadCount=t,"messageService"==a._&&a.action.user_id&&(a.action.user=r.getUser(a.action.user_id)),a.message&&a.message.length&&(a.richMessage=g.wrapRichText(a.message.substr(0,64),{noLinks:!0,noLinebreaks:!0})),a.dateText=o("dateOrTime")(a.date),z[e]=a}function x(e){if(void 0!==N[e])return N[e];var t=angular.copy(T[e])||{id:e};if(t.fromUser=r.getUser(t.from_id),t.fromPhoto=r.getUserPhoto(t.from_id,"User"),"messageForwarded"==t._&&(t.fwdUser=r.getUser(t.fwd_from_id)),t.media){switch(t.media._){case"messageMediaPhoto":t.media.photo=d.wrapForHistory(t.media.photo.id);break;case"messageMediaVideo":t.media.video=c.wrapForHistory(t.media.video.id);break;case"messageMediaDocument":t.media.document=u.wrapForHistory(t.media.document.id);break;case"messageMediaAudio":t.media.audio=l.wrapForHistory(t.media.audio.id);break;case"messageMediaContact":t.media.rFullName=g.wrapRichText(t.media.first_name+" "+(t.media.last_name||""),{noLinks:!0,noLinebreaks:!0})}t.media.user_id&&(t.media.user=r.getUser(t.media.user_id),t.media.userPhoto=r.getUserPhoto(t.media.user_id,"User"))}else if(t.action){switch(t.action._){case"messageActionChatEditPhoto":t.action.photo=d.wrapForHistory(t.action.photo.id);break;case"messageActionChatCreate":case"messageActionChatEditTitle":t.action.rTitle=g.wrapRichText(t.action.title,{noLinks:!0,noLinebreaks:!0})||"DELETED"}t.action.user_id&&(t.action.user=r.getUser(t.action.user_id),t.action.userPhoto=r.getUserPhoto(t.action.user_id,"User"))}return t.message&&t.message.length&&(t.richMessage=g.wrapRichText(t.message)),N[e]=t}function F(e){for(var t=0;t<R.dialogs.length;t++)if(R.dialogs[t].peerID==e)return[R.dialogs[t],t];return[]}function L(e){var a,o,n=C(e),s=r.getUser(e.from_id),d=r.getUserPhoto(e.from_id,"User"),c={},u=!1;if(e.message)u=e.message;else if(e.media&&"messageMediaEmpty"!=e.media._)switch(e.media._){case"messageMediaPhoto":u="Photo";break;case"messageMediaVideo":u="Video";break;case"messageMediaDocument":u="Document";break;case"messageMediaGeo":u="Location";break;case"messageMediaContact":u="Contact";break;default:u="Attachment"}else if("messageService"==e._)switch(e.action._){case"messageActionChatCreate":u="created the group";break;case"messageActionChatEditTitle":u="changed group name";break;case"messageActionChatEditPhoto":u="changed group photo";break;case"messageActionChatDeletePhoto":u="removed group photo";break;case"messageActionChatAddUser":u="invited user";break;case"messageActionChatDeleteUser":u="kicked user"}n>0?(c.title=(s.first_name||"")+(s.first_name&&s.last_name?" ":"")+(s.last_name||""),o=d,a=r.getUserString(n)):(c.title=(s.first_name||s.last_name||"Somebody")+" @ "+(i.getChat(-n).title||"Unknown chat"),o=i.getChatPhoto(-n,"Group"),a=i.getChatString(-n)),c.onclick=function(){t.$broadcast("history_focus",{peerString:a})},c.message=u,c.image=o.placeholder,c.key="msg"+e.id,o.location&&!o.location.empty?h.downloadSmallFile(o.location,o.size).then(function(t){c.image=t,e.unread&&m.notify(c)}):m.notify(c)}var T={},N={},z={},q={},R={count:null,dialogs:[]},j={},O={},H={},V=-1,B=f.createIndex(),G={query:!1};return m.start(),t.$on("apiUpdate",function(e,a){switch(a._){case"updateMessageID":O[a.id]=a.random_id;break;case"updateNewMessage":var o=a.message,n=C(o),r=q[n];if(void 0!==r){var i=q[n].history[0];if(o.id<=i)return!1}else r=q[n]={count:null,history:[],pending:[]};D([o]),null!==r.count&&r.count++,r.history.unshift(o.id);var d,c=O[o.id];c&&((d=P(c,o))&&t.$broadcast("history_update",{peerID:n}),delete O[o.id]),d||t.$broadcast("history_append",{peerID:n,messageID:o.id});var u,l=F(n);l.length?(u=l[0],R.dialogs.splice(l[1],1)):u={peerID:n,unread_count:0,top_message:!1},!o.out&&o.unread&&u.unread_count++,u.top_message=o.id,f.indexObject(n,s.getPeerSearchText(n),B),R.dialogs.unshift(u),t.$broadcast("dialogs_update",u),t.idle.isIDLE&&!o.out&&o.unread&&m.getPeerMuted(n).then(function(e){o.unread&&!e&&L(o)});break;case"updateReadMessages":var p,o,h,n,l,u,g={};for(h=0;h<a.messages.length;h++)p=a.messages[h],o=T[p],o&&o.unread&&(o.unread=!1,N[p]&&(N[p].unread=!1),z[p]&&(z[p].unread=!1),n=C(o),o.out||(l=F(n),l&&(g[n]=--l[0].unread_count),m.cancel("msg"+p)));angular.forEach(g,function(e,a){t.$broadcast("dialog_unread",{peerID:a,count:e})});break;case"updateDeleteMessages":var p,o,h,n,l,u,_,g={},v={};for(h=0;h<a.messages.length;h++)p=a.messages[h],o=T[p],o&&(n=C(o),_=v[n]||(v[n]={count:0,unread:0,msgs:{}}),!o.out&&o.unread&&(_.unread++,m.cancel("msg"+p)),_.count++,_.msgs[p]=!0,N[p]&&(N[p].DELETED=!0,delete N[p]),z[p]&&(z[p].DELETED=!0,delete z[p]),o.DELETED=!0,delete T[p]);angular.forEach(v,function(e,a){var o=F(a);o&&e.unread&&(o[0].unread_count-=e.unread,t.$broadcast("dialog_unread",{peerID:a,count:o[0].unread_count}));var n=q[a];if(void 0!==n){for(var r=[],i=0;i<n.history.length;i++)e.msgs[n.history[i]]||r.push(n.history[i]);n.history=r,t.$broadcast("history_delete",{peerID:a,msgs:e.msgs})}})}}),{getDialogs:_,getHistory:w,getSearch:y,readHistory:A,flushHistory:S,deleteMessages:b,saveMessages:D,sendText:U,sendFile:$,sendOther:k,forwardMessages:I,getMessagePeer:C,wrapForDialog:E,wrapForHistory:x}}]).service("AppPhotosManager",["$modal","$window","$rootScope","MtpApiFileManager","AppUsersManager",function(e,t,a,o,n){function r(e){l[e.id]=e,angular.forEach(e.sizes,function(e){"photoCachedSize"==e._&&(o.saveSmallFile(e.location,e.bytes),e.size=e.bytes.length,delete e.bytes,e._="photoSize")})}function i(e,t,a){var o={_:"photoSizeEmpty"},n=16777215;return angular.forEach(e.sizes,function(e){var r=Math.abs(e.w*e.h-t*a);n>r&&(o=e,n=r)}),o}function s(e){var t=angular.copy(l[e])||{_:"photoEmpty"},a=260,o=260,n=i(t,a,o),r={placeholder:"img/placeholders/PhotoThumbConversation.gif",width:a,height:o};return n&&"photoSizeEmpty"!=n._?(n.w>n.h?r.height=parseInt(n.h*a/n.w):r.width=parseInt(n.w*o/n.h),r.location=n.location,r.size=n.size):(r.width=100,r.height=100),t.thumb=r,t}function d(e){if(l[e]){var a=l[e],n=$(window).width()-36,r=$(t).height()-150,s=i(a,n,r);s&&!s.preloaded&&(s.preloaded=!0,s.size?o.downloadFile(s.location.dc_id,{_:"inputFileLocation",volume_id:s.location.volume_id,local_id:s.location.local_id,secret:s.location.secret},s.size):o.downloadSmallFile(s.location))}}function c(e){var a=s(e),o=$(window).width()-36,r=$(t).height()-150,d=i(a,o,r),c={placeholder:"img/placeholders/PhotoThumbModal.gif"};return o>800&&(o-=200),c.width=o,c.height=r,d&&"photoSizeEmpty"!=d._&&(d.w/d.h>o/r?c.height=parseInt(d.h*o/d.w):(c.width=parseInt(d.w*r/d.h),c.width>o&&(c.height=parseInt(c.height*o/c.width),c.width=o)),c.width>=d.w&&c.height>=d.h&&(c.width=d.w,c.height=d.h),c.location=d.location,c.size=d.size),a.full=c,a.fromUser=n.getUser(a.user_id),a}function u(t){var o=a.$new(!0);o.photoID=t;e.open({templateUrl:"partials/photo_modal.html",controller:"PhotoModalController",scope:o,windowClass:"photo_modal_window"})}var l={};return a.preloadPhoto=d,a.openPhoto=u,{savePhoto:r,preloadPhoto:d,wrapForHistory:s,wrapForFull:c,openPhoto:u}}]).service("AppVideoManager",["$rootScope","$modal","$window","$timeout","MtpApiFileManager","AppUsersManager",function(e,t,a,o,n,r){function i(e){l[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(n.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize")}function s(e){if(void 0!==p[e])return p[e];var t=angular.copy(l[e]),a=200,o=200,n=t.thumb,r={placeholder:"img/placeholders/VideoThumbConversation.gif",width:a,height:o};return n&&"photoSizeEmpty"!=n._&&(n.w>n.h?r.height=parseInt(n.h*a/n.w):r.width=parseInt(n.w*o/n.h),r.location=n.location,r.size=n.size),t.thumb=r,p[e]=t}function d(e){var t=s(e),o=Math.min($(window).width()-60,542),n=$(a).height()-150,i={placeholder:"img/placeholders/VideoThumbModal.gif",width:o,height:n};return t.w&&t.h?t.w>t.h?i.height=parseInt(t.h*o/t.w):(i.width=parseInt(t.w*n/t.h),i.width>o&&(i.height=parseInt(i.height*o/i.width),i.width=o)):i.height=i.width=Math.min(o,n),t.full=i,t.fullThumb=angular.copy(t.thumb),t.fullThumb.width=i.width,t.fullThumb.height=i.height,t.fromUser=r.getUser(t.user_id),t}function c(a){var o=e.$new(!0);o.videoID=a,o.progress={enabled:!1},o.player={};t.open({templateUrl:"partials/video_modal.html",controller:"VideoModalController",scope:o})}function u(t,a,r){function i(t){console.log("dl progress",t),d.progress.done=t.done,d.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=l[t],d=p[t]||s||{},c={_:"inputVideoFileLocation",id:t,access_hash:a||s.access_hash};d.progress={enabled:!0,percent:1,total:s.size};var u="mp4",h="video/mpeg4",g="video"+t+"."+u;window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry?chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:g,accepts:[{mimeTypes:[h],extensions:[u]}]},function(e){n.downloadFile(s.dc_id,c,s.size,e,{mime:h}).then(function(){delete d.progress,console.log("file save done")},function(e){console.log("video download failed",e),d.progress.enabled=!1},i)}):n.downloadFile(s.dc_id,c,s.size,null,{mime:h}).then(function(e){if(delete d.progress,r)return void window.open(e,"_blank");var t=$("<a>Download</a>").css({position:"absolute",top:1,left:1}).attr("href",e).attr("target","_blank").attr("download",g).appendTo("body");t[0].dataset.downloadurl=[h,g,e].join(":"),t[0].click(),o(function(){t.remove()},100)},function(e){console.log("video download failed",e),d.progress.enabled=!1},i)}var l={},p={};return e.openVideo=c,e.downloadVideo=u,{saveVideo:i,wrapForHistory:s,wrapForFull:d,openVideo:c}}]).service("AppDocsManager",["$rootScope","$modal","$window","$timeout","MtpApiFileManager",function(e,t,a,o,n){function r(e){d[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(n.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize")}function i(e){if(void 0!==c[e])return c[e];var t=angular.copy(d[e]),a=100,o=100,n=t.thumb,r={width:a,height:o};return n&&"photoSizeEmpty"!=n._?(n.w>n.h?r.height=parseInt(n.h*a/n.w):r.width=parseInt(n.w*o/n.h),r.location=n.location,r.size=n.size):r=!1,t.thumb=r,t.canDownload=!(window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry),t.withPreview=t.canDownload&&t.mime_type.match(/^(image\/|application\/pdf)/),c[e]=t}function s(t,a,r){function i(t){console.log("dl progress",t),u.progress.done=t.done,u.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=d[t],u=c[t]||s||{},l={_:"inputDocumentFileLocation",id:t,access_hash:a||s.access_hash};if(u.progress={enabled:!0,percent:1,total:s.size},window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry){var p=(s.file_name.split(".",2)||[])[1]||"";chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:s.file_name,accepts:[{mimeTypes:[s.mime_type],extensions:[p]}]},function(e){n.downloadFile(s.dc_id,l,s.size,e,{mime:s.mime_type}).then(function(){delete u.progress,console.log("file save done")},function(e){console.log("document download failed",e),u.progress.enabled=!1},i)})}else n.downloadFile(s.dc_id,l,s.size,null,{mime:s.mime_type}).then(function(e){if(delete u.progress,r)return void window.open(e,"_blank");var t=$("<a>Download</a>").css({position:"absolute",top:1,left:1}).attr("href",e).attr("target","_blank").attr("download",s.file_name).appendTo("body");t[0].dataset.downloadurl=[s.mime_type,s.file_name,e].join(":"),t[0].click(),o(function(){t.remove()},100)},function(e){console.log("document download failed",e),u.progress.enabled=!1},i)}var d={},c={};return e.downloadDoc=s,{saveDoc:r,wrapForHistory:i,downloadDoc:s}}]).service("AppAudioManager",["$rootScope","$modal","$window","$timeout","$sce","MtpApiFileManager",function(e,t,a,o,n,r){function i(e){c[e.id]=e}function s(e){if(void 0!==u[e])return u[e];var t=angular.copy(c[e]);return u[e]=t}function d(t,a){function i(t){console.log("dl progress",t),d.progress.done=t.done,d.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=c[t],d=u[t]||s||{},l={_:"inputAudioFileLocation",id:t,access_hash:a||s.access_hash};d.progress={enabled:!0,percent:1,total:s.size},r.downloadFile(s.dc_id,l,s.size,null,{mime:"audio/mpeg"}).then(function(t){delete d.progress,d.url=n.trustAsResourceUrl(t),d.autoplay=!0,o(function(){console.log("disable autoplay"),delete d.autoplay,e.$broadcast("history_update")},1e3)},function(e){console.log("document download failed",e),historyDoc.progress.enabled=!1},i)}var c={},u={};return e.openAudio=d,{saveAudio:i,wrapForHistory:s,openAudio:d}}]).service("ExternalResourcesManager",["$q","$http",function(e,t){function a(e){return void 0!==o[e]?o[e]:o[e]=t.get(e,{responseType:"blob",transformRequest:null}).then(function(e){return window.URL=window.URL||window.webkitURL,window.URL.createObjectURL(e.data)})}var o={};return{downloadImage:a}}]).service("ApiUpdatesManager",["$rootScope","MtpNetworkerFactory","AppUsersManager","AppChatsManager","AppPeersManager","MtpApiManager",function(e,t,a,o,n,r){function i(e){if(l.invalid)return!1;if(e.seq){if(!c(e.seq,e.seq_start))return!1;e.date&&(l.date=e.date)}switch(e._){case"updatesTooLong":s();break;case"updateShort":d(e.update);break;case"updatesCombined":case"updates":a.saveApiUsers(e.users),o.saveApiChats(e.chats);for(var t,i,u,t=0;t<e.updates.length;t++)switch(i=e.updates[t],i._){case"updateNewMessage":if(u=i.message,u.from_id&&!a.hasUser(u.from_id))return console.log("User not found",u.from_id,"getDiff"),s(),!1;if(u.to_id.chat_id&&!o.hasChat(u.to_id.chat_id))return console.log("Chat not found",u.to_id.chat_id,"getDiff"),s(),!1}angular.forEach(e.updates,function(e){d(e)});break;case"updateShortMessage":if(!a.hasUser(e.from_id)){console.log("User not found",e.from_id,"getDiff"),s();break}d({_:"updateNewMessage",message:{_:"message",id:e.id,from_id:e.from_id,to_id:n.getOutputPeer(r.getUserID()),out:!1,unread:!0,date:e.date,message:e.message,media:{_:"messageMediaEmpty"}},pts:e.pts}); |
|
|
break;case"updateShortChatMessage":if(!a.hasUser(e.from_id)||!o.hasChat(e.chat_id)){console.log("User or chat not found",e.from_id,e.chat_id,"getDiff"),s();break}d({_:"updateNewMessage",message:{_:"message",id:e.id,from_id:e.from_id,to_id:n.getOutputPeer(-e.chat_id),out:!1,unread:!0,date:e.date,message:e.message,media:{_:"messageMediaEmpty"}},pts:e.pts})}return!0}function s(e){return l.invalid&&!e?!1:(l.invalid=!0,void r.invokeApi("updates.getDifference",{pts:l.pts,date:l.date,qts:0}).then(function(e){if("updates.differenceEmpty"==e._)return l.date=e.date,l.seq=e.seq,delete l.invalid,!1;a.saveApiUsers(e.users),o.saveApiChats(e.chats),angular.forEach(e.other_updates,function(e){d(e,!0)}),angular.forEach(e.new_messages,function(e){d({_:"updateNewMessage",message:e,pts:l.pts},!0)});var t=e.intermediate_state||e.state;l.seq=t.seq,l.pts=t.pts,l.date=t.date,"updates.differenceSlice"==e._?s(!0):delete l.invalid}))}function d(t,a){return l.invalid&&!a?!1:(t.pts&&(l.pts=t.pts),void e.$broadcast("apiUpdate",t))}function c(e,t){return l.invalid?!1:(t=t||e)?t!=l.seq+1?(t>l.seq&&(console.warn("Seq hole",t,l.seq),s()),!1):(l.seq=e,!0):!0}function u(){t.setUpdatesProcessor(i),r.invokeApi("updates.getState").then(function(e){l.seq=e.seq,l.pts=e.pts,l.date=e.date,delete l.invalid})}var l={invalid:!0};return{saveUpdate:d,saveSeq:c,attach:u}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function a(e){return e.replace(/&/g,"&").replace(/([^\#-~| |!])/g,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function o(e){for(var t,a,o,n,r=0;r<Config.EmojiCategories.length;r++)if(n=Config.EmojiCategorySpritesheetDimens[r][1],t=Config.EmojiCategories[r].indexOf(e),t>-1)return a=Math.floor(t/n),o=t%n,{category:r,row:a,column:o};return console.error("emoji not found in spritesheet",e),null}function n(n,i){if(!n||!n.length)return"";i=i||{},n=n.replace(/\ufe0f/g,"",n);for(var p,h,g,m=n,f=[],_=!1;p=m.match(u);)f.push(a(m.substr(0,p.index))),p[1]?i.noLinks?f.push(a(p[0])):p[3]?f.push('<a href="',a("mailto:"+p[3]+p[4]),'" target="_blank">',a(p[3]+p[4]),"</a>"):f.push('<a href="',a(p[2]+"://"+p[4]),'" target="_blank">',a(p[2]+"://"+p[4]),"</a>"):p[5]?f.push(i.noLinebreaks?" ":"<br/>"):p[6]&&((r=s[p[6]])&&(g=o(r))?(h=a(d[r][1][0]),_=!0,f.push('<span class="emoji emoji-',g.category,"-",c*g.column,"-",c*g.row,'" ','title="',h,'">',":",h,":</span>")):f.push(a(p[6]))),m=m.substr(p.index+p[0].length);if(f.push(a(m)),n=t(f.join("")),_&&(n=n.replace(/<span class="emoji emoji-(\d)-(\d+)-(\d+)"(.+?)<\/span>/g,'<span class="emoji emoji-spritesheet-$1" style="background-position: -$2px -$3px;" $4</span>')),!i.noLinks){var v=n.match(l),w=v&&v[1];w&&(n=n+'<div class="im_message_iframe_video"><iframe type="text/html" frameborder="0" src="http://www.youtube.com/embed/'+w+'?autoplay=0&controls=2"></iframe></div>')}return e.trustAs("html",n)}var r,i=[],s={},d=Config.Emoji,c=18;for(r in d)i.push(d[r][0]),s[d[r][0]]=r;var u=new RegExp("((?:(ftp|https?)://|(?:mailto:)?([A-Za-z0-9._%+-]+@))(\\S*\\.\\S*[^\\s.;,(){}<>\"']))|(\\n)|("+i.join("|")+")","i"),l=/(?:https?:\/\/)?(?:www\.)?youtu(?:|.be|be.com|.b)(?:\/v\/|\/watch\\?v=|e\/|\/watch(?:.+)v=)(.{11})(?:\&[^\s]*)?/;return{wrapRichText:n}}]).service("IdleManager",["$rootScope","$window","$timeout",function(e,t,a){function o(){i||(i=!0,$(t).on("blur focus keydown mousedown touchstart",n))}function n(o){"mousemove"==o.type&&$(t).off("mousemove",n);var i="blur"==o.type||"timeout"==o.type?!0:!1;a.cancel(r),i||(r=a(function(){n({type:"timeout"})},3e4)),e.idle.isIDLE!=i&&(e.$apply(function(){e.idle.isIDLE=i}),i&&"timeout"==o.type&&$(t).on("mousemove",n))}e.idle={isIDLE:!1};var r,i=!1;return{start:o}}]).service("StatusManager",["$timeout","$rootScope","MtpApiManager","IdleManager",function(e,t,a){function o(){d||(d=!0,t.$watch("idle.isIDLE",r),t.$watch("offline",r))}function n(e){var o=tsNow();if(!(e&&!s||!e&&5e4>o-s||t.offline))return s=e?0:o,a.invokeApi("account.updateStatus",{offline:e})}function r(){i&&e.cancel(i),t.idle.isIDLE?i=e(function(){n(!0)},5e3):(n(!1),i=e(r,6e4))}var i,s=0,d=!1;return{start:o}}]).service("NotificationsManager",["$rootScope","$window","$timeout","$interval","$q","MtpApiManager","AppPeersManager","IdleManager","AppConfigManager",function(e,t,a,o,n,r,i,s,d){function c(e){return void 0!==A[e]?A[e]:A[e]=r.invokeApi("account.getNotifySettings",{peer:{_:"inputNotifyPeer",peer:i.getInputPeerByID(e)}})}function u(e,t){var a=angular.copy(t);return a._="inputPeerNotifySettings",A[e]=n.when(t),r.invokeApi("account.updateNotifySettings",{peer:{_:"inputNotifyPeer",peer:i.getInputPeerByID(e)},settings:a})}function l(e){return c(e).then(function(e){return"peerNotifySettings"==e._&&1e3*e.mute_until>tsNow()})}function p(){if(!w)return!1;"granted"!==Notification.permission&&"denied"!==Notification.permission&&$(t).on("click",h);try{$(t).on("beforeunload",_)}catch(e){}}function h(){Notification.requestPermission(),$(t).off("click",h)}function g(t){return e.idle.isIDLE?(M++,w&&"granted"===Notification.permission?(d.get("notify_nosound").then(function(e){e||m()}),void d.get("notify_nodesktop").then(function(e){if(!e){var a=++b,o=t.key||"k"+a,n=new Notification(t.title,{icon:t.image||"",body:t.message||""});n.onclick=function(){n.close(),window.chrome&&chrome.app&&chrome.app.window&&chrome.app.window.current().focus(),window.focus(),_(),t.onclick&&t.onclick()},n.onclose=function(){delete y[o],_()},y[o]=n}})):!1):!1}function m(){var e="img/sound_a.wav";$("#notify_sound").html('<audio autoplay="autoplay"><source src="'+e+'" type="audio/mpeg" /><embed hidden="true" autostart="true" loop="false" src="'+e+'" /></audio>')}function f(e){var t=y[e];if(t)try{t.close&&t.close()}catch(a){}}function _(){angular.forEach(y,function(e){try{e.close&&e.close()}catch(t){}}),y={}}var v,w="Notification"in window,y={},b=0,M=0,A={},S=$('link[rel="icon"]'),D=$('<link rel="icon" href="favicon_unread.ico" type="image/x-icon" />'),U=document.title;return e.$watch("idle.isIDLE",function(e){o.cancel(v),e?(U=document.title,v=o(function(){var e=tsNow();!M||e%2e3>1e3?(document.title=U,$('link[rel="icon"]').replaceWith(S)):(document.title=M>1?M+" notifications":"1 notification",$('link[rel="icon"]').replaceWith(D))},1e3)):(M=0,document.title=U,$('link[rel="icon"]').replaceWith(S),_())}),{start:p,notify:g,cancel:f,clear:_,getPeerSettings:c,getPeerMuted:l,savePeerSettings:u}}]).service("ErrorService",["$rootScope","$modal",function(e,t){function a(a,o){o=o||{};var n=e.$new();return angular.extend(n,a),t.open({templateUrl:"partials/error_modal.html",scope:n,windowClass:o.windowClass||"error_modal_window"})}function o(e,t){return a({title:e,description:t})}return{show:a,alert:o}}]).service("PeersSelectService",["$rootScope","$modal",function(e,t){function a(){var a=e.$new();return t.open({templateUrl:"partials/peer_select.html",controller:"PeerSelectController",scope:a,windowClass:"peer_select_window"}).result}return{selectPeer:a}}]).service("ContactsSelectService",["$rootScope","$modal",function(e,t){function a(a,o){o=o||{};var n=e.$new();return n.multiSelect=a,angular.extend(n,o),t.open({templateUrl:"partials/contacts_modal.html",controller:"ContactsModalController",scope:n,windowClass:"contacts_modal_window"}).result}return{selectContacts:function(e){return a(!0,e)},selectContact:function(e){return a(!1,e)}}}]); |
|
|
"use strict";angular.module("myApp.controllers",[]).controller("AppWelcomeController",["$scope","$location","MtpApiManager",function(e,t,o){o.getUserID().then(function(o){o?t.url("/im"):e.showWelcome=!0})}]).controller("AppLoginController",["$scope","$location","$timeout","MtpApiManager","ErrorService",function(e,t,o,n,r){function a(e){n.setUserAuth(i.dcID,{expires:e.expires,id:e.user.id}),o.cancel(c),t.url("/im")}function s(){o.cancel(c),--e.callPending.remaining?c=o(s,1e3):(e.callPending.success=!1,n.invokeApi("auth.sendCall",{phone_number:e.credentials.phone_number,phone_code_hash:e.credentials.phone_code_hash},i).then(function(){e.callPending.success=!0}))}n.getUserID().then(function(e){return e?void t.url("/im"):void 0});var i={dcID:1,createNetworker:!0};e.credentials={},e.progress={},e.callPending={};var c;e.sendCode=function(){o.cancel(c),e.progress.enabled=!0,n.invokeApi("auth.checkPhone",{phone_number:e.credentials.phone_number},i).then(function(t){return e.progress.enabled=!1,t.phone_registered?(e.progress.enabled=!0,void n.invokeApi("auth.sendCode",{phone_number:e.credentials.phone_number,sms_type:0,api_id:2496,api_hash:"8da85b0d5bfe62527e5b244c209159c3"},i).then(function(t){e.progress.enabled=!1,e.credentials.phone_code_hash=t.phone_code_hash,e.credentials.phone_occupied=t.phone_registered,e.error={},e.callPending.remaining=t.send_call_timeout,s()},function(t){switch(e.progress.enabled=!1,console.log("sendCode error",t),t.type){case"PHONE_NUMBER_INVALID":e.error={field:"phone"}}})):(r.show({error:{code:400,type:"ACCOUNT_REQUIRED"},phone:e.credentials.phone_number}),!1)},function(t){switch(e.progress.enabled=!1,t.type){case"PHONE_NUMBER_INVALID":e.error={field:"phone"};break;default:r.alert("Unknown error occured","Please check your internet connection or install the latest version of Google Chrome browser.")}})},e.logIn=function(t){var o="auth.signIn",r={phone_number:e.credentials.phone_number,phone_code_hash:e.credentials.phone_code_hash,phone_code:e.credentials.phone_code};t&&(o="auth.signUp",angular.extend(r,{first_name:e.credentials.first_name,last_name:e.credentials.last_name})),e.progress.enabled=!0,n.invokeApi(o,r,i).then(a,function(t){if(e.progress.enabled=!1,400==t.code&&"PHONE_NUMBER_UNOCCUPIED"==t.type)return e.logIn(!0);if(400==t.code&&"PHONE_NUMBER_OCCUPIED"==t.type)return e.logIn(!1);switch(t.type){case"FIRSTNAME_INVALID":e.error={field:"first_name"};break;case"LASTNAME_INVALID":e.error={field:"last_name"};break;case"PHONE_CODE_INVALID":e.error={field:"phone_code"}}})}}]).controller("AppIMController",["$scope","$location","$routeParams","$modal","$rootScope","$modalStack","MtpApiManager","AppUsersManager","ContactsSelectService",function(e,t,o,n,r,a,s,i,c){function l(){e.curDialog={peer:o.p||!1}}e.$on("$routeUpdate",l),e.$on("history_focus",function(o,n){a.dismissAll(),n.peerString==e.curDialog.peer?e.$broadcast("ui_history_focus"):t.url("/im?p="+n.peerString)}),e.isLoggedIn=!0,e.openSettings=function(){n.open({templateUrl:"partials/settings_modal.html",controller:"SettingsModalController",scope:r.$new(),windowClass:"settings_modal_window"})},e.openContacts=function(){c.selectContact().then(function(t){e.dialogSelect(i.getUserString(t))})},e.openGroup=function(){c.selectContacts().then(function(t){if(1==t.length)e.dialogSelect(i.getUserString(t[0]));else if(t.length>1){var o=r.$new();o.userIDs=t,n.open({templateUrl:"partials/chat_create_modal.html",controller:"ChatCreateModalController",scope:o,windowClass:"contacts_modal_window"})}})},e.dialogSelect=function(e){r.$broadcast("history_focus",{peerString:e})},l()}]).controller("AppImDialogsController",["$scope","$location","MtpApiManager","AppUsersManager","AppChatsManager","AppMessagesManager","AppPeersManager",function(e,t,o,n,r,a){function s(){l=0,u=0,p=!1,d={},c=!1,a.getDialogs(e.search.query,u).then(function(t){e.dialogs=[],e.contacts=[],t.dialogs.length&&(l+=t.dialogs.length,u=t.dialogs[t.dialogs.length-1].top_message,p=null===t.count||l<t.count,angular.forEach(t.dialogs,function(t){d[t.peerID]=!0,e.dialogs.push(a.wrapForDialog(t.top_message,t.unread_count))})),e.$broadcast("ui_dialogs_change"),e.search.query?i():a.getDialogs("",u,100)},function(e){401==e.code&&o.logOut()["finally"](function(){t.url("/login")})})}function i(){return!c||p&&l?p?void a.getDialogs(e.search.query,u).then(function(t){l+=t.dialogs.length,u=t.dialogs[t.dialogs.length-1].top_message,p=null===t.count||l<t.count,angular.forEach(t.dialogs,function(t){d[t.peerID]=!0,e.dialogs.push(a.wrapForDialog(t.top_message,t.unread_count))}),e.$broadcast("ui_dialogs_append")}):(c=!0,n.getContacts(e.search.query).then(function(t){e.contacts=[],angular.forEach(t,function(t){void 0===d[t]&&e.contacts.push({userID:t,user:n.getUser(t),userPhoto:n.getUserPhoto(t,"User"),peerString:n.getUserString(t)})})}),void e.$broadcast("ui_dialogs_append")):void 0}e.dialogs=[],e.contacts=[],e.search={};var c,l=0,u=0,p=!1,d={};o.invokeApi("account.updateStatus",{offline:!1}),e.$on("dialogs_need_more",function(){i()}),e.$on("dialog_unread",function(t,o){angular.forEach(e.dialogs,function(e){e.peerID==o.peerID&&(e.unreadCount=o.count)})}),e.$on("dialogs_update",function(t,o){if(void 0!==e.search.query&&e.search.query.length)return!1;var n=!1;angular.forEach(e.dialogs,function(e,t){e.peerID==o.peerID&&(n=t)});var r=a.wrapForDialog(o.top_message,o.unread_count);if(n!==!1){var s=e.dialogs.splice(n,1);safeReplaceObject(s,r),l++}e.dialogs.unshift(r)}),e.$on("dialog_flush",function(t,o){for(var n=0;n<e.dialogs.length;n++)if(e.dialogs[n].peerID==o.peerID){e.dialogs.splice(n,1);break}}),e.$watch("search.query",s)}]).controller("AppImHistoryController",["$scope","$location","$timeout","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","PeersSelectService","IdleManager","StatusManager",function(e,t,o,n,r,a,s,i,c,l,u,p,d){function h(t){D(!0),t=t||e.curDialog.peer||"",b=c.getPeerID(t),e.curDialog.peerID=b,e.curDialog.inputPeer=c.getInputPeer(t),e.mediaType=!1,b?(g(!0),m()):y()}function g(t){var o=c.getPeer(b);return!o||o.deleted?!1:(e.history=[],e.historyPeer={id:b,data:o,photo:c.getPeerPhoto(b,"User","Group")},r.getUserID().then(function(t){e.ownPhoto=a.getUserPhoto(t,"User")}),void(t&&(e.typing={},e.$broadcast("ui_peer_change"),e.$broadcast("ui_history_change"),safeReplaceObject(e.state,{loaded:!0}))))}function f(t){var o,n,r,a=0,s=e.history.length;for(t>0?s=t:0>t&&(a=s+t),o=a;s>o;o++)n=e.history[o],r&&n.from_id==r.from_id&&n.date<r.date+30&&!n.fwd_from_id&&n.message&&n.message.length<30?n.grouped=!0:(r||!o)&&delete n.grouped,r=n}function _(){if(w&&S){var t=F,o=e.mediaType&&{_:k[e.mediaType]},n=o?i.getSearch(e.curDialog.inputPeer,"",o,E):i.getHistory(e.curDialog.inputPeer,E);n.then(function(o){t==F&&(S+=o.history.length,w=null===o.count||S<o.count,E=o.history[o.history.length-1],angular.forEach(o.history,function(t){e.history.unshift(i.wrapForHistory(t))}),f(o.history.length),e.$broadcast("ui_history_prepend"))})}}function m(){w=!1,S=0,E=0;var t=++F,o=e.mediaType&&{_:k[e.mediaType]},n=o?i.getSearch(e.curDialog.inputPeer,"",o,E):i.getHistory(e.curDialog.inputPeer,E);safeReplaceObject(e.state,{loaded:!1}),n.then(function(o){safeReplaceObject(e.state,{loaded:!0}),t==F&&(S+=o.history.length,w=null===o.count||S<o.count,E=o.history[o.history.length-1],g(),angular.forEach(o.history,function(t){e.history.push(i.wrapForHistory(t))}),e.history.reverse(),f(),e.historyUnread=o.unreadLimit?{beforeID:o.history[o.unreadLimit-1],count:o.unreadLimit}:{},e.$broadcast("ui_history_change"),i.readHistory(e.curDialog.inputPeer))},function(){safeReplaceObject(e.state,{error:!0})})}function y(){safeReplaceObject(e.state,{notSelected:!0}),e.history=[],e.$broadcast("ui_history_change")}function C(t,o){return e.selectActions||$(o).hasClass("icon-select-tick")||$(o).hasClass("im_content_message_select_area")?void(e.selectedMsgs[t]?(delete e.selectedMsgs[t],e.selectedCount--,e.selectedCount||(e.selectActions=!1,e.$broadcast("ui_panel_update"))):(e.selectedMsgs[t]=!0,e.selectedCount++,e.selectActions||(e.selectActions=!0,e.$broadcast("ui_panel_update")))):!1}function D(t){e.selectedMsgs={},e.selectedCount=0,e.selectActions=!1,t||e.$broadcast("ui_panel_update")}function M(){return safeConfirm("Are you sure? This can not be undone!")!==!0?!1:void i.flushHistory(e.curDialog.inputPeer).then(function(){D()})}function v(){if(e.selectedCount>0){var t=[];angular.forEach(e.selectedMsgs,function(e,o){t.push(o)}),i.deleteMessages(t).then(function(){D()})}}function I(){if(e.selectedCount>0){var t=[];angular.forEach(e.selectedMsgs,function(e,o){t.push(o)}),u.selectPeer().then(function(e){var o=c.getPeerID(e);i.forwardMessages(o,t).then(function(){D(),n.$broadcast("history_focus",{peerString:e})})})}}function A(){e.selectActions?D():(e.selectActions=!0,e.$broadcast("ui_panel_update"))}function U(t){t&&(e.missedCount=0),e.mediaType=t||!1,e.history=[],m()}function P(){e.curDialog.peerID>0?n.openUser(e.curDialog.peerID):e.curDialog.peerID<0&&n.openChat(-e.curDialog.peerID)}e.$watch("curDialog.peer",h),l.attach(),p.start(),d.start(),e.history=[],e.mediaType=!1,e.selectedMsgs={},e.selectedCount=0,e.selectActions=!1,e.missedCount=0,e.typing={},e.state={},e.toggleMessage=C,e.selectedDelete=v,e.selectedForward=I,e.selectedCancel=D,e.selectedFlush=M,e.toggleEdit=A,e.toggleMedia=U,e.showPeerInfo=P;var b,S=0,w=!1,E=0,k={photos:"inputMessagesFilterPhotos",video:"inputMessagesFilterVideo",documents:"inputMessagesFilterDocument"},F=0,N={};e.$on("history_update",angular.noop),e.$on("history_append",function(t,r){if(r.peerID==e.curDialog.peerID){if(e.mediaType)return void(r.my?U():e.missedCount++);e.history.push(i.wrapForHistory(r.messageID)),f(-3),e.typing={},e.$broadcast("ui_history_append",{my:r.my}),r.my&&(e.historyUnread={}),S++,n.idle.isIDLE||o(function(){i.readHistory(e.curDialog.inputPeer)})}}),e.$on("history_delete",function(t,o){if(o.peerID==e.curDialog.peerID){for(var n=[],r=0;r<e.history.length;r++)o.msgs[e.history[r].id]||n.push(e.history[r]);e.history=n}}),e.$on("dialog_flush",function(t,o){o.peerID==e.curDialog.peerID&&(e.history=[])}),e.$on("history_focus",function(){e.mediaType&&U()}),e.$on("apiUpdate",function(t,n){switch(n._){case"updateUserTyping":n.user_id==e.curDialog.peerID&&a.hasUser(n.user_id)&&(e.typing={user:a.getUser(n.user_id)},o.cancel(N[n.user_id]),N[n.user_id]=o(function(){e.typing={}},6e3));break;case"updateChatUserTyping":-n.chat_id==e.curDialog.peerID&&a.hasUser(n.user_id)&&(e.typing={user:a.getUser(n.user_id)},o.cancel(N[n.user_id]),N[n.user_id]=o(function(){e.typing={}},6e3))}}),e.$on("history_need_more",function(){_()}),n.$watch("idle.isIDLE",function(t){!t&&e.curDialog&&e.curDialog.peerID&&i.readHistory(e.curDialog.inputPeer)})}]).controller("AppImPanelController",["$scope",function(e){e.$on("user_update",angular.noop)}]).controller("AppImSendController",["$scope","$timeout","MtpApiManager","AppConfigManager","AppPeersManager","AppMessagesManager","ApiUpdatesManager","MtpApiFileManager",function(e,t,o,n,r,a){function s(o){return e.$broadcast("ui_message_before_send"),t(function(){var t=e.draftMessage.text;if(!angular.isString(t)||!t.length)return!1;t=t.replace(/:([a-z0-9\-\+\*_]+?):/gi,function(e,t){var o=$.emojiarea.reverseIcons[t];return void 0!==o?o:e});do a.sendText(e.curDialog.peerID,t.substr(0,4096)),t=t.substr(4096);while(t.length);i(),e.$broadcast("ui_message_send")}),cancelEvent(o)}function i(t){t?n.get("draft"+e.curDialog.peerID).then(function(t){e.draftMessage.text=t||"",e.$broadcast("ui_peer_draft")}):(e.draftMessage.text="",e.$broadcast("ui_peer_draft"))}function c(t){if(a.readHistory(e.curDialog.inputPeer),t&&t.length){var o={};o["draft"+e.curDialog.peerID]=t,n.set(o)}else n.remove("draft"+e.curDialog.peerID)}function l(){o.invokeApi("messages.setTyping",{peer:e.curDialog.inputPeer,typing:!0})}function u(t){if(angular.isArray(t)&&t.length)for(var o=0;o<t.length;o++)a.sendFile(e.curDialog.peerID,t[o],{isMedia:e.draftMessage.isMedia}),e.$broadcast("ui_message_send")}e.$watch("curDialog.peer",i),e.$on("user_update",angular.noop),e.$on("ui_typing",l),e.draftMessage={text:""},e.$watch("draftMessage.text",c),e.$watch("draftMessage.files",u),e.sendMessage=s}]).controller("PhotoModalController",["$scope","AppPhotosManager",function(e,t){e.photo=t.wrapForFull(e.photoID)}]).controller("VideoModalController",["$scope","AppVideoManager",function(e,t){e.video=t.wrapForFull(e.videoID)}]).controller("UserModalController",["$scope","$location","$rootScope","$modal","AppUsersManager","NotificationsManager","AppMessagesManager","AppPeersManager","PeersSelectService",function(e,t,o,n,r,a,s,i,c){var l=r.getUserString(e.userID);e.user=r.getUser(e.userID),e.userPhoto=r.getUserPhoto(e.userID,"User"),e.settings={notifications:!0},a.getPeerMuted(e.userID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,o){return t===o?!1:void a.getPeerSettings(e.userID).then(function(o){o.mute_until=t?0:2e9,a.savePeerSettings(e.userID,o)})})}),e.goToHistory=function(){o.$broadcast("history_focus",{peerString:l})},e.flushHistory=function(){return safeConfirm("Are you sure? This can not be undone!")!==!0?!1:void s.flushHistory(i.getInputPeerByID(e.userID)).then(function(){e.goToHistory()})},e.importContact=function(t){var a=o.$new();a.importContact={phone:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name},n.open({templateUrl:t?"partials/edit_contact_modal.html":"partials/import_contact_modal.html",controller:"ImportContactModalController",windowClass:"import_contact_modal_window",scope:a}).result.then(function(t){e.userID==t&&(e.user=r.getUser(e.userID),console.log(e.user))})},e.deleteContact=function(){r.deleteContacts([e.userID]).then(function(){e.user=r.getUser(e.userID),console.log(e.user)})},e.shareContact=function(){c.selectPeer().then(function(t){var n=i.getPeerID(t);s.sendOther(n,{_:"inputMediaContact",phone_number:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name,user_id:e.user.id}),o.$broadcast("history_focus",{peerString:t})})}}]).controller("ChatModalController",["$scope","$timeout","$rootScope","$modal","AppUsersManager","AppChatsManager","MtpApiManager","MtpApiFileManager","NotificationsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","ContactsSelectService","ErrorService",function(e,t,o,n,r,a,s,i,c,l,u,p,d,h){function g(t){r.saveApiUsers(t.users),a.saveApiChats(t.chats),p.saveSeq(t.seq)&&p.saveUpdate({_:"updateNewMessage",message:t.message,pts:t.pts}),o.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function f(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,i.uploadFile(t).then(function(t){return s.invokeApi("messages.editChatPhoto",{chat_id:e.chatID,photo:{_:"inputChatUploadedPhoto",file:t,crop:{_:"inputPhotoCropAuto"}}}).then(function(e){g(e)},function(e){switch(e.code){case 400:h.alert("Bad photo","The photo is invalid, please select another file.")}})})["finally"](function(){e.photo.updating=!1}))}e.chatFull=a.wrapForFull(e.chatID,{}),s.invokeApi("messages.getFullChat",{chat_id:e.chatID}).then(function(t){a.saveApiChats(t.chats),r.saveApiUsers(t.users),e.chatFull=a.wrapForFull(e.chatID,t.full_chat),e.$broadcast("ui_height")}),e.settings={notifications:!0},c.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,o){return t===o?!1:void c.getPeerSettings(-e.chatID).then(function(o){o.mute_until=t?0:2e9,c.savePeerSettings(-e.chatID,o)})})}),e.leaveGroup=function(){s.invokeApi("messages.deleteChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(g)},e.returnToGroup=function(){s.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(g)},e.inviteToGroup=function(){var t=[];angular.forEach(e.chatFull.participants.participants,function(e){t.push(e.user_id)}),d.selectContacts({disabled:t}).then(function(t){angular.forEach(t,function(t){s.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserContact",user_id:t},fwd_limit:100}).then(function(e){r.saveApiUsers(e.users),a.saveApiChats(e.chats),p.saveSeq(e.seq)&&p.saveUpdate({_:"updateNewMessage",message:e.message,pts:e.pts})})}),o.$broadcast("history_focus",{peerString:e.chatFull.peerString})})},e.kickFromGroup=function(t){var o=r.getUser(t);console.log({_:"inputUserForeign",user_id:t,access_hash:o.access_hash||"0"},o),s.invokeApi("messages.deleteChatUser",{chat_id:e.chatID,user_id:{_:"inputUserForeign",user_id:t,access_hash:o.access_hash||"0"}}).then(g)},e.flushHistory=function(){safeConfirm("Are you sure? This can not be undone!")===!0&&l.flushHistory(u.getInputPeerByID(-e.chatID)).then(function(){o.$broadcast("history_focus",{peerString:e.chatFull.peerString})})},e.photo={},e.$watch("photo.file",f),e.deletePhoto=function(){e.photo.updating=!0,s.invokeApi("messages.editChatPhoto",{chat_id:e.chatID,photo:{_:"inputChatPhotoEmpty"}}).then(function(e){g(e)})["finally"](function(){e.photo.updating=!1})},e.editTitle=function(){var t=o.$new();t.chatID=e.chatID,n.open({templateUrl:"partials/chat_edit_modal.html",controller:"ChatEditModalController",scope:t,windowClass:"contacts_modal_window"})}}]).controller("SettingsModalController",["$rootScope","$scope","$timeout","AppUsersManager","AppChatsManager","MtpApiManager","AppConfigManager","NotificationsManager","MtpApiFileManager","ApiUpdatesManager","ErrorService",function(e,t,o,n,r,a,s,i,c,l){function u(e){e&&e.type&&0===e.type.indexOf("image")&&(t.photo.updating=!0,c.uploadFile(e).then(function(e){a.invokeApi("photos.uploadProfilePhoto",{file:e,caption:"",geo_point:{_:"inputGeoPointEmpty"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){n.saveApiUsers(e.users),a.getUserID().then(function(e){l.saveUpdate({_:"updateUserPhoto",user_id:e,date:tsNow(!0),photo:n.getUser(e).photo,previous:!0}),t.profile.photo=n.getUserPhoto(e,"User")})})})["finally"](function(){t.photo.updating=!1}))}t.profile={},a.getUserID().then(function(e){var o=n.getUser(e);t.profile.first_name=o.first_name,t.profile.last_name=o.last_name,t.profile.photo=n.getUserPhoto(e,"User"),t.phone=o.phone}),t.notify={},t.send={},t.photo={},t.$watch("photo.file",u),t.deletePhoto=function(){t.photo.updating=!0,a.invokeApi("photos.updateProfilePhoto",{id:{_:"inputPhotoEmpty"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){a.getUserID().then(function(o){l.saveUpdate({_:"updateUserPhoto",user_id:o,date:tsNow(!0),photo:e,previous:!0}),t.profile.photo=n.getUserPhoto(o,"User")})})["finally"](function(){t.photo.updating=!1})},s.get("notify_nodesktop","notify_nosound","send_ctrlenter").then(function(o){t.notify.desktop=!o[0],t.notify.sound=!o[1],t.send.enter=o[2]?"":"1",t.$watch("notify.sound",function(e,t){return e===t?!1:void(e?s.remove("notify_nosound"):(s.set({notify_nosound:!0}),i.clear()))}),t.$watch("notify.desktop",function(e,t){return e===t?!1:void(e?s.remove("notify_nodesktop"):s.set({notify_nodesktop:!0}))}),t.$watch("send.enter",function(t,o){return t===o?!1:(t?s.remove("send_ctrlenter"):s.set({send_ctrlenter:!0}),void e.$broadcast("settings_changed"))})}),t.error={},t.save=function(e){a.invokeApi("account.updateProfile",{first_name:t.profile.first_name||"",last_name:t.profile.last_name||""}).then(function(o){t.error={},e.$setPristine(),n.saveApiUser(o)},function(e){switch(e.type){case"FIRSTNAME_INVALID":t.error={field:"first_name"};break;case"LASTNAME_INVALID":t.error={field:"last_name"};break;case"NAME_NOT_MODIFIED":t.error={}}})},t.logOut=function(){a.logOut().then(function(){location.hash="/login",location.reload()})}}]).controller("ContactsModalController",["$scope","$modal","$modalInstance","AppUsersManager",function(e,t,o,n){function r(t){n.getContacts(t).then(function(t){e.contacts=[],angular.forEach(t,function(t){var o={userID:t,user:n.getUser(t),userPhoto:n.getUserPhoto(t,"User")};e.contacts.push(o)}),e.$broadcast("contacts_change")})}if(e.contacts=[],e.search={},e.selectedContacts={},e.disabledContacts={},e.selectedCount=0,e.disabled)for(var a=0;a<e.disabled.length;a++)e.disabledContacts[e.disabled[a]]=!0;if(e.selected)for(var a=0;a<e.selected.length;a++)e.selectedContacts[e.selected[a]]||(e.selectedContacts[e.selected[a]]=!0,e.selectedCount++);e.$watch("search.query",r),e.contactSelect=function(t){return e.disabledContacts[t]?!1:e.multiSelect?void(e.selectedContacts[t]?(delete e.selectedContacts[t],e.selectedCount--):(e.selectedContacts[t]=!0,e.selectedCount++)):o.close(t)},e.submitSelected=function(){if(e.selectedCount>0){var t=[];return angular.forEach(e.selectedContacts,function(e,o){t.push(o)}),o.close(t)}},e.importContact=function(){t.open({templateUrl:"partials/import_contact_modal.html",controller:"ImportContactModalController",windowClass:"import_contact_modal_window"}).result.then(function(t){t&&r(e.search&&e.search.query||"")})}}]).controller("PeerSelectController",["$scope","$modalInstance",function(e,t){e.dialogSelect=function(e){t.close(e)}}]).controller("ChatCreateModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,o,n,r,a,s){e.group={name:""},e.createGroup=function(){if(e.group.name){var t=[];return angular.forEach(e.userIDs,function(e){t.push({_:"inputUserContact",user_id:e})}),n.invokeApi("messages.createChat",{title:e.group.name,users:t}).then(function(e){r.saveApiUsers(e.users),a.saveApiChats(e.chats),s.saveSeq(e.seq)&&s.saveUpdate({_:"updateNewMessage",message:e.message,pts:e.pts});var t=a.getChatString(e.message.to_id.chat_id);o.$broadcast("history_focus",{peerString:t})})}},e.back=function(){t.dismiss()}}]).controller("ChatEditModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,o,n,r,a,s){var i=a.getChat(e.chatID);e.group={name:i.title},e.updateGroup=function(){return e.group.name?e.group.name==i.title?t.close():n.invokeApi("messages.editChatTitle",{chat_id:e.chatID,title:e.group.name}).then(function(t){r.saveApiUsers(t.users),a.saveApiChats(t.chats),s.saveSeq(t.seq)&&s.saveUpdate({_:"updateNewMessage",message:t.message,pts:t.pts});var n=a.getChatString(e.chatID);o.$broadcast("history_focus",{peerString:n})}):void 0}}]).controller("ImportContactModalController",["$scope","$modalInstance","$rootScope","AppUsersManager",function(e,t,o,n){void 0===e.importContact&&(e.importContact={}),e.doImport=function(){e.importContact&&e.importContact.phone&&(e.progress={enabled:!0},n.importContact(e.importContact.phone,e.importContact.first_name,e.importContact.last_name).then(function(e){t.close(e)})["finally"](function(){delete e.progress.enabled}))}}]); |
|
|
"use strict";angular.module("myApp.filters",[]).filter("userName",[function(){return function(t){return t&&(t.first_name||t.last_name)?t.first_name+" "+t.last_name:"DELETED"}}]).filter("userFirstName",[function(){return function(t){return t&&(t.first_name||t.last_name)?t.first_name||t.last_name:"DELETED"}}]).filter("userStatus",["$filter",function(t){return function(r){return r&&r.status&&"userStatusEmpty"!=r.status._?"userStatusOnline"==r.status._?"online":"last seen "+t("relativeTime")(r.status.was_online):"offline"}}]).filter("chatTitle",[function(){return function(t){return t&&t.title?t.title:"DELETED"}}]).filter("dateOrTime",["$filter",function(t){var r={};return function(e){if(r[e])return r[e];var n=1e3*e,u=Math.abs(tsNow()-n),i="HH:mm";return u>5184e5?i="shortDate":u>432e5&&(i="EEE"),r[e]=t("date")(n,i)}}]).filter("duration",[function(){return function(t){var r=t%60,e=Math.floor((t-r)/60);return 10>r&&(r="0"+r),e+":"+r}}]).filter("phoneNumber",[function(){return function(t){var r=" ";return t=(t||"").replace(/\D/g,""),"7"==t.charAt(0)&&11==t.length?"+"+t.charAt(0)+r+"("+t.substr(1,3)+")"+r+t.substr(4,3)+"-"+t.substr(7,2)+"-"+t.substr(9,2):"+"+t}}]).filter("formatSize",[function(){return function(t){return t?1024>t?t+" b":1048576>t?Math.round(t/1024*10)/10+" Kb":Math.round(t/1048576*100)/100+" Mb":"0"}}]).filter("formatSizeProgress",["$filter",function(t){return function(r){var e=t("formatSize")(r.done),n=e.split(" "),u=t("formatSize")(r.total),i=u.split(" ");return i[1]===n[1]?n[0]+" of "+i[0]+" "+(n[1]||""):e+" of "+u}}]).filter("nl2br",[function(){return function(t){return t.replace(/\n/g,"<br/>")}}]).filter("richText",["$filter",function(t){return function(r){return t("linky")(r,"_blank").replace(/\n| /g,"<br/>")}}]).filter("relativeTime",["$filter",function(t){return function(r){var e=1e3*r,n=Math.abs(tsNow()-e);return 6e4>n?"just now":3e6>n?Math.ceil(n/6e4)+" minutes ago":1e7>n?Math.ceil(n/36e5)+" hours ago":t("dateOrTime")(r)}}]); |
|
|
angular.module("myApp.templates",[]).run(["$templateCache",function(n){n.put("partials/chat_create_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Create Group</h4>\n </div>\n\n <div class="modal-body">\n\n <form ng-submit="createGroup()">\n\n <div class="contacts_modal_group_title">\n <input class="form-control" my-focused type="text" placeholder="Group name" ng-model="group.name"/>\n </div>\n\n <div class="contacts_modal_panel clearfix">\n\n <div class="contacts_modal_actions pull-right">\n <button class="btn btn-default" ng-click="$dismiss()"> Cancel </button>\n\n <button class="btn btn-success" type="submit"> Create </button>\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>'),n.put("partials/chat_edit_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Edit Group Title</h4>\n </div>\n\n <div class="modal-body">\n\n <form ng-submit="updateGroup()">\n\n <div class="contacts_modal_group_title">\n <input class="form-control" my-focused type="text" placeholder="Group name" ng-model="group.name"/>\n </div>\n\n <div class="contacts_modal_panel clearfix">\n\n <div class="contacts_modal_actions pull-right">\n <button class="btn btn-default" ng-click="$dismiss()"> Cancel </button>\n\n <button class="btn btn-success" type="submit"> Save </button>\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>'),n.put("partials/chat_modal.html",'<div class="chat_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Group Info</h4>\n </div>\n\n <div class="modal-body">\n\n <div class="chat_modal_photo_wrap pull-left">\n\n <div class="chat_modal_photo">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="chatFull.thumb"\n />\n <div class="chat_modal_photo_change_wrap" ng-if="chatFull.chat._ != \'chatForbidden\' && !chatFull.chat.left">\n <div ng-if="photo.updating" class="chat_modal_photo_loading">Updating<span my-loading-dots></span></div>\n <div ng-if="!photo.updating">\n <div class="chat_modal_photo_update_link">\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" />\n Update photo\n </div>\n <a ng-if="chatFull.thumb.location" href="" ng-click="deletePhoto()" class="chat_modal_photo_delete_link">Delete photo</a>\n </div>\n </div>\n </div>\n\n </div>\n\n\n <div class="chat_modal_info_wrap clearfix">\n <h4 class="chat_modal_header" ng-bind-html="chatFull.chat.rTitle"></h4>\n <p class="chat_modal_members_count" ng-if="chatFull.chat.participants_count > 0">\n <ng-pluralize count="chatFull.chat.participants_count"\n when="{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}">\n </ng-pluralize>\n </p>\n\n <div class="chat_modal_settings_wrap">\n\n <div class="chat_modal_actions_wrap clearfix">\n\n <button ng-if="!chatFull.chat.left && chatFull.participants.participants.length" class="btn btn-primary chat_modal_send_btn" ng-click="inviteToGroup()">Add member</button>\n <button ng-if="chatFull.chat._ != \'chatForbidden\' && chatFull.chat.left" class="btn btn-primary chat_modal_send_btn" ng-click="returnToGroup()">Return to group</button>\n <button ng-if="chatFull.chat._ == \'chatForbidden\'" class="btn btn-danger chat_modal_delete_btn" ng-click="flushHistory()">Delete chat</button>\n\n <div class="dropdown chat_modal_other_btn" ng-if="chatFull.chat._ != \'chatForbidden\' && !chatFull.chat.left">\n <button class="btn btn-link dropdown-toggle">More<i class="icon icon-caret"></i></button>\n <ul class="dropdown-menu">\n <li>\n <a ng-click="editTitle()">Edit group</a>\n </li>\n <li>\n <a ng-click="leaveGroup()">Leave group</a>\n </li>\n <li>\n <a ng-click="flushHistory()">Delete chat</a>\n </li>\n </ul>\n </div>\n\n </div>\n\n <div class="chat_modal_notifications">\n Notifications:\n <a ng-click="settings.notifications = !settings.notifications">\n {{settings.notifications ? \'ON\' : \'OFF\'}}\n </a>\n </div>\n\n </div>\n </div>\n\n <h5 class="chat_modal_members_header">\n Members\n </h5>\n <div class="chat_modal_members_list">\n\n <div class="chat_modal_participant_wrap clearfix" ng-repeat="participant in chatFull.participants.participants | orderBy:\'-user.sortStatus\'">\n <a ng-if="participant.canKick" ng-click="kickFromGroup(participant.user_id)" class="chat_modal_participant_kick pull-right">Kick</a>\n <a ng-click="openUser(participant.user_id)" class="chat_modal_participant_photo pull-left">\n <img\n class="chat_modal_participant_photo"\n my-load-thumb\n thumb="participant.userPhoto"\n />\n <i class="icon status_online" ng-show="participant.user.status._ == \'userStatusOnline\'"></i>\n </a>\n <div class="chat_modal_participant_name">\n <a ng-click="openUser(participant.user.id)" ng-bind-html="participant.user.rFullName"></a>\n </div>\n <div class="chat_modal_participant_status">{{participant.user | userStatus}}</div>\n </div>\n\n </div>\n\n <div class="chat_modal_members_forbidden" ng-if="chatFull.chat._ == \'chatForbidden\' || chatFull.chat.left">\n Group members list is unavailable.\n </div>\n\n </div>\n\n</div>'),n.put("partials/contacts_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$dismiss()">Close</a>\n <a ng-if="!multiSelect" class="pull-right modal-head-link" ng-click="importContact()">Add new contact</a>\n <h4 class="modal-title">Contacts</h4>\n </div>\n\n <div class="modal-body">\n\n <div class="contacts_modal_search">\n <input class="form-control contacts_modal_search_field" my-focused type="search" placeholder="Search" ng-model="search.query"/>\n <a class="contacts_modal_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n\n\n <div my-contacts-list class="contacts_modal_col">\n\n <div class="contacts_wrap nano">\n <div class="contacts_scrollable_wrap content">\n\n <ul class="contacts_modal_members_list nav nav-pills nav-stacked">\n\n <li class="contacts_modal_contact_wrap clearfix" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: selectedContacts[contact.userID], disabled: disabledContacts[contact.userID]}">\n <a class="contacts_modal_contact" ng-click="contactSelect(contact.userID)">\n\n <i ng-if="multiSelect" class="icon icon-contact-tick"></i>\n\n <div class="contacts_modal_contact_photo pull-left">\n <img\n class="contacts_modal_contact_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n <i class="icon status_online" ng-show="contact.user.status._ == \'userStatusOnline\'"></i>\n </div>\n\n <div class="contacts_modal_contact_name" ng-bind-html="contact.user.rFullName"></div>\n <div class="contacts_modal_contact_status">{{contact.user | userStatus}}</div>\n\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n\n <div ng-if="multiSelect" class="contacts_modal_panel">\n\n <button class="btn btn-success btn-block" ng-class="{disabled: !selectedCount}" ng-disabled="!selectedCount" ng-click="submitSelected()" type="submit">\n Next »\n </button>\n\n </div>\n\n </div>\n\n</div>'),n.put("partials/dialog.html",'<a class="im_dialog" ng-click="dialogSelect(dialogMessage.peerString)">\n\n <div class="im_dialog_meta pull-right text-right">\n <div class="im_dialog_date" ng-bind="dialogMessage.dateText"></div>\n <span\n class="im_dialog_badge badge"\n ng-show="dialogMessage.unreadCount > 0 && !dialogMessage.out"\n ng-bind="dialogMessage.unreadCount"\n ></span>\n <i\n class="im_dialog_unread"\n ng-show="dialogMessage.out && dialogMessage.unread"\n ></i>\n </div>\n\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="dialogMessage.peerPhoto"\n />\n </div>\n\n <div class="im_dialog_message_wrap">\n\n <div class="im_dialog_peer" ng-switch="dialogMessage.peerID > 0">\n <span class="im_dialog_user" ng-switch-when="true" ng-bind-html="dialogMessage.peerData.rFullName"></span>\n <span class="im_dialog_chat" ng-switch-default>\n <span ng-bind-html="dialogMessage.peerData.rTitle"></span>\n </span>\n </div>\n\n <div class="im_dialog_message">\n <span class="im_dialog_chat_from_wrap">\n <span\n class="im_dialog_chat_from"\n ng-if="!dialogMessage.out && dialogMessage.chatID"\n ng-bind-html="dialogMessage.fromUser.rFirstName"\n ></span><span\n class="im_dialog_chat_from"\n ng-if="dialogMessage.out"\n >You</span>{{((dialogMessage.out || dialogMessage.peerID < 0) && (dialogMessage.message.length || dialogMessage.media && dialogMessage.media._ != \'messageMediaEmpty\')) ? \':\' : \'\'}}\n </span>\n\n <span class="im_dialog_message_media" ng-if="dialogMessage.media && dialogMessage.media._ != \'messageMediaEmpty\'" ng-switch="dialogMessage.media._">\n <span ng-switch-when="messageMediaPhoto">Photo</span>\n <span ng-switch-when="messageMediaVideo">Video</span>\n <span ng-switch-when="messageMediaDocument">Document</span>\n <span ng-switch-when="messageMediaAudio">Audio</span>\n <span ng-switch-when="messageMediaGeo">Location</span>\n <span ng-switch-when="messageMediaContact">Contact</span>\n </span>\n\n <span class="im_dialog_message_service" ng-if="dialogMessage._ == \'messageService\'" ng-switch="dialogMessage.action._">\n <span ng-switch-when="messageActionChatCreate"> created the group </span>\n <span ng-switch-when="messageActionChatEditTitle">changed group name</span>\n <span ng-switch-when="messageActionChatEditPhoto">changed group photo</span>\n <span ng-switch-when="messageActionChatDeletePhoto">removed group photo</span>\n\n <span ng-switch-when="messageActionChatAddUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">\n <span ng-switch-when="true">\n returned to group\n </span>\n <span ng-switch-default>\n invited <span ng-bind-html="dialogMessage.action.user.rFullName"></span>\n </span>\n </span>\n\n <span ng-switch-when="messageActionChatDeleteUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">\n <span ng-switch-when="true">\n left group\n </span>\n <span ng-switch-default>\n kicked <span ng-bind-html="dialogMessage.action.user.rFullName"></span>\n </span>\n </span>\n </span>\n\n <span class="im_dialog_message_text" ng-if="dialogMessage.message.length" ng-bind-html="dialogMessage.richMessage"></span>\n </div>\n\n </div>\n</a>\n'),n.put("partials/edit_contact_modal.html",'<div class="import_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Edit contact</h4>\n </div>\n\n <div class="modal-body">\n\n <form ng-submit="doImport()">\n\n <div class="form-group import_modal_field_wrap">\n <span class="form-control uneditable-input disabled" disabled>{{importContact.phone | phoneNumber}}</span>\n </div>\n <div class="form-group import_modal_field_wrap">\n <input class="form-control" type="text" my-focused placeholder="First name" ng-model="importContact.first_name"/>\n </div>\n <div class="form-group import_modal_field_wrap">\n <input class="form-control" type="text" placeholder="Last name" ng-model="importContact.last_name"/>\n </div>\n\n <div class="import_modal_panel clearfix">\n\n <div class="import_modal_actions pull-right">\n <a class="btn btn-default" ng-click="$dismiss()"> Cancel </a>\n\n <button class="btn btn-success" type="submit" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled">\n {{progress.enabled ? \'Saving...\' : \'Save\'}}\n </button>\n\n\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>'),n.put("partials/error_modal.html",'<div class="error_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 ng-if="error" class="modal-title" ng-switch="error.type">\n <span ng-switch-when="ACCOUNT_REQUIRED">No account</span>\n <span ng-switch-default ng-switch="error.code">\n <span ng-switch-when="400">Error</span>\n <span ng-switch-when="401">Unauthorized</span>\n <span ng-switch-when="403">Access denied</span>\n <span ng-switch-when="404">Not found</span>\n <span ng-switch-when="420">Too fast</span>\n <span ng-switch-default>Server error</span>\n </span>\n </h4>\n <h4 ng-if="!error" class="modal-title" ng-bind="title || \'Alert\'"></h4>\n </div>\n\n <div class="modal-body">\n\n <div ng-if="error" class="error_modal_description" ng-switch="error.type">\n <span ng-switch-when="FIRSTNAME_INVALID">\n The first name you entered is invalid.\n </span>\n <span ng-switch-when="LASTNAME_INVALID">\n The last name you entered is invalid.\n </span>\n <span ng-switch-when="PHONE_NUMBER_INVALID">\n The phone number you entered is invalid.\n </span>\n <span ng-switch-when="USERS_TOO_MUCH">\n You have selected too much users.\n </span>\n <span ng-switch-when="PHOTO_INVALID_DIMENSIONS">\n The photo dimensions are invalid, please select another file.\n </span>\n <span ng-switch-when="ACCOUNT_REQUIRED">\n Sorry, there is no <strong>Telegram</strong> account for {{phone | phoneNumber}}<br/><br/>\n Please <strong>sign up</strong> using our mobile apps for <a href="https://telegram.org/" target="_blank">iOS</a> or <a href="https://telegram.org/" target="_blank">Android</a>.\n </span>\n\n\n <div ng-switch-default ng-switch="error.code">\n <span ng-switch-when="400">One of the params is missing or invalid.</span>\n <span ng-switch-when="401">This action requires authorization access. Please <a href="#/auth">log in</a>.</span>\n <span ng-switch-when="403">You are not allowed for this action.</span>\n <span ng-switch-when="404">The page was not found.</span>\n <span ng-switch-when="420">You are performing too many actions. Please try again later.</span>\n <span ng-switch-default>Internal server error occured. Please try again later.</span>\n\n <div ng-if="error.originalError" ng-switch="showErrorDetails">\n <pre ng-switch-when="true"><code>{{error.originalError}}</code></pre>\n <a ng-switch-default href="" ng-click="showErrorDetails = true">Click here</a> for technical details.\n </div>\n\n </div>\n </div>\n\n <div ng-if="!error" class="error_modal_description" ng-bind="description"></div>\n\n </div>\n\n</div>'),n.put("partials/head.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse" role="navigation">\n <div class="container">\n <div class="navbar-header">\n <a class="navbar-brand" href="{{isLoggedIn ? \'#/im\' : \'#/\'}}"><span class="tg_head_logo"></span><span class="tg_head_logo_text"></span></a>\n <ul class="nav navbar-nav navbar-quick-nav" ng-show="curDialog.peer">\n <li>\n <a href="#/im">\n <i class="icon icon-back"></i> Back\n </a>\n </li>\n </ul>\n </div>\n\n\n <div class="navbar-collapse collapse">\n\n <ul ng-if="offline" class="nav navbar-nav navbar-offline">\n <li ng-show="!offlineConnecting"><span class="navbar-offline-text">Waiting for network<span my-loading-dots></span></span></li>\n <li ng-show="!offlineConnecting"><a href="" ng-click="retryOnline()">Retry</a></li>\n <li ng-show="offlineConnecting"><span class="navbar-offline-text">Connecting<span my-loading-dots></span></span></li>\n </ul>\n\n <ul ng-if="!offline" class="nav navbar-nav navbar-right">\n <li ng-if="isLoggedIn"><a href="" ng-click="openContacts()">Contacts</a></li>\n <li ng-if="isLoggedIn"><a href="" ng-click="openSettings()">Settings</a></li>\n <li><a href="https://github.com/zhukov/webogram" target="_blank">About</a></li>\n </ul>\n\n </div>\n </div>\n </div>\n</div>'),n.put("partials/im.html",'<div ng-include="\'partials/head.html\'"></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 class="im_dialogs_col_wrap" ng-controller="AppImDialogsController">\n <div class="im_dialogs_panel">\n <div class="dropdown im_dialogs_panel_dropdown pull-right">\n <a class="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><a href="" ng-click="openGroup()">New Group</a></li>\n <li><a href="" ng-click="openContacts()">Contacts</a></li>\n <li><a href="" ng-click="openSettings()">Settings</a></li>\n </ul>\n </div>\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field" type="search" placeholder="Search" ng-model="search.query"/>\n <a class="im_dialogs_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n </div>\n <div my-dialogs-list class="im_dialogs_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap content">\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 <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5>Contacts</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-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n </div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" ng-bind-html="contact.user.rFullName"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text">{{contact.user | userStatus}}</span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="im_history_col_wrap" ng-controller="AppImHistoryController">\n <div ng-show="state.notSelected" class="im_history_not_selected" my-vertical-position="0.3">\n Please select a chat to start messaging\n </div>\n <div ng-show="!state.notSelected && !state.loaded" class="im_history_not_selected" my-vertical-position="0.3">\n Loading history<span my-loading-dots></span>\n </div>\n\n <div ng-show="state.loaded">\n <div my-history class="im_history_col">\n\n <div class="im_history_panel_wrap">\n\n <div class="im_history_panel clearfix" ng-controller="AppImPanelController">\n <div class="im_history_panel_title">\n\n <a class="im_history_panel_info_link pull-right" ng-click="showPeerInfo()">Info</a>\n <a class="im_history_panel_edit_link pull-right" ng-click="toggleEdit()">Edit</a>\n\n <div class="dropdown im_history_panel_media_dropdown pull-right">\n <a class="dropdown-toggle">Media<i class="icon icon-caret"></i></a>\n <ul class="dropdown-menu">\n <li><a ng-click="toggleMedia(\'photos\')">Photos</a></li>\n <li><a ng-click="toggleMedia(\'video\')">Videos</a></li>\n <li><a ng-click="toggleMedia(\'documents\')">Documents</a></li>\n </ul>\n </div>\n <a ng-show="mediaType !== false" class="im_history_panel_return_link pull-right" ng-click="toggleMedia()">\n Show all messages\n <strong class="im_history_panel_return_count" ng-show="missedCount > 0">+{{missedCount}}</strong>\n </a>\n\n <div ng-switch="mediaType">\n <h4 ng-switch-when="photos">Photos</h4>\n <h4 ng-switch-when="video">Videos</h4>\n <h4 ng-switch-when="documents">Documents</h4>\n\n <h4 ng-switch-default ng-switch="historyPeer.id > 0">\n <div ng-switch-when="true">\n <span ng-bind-html="historyPeer.data.rFullName"></span>\n <small class="im_peer_online">{{historyPeer.data | userStatus}}</small>\n </div>\n <div ng-switch-default>\n <span ng-bind-html="historyPeer.data.rTitle"></span>\n <small class="im_chat_users">\n <ng-pluralize count="historyPeer.data.participants_count"\n when="{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}">\n </ng-pluralize>\n </small>\n </div>\n </h4>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n <div class="im_history_wrap nano">\n\n <div class="im_history_scrollable_wrap content">\n\n <div class="im_history_scrollable">\n\n <div class="im_history" ng-class="{im_history_selectable: selectActions}">\n <div class="im_history_empty" ng-show="!history.length" my-vertical-position="0.3">\n No messages here yet...\n </div>\n <div class="im_history_messages">\n <div class="im_history_message_wrap" my-message bindonce ng-repeat="historyMessage in history"></div>\n </div>\n </div>\n\n <div class="im_history_typing_wrap">\n <div class="im_history_typing" ng-show="typing.user && !mediaType">\n <strong class="im_history_typing_author" ng-bind-html="typing.user.rFullName"></strong> is typing<span my-loading-dots></span>\n </div>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n <div class="im_bottom_panel_wrap">\n\n <div class="im_edit_panel_wrap clearfix" ng-show="selectActions">\n <div class="im_edit_panel_border"></div>\n <a class="im_edit_flush_link" ng-click="selectedFlush()" ng-switch="historyPeer.id > 0">\n <span ng-switch-when="true">Delete Chat</span>\n <span ng-switch-default>Clear History</span>\n </a>\n <a class="im_edit_cancel_link" ng-click="selectedCancel()">Cancel</a>\n <div class="im_edit_selected_actions">\n <a class="btn btn-primary im_edit_forward_btn" ng-click="selectedForward()">\n Forward <strong class="im_selected_count" ng-show="selectedCount > 0" ng-bind="selectedCount"></strong>\n </a><a class="btn btn-danger im_edit_delete_btn" ng-click="selectedDelete()">\n Delete <strong class="im_selected_count" ng-show="selectedCount > 0" ng-bind="selectedCount"></strong>\n </a>\n </div>\n </div>\n\n <div class="im_send_panel_wrap" ng-hide="selectActions">\n\n <div class="im_send_form_wrap1">\n\n <div class="im_send_form_wrap clearfix" ng-controller="AppImSendController">\n <div class="pull-right im_panel_peer_photo" ng-click="showPeerInfo()">\n <img\n class="im_panel_peer_photo"\n my-load-thumb\n thumb="historyPeer.photo"\n />\n <i class="icon im_panel_peer_online" ng-show="historyPeer.id > 0 && historyPeer.data.status._ == \'userStatusOnline\'"></i>\n </div>\n <div class="pull-left im_panel_own_photo">\n <img\n class="im_panel_own_photo"\n my-load-thumb\n thumb="ownPhoto"\n />\n </div>\n <form my-send-form draft-message="draftMessage" class="im_send_form" ng-submit="sendMessage($event)">\n <div class="im_send_dropbox_wrap"> Drop photos here to send </div>\n <textarea ng-model="draftMessage.text" placeholder="Write a message..." class="form-control im_message_field"></textarea>\n\n <div class="im_media_attach pull-right">\n <input type="file" class="im_media_attach_input" size="28" multiple="true" accept="image/*, video/*, audio/*" title="Send media"/>\n <i class="icon icon-camera"></i>\n </div>\n\n <div class="im_attach pull-right">\n <input type="file" class="im_attach_input" size="28" multiple="true" title="Send file" />\n <i class="icon icon-paperclip"></i>\n </div>\n\n <div class="im_emoji_btn pull-right">\n <i class="icon icon-emoji"></i>\n </div>\n\n <button type="submit" class="btn btn-success im_submit">Send</button>\n </form>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n\n</div>\n\n<div class="im_page_footer">\n <a class="im_page_footer_brand" target="_blank" href="https://github.com/zhukov/webogram">Telegram alpha</a> by izhukov & toberg\n</div>\n\n<div id="notify_sound"></div>\n\n'),n.put("partials/import_contact_modal.html",'<div class="import_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Add new contact</h4>\n </div>\n\n <div class="modal-body">\n\n <form ng-submit="doImport()">\n\n <div class="form-group import_modal_field_wrap">\n <input class="form-control" my-focused type="text" placeholder="Phone number" ng-model="importContact.phone"/>\n </div>\n <div class="form-group import_modal_field_wrap">\n <input class="form-control" type="text" placeholder="First name" ng-model="importContact.first_name"/>\n </div>\n <div class="form-group import_modal_field_wrap">\n <input class="form-control" type="text" placeholder="Last name" ng-model="importContact.last_name"/>\n </div>\n\n <div class="import_modal_panel clearfix">\n\n <div class="import_modal_actions pull-right">\n <a class="btn btn-default" ng-click="$dismiss()"> Cancel </a>\n\n <button class="btn btn-success" type="submit" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled">\n {{progress.enabled ? \'Importing...\' : \'Save\'}}\n </button>\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>'),n.put("partials/login.html",'<div ng-include="\'partials/head.html\'"></div>\n\n\n<div class="login_form_wrap" my-vertical-position="0.4">\n <div class="error" ng-if="error.message">{{ error.message }}</div>\n <form name="mySendCodeForm" ng-if="!credentials.phone_code_hash" ng-submit="sendCode()">\n <h3 class="login_form_head">Sign in</h3>\n <p class="login_form_lead">Please enter your full phone number with country code.</p>\n\n <div class="form-group" ng-class="{\'has-error\': error.field == \'phone\'}">\n <label class="control-label" for="phone_number" ng-if="error.field == \'phone\'">Incorrect phone number</label>\n <input type="tel" class="form-control" my-focused name="phone_number" ng-model="credentials.phone_number" placeholder="Enter your phone" required>\n </div>\n <button class="btn btn-success btn-block" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled" type="submit">\n {{progress.enabled ? \'Generating keys...\' : \'Next\'}}\n </button>\n </form>\n\n <form name="myLoginForm" ng-if="credentials.phone_code_hash" ng-submit="logIn()">\n <h3 class="login_form_head">{{ credentials.phone_number | phoneNumber }} <small>(<a ng-click="credentials.phone_code_hash = \'\'">edit</a>)</small></h3>\n <p class="login_form_lead">We have sent you a code via SMS.<br/>Please enter it below.</p>\n\n <p class="login_form_lead">\n <span ng-show="callPending.remaining > 0">Telegram will call you in {{callPending.remaining | duration}}</span>\n <span ng-show="!callPending.remaining && !callPending.success">Telegram is calling you</span>\n <span ng-show="!callPending.remaining && callPending.success">Telegram dialed your number</span>\n </p>\n\n <div class="form-group" ng-class="{\'has-error\': error.field == \'phone_code\'}">\n <label class="control-label" for="phone_code" ng-if="error.field == \'phone_code\'">Incorrect SMS code</label>\n <input type="number" my-focused maxlength="5" class="form-control" name="phone_code" ng-model="credentials.phone_code" placeholder="Enter your code" required>\n </div>\n\n <button class="btn btn-success btn-block" type="submit" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled">\n {{progress.enabled ? \'Checking code...\' : \'Sign in\'}}\n </button>\n </form>\n</div>\n'),n.put("partials/message.html",'<div class="im_message_unread_split" bo-if="historyUnread.beforeID == historyMessage.id" ng-show="historyUnread.beforeID == historyMessage.id">\n <ng-pluralize count="historyUnread.count"\n when="{\'one\': \'1 unread message\', \'other\': \'{} unread messages\'}">\n </ng-pluralize>\n</div>\n\n<div class="im_message_outer_wrap" ng-class="{im_message_selected: selectedMsgs[historyMessage.id], im_message_grouped: historyMessage.grouped}" ng-click="toggleMessage(historyMessage.id, $event.target)">\n\n\n <div class="im_message_wrap clearfix" bindonce>\n\n <div class="im_service_message_wrap" bo-if="historyMessage._ == \'messageService\'">\n <div class="im_service_message">\n\n <a ng-click="openUser(historyMessage.from_id)" class="im_message_author" ng-bind-html="historyMessage.fromUser.rFullName"></a>\n\n <span class="im_message_service" bo-switch="historyMessage.action[\'_\']">\n <span bo-switch-when="messageActionChatCreate">\n created the group «<strong ng-bind-html="historyMessage.action.rTitle"></strong>»\n </span>\n <span bo-switch-when="messageActionChatEditTitle">\n changed group name to «<strong ng-bind-html="historyMessage.action.rTitle"></strong>»\n </span>\n <span bo-switch-when="messageActionChatEditPhoto">\n changed group photo\n </span>\n <span bo-switch-when="messageActionChatDeletePhoto">\n removed group photo\n </span>\n <span bo-switch-when="messageActionChatAddUser">\n <span bo-if="historyMessage.from_id != historyMessage.action.user_id">\n invited <a ng-click="openUser(historyMessage.action.user_id)" ng-bind-html="historyMessage.action.user.rFullName"></a>\n </span>\n <span bo-if="historyMessage.from_id == historyMessage.action.user_id">\n returned to group\n </span>\n </span>\n <span bo-switch-when="messageActionChatDeleteUser">\n <span bo-if="historyMessage.from_id != historyMessage.action.user_id">\n kicked <a ng-click="openUser(historyMessage.action.user_id)" ng-bind-html="historyMessage.action.user.rFullName"></a>\n </span>\n <span bo-if="historyMessage.from_id == historyMessage.action.user_id">\n left group\n </span>\n </span>\n\n <span bo-switch-default ng-bind="\'Unsupported action \' + historyMessage.action._"></span>\n </span>\n\n </div>\n\n <a bo-if="historyMessage.action._ == \'messageActionChatEditPhoto\'" class="im_service_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.action.photo.id)">\n <img\n class="im_service_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.action.photo.thumb"\n />\n </a>\n\n </div>\n\n <div bindonce bo-if="historyMessage._ != \'messageService\'" class="im_content_message_wrap">\n <div class="im_content_message_select_area">\n <i class="icon icon-select-tick"></i>\n </div>\n\n <a bo-if="historyMessage.pending || historyMessage.error" ng-click="historyMessage.send()" ng-show="historyMessage.error">\n <i class="icon-message-status icon-message-status-error" tooltip="Try again"></i>\n </a>\n\n <i bo-if="historyMessage.unread || historyMessage.pending" class="icon-message-status" ng-class="{\'icon-message-status-unread\': historyMessage.unread, \'icon-message-status-pending\': historyMessage.pending}" ng-show="!historyMessage.error"></i>\n\n <a ng-click="openUser(historyMessage.from_id)" class="im_message_from_photo pull-left">\n <img\n class="im_message_from_photo"\n my-load-thumb\n thumb="historyMessage.fromPhoto"\n />\n </a>\n <div class="im_message_meta pull-right text-right">\n <span class="im_message_date" bo-bind="historyMessage.date | dateOrTime"></span>\n </div>\n\n <div class="im_message_body">\n\n <a bo-if="historyMessage.to_id.chat_id > 0" class="im_message_author" bo-class="\'user_color_\' + historyMessage.fromPhoto.num" ng-click="openUser(historyMessage.from_id)" ng-bind-html="historyMessage.fromUser.rFullName"></a>\n <a bo-if="!historyMessage.to_id.chat_id" class="im_message_author" ng-click="openUser(historyMessage.from_id)" ng-bind-html="historyMessage.fromUser.rFirstName" ></a>\n\n <div bo-if="historyMessage._ == \'messageForwarded\'" class="im_message_fwd_header">\n Forwarded message from <a class="im_message_fwd_author" ng-click="openUser(historyMessage.fwd_from_id)" ng-bind-html="historyMessage.fwdUser.rFirstName"></a>, <span class="im_message_fwd_date" ng-bind="historyMessage.fwd_date | dateOrTime"></span>\n </div>\n\n <div bo-if="historyMessage.media && historyMessage.media._ != \'messageMediaEmpty\'" class="im_message_media" ng-switch="historyMessage.media._">\n\n <a ng-switch-when="messageMediaPhoto" class="im_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.media.photo.id)" bo-style="{width: historyMessage.media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(historyMessage.media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.media.photo.thumb"\n />\n </a>\n\n <div ng-switch-when="messageMediaVideo" class="im_message_video im_message_document_thumbed">\n <a class="im_message_video_thumb" href="" ng-click="openVideo(historyMessage.media.video.id)" bo-style="{width: historyMessage.media.video.thumb.width + \'px\'}">\n <span class="im_message_video_duration" bo-bind="historyMessage.media.video.duration | duration"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb"\n my-load-thumb\n thumb="historyMessage.media.video.thumb"\n />\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name">Video</span>\n <span class="im_message_document_size" ng-if="!historyMessage.media.video.progress.enabled" bo-bind="historyMessage.media.video.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.video.progress.enabled" ng-bind="historyMessage.media.video.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!historyMessage.media.video.progress.enabled">\n <a href="" ng-click="downloadVideo(historyMessage.media.video.id)">Download</a>\n <a href="" ng-click="openVideo(historyMessage.media.video.id)">Play video</a>\n </div>\n <div class="im_message_download_progress_wrap" ng-if="historyMessage.media.video.progress.enabled">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{historyMessage.media.video.progress.percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{historyMessage.media.video.progress.percent}}%">\n <span class="sr-only">\n {{historyMessage.media.video.progress.percent}}% Complete (success)\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div ng-switch-when="messageMediaDocument" class="im_message_document" ng-class="{im_message_document_thumbed: !!historyMessage.media.document.thumb}">\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id, false, historyMessage.media.document.withPreview)" ng-class="{im_message_document_link_disabled: historyMessage.media.document.progress.enabled}">\n <i class="icon icon-document" bo-if="!historyMessage.media.document.thumb"></i>\n <div class="im_message_document_thumb_wrap" bo-if="historyMessage.media.document.thumb">\n <img\n class="im_message_document_thumb"\n my-load-thumb\n thumb="historyMessage.media.document.thumb"\n />\n </div>\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" bo-bind="historyMessage.media.document.file_name"></span>\n <span class="im_message_document_size" ng-if="!historyMessage.media.document.progress.enabled" bo-bind="historyMessage.media.document.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.document.progress.enabled" ng-bind="historyMessage.media.document.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!historyMessage.media.document.progress.enabled">\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id)">Download</a>\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id, false, true)" bo-if="historyMessage.media.document.withPreview">Open</a>\n </div>\n <div class="im_message_download_progress_wrap" ng-if="historyMessage.media.document.progress.enabled">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: historyMessage.media.document.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n\n\n <div ng-switch-when="messageMediaAudio" class="im_message_document">\n <a href="" ng-click="openAudio(historyMessage.media.audio.id)" ng-if="!historyMessage.media.audio.progress.enabled && !historyMessage.media.audio.url">\n <i class="icon icon-audio"></i>\n </a>\n <i class="icon icon-audio" ng-if="historyMessage.media.audio.progress.enabled || historyMessage.media.audio.url"></i>\n\n <div class="im_message_audio_info">\n <div class="im_message_audio_name_wrap" ng-if="!historyMessage.media.audio.url">\n <span class="im_message_audio_name">\n Voice message\n </span>\n <span class="im_message_audio_duration" ng-if="!historyMessage.media.audio.progress.enabled" bo-bind="historyMessage.media.audio.duration | duration"></span>\n <span class="im_message_audio_size" ng-if="historyMessage.media.audio.progress.enabled" ng-bind="historyMessage.media.audio.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_audio_actions" ng-if="!historyMessage.media.audio.progress.enabled && !historyMessage.media.audio.url">\n <a href="" ng-click="openAudio(historyMessage.media.audio.id)">Play</a>\n </div>\n <div class="im_message_download_progress_wrap" ng-if="historyMessage.media.audio.progress.enabled">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: historyMessage.media.audio.progress.percent + \'%\'}"></div>\n </div>\n </div>\n <div class="im_message_audio_player_wrap" ng-if="historyMessage.media.audio.url">\n <audio my-audio-autoplay audio="historyMessage.media.audio" controls="controls">\n <source bo-src="historyMessage.media.audio.url" type="audio/mpeg" />\n <embed bo-src="historyMessage.media.audio.url" hidden="true" autostart="true" loop="false" />\n </audio>\n </div>\n </div>\n </div>\n\n <a ng-switch-when="messageMediaGeo" my-map-point point="historyMessage.media.geo" class="im_message_geopoint">\n <i class="icon icon-geo-point"></i>\n </a>\n\n <div ng-switch-when="messageMediaContact">\n <a bo-if="historyMessage.media.user" ng-click="openUser(historyMessage.media.user.id)" class="im_message_contact_photo pull-left">\n <img\n class="im_message_contact_photo"\n my-load-thumb\n thumb="historyMessage.media.userPhoto"\n />\n </a>\n <div class="im_message_contact_name" ng-switch="!!historyMessage.media.user">\n <a ng-switch-when="true" ng-click="openUser(historyMessage.media.user.id)" ng-bind-html="historyMessage.media.rFullName"></a>\n <span ng-switch-default ng-bind-html="historyMessage.media.rFullName"></span>\n </div>\n <div class="im_message_contact_phone" bo-bind="historyMessage.media.phone_number | phoneNumber"></div>\n </div>\n\n <div ng-switch-when="messageMediaPending" class="im_message_upload_file" bo-class="\'im_message_upload_\' + historyMessage.media.type">\n <i class="icon" bo-class="\'icon-\' + historyMessage.media.type"></i>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" bo-bind="historyMessage.media.file_name"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.progress" ng-bind="historyMessage.media.progress | formatSizeProgress"></span>\n </div>\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: historyMessage.media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n\n <div class="im_message_text" bo-if="historyMessage.message.length" ng-bind-html="historyMessage.richMessage"></div>\n </div>\n\n </div>\n </div>\n\n</div>\n\n'),n.put("partials/peer_select.html",'<div class="peer_select_modal_wrap">\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Select conversation</h4>\n </div>\n\n <div class="modal-body">\n\n <div class="im_dialogs_modal_col_wrap" ng-controller="AppImDialogsController">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field" type="search" placeholder="Search" ng-model="search.query"/>\n <a class="im_dialogs_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n </div>\n <div my-dialogs-list modal="true" class="im_dialogs_modal_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap content">\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"></li>\n </ul>\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5>Contacts</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-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n </div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" ng-bind-html="contact.user.rFullName"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text">{{contact.user | userStatus}}</span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>'),n.put("partials/photo_modal.html",'<div my-modal-width="{{photo.full.width}}" class="media_modal_wrap photo_modal_wrap" my-modal-position>\n\n <div class="modal-body">\n\n <div class="photo_modal_image_wrap" my-load-full-photo full-photo="photo.full" thumb-location="photo.thumb.location" ng-click="$close()"> </div>\n\n <p class="media_modal_info">From: <span class="media_modal_author" ng-bind-html="photo.fromUser.rFullName" ></span>, {{photo.date | dateOrTime}}</p>\n\n </div>\n\n</div>'),n.put("partials/settings_modal.html",'<div class="settings_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Settings</h4>\n </div>\n\n <div class="modal-body">\n\n <div class="clearfix">\n\n <div class="settings_profile_photo_wrap pull-left">\n\n <div class="settings_profile_photo">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="profile.photo"\n />\n <div class="settings_profile_photo_change_wrap">\n <div ng-if="photo.updating" class="settings_profile_photo_loading">Updating<span my-loading-dots></span></div>\n <div ng-if="!photo.updating">\n <div class="settings_profile_photo_update_link">\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" />\n Update photo\n </div>\n <a ng-if="profile.photo.location" href="" ng-click="deletePhoto()" class="settings_profile_photo_delete_link">Delete photo</a>\n </div>\n </div>\n </div>\n\n </div>\n\n <form my-settings-form name="profileForm" class="settings_profile_edit_form">\n\n <div class="form-group settings_profile_first_name" ng-class="{\'has-error\': error.field == \'first_name\'}">\n <label class="control-label" for="first_name">\n <span ng-if="error.field == \'first_name\'">Invalid First Name</span>\n <span ng-if="error.field != \'first_name\'">First Name</span>\n </label>\n <input type="text" class="form-control" name="first_name" ng-model="profile.first_name" required />\n </div>\n\n <div class="form-group settings_profile_last_name" ng-class="{\'has-error\': error.field == \'last_name\'}">\n <label class="control-label" for="last_name">\n <span ng-if="error.field == \'last_name\'">Invalid Last Name</span>\n <span ng-if="error.field != \'last_name\'">Last Name</span>\n </label>\n <input type="text" class="form-control" name="last_name" ng-model="profile.last_name" />\n </div>\n\n <div class="settings_profile_save">\n <button class="btn btn-link settings_profile_save_btn" ng-click="save(profileForm)" ng-disabled="profileForm.$invalid || (!profileForm.last_name.$dirty && !profileForm.first_name.$dirty)">Save</button>\n </div>\n\n </form>\n\n </div>\n\n <form class="settings_send_choose_form">\n <div class="radio">\n <label>\n <input type="radio" value="1" ng-model="send.enter">\n <strong>Enter</strong> - send message, <strong>Shift + Enter</strong> - new line\n </label>\n </div>\n <div class="radio">\n <label>\n <input type="radio" value="" ng-model="send.enter">\n <strong>Ctrl + Enter</strong> - send message, <strong>Enter</strong> - new line\n </label>\n </div>\n </form>\n\n <p>\n <strong>Sound: </strong>\n <a ng-click="notify.sound = !notify.sound">{{notify.sound ? \'ON\' : \'OFF\'}}</a>\n </p>\n\n <p>\n <strong>Desktop Notifications: </strong>\n <a ng-click="notify.desktop = !notify.desktop">{{notify.desktop ? \'ON\' : \'OFF\'}}</a>\n </p>\n\n <p>\n <strong>User: </strong>\n <span class="settings_user_phone">{{phone | phoneNumber}}</span>\n </p>\n\n <p>\n <strong>Version: </strong>\n <span class="settings_version">alpha 0.0.21</span>\n </p>\n\n <hr/>\n\n <div class="settings_logout_wrap">\n <a href="" ng-click="logOut()">Log out</a>\n </div>\n </div>\n</div>\n'),n.put("partials/user_modal.html",'<div class="user_modal_wrap" my-modal-position>\n\n <div class="modal-header">\n <a class="modal-close-link" ng-click="$close()">Close</a>\n <h4 class="modal-title">Info</h4>\n </div>\n\n\n <div class="modal-body">\n\n <div class="user_modal_image_wrap pull-left">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="userPhoto"\n />\n </div>\n\n <div class="user_modal_info_wrap clearfix">\n <h4 class="user_modal_header">{{user | userName}}</h4>\n <p class="user_modal_status" ng-if="user.status">{{user | userStatus}}</p>\n\n <p class="user_modal_phone" ng-if="user.phone">{{user.phone | phoneNumber}}</p>\n\n <div class="user_modal_actions_wrap clearfix">\n <button class="btn btn-primary user_modal_send_btn" ng-click="goToHistory()">Send message</button>\n\n <div class="dropdown user_modal_other_btn">\n <button class="btn btn-link dropdown-toggle">More<i class="icon icon-caret"></i></button>\n <ul class="dropdown-menu">\n <li ng-if="user._ == \'userContact\'">\n <a ng-click="importContact(true)">Edit</a>\n </li>\n <li ng-if="user._ == \'userContact\'">\n <a ng-click="deleteContact()">Delete Contact</a>\n </li>\n <li ng-if="user.phone.length > 0 && user._ != \'userContact\'">\n <a ng-click="importContact()">Add to contacts</a>\n </li>\n <li ng-if="user.phone.length > 0">\n <a ng-click="shareContact()">Share contact</a>\n </li>\n <li>\n <a ng-click="flushHistory()">Delete chat</a>\n </li>\n </ul>\n </div>\n\n </div>\n </div>\n\n <div class="user_modal_settings_wrap">\n <div class="user_modal_notifications">\n Notifications:\n <a ng-click="settings.notifications = !settings.notifications">\n {{settings.notifications ? \'ON\' : \'OFF\'}}\n </a>\n </div>\n </div>\n\n </div>\n\n</div>'),n.put("partials/video_modal.html",'<div class="media_modal_wrap video_modal_wrap" my-modal-position>\n\n <div class="modal-body">\n\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n <p class="media_modal_info">From: <span class="media_modal_author" ng-bind-html="video.fromUser.rFullName"></span>, {{video.date | dateOrTime}}</p>\n\n </div>\n\n</div>'),n.put("partials/welcome.html",'<div ng-include="\'partials/head.html\'"></div>\n\n\n<div ng-show="showWelcome">\n\n <div class="welcome_logo"></div>\n\n <div class="welcome_box_wrap">\n <div class="welcome_text">\n <p>Welcome to an unofficial web-client of mobile <strong>Telegram</strong> messenger.</p>\n <p>It is an alpha, which means it is still not 200% secure and functional.</p>\n <p>Visit <a target="_blank" href="https://telegram.org/">telegram.org</a> to learn more.</p>\n </div>\n <a href="#/login" class="btn btn-success btn-block">Start Messaging</a>\n </div>\n\n</div>\n') |
|
|
}]); |
|
|
"use strict";angular.module("myApp.directives",["myApp.filters"]).directive("myDialog",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/dialog.html"}}).directive("myMessage",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/message.html"}}).directive("myDialogsList",["$window","$timeout",function(e,t){function o(o,i,r){function n(){return r.modal?($(i).css({height:$(e).height()-200}),void u()):(l&&l.offsetHeight||(l=$(".tg_page_head")[0]),c&&c.offsetHeight||(c=$(".im_page_footer")[0]),$(i).css({height:$(e).height()-c.offsetHeight-(l?l.offsetHeight:44)-72}),void u())}var a=$(".im_dialogs_wrap",i)[0],s=$(".im_dialogs_scrollable_wrap",i)[0],l=$(".tg_page_head")[0],c=$(".im_page_footer")[0],d=!1;onContentLoaded(function(){$(a).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0})});var u=function(){onContentLoaded(function(){$(a).nanoScroller()})};o.$on("ui_dialogs_prepend",u),o.$on("ui_dialogs_append",function(){onContentLoaded(function(){u(),d=!1,t(function(){$(s).trigger("scroll")})})}),o.$on("ui_dialogs_change",function(){onContentLoaded(function(){u(),d=!1,t(function(){$(s).trigger("scroll")})})}),$(s).on("scroll",function(){!d&&s.scrollTop>=s.scrollHeight-s.clientHeight-300&&(o.$emit("dialogs_need_more"),d=!0)}),$(e).on("resize",n),n(),setTimeout(n,1e3)}return{link:o}}]).directive("myContactsList",["$window","$timeout",function(e){function t(t,o){function i(){$(o).css({height:$(e).height()-(n&&n.offsetHeight||0)-(r&&r.offsetHeight||0)-200}),$(a).nanoScroller()}var r=$(".contacts_modal_search")[0],n=$(".contacts_modal_panel")[0],a=$(".contacts_wrap",o)[0];onContentLoaded(function(){$(a).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0}),i()}),$(e).on("resize",i),t.$on("contacts_change",function(){onContentLoaded(i)})}return{link:t}}]).directive("myHistory",["$window","$timeout","$transition",function(e,t,o){function i(i,r){function n(t){if(r.is(":visible")&&$(r[0].parentNode).is(":visible")){$(f).is(":visible")&&$(f).css({height:$(_).height()}),p&&p.offsetHeight||(p=$(".tg_page_head")[0]),m&&m.offsetHeight||(m=$(".im_page_footer")[0]);var o=$(e).height()-h.offsetHeight-g.offsetHeight-(p?p.offsetHeight:44)-m.offsetHeight;$(s).css({height:o}),$(c).css({minHeight:o-44}),a(),t!==!0&&(k&&onContentLoaded(function(){d.scrollTop=d.scrollHeight,b()}),b(100))}}function a(){$(l).css({marginTop:0}),l.offsetHeight>0&&l.offsetHeight<=d.offsetHeight&&$(l).css({marginTop:d.offsetHeight-l.offsetHeight-20-44+"px"}),$(s).nanoScroller()}var s=$(".im_history_wrap",r)[0],l=$(".im_history_messages",r)[0],c=$(".im_history",r)[0],d=$(".im_history_scrollable_wrap",r)[0],u=$(".im_history_scrollable",r)[0],h=$(".im_history_panel_wrap",r)[0],g=$(".im_bottom_panel_wrap",r)[0],f=$(".im_send_form_wrap",r)[0],p=$(".tg_page_head")[0],m=$(".im_page_footer")[0],_=$(".im_send_form",r)[0],v=!1;onContentLoaded(function(){d.scrollTop=d.scrollHeight,$(s).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0})});var y,b=function(e){t(function(){$(d).hasClass("im_history_to_bottom")||$(s).nanoScroller()},e||0)},w=!1,C=["transform","webkitTransform","MozTransform","msTransform","OTransform"];for(y=0;y<C.length;y++)if(C[y]in l.style){w=C[y];break}var H=w?!0:!1,T=!1;i.$on("ui_history_append",function(e,t){if(k||t.my){H||($(u).css({bottom:0}),$(d).addClass("im_history_to_bottom"));var i=d.scrollHeight;onContentLoaded(function(){if(H){T=!0,$(l).removeClass("im_history_appending"),d.scrollTop=d.scrollHeight,$(l).css(w,"translate(0px, "+(d.scrollHeight-i)+"px)"),$(s).nanoScroller();var e={};e[w]="translate(0px, 0px)",$(l).addClass("im_history_appending"),o($(l),e).then(function(){T=!1,$(l).removeClass("im_history_appending"),a()})}else $(d).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),d.scrollTop=d.scrollHeight,a(),$(s).nanoScroller()})}}),i.$on("ui_history_change",function(){$(d).addClass("im_history_to_bottom"),$(u).css({bottom:0}),onContentLoaded(function(){$(d).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),n(!0);var e=$(".im_message_unread_split",d);e[0]?(d.scrollTop=Math.max(0,e[0].offsetTop-52),k=!1):d.scrollTop=d.scrollHeight,b(),v=!1,t(function(){$(d).trigger("scroll")})})}),i.$on("ui_history_focus",function(){k||(d.scrollTop=d.scrollHeight,b(),k=!0)}),i.$on("ui_history_prepend",function(){var e=d.scrollHeight,o=d.scrollTop,i=d.clientHeight;$(d).addClass("im_history_to_bottom"),d.scrollHeight,$(u).css({bottom:-(e-o-i)}),onContentLoaded(function(){$(d).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),d.scrollTop=o+d.scrollHeight-e,a(),v=!1,t(function(){$(d).trigger("scroll")})})}),i.$on("ui_panel_update",function(){onContentLoaded(function(){n(),i.$broadcast("ui_message_send"),t(function(){$(d).trigger("scroll")})})}),i.$on("ui_editor_resize",n);var k=!0;$(d).on("scroll",function(e){return $(d).hasClass("im_history_to_bottom")?cancelEvent(e):void(T||(k=d.scrollTop>=d.scrollHeight-d.clientHeight,!v&&d.scrollTop<=300&&(v=!0,i.$emit("history_need_more"))))}),$(e).on("resize",n),n(),onContentLoaded(n)}return{link:i}}]).directive("mySendForm",["$timeout","AppConfigManager",function(e,t){function o(o,i){function r(){if(v){e.cancel(y);var t=$("<div>").text(o.draftMessage.text||"").html();t=t.replace(/\n/g,"<br/>"),$(v).html(t),a()}}function n(){v&&($(v).trigger("change"),a())}function a(){var e=v.offsetHeight;H!=e&&(H=e,o.$emit("ui_editor_resize"))}function s(){onContentLoaded(function(){_.focus()})}function l(e){var t,i=e&&e.target;if(i&&(t=i.src)&&0===t.indexOf("data")){i.parentNode.removeChild(i),t=t.substr(5).split(";");for(var r=t[0],n=atob(t[1].split(",")[1]),a=new Uint8Array(n.length),s=0;s<n.length;s++)a[s]=n.charCodeAt(s);var l=new Blob([a],{type:r});safeConfirm("Are you sure to send file(s) from clipboard?")&&o.$apply(function(){o.draftMessage.files=[l],o.draftMessage.isMedia=!0})}}function c(e){var t,i=(e.originalEvent||e).clipboardData,r=i&&i.items||[],n=[];for(t=0;t<r.length;t++)"file"==r[t].kind&&n.push(r[t].getAsFile());n.length&&safeConfirm("Are you sure to send file(s) from clipboard?")&&o.$apply(function(){o.draftMessage.files=n,o.draftMessage.isMedia=!0})}function d(e){var t=!1;return u&&1!=u||(u=checkDragEvent(e)?2:1,t=!0),2==u&&(h&&setTimeout(function(){clearTimeout(h),h=!1},0),"dragenter"==e.type||"dragover"==e.type?t&&$(p).css({height:$(_).height()+12,width:$(_).width()+12}).show():("drop"==e.type&&o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.originalEvent.dataTransfer.files),o.draftMessage.isMedia=!0}),h=setTimeout(function(){$(p).hide(),u=!1,h=!1},300))),cancelEvent(e)}var u,h,g=$("textarea",i)[0],f=$("input",i),p=$(".im_send_dropbox_wrap",i)[0],m=$(".im_emoji_btn",i)[0],_=g,v=($(g).emojiarea({button:m,norealTime:!0}),$(".emoji-menu",i)[0],$(".emoji-wysiwyg-editor",i)[0]);if(v){_=v,$(v).addClass("form-control"),$(v).attr("placeholder",$(g).attr("placeholder"));var y;$(v).on("keyup",function(){a(),o.draftMessage.text=v.innerText,e.cancel(y),y=e(n,1e3)})}f.on("change",function(){var e=this;o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.files),o.draftMessage.isMedia=$(e).hasClass("im_media_attach_input"),setTimeout(function(){try{e.value=""}catch(t){}},1e3)})});var b=!0,w=function(){t.get("send_ctrlenter").then(function(e){b=!e})};o.$on("settings_changed",w),w(),$(_).on("keydown",function(e){if(v&&a(),13==e.keyCode){var t=!1;if(b&&!e.shiftKey?t=!0:b||!e.ctrlKey&&!e.metaKey||(t=!0),t)return $(i).trigger("submit"),cancelEvent(e)}});var C=0;$(_).on("keyup",function(){var e=tsNow();5e3>e-C||(C=e,o.$emit("ui_typing"))});var H=v.offsetHeight;$("body").on("dragenter dragleave dragover drop",d),$(document).on("paste",c),v&&$(v).on("DOMNodeInserted",l),o.$on("ui_peer_change",s),o.$on("ui_history_focus",s),o.$on("ui_history_change",s),o.$on("ui_message_send",s),o.$on("ui_peer_draft",r),o.$on("ui_message_before_send",n),o.$on("$destroy",function(){$("body").off("dragenter dragleave dragover drop",d),$(document).off("paste",c),v&&$(v).off("DOMNodeInserted",l)}),s()}return{link:o,scope:{draftMessage:"="}}}]).directive("myLoadThumb",["MtpApiFileManager",function(e){function t(t,o){var i=0,r=e.getCachedFile(t.thumb&&t.thumb.location&&!t.thumb.location.empty&&t.thumb.location);r&&o.attr("src",r),t.thumb&&t.thumb.width&&t.thumb.height&&(o.attr("width",t.thumb.width),o.attr("height",t.thumb.height));var n=(t.$watchCollection("thumb.location",function(r){t.thumb&&t.thumb.width&&t.thumb.height&&(o.attr("width",t.thumb.width),o.attr("height",t.thumb.height));var a=++i;if(!r||r.empty)return o.attr("src",t.thumb&&t.thumb.placeholder||"img/blank.gif"),void n();var s=e.getCachedFile(r);return s?(o.attr("src",s),void n()):(o.attr("src")||o.attr("src",t.thumb.placeholder||"img/blank.gif"),void e.downloadSmallFile(t.thumb.location,t.thumb.size).then(function(e){a==i&&(o.attr("src",e),n())},function(e){console.log("Download image failed",e,t.thumb.location),a==i&&(o.attr("src",t.thumb.placeholder||"img/blank.gif"),n())}))}),angular.noop)}return{link:t,scope:{thumb:"="}}}]).directive("myLoadFullPhoto",["MtpApiFileManager",function(e){function t(t,o){var i=$("img",o);if(i.attr("src",e.getCachedFile(t.thumbLocation)||"img/blank.gif").addClass("thumb_blurred").addClass("thumb_blur_animation"),t.fullPhoto.location){var r;if(t.fullPhoto.size){var n={_:"inputFileLocation",volume_id:t.fullPhoto.location.volume_id,local_id:t.fullPhoto.location.local_id,secret:t.fullPhoto.location.secret};r=e.downloadFile(t.fullPhoto.location.dc_id,n,t.fullPhoto.size)}else r=e.downloadSmallFile(t.fullPhoto.location);t.progress={enabled:!0,percent:1},r.then(function(e){t.progress.enabled=!1,i.attr("src",e).removeClass("thumb_blurred")},function(e){console.log("Download image failed",e,t.fullPhoto.location),t.progress.enabled=!1,t.error=e&&"FS_BROWSER_UNSUPPORTED"==e.type?{html:'Your browser doesn\'t support <a href="https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem" target="_blank">LocalFileSystem</a> feature which is needed to display this image.<br/>Please, install <a href="http://google.com/chrome" target="_blank">Google Chrome</a> or use <a href="https://telegram.org/" target="_blank">mobile app</a> instead.'}:{text:"Download failed",error:e}},function(e){t.progress.percent=Math.max(1,Math.floor(100*e.done/e.total))})}}return{link:t,transclude:!0,template:'<div class="img_fullsize_with_progress_wrap" ng-style="{width: fullPhoto.width + \'px\', height: fullPhoto.height + \'px\'}"> <div class="img_fullsize_progress_overlay" ng-show="progress.enabled"> <div class="img_fullsize_progress_wrap" ng-style="{width: fullPhoto.width + \'px\', height: fullPhoto.height + \'px\'}"> <div class="img_fullsize_progress progress tg_progress"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{progress.percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{progress.percent}}%"> <span class="sr-only">{{progress.percent}}% Complete (success)</span> </div> </div> </div> </div> <div class="photo_full_wrap"> <a class="photo_modal_image"> <img class="photo_modal_image" width="{{fullPhoto.width}}" height="{{fullPhoto.height}}" /> </a> </div> <div class="photo_modal_error_wrap" ng-if="error"> <div class="photo_modal_error" ng-if="error.html" ng-bind-html="error.html"></div> <div class="photo_modal_error" ng-if="error.text">{{error.text}}</div> </div> </div>',scope:{fullPhoto:"=",thumbLocation:"="}}}]).directive("myLoadVideo",["$sce","MtpApiFileManager",function(e,t){function o(o){o.progress={enabled:!0,percent:1},o.player={};var i,r={_:"inputVideoFileLocation",id:o.video.id,access_hash:o.video.access_hash},n=!1;if(navigator.plugins)for(i=0;i<navigator.plugins.length;i++)navigator.plugins[i].name.indexOf("QuickTime")>=0&&(n=!0);t.downloadFile(o.video.dc_id,r,o.video.size,null,{mime:"video/mp4"}).then(function(t){o.progress.enabled=!1,o.player.hasQuicktime=n,o.player.quicktime=!1,o.player.src=e.trustAsResourceUrl(t)},function(e){console.log("Download video failed",e,o.video),o.progress.enabled=!1,o.player.src="",o.error=e&&"FS_BROWSER_UNSUPPORTED"==e.type?{html:'Your browser doesn\'t support <a href="https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem" target="_blank">LocalFileSystem</a> feature which is needed to play this video.<br/>Please, install <a href="http://google.com/chrome" target="_blank">Google Chrome</a> or use <a href="https://telegram.org/" target="_blank">mobile app</a> instead.'}:{text:"Video download failed",error:e}},function(e){o.progress.percent=Math.max(1,Math.floor(100*e.done/e.total))})}return{link:o,transclude:!0,template:'<div class="img_fullsize_with_progress_wrap" ng-style="{width: video.full.width + \'px\', height: video.full.height + \'px\'}"> <div class="img_fullsize_progress_overlay" ng-show="progress.enabled"> <div class="img_fullsize_progress_wrap" ng-style="{width: video.full.width + \'px\', height: video.full.height + \'px\'}"> <div class="img_fullsize_progress progress tg_progress"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{progress.percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{progress.percent}}%"> <span class="sr-only">{{progress.percent}}% Complete (success)</span> </div> </div> </div> </div> <div class="img_fullsize_wrap" ng-if="!player.src"> <img class="img_fullsize" my-load-thumb thumb="video.fullThumb" /> </div> <div class="video_full_player" ng-if="player.src"> <embed ng-src="{{player.src}}" width="{{video.full.width}}" height="{{video.full.height}}" autoplay="true" CONTROLLER="TRUE" SHOWCONTROLS="TRUE" controller="true" loop="false" pluginspace="http://www.apple.com/quicktime/" ng-if="player.quicktime"/> <video width="{{video.full.width}}" height="{{video.full.height}}" controls autoplay ng-if="!player.quicktime"> <source ng-src="{{player.src}}" type="video/mp4"> </video> </div> <div class="video_full_error_wrap" ng-if="error"> <div class="video_full_error" ng-if="error.html" ng-bind-html="error.html"></div> <div class="video_full_error" ng-if="error.text">{{error.text}}</div> </div> </div>',scope:{video:"="}}}]).directive("myMapPoint",["ExternalResourcesManager",function(e){function t(t,o){var i="AIzaSyC32ij28dCa0YzEV_HqbWfIwTZQql-RNS0",r="https://maps.googleapis.com/maps/api/staticmap?sensor=false¢er="+t.point.lat+","+t.point["long"]+"&zoom=13&size=200x100&scale=2&key="+i;e.downloadImage(r).then(function(e){o.append('<img src="'+e+'" width="200" height="100"/>')}),o.attr("href","https://maps.google.com/?q="+t.point.lat+","+t.point["long"]),o.attr("target","_blank")}return{link:t,scope:{point:"="}}}]).directive("myLoadingDots",["$interval",function(e){function t(t,o){var i=e(function(){var e=tsNow(),t=3;200>=e%1e3?t=0:400>=e%1e3?t=1:600>=e%1e3&&(t=2);var i="...",r=i.substr(0,t+1)+(2>t?'<span class="text-invisible">'+i.substr(t+1)+"</span>":"");o.html(r)},200);t.$on("$destroy",function(){e.cancel(i)})}return{link:t}}]).directive("myAudioAutoplay",function(){function e(e,t){e.$watch("audio.autoplay",function(e){e?(t.autoplay=!0,t[0].play()):t.autoplay=!1})}return{link:e,scope:{audio:"="}}}).directive("myFocused",function(){return{link:function(e,t){setTimeout(function(){t[0].focus()},100)}}}).directive("myFileUpload",function(){function e(e,t){t.on("change",function(){var t=this;e.$apply(function(){e.photo.file=t.files[0],setTimeout(function(){try{t.value=""}catch(e){}},1e3)})})}return{link:e}}).directive("myModalWidth",function(){function e(e,t,o){o.$observe("myModalWidth",function(e){$(t[0].parentNode.parentNode).css({width:parseInt(e)+36})})}return{link:e}}).directive("myModalPosition",["$window","$timeout",function(e,t){function o(o,i){var r=function(){var e=i[0].parentNode.offsetHeight,o=i[0].parentNode.parentNode.parentNode.offsetHeight;o>e?$(i[0].parentNode).css("marginTop",(o-e)/2):$(i[0].parentNode).css("marginTop",""),t(function(){$(i[0].parentNode).addClass("modal-content-animated")},300)};onContentLoaded(r),$(e).on("resize",r),o.$on("ui_height",function(){onContentLoaded(r)})}return{link:o}}]).directive("myVerticalPosition",["$window","$timeout",function(e){function t(t,o,i){var r=function(){var t=o[0].offsetHeight,r=$(e).height(),n=i.myVerticalPosition&&parseFloat(i.myVerticalPosition)||.5,a=r>t?parseInt((r-t)*n):"";o.css({marginTop:a,marginBottom:a})};onContentLoaded(r),$(e).on("resize",r),t.$on("ui_height",function(){onContentLoaded(r)})}return{link:t}}]); |