UNPKG

hurbis-ui-v1

Version:

Biblioteca com componentes de interface de usuário para AngularJS em TypeScript.

35 lines 122 kB
/**
 * @license AngularJS v1.7.2
 * (c) 2010-2018 Google, Inc. http://angularjs.org
 * License: MIT
 */
(function(n,t){"use strict";function e(){function i(t,i,f,e){return function(o,s,h){if(!h.hasOwnProperty(r)){var c=h.$normalize(i);!n[c]||u(s,f)||h[c]||o.$watch(h[t],function(n){n=e?!n:!!n;s.attr(i,n)})}}}var n={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeydown:!0,bindRoleForClick:!0};this.config=function(i){n=t.extend(n,i)};this.$get=function(){return{config:function(t){return n[t]},$$watchExpr:i}}}var r="ngAriaDisable",f=t.module("ngAria",["ng"]).info({angularVersion:"1.7.2"}).provider("$aria",e),i=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],u=function(n,t){if(t.indexOf(n[0].nodeName)!==-1)return!0};f.directive("ngShow",["$aria",function(n){return n.$$watchExpr("ngShow","aria-hidden",[],!0)}]).directive("ngHide",["$aria",function(n){return n.$$watchExpr("ngHide","aria-hidden",[],!1)}]).directive("ngValue",["$aria",function(n){return n.$$watchExpr("ngValue","aria-checked",i,!1)}]).directive("ngChecked",["$aria",function(n){return n.$$watchExpr("ngChecked","aria-checked",i,!1)}]).directive("ngReadonly",["$aria",function(n){return n.$$watchExpr("ngReadonly","aria-readonly",i,!1)}]).directive("ngRequired",["$aria",function(n){return n.$$watchExpr("ngRequired","aria-required",i,!1)}]).directive("ngModel",["$aria",function(n){function t(t,r,f,e){return n.config(r)&&!f.attr(t)&&(e||!u(f,i))&&(f.attr("type")!=="hidden"||f[0].nodeName!=="INPUT")}function f(n,t){return!t.attr("role")&&t.attr("type")===n&&!u(t,i)}function e(n){var i=n.type,t=n.role;return(i||t)==="checkbox"||t==="menuitemcheckbox"?"checkbox":(i||t)==="radio"||t==="menuitemradio"?"radio":i==="range"||t==="progressbar"||t==="slider"?"range":""}return{restrict:"A",require:"ngModel",priority:200,compile:function(i,u){if(!u.hasOwnProperty(r)){var o=e(u,i);return{post:function(i,r,u,e){function h(){return e.$modelValue}function c(){var n=u.value==e.$viewValue;r.attr("aria-checked",n)}function l(){r.attr("aria-checked",!e.$isEmpty(e.$viewValue))}var s=t("tabindex","tabindex",r,!1);switch(o){case"radio":case"checkbox":f(o,r)&&r.attr("role",o);t("aria-checked","ariaChecked",r,!1)&&i.$watch(h,o==="radio"?c:l);s&&r.attr("tabindex",0);break;case"range":if(f(o,r)&&r.attr("role","slider"),n.config("ariaValue")){var a=!r.attr("aria-valuemin")&&(u.hasOwnProperty("min")||u.hasOwnProperty("ngMin")),v=!r.attr("aria-valuemax")&&(u.hasOwnProperty("max")||u.hasOwnProperty("ngMax")),y=!r.attr("aria-valuenow");a&&u.$observe("min",function(n){r.attr("aria-valuemin",n)});v&&u.$observe("max",function(n){r.attr("aria-valuemax",n)});y&&i.$watch(h,function(n){r.attr("aria-valuenow",n)})}s&&r.attr("tabindex",0)}!u.hasOwnProperty("ngRequired")&&e.$validators.required&&t("aria-required","ariaRequired",r,!1)&&u.$observe("required",function(){r.attr("aria-required",!!u.required)});t("aria-invalid","ariaInvalid",r,!0)&&i.$watch(function(){return e.$invalid},function(n){r.attr("aria-invalid",!!n)})}}}}}}]).directive("ngDisabled",["$aria",function(n){return n.$$watchExpr("ngDisabled","aria-disabled",i,!1)}]).directive("ngMessages",function(){return{restrict:"A",require:"?ngMessages",link:function(n,t,i){i.hasOwnProperty(r)||t.attr("aria-live")||t.attr("aria-live","assertive")}}}).directive("ngClick",["$aria","$parse",function(n,t){return{restrict:"A",compile:function(f,e){if(!e.hasOwnProperty(r)){var o=t(e.ngClick);return function(t,r,f){if(!u(r,i)&&(n.config("bindRoleForClick")&&!r.attr("role")&&r.attr("role","button"),n.config("tabindex")&&!r.attr("tabindex")&&r.attr("tabindex",0),n.config("bindKeydown")&&!f.ngKeydown&&!f.ngKeypress&&!f.ngKeyup))r.on("keydown",function(n){function r(){o(t,{$event:n})}var i=n.which||n.keyCode;(i===32||i===13)&&t.$apply(r)})}}}}}]).directive("ngDblclick",["$aria",function(n){return function(t,f,e){e.hasOwnProperty(r)||!n.config("tabindex")||f.attr("tabindex")||u(f,i)||f.attr("tabindex",0)}}])})(window,window.angular);
/**
 * @license AngularJS v1.7.2
 * (c) 2010-2018 Google, Inc. http://angularjs.org
 * License: MIT
 */
(function(n,t){"use strict";function si(n,t,i){if(!n)throw nr("areq","Argument '{0}' is {1}",t||"?",i||"required");return n}function hi(n,t){return!n&&!t?"":n?t?(c(n)&&(n=n.join(" ")),c(t)&&(t=t.join(" ")),n+" "+t):n:t}function tr(n){var t={};return n&&(n.to||n.from)&&(t.to=n.to,t.from=n.from),t}function h(n,t,r){var u="";return n=c(n)?n:n&&o(n)&&n.length?n.split(/\s+/):[],i(n,function(n,i){n&&n.length>0&&(u+=i>0?" ":"",u+=r?t+n:n+t)}),u}function ir(n,t){var i=n.indexOf(t);t>=0&&n.splice(i,1)}function ci(n){if(n instanceof r)switch(n.length){case 0:return n;case 1:if(n[0].nodeType===b)return n;break;default:return r(vt(n))}if(n.nodeType===b)return r(n)}function vt(n){var t,i;if(!n[0])return n;for(t=0;t<n.length;t++)if(i=n[t],i.nodeType===b)return i}function rr(n,t,r){i(t,function(t){n.addClass(t,r)})}function ur(n,t,r){i(t,function(t){n.removeClass(t,r)})}function k(n){return function(t,i){i.addClass&&(rr(n,t,i.addClass),i.addClass=null);i.removeClass&&(ur(n,t,i.removeClass),i.removeClass=null)}}function d(n){if(n=n||{},!n.$$prepared){var t=n.domOperation||f;n.domOperation=function(){n.$$domOperationFired=!0;t();t=f};n.$$prepared=!0}return n}function y(n,t){li(n,t);ai(n,t)}function li(n,t){t.from&&(n.css(t.from),t.from=null)}function ai(n,t){t.to&&(n.css(t.to),t.to=null)}function g(n,t,i){var r=t.options||{},u=i.options||{},s=(r.addClass||"")+" "+(u.addClass||""),h=(r.removeClass||"")+" "+(u.removeClass||""),e=fr(n.attr("class"),s,h),o;return u.preparationClasses&&(r.preparationClasses=tt(u.preparationClasses,r.preparationClasses),delete u.preparationClasses),o=r.domOperation!==f?r.domOperation:null,dt(r,u),o&&(r.domOperation=o),r.addClass=e.addClass?e.addClass:null,r.removeClass=e.removeClass?e.removeClass:null,t.addClass=r.addClass,t.removeClass=r.removeClass,r}function fr(n,t,r){function s(n){o(n)&&(n=n.split(" "));var t={};return i(n,function(n){n.length&&(t[n]=!0)}),t}var e=1,h=-1,f={},u;return n=s(n),t=s(t),i(t,function(n,t){f[t]=e}),r=s(r),i(r,function(n,t){f[t]=f[t]===e?null:h}),u={addClass:"",removeClass:""},i(f,function(t,i){var r,f;t===e?(r="addClass",f=!n[i]||n[i+et]):t===h&&(r="removeClass",f=n[i]||n[i+ft]);f&&(u[r].length&&(u[r]+=" "),u[r]+=i)}),u}function u(n){return n instanceof r?n[0]:n}function er(n,t,i){var r="";t&&(r=h(t,ti,!0));i.addClass&&(r=tt(r,h(i.addClass,ft)));i.removeClass&&(r=tt(r,h(i.removeClass,et)));r.length&&(i.preparationClasses=r,n.addClass(r))}function or(n,t){t.preparationClasses&&(n.removeClass(t.preparationClasses),t.preparationClasses=null);t.activeClasses&&(n.removeClass(t.activeClasses),t.activeClasses=null)}function nt(n,t){var i=t?"-"+t+"s":"";return p(n,[v,i]),[v,i]}function yt(n,t){var i=t?"paused":"",r=s+di;return p(n,[r,i]),[r,i]}function p(n,t){var i=t[0],r=t[1];n.style[i]=r}function tt(n,t){return n?t?n+" "+t:n:t}function yr(n){return[at,n+"s"]}function pt(n,t){var i=t?lt:v;return[i,n+"s"]}function vi(n,t,r){var u=Object.create(null),f=n.getComputedStyle(t)||{};return i(r,function(n,t){var i=f[n],r;i&&(r=i.charAt(0),(r==="-"||r==="+"||r>=0)&&(i=pr(i)),i===0&&(i=null),u[t]=i)}),u}function pr(n){var t=0,r=n.split(/\s*,\s*/);return i(r,function(n){n.charAt(n.length-1)==="s"&&(n=n.substring(0,n.length-1));n=parseFloat(n)||0;t=t?Math.max(n,t):n}),t}function wt(n){return n===0||n!=null}function yi(n,t){var i=e,r=n+"s";return t?i+=ct:r+=" linear all",[i,r]}function pi(){var n=Object.create(null);return{flush:function(){n=Object.create(null)},count:function(t){var i=n[t];return i?i.total:0},get:function(t){var i=n[t];return i&&i.value},put:function(t,i){n[t]?n[t].total++:n[t]={total:1,value:i}}}}function wi(n,t,r){i(r,function(i){n[i]=gt(n[i])?n[i]:t.style.getPropertyValue(i)})}var b=1,ft="-add",et="-remove",ti="ng-",bi="-active",ki="-prepare",ii="ng-animate",ot="$$ngAnimateChildren",ri="",e,st,s,ht;n.ontransitionend===undefined&&n.onwebkittransitionend!==undefined?(ri="-webkit-",e="WebkitTransition",st="webkitTransitionEnd transitionend"):(e="transition",st="transitionend");n.onanimationend===undefined&&n.onwebkitanimationend!==undefined?(ri="-webkit-",s="WebkitAnimation",ht="webkitAnimationEnd animationend"):(s="animation",ht="animationend");var ct="Duration",ui="Property",fi="Delay",ei="TimingFunction",di="PlayState",gi=9999,lt=s+fi,at=s+ct,v=e+fi,oi=e+ct,nr=t.$$minErr("ng");var sr=["$$rAF",function(n){function r(n){i=i.concat(n);u()}function u(){var f,r;if(i.length){for(f=i.shift(),r=0;r<f.length;r++)f[r]();t||n(function(){t||u()})}}var i,t;return i=r.queue=[],r.waitUntilQuiet=function(i){t&&t();t=n(function(){t=null;i();u()})},r}],hr=["$interpolate",function(n){return{link:function(t,i,r){function f(n){n=n==="on"||n==="true";i.data(ot,n)}var u=r.ngAnimateChildren;o(u)&&u.length===0?i.data(ot,!0):(f(n(u)(t)),r.$observe("ngAnimateChildren",f))}}}],l="$$animateCss",w=1e3,cr=3,lr=1.5,ar={transitionDuration:oi,transitionDelay:v,transitionProperty:e+ui,animationDuration:at,animationDelay:lt,animationIterationCount:s+"IterationCount"},vr={transitionDuration:oi,transitionDelay:v,animationDuration:at,animationDelay:lt};var wr=["$animateProvider",function(){var n=pi(),t=pi();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(r,o,a,v,b,g,tt,it){function ot(n,t){var i="$$ngAnimateParentKey",r=n.parentNode,u=r[i]||(r[i]=++at);return u+"-"+n.getAttribute("class")+"-"+t}function vt(t,i,u,f){var e=n.get(u);return e||(e=vi(r,t,f),e.animationIterationCount==="infinite"&&(e.animationIterationCount=1)),n.put(u,e),e}function bt(i,u,f,e){var s,c;return n.count(f)>0&&(s=t.get(f),s||(c=h(u,"-stagger"),o.addClass(i,c),s=vi(r,i,e),s.animationDuration=Math.max(s.animationDuration,0),s.transitionDuration=Math.max(s.transitionDuration,0),o.removeClass(i,c),t.put(f,s))),s||{}}function ct(i){rt.push(i);tt.waitUntilQuiet(function(){var r,i;for(n.flush(),t.flush(),r=b(),i=0;i<rt.length;i++)rt[i](r);rt.length=0})}function lt(n,t,i){var r=vt(n,t,i,ar),u=r.animationDelay,f=r.transitionDelay;return r.maxDelay=u&&f?Math.max(u,f):u||f,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var ut=k(o),at=0,rt=[];return function(t,r){function or(){ni()}function uu(){ni(!0)}function ni(n){if(!ki&&(!hr||!ri)){ki=!0;ri=!1;b.$$skipPreparationClasses||o.removeClass(t,si);o.removeClass(t,iu);yt(tt,!1);nt(tt,!1);i(at,function(n){tt.style[n[0]]=""});ut(t,b);y(t,b);Object.keys(pi).length&&i(pi,function(n,t){n?tt.style.setProperty(t,n):tt.style.removeProperty(t)});b.onDone&&b.onDone();fi&&fi.length&&t.off(fi.join(" "),eu);var r=t.data(l);r&&(v.cancel(r[0].timer),t.removeData(l));hi&&hi.complete(!n)}}function fu(n){k.blockTransition&&nt(tt,n);k.blockKeyframeAnimation&&yt(tt,!!n)}function sr(){return hi=new a({end:or,cancel:uu}),ct(f),ni(),{$$willAnimate:!1,start:function(){return hi},end:or}}function eu(n){var t,i,r;(n.stopPropagation(),t=n.originalEvent||n,t.target===tt)&&(i=t.$manualTimeStamp||Date.now(),r=parseFloat(t.elapsedTime.toFixed(cr)),Math.max(i-pr,0)>=rr&&r>=vt&&(hr=!0,ni()))}function cu(){function u(){var n,u,c,p;if(!ki){if(fu(!1),i(at,function(n){var t=n[0],i=n[1];tt.style[t]=i}),ut(t,b),o.addClass(t,iu),k.recalculateTimingStyles){if(di=tt.getAttribute("class")+" "+si,vi=ot(tt,di),rt=lt(tt,di,vi),gt=rt.maxDelay,ci=Math.max(gt,0),vt=rt.maxDuration,vt===0){ni();return}k.hasTransitions=rt.transitionDuration>0;k.hasAnimations=rt.animationDuration>0}k.applyAnimationDelay&&(gt=typeof b.delay!="boolean"&&wt(b.delay)?parseFloat(b.delay):gt,ci=Math.max(gt,0),rt.animationDelay=gt,ii=pt(gt,!0),at.push(ii),tt.style[ii[0]]=ii[1]);rr=ci*w;ar=vt*w;b.easing&&(u=b.easing,k.hasTransitions&&(n=e+ei,at.push([n,u]),tt.style[n]=u),k.hasAnimations&&(n=s+ei,at.push([n,u]),tt.style[n]=u));rt.transitionDuration&&fi.push(st);rt.animationDuration&&fi.push(ht);pr=Date.now();var a=rr+lr*ar,y=pr+a,r=t.data(l)||[],h=!0;if(r.length&&(c=r[0],h=y>c.expectedEndTime,h?v.cancel(c.timer):r.push(ni)),h&&(p=v(f,a,!1),r[0]={timer:p,expectedEndTime:y},r.push(ni),t.data(l,r)),fi.length)t.on(fi.join(" "),eu);b.to&&(b.cleanupStyles&&wi(pi,tt,Object.keys(b.to)),ai(t,b))}}function f(){var i=t.data(l),n;if(i){for(n=1;n<i.length;n++)i[n]();t.removeData(l)}}if(!ki){if(!tt.parentNode){ni();return}var n=function(n){if(hr)ri&&n&&(ri=!1,ni());else if(ri=!n,rt.animationDuration){var t=yt(tt,ri);ri?at.push(t):ir(at,t)}},r=er>0&&(rt.transitionDuration&&dt.transitionDuration===0||rt.animationDuration&&dt.animationDuration===0)&&Math.max(dt.animationDelay,dt.transitionDelay);r?v(u,Math.floor(r*er*w),!1):u();nr.resume=function(){n(!0)};nr.pause=function(){n(!1)}}}var b=r||{},pi,tt,vi,dt,br,fr,kr,dr,gr,er,nu,rt,gt,k,ii;if(b.$$prepared||(b=d(kt(b))),pi={},tt=u(t),!tt||!tt.parentNode||!it.enabled())return sr();var at=[],ou=t.attr("class"),tu=tr(b),ki,ri,hr,hi,nr,ci,rr,vt,ar,pr,fi=[];if(b.duration===0||!g.animations&&!g.transitions)return sr();var ur=b.event&&c(b.event)?b.event.join(" "):b.event,su=ur&&b.structural,wr="",oi="";su?wr=h(ur,ti,!0):ur&&(wr=ur);b.addClass&&(oi+=h(b.addClass,ft));b.removeClass&&(oi.length&&(oi+=" "),oi+=h(b.removeClass,et));b.applyClassesEarly&&oi.length&&ut(t,b);var si=[wr,oi].join(" ").trim(),di=ou+" "+si,iu=h(si,bi),ru=tu.to&&Object.keys(tu.to).length>0,hu=(b.keyframeStyle||"").length>0;return!hu&&!ru&&!si?sr():(b.stagger>0?(br=parseFloat(b.stagger),dt={transitionDelay:br,animationDelay:br,transitionDuration:0,animationDuration:0}):(vi=ot(tt,di),dt=bt(tt,si,vi,vr)),b.$$skipPreparationClasses||o.addClass(t,si),b.transitionStyle&&(kr=[e,b.transitionStyle],p(tt,kr),at.push(kr)),b.duration>=0&&(fr=tt.style[e].length>0,dr=yi(b.duration,fr),p(tt,dr),at.push(dr)),b.keyframeStyle&&(gr=[s,b.keyframeStyle],p(tt,gr),at.push(gr)),er=dt?b.staggerIndex>=0?b.staggerIndex:n.count(vi):0,nu=er===0,nu&&!b.skipBlocking&&nt(tt,gi),rt=lt(tt,di,vi),gt=rt.maxDelay,ci=Math.max(gt,0),vt=rt.maxDuration,k={},k.hasTransitions=rt.transitionDuration>0,k.hasAnimations=rt.animationDuration>0,k.hasTransitionAll=k.hasTransitions&&rt.transitionProperty==="all",k.applyTransitionDuration=ru&&(k.hasTransitions&&!k.hasTransitionAll||k.hasAnimations&&!k.hasTransitions),k.applyAnimationDuration=b.duration&&k.hasAnimations,k.applyTransitionDelay=wt(b.delay)&&(k.applyTransitionDuration||k.hasTransitions),k.applyAnimationDelay=wt(b.delay)&&k.hasAnimations,k.recalculateTimingStyles=oi.length>0,(k.applyTransitionDuration||k.applyAnimationDuration)&&(vt=b.duration?parseFloat(b.duration):vt,k.applyTransitionDuration&&(k.hasTransitions=!0,rt.transitionDuration=vt,fr=tt.style[e+ui].length>0,at.push(yi(vt,fr))),k.applyAnimationDuration&&(k.hasAnimations=!0,rt.animationDuration=vt,at.push(yr(vt)))),vt===0&&!k.recalculateTimingStyles)?sr():(b.delay!=null&&(typeof b.delay!="boolean"&&(ii=parseFloat(b.delay),ci=Math.max(ii,0)),k.applyTransitionDelay&&at.push(pt(ii)),k.applyAnimationDelay&&at.push(pt(ii,!0))),b.duration==null&&rt.transitionDuration>0&&(k.recalculateTimingStyles=k.recalculateTimingStyles||nu),rr=ci*w,ar=vt*w,b.skipBlocking||(k.blockTransition=rt.transitionDuration>0,k.blockKeyframeAnimation=rt.animationDuration>0&&dt.animationDelay>0&&dt.animationDuration===0),b.from&&(b.cleanupStyles&&wi(pi,tt,Object.keys(b.from)),li(t,b)),k.blockTransition||k.blockKeyframeAnimation?fu(vt):b.skipBlocking||nt(tt,!1),{$$willAnimate:!0,end:or,start:function(){if(!ki)return nr={end:or,cancel:uu,resume:null,pause:null},hi=new a(nr),ct(cu),hi}})}}]}],br=["$$animationProvider",function(n){function c(n){return n.parentNode&&n.parentNode.nodeType===11}n.drivers.push("$$animateCssDriver");var t="ng-animate-shim",s="ng-anchor",e="ng-anchor-out",h="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(n,l,a,v,y,p,w){function g(n){return n.replace(/\bng-\S+\b/g,"")}function nt(n,t){return o(n)&&(n=n.split(" ")),o(t)&&(t=t.split(" ")),n.filter(function(n){return t.indexOf(n)===-1}).join(" ")}function rt(f,o,c){function d(n){var t={},r=u(n).getBoundingClientRect();return i(["width","height","top","left"],function(n){var i=r[n];switch(n){case"top":i+=b.scrollTop;break;case"left":i+=b.scrollLeft}t[n]=Math.floor(i)+"px"}),t}function ut(){var t=n(v,{addClass:e,delay:!0,from:d(o)});return t.$$willAnimate?t:null}function tt(n){return n.attr("class")||""}function rt(){var t=g(tt(c)),r=nt(t,w),u=nt(w,t),i=n(v,{to:d(c),addClass:h+" "+r,removeClass:e+" "+u,delay:!0});return i.$$willAnimate?i:null}function p(){v.remove();o.removeClass(t);c.removeClass(t)}var v=r(u(o).cloneNode(!0)),w=g(tt(v)),l,y,k;return(o.addClass(t),c.addClass(t),v.addClass(s),it.append(v),y=ut(),!y&&(l=rt(),!l))?p():(k=y||l,{start:function(){function i(){n&&n.end()}var t,n=k.start();return n.done(function(){if(n=null,!l&&(l=rt(),l))return n=l.start(),n.done(function(){n=null;p();t.complete()}),n;p();t.complete()}),t=new a({end:i,cancel:i})}})}function ut(n,t,r,u){var e=d(n,f),o=d(t,f),s=[];if(i(u,function(n){var i=n.out,u=n["in"],t=rt(r,i,u);t&&s.push(t)}),e||o||s.length!==0)return{start:function(){function r(){i(n,function(n){n.end()})}var n=[],t;return e&&n.push(e.start()),o&&n.push(o.start()),i(s,function(t){n.push(t.start())}),t=new a({end:r,cancel:r}),a.all(n,function(n){t.complete(n)}),t}}}function d(t){var u=t.element,i=t.options||{},r;return t.structural&&(i.event=t.event,i.structural=!0,i.applyClassesEarly=!0,t.event==="leave"&&(i.onDone=i.domOperation)),i.preparationClasses&&(i.event=tt(i.event,i.preparationClasses)),r=n(u,i),r.$$willAnimate?r:null}if(!y.animations&&!y.transitions)return f;var b=w[0].body,k=u(v),it=r(c(k)||b.contains(k)?k:b);return function(n){return n.from&&n.to?ut(n.from,n.to,n.classes,n.anchors):d(n)}}]}],kr=["$animateProvider",function(n){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(t,r,u){function o(i){var f,e,r,u,o;for(i=c(i)?i:i.split(" "),f=[],e={},r=0;r<i.length;r++)u=i[r],o=n.$$registeredAnimations[u],o&&!e[u]&&(f.push(t.get(o)),e[u]=!0);return f}var e=k(u);return function(n,t,u,s){function b(){s.domOperation();e(n,s)}function tt(){k=!0;b();y(n,s)}function rt(n,t,i,u,e){var s,o;switch(i){case"animate":s=[t,u.from,u.to,e];break;case"setClass":s=[t,g,nt,e];break;case"addClass":s=[t,g,e];break;case"removeClass":s=[t,nt,e];break;default:s=[t,e]}if(s.push(u),o=n.apply(n,s),o)if(ni(o.start)&&(o=o.start()),o instanceof r)o.done(e);else if(ni(o))return o;return f}function c(n,t,u,e,o){var s=[];return i(e,function(i){var e=i[o];e&&s.push(function(){var i,s,h=!1,o=function(n){h||(h=!0,(s||f)(n),i.complete(!n))};return i=new r({end:function(){o()},cancel:function(){o(!0)}}),s=rt(e,n,t,u,function(n){var t=n===!1;o(t)}),i})}),s}function it(n,t,u,f,e){var o=c(n,t,u,f,e),s,h;if(o.length===0&&(e==="beforeSetClass"?(s=c(n,"removeClass",u,f,"beforeRemoveClass"),h=c(n,"addClass",u,f,"beforeAddClass")):e==="setClass"&&(s=c(n,"removeClass",u,f,"removeClass"),h=c(n,"addClass",u,f,"addClass")),s&&(o=o.concat(s)),h&&(o=o.concat(h))),o.length!==0)return function(n){var t=[];return o.length&&i(o,function(n){t.push(n())}),t.length?r.all(t,n):n(),function(n){i(t,function(t){n?t.cancel():t.end()})}}}var k=!1,p,w,h;arguments.length===3&&ut(u)&&(s=u,u=null);s=d(s);u||(u=n.attr("class")||"",s.addClass&&(u+=" "+s.addClass),s.removeClass&&(u+=" "+s.removeClass));var g=s.addClass,nt=s.removeClass,v=o(u),l,a;if(v.length&&(t==="leave"?(w="leave",p="afterLeave"):(w="before"+t.charAt(0).toUpperCase()+t.substr(1),p=t),t!=="enter"&&t!=="move"&&(l=it(n,t,s,v,w)),a=it(n,t,s,v,p)),l||a)return{$$willAnimate:!0,end:function(){return h?h.end():(tt(),h=new r,h.complete(!0)),h},start:function(){function i(n){tt(n);h.complete(n)}function u(n){k||((t||f)(n),i(n))}if(h)return h;h=new r;var t,n=[];return l&&n.push(function(n){t=l(n)}),n.length?n.push(function(n){b();n(!0)}):b(),a&&n.push(function(n){t=a(n)}),h.setHost({end:function(){u()},cancel:function(){u(!0)}}),r.chain(n,i),h}}}}]}],dr=["$$animationProvider",function(n){n.drivers.push("$$animateJsDriver");this.$get=["$$animateJs","$$AnimateRunner",function(n,t){function r(t){var i=t.element,r=t.event,u=t.options,f=t.classes;return n(i,r,f,u)}return function(n){if(n.from&&n.to){var u=r(n.from),f=r(n.to);return!u&&!f?void 0:{start:function(){function e(){return function(){i(n,function(n){n.end()})}}function o(n){r.complete(n)}var n=[],r;return u&&n.push(u.start()),f&&n.push(f.start()),t.all(n,o),r=new t({end:e(),cancel:e()})}}}return r(n)}}]}],it="data-ng-animate",bt="$ngAnimatePin",gr=["$animateProvider",function(t){function w(n){if(!n)return null;var r=n.split(v),t=Object.create(null);return i(r,function(n){t[n]=!0}),t}function p(n,t){if(n&&t){var i=w(t);return n.split(v).some(function(n){return i[n]})}}function l(n,t,i){return f[n].some(function(n){return n(t,i)})}function s(n,t){var i=(n.addClass||"").length>0,r=(n.removeClass||"").length>0;return t?i&&r:i||r}var h=1,e=2,v=" ",f=this.rules={skip:[],cancel:[],join:[]};f.join.push(function(n){return!n.structural&&s(n)});f.skip.push(function(n){return!n.structural&&!s(n)});f.skip.push(function(n,t){return t.event==="leave"&&n.structural});f.skip.push(function(n,t){return t.structural&&t.state===e&&!n.structural});f.cancel.push(function(n,t){return t.structural&&n.structural});f.cancel.push(function(n,t){return t.state===e&&n.structural});f.cancel.push(function(n,t){if(t.structural)return!1;var i=n.addClass,r=n.removeClass,u=t.addClass,f=t.removeClass;return a(i)&&a(r)||a(u)&&a(f)?!1:p(i,f)||p(r,u)});this.$get=["$$rAF","$rootScope","$rootElement","$document","$$Map","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow","$$isDocumentHidden",function(f,v,p,w,nt,tt,ft,et,st,ht,ct){function li(){var n=!1;return function(t){n?t():v.$$postDigest(function(){n=!0;t()})}}function ui(n,t){return g(n,t,{})}function wi(n,t,r){var u=[],f=at[r];return f&&i(f,function(i){fi.call(i.node,t)?u.push(i.callback):r==="leave"&&fi.call(i.node,n)&&u.push(i.callback)}),u}function ei(n,t,i){var r=vt(t);return n.filter(function(n){var t=n.node===r&&(!i||n.callback===i);return!t})}function oi(n,t){n!=="close"||t.parentNode||wt.off(t)}function bi(n,t,r){function ht(n,t,r,u){wt(function(){var n=wi(vt,p,t);n.length?f(function(){i(n,function(n){n(b,r,u)});oi(r,p)}):oi(r,p)});n.progress(t,r,u)}function it(n){or(b,a);ri(b,a);y(b,a);a.domOperation();nt.complete(!n)}var a=kt(r),b=ci(n),p=u(b),vt=p&&p.parentNode,nt,wt,k,dt,gt,ti,ot,st;if(a=d(a),nt=new ft,wt=li(),c(a.addClass)&&(a.addClass=a.addClass.join(" ")),a.addClass&&!o(a.addClass)&&(a.addClass=null),c(a.removeClass)&&(a.removeClass=a.removeClass.join(" ")),a.removeClass&&!o(a.removeClass)&&(a.removeClass=null),a.from&&!ut(a.from)&&(a.from=null),a.to&&!ut(a.to)&&(a.to=null),!pt||!p||!yi(p,t,r)||!pi(p,a))return it(),nt;var rt=["enter","move","leave"].indexOf(t)>=0,at=ct(),et=at||yt.get(p),w=!et&&lt.get(p)||{},bt=!!w.state;if(et||bt&&w.state===h||(et=!di(p,vt,t)),et)return at&&ht(nt,t,"start"),it(),at&&ht(nt,t,"close"),nt;if(rt&&ki(p),k={structural:rt,element:b,event:t,addClass:a.addClass,removeClass:a.removeClass,close:it,options:a,runner:nt},bt){if(dt=l("skip",k,w),dt)return w.state===e?(it(),nt):(g(b,w,k),w.runner);if(gt=l("cancel",k,w),gt)if(w.state===e)w.runner.end();else if(w.structural)w.close();else return g(b,w,k),w.runner;else if(ti=l("join",k,w),ti)if(w.state===e)ui(b,k);else return er(b,rt?t:null,a),t=k.event=w.event,a=g(b,w,k),w.runner}else ui(b,k);return(ot=k.structural,ot||(ot=k.event==="animate"&&Object.keys(k.options.to||{}).length>0||s(k)),!ot)?(it(),ni(p),nt):(st=(w.counter||0)+1,k.counter=st,hi(p,h,k),v.$$postDigest(function(){var i,r,o,u,f;if(b=ci(n),i=lt.get(p),r=!i,i=i||{},o=b.parent()||[],u=o.length>0&&(i.event==="animate"||i.structural||s(i)),r||i.counter!==st||!u){r&&(ri(b,a),y(b,a));(r||rt&&i.event!==t)&&(a.domOperation(),nt.end());u||ni(p);return}t=!i.structural&&s(i,!0)?"setClass":i.event;hi(p,e);f=tt(b,t,i.options);nt.setHost(f);ht(nt,t,"start",{});f.done(function(n){it(!n);var i=lt.get(p);i&&i.counter===st&&ni(p);ht(nt,t,"close",{})})}),nt)}function ki(n){var t=n.querySelectorAll("["+it+"]");i(t,function(n){var i=parseInt(n.getAttribute(it),10),t=lt.get(n);if(t)switch(i){case e:t.runner.end();case h:lt.delete(n)}})}function ni(n){n.removeAttribute(it);lt.delete(n)}function di(n,t){var v=w[0].body,y=u(p),o=n===v||n.nodeName==="HTML",i=n===y,s=!1,h=yt.get(n),f,e=r.data(n,bt),k,c,l,d;for(e&&(t=u(e));t;){if(i||(i=t===y),t.nodeType!==b)break;if(k=lt.get(t)||{},!s){if(c=yt.get(t),c===!0&&h!==!1){h=!0;break}else c===!1&&(h=!1);s=k.structural}if((a(f)||f===!0)&&(l=r.data(t,ot),gt(l)&&(f=l)),s&&f===!1)break;if(o||(o=t===v),o&&i)break;if(!i&&(e=r.data(t,bt),e)){t=u(e);continue}t=t.parentNode}return d=(!s||f)&&h!==!0,d&&i&&o}function hi(n,t,i){i=i||{};i.state=t;n.setAttribute(it,t);var r=lt.get(n),u=r?dt(r,i):i;lt.set(n,u)}var lt=new nt,yt=new nt,pt=null,ai=v.$watch(function(){return et.totalPendingRequests===0},function(n){n&&(ai(),v.$$postDigest(function(){v.$$postDigest(function(){pt===null&&(pt=!0)})}))}),at=Object.create(null),vi=t.customFilter(),ti=t.classNameFilter(),ii=function(){return!0},yi=vi||ii,pi=ti?function(n,t){var i=[n.getAttribute("class"),t.addClass,t.removeClass].join(" ");return ti.test(i)}:ii,ri=k(st),fi=n.Node.prototype.contains||function(n){return this===n||!!(this.compareDocumentPosition(n)&16)},wt={on:function(n,t,i){var u=vt(t);at[n]=at[n]||[];at[n].push({node:u,callback:i});r(t).on("$destroy",function(){var r=lt.get(u);r||wt.off(n,t,i)})},off:function(n,t,i){var r,u;if(arguments.length===1&&!o(arguments[0])){t=arguments[0];for(r in at)at[r]=ei(at[r],t);return}(u=at[n],u)&&(at[n]=arguments.length===1?null:ei(u,t,i))},pin:function(n,t){si(rt(n),"element","not an element");si(rt(t),"parentElement","not an element");n.data(bt,t)},push:function(n,t,i,r){return i=i||{},i.domOperation=r,bi(n,t,i)},enabled:function(n,t){var r=arguments.length,f,i;return r===0?t=!!pt:(f=rt(n),f?(i=u(n),r===1?t=!yt.get(i):yt.set(i,!t)):t=pt=!!n),t}};return wt}]}],nu=["$animateProvider",function(){function o(n,t){n.data(e,t)}function s(n){n.removeData(e)}function t(n){return n.data(e)}var n="ng-animate-ref",f=this.drivers=[],e="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$Map","$$rAFScheduler",function(e,h,c,l,a,v){function b(n){function f(n){var e,i,t;if(n.processed)return n;for(n.processed=!0,e=n.domNode,i=e.parentNode,r.set(e,n);i;){if(t=r.get(i),t){t.processed||(t=f(t));break}i=i.parentNode}return(t||u).children.push(n),n}function e(n){for(var u=[],i=[],o,t=0;t<n.children.length;t++)i.push(n.children[t]);var f=i.length,e=0,r=[];for(t=0;t<i.length;t++)o=i[t],f<=0&&(f=e,e=0,u.push(r),r=[]),r.push(o.fn),o.children.forEach(function(n){e++;i.push(n)}),f--;return r.length&&u.push(r),u}for(var u={children:[]},r=new a,i,t=0;t<n.length;t++)i=n[t],r.set(i.domNode,n[t]={domNode:i.domNode,fn:i.fn,children:[]});for(t=0;t<n.length;t++)f(n[t]);return e(u)}var p=[],w=k(e);return function(a,k,g){function ot(t){var u="["+n+"]",f=t.hasAttribute(n)?[t]:t.querySelectorAll(u),r=[];return i(f,function(t){var i=t.getAttribute(n);i&&i.length&&r.push(t)}),r}function st(t){var f=[],e={},s,o;return i(t,function(t,o){var c=t.element,l=u(c),a=t.event,v=["enter","move"].indexOf(a)>=0,s=t.structural?ot(l):[],h;s.length?(h=v?"to":"from",i(s,function(t){var i=t.getAttribute(n);e[i]=e[i]||{};e[i][h]={animationID:o,element:r(t)}})):f.push(t)}),s={},o={},i(e,function(n){var i=n.from,e=n.to,h,c,a;if(!i||!e){h=i?i.animationID:e.animationID;c=h.toString();s[c]||(s[c]=!0,f.push(t[h]));return}var r=t[i.animationID],u=t[e.animationID],l=i.animationID.toString();o[l]||(a=o[l]={structural:!0,beforeStart:function(){r.beforeStart();u.beforeStart()},close:function(){r.close();u.close()},classes:ht(r.classes,u.classes),from:r,to:u,anchors:[]},a.classes.length?f.push(a):(f.push(r),f.push(u)));o[l].anchors.push({out:i.element,"in":e.element})}),f}function ht(n,t){var f,i,r,u;for(n=n.split(" "),t=t.split(" "),f=[],i=0;i<n.length;i++)if(r=n[i],r.substring(0,3)!=="ng-")for(u=0;u<t.length;u++)if(r===t[u]){f.push(r);break}return f.join(" ")}function ct(n){for(var t=f.length-1;t>=0;t--){var r=f[t],u=c.get(r),i=u(n);if(i)return i}}function lt(){a.addClass(ii);nt&&e.addClass(a,nt);it&&(e.removeClass(a,it),it=null)}function at(n,i){function r(n){var r=t(n);r&&r.setHost(i)}n.from&&n.to?(r(n.from.element),r(n.to.element)):r(n.element)}function et(){var n=t(a);n&&(k!=="leave"||!g.$$domOperationFired)&&n.end()}function rt(n){a.off("$destroy",et);s(a);w(a,g);y(a,g);g.domOperation();nt&&e.removeClass(a,nt);a.removeClass(ii);tt.complete(!n)}var ut,tt,ft,nt,it;if(g=d(g),ut=["enter","move","leave"].indexOf(k)>=0,tt=new l({end:function(){rt()},cancel:function(){rt(!0)}}),!f.length)return rt(),tt;o(a,tt);ft=hi(a.attr("class"),hi(g.addClass,g.removeClass));nt=g.tempClasses;nt&&(ft+=" "+nt,g.tempClasses=null);ut&&(it="ng-"+k+ki,e.addClass(a,it));p.push({element:a,classes:ft,event:k,structural:ut,options:g,beforeStart:lt,close:rt});a.on("$destroy",et);return p.length>1?tt:(h.$$postDigest(function(){var r=[],f,n;i(p,function(n){t(n.element)?r.push(n):n.close()});p.length=0;f=st(r);n=[];i(f,function(i){n.push({domNode:u(i.from?i.from.element:i.element),fn:function(){var n,r,e,u,f;i.beforeStart();r=i.close;e=i.anchors?i.from.element||i.to.element:i.element;t(e)&&(u=ct(i),u&&(n=u.start));n?(f=n(),f.done(function(n){r(!n)}),at(i,f)):r()}})});v(b(n))}),tt)}}]}],tu=["$animate",function(n){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(t,i,r,u,f){var o,e;t.$watchCollection(r.ngAnimateSwap||r["for"],function(t){o&&n.leave(o);e&&(e.$destroy(),e=null);(t||t===0)&&f(function(t,r){o=t;e=r;n.enter(t,null,i)})})}}}],kt,dt,i,c,gt,rt,ni,ut,o,a,r,f;t.module("ngAnimate",[],function(){f=t.noop;kt=t.copy;dt=t.extend;r=t.element;i=t.forEach;c=t.isArray;o=t.isString;ut=t.isObject;a=t.isUndefined;gt=t.isDefined;ni=t.isFunction;rt=t.isElement}).info({angularVersion:"1.7.2"}).directive("ngAnimateSwap",tu).directive("ngAnimateChildren",hr).factory("$$rAFScheduler",sr).provider("$$animateQueue",gr).provider("$$animation",nu).provider("$animateCss",wr).provider("$$animateCssDriver",br).provider("$$animateJs",kr).provider("$$animateJsDriver",dr)})(window,window.angular);
/**
 * @license AngularJS v1.7.2
 * (c) 2010-2018 Google, Inc. http://angularjs.org
 * License: MIT
 */
(function(n,t){"use strict";function f(n){function t(n,t){if(n)return u(n)?n.indexOf(t)>=0:n.hasOwnProperty(t)}return["$animate",function(i){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(r,f,e,o,s){var c,v,y,l,a,h,p;n||(c=f[0],y=e.ngMessage||e.when,l=e.ngMessageExp||e.whenExp,a=function(n){v=n?u(n)?n:n.split(/[\s,]+/):null;o.reRender()},l?(a(r.$eval(l)),r.$watchCollection(l,a)):a(y));o.register(c,p={test:function(n){return t(v,n)},attach:function(){h||s(function(t,r){i.enter(t,null,f);h=t;var u=h.$$attachId=o.getAttachId();h.on("$destroy",function(){h&&h.$$attachId===u&&(o.deregister(c,n),p.detach());r.$destroy()})})},detach:function(){if(h){var n=h;h=null;i.leave(n)}}},n);r.$on("$destroy",function(){o.deregister(c,n)})}}}]}var r,u,i,e;t.module("ngMessages",[],function(){r=t.forEach;u=t.isArray;i=t.isString;e=t.element}).info({angularVersion:"1.7.2"}).directive("ngMessages",["$animate",function(n){function f(n,t){return i(t)&&t.length===0||e(n.$eval(t))}function e(n){return i(n)?n.length:!!n}var t="ng-active",u="ng-inactive";return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function(i,o,s){function y(n,t){for(var i=t,u=[],r;i&&i!==n;){if(r=i.$$ngMessageNode,r&&r.length)return c[r];i.childNodes.length&&u.indexOf(i)===-1?(u.push(i),i=i.childNodes[i.childNodes.length-1]):i.previousSibling?i=i.previousSibling:(i=i.parentNode,u.push(i))}}function w(n,t,i){var r=c[i],u;h.head?(u=y(n,t),u?(r.next=u.next,u.next=r):(r.next=h.head,h.head=r)):h.head=r}function b(n,t,i){var r=c[i],u;r&&(u=y(n,t),u?u.next=r.next:h.head=r.next)}var h=this,v=0,p=0,c,l,a;this.getAttachId=function(){return p++};c=this.messages={};this.render=function(c){var y,p,b,k;c=c||{};l=!1;a=c;for(var it=f(o,s.ngMessagesMultiple)||f(o,s.multiple),w=[],d={},g=0,v=h.head,nt=!1,tt=0;v!=null;)tt++,y=v.message,p=!1,nt||r(c,function(n,t){if(e(n)&&!p&&(g++,y.test(t))){if(d[t])return;d[t]=!0;p=!0;y.attach()}}),p?nt=!it:w.push(y),v=v.next;r(w,function(n){n.detach()});b=w.length!==tt;k=h.default&&!b&&g>0;k?h.default.attach():h.default&&h.default.detach();b||k?n.setClass(i,t,u):n.setClass(i,u,t)};o.$watchCollection(s.ngMessages||s["for"],h.render);this.reRender=function(){l||(l=!0,o.$evalAsync(function(){l&&a&&h.render(a)}))};this.register=function(n,t,r){if(r)h.default=t;else{var u=v.toString();c[u]={message:t};w(i[0],n,u);n.$$ngMessageNode=u;v++}h.reRender()};this.deregister=function(n,t){if(t)delete h.default;else{var r=n.$$ngMessageNode;delete n.$$ngMessageNode;b(i[0],n,r);delete c[r]}h.reRender()}}]}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function(n,t,r){function u(n,i){var u=r.$$createComment?r.$$createComment("ngMessagesInclude",i):t[0].createComment(" ngMessagesInclude: "+i+" "),f=e(u);n.after(f);n.remove()}return{restrict:"AE",require:"^^ngMessages",link:function(t,f,e){var o=e.ngMessagesInclude||e.src;n(o).then(function(n){t.$$destroyed||(i(n)&&!n.trim()?u(f,o):r(n)(t,function(n){f.after(n);u(f,o)}))})}}}]).directive("ngMessage",f()).directive("ngMessageExp",f()).directive("ngMessageDefault",f(!0))})(window,window.angular);
/**
 * State-based routing for AngularJS
 * @version v0.4.3
 * @link http://angular-ui.github.com/
 * @license MIT License, http://www.opensource.org/licenses/MIT
 */
typeof module!="undefined"&&typeof exports!="undefined"&&module.exports===exports&&(module.exports="ui.router"),function(n,t,i){"use strict";function b(n,t){return u(new(u(function(){},{prototype:n})),t)}function nt(n){return f(arguments,function(t){t!==n&&f(t,function(t,i){n.hasOwnProperty(i)||(n[i]=t)})}),n}function ti(n,t){var r=[];for(var i in n.path){if(n.path[i]!==t.path[i])break;r.push(n.path[i])}return r}function v(n){if(Object.keys)return Object.keys(n);var t=[];return f(n,function(n,i){t.push(i)}),t}function c(n,t){if(Array.prototype.indexOf)return n.indexOf(t,Number(arguments[2])||0);var r=n.length>>>0,i=Number(arguments[2])||0;for(i=i<0?Math.ceil(i):Math.floor(i),i<0&&(i+=r);i<r;i++)if(i in n&&n[i]===t)return i;return-1}function ut(n,t,i,r){var o=ti(i,r),f,h={},l=[],s,e;for(s in o)if(o[s]&&o[s].params&&(f=v(o[s].params),f.length))for(e in f)c(l,f[e])>=0||(l.push(f[e]),h[f[e]]=n[f[e]]);return u({},h,t)}function ii(n,t,i){var f,r,u;if(!i){i=[];for(f in n)i.push(f)}for(r=0;r<i.length;r++)if(u=i[r],n[u]!=t[u])return!1;return!0}function k(n,t){var i={};return f(n,function(n){i[n]=t[n]}),i}function ft(n){var t={},i=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return f(i,function(i){i in n&&(t[i]=n[i])}),t}function d(n){var i={},r=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var t in n)c(r,t)==-1&&(i[t]=n[t]);return i}function tt(n,t){var r=a(n),i=r?[]:{};return f(n,function(n,u){t(n,u)&&(i[r?i.length:u]=n)}),i}function p(n,t){var i=a(n)?[]:{};return f(n,function(n,r){i[r]=t(n,r)}),i}function w(n){return n.then(i,function(){})&&n}function et(n,t){var h=1,l=2,o={},a=[],y=o,p=u(n.when(o),{$$promises:o,$$values:o});this.study=function(o){function it(n,i){if(g[i]!==l){if(k.push(i),g[i]===h){k.splice(0,c(k,i));throw new Error("Cyclic dependency: "+k.join(" -> "));}if(g[i]=h,e(n))b.push(i,[function(){return t.get(n)}],a);else{var r=t.annotate(n);f(r,function(n){n!==i&&o.hasOwnProperty(n)&&it(o[n],n)});b.push(i,n,r)}k.pop();g[i]=l}}function rt(n){return s(n)&&n.then&&n.$$promises}if(!s(o))throw new Error("'invocables' must be an object");var tt=v(o||{}),b=[],k=[],g={};return f(o,it),o=k=g=null,function(e,o,h){function k(){--et||(ut||nt(l,o.$$values),c.$$values=l,c.$$promises=c.$$promises||!0,delete c.$$inheritedValues,g.resolve(l))}function it(n){c.$$failure=n;g.reject(n)}function ot(i,u,o){function y(n){s.reject(n);it(n)}function p(){if(!r(c.$$failure))try{s.resolve(t.invoke(u,h,l));s.promise.then(function(n){l[i]=n;k()},y)}catch(n){y(n)}}var s=n.defer(),a=0;f(o,function(n){v.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(a++,v[n].then(function(t){l[n]=t;--a||p()},y))});a||p();v[i]=w(s.promise)}var a,ft;if(rt(e)&&h===i&&(h=o,o=e,e=null),e){if(!s(e))throw new Error("'locals' must be an object");}else e=y;if(o){if(!rt(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()");}else o=p;var g=n.defer(),c=w(g.promise),v=c.$$promises={},l=u({},e),et=1+b.length/3,ut=!1;if(w(c),r(o.$$failure))return it(o.$$failure),c;for(o.$$inheritedValues&&nt(l,d(o.$$inheritedValues,tt)),u(v,o.$$promises),o.$$values?(ut=nt(l,d(o.$$values,tt)),c.$$inheritedValues=d(o.$$values,tt),k()):(o.$$inheritedValues&&(c.$$inheritedValues=d(o.$$inheritedValues,tt)),o.then(k,it)),a=0,ft=b.length;a<ft;a+=3)e.hasOwnProperty(b[a])?k():ot(b[a],b[a+1],b[a+2]);return c}};this.resolve=function(n,t,i,r){return this.study(n)(t,i,r)}}function ri(){var n=t.version.minor<3;this.shouldUnsafelyUseHttp=function(t){n=!!t};this.$get=["$http","$templateCache","$injector",function(t,i,r){return new ui(t,i,r,n)}]}function ui(n,t,i,u){this.fromConfig=function(n,t,i){return r(n.template)?this.fromString(n.template,t):r(n.templateUrl)?this.fromUrl(n.templateUrl,t):r(n.templateProvider)?this.fromProvider(n.templateProvider,t,i):null};this.fromString=function(n,t){return o(n)?n(t):n};this.fromUrl=function(r,f){return o(r)&&(r=r(f)),r==null?null:u?n.get(r,{cache:t,headers:{Accept:"text/html"}}).then(function(n){return n.data}):i.get("$templateRequest")(r)};this.fromProvider=function(n,t,r){return i.invoke(n,null,r||{params:t})}}function y(n,t,r){function nt(t,i,r,u){if(g.push(t),d[t])return d[t];if(!/^\w+([-.]+\w+)*(?:\[\])?$/.test(t))throw new Error("Invalid parameter name '"+t+"' in pattern '"+n+"'");if(w[t])throw new Error("Duplicate parameter name '"+t+"' in pattern '"+n+"'");return w[t]=new l.Param(t,i,r,u),w[t]}function tt(n,t,i,r){var u=["",""],f=n.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!t)return f;switch(i){case!1:u=["(",")"+(r?"?":"")];break;case!0:f=f.replace(/\/$/,"");u=["(?:/(",")|/)?"];break;default:u=["("+i+"|",")?"]}return f+u[0]+t+u[1]}function it(r,u){var e,f,s,h,c;return e=r[2]||r[3],c=t.params[e],s=n.substring(o,r.index),f=u?r[4]:r[4]||(r[1]=="*"?".*":null),f&&(h=l.type(f)||b(l.type("string"),{pattern:new RegExp(f,t.caseInsensitive?"i":i)})),{id:e,regexp:f,segment:s,type:h,cfg:c}}var f,h,e,c,k;t=u({params:{}},s(t)?t:{});var v=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,rt=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,y="^",o=0,a,p=this.segments=[],d=r?r.params:{},w=this.params=r?r.params.$$new():new l.ParamSet,g=[];for(this.source=n;a=v.exec(n);){if(f=it(a,!1),f.segment.indexOf("?")>=0)break;h=nt(f.id,f.type,f.cfg,"path");y+=tt(f.segment,h.type.pattern.source,h.squash,h.isOptional);p.push(f.segment);o=v.lastIndex}if(e=n.substring(o),c=e.indexOf("?"),c>=0){if(k=this.sourceSearch=e.substring(c),e=e.substring(0,c),this.sourcePath=n.substring(0,o+c),k.length>0)for(o=0;a=rt.exec(k);)f=it(a,!0),h=nt(f.id,f.type,f.cfg,"search"),o=v.lastIndex}else this.sourcePath=n,this.sourceSearch="";y+=tt(e)+(t.strict===!1?"/?":"")+"$";p.push(e);this.regexp=new RegExp(y,t.caseInsensitive?"i":i);this.prefix=p[0];this.$$paramNames=g}function h(n){u(this,n)}function ot(){function rt(n){return n!=null?n.toString().replace(/(~|\/)/g,function(n){return{"~":"~~","/":"~2F"}[n]}):n}function ht(n){return n!=null?n.toString().replace(/(~~|~2F)/g,function(n){return{"~~":"~","~2F":"/"}[n]}):n}function ct(){return{strict:g,caseInsensitive:d}}function et(n){return o(n)||a(n)&&o(n[n.length-1])}function st(){while(it.length){var i=it.shift();if(i.pattern)throw new Error("You cannot override a type's .pattern at runtime.");t.extend(n[i.name],w.invoke(i.def))}}function k(n){u(this,n||{})}l=this;var d=!1,g=!0,nt=!1;var n={},ut=!0,it=[],w,ft={string:{encode:rt,decode:ht,is:function(n){return n==null||!r(n)||typeof n=="string"},pattern:/[^/]*/},int:{encode:rt,decode:function(n){return parseInt(n,10)},is:function(n){return n!==i&&n!==null&&this.decode(n.toString())===n},pattern:/-?\d+/},bool:{encode:function(n){return n?1:0},decode:function(n){return parseInt(n,10)!==0},is:function(n){return n===!0||n===!1},pattern:/0|1/},date:{encode:function(n){return this.is(n)?[n.getFullYear(),("0"+(n.getMonth()+1)).slice(-2),("0"+n.getDate()).slice(-2)].join("-"):i},decode:function(n){if(this.is(n))return n;var t=this.capture.exec(n);return t?new Date(t[1],t[2]-1,t[3]):i},is:function(n){return n instanceof Date&&!isNaN(n.valueOf())},equals:function(n,t){return this.is(n)&&this.is(t)&&n.toISOString()===t.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:t.toJson,decode:t.fromJson,is:t.isObject,equals:t.equals,pattern:/[^/]*/},any:{encode:t.identity,decode:t.identity,equals:t.equals,pattern:/.*/}};ot.$$getDefaultValue=function(n){if(!et(n.value))return n.value;if(!w)throw new Error("Injectable functions cannot be called at configuration time");return w.invoke(n.value)};this.caseInsensitive=function(n){return r(n)&&(d=n),d};this.strictMode=function(n){return r(n)&&(g=n),g};this.defaultSquashPolicy=function(n){if(!r(n))return nt;if(n!==!0&&n!==!1&&!e(n))throw new Error("Invalid squash policy: "+n+". Valid policies: false, true, arbitrary-string");return nt=n,n};this.compile=function(n,t){return new y(n,u(ct(),t))};this.isMatcher=function(n){if(!s(n))return!1;var t=!0;return f(y.prototype,function(i,u){o(i)&&(t=t&&r(n[u])&&o(n[u]))}),t};this.type=function(t,i,f){if(!r(i))return n[t];if(n.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return n[t]=new h(u({name:t},i)),f&&(it.push({name:t,def:f}),ut||st()),this};f(ft,function(t,i){n[i]=new h(u({name:i},t))});n=b(n,{});this.$get=["$injector",function(t){return w=t,ut=!1,st(),f(ft,function(t,i){n[i]||(n[i]=new h(t))}),this}];this.Param=function(f,o,l,y){function rt(n){var t=s(n)?v(n):[],i=c(t,"value")===-1&&c(t,"type")===-1&&c(t,"squash")===-1&&c(t,"array")===-1;return i&&(n={value:n}),n.$$fn=et(n.value)?n.value:function(){return n.value},n}function ut(i,r,u){if(i.type&&r)throw new Error("Param '"+f+"' has two type configurations.");return r?r:i.type?t.isString(i.type)?n[i.type]:i.type instanceof h?i.type:new h(i.type):u==="config"?n.any:n.string}function ft(){var n={array:y==="search"?"auto":!1},t=f.match(/\[\]$/)?{array:!0}:{};return u(n,t,l).array}function ot(n,t){var i=n.squash;if(!t||i===!1)return!1;if(!r(i)||i==null)return nt;if(i===!0||e(i))return i;throw new Error("Invalid squash policy: '"+i+"'. Valid policies: false, true, or arbitrary string");}function st(n,t,r,u){var f,o,s=[{from:"",to:r||t?i:""},{from:null,to:r||t?i:""}];return f=a(n.replace)?n.replace:[],e(u)&&f.push({from:u,to:i}),o=p(f,function(n){return n.from}),tt(s,function(n){return c(o,n.from)===-1}).concat(f)}function ht(){if(!w)throw new Error("Injectable functions cannot be called at configuration time");var n=w.invoke(l.$$fn);if(n!==null&&n!==i&&!k.type.is(n))throw new Error("Default value ("+n+") for parameter '"+k.id+"' is not an instance of Type ("+k.type.name+")");return n}function ct(n){function t(n){return function(t){return t.from===n}}function i(n){var i=p(tt(k.replace,t(n)),function(n){return n.to});return i.length?i[0]:n}return n=i(n),r(n)?k.type.$normalize(n):ht()}function lt(){return"{Param:"+f+" "+o+" squash: '"+g+"' optional: "+d+"}"}var k=this,b;l=rt(l);o=ut(l,o,y);b=ft();o=b?o.$asArray(b,y==="search"):o;o.name!=="string"||b||y!=="path"||l.value!==i||(l.value="");var d=l.value!==i,g=ot(l,d),it=st(l,b,d,g);u(this,{id:f,type:o,location:y,array:b,squash:g,replace:it,isOptional:d,value:ct,dynamic:i,config:l,toString:lt})};k.prototype={$$new:function(){return b(this,u(new k,{$$parent:this}))},$$keys:function(){for(var t=[],i=[],n=this,r=v(k.prototype);n;)i.push(n),n=n.$$parent;return i.reverse(),f(i,function(n){f(v(n),function(n){c(t,n)===-1&&c(r,n)===-1&&t.push(n)})}),t},$$values:function(n){var t={},i=this;return f(i.$$keys(),function(r){t[r]=i[r].value(n&&n[r])}),t},$$equals:function(n,t){var i=!0,r=this;return f(r.$$keys(),function(u){var f=n&&n[u],e=t&&t[u];r[u].type.equals(f,e)||(i=!1)}),i},$$validates:function(n){for(var e=this.$$keys(),r,f,o,s,u=0;u<e.length;u++){if(r=this[e[u]],f=n[e[u]],(f===i||f===null)&&r.isOptional)break;if((o=r.type.$normalize(f),!r.type.is(o))||(s=r.type.encode(o),t.isString(s)&&!r.type.pattern.exec(s)))return!1}return!0},$$parent:i};this.ParamSet=k}function st(n,f){function p(n){var t=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(n.source);return t!=null?t[1].replace(/\\(.)/g,"$1"):""}function w(n,t){return n.replace(/\$(\$|\d{1,2})/,function(n,i){return t[i==="$"?0:Number(i)]})}function v(n,t,i){if(!i)return!1;var u=n.invoke(t,t,{$match:i});return r(u)?u:!0}function y(r,u,f,o,a){function k(n,t,i){return y==="/"?n:t?y.slice(0,-1)+n:i?y.slice(1)+n:n}function w(n){function u(n){var t=n(f,r);return t?(e(t)&&r.replace().url(t),!0):!1}var c,o,t;if(!n||!n.defaultPrevented){for(c=v&&r.url()===v,v=i,o=s.length,t=0;t<o;t++)if(u(s[t]))return;h&&u(h)}}function b(){return c=c||u.$on("$locationChangeSuccess",w)}var y=o.baseHref(),p=r.url(),v;return l||b(),{sync:function(){w()},listen:function(){return b()},update:function(n){if(n){p=r.url();return}r.url()!==p&&(r.url(p),r.replace())},push:function(n,t,u){var f=n.format(t||{});f!==null&&t&&t["#"]&&(f+="#"+t["#"]);r.url(f);v=u&&u.$$avoidResync?r.url():i;u&&u.replace&&r.replace()},href:function(i,u,f){var o,e,h,s;return i.validates(u)?(o=n.html5Mode(),t.isObject(o)&&(o=o.enabled),o=o&&a.history,e=i.format(u),f=f||{},o||e===null||(e="#"+n.hashPrefix()+e),e!==null&&u&&u["#"]&&(e+="#"+u["#"]),e=k(e,o,f.absolute),!f.absolute||!e)?e:(h=!o&&e?"/":"",s=r.port(),s=s===80||s===443?"":":"+s,[r.protocol(),"://",r.host(),s,h,e].join("")):null}}}var s=[],h=null,l=!1,c;this.rule=function(n){if(!o(n))throw new Error("'rule' must be a function");return s.push(n),this};this.otherwise=function(n){if(e(n)){var t=n;n=function(){return t}}else if(!o(n))throw new Error("'rule' must be a function");return h=n,this};this.when=function(n,t){var i,r=e(t),c,s,h;if(e(n)&&(n=f.compile(n)),!r&&!o(t)&&!a(t))throw new Error("invalid 'handler' in when()");c={matcher:function(n,t){return r&&(i=f.compile(t),t=["$match",function(n){return i.format(n)}]),u(function(i,r){return v(i,t,n.exec(r.path(),r.search()))},{prefix:e(n.prefix)?n.prefix:""})},regex:function(n,t){if(n.global||n.sticky)throw new Error("when() RegExp must not be global or sticky");return r&&(i=t,t=["$match",function(n){return w(i,n)}]),u(function(i,r){return v(i,t,n.exec(r.path()))},{prefix:p(n)})}};s={matcher:f.isMatcher(n),regex:n instanceof RegExp};for(h in s)if(s[h])return this.rule(c[h](n,t));throw new Error("invalid 'what' in when()");};this.deferIntercept=function(n){n===i&&(n=!0);l=n};this.$get=y;y.$inject=["$location","$rootScope","$injector","$browser","$sniffer"]}function ht(n,h){function ht(n){return n.indexOf(".")===0||n.indexOf("^")===0}function nt(n,t){var s;if(!n)return i;var h=e(n),u=h?n:n.name,c=ht(u);if(c){if(!t)throw new Error("No reference point given for path '"+u+"'");t=nt(t);for(var r=u.split("."),f=0,l=r.length,o=t;f<l;f++){if(r[f]===""&&f===0){o=t;continue}if(r[f]==="^"){if(!o.parent)throw new Error("Path '"+u+"' not valid for state '"+t.name+"'");o=o.parent;continue}break}r=r.slice(f).join(".");u=o.name+(o.name&&r?".":"")+r}return(s=it[u],s&&(h||!h&&(s===n||s.self===n)))?s:i}function ct(n,t){rt[n]||(rt[n]=[]);rt[n].push(t)}function lt(n){for(var t=rt[n]||[];t.length;)et(t.shift())}function et(t){var i,u,r;if(t=b(t,{self:t,resolve:t.resolve||{},toString:function(){return this.name}}),i=t.name,!e(i)||i.indexOf("@")>=0)throw new Error("State must have a valid name");if(it.hasOwnProperty(i))throw new Error("State '"+i+"' is already defined");if(u=i.indexOf(".")!==-1?i.substring(0,i.lastIndexOf(".")):e(t.parent)?t.parent:s(t.parent)&&e(t.parent.name)?t.parent.name:"",u&&!it[u])return ct(u,t.self);for(r in d)o(d[r])&&(t[r]=d[r](t,d.$delegates[r]));return it[i]=t,!t[ot]&&t.url&&n.when(t.url,["$match","$stateParams",function(n,i){y.$current.navigable==t&&ii(n,i)||y.transitionTo(t,n,{inherit:!0,location:!1})}]),lt(i),t}function at(n){return n.indexOf("*")>-1}function vt(n){for(var t=n.split("."),i=y.$current.name.split("."),r=0,u=t.length;r<u;r++)t[r]==="*"&&(i[r]="*");return(t[0]==="**"&&(i=i.slice(c(i,t[1])),i.unshift("**")),t[t.length-1]==="**"&&(i.splice(c(i,t[t.length-2])+1,Number.MAX_VALUE),i.push("**")),t.length!=i.length)?!1:i.join("")===t.join("")}function yt(n,t){return e(n)&&!r(t)?d[n]:!o(t)||!e(n)?this:(d[n]&&!d.$delegates[n]&&(d.$delegates[n]=d[n]),d[n]=t,this)}function pt(n,t){return s(n)?t=n:t.name=n,et(t),this}function st(n,h,c,l,d,rt,ft){function yt(t,i,r,u){var e=n.$broadcast("$stateNotFound",t,i,r),f;return e.defaultPrevented?(ft.update(),ht):e.retry?u.$retry?(ft.update(),ct):(f=y.transition=h.when(e.retry),f.then(function(){return f!==y.transition?(n.$broadcast("$stateChangeCancel",t.to,t.toParams,i,r),et):(t.options.$retry=!0,y.transitionTo(t.to,t.toParams,t.options))},function(){return ht}),ft.update(),f):null}function pt(n,i,r,u,e,s){function w(){var i=[];return f(n.views,function(r,u){var f=r.resolve&&r.resolve!==n.resolve?r.resolve:{};f.$template=[function(){return c.load(u,{view:r,locals:e.globals,params:y,notify:s.notify})||""}];i.push(d.resolve(f,e.globals,e.resolve,n).then(function(i){if(o(r.controllerProvider)||a(r.controllerProvider)){var s=t.extend({},f,e.globals);i.$$controller=l.invoke(r.controllerProvider,null,s)}else i.$$controller=r.controller;i.$$state=n;i.$$controllerAs=r.controllerAs;i.$$resolveAs=r.resolveAs;e[u]=i}))}),h.all(i).then(function(){return e.globals})}var y=r?i:k(n.params.$$keys(),i),p={$stateParams:y},v;return e.resolve=d.resolve(n.resolve,p,e.resolve,n),v=[e.resolve.then(function(n){e.globals=n})],u&&v.push(u),h.all(v).then(w).then(function(){return e})}var st=new Error("transition superseded"),et=w(h.reject(st)),lt=w(h.reject(new Error("transition prevented"))),ht=w(h.reject(new Error("transition aborted"))),ct=w(h.reject(new Error("transition failed")));return tt.locals={resolve:null,globals:{$stateParams:{}}},y={params:{},current:tt.self,$current:tt,transition:null},y.reload=function(n){return y.transitionTo(y.current,rt,{reload:n||!0,inherit:!1,notify:!0})},y.go=function(n,t,i){return y.transitionTo(n,t,u({inherit:!0,relative:y.$current},i))},y.transitionTo=function(t,i,f){var vt,ni,ti,gt,bt,ht;i=i||{};f=u({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var a=y.$current,v=y.params,at=a.path,ii,p=nt(t,f.relative),kt=i["#"];if(!r(p)){if(vt={to:t,toParams:i,options:f},ni=yt(vt,a.self,v,f),ni)return ni;if(t=vt.to,i=vt.toParams,f=vt.options,p=nt(t,f.relative),!r(p)){if(!f.relative)throw new Error("No such state '"+t+"'");throw new Error("Could not resolve '"+t+"' from state '"+f.relative+"'");}}if(p[ot])throw new Error("Cannot transition to abstract state '"+t+"'");if(f.inherit&&(i=ut(rt,i||{},y.$current,p)),!p.params.$$validates(i))return ct;i=p.params.$$values(i);t=p;var d=t.path,c=0,o=d[c],it=tt.locals,dt=[];if(f.reload){if(e(f.reload)||s(f.reload)){if(s(f.reload)&&!f.reload.name)throw new Error("Invalid reload state object");if(ti=f.reload===!0?at[0]:nt(f.reload),f.reload&&!ti)throw new Error("No such reload state '"+(e(f.reload)?f.reload:f.reload.name)+"'");while(o&&o===at[c]&&o!==ti)it=dt[c]=o.locals,c++,o=d[c]}}else while(o&&o===at[c]&&o.ownParams.$$equals(i,v))it=dt[c]=o.locals,c++,o=d[c];if(wt(t,i,a,v,it,f))return kt&&(i["#"]=kt),y.params=i,g(y.params,rt),g(k(t.params.$$keys(),rt),t.locals.globals.$stateParams),f.location&&t.navigable&&t.navigable.url&&(ft.push(t.navigable.url,i,{$$avoidResync:!0,replace:f.location==="replace"}),ft.update(!0)),y.transition=null,h.when(y.current);if(i=k(t.params.$$keys(),i||{}),kt&&(i["#"]=kt),f.notify&&n.$broadcast("$stateChangeStart",t.self,i,a.self,v,f).defaultPrevented)return n.$broadcast("$stateChangeCancel",t.self,i,a.self,v),y.transition==null&&ft.update(),lt;for(gt=h.when(it),bt=c;bt<d.length;bt++,o=d[bt])it=dt[bt]=b(it),gt=pt(o,i,o===t,gt,it,f);return ht=y.transition=gt.then(function(){var r,u,e;if(y.transition!==ht)return n.$broadcast("$stateChangeCancel",t.self,i,a.self,v),et;for(r=at.length-1;r>=c;r--)e=at[r],e.self.onExit&&l.invoke(e.self.onExit,e.self,e.locals.globals),e.locals=null;for(r=c;r<d.length;r++)u=d[r],u.locals=dt[r],u.self.onEnter&&l.invoke(u.self.onEnter,u.self,u.locals.globals);return y.transition!==ht?(n.$broadcast("$stateChangeCancel",t.self,i,a.self,v),et):(y.$current=t,y.current=t.self,y.params=i,g(y.params,rt),y.transition=null,f.location&&t.navigable&&ft.push(t.navigable.url,t.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:f.location==="replace"}),f.notify&&n.$broadcast("$stateChangeSuccess",t.self,i,a.self,v),ft.update(!0),y.current)}).then(null,function(r){return r===st?et:y.transition!==ht?(n.$broadcast("$stateChangeCancel",t.self,i,a.self,v),et):(y.transition=null,ii=n.$broadcast("$stateChangeError",t.self,i,a.self,v,r),ii.defaultPrevented||ft.update(),h.reject(r))}),w(ht),ht},y.is=function(n,t,f){f=u({relative:y.$current},f||{});var e=nt(n,f.relative);return r(e)?y.$current!==e?!1:!t||v(t).reduce(function(n,i){var r=e.params[i];return n&&(!r||r.type.equals(rt[i],t[i]))},!0):i},y.includes=function(n,t,f){var o,c,s,h,l;if(f=u({relative:y.$current},f||{}),e(n)&&at(n)){if(!vt(n))return!1;n=y.$current.name}if(o=nt(n,f.relative),!r(o))return i;if(!r(y.$current.includes[o.name]))return!1;if(!t)return!0;for(c=v(t),s=0;s<c.length;s++)if(h=c[s],l=o.params[h],l&&!l.type.equals(rt[h],t[h]))return!1;return v(t).reduce(function(n,i){var r=o.params[i];return n&&!r||r.type.equals(rt[i],t[i])},!0)},y.href=function(n,t,f){var e,o;return(f=u({lossy:!0,inherit:!0,absolute:!1,relative:y.$current},f||{}),e=nt(n,f.relative),!r(e))?null:(f.inherit&&(t=ut(rt,t||{},y.$current,e)),o=e&&f.lossy?e.navigable:e,!o||o.url===i||o.url===null)?null:ft.href(o.url,k(e.params.$$keys().concat("#"),t||{}),{absolute:f.absolute})},y.get=function(n,t){if(arguments.length===0)return p(v(it),function(n){return it[n].self});var i=nt(n,t||y.$current);return i&&i.self?i.self:null},y}function wt(n,t,i,r,u,f){function e(n,t,i){function r(t){return n.params[t].location!="search"}var u=n.params.$$keys().filter(r),f=ft.apply({},[n.params].concat(u)),e=new l.ParamSet(f);return e.$$equals(t,i)}if(!f.reload&&n===i&&(u===i.locals||n.self.reloadOnSearch===!1&&e(i,r,t)))return!0}var tt,it={},y,rt={},ot="abstract",d={parent:function(n){if(r(n.parent)&&n.parent)return nt(n.parent);var t=/^(.+)\.[^.]+$/.exec(n.name);return t?nt(t[1]):tt},data:function(n){return n.parent&&n.parent.data&&(n.data=n.self.data=b(n.parent.data,n.data)),n.data},url:function(n){var t=n.url,i={params:n.params||{}};if(e(t))return t.charAt(0)=="^"?h.compile(t.substring(1),i):(n.parent.navigable||tt).url.concat(t,i);if(!t||h.isMatcher(t))return t;throw new Error("Invalid url '"+t+"' in state '"+n+"'");},navigable:function(n){return n.url?n:n.parent?n.parent.navigable:null},ownParams:function(n){var t=n.url&&n.url.params||new l.ParamSet;return f(n.params||{},function(n,i){t[i]||(t[i]=new l.Param(i,null,n,"config"))}),t},params:function(n){var t=ft(n.ownParams,n.ownParams.$$keys());return n.parent&&n.parent.params?u(n.parent.params.$$new(),t):new l.ParamSet},views:function(n){var t={};return f(r(n.views)?n.views:{"":n},function(i,r){r.indexOf("@")<0&&(r+="@"+n.parent.name);i.resolveAs=i.resolveAs||n.resolveAs||"$resolve";t[r]=i}),t},path:function(n){return n.parent?n.parent.path.concat(n):[]},includes:function(n){var t=n.parent?u({},n.parent.includes):{};return t[n.name]=!0,t},$delegates:{}};tt=et({name:"",url:"^",views:null,abstract:!0});tt.navigable=null;this.decorator=yt;this.state=pt;this.$get=st;st.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function ct(){function n(n,t){return{load:function(n,i){var r;return i=u({template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}},i),i.view&&(r=t.fromConfig(i.view,i.params,i.locals)),r}}}this.$get=n;n.$inject=["$rootScope","$templateFactory"]}function fi(){var n=!1;this.useAnchorScroll=function(){n=!0};this.$get=["$anchorScroll","$timeout",function(t,i){return n?t:function(n){return i(function(){n[0].scrollIntoView()},0,!1)}}]}function lt(n,i,r,u,f){function h(){return i.has?function(n){return i.has(n)?i.get(n):null}:function(n){try{return i.get(n)}catch(t){return null}}}function c(n,i){var u=function(){return{enter:function(n,t,i){t.after(n);i()},leave:function(n,t){n.remove();t()}}},r;return e?{enter:function(n,i,r){t.version.minor>2?e.enter(n,null,i).then(r):e.enter(n,null,i,r)},leave:function(n,i){t.version.minor>2?e.leave(n).then(i):e.leave(n,i)}}:o?(r=o&&o(i,n),{enter:function(n,t,i){r.enter(n,null,t);i()},leave:function(n,t){r.leave(n);t()}}):u()}var s=h(),o=s("$animator"),e=s("$animate");return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(i,e,o){return function(i,e,s){function k(){if(a&&(a.remove(),a=null),h&&(h.$destroy(),h=null),l){var n=l.data("$uiViewAnim");p.leave(l,function(){n.$$animLeave.resolve();a=null});a=l;l=null}}function w(c){var w,a=vt(i,s,e,u),g=a&&n.$current&&n.$current.locals[a],d;(c||g!==y)&&(w=i.$new(),y=n.$current.locals[a],w.$emit("$viewContentLoading",a),d=o(w,function(n){var u=f.defer(),o=f.defer(),s={$animEnter:u.promise,$animLeave:o.promise,$$animLeave:o};n.data("$uiViewAnim",s);p.enter(n,e,function(){u.resolve();h&&h.$emit("$viewContentAnimationEnded");(t.isDefined(v)&&!v||i.$eval(v))&&r(n)});k()}),l=d,h=w,h.$emit("$viewContentLoaded",a),h.$eval(b))}var a,l,h,y,b=s.onload||"",v=s.autoscroll,p=c(s,i),d=e.inheritedData("$uiView");i.$on("$stateChangeSuccess",function(){w(!1)});w(!0)}}}}function at(n,i,r,u){return{restrict:"ECA",priority:-400,compile:function(f){var e=f.html();return f.empty?f.empty():f[0].innerHTML=null,function(f,s,h){var v=r.$current,y=vt(f,h,s,u),c=v&&v.locals[y],a,p,l;if(!c){s.html(e);n(s.contents())(f);return}s.data("$uiView",{name:y,state:c.$$state});s.html(c.$template?c.$template:e);a=t.extend({},c);f[c.$$resolveAs]=a;p=n(s.contents());c.$$controller&&(c.$scope=f,c.$element=s,l=i(c.$$controller,c),c.$$controllerAs&&(f[c.$$controllerAs]=l,f[c.$$controllerAs][c.$$resolveAs]=a),o(l.$onInit)&&l.$onInit(),s.data("$ngControllerController",l),s.children().data("$ngControllerController",l));p(f)}}}}function vt(n,t,i,r){var u=r(t.uiView||t.name||"")(n),f=i.inheritedData("$uiView");return u.indexOf("@")>=0?u:u+"@"+(f?f.state.name:"")}function yt(n,t){var r=n.match(/^\s*({[^}]*})\s*$/),i;if(r&&(n=t+"("+r[1]+")"),i=n.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!i||i.length!==4)throw new Error("Invalid state ref '"+n+"'");return{state:i[1],paramExpr:i[3]||null}}function pt(n){var t=n.parent().inheritedData("$uiView");if(t&&t.state&&t.state.name)return t.state}function wt(n){var i=Object.prototype.toString.call(n.prop("href"))==="[object SVGAnimatedString]",t=n[0].nodeName==="FORM";return{attr:t?"action":i?"xlink:href":"href",isAnchor:n.prop("tagName").toUpperCase()==="A",clickable:!t}}function bt(n,t,i,r,u){return function(f){var h=f.which||f.button,e=u(),o,s;h>1||f.ctrlKey||f.metaKey||f.shiftKey||n.attr("target")||(o=i(function(){t.go(e.state,e.params,e.options)}),f.preventDefault(),s=r.isAnchor&&!e.href?1:0,f.preventDefault=function(){s--<=0&&i.cancel(o)})}}function ei(n,t){return{relative:pt(n)||t.$current,inherit:!0}}function kt(n,i){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(r,f,e,o){var h=yt(e.uiSref,n.current.name),s={state:h.state,href:null,params:null},c=wt(f),y=o[1]||o[0],l=null,a,v;(s.options=u(ei(f,n),e.uiSrefOpts?r.$eval(e.uiSrefOpts):{}),v=function(i){i&&(s.params=t.copy(i));s.href=n.href(h.state,s.params,s.options);l&&l();y&&(l=y.$$addStateInfo(h.state,s.params));s.href!==null&&e.$set(c.attr,s.href)},h.paramExpr&&(r.$watch(h.paramExpr,function(n){n!==s.params&&v(n)},!0),s.params=t.copy(r.$eval(h.paramExpr))),v(),c.clickable)&&(a=bt(f,n,i,c,function(){return s}),f[f.on?"on":"bind"]("click",a),r.$on("$destroy",function(){f[f.off?"off":"unbind"]("click",a)}))}}}function dt(n,t){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(i,r,u,f){function a(t){e.state=t[0];e.params=t[1];e.options=t[2];e.href=n.href(e.state,e.params,e.options);s&&s();c&&(s=c.$$addStateInfo(e.state,e.params));e.href&&u.$set(o.attr,e.href)}var o=wt(r),c=f[1]||f[0],v=[u.uiState,u.uiStateParams||null,u.uiStateOpts||null],l="["+v.map(function(n){return n||"null"}).join(", ")+"]",e={state:null,params:null,options:null,href:null},s=null,h;(i.$watch(l,a,!0),a(i.$eval(l)),o.clickable)&&(h=bt(r,n,t,o,function(){return e}),r[r.on?"on":"bind"]("click",h),i.$on("$destroy",function(){r[r.off?"off":"unbind"]("click",h)}))}}}function it(n,t,i){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function(t,r,u,o){function y(t,i,u){var o=n.get(t,pt(r)),f=b(t,i),e={state:o||{name:t},params:i,hash:f};return h.push(e),l[f]=u,function(){var n=h.indexOf(e);n!==-1&&h.splice(n,1)}}function b(n,i){if(!e(n))throw new Error("state should be a string");return s(i)?n+rt(i):(i=t.$eval(i),s(i))?n+rt(i):n}function v(){for(var n=0;n<h.length;n++)k(h[n].state,h[n].params)?p(r,l[h[n].hash]):w(r,l[h[n].hash]),d(h[n].state,h[n].params)?p(r,a):w(r,a)}function p(n,t){o(function(){n.addClass(t)})}function w(n,t){n.removeClass(t)}function k(t,i){return n.includes(t.name,i)}function d(t,i){return n.is(t.name,i)}var h=[],l={},a,c;a=i(u.uiSrefActiveEq||"",!1)(t);try{c=t.$eval(u.uiSrefActive)}catch(g){}c=c||i(u.uiSrefActive||"",!1)(t);s(c)&&f(c,function(i,r){if(e(i)){var u=yt(i,n.current.name);y(u.state,t.$eval(u.paramExpr),r)}});this.$$addStateInfo=function(n,t){if(!s(c)||!(h.length>0)){var i=y(n,t,c);return v(),i}};t.$on("$stateChangeSuccess",v);v()}]}}function gt(n){var t=function(t,i){return n.is(t,i)};return t.$stateful=!0,t}function ni(n){var t=function(t,i,r){return n.includes(t,i,r)};return t.$stateful=!0,t}var r=t.isDefined,o=t.isFunction,e=t.isString,s=t.isObject,a=t.isArray,f=t.forEach,u=t.extend,g=t.copy,rt=t.toJson,l;t.module("ui.router.util",["ng"]);t.module("ui.router.router",["ui.router.util"]);t.module("ui.router.state",["ui.router.router","ui.router.util"]);t.module("ui.router",["ui.router.state"]);t.module("ui.router.compat",["ui.router"]);et.$inject=["$q","$injector"];t.module("ui.router.util").service("$resolve",et);t.module("ui.router.util").provider("$templateFactory",ri);y.prototype.concat=function(n,t){var i={caseInsensitive:l.caseInsensitive(),strict:l.strictMode(),squash:l.defaultSquashPolicy()};return new y(this.sourcePath+n+this.sourceSearch,u(i,t),this)};y.prototype.toString=function(){return this.source};y.prototype.exec=function(n,t){function v(n){function t(n){return n.split("").reverse().join("")}function i(n){return n.replace(/\\-/g,"-")}var r=t(n).split(/-(?!\\)/),u=p(r,t);return p(u,i).reverse()}var h=this.regexp.exec(n),u,i;if(!h)return null;t=t||{};var c=this.parameters(),a=c.length,l=this.segments.length-1,s={},o,f,e;if(l!==h.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(o=0;o<l;o++){for(e=c[o],u=this.params[e],i=h[o+1],f=0;f<u.replace.length;f++)u.replace[f].from===i&&(i=u.replace[f].to);i&&u.array===!0&&(i=v(i));r(i)&&(i=u.type.decode(i));s[e]=u.value(i)}for(;o<a;o++){for(e=c[o],s[e]=this.params[e].value(t[e]),u=this.params[e],i=t[e],f=0;f<u.replace.length;f++)u.replace[f].from===i&&(i=u.replace[f].to);r(i)&&(i=u.type.decode(i));s[e]=u.value(i)}return s};y.prototype.parameters=function(n){return r(n)?this.params[n]||null:this.$$paramNames};y.prototype.validates=function(n){return this.params.$$validates(n)};y.prototype.format=function(n){function nt(n){return encodeURIComponent(n).replace(/-/g,function(n){return"%5C%"+n.charCodeAt(0).toString(16).toUpperCase()})}var s,b,k;n=n||{};var h=this.segments,c=this.parameters(),d=this.params;if(!this.validates(n))return null;for(var l=!1,v=h.length-1,g=c.length,i=h[0],r=0;r<g;r++){var tt=r<v,o=c[r],u=d[o],y=u.value(n[o]),w=u.isOptional&&u.type.equals(u.value(),y),f=w?u.squash:!1,t=u.type.encode(y);if(tt)s=h[r+1],b=r+1===v,f===!1?(t!=null&&(i+=a(t)?p(t,nt).join("-"):encodeURIComponent(t)),i+=s):f===!0?(k=i.match(/\/$/)?/\/?(.*)/:/(.*)/,i+=s.match(k)[1]):e(f)&&(i+=f+s),b&&u.squash===!0&&i.slice(-1)==="/"&&(i=i.slice(0,-1));else{if(t==null||w&&f!==!1)continue;if(a(t)||(t=[t]),t.length===0)continue;t=p(t,encodeURIComponent).join("&"+o+"=");i+=(l?"&":"?")+(o+"="+t);l=!0}}return i};h.prototype.is=function(){return!0};h.prototype.encode=function(n){return n};h.prototype.decode=function(n){return n};h.prototype.equals=function(n,t){return n==t};h.prototype.$subPattern=function(){var n=this.pattern.toString();return n.substr(1,n.length-2)};h.prototype.pattern=/.*/;h.prototype.toString=function(){return"{Type:"+this.name+"}"};h.prototype.$normalize=function(n){return this.is(n)?n:this.decode(n)};h.prototype.$asArray=function(n,t){function u(n,t){function u(n,t){return function(){return n[t].apply(n,arguments)}}function e(n){return a(n)?n:r(n)?[n]:[]}function o(n){switch(n.length){case 0:return i;case 1:return t==="auto"?n[0]:n;default:return n}}function s(n){return!n}function f(n,t){return function(i){if(a(i)&&i.length===0)return i;i=e(i);var r=p(i,n);return t===!0?tt(r,s).length===0:o(r)}}function h(n){return function(t,i){var u=e(t),f=e(i),r;if(u.length!==f.length)return!1;for(r=0;r<u.length;r++)if(!n(u[r],f[r]))return!1;return!0}}this.encode=f(u(n,"encode"));this.decode=f(u(n,"decode"));this.is=f(u(n,"is"),!0);this.equals=h(u(n,"equals"));this.pattern=n.pattern;this.$normalize=f(u(n,"$normalize"));this.name=n.name;this.$arrayMode=t}if(!n)return this;if(n==="auto"&&!t)throw new Error("'auto' array mode is for query parameters only");return new u(this,n)};t.module("ui.router.util").provider("$urlMatcherFactory",ot);t.module("ui.router.util").run(["$urlMatcherFactory",function(){}]);st.$inject=["$locationProvider","$urlMatcherFactoryProvider"];t.module("ui.router.router").provider("$urlRouter",st);ht.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"];t.module("ui.router.state").factory("$stateParams",function(){return{}}).constant("$state.runtime",{autoinject:!0}).provider("$state",ht).run(["$injector",function(n){n.get("$state.runtime").autoinject&&n.get("$state")}]);ct.$inject=[];t.module("ui.router.state").provider("$view",ct);t.module("ui.router.state").provider("$uiViewScroll",fi);lt.$inject=["$state","$injector","$uiViewScroll","$interpolate","$q"];at.$inject=["$compile","$controller","$state","$interpolate"];t.module("ui.router.state").directive("uiView",lt);t.module("ui.router.state").directive("uiView",at);kt.$inject=["$state","$timeout"];dt.$inject=["$state","$timeout"];it.$inject=["$state","$stateParams","$interpolate"];t.module("ui.router.state").directive("uiSref",kt).directive("uiSrefActive",it).directive("uiSrefActiveEq",it).directive("uiState",dt);gt.$inject=["$state"];ni.$inject=["$state"];t.module("ui.router.state").filter("isState",gt).filter("includedByState",ni)}(window,window.angular);
/*!
   angular-block-ui v0.2.2
   (c) 2016 (null) McNull https://github.com/McNull/angular-block-ui
   License: MIT
*/
(function(n){function r(t){try{n.module(t)}catch(i){return!1}return!0}function u(n,t,i){if(i.blockBrowserNavigation){function u(){n.$on("$locationChangeStart",function(n){t.$_blockLocationChange&&t.state().blockCount>0&&n.preventDefault()});n.$on("$locationChangeSuccess",function(){t.$_blockLocationChange=i.blockBrowserNavigation})}if(r("ngRoute"))var f=n.$on("$viewContentLoaded",function(){f();u()});else u()}}var t=n.module("blockUI",[]),i;t.config(["$provide","$httpProvider",function(n,t){n.decorator("$exceptionHandler",["$delegate","$injector",function(n,t){var i,r;return function(u,f){if(r=r||t.get("blockUIConfig"),r.resetOnException)try{i=i||t.get("blockUI");i.instances.reset()}catch(e){console.log("$exceptionHandler",u)}n(u,f)}}]);t.interceptors.push("blockUIHttpInterceptor")}]);t.run(["$document","blockUIConfig","$templateCache",function(n,t,i){t.autoInjectBodyBlock&&n.find("body").attr("block-ui","main");t.template&&(t.templateUrl="$$block-ui-template$$",i.put(t.templateUrl,t.template))}]);t.config(["$provide",function(n){n.decorator("$location",i)}]);i=["$delegate","blockUI","blockUIConfig",function(t,i,r){if(r.blockBrowserNavigation){i.$_blockLocationChange=!0;var u=["url","path","search","hash","state"];function f(n){var r=t[n];t[n]=function(){var n=r.apply(t,arguments);return n===t&&(i.$_blockLocationChange=!1),n}}n.forEach(u,f)}return t}];t.directive("blockUiContainer",["blockUIConfig","blockUiContainerLinkFn",function(n,t){return{scope:!0,restrict:"A",templateUrl:n.templateUrl,compile:function(){return t}}}]).factory("blockUiContainerLinkFn",["blockUI","blockUIUtils",function(){return function(n,t){var i=t.inheritedData("block-ui");if(!i)throw new Error("No parent block-ui service instance located.");n.state=i.state()}}]);t.directive("blockUi",["blockUiCompileFn",function(n){return{scope:!0,restrict:"A",compile:n}}]).factory("blockUiCompileFn",["blockUiPreLinkFn",function(n){return function(t){return t.append('<div block-ui-container class="block-ui-container"><\/div>'),{pre:n}}}]).factory("blockUiPreLinkFn",["blockUI","blockUIUtils","blockUIConfig",function(n,t,i){return function(r,f,e){var s,o,h,c,l;f.hasClass("block-ui")||f.addClass(i.cssClass);e.$observe("blockUiMessageClass",function(n){r.$_blockUiMessageClass=n});s=e.blockUi||"_"+r.$id;o=n.instances.get(s);s==="main"?u(r,o,i):(h=f.inheritedData("block-ui"),h&&(o._parent=h));r.$on("$destroy",function(){o.release()});o.addRef();r.$_blockUiState=o.state();r.$watch("$_blockUiState.blocking",function(n){f.attr("aria-busy",!!n);f.toggleClass("block-ui-visible",!!n)});r.$watch("$_blockUiState.blockCount > 0",function(n){f.toggleClass("block-ui-active",!!n)});c=e.blockUiPattern;c&&(l=t.buildRegExp(c),o.pattern(l));f.data("block-ui",o)}}]);t.constant("blockUIConfig",{templateUrl:"angular-block-ui/angular-block-ui.ng.html",delay:250,message:"Loading ...",autoBlock:!0,resetOnException:!0,requestFilter:n.noop,autoInjectBodyBlock:!0,cssClass:"block-ui block-ui-anim-fade",blockBrowserNavigation:!1});t.factory("blockUIHttpInterceptor",["$q","$injector","blockUIConfig","$templateCache",function(n,t,i,r){function f(){u=u||t.get("blockUI")}function e(n){i.autoBlock&&n&&!n.$_noBlock&&n.$_blocks&&(f(),n.$_blocks.stop())}function o(t){try{e(t.config)}catch(i){console.log("httpRequestError",i)}return n.reject(t)}var u;return{request:function(n){if(i.autoBlock&&!(n.method=="GET"&&r.get(n.url))){var t=i.requestFilter(n);t===!1?n.$_noBlock=!0:(f(),n.$_blocks=u.instances.locate(n),n.$_blocks.start(t))}return n},requestError:o,response:function(n){return n&&e(n.config),n},responseError:o}}]);t.factory("blockUI",["blockUIConfig","$timeout","blockUIUtils","$document",function(t,i,r,u){function h(f){var h=this,c={id:f,blockCount:0,message:t.message,blocking:!1},l,a=[];this._id=f;this._refs=0;this.start=function(f){function a(){l=null;c.blocking=!0}f=f||{};n.isString(f)?f={message:f}:n.forEach(s,function(n){if(f[n])throw new Error("The property "+n+" is reserved for the block state.");});n.extend(c,f);c.message=c.blockCount>0?f.message||c.message||t.message:f.message||t.message;c.blockCount++;var e=n.element(u[0].activeElement);e.length&&r.isElementInBlockScope(e,h)&&(h._restoreFocus=e[0],i(function(){h._restoreFocus&&h._restoreFocus!==o[0]&&h._restoreFocus.blur()}));l||t.delay===0?t.delay===0&&a():l=i(a,t.delay)};this._cancelStartTimeout=function(){l&&(i.cancel(l),l=null)};this.stop=function(){c.blockCount=Math.max(0,--c.blockCount);c.blockCount===0&&h.reset(!0)};this.isBlocking=function(){return c.blocking};this.message=function(n){c.message=n};this.pattern=function(n){return n!==undefined&&(h._pattern=n),h._pattern};this.reset=function(t){if(h._cancelStartTimeout(),c.blockCount=0,c.blocking=!1,h._restoreFocus&&(!u[0].activeElement||u[0].activeElement===o[0])){try{h._restoreFocus.focus()}catch(r){(function(){var n=h._restoreFocus;i(function(){if(n)try{n.focus()}catch(t){}},100)})()}h._restoreFocus=null}try{t&&n.forEach(a,function(n){n()})}finally{a.length=0}};this.done=function(n){a.push(n)};this.state=function(){return c};this.addRef=function(){h._refs+=1};this.release=function(){--h._refs<=0&&e.instances._destroy(h)}}var o=u.find("body"),s=["id","blockCount","blocking"],f=[],e;return f.get=function(n){if(!isNaN(n))throw new Error("BlockUI id cannot be a number");var t=f[n];return t||(t=f[n]=new h(n),f.push(t)),t},f._destroy=function(t){if(n.isString(t)&&(t=f[t]),t){t.reset();var i=r.indexOf(f,t);f.splice(i,1);delete f[t.state().id]}},f.locate=function(n){var t=[],i,u,o;for(r.forEachFnHook(t,"start"),r.forEachFnHook(t,"stop"),i=f.length;i--;)u=f[i],o=u._pattern,o&&o.test(n.url)&&t.push(u);return t.length===0&&t.push(e),t},r.forEachFnHook(f,"reset"),e=f.get("main"),e.addRef(),e.instances=f,e}]);t.factory("blockUIUtils",function(){var i=n.element,t={buildRegExp:function(n){var t=n.match(/^\/(.*)\/([gim]*)$/),i;if(t)i=new RegExp(t[1],t[2]);else throw Error("Incorrect regular expression format: "+n);return i},forEachFn:function(n,t,i){for(var u=n.length,r;u--;)r=n[u],r[t].apply(r,i)},forEachFnHook:function(n,i){n[i]=function(){t.forEachFn(this,i,arguments)}},isElementInBlockScope:function(n,t){for(var i=n.inheritedData("block-ui");i;){if(i===t)return!0;i=i._parent}return!1},findElement:function(n,r,u){var f=null,e,o;if(r(n))f=n;else for(e=u?n.parent():n.children(),o=e.length;!f&&o--;)f=t.findElement(i(e[o]),r,u);return f},indexOf:function(n,t,i){for(var r=i||0,u=n.length;r<u;r++)if(n[r]===t)return r;return-1}};return t});n.module("blockUI").run(["$templateCache",function(n){n.put("angular-block-ui/angular-block-ui.ng.html",'<div class="block-ui-overlay"><\/div><div class="block-ui-message-container" aria-live="assertive" aria-atomic="true"><div class="block-ui-message" ng-class="$_blockUiMessageClass">{{ state.message }}<\/div><\/div>')}])})(angular);typeof module!="undefined"&&(module.exports="blockUI"),function(){"use strict";angular.module("toaster",[]).constant("toasterConfig",{limit:0,"tap-to-dismiss":!0,"close-button":!1,"close-html":'<button class="toast-close-button" type="button">&times;<\/button>',"newest-on-top":!0,"time-out":5e3,"icon-classes":{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},"body-output-type":"","body-template":"toasterBodyTmpl.html","icon-class":"toast-info","position-class":"toast-top-right","title-class":"toast-title","message-class":"toast-message","prevent-duplicates":!1,"mouseover-timer-stop":!0}).run(["$templateCache",function(n){n.put("angularjs-toaster/toast.html",'<div id="toast-container" ng-class="[config.position, config.animation]"><div ng-repeat="toaster in toasters" class="toast" ng-class="toaster.type" ng-click="click($event, toaster)" ng-mouseover="stopTimer(toaster)" ng-mouseout="restartTimer(toaster)"><div ng-if="toaster.showCloseButton" ng-click="click($event, toaster, true)" ng-bind-html="toaster.closeHtml"><\/div><div ng-class="config.title">{{toaster.title}}<\/div><div ng-class="config.message" ng-switch on="toaster.bodyOutputType"><div ng-switch-when="trustedHtml" ng-bind-html="toaster.html"><\/div><div ng-switch-when="template"><div ng-include="toaster.bodyTemplate"><\/div><\/div><div ng-switch-when="templateWithData"><div ng-include="toaster.bodyTemplate"><\/div><\/div><div ng-switch-when="directive"><div directive-template directive-name="{{toaster.html}}" directive-data="{{toaster.directiveData}}"><\/div><\/div><div ng-switch-default >{{toaster.body}}<\/div><\/div><\/div><\/div>')}]).service("toaster",["$rootScope","toasterConfig",function(n,t){function u(n){return function(t,i,r,u,f,e,o,s,h){return angular.isString(t)?this.pop(n,t,i,r,u,f,e,o,s,h):this.pop(angular.extend(t,{type:n}))}}var r=function(){var n={};return n.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,i=n=="x"?t:t&3|8;return i.toString(16)})},n}(),i;this.pop=function(t,i,u,f,e,o,s,h,c,l){if(angular.isObject(t)){var a=t;this.toast={type:a.type,title:a.title,body:a.body,timeout:a.timeout,bodyOutputType:a.bodyOutputType,clickHandler:a.clickHandler,showCloseButton:a.showCloseButton,closeHtml:a.closeHtml,toastId:a.toastId,onShowCallback:a.onShowCallback,onHideCallback:a.onHideCallback,directiveData:a.directiveData,tapToDismiss:a.tapToDismiss};s=a.toasterId}else this.toast={type:t,title:i,body:u,timeout:f,bodyOutputType:e,clickHandler:o,showCloseButton:h,toastId:c,onHideCallback:l};return this.toast.toastId&&this.toast.toastId.length||(this.toast.toastId=r.newGuid()),n.$emit("toaster-newToast",s,this.toast.toastId),{toasterId:s,toastId:this.toast.toastId}};this.clear=function(t,i){angular.isObject(t)?n.$emit("toaster-clearToasts",t.toasterId,t.toastId):n.$emit("toaster-clearToasts",t,i)};for(i in t["icon-classes"])this[i]=u(i)}]).factory("toasterEventRegistry",["$rootScope",function(n){var u=null,f=null,t=[],i=[],r;return r={setup:function(){u||(u=n.$on("toaster-newToast",function(n,i,r){for(var u=0,f=t.length;u<f;u++)t[u](n,i,r)}));f||(f=n.$on("toaster-clearToasts",function(n,t,r){for(var u=0,f=i.length;u<f;u++)i[u](n,t,r)}))},subscribeToNewToastEvent:function(n){t.push(n)},subscribeToClearToastsEvent:function(n){i.push(n)},unsubscribeToNewToastEvent:function(n){var i=t.indexOf(n);i>=0&&t.splice(i,1);t.length===0&&(u(),u=null)},unsubscribeToClearToastsEvent:function(n){var t=i.indexOf(n);t>=0&&i.splice(t,1);i.length===0&&(f(),f=null)}},{setup:r.setup,subscribeToNewToastEvent:r.subscribeToNewToastEvent,subscribeToClearToastsEvent:r.subscribeToClearToastsEvent,unsubscribeToNewToastEvent:r.unsubscribeToNewToastEvent,unsubscribeToClearToastsEvent:r.unsubscribeToClearToastsEvent}}]).directive("directiveTemplate",["$compile","$injector",function(n,t){return{restrict:"A",scope:{directiveName:"@directiveName",directiveData:"@directiveData"},replace:!0,link:function(i,r,u){i.$watch("directiveName",function(f){var o,e,s;if(angular.isUndefined(f)||f.length<=0)throw new Error("A valid directive name must be provided via the toast body argument when using bodyOutputType: directive");try{o=t.get(u.$normalize(f)+"Directive")}catch(h){throw new Error(f+" could not be found. The name should appear as it exists in the markup, not camelCased as it would appear in the directive declaration, e.g. directive-name not directiveName.");}if(e=o[0],e.scope!==!0&&e.scope)throw new Error("Cannot use a directive with an isolated scope. The scope must be either true or falsy (e.g. false/null/undefined). Occurred for directive "+f+".");if(e.restrict.indexOf("A")<0)throw new Error('Directives must be usable as attributes. Add "A" to the restrict option (or remove the option entirely). Occurred for directive '+f+".");i.directiveData&&(i.directiveData=angular.fromJson(i.directiveData));s=n("<div "+f+"><\/div>")(i);r.append(s)})}}}]).directive("toasterContainer",["$parse","$rootScope","$interval","$sce","toasterConfig","toaster","toasterEventRegistry",function(n,t,i,r,u,f,e){return{replace:!0,restrict:"EA",scope:!0,link:function(t,o,s){function a(n,r){n.timeoutPromise=i(function(){t.removeToast(n.toastId)},r,1)}function v(i,u){var e,l,s,f,o,a,c;if(i.type=h["icon-classes"][i.type],i.type||(i.type=h["icon-class"]),h["prevent-duplicates"]===!0&&t.toasters.length){if(t.toasters[t.toasters.length-1].body===i.body)return;for(s=!1,e=0,l=t.toasters.length;e<l;e++)if(t.toasters[e].toastId===u){s=!0;break}if(s)return}f=h["close-button"];typeof i.showCloseButton=="boolean"||(typeof f=="boolean"?i.showCloseButton=f:typeof f=="object"?(o=f[i.type],typeof o!="undefined"&&o!==null&&(i.showCloseButton=o)):i.showCloseButton=!1);i.showCloseButton&&(i.closeHtml=r.trustAsHtml(i.closeHtml||t.config.closeHtml));i.bodyOutputType=i.bodyOutputType||h["body-output-type"];switch(i.bodyOutputType){case"trustedHtml":i.html=r.trustAsHtml(i.body);break;case"template":i.bodyTemplate=i.body||h["body-template"];break;case"templateWithData":a=n(i.body||h["body-template"]);c=a(t);i.bodyTemplate=c.template;i.data=c.data;break;case"directive":i.html=i.body}if(t.configureTimer(i),h["newest-on-top"]===!0?(t.toasters.unshift(i),h.limit>0&&t.toasters.length>h.limit&&t.toasters.pop()):(t.toasters.push(i),h.limit>0&&t.toasters.length>h.limit&&t.toasters.shift()),angular.isFunction(i.onShowCallback))i.onShowCallback(i)}function l(n){var r=t.toasters[n];if(r.timeoutPromise&&i.cancel(r.timeoutPromise),t.toasters.splice(n,1),angular.isFunction(r.onHideCallback))r.onHideCallback(r)}function y(n){for(var i=t.toasters.length-1;i>=0;i--)c(n)?l(i):t.toasters[i].toastId==n&&l(i)}function c(n){return angular.isUndefined(n)||n===null}var h;h=angular.extend({},u,t.$eval(s.toasterOptions));t.config={toasterId:h["toaster-id"],position:h["position-class"],title:h["title-class"],message:h["message-class"],tap:h["tap-to-dismiss"],closeButton:h["close-button"],closeHtml:h["close-html"],animation:h["animation-class"],mouseoverTimer:h["mouseover-timer-stop"]};t.$on("$destroy",function(){e.unsubscribeToNewToastEvent(t._onNewToast);e.unsubscribeToClearToastsEvent(t._onClearToasts)});t.configureTimer=function(n){var t=angular.isNumber(n.timeout)?n.timeout:h["time-out"];typeof t=="object"&&(t=t[n.type]);t>0&&a(n,t)};t.removeToast=function(n){for(var i=0,r=t.toasters.length;i<r;i++)if(t.toasters[i].toastId===n){l(i);break}};t.toasters=[];t._onNewToast=function(n,i,r){(c(t.config.toasterId)&&c(i)||!c(t.config.toasterId)&&!c(i)&&t.config.toasterId==i)&&v(f.toast,r)};t._onClearToasts=function(n,i,r){(i=="*"||c(t.config.toasterId)&&c(i)||!c(t.config.toasterId)&&!c(i)&&t.config.toasterId==i)&&y(r)};e.setup();e.subscribeToNewToastEvent(t._onNewToast);e.subscribeToClearToastsEvent(t._onClearToasts)},controller:["$scope","$element","$attrs",function(n){n.stopTimer=function(t){n.config.mouseoverTimer===!0&&t.timeoutPromise&&(i.cancel(t.timeoutPromise),t.timeoutPromise=null)};n.restartTimer=function(t){n.config.mouseoverTimer===!0?t.timeoutPromise||n.configureTimer(t):t.timeoutPromise===null&&n.removeToast(t.toastId)};n.click=function(t,i,r){var f,u;t.stopPropagation();f=typeof i.tapToDismiss=="boolean"?i.tapToDismiss:n.config.tap;(f===!0||i.showCloseButton===!0&&r===!0)&&(u=!0,i.clickHandler&&(angular.isFunction(i.clickHandler)?u=i.clickHandler(i,r):angular.isFunction(n.$parent.$eval(i.clickHandler))?u=n.$parent.$eval(i.clickHandler)(i,r):console.log("TOAST-NOTE: Your click handler is not inside a parent scope of toaster-container.")),u&&n.removeToast(i.toastId))}}],templateUrl:"angularjs-toaster/toast.html"}}])}(window,document);
/*!mobile-detect v1.4.2 2018-06-10*/
/*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/
(function(n,t){n(function(){"use strict";function f(n,t){return n!=null&&t!=null&&n.toLowerCase()===t.toLowerCase()}function o(n,t){var r,i,u=n.length;if(!u||!t)return!1;for(r=t.toLowerCase(),i=0;i<u;++i)if(r===n[i].toLowerCase())return!0;return!1}function u(n){for(var t in n)r.call(n,t)&&(n[t]=new RegExp(n[t],"i"))}function s(n){return(n||"").substr(0,500)}function i(n,t){this.ua=s(n);this._cache={};this.maxPhoneWidth=t||600}var n={},r,e;return n.mobileDetectRules={phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:"BlackBerry|\\bBB10\\b|rim[0-9]+",HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6",Dell:"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F",LG:"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)",Sony:"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533",Asus:"Asus.*Galaxy|PadFone.*Mobile",NokiaLumia:"Lumia [0-9]{3,4}",Micromax:"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",Palm:"PalmSource|Palm",Vertu:"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",Wiko:"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:"Alcatel",Nintendo:"Nintendo (3DS|Switch)",Amoi:"Amoi",INQ:"INQ",GenericPhone:"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},tablets:{iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",GoogleTablet:"Android.*Pixel C",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304F|TB-X304L|TB-8703F|Tab2A7-10F",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android.*\\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9|TECNO DP8D",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:"Android",BlackBerryOS:"blackberry|\\bBB10\\b|rim tablet os",PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",WindowsMobileOS:"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;",WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",MeeGoOS:"MeeGo",MaemoOS:"Maemo",JavaOS:"J2ME/|\\bMIDP\\b|\\bCLDC\\b",webOS:"webOS|hpwOS",badaOS:"\\bBada\\b",BREWOS:"BREW"},uas:{Chrome:"\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?",Dolfin:"\\bDolfin\\b",Opera:"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+|Coast/[0-9.]+",Skyfire:"Skyfire",Edge:"Mobile Safari/[.0-9]* Edge",IE:"IEMobile|MSIEMobile",Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:"bolt",TeaShark:"teashark",Blazer:"Blazer",Safari:"Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari",UCBrowser:"UC.*Browser|UCWEB",baiduboxapp:"baiduboxapp",baidubrowser:"baidubrowser",DiigoBrowser:"DiigoBrowser",Puffin:"Puffin",Mercury:"\\bMercury\\b",ObigoBrowser:"Obigo",NetFront:"NF-Browser",GenericBrowser:"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:"Build/[VER]",Version:"Version/[VER]",VendorID:"VendorID/[VER]",iPad:"iPad.*CPU[a-z ]+[VER]",iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:"iPod.*CPU[a-z ]+[VER]",Kindle:"Kindle/[VER]",Chrome:["Chrome/[VER]","CriOS/[VER]","CrMo/[VER]"],Coast:["Coast/[VER]"],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]","FxiOS/[VER]"],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];","IEMobile [VER]","MSIE [VER];","Trident/[0-9.]+;.*rv:[VER]"],NetFront:"NetFront/[VER]",NokiaBrowser:"NokiaBrowser/[VER]",Opera:[" OPR/[VER]","Opera Mini/[VER]","Version/[VER]"],"Opera Mini":"Opera Mini/[VER]","Opera Mobi":"Version/[VER]",UCBrowser:["UCWEB[VER]","UC.*Browser/[VER]"],MQQBrowser:"MQQBrowser/[VER]",MicroMessenger:"MicroMessenger/[VER]",baiduboxapp:"baiduboxapp/[VER]",baidubrowser:"baidubrowser/[VER]",SamsungBrowser:"SamsungBrowser/[VER]",Iron:"Iron/[VER]",Safari:["Version/[VER]","Safari/[VER]"],Skyfire:"Skyfire/[VER]",Tizen:"Tizen/[VER]",Webkit:"webkit[ /][VER]",PaleMoon:"PaleMoon/[VER]",Gecko:"Gecko/[VER]",Trident:"Trident/[VER]",Presto:"Presto/[VER]",Goanna:"Goanna/[VER]",iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",BlackBerry:["BlackBerry[\\w]+/[VER]","BlackBerry.*Version/[VER]","Version/[VER]"],BREW:"BREW [VER]",Java:"Java/[VER]","Windows Phone OS":["Windows Phone OS [VER]","Windows Phone [VER]"],"Windows Phone":"Windows Phone [VER]","Windows CE":"Windows CE/[VER]","Windows NT":"Windows NT [VER]",Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]","hpwOS/[VER];"]},utils:{Bot:"Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom",MobileBot:"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2",DesktopMode:"WPDesktop",TV:"SonyDTV|HbbTV",WebKit:"(webkit)[ /]([\\w.]+)",Console:"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",Watch:"SM-V700"}},n.detectMobileBrowsers={fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i},r=Object.prototype.hasOwnProperty,n.FALLBACK_PHONE="UnknownPhone",n.FALLBACK_TABLET="UnknownTablet",n.FALLBACK_MOBILE="UnknownMobile",e="isArray"in Array?Array.isArray:function(n){return Object.prototype.toString.call(n)==="[object Array]"},function(){var s,i,f,o,c,h,t=n.mobileDetectRules;for(s in t.props)if(r.call(t.props,s)){for(i=t.props[s],e(i)||(i=[i]),c=i.length,o=0;o<c;++o)f=i[o],h=f.indexOf("[VER]"),h>=0&&(f=f.substring(0,h)+"([\\w._\\+]+)"+f.substring(h+5)),i[o]=new RegExp(f,"i");t.props[s]=i}u(t.oss);u(t.phones);u(t.tablets);u(t.uas);u(t.utils);t.oss0={WindowsPhoneOS:t.oss.WindowsPhoneOS,WindowsMobileOS:t.oss.WindowsMobileOS}}(),n.findMatch=function(n,t){for(var i in n)if(r.call(n,i)&&n[i].test(t))return i;return null},n.findMatches=function(n,t){var u=[];for(var i in n)r.call(n,i)&&n[i].test(t)&&u.push(i);return u},n.getVersionStr=function(t,i){var o=n.mobileDetectRules.props,f,u,s,e;if(r.call(o,t))for(f=o[t],s=f.length,u=0;u<s;++u)if(e=f[u].exec(i),e!==null)return e[1];return null},n.getVersion=function(t,i){var r=n.getVersionStr(t,i);return r?n.prepareVersionNo(r):NaN},n.prepareVersionNo=function(n){var t;return t=n.split(/[a-z._ \/\-]/i),t.length===1&&(n=t[0]),t.length>1&&(n=t[0]+".",t.shift(),n+=t.join("")),Number(n)},n.isMobileFallback=function(t){return n.detectMobileBrowsers.fullPattern.test(t)||n.detectMobileBrowsers.shortPattern.test(t.substr(0,4))},n.isTabletFallback=function(t){return n.detectMobileBrowsers.tabletPattern.test(t)},n.prepareDetectionCache=function(r,u,f){if(r.mobile===t){var e,o,s;if(o=n.findMatch(n.mobileDetectRules.tablets,u),o){r.mobile=r.tablet=o;r.phone=null;return}if(e=n.findMatch(n.mobileDetectRules.phones,u),e){r.mobile=r.phone=e;r.tablet=null;return}n.isMobileFallback(u)?(s=i.isPhoneSized(f),s===t?(r.mobile=n.FALLBACK_MOBILE,r.tablet=r.phone=null):s?(r.mobile=r.phone=n.FALLBACK_PHONE,r.tablet=null):(r.mobile=r.tablet=n.FALLBACK_TABLET,r.phone=null)):n.isTabletFallback(u)?(r.mobile=r.tablet=n.FALLBACK_TABLET,r.phone=null):r.mobile=r.tablet=r.phone=null}},n.mobileGrade=function(n){var t=n.mobile()!==null;return n.os("iOS")&&n.version("iPad")>=4.3||n.os("iOS")&&n.version("iPhone")>=3.1||n.os("iOS")&&n.version("iPod")>=3.1||n.version("Android")>2.1&&n.is("Webkit")||n.version("Windows Phone OS")>=7||n.is("BlackBerry")&&n.version("BlackBerry")>=6||n.match("Playbook.*Tablet")||n.version("webOS")>=1.4&&n.match("Palm|Pre|Pixi")||n.match("hp.*TouchPad")||n.is("Firefox")&&n.version("Firefox")>=12||n.is("Chrome")&&n.is("AndroidOS")&&n.version("Android")>=4||n.is("Skyfire")&&n.version("Skyfire")>=4.1&&n.is("AndroidOS")&&n.version("Android")>=2.3||n.is("Opera")&&n.version("Opera Mobi")>11&&n.is("AndroidOS")||n.is("MeeGoOS")||n.is("Tizen")||n.is("Dolfin")&&n.version("Bada")>=2||(n.is("UC Browser")||n.is("Dolfin"))&&n.version("Android")>=2.3||n.match("Kindle Fire")||n.is("Kindle")&&n.version("Kindle")>=3||n.is("AndroidOS")&&n.is("NookTablet")||n.version("Chrome")>=11&&!t||n.version("Safari")>=5&&!t||n.version("Firefox")>=4&&!t||n.version("MSIE")>=7&&!t||n.version("Opera")>=10&&!t?"A":n.os("iOS")&&n.version("iPad")<4.3||n.os("iOS")&&n.version("iPhone")<3.1||n.os("iOS")&&n.version("iPod")<3.1||n.is("Blackberry")&&n.version("BlackBerry")>=5&&n.version("BlackBerry")<6||n.version("Opera Mini")>=5&&n.version("Opera Mini")<=6.5&&(n.version("Android")>=2.3||n.is("iOS"))||n.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||n.version("Opera Mobi")>=11&&n.is("SymbianOS")?"B":(n.version("BlackBerry")<5||n.match("MSIEMobile|Windows CE.*Mobile")||n.version("Windows Mobile")<=5.2,"C")},n.detectOS=function(t){return n.findMatch(n.mobileDetectRules.oss0,t)||n.findMatch(n.mobileDetectRules.oss,t)},n.getDeviceSmallerSide=function(){return window.screen.width<window.screen.height?window.screen.width:window.screen.height},i.prototype={constructor:i,mobile:function(){return n.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.mobile},phone:function(){return n.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.phone},tablet:function(){return n.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.tablet},userAgent:function(){return this._cache.userAgent===t&&(this._cache.userAgent=n.findMatch(n.mobileDetectRules.uas,this.ua)),this._cache.userAgent},userAgents:function(){return this._cache.userAgents===t&&(this._cache.userAgents=n.findMatches(n.mobileDetectRules.uas,this.ua)),this._cache.userAgents},os:function(){return this._cache.os===t&&(this._cache.os=n.detectOS(this.ua)),this._cache.os},version:function(t){return n.getVersion(t,this.ua)},versionStr:function(t){return n.getVersionStr(t,this.ua)},is:function(t){return o(this.userAgents(),t)||f(t,this.os())||f(t,this.phone())||f(t,this.tablet())||o(n.findMatches(n.mobileDetectRules.utils,this.ua),t)},match:function(n){return n instanceof RegExp||(n=new RegExp(n,"i")),n.test(this.ua)},isPhoneSized:function(n){return i.isPhoneSized(n||this.maxPhoneWidth)},mobileGrade:function(){return this._cache.grade===t&&(this._cache.grade=n.mobileGrade(this)),this._cache.grade}},i.isPhoneSized=typeof window!="undefined"&&window.screen?function(i){return i<0?t:n.getDeviceSmallerSide()<=i}:function(){},i._impl=n,i.version="1.4.2 2018-06-10",i})})(function(){if(typeof module!="undefined"&&module.exports)return function(n){module.exports=n()};if(typeof define=="function"&&define.amd)return define;if(typeof window!="undefined")return function(n){window.MobileDetect=n()};throw new Error("unknown environment");}());
//# sourceMappingURL=hurbis-ui-v1.dependencia.min.js.map