2017-09-20 18:29:17 +00:00
! function ( b , f , h ) { function l ( d ) { return function ( ) { var m , a = arguments [ 0 ] ; m = "[" + ( d ? d + ":" : "" ) + a + "] http://errors.angularjs.org/1.4.14/" + ( d ? d + "/" : "" ) + a ; for ( a = 1 ; a < arguments . length ; a ++ ) { m = m + ( 1 == a ? "?" : "&" ) + "p" + ( a - 1 ) + "=" ; var b , c = encodeURIComponent ; b = arguments [ a ] ; b = "function" == typeof b ? b . toString ( ) . replace ( / \{[\s\S]*$/ , "" ) : "undefined" == typeof b ? "undefined" : "string" != typeof b ? JSON . stringify ( b ) : b ; m += c ( b ) } return Error ( m ) } } function c ( d ) { if ( null == d || N ( d ) ) return ! 1 ; if ( pa ( d ) || p ( d ) || fa && d instanceof fa ) return ! 0 ; var m =
"length" in Object ( d ) && d . length ; return I ( m ) && ( 0 <= m && ( m - 1 in d || d instanceof Array ) || "function" == typeof d . item ) } function a ( d , m , b ) { var F , Y ; if ( d ) if ( J ( d ) ) for ( F in d ) "prototype" == F || "length" == F || "name" == F || d . hasOwnProperty && ! d . hasOwnProperty ( F ) || m . call ( b , d [ F ] , F , d ) ; else if ( pa ( d ) || c ( d ) ) { var e = "object" != typeof d ; F = 0 ; for ( Y = d . length ; F < Y ; F ++ ) ( e || F in d ) && m . call ( b , d [ F ] , F , d ) } else if ( d . forEach && d . forEach !== a ) d . forEach ( m , b , d ) ; else if ( null === d || "object" != typeof d || wc ( d ) ) if ( "function" == typeof d . hasOwnProperty ) for ( F in d ) d . hasOwnProperty ( F ) &&
m . call ( b , d [ F ] , F , d ) ; else for ( F in d ) sb . call ( d , F ) && m . call ( b , d [ F ] , F , d ) ; else for ( F in d ) m . call ( b , d [ F ] , F , d ) ; return d } function e ( d , m , a ) { for ( var b = Object . keys ( d ) . sort ( ) , c = 0 ; c < b . length ; c ++ ) m . call ( a , d [ b [ c ] ] , b [ c ] ) ; return b } function g ( d ) { return function ( m , a ) { d ( a , m ) } } function t ( ) { return ++ xc } function k ( d , m , a ) { for ( var b = d . $$hashKey , c = 0 , Y = m . length ; c < Y ; ++ c ) { var e = m [ c ] ; if ( q ( e ) || J ( e ) ) for ( var g = Object . keys ( e ) , h = 0 , f = g . length ; h < f ; h ++ ) { var l = g [ h ] , v = e [ l ] ; a && q ( v ) ? O ( v ) ? d [ l ] = new Date ( v . valueOf ( ) ) : G ( v ) ? d [ l ] = new RegExp ( v ) : v . nodeName ?
d [ l ] = v . cloneNode ( ! 0 ) : R ( v ) ? d [ l ] = v . clone ( ) : ( q ( d [ l ] ) || ( d [ l ] = pa ( v ) ? [ ] : { } ) , k ( d [ l ] , [ v ] , ! 0 ) ) : d [ l ] = v } } return b ? d . $$hashKey = b : delete d . $$hashKey , d } function n ( d ) { return k ( d , Cb . call ( arguments , 1 ) , ! 1 ) } function r ( d ) { return k ( d , Cb . call ( arguments , 1 ) , ! 0 ) } function y ( d , m ) { return n ( Object . create ( d ) , m ) } function u ( ) { } function w ( d ) { return d } function A ( d ) { return function ( ) { return d } } function z ( d ) { return J ( d . toString ) && d . toString !== tb } function B ( d ) { return "undefined" == typeof d } function E ( d ) { return "undefined" != typeof d } function q ( d ) { return null !==
d && "object" == typeof d } function p ( d ) { return "string" == typeof d } function I ( d ) { return "number" == typeof d } function O ( d ) { return "[object Date]" === tb . call ( d ) } function J ( d ) { return "function" == typeof d } function G ( d ) { return "[object RegExp]" === tb . call ( d ) } function N ( d ) { return d && d . window === d } function T ( d ) { return d && d . $evalAsync && d . $watch } function X ( d ) { return "boolean" == typeof d } function H ( d ) { return d && I ( d . length ) && xe . test ( tb . call ( d ) ) } function R ( d ) { return ! ( ! d || ! ( d . nodeName || d . prop && d . attr && d . find ) ) } function U ( d ) { var m =
{ } ; d = d . split ( "," ) ; var a ; for ( a = 0 ; a < d . length ; a ++ ) m [ d [ a ] ] = ! 0 ; return m } function ha ( d ) { return xa ( d . nodeName || d [ 0 ] && d [ 0 ] . nodeName ) } function K ( d , a ) { var m = d . indexOf ( a ) ; return 0 <= m && d . splice ( m , 1 ) , m } function S ( d , m ) { function b ( d , a ) { var m , b = a . $$hashKey ; if ( pa ( d ) ) { m = 0 ; for ( var c = d . length ; m < c ; m ++ ) a . push ( F ( d [ m ] ) ) } else if ( null === d || "object" != typeof d || wc ( d ) ) if ( d && "function" == typeof d . hasOwnProperty ) for ( m in d ) d . hasOwnProperty ( m ) && ( a [ m ] = F ( d [ m ] ) ) ; else for ( m in d ) sb . call ( d , m ) && ( a [ m ] = F ( d [ m ] ) ) ; else for ( m in d ) a [ m ] = F ( d [ m ] ) ;
return b ? a . $$hashKey = b : delete a . $$hashKey , a } function F ( d ) { if ( ! q ( d ) ) return d ; var m = c . indexOf ( d ) ; if ( - 1 !== m ) return e [ m ] ; if ( N ( d ) || T ( d ) ) throw Wa ( "cpws" ) ; var a , m = ! 1 ; return pa ( d ) ? ( a = [ ] , m = ! 0 ) : H ( d ) ? a = new d . constructor ( d ) : O ( d ) ? a = new Date ( d . getTime ( ) ) : G ( d ) ? ( a = new RegExp ( d . source , d . toString ( ) . match ( /[^\/]*$/ ) [ 0 ] ) , a . lastIndex = d . lastIndex ) : "[object Blob]" === tb . call ( d ) ? a = new d . constructor ( [ d ] , { type : d . type } ) : J ( d . cloneNode ) ? a = d . cloneNode ( ! 0 ) : ( a = Object . create ( wc ( d ) ) , m = ! 0 ) , c . push ( d ) , e . push ( a ) , m ? b ( d , a ) : a } var c = [ ] , e =
[ ] ; if ( m ) { if ( H ( m ) ) throw Wa ( "cpta" ) ; if ( d === m ) throw Wa ( "cpi" ) ; return pa ( m ) ? m . length = 0 : a ( m , function ( d , a ) { "$$hashKey" !== a && delete m [ a ] } ) , c . push ( d ) , e . push ( m ) , b ( d , m ) } return F ( d ) } function ka ( d , a ) { if ( pa ( d ) ) { a = a || [ ] ; for ( var m = 0 , b = d . length ; m < b ; m ++ ) a [ m ] = d [ m ] } else if ( q ( d ) ) for ( m in a = a || { } , d ) "$" === m . charAt ( 0 ) && "$" === m . charAt ( 1 ) || ( a [ m ] = d [ m ] ) ; return a || d } function W ( d , a ) { if ( d === a ) return ! 0 ; if ( null === d || null === a ) return ! 1 ; if ( d !== d && a !== a ) return ! 0 ; var m , b = typeof d ; if ( b == typeof a && "object" == b ) { if ( ! pa ( d ) ) { if ( O ( d ) ) return ! ! O ( a ) &&
W ( d . getTime ( ) , a . getTime ( ) ) ; if ( G ( d ) ) return ! ! G ( a ) && d . toString ( ) == a . toString ( ) ; if ( T ( d ) || T ( a ) || N ( d ) || N ( a ) || pa ( a ) || O ( a ) || G ( a ) ) return ! 1 ; b = Ma ( ) ; for ( m in d ) if ( "$" !== m . charAt ( 0 ) && ! J ( d [ m ] ) ) { if ( ! W ( d [ m ] , a [ m ] ) ) return ! 1 ; b [ m ] = ! 0 } for ( m in a ) if ( ! ( m in b ) && "$" !== m . charAt ( 0 ) && E ( a [ m ] ) && ! J ( a [ m ] ) ) return ! 1 ; return ! 0 } if ( ! pa ( a ) ) return ! 1 ; if ( ( b = d . length ) == a . length ) { for ( m = 0 ; m < b ; m ++ ) if ( ! W ( d [ m ] , a [ m ] ) ) return ! 1 ; return ! 0 } } return ! 1 } function P ( d , a , b ) { return d . concat ( Cb . call ( a , b ) ) } function da ( d , a ) { var m = 2 < arguments . length ? Cb . call ( arguments ,
2 ) : [ ] ; return ! J ( a ) || a instanceof RegExp ? a : m . length ? function ( ) { return arguments . length ? a . apply ( d , P ( m , arguments , 0 ) ) : a . apply ( d , m ) } : function ( ) { return arguments . length ? a . apply ( d , arguments ) : a . call ( d ) } } function M ( d , a ) { var m = a ; return "string" == typeof d && "$" === d . charAt ( 0 ) && "$" === d . charAt ( 1 ) ? m = h : N ( a ) ? m = "$WINDOW" : a && f === a ? m = "$DOCUMENT" : T ( a ) && ( m = "$SCOPE" ) , m } function qa ( d , a ) { return B ( d ) ? h : ( I ( a ) || ( a = a ? 2 : null ) , JSON . stringify ( d , M , a ) ) } function ca ( d ) { return p ( d ) ? JSON . parse ( d ) : d } function V ( d , a ) { d = d . replace ( Cd , "" ) ; var m =
Date . parse ( "Jan 01, 1970 00:00:00 " + d ) / 6E4 ; return isNaN ( m ) ? a : m } function ma ( d , a , b ) { b = b ? - 1 : 1 ; var m = d . getTimezoneOffset ( ) ; return a = V ( a , m ) , b *= a - m , d = new Date ( d . getTime ( ) ) , d . setMinutes ( d . getMinutes ( ) + b ) , d } function ba ( d ) { d = fa ( d ) . clone ( ) ; try { d . empty ( ) } catch ( Y ) { } var a = fa ( "<div>" ) . append ( d ) . html ( ) ; try { return d [ 0 ] . nodeType === Qb ? xa ( a ) : a . match ( /^(<[^>]+>)/ ) [ 1 ] . replace ( /^<([\w\-]+)/ , function ( d , a ) { return "<" + xa ( a ) } ) } catch ( Y ) { return xa ( a ) } } function la ( d ) { try { return decodeURIComponent ( d ) } catch ( m ) { } } function Da ( d ) { var m =
{ } ; return a ( ( d || "" ) . split ( "&" ) , function ( d ) { var a , b , c ; d && ( b = d = d . replace ( /\+/g , "%20" ) , a = d . indexOf ( "=" ) , - 1 !== a && ( b = d . substring ( 0 , a ) , c = d . substring ( a + 1 ) ) , b = la ( b ) , E ( b ) && ( c = ! E ( c ) || la ( c ) , sb . call ( m , b ) ? pa ( m [ b ] ) ? m [ b ] . push ( c ) : m [ b ] = [ m [ b ] , c ] : m [ b ] = c ) ) } ) , m } function sa ( d ) { var m = [ ] ; return a ( d , function ( d , b ) { pa ( d ) ? a ( d , function ( d ) { m . push ( v ( b , ! 0 ) + ( ! 0 === d ? "" : "=" + v ( d , ! 0 ) ) ) } ) : m . push ( v ( b , ! 0 ) + ( ! 0 === d ? "" : "=" + v ( d , ! 0 ) ) ) } ) , m . length ? m . join ( "&" ) : "" } function ga ( d ) { return v ( d , ! 0 ) . replace ( /%26/gi , "&" ) . replace ( /%3D/gi , "=" ) . replace ( /%2B/gi ,
"+" ) } function v ( d , a ) { return encodeURIComponent ( d ) . replace ( /%40/gi , "@" ) . replace ( /%3A/gi , ":" ) . replace ( /%24/g , "$" ) . replace ( /%2C/gi , "," ) . replace ( /%3B/gi , ";" ) . replace ( /%20/g , a ? "%20" : "+" ) } function oa ( d , a ) { var m , b , c = fc . length ; for ( b = 0 ; b < c ; ++ b ) if ( m = fc [ b ] + a , p ( m = d . getAttribute ( m ) ) ) return m ; return null } function Fa ( d , m ) { var b , c , e = { } ; a ( fc , function ( a ) { a += "app" ; ! b && d . hasAttribute && d . hasAttribute ( a ) && ( b = d , c = d . getAttribute ( a ) ) } ) ; a ( fc , function ( a ) { a += "app" ; var m ; ! b && ( m = d . querySelector ( "[" + a . replace ( ":" , "\\:" ) + "]" ) ) &&
( b = m , c = m . getAttribute ( a ) ) } ) ; b && ( e . strictDi = null !== oa ( b , "strict-di" ) , m ( b , c ? [ c ] : [ ] , e ) ) } function Z ( d , m , c ) { q ( c ) || ( c = { } ) ; c = n ( { strictDi : ! 1 } , c ) ; var F = function ( ) { if ( d = fa ( d ) , d . injector ( ) ) { var a = d [ 0 ] === f ? "document" : ba ( d ) ; throw Wa ( "btstrpd" , a . replace ( /</ , "<" ) . replace ( />/ , ">" ) ) ; } return m = m || [ ] , m . unshift ( [ "$provide" , function ( a ) { a . value ( "$rootElement" , d ) } ] ) , c . debugInfoEnabled && m . push ( [ "$compileProvider" , function ( d ) { d . debugInfoEnabled ( ! 0 ) } ] ) , m . unshift ( "ng" ) , a = gb ( m , c . strictDi ) , a . invoke ( [ "$rootScope" , "$rootElement" ,
"$compile" , "$injector" , function ( d , a , b , m ) { d . $apply ( function ( ) { a . data ( "$injector" , m ) ; b ( a ) ( d ) } ) } ] ) , a } , e = /^NG_ENABLE_DEBUG_INFO!/ , g = /^NG_DEFER_BOOTSTRAP!/ ; return b && e . test ( b . name ) && ( c . debugInfoEnabled = ! 0 , b . name = b . name . replace ( e , "" ) ) , b && ! g . test ( b . name ) ? F ( ) : ( b . name = b . name . replace ( g , "" ) , Na . resumeBootstrap = function ( d ) { return a ( d , function ( d ) { m . push ( d ) } ) , F ( ) } , void ( J ( Na . resumeDeferredBootstrap ) && Na . resumeDeferredBootstrap ( ) ) ) } function Xa ( ) { b . name = "NG_ENABLE_DEBUG_INFO!" + b . name ; b . location . reload ( ) } function Ia ( d ) { if ( d =
Na . element ( d ) . injector ( ) , ! d ) throw Wa ( "test" ) ; return d . get ( "$$testability" ) } function aa ( d , a ) { return a = a || "_" , d . replace ( ye , function ( d , b ) { return ( b ? a : "" ) + d . toLowerCase ( ) } ) } function za ( ) { var d ; if ( ! Dd ) { var a = yc ( ) ; ( Ea = B ( a ) ? b . jQuery : a ? b [ a ] : h ) && Ea . fn . on ? ( fa = Ea , n ( Ea . fn , { scope : Rb . scope , isolateScope : Rb . isolateScope , controller : Rb . controller , injector : Rb . injector , inheritedData : Rb . inheritedData } ) , d = Ea . cleanData , Ea . cleanData = function ( a ) { var b ; if ( ad ) ad = ! 1 ; else for ( var m , c = 0 ; null != ( m = a [ c ] ) ; c ++ ) ( b = Ea . _data ( m , "events" ) ) &&
b . $destroy && Ea ( m ) . triggerHandler ( "$destroy" ) ; d ( a ) } ) : fa = Oa ; Na . element = fa ; Dd = ! 0 } } function Sa ( d , a , b ) { if ( ! d ) throw Wa ( "areq" , a || "?" , b || "required" ) ; return d } function ub ( d , a , b ) { return b && pa ( d ) && ( d = d [ d . length - 1 ] ) , Sa ( J ( d ) , a , "not a function, got " + ( d && "object" == typeof d ? d . constructor . name || "Object" : typeof d ) ) , d } function Sb ( d , a ) { if ( "hasOwnProperty" === d ) throw Wa ( "badname" , a ) ; } function vb ( d , a , b ) { if ( ! a ) return d ; a = a . split ( "." ) ; for ( var m , c = d , e = a . length , g = 0 ; g < e ; g ++ ) m = a [ g ] , d && ( d = ( c = d ) [ m ] ) ; return ! b && J ( d ) ? da ( c , d ) : d }
function Tb ( d ) { for ( var a , b = d [ 0 ] , c = d [ d . length - 1 ] , e = 1 ; b !== c && ( b = b . nextSibling ) ; e ++ ) ( a || d [ e ] !== b ) && ( a || ( a = fa ( Cb . call ( d , 0 , e ) ) ) , a . push ( b ) ) ; return a || d } function Ma ( ) { return Object . create ( null ) } function Of ( d ) { function a ( d , a , b ) { return d [ a ] || ( d [ a ] = b ( ) ) } var b = l ( "$injector" ) , c = l ( "ng" ) ; return d = a ( d , "angular" , Object ) , d . $$minErr = d . $$minErr || l , a ( d , "module" , function ( ) { var d = { } ; return function ( m , e , F ) { if ( "hasOwnProperty" === m ) throw c ( "badname" , "module" ) ; return e && d . hasOwnProperty ( m ) && ( d [ m ] = null ) , a ( d , m , function ( ) { function d ( d ,
a , b , m ) { return m || ( m = c ) , function ( ) { return m [ b || "push" ] ( [ d , a , arguments ] ) , f } } function a ( d , a ) { return function ( b , e ) { return e && J ( e ) && ( e . $$moduleName = m ) , c . push ( [ d , a , arguments ] ) , f } } if ( ! e ) throw b ( "nomod" , m ) ; var c = [ ] , g = [ ] , h = [ ] , l = d ( "$injector" , "invoke" , "push" , g ) , f = { _invokeQueue : c , _configBlocks : g , _runBlocks : h , requires : e , name : m , provider : a ( "$provide" , "provider" ) , factory : a ( "$provide" , "factory" ) , service : a ( "$provide" , "service" ) , value : d ( "$provide" , "value" ) , constant : d ( "$provide" , "constant" , "unshift" ) , decorator : a ( "$provide" ,
"decorator" ) , animation : a ( "$animateProvider" , "register" ) , filter : a ( "$filterProvider" , "register" ) , controller : a ( "$controllerProvider" , "register" ) , directive : a ( "$compileProvider" , "directive" ) , config : l , run : function ( d ) { return h . push ( d ) , this } } ; return F && l ( F ) , f } ) } } ) } function ze ( d ) { n ( d , { bootstrap : Z , copy : S , extend : n , merge : r , equals : W , element : fa , forEach : a , injector : gb , noop : u , bind : da , toJson : qa , fromJson : ca , identity : w , isUndefined : B , isDefined : E , isString : p , isFunction : J , isObject : q , isNumber : I , isElement : R , isArray : pa , version : Ae ,
isDate : O , lowercase : xa , uppercase : lb , callbacks : { counter : 0 } , getTestability : Ia , $$minErr : l , $$csp : Ub , reloadWithDebugInfo : Xa } ) ; ( Ib = Of ( b ) ) ( "ng" , [ "ngLocale" ] , [ "$provide" , function ( d ) { d . provider ( { $$sanitizeUri : dd } ) ; d . provider ( "$compile" , Jb ) . directive ( { a : ed , input : pc , textarea : pc , form : Be , script : Pf , select : Qf , style : Rf , option : Sf , ngBind : Ed , ngBindHtml : Ce , ngBindTemplate : De , ngClass : Bc , ngClassEven : Tf , ngClassOdd : Ee , ngCloak : Uf , ngController : Vf , ngForm : Ya , ngHide : Wf , ngIf : Xf , ngInclude : Yf , ngInit : Zf , ngNonBindable : $f , ngPluralize : ag ,
ngRepeat : Cc , ngShow : Fe , ngStyle : Ge , ngSwitch : bg , ngSwitchWhen : cg , ngSwitchDefault : dg , ngOptions : He , ngTransclude : eg , ngModel : Ie , ngList : fg , ngChange : Fd , pattern : fd , ngPattern : fd , required : ta , ngRequired : ta , minlength : Je , ngMinlength : Je , maxlength : gd , ngMaxlength : gd , ngValue : Gd , ngModelOptions : gg } ) . directive ( { ngInclude : hg } ) . directive ( Db ) . directive ( Ke ) ; d . provider ( { $anchorScroll : Hd , $animate : Vb , $animateCss : Le , $$animateJs : Me , $$animateQueue : Id , $$AnimateRunner : hd , $$animateAsyncRun : Ne , $browser : Dc , $cacheFactory : Jd , $controller : wb ,
$document : ya , $exceptionHandler : Ag , $filter : Ec , $$forceReflow : gc , $interpolate : Kd , $interval : Fc , $http : Bg , $httpParamSerializer : Cg , $httpParamSerializerJQLike : db , $httpBackend : Oe , $xhrFactory : Dg , $location : Pe , $log : Kb , $parse : Eg , $rootScope : Ld , $q : Qe , $$q : Re , $sce : mb , $sceDelegate : Se , $sniffer : Te , $templateCache : Eb , $templateRequest : Ue , $$testability : Ve , $timeout : id , $window : We , $$rAF : Md , $$jqLite : Ja , $$HashMap : Xe , $$cookieReader : jd } ) } ] ) } function qc ( d ) { return d . replace ( Nd , function ( d , a , b , c ) { return c ? b . toUpperCase ( ) : b } ) . replace ( kd ,
"Moz$1" ) } function Ye ( d ) { return d = d . nodeType , 1 === d || ! d || 9 === d } function Ze ( d , b ) { var m , c , e = b . createDocumentFragment ( ) , g = [ ] ; if ( Gc . test ( d ) ) { m = m || e . appendChild ( b . createElement ( "div" ) ) ; c = ( Ba . exec ( d ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ; c = Ta [ c ] || Ta . _default ; m . innerHTML = c [ 1 ] + d . replace ( $e , "<$1></$2>" ) + c [ 2 ] ; for ( c = c [ 0 ] ; c -- ; ) m = m . lastChild ; g = P ( g , m . childNodes ) ; m = e . firstChild ; m . textContent = "" } else g . push ( b . createTextNode ( d ) ) ; return e . textContent = "" , e . innerHTML = "" , a ( g , function ( d ) { e . appendChild ( d ) } ) , e } function af ( d , a ) { var b =
d . parentNode ; b && b . replaceChild ( a , d ) ; a . appendChild ( d ) } function Oa ( d ) { if ( d instanceof Oa ) return d ; var a ; if ( p ( d ) && ( d = Ga ( d ) , a = ! 0 ) , ! ( this instanceof Oa ) ) { if ( a && "<" != d . charAt ( 0 ) ) throw ld ( "nosel" ) ; return new Oa ( d ) } if ( a ) { a = f ; var b ; d = ( b = bf . exec ( d ) ) ? [ a . createElement ( b [ 1 ] ) ] : ( b = Ze ( d , a ) ) ? b . childNodes : [ ] } ua ( this , d ) } function md ( d ) { return d . cloneNode ( ! 0 ) } function nd ( d , a ) { if ( a || ea ( d ) , d . querySelectorAll ) for ( var b = d . querySelectorAll ( "*" ) , m = 0 , c = b . length ; m < c ; m ++ ) ea ( b [ m ] ) } function cf ( d , b , c , e ) { if ( E ( e ) ) throw ld ( "offargs" ) ;
var m = ( e = va ( d ) ) && e . events , g = e && e . handle ; if ( g ) if ( b ) { var F = function ( a ) { var b = m [ a ] ; E ( c ) && K ( b || [ ] , c ) ; E ( c ) && b && 0 < b . length || ( d . removeEventListener ( a , g , ! 1 ) , delete m [ a ] ) } ; a ( b . split ( " " ) , function ( d ) { F ( d ) ; Hc [ d ] && F ( Hc [ d ] ) } ) } else for ( b in m ) "$destroy" !== b && d . removeEventListener ( b , g , ! 1 ) , delete m [ b ] } function ea ( d , a ) { var b = d . ng339 , m = b && hc [ b ] ; m && ( a ? delete m . data [ a ] : ( m . handle && ( m . events . $destroy && m . handle ( { } , "$destroy" ) , cf ( d ) ) , delete hc [ b ] , d . ng339 = h ) ) } function va ( d , a ) { var b = d . ng339 , b = b && hc [ b ] ; return a && ! b && ( d . ng339 =
b = ++ Od , b = hc [ b ] = { events : { } , data : { } , handle : h } ) , b } function Pd ( d , a , b ) { if ( Ye ( d ) ) { var m = E ( b ) , c = ! m && a && ! q ( a ) , e = ! a ; if ( d = ( d = va ( d , ! c ) ) && d . data , m ) d [ a ] = b ; else { if ( e ) return d ; if ( c ) return d && d [ a ] ; n ( d , a ) } } } function Pa ( d , a ) { return ! ! d . getAttribute && - 1 < ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . indexOf ( " " + a + " " ) } function Va ( d , b ) { b && d . setAttribute && a ( b . split ( " " ) , function ( a ) { d . setAttribute ( "class" , Ga ( ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . replace ( " " + Ga ( a ) + " " , " " ) ) ) } ) } function ic ( d ,
b ) { if ( b && d . setAttribute ) { var m = ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) ; a ( b . split ( " " ) , function ( d ) { d = Ga ( d ) ; - 1 === m . indexOf ( " " + d + " " ) && ( m += d + " " ) } ) ; d . setAttribute ( "class" , Ga ( m ) ) } } function ua ( d , a ) { if ( a ) if ( a . nodeType ) d [ d . length ++ ] = a ; else { var b = a . length ; if ( "number" == typeof b && a . window !== a ) { if ( b ) for ( var m = 0 ; m < b ; m ++ ) d [ d . length ++ ] = a [ m ] } else d [ d . length ++ ] = a } } function Ic ( d , a ) { return Lb ( d , "$" + ( a || "ngController" ) + "Controller" ) } function Lb ( d , a , b ) { 9 == d . nodeType && ( d = d . documentElement ) ; for ( a =
pa ( a ) ? a : [ a ] ; d ; ) { for ( var m = 0 , c = a . length ; m < c ; m ++ ) if ( E ( b = fa . data ( d , a [ m ] ) ) ) return b ; d = d . parentNode || 11 === d . nodeType && d . host } } function rc ( d ) { for ( nd ( d , ! 0 ) ; d . firstChild ; ) d . removeChild ( d . firstChild ) } function Jc ( d , a ) { a || nd ( d ) ; var b = d . parentNode ; b && b . removeChild ( d ) } function Wb ( d , a ) { a = a || b ; "complete" === a . document . readyState ? a . setTimeout ( d ) : fa ( a ) . on ( "load" , d ) } function df ( d , a ) { var b = Fb [ a . toLowerCase ( ) ] ; return b && Ha [ ha ( d ) ] && b } function ig ( d , a ) { var b = function ( b , m ) { b . isDefaultPrevented = function ( ) { return b . defaultPrevented } ;
var c = a [ m || b . type ] , e = c ? c . length : 0 ; if ( e ) { if ( B ( b . immediatePropagationStopped ) ) { var g = b . stopImmediatePropagation ; b . stopImmediatePropagation = function ( ) { b . immediatePropagationStopped = ! 0 ; b . stopPropagation && b . stopPropagation ( ) ; g && g . call ( b ) } } b . isImmediatePropagationStopped = function ( ) { return ! 0 === b . immediatePropagationStopped } ; var h = c . specialHandlerWrapper || jg ; 1 < e && ( c = ka ( c ) ) ; for ( var F = 0 ; F < e ; F ++ ) b . isImmediatePropagationStopped ( ) || h ( d , b , c [ F ] ) } } ; return b . elem = d , b } function jg ( d , a , b ) { b . call ( d , a ) } function Ka ( d , a ,
b ) { var m = a . relatedTarget ; m && ( m === d || ef . call ( d , m ) ) || b . call ( d , a ) } function Ja ( ) { this . $get = function ( ) { return n ( Oa , { hasClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Pa ( d , a ) } , addClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , ic ( d , a ) } , removeClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Va ( d , a ) } } ) } } function ob ( d , a ) { var b = d && d . $$hashKey ; return b ? ( "function" == typeof b && ( b = d . $$hashKey ( ) ) , b ) : ( b = typeof d , "function" == b || "object" == b && null !== d ? d . $$hashKey = b + ":" + ( a || t ) ( ) : b + ":" + d ) } function Mb ( d , b ) { if ( b ) { var m = 0 ; this . nextUid =
function ( ) { return ++ m } } a ( d , this . put , this ) } function Qd ( d ) { return ( d = d . toString ( ) . replace ( jc , "" ) . match ( Kc ) ) ? "function(" + ( d [ 1 ] || "" ) . replace ( /[\s\r\n]+/ , " " ) + ")" : "fn" } function gb ( d , b ) { function m ( d ) { return function ( b , m ) { return q ( b ) ? void a ( b , g ( d ) ) : d ( b , m ) } } function c ( d , a ) { if ( Sb ( d , "service" ) , ( J ( a ) || pa ( a ) ) && ( a = u . instantiate ( a ) ) , ! a . $get ) throw Xb ( "pget" , d ) ; return r [ d + "Provider" ] = a } function e ( d , a ) { return function ( ) { var b = w . invoke ( a , this ) ; if ( B ( b ) ) throw Xb ( "undef" , d ) ; return b } } function l ( d , a , b ) { return c ( d , { $get : ! 1 !==
b ? e ( d , a ) : a } ) } function f ( d ) { Sa ( B ( d ) || pa ( d ) , "modulesToLoad" , "not an array" ) ; var b , m = [ ] ; return a ( d , function ( d ) { function a ( d ) { var a , b ; a = 0 ; for ( b = d . length ; a < b ; a ++ ) { var m = d [ a ] , c = u . get ( m [ 0 ] ) ; c [ m [ 1 ] ] . apply ( c , m [ 2 ] ) } } if ( ! t . get ( d ) ) { t . put ( d , ! 0 ) ; try { p ( d ) ? ( b = Ib ( d ) , m = m . concat ( f ( b . requires ) ) . concat ( b . _runBlocks ) , a ( b . _invokeQueue ) , a ( b . _configBlocks ) ) : J ( d ) ? m . push ( u . invoke ( d ) ) : pa ( d ) ? m . push ( u . invoke ( d ) ) : ub ( d , "module" ) } catch ( pb ) { throw pa ( d ) && ( d = d [ d . length - 1 ] ) , pb . message && pb . stack && - 1 == pb . stack . indexOf ( pb . message ) && ( pb =
pb . message + "\n" + pb . stack ) , Xb ( "modulerr" , d , pb . stack || pb . message || pb ) ; } } } ) , m } function k ( d , a ) { function m ( b , m ) { if ( d . hasOwnProperty ( b ) ) { if ( d [ b ] === v ) throw Xb ( "cdep" , b + " <- " + n . join ( " <- " ) ) ; return d [ b ] } try { return n . unshift ( b ) , d [ b ] = v , d [ b ] = a ( b , m ) } catch ( Rd ) { throw d [ b ] === v && delete d [ b ] , Rd ; } finally { n . shift ( ) } } function c ( d , a , c , e ) { "string" == typeof c && ( e = c , c = null ) ; var g , h , F , x = [ ] , D = gb . $$annotate ( d , b , e ) ; h = 0 ; for ( g = D . length ; h < g ; h ++ ) { if ( F = D [ h ] , "string" != typeof F ) throw Xb ( "itkn" , F ) ; x . push ( c && c . hasOwnProperty ( F ) ? c [ F ] :
m ( F , e ) ) } return pa ( d ) && ( d = d [ g ] ) , d . apply ( a , x ) } return { invoke : c , instantiate : function ( d , a , b ) { var m = Object . create ( ( pa ( d ) ? d [ d . length - 1 ] : d ) . prototype || null ) ; return d = c ( d , m , a , b ) , q ( d ) || J ( d ) ? d : m } , get : m , annotate : gb . $$annotate , has : function ( a ) { return r . hasOwnProperty ( a + "Provider" ) || d . hasOwnProperty ( a ) } } } b = ! 0 === b ; var v = { } , n = [ ] , t = new Mb ( [ ] , ! 0 ) , r = { $provide : { provider : m ( c ) , factory : m ( l ) , service : m ( function ( d , a ) { return l ( d , [ "$injector" , function ( d ) { return d . instantiate ( a ) } ] ) } ) , value : m ( function ( d , a ) { return l ( d , A ( a ) , ! 1 ) } ) ,
constant : m ( function ( d , a ) { Sb ( d , "constant" ) ; r [ d ] = a ; y [ d ] = a } ) , decorator : function ( d , a ) { var b = u . get ( d + "Provider" ) , m = b . $get ; b . $get = function ( ) { var d = w . invoke ( m , b ) ; return w . invoke ( a , null , { $delegate : d } ) } } } } , u = r . $injector = k ( r , function ( d , a ) { throw Na . isString ( a ) && n . push ( a ) , Xb ( "unpr" , n . join ( " <- " ) ) ; } ) , y = { } , w = y . $injector = k ( y , function ( d , a ) { var b = u . get ( d + "Provider" , a ) ; return w . invoke ( b . $get , b , h , d ) } ) ; return a ( f ( d ) , function ( d ) { d && w . invoke ( d ) } ) , w } function Hd ( ) { var d = ! 0 ; this . disableAutoScrolling = function ( ) { d = ! 1 } ; this . $get =
[ "$window" , "$location" , "$rootScope" , function ( a , b , c ) { function m ( d ) { var a = null ; return Array . prototype . some . call ( d , function ( d ) { if ( "a" === ha ( d ) ) return a = d , ! 0 } ) , a } function e ( d ) { if ( d ) { d . scrollIntoView ( ) ; var b ; b = g . yOffset ; J ( b ) ? b = b ( ) : R ( b ) ? ( b = b [ 0 ] , b = "fixed" !== a . getComputedStyle ( b ) . position ? 0 : b . getBoundingClientRect ( ) . bottom ) : I ( b ) || ( b = 0 ) ; b && ( d = d . getBoundingClientRect ( ) . top , a . scrollBy ( 0 , d - b ) ) } else a . scrollTo ( 0 , 0 ) } function g ( d ) { d = p ( d ) ? d : b . hash ( ) ; var a ; d ? ( a = h . getElementById ( d ) ) ? e ( a ) : ( a = m ( h . getElementsByName ( d ) ) ) ?
e ( a ) : "top" === d && e ( null ) : e ( null ) } var h = a . document ; return d && c . $watch ( function ( ) { return b . hash ( ) } , function ( d , a ) { d === a && "" === d || Wb ( function ( ) { c . $evalAsync ( g ) } ) } ) , g } ] } function Gb ( d , a ) { return d || a ? d ? a ? ( pa ( d ) && ( d = d . join ( " " ) ) , pa ( a ) && ( a = a . join ( " " ) ) , d + " " + a ) : d : a : "" } function xb ( d ) { p ( d ) && ( d = d . split ( " " ) ) ; var b = Ma ( ) ; return a ( d , function ( d ) { d . length && ( b [ d ] = ! 0 ) } ) , b } function $a ( d ) { return q ( d ) ? d : { } } function Sd ( d , b , c , e ) { function m ( d ) { try { d . apply ( null , Cb . call ( arguments , 1 ) ) } finally { if ( Y -- , 0 === Y ) for ( ; r . length ; ) try { r . pop ( ) ( ) } catch ( lg ) { c . error ( lg ) } } }
function g ( ) { z = null ; h ( ) ; F ( ) } function h ( ) { a : { try { q = k . state ; break a } catch ( tg ) { } q = void 0 } q = B ( q ) ? null : q ; W ( q , S ) && ( q = S ) ; S = q } function F ( ) { p === l . url ( ) && y === q || ( p = l . url ( ) , y = q , a ( K , function ( d ) { d ( l . url ( ) , q ) } ) ) } var l = this , f = d . location , k = d . history , v = d . setTimeout , n = d . clearTimeout , t = { } ; l . isMock = ! 1 ; var Y = 0 , r = [ ] ; l . $$completeOutstandingRequest = m ; l . $$incOutstandingRequestCount = function ( ) { Y ++ } ; l . notifyWhenNoOutstandingRequests = function ( d ) { 0 === Y ? d ( ) : r . push ( d ) } ; var q , y , p = f . href , w = b . find ( "base" ) , z = null ; h ( ) ; y = q ; l . url = function ( a ,
b , x ) { if ( B ( x ) && ( x = null ) , f !== d . location && ( f = d . location ) , k !== d . history && ( k = d . history ) , a ) { var D = y === x ; if ( p === a && ( ! e . history || D ) ) return l ; var m = p && Yb ( p ) === Yb ( a ) ; return p = a , y = x , ! e . history || m && D ? ( m && ! z || ( z = a ) , b ? f . replace ( a ) : m ? ( b = f , x = a . indexOf ( "#" ) , x = - 1 === x ? "" : a . substr ( x ) , b . hash = x ) : f . href = a , f . href !== a && ( z = a ) ) : ( k [ b ? "replaceState" : "pushState" ] ( x , "" , a ) , h ( ) , y = q ) , l } return z || f . href . replace ( /%27/g , "'" ) } ; l . state = function ( ) { return q } ; var K = [ ] , A = ! 1 , S = null ; l . onUrlChange = function ( a ) { return A || ( e . history && fa ( d ) . on ( "popstate" ,
g ) , fa ( d ) . on ( "hashchange" , g ) , A = ! 0 ) , K . push ( a ) , a } ; l . $$applicationDestroyed = function ( ) { fa ( d ) . off ( "hashchange popstate" , g ) } ; l . $$checkUrlChange = F ; l . baseHref = function ( ) { var d = w . attr ( "href" ) ; return d ? d . replace ( /^(https?\:)?\/\/[^\/]*/ , "" ) : "" } ; l . defer = function ( d , a ) { var x ; return Y ++ , x = v ( function ( ) { delete t [ x ] ; m ( d ) } , a || 0 ) , t [ x ] = ! 0 , x } ; l . defer . cancel = function ( d ) { return ! ! t [ d ] && ( delete t [ d ] , n ( d ) , m ( u ) , ! 0 ) } } function Dc ( ) { this . $get = [ "$window" , "$log" , "$sniffer" , "$document" , function ( d , a , b , c ) { return new Sd ( d , c , a , b ) } ] }
function Jd ( ) { this . $get = function ( ) { function d ( d , a ) { function m ( d ) { d != k && ( v ? v == d && ( v = d . n ) : v = d , c ( d . n , d . p ) , c ( d , k ) , k = d , k . n = null ) } function c ( d , a ) { d != a && ( d && ( d . p = a ) , a && ( a . n = d ) ) } if ( d in b ) throw l ( "$cacheFactory" ) ( "iid" , d ) ; var e = 0 , g = n ( { } , a , { id : d } ) , h = Ma ( ) , F = a && a . capacity || Number . MAX _VALUE , f = Ma ( ) , k = null , v = null ; return b [ d ] = { put : function ( d , a ) { if ( ! B ( a ) ) { if ( F < Number . MAX _VALUE ) { var b = f [ d ] || ( f [ d ] = { key : d } ) ; m ( b ) } return d in h || e ++ , h [ d ] = a , e > F && this . remove ( v . key ) , a } } , get : function ( d ) { if ( F < Number . MAX _VALUE ) { var a = f [ d ] ;
if ( ! a ) return ; m ( a ) } return h [ d ] } , remove : function ( d ) { if ( F < Number . MAX _VALUE ) { var a = f [ d ] ; if ( ! a ) return ; a == k && ( k = a . p ) ; a == v && ( v = a . n ) ; c ( a . n , a . p ) ; delete f [ d ] } d in h && ( delete h [ d ] , e -- ) } , removeAll : function ( ) { h = Ma ( ) ; e = 0 ; f = Ma ( ) ; k = v = null } , destroy : function ( ) { f = g = h = null ; delete b [ d ] } , info : function ( ) { return n ( { } , g , { size : e } ) } } } var b = { } ; return d . info = function ( ) { var d = { } ; return a ( b , function ( a , b ) { d [ b ] = a . info ( ) } ) , d } , d . get = function ( d ) { return b [ d ] } , d } } function Eb ( ) { this . $get = [ "$cacheFactory" , function ( d ) { return d ( "templates" ) } ] }
function Jb ( d , b ) { function m ( d , b , m ) { var c = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/ , e = Ma ( ) ; return a ( d , function ( d , a ) { if ( d in z ) e [ a ] = z [ d ] ; else { var g = d . match ( c ) ; if ( ! g ) throw ab ( "iscp" , b , a , d , m ? "controller bindings definition" : "isolate scope definition" ) ; e [ a ] = { mode : g [ 1 ] [ 0 ] , collection : "*" === g [ 2 ] , optional : "?" === g [ 3 ] , attrName : g [ 4 ] || a } ; g [ 4 ] && ( z [ d ] = e [ a ] ) } } ) , e } function c ( d ) { var a = d . charAt ( 0 ) ; if ( ! a || a !== xa ( a ) ) throw ab ( "baddir" , d ) ; if ( d !== d . trim ( ) ) throw ab ( "baddir" , d ) ; } var e = { } , l = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/ ,
k = /(([\w\-]+)(?:\:([^;]+))?;?)/ , v = U ( "ngSrc,ngSrcset,src,srcset" ) , t = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/ , r = /^(on[a-z]+|formaction)$/ , z = Ma ( ) ; this . directive = function cd ( b , m ) { return Sb ( b , "directive" ) , p ( b ) ? ( c ( b ) , Sa ( m , "directiveFactory" ) , e . hasOwnProperty ( b ) || ( e [ b ] = [ ] , d . factory ( b + "Directive" , [ "$injector" , "$exceptionHandler" , function ( d , m ) { var c = [ ] ; return a ( e [ b ] , function ( a , e ) { try { var g = d . invoke ( a ) ; J ( g ) ? g = { compile : A ( g ) } : ! g . compile && g . link && ( g . compile = A ( g . link ) ) ; g . priority = g . priority || 0 ; g . index = e ; g . name = g . name || b ;
g . require = g . require || g . controller && g . name ; g . restrict = g . restrict || "EA" ; g . $$moduleName = a . $$moduleName ; c . push ( g ) } catch ( Lc ) { m ( Lc ) } } ) , c } ] ) ) , e [ b ] . push ( m ) ) : a ( b , g ( cd ) ) , this } ; this . aHrefSanitizationWhitelist = function ( d ) { return E ( d ) ? ( b . aHrefSanitizationWhitelist ( d ) , this ) : b . aHrefSanitizationWhitelist ( ) } ; this . imgSrcSanitizationWhitelist = function ( d ) { return E ( d ) ? ( b . imgSrcSanitizationWhitelist ( d ) , this ) : b . imgSrcSanitizationWhitelist ( ) } ; var S = ! 0 ; this . debugInfoEnabled = function ( d ) { return E ( d ) ? ( S = d , this ) : S } ; this . $get =
[ "$injector" , "$interpolate" , "$exceptionHandler" , "$templateRequest" , "$parse" , "$controller" , "$rootScope" , "$sce" , "$animate" , "$$sanitizeUri" , function ( d , b , c , g , F , Y , ia , ja , na , Aa ) { function z ( d , a ) { try { d . addClass ( a ) } catch ( Ng ) { } } function A ( d , a , x , b , D ) { d instanceof fa || ( d = fa ( d ) ) ; for ( var m = /\S+/ , c = 0 , e = d . length ; c < e ; c ++ ) { var L = d [ c ] ; L . nodeType === Qb && L . nodeValue . match ( m ) && af ( L , d [ c ] = f . createElement ( "span" ) ) } var g = Pb ( d , a , d , x , b , D ) ; A . $$addScopeClass ( d ) ; var h = null ; return function ( a , x , b ) { Sa ( a , "scope" ) ; D && D . needsNewScope &&
( a = a . $parent . $new ( ) ) ; b = b || { } ; var m = b . parentBoundTranscludeFn , c = b . transcludeControllers ; if ( b = b . futureParentElement , m && m . $$boundTransclude && ( m = m . $$boundTransclude ) , h || ( h = ( b = b && b [ 0 ] ) && "foreignobject" !== ha ( b ) && b . toString ( ) . match ( /SVG/ ) ? "svg" : "html" ) , b = "html" !== h ? fa ( oa ( h , fa ( "<div>" ) . append ( d ) . html ( ) ) ) : x ? Rb . clone . call ( d ) : d , c ) for ( var e in c ) b . data ( "$" + e + "Controller" , c [ e ] . instance ) ; return A . $$addScopeInfo ( b , a ) , x && x ( b , a ) , g && g ( a , b , b , m ) , b } } function Pb ( d , a , b , m , c , e ) { function L ( d , b , D , m ) { var c , e , g , L , l , f , F ; if ( k ) for ( F =
Array ( b . length ) , L = 0 ; L < v . length ; L += 3 ) c = v [ L ] , F [ c ] = b [ c ] ; else F = b ; L = 0 ; for ( l = v . length ; L < l ; ) e = F [ v [ L ++ ] ] , b = v [ L ++ ] , c = v [ L ++ ] , b ? ( b . scope ? ( g = d . $new ( ) , A . $$addScopeInfo ( fa ( e ) , g ) ) : g = d , f = b . transcludeOnThisElement ? x ( d , b . transclude , m ) : ! b . templateOnThisElement && m ? m : ! m && a ? x ( d , a ) : null , b ( c , g , e , D , f ) ) : c && c ( d , e . childNodes , h , m ) } for ( var g , l , f , F , k , v = [ ] , n = 0 ; n < d . length ; n ++ ) g = new I , l = D ( d [ n ] , [ ] , g , 0 === n ? m : h , c ) , ( e = l . length ? yb ( l , d [ n ] , g , a , b , null , [ ] , [ ] , e ) : null ) && e . scope && A . $$addScopeClass ( g . $$element ) , g = e && e . terminal || ! ( f = d [ n ] . childNodes ) ||
! f . length ? null : Pb ( f , e ? ( e . transcludeOnThisElement || ! e . templateOnThisElement ) && e . transclude : a ) , ( e || g ) && ( v . push ( n , e , g ) , F = ! 0 , k = k || e ) , e = null ; return F ? L : null } function x ( d , a , x ) { return function ( b , D , m , c , e ) { return b || ( b = d . $new ( ! 1 , e ) , b . $$transcluded = ! 0 ) , a ( b , D , { parentBoundTranscludeFn : x , transcludeControllers : m , futureParentElement : c } ) } } function D ( d , a , x , b , D ) { var m , c = x . $attr ; switch ( d . nodeType ) { case 1 : m = ha ( d ) ; Bb ( a , qb ( m ) , "E" , b , D ) ; for ( var e , L , g , h , f = d . attributes , F = 0 , v = f && f . length ; F < v ; F ++ ) { var n = ! 1 , t = ! 1 ; e = f [ F ] ; L = e . name ;
g = Ga ( e . value ) ; e = qb ( L ) ; ( h = P . test ( e ) ) && ( L = L . replace ( Td , "" ) . substr ( 8 ) . replace ( /_(.)/g , function ( d , a ) { return a . toUpperCase ( ) } ) ) ; ( e = e . match ( Lc ) ) && ec ( e [ 1 ] ) && ( n = L , t = L . substr ( 0 , L . length - 5 ) + "end" , L = L . substr ( 0 , L . length - 6 ) ) ; e = qb ( L . toLowerCase ( ) ) ; c [ e ] = L ; ! h && x . hasOwnProperty ( e ) || ( x [ e ] = g , df ( d , e ) && ( x [ e ] = ! 0 ) ) ; Ia ( d , a , g , e , h ) ; Bb ( a , e , "A" , b , D , n , t ) } if ( "input" === m && "hidden" === d . getAttribute ( "type" ) && d . setAttribute ( "autocomplete" , "off" ) , d = d . className , q ( d ) && ( d = d . animVal ) , p ( d ) && "" !== d ) for ( ; m = k . exec ( d ) ; ) e = qb ( m [ 2 ] ) , Bb ( a , e , "C" ,
b , D ) && ( x [ e ] = Ga ( m [ 3 ] ) ) , d = d . substr ( m . index + m [ 0 ] . length ) ; break ; case Qb : if ( 11 === kc ) for ( ; d . parentNode && d . nextSibling && d . nextSibling . nodeType === Qb ; ) d . nodeValue += d . nextSibling . nodeValue , d . parentNode . removeChild ( d . nextSibling ) ; U ( a , d . nodeValue ) ; break ; case 8 : try { ( m = l . exec ( d . nodeValue ) ) && ( e = qb ( m [ 1 ] ) , Bb ( a , e , "M" , b , D ) && ( x [ e ] = Ga ( m [ 2 ] ) ) ) } catch ( Og ) { } } return a . sort ( vb ) , a } function L ( d , a , x ) { var b = [ ] , D = 0 ; if ( a && d . hasAttribute && d . hasAttribute ( a ) ) { do { if ( ! d ) throw ab ( "uterdir" , a , x ) ; 1 == d . nodeType && ( d . hasAttribute ( a ) && D ++ , d . hasAttribute ( x ) &&
D -- ) ; b . push ( d ) ; d = d . nextSibling } while ( 0 < D ) } else b . push ( d ) ; return fa ( b ) } function ra ( d , a , x ) { return function ( b , D , m , c , e ) { return D = L ( D [ 0 ] , a , x ) , d ( b , D , m , c , e ) } } function yb ( d , a , x , b , m , e , g , l , F ) { function k ( d , a , x , b ) { d && ( x && ( d = ra ( d , x , b ) ) , d . require = u . require , d . directiveName = ia , ( z === u || u . $$isolateScope ) && ( d = Z ( d , { isolateScope : ! 0 } ) ) , g . push ( d ) ) ; a && ( x && ( a = ra ( a , x , b ) ) , a . require = u . require , a . directiveName = ia , ( z === u || u . $$isolateScope ) && ( a = Z ( a , { isolateScope : ! 0 } ) ) , l . push ( a ) ) } function v ( d , a , x , b ) { var D ; if ( p ( a ) ) { var m = a . match ( t ) ;
a = a . substring ( m [ 0 ] . length ) ; var c = m [ 1 ] || m [ 3 ] , m = "?" === m [ 2 ] ; if ( "^^" === c ? x = x . parent ( ) : D = ( D = b && b [ a ] ) && D . instance , D || ( b = "$" + a + "Controller" , D = c ? x . inheritedData ( b ) : x . data ( b ) ) , ! D && ! m ) throw ab ( "ctreq" , a , d ) ; } else if ( pa ( a ) ) for ( D = [ ] , c = 0 , m = a . length ; c < m ; c ++ ) D [ c ] = v ( d , a [ c ] , x , b ) ; return D || null } function n ( d , a , x , b , D , m ) { var c , e = Ma ( ) ; for ( c in b ) { var L = b [ c ] , g = { $scope : L === z || L . $$isolateScope ? D : m , $element : d , $attrs : a , $transclude : x } , h = L . controller ; "@" == h && ( h = a [ L . name ] ) ; g = Y ( h , g , ! 0 , L . controllerAs ) ; e [ L . name ] = g ; d . data ( "$" + L . name +
"Controller" , g . instance ) } return e } function r ( d , b , D , m , c ) { function e ( d , a , x ) { var b ; return T ( d ) || ( x = a , a = d , d = h ) , S && ( b = k ) , x || ( x = S ? Y . parent ( ) : Y ) , c ( d , a , b , x , q ) } var L , F , f , k , t , Y , u ; a === D ? ( m = x , Y = x . $$element ) : ( Y = fa ( D ) , m = new I ( Y , x ) ) ; f = b ; z ? F = b . $new ( ! 0 ) : Aa && ( f = b . $parent ) ; c && ( t = e , t . $$boundTransclude = c ) ; yb && ( k = n ( Y , m , t , yb , F , b ) ) ; z && ( A . $$addScopeInfo ( Y , F , ! 0 , ! ( w && ( w === z || w === z . $$originalDirective ) ) ) , A . $$addScopeClass ( Y , ! 0 ) , F . $$isolateBindings = z . $$isolateBindings , ( u = Tb ( b , m , F , F . $$isolateBindings , z ) ) && F . $on ( "$destroy" , u ) ) ;
for ( var r in k ) { u = yb [ r ] ; var ra = k [ r ] , ia = u . $$bindings . bindToController ; ra . identifier && ia && ( L = Tb ( f , m , ra . instance , ia , u ) ) ; var ja = ra ( ) ; ja !== ra . instance && ( ra . instance = ja , Y . data ( "$" + u . name + "Controller" , ja ) , L && L ( ) , L = Tb ( f , m , ra . instance , ia , u ) ) } aa = 0 ; for ( ec = g . length ; aa < ec ; aa ++ ) L = g [ aa ] , bd ( L , L . isolateScope ? F : b , Y , m , L . require && v ( L . directiveName , L . require , Y , k ) , t ) ; var q = b ; z && ( z . template || null === z . templateUrl ) && ( q = F ) ; d && d ( q , D . childNodes , h , c ) ; for ( aa = l . length - 1 ; 0 <= aa ; aa -- ) L = l [ aa ] , bd ( L , L . isolateScope ? F : b , Y , m , L . require &&
v ( L . directiveName , L . require , Y , k ) , t ) } F = F || { } ; for ( var u , ia , ja , na , y = - Number . MAX _VALUE , Aa = F . newScopeDirective , yb = F . controllerDirectives , z = F . newIsolateScopeDirective , w = F . templateDirective , K = F . nonTlbTranscludeDirective , B = ! 1 , Pb = ! 1 , S = F . hasElementTranscludeDirective , E = x . $$element = fa ( a ) , Bb = b , aa = 0 , ec = d . length ; aa < ec ; aa ++ ) { u = d [ aa ] ; var vb = u . $$start , mg = u . $$end ; if ( vb && ( E = L ( a , vb , mg ) ) , ja = h , y > u . priority ) break ; if ( ( ja = u . scope ) && ( u . templateUrl || ( q ( ja ) ? ( za ( "new/isolated scope" , z || Aa , u , E ) , z = u ) : za ( "new/isolated scope" , z ,
u , E ) ) , Aa = Aa || u ) , ia = u . name , ! u . templateUrl && u . controller && ( ja = u . controller , yb = yb || Ma ( ) , za ( "'" + ia + "' controller" , yb [ ia ] , u , E ) , yb [ ia ] = u ) , ( ja = u . transclude ) && ( B = ! 0 , u . $$tlb || ( za ( "transclusion" , K , u , E ) , K = u ) , "element" == ja ? ( S = ! 0 , y = u . priority , ja = E , E = x . $$element = fa ( f . createComment ( " " + ia + ": " + x [ ia ] + " " ) ) , a = E [ 0 ] , H ( m , Cb . call ( ja , 0 ) , a ) , Bb = A ( ja , b , y , e && e . name , { nonTlbTranscludeDirective : K } ) ) : ( ja = fa ( md ( a ) ) . contents ( ) , E . empty ( ) , Bb = A ( ja , b , h , h , { needsNewScope : u . $$isolateScope || u . $$newScope } ) ) ) , u . template ) if ( Pb = ! 0 , za ( "template" ,
w , u , E ) , w = u , ja = J ( u . template ) ? u . template ( E , x ) : u . template , ja = N ( ja ) , u . replace ) { if ( e = u , ja = Gc . test ( ja ) ? ug ( oa ( u . templateNamespace , Ga ( ja ) ) ) : [ ] , a = ja [ 0 ] , 1 != ja . length || 1 !== a . nodeType ) throw ab ( "tplrt" , ia , "" ) ; H ( m , E , a ) ; ja = { $attr : { } } ; var U = D ( a , [ ] , ja ) , C = d . splice ( aa + 1 , d . length - ( aa + 1 ) ) ; ( z || Aa ) && R ( U , z , Aa ) ; d = d . concat ( U ) . concat ( C ) ; O ( x , ja ) ; ec = d . length } else E . html ( ja ) ; if ( u . templateUrl ) Pb = ! 0 , za ( "template" , w , u , E ) , w = u , u . replace && ( e = u ) , r = G ( d . splice ( aa , d . length - aa ) , E , x , m , B && Bb , g , l , { controllerDirectives : yb , newScopeDirective : Aa !==
u && Aa , newIsolateScopeDirective : z , templateDirective : w , nonTlbTranscludeDirective : K } ) , ec = d . length ; else if ( u . compile ) try { na = u . compile ( E , x , Bb ) , J ( na ) ? k ( null , na , vb , mg ) : na && k ( na . pre , na . post , vb , mg ) } catch ( Jg ) { c ( Jg , ba ( E ) ) } u . terminal && ( r . terminal = ! 0 , y = Math . max ( y , u . priority ) ) } return r . scope = Aa && ! 0 === Aa . scope , r . transcludeOnThisElement = B , r . templateOnThisElement = Pb , r . transclude = Bb , F . hasElementTranscludeDirective = S , r } function R ( d , a , x ) { for ( var b = 0 , D = d . length ; b < D ; b ++ ) d [ b ] = y ( d [ b ] , { $$isolateScope : a , $$newScope : x } ) } function Bb ( a ,
x , b , D , L , g , h ) { if ( x === L ) return null ; if ( L = null , e . hasOwnProperty ( x ) ) { var F ; x = d . get ( x + "Directive" ) ; for ( var l = 0 , f = x . length ; l < f ; l ++ ) try { if ( F = x [ l ] , ( B ( D ) || D > F . priority ) && - 1 != F . restrict . indexOf ( b ) ) { if ( g && ( F = y ( F , { $$start : g , $$end : h } ) ) , ! F . $$bindings ) { var k = F , v = F , n = F . name , t = { isolateScope : null , bindToController : null } ; if ( q ( v . scope ) && ( ! 0 === v . bindToController ? ( t . bindToController = m ( v . scope , n , ! 0 ) , t . isolateScope = { } ) : t . isolateScope = m ( v . scope , n , ! 1 ) ) , q ( v . bindToController ) && ( t . bindToController = m ( v . bindToController , n , ! 0 ) ) ,
q ( t . bindToController ) ) { var Y = v . controller , u = v . controllerAs ; if ( ! Y ) throw ab ( "noctrl" , n ) ; var r ; a : { var v = Y , ra = u ; if ( ra && p ( ra ) ) r = ra ; else { if ( p ( v ) ) { var ia = Mc . exec ( v ) ; if ( ia ) { r = ia [ 3 ] ; break a } } r = void 0 } } if ( ! r ) throw ab ( "noident" , n ) ; } var ja = k . $$bindings = t ; q ( ja . isolateScope ) && ( F . $$isolateBindings = ja . isolateScope ) } a . push ( F ) ; L = F } } catch ( Hg ) { c ( Hg ) } } return L } function ec ( a ) { if ( e . hasOwnProperty ( a ) ) for ( var x = d . get ( a + "Directive" ) , b = 0 , D = x . length ; b < D ; b ++ ) if ( a = x [ b ] , a . multiElement ) return ! 0 ; return ! 1 } function O ( d , x ) { var b = x . $attr ,
D = d . $attr , m = d . $$element ; a ( d , function ( a , D ) { "$" != D . charAt ( 0 ) && ( x [ D ] && x [ D ] !== a && ( a += ( "style" === D ? ";" : " " ) + x [ D ] ) , d . $set ( D , a , ! 0 , b [ D ] ) ) } ) ; a ( x , function ( a , x ) { "class" == x ? ( z ( m , a ) , d [ "class" ] = ( d [ "class" ] ? d [ "class" ] + " " : "" ) + a ) : "style" == x ? ( m . attr ( "style" , m . attr ( "style" ) + ";" + a ) , d . style = ( d . style ? d . style + ";" : "" ) + a ) : "$" == x . charAt ( 0 ) || d . hasOwnProperty ( x ) || ( d [ x ] = a , D [ x ] = b [ x ] ) } ) } function G ( d , b , m , c , e , L , F , h ) { var l , f , k = [ ] , v = b [ 0 ] , n = d . shift ( ) , t = y ( n , { templateUrl : null , transclude : null , replace : null , $$originalDirective : n } ) , Y = J ( n . templateUrl ) ?
n . templateUrl ( b , m ) : n . templateUrl , u = n . templateNamespace ; return b . empty ( ) , g ( Y ) . then ( function ( g ) { var r , ra ; if ( g = N ( g ) , n . replace ) { if ( g = Gc . test ( g ) ? ug ( oa ( u , Ga ( g ) ) ) : [ ] , r = g [ 0 ] , 1 != g . length || 1 !== r . nodeType ) throw ab ( "tplrt" , n . name , Y ) ; g = { $attr : { } } ; H ( c , b , r ) ; var ia = D ( r , [ ] , g ) ; q ( n . scope ) && R ( ia , ! 0 ) ; d = ia . concat ( d ) ; O ( m , g ) } else r = v , b . html ( g ) ; d . unshift ( t ) ; l = yb ( d , r , m , e , b , n , L , F , h ) ; a ( c , function ( d , a ) { d == r && ( c [ a ] = b [ 0 ] ) } ) ; for ( f = Pb ( b [ 0 ] . childNodes , e ) ; k . length ; ) { g = k . shift ( ) ; ra = k . shift ( ) ; var ja = k . shift ( ) , na = k . shift ( ) , ia = b [ 0 ] ; if ( ! g . $$destroyed ) { if ( ra !==
v ) { var y = ra . className ; h . hasElementTranscludeDirective && n . replace || ( ia = md ( r ) ) ; H ( ja , fa ( ra ) , ia ) ; z ( fa ( ia ) , y ) } ra = l . transcludeOnThisElement ? x ( g , l . transclude , na ) : na ; l ( f , g , ia , c , ra ) } } k = null } ) , function ( d , a , b , D , m ) { d = m ; a . $$destroyed || ( k ? k . push ( a , b , D , d ) : ( l . transcludeOnThisElement && ( d = x ( a , l . transclude , m ) ) , l ( f , a , b , D , d ) ) ) } } function vb ( d , a ) { var x = a . priority - d . priority ; return 0 !== x ? x : d . name !== a . name ? d . name < a . name ? - 1 : 1 : d . index - a . index } function za ( d , a , x , b ) { function D ( d ) { return d ? " (module: " + d + ")" : "" } if ( a ) throw ab ( "multidir" ,
a . name , D ( a . $$moduleName ) , x . name , D ( x . $$moduleName ) , d , ba ( b ) ) ; } function U ( d , a ) { var x = b ( a , ! 0 ) ; x && d . push ( { priority : 0 , compile : function ( d ) { d = d . parent ( ) ; var a = ! ! d . length ; return a && A . $$addBindingClass ( d ) , function ( d , b ) { var D = b . parent ( ) ; a || A . $$addBindingClass ( D ) ; A . $$addBindingInfo ( D , x . expressions ) ; d . $watch ( x , function ( d ) { b [ 0 ] . nodeValue = d } ) } } } ) } function oa ( d , a ) { switch ( d = xa ( d || "html" ) ) { case "svg" : case "math" : var x = f . createElement ( "div" ) ; return x . innerHTML = "<" + d + ">" + a + "</" + d + ">" , x . childNodes [ 0 ] . childNodes ; default : return a } }
function ka ( d , a ) { if ( "srcdoc" == a ) return ja . HTML ; var x = ha ( d ) ; return "xlinkHref" == a || "form" == x && "action" == a || "img" != x && ( "src" == a || "ngSrc" == a ) ? ja . RESOURCE _URL : void 0 } function Ia ( d , a , x , D , m ) { var c = ka ( d , D ) ; m = v [ D ] || m ; var e = b ( x , ! 0 , c , m ) ; if ( e ) { if ( "multiple" === D && "select" === ha ( d ) ) throw ab ( "selmulti" , ba ( d ) ) ; a . push ( { priority : 100 , compile : function ( ) { return { pre : function ( d , a , L ) { if ( a = L . $$observers || ( L . $$observers = Ma ( ) ) , r . test ( D ) ) throw ab ( "nodomevents" ) ; var g = L [ D ] ; g !== x && ( e = g && b ( g , ! 0 , c , m ) , x = g ) ; e && ( L [ D ] = e ( d ) , ( a [ D ] || ( a [ D ] =
[ ] ) ) . $$inter = ! 0 , ( L . $$observers && L . $$observers [ D ] . $$scope || d ) . $watch ( e , function ( d , a ) { "class" === D && d != a ? L . $updateClass ( d , a ) : L . $set ( D , d ) } ) ) } } } } ) } } function H ( d , a , x ) { var b , D , m = a [ 0 ] , c = a . length , e = m . parentNode ; if ( d ) for ( b = 0 , D = d . length ; b < D ; b ++ ) if ( d [ b ] == m ) { d [ b ++ ] = x ; D = b + c - 1 ; for ( var L = d . length ; b < L ; b ++ , D ++ ) D < L ? d [ b ] = d [ D ] : delete d [ b ] ; d . length -= c - 1 ; d . context === m && ( d . context = x ) ; break } e && e . replaceChild ( x , m ) ; d = f . createDocumentFragment ( ) ; d . appendChild ( m ) ; fa . hasData ( m ) && ( fa . data ( x , fa . data ( m ) ) , Ea ? ( ad = ! 0 , Ea . cleanData ( [ m ] ) ) :
delete fa . cache [ m [ fa . expando ] ] ) ; m = 1 ; for ( c = a . length ; m < c ; m ++ ) e = a [ m ] , fa ( e ) . remove ( ) , d . appendChild ( e ) , delete a [ m ] ; a [ 0 ] = x ; a . length = 1 } function Z ( d , a ) { return n ( function ( ) { return d . apply ( null , arguments ) } , d , a ) } function bd ( d , a , x , b , D , m ) { try { d ( a , x , b , D , m ) } catch ( Fg ) { c ( Fg , ba ( x ) ) } } function Tb ( d , x , D , m , c ) { var e = [ ] ; return a ( m , function ( a , m ) { var L , g , h , l , f = a . attrName , k = a . optional ; switch ( a . mode ) { case "@" : k || sb . call ( x , f ) || ( D [ m ] = x [ f ] = void 0 ) ; x . $observe ( f , function ( d ) { p ( d ) && ( D [ m ] = d ) } ) ; x . $$observers [ f ] . $$scope = d ; L = x [ f ] ; p ( L ) ?
D [ m ] = b ( L ) ( d ) : X ( L ) && ( D [ m ] = L ) ; break ; case "=" : if ( ! sb . call ( x , f ) ) { if ( k ) break ; x [ f ] = void 0 } if ( k && ! x [ f ] ) break ; g = F ( x [ f ] ) ; l = g . literal ? W : function ( d , a ) { return d === a || d !== d && a !== a } ; h = g . assign || function ( ) { throw L = D [ m ] = g ( d ) , ab ( "nonassign" , x [ f ] , f , c . name ) ; } ; L = D [ m ] = g ( d ) ; k = function ( a ) { return l ( a , D [ m ] ) || ( l ( a , L ) ? h ( d , a = D [ m ] ) : D [ m ] = a ) , L = a } ; k . $stateful = ! 0 ; k = a . collection ? d . $watchCollection ( x [ f ] , k ) : d . $watch ( F ( x [ f ] , k ) , null , g . literal ) ; e . push ( k ) ; break ; case "&" : ( g = x . hasOwnProperty ( f ) ? F ( x [ f ] ) : u , g === u && k ) || ( D [ m ] = function ( a ) { return g ( d ,
a ) } ) } } ) , e . length && function ( ) { for ( var d = 0 , a = e . length ; d < a ; ++ d ) e [ d ] ( ) } } var I = function ( d , a ) { if ( a ) { var x , b , D , m = Object . keys ( a ) ; x = 0 ; for ( b = m . length ; x < b ; x ++ ) D = m [ x ] , this [ D ] = a [ D ] } else this . $attr = { } ; this . $$element = d } ; I . prototype = { $normalize : qb , $addClass : function ( d ) { d && 0 < d . length && na . addClass ( this . $$element , d ) } , $removeClass : function ( d ) { d && 0 < d . length && na . removeClass ( this . $$element , d ) } , $updateClass : function ( d , a ) { var x = C ( d , a ) ; x && x . length && na . addClass ( this . $$element , x ) ; ( x = C ( a , d ) ) && x . length && na . removeClass ( this . $$element ,
x ) } , $set : function ( d , x , b , D ) { var m = df ( this . $$element [ 0 ] , d ) , e = Vd [ d ] , L = d ; if ( m ? ( this . $$element . prop ( d , x ) , D = m ) : e && ( this [ e ] = x , L = e ) , this [ d ] = x , D ? this . $attr [ d ] = D : ( D = this . $attr [ d ] ) || ( this . $attr [ d ] = D = aa ( d , "-" ) ) , m = ha ( this . $$element ) , "a" === m && "href" === d || "img" === m && "src" === d ) this [ d ] = x = Aa ( x , "src" === d ) ; else if ( "img" === m && "srcset" === d && E ( x ) ) { for ( var m = "" , e = Ga ( x ) , g = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/ , g = /\s/ . test ( e ) ? g : /(,)/ , e = e . split ( g ) , g = Math . floor ( e . length / 2 ) , h = 0 ; h < g ; h ++ ) var F = 2 * h , m = m + Aa ( Ga ( e [ F ] ) , ! 0 ) , m = m + ( " " + Ga ( e [ F +
1 ] ) ) ; e = Ga ( e [ 2 * h ] ) . split ( /\s/ ) ; m += Aa ( Ga ( e [ 0 ] ) , ! 0 ) ; 2 === e . length && ( m += " " + Ga ( e [ 1 ] ) ) ; this [ d ] = x = m } ! 1 !== b && ( null === x || B ( x ) ? this . $$element . removeAttr ( D ) : this . $$element . attr ( D , x ) ) ; ( d = this . $$observers ) && a ( d [ L ] , function ( d ) { try { d ( x ) } catch ( Gg ) { c ( Gg ) } } ) } , $observe : function ( d , a ) { var x = this , b = x . $$observers || ( x . $$observers = Ma ( ) ) , D = b [ d ] || ( b [ d ] = [ ] ) ; return D . push ( a ) , ia . $evalAsync ( function ( ) { D . $$inter || ! x . hasOwnProperty ( d ) || B ( x [ d ] ) || a ( x [ d ] ) } ) , function ( ) { K ( D , a ) } } } ; var Fa = b . startSymbol ( ) , we = b . endSymbol ( ) , N = "{{" == Fa && "}}" ==
we ? w : function ( d ) { return d . replace ( /\{\{/g , Fa ) . replace ( /}}/g , we ) } , P = /^ngAttr[A-Z]/ , Lc = /^(.+)Start$/ ; return A . $$addBindingInfo = S ? function ( d , a ) { var x = d . data ( "$binding" ) || [ ] ; pa ( a ) ? x = x . concat ( a ) : x . push ( a ) ; d . data ( "$binding" , x ) } : u , A . $$addBindingClass = S ? function ( d ) { z ( d , "ng-binding" ) } : u , A . $$addScopeInfo = S ? function ( d , a , x , b ) { d . data ( x ? b ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope" , a ) } : u , A . $$addScopeClass = S ? function ( d , a ) { z ( d , a ? "ng-isolate-scope" : "ng-scope" ) } : u , A } ] } function qb ( d ) { return qc ( d . replace ( Td , "" ) ) }
function C ( d , a ) { var b = "" , m = d . split ( /\s+/ ) , c = a . split ( /\s+/ ) , e = 0 ; a : for ( ; e < m . length ; e ++ ) { for ( var g = m [ e ] , h = 0 ; h < c . length ; h ++ ) if ( g == c [ h ] ) continue a ; b += ( 0 < b . length ? " " : "" ) + g } return b } function ug ( d ) { d = fa ( d ) ; var a = d . length ; if ( 1 >= a ) return d ; for ( ; a -- ; ) 8 === d [ a ] . nodeType && ff . call ( d , a , 1 ) ; return d } function wb ( ) { var d = { } , a = ! 1 ; this . register = function ( a , b ) { Sb ( a , "controller" ) ; q ( a ) ? n ( d , a ) : d [ a ] = b } ; this . allowGlobals = function ( ) { a = ! 0 } ; this . $get = [ "$injector" , "$window" , function ( b , m ) { function c ( d , a , b , m ) { if ( ! d || ! q ( d . $scope ) ) throw l ( "$controller" ) ( "noscp" ,
m , a ) ; d . $scope [ a ] = b } return function ( e , g , F , l ) { var f , k , v ; if ( F = ! 0 === F , l && p ( l ) && ( v = l ) , p ( e ) ) { if ( l = e . match ( Mc ) , ! l ) throw gf ( "ctrlfmt" , e ) ; k = l [ 1 ] ; v = v || l [ 3 ] ; e = d . hasOwnProperty ( k ) ? d [ k ] : vb ( g . $scope , k , ! 0 ) || ( a ? vb ( m , k , ! 0 ) : h ) ; ub ( e , k , ! 0 ) } return F ? ( F = ( pa ( e ) ? e [ e . length - 1 ] : e ) . prototype , f = Object . create ( F || null ) , v && c ( g , v , f , k || e . name ) , n ( function ( ) { var d = b . invoke ( e , f , g , k ) ; return d !== f && ( q ( d ) || J ( d ) ) && ( f = d , v && c ( g , v , f , k || e . name ) ) , f } , { instance : f , identifier : v } ) ) : ( f = b . instantiate ( e , g , k ) , v && c ( g , v , f , k || e . name ) , f ) } } ] } function ya ( ) { this . $get =
[ "$window" , function ( d ) { return fa ( d . document ) } ] } function Ag ( ) { this . $get = [ "$log" , function ( d ) { return function ( a , b ) { d . error . apply ( d , arguments ) } } ] } function ng ( d ) { return q ( d ) ? O ( d ) ? d . toISOString ( ) : qa ( d ) : d } function Cg ( ) { this . $get = function ( ) { return function ( d ) { if ( ! d ) return "" ; var b = [ ] ; return e ( d , function ( d , m ) { null === d || B ( d ) || ( pa ( d ) ? a ( d , function ( d , a ) { b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) } ) : b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } ) , b . join ( "&" ) } } } function db ( ) { this . $get = function ( ) { return function ( d ) { function b ( d , m , g ) { null === d || B ( d ) ||
( pa ( d ) ? a ( d , function ( d , a ) { b ( d , m + "[" + ( q ( d ) ? a : "" ) + "]" ) } ) : q ( d ) && ! O ( d ) ? e ( d , function ( d , a ) { b ( d , m + ( g ? "" : "[" ) + a + ( g ? "" : "]" ) ) } ) : c . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } if ( ! d ) return "" ; var c = [ ] ; return b ( d , "" , ! 0 ) , c . join ( "&" ) } } } function nb ( d , a ) { if ( p ( d ) ) { var b = d . replace ( La , "" ) . trim ( ) ; if ( b ) { var m = a ( "Content-Type" ) ; ( m = m && 0 === m . indexOf ( Wd ) ) || ( m = ( m = b . match ( hf ) ) && pd [ m [ 0 ] ] . test ( b ) ) ; m && ( d = ca ( b ) ) } } return d } function vg ( d ) { var b , c = Ma ( ) ; return p ( d ) ? a ( d . split ( "\n" ) , function ( d ) { b = d . indexOf ( ":" ) ; var a = xa ( Ga ( d . substr ( 0 , b ) ) ) ; d = Ga ( d . substr ( b +
1 ) ) ; a && ( c [ a ] = c [ a ] ? c [ a ] + ", " + d : d ) } ) : q ( d ) && a ( d , function ( d , a ) { var b = xa ( a ) , m = Ga ( d ) ; b && ( c [ b ] = c [ b ] ? c [ b ] + ", " + m : m ) } ) , c } function wg ( d ) { var a ; return function ( b ) { return a || ( a = vg ( d ) ) , b ? ( b = a [ xa ( b ) ] , void 0 === b && ( b = null ) , b ) : a } } function lc ( d , b , c , e ) { return J ( e ) ? e ( d , b , c ) : ( a ( e , function ( a ) { d = a ( d , b , c ) } ) , d ) } function Bg ( ) { var d = this . defaults = { transformResponse : [ nb ] , transformRequest : [ function ( d ) { return q ( d ) && "[object File]" !== tb . call ( d ) && "[object Blob]" !== tb . call ( d ) && "[object FormData]" !== tb . call ( d ) ? qa ( d ) : d } ] , headers : { common : { Accept : "application/json, text/plain, */*" } ,
post : ka ( Nc ) , put : ka ( Nc ) , patch : ka ( Nc ) } , xsrfCookieName : "XSRF-TOKEN" , xsrfHeaderName : "X-XSRF-TOKEN" , paramSerializer : "$httpParamSerializer" } , b = ! 1 ; this . useApplyAsync = function ( d ) { return E ( d ) ? ( b = ! ! d , this ) : b } ; var c = ! 0 ; this . useLegacyPromiseExtensions = function ( d ) { return E ( d ) ? ( c = ! ! d , this ) : c } ; var e = this . interceptors = [ ] ; this . $get = [ "$httpBackend" , "$$cookieReader" , "$cacheFactory" , "$rootScope" , "$q" , "$injector" , function ( m , g , f , k , F , v ) { function t ( b ) { function m ( d ) { var a = n ( { } , d ) ; return a . data = lc ( d . data , d . headers , d . status ,
g . transformResponse ) , d = d . status , 200 <= d && 300 > d ? a : F . reject ( a ) } function e ( d , b ) { var m , c = { } ; return a ( d , function ( d , a ) { J ( d ) ? ( m = d ( b ) , null != m && ( c [ a ] = m ) ) : c [ a ] = d } ) , c } if ( ! Na . isObject ( b ) ) throw l ( "$http" ) ( "badreq" , b ) ; if ( ! p ( b . url ) ) throw l ( "$http" ) ( "badreq" , b . url ) ; var g = n ( { method : "get" , transformRequest : d . transformRequest , transformResponse : d . transformResponse , paramSerializer : d . paramSerializer } , b ) ; g . headers = function ( a ) { var b , m , c , x = d . headers , D = n ( { } , a . headers ) , x = n ( { } , x . common , x [ xa ( a . method ) ] ) ; a : for ( b in x ) { m = xa ( b ) ; for ( c in D ) if ( xa ( c ) ===
m ) continue a ; D [ b ] = x [ b ] } return e ( D , ka ( a ) ) } ( b ) ; g . method = lb ( g . method ) ; g . paramSerializer = p ( g . paramSerializer ) ? v . get ( g . paramSerializer ) : g . paramSerializer ; var f = [ function ( b ) { var c = b . headers , e = lc ( b . data , wg ( c ) , h , b . transformRequest ) ; return B ( e ) && a ( c , function ( d , a ) { "content-type" === xa ( a ) && delete c [ a ] } ) , B ( b . withCredentials ) && ! B ( d . withCredentials ) && ( b . withCredentials = d . withCredentials ) , u ( b , e ) . then ( m , m ) } , h ] , k = F . when ( g ) ; for ( a ( ia , function ( d ) { ( d . request || d . requestError ) && f . unshift ( d . request , d . requestError ) ; ( d . response ||
d . responseError ) && f . push ( d . response , d . responseError ) } ) ; f . length ; ) { b = f . shift ( ) ; var t = f . shift ( ) , k = k . then ( b , t ) } return c ? ( k . success = function ( d ) { return ub ( d , "fn" ) , k . then ( function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , k } , k . error = function ( d ) { return ub ( d , "fn" ) , k . then ( null , function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , k } ) : ( k . success = jf ( "success" ) , k . error = jf ( "error" ) ) , k } function u ( a , c ) { function e ( d , a , m , c ) { function D ( ) { f ( a , d , m , c ) } n && ( 200 <= d && 300 > d ? n . put ( x , [ d , a , vg ( m ) , c ] ) : n . remove ( x ) ) ; b ? k . $applyAsync ( D ) : ( D ( ) , k . $$phase ||
k . $apply ( ) ) } function f ( d , x , b , m ) { x = - 1 <= x ? x : 0 ; ( 200 <= x && 300 > x ? ia . resolve : ia . reject ) ( { data : d , status : x , headers : wg ( b ) , config : a , statusText : m } ) } function l ( d ) { f ( d . data , d . status , ka ( d . headers ( ) ) , d . statusText ) } function v ( ) { var d = t . pendingRequests . indexOf ( a ) ; - 1 !== d && t . pendingRequests . splice ( d , 1 ) } var n , u , ia = F . defer ( ) , ja = ia . promise , na = a . headers , x = r ( a . url , a . paramSerializer ( a . params ) ) ; return t . pendingRequests . push ( a ) , ja . then ( v , v ) , ! a . cache && ! d . cache || ! 1 === a . cache || "GET" !== a . method && "JSONP" !== a . method || ( n = q ( a . cache ) ?
a . cache : q ( d . cache ) ? d . cache : Y ) , n && ( u = n . get ( x ) , E ( u ) ? u && J ( u . then ) ? u . then ( l , l ) : pa ( u ) ? f ( u [ 1 ] , u [ 0 ] , ka ( u [ 2 ] ) , u [ 3 ] ) : f ( u , 200 , { } , "OK" ) : n . put ( x , ja ) ) , B ( u ) && ( ( u = Xd ( a . url ) ? g ( ) [ a . xsrfCookieName || d . xsrfCookieName ] : h ) && ( na [ a . xsrfHeaderName || d . xsrfHeaderName ] = u ) , m ( a . method , x , c , e , na , a . timeout , a . withCredentials , a . responseType ) ) , ja } function r ( d , a ) { return 0 < a . length && ( d += ( - 1 == d . indexOf ( "?" ) ? "?" : "&" ) + a ) , d } var Y = f ( "$http" ) ; d . paramSerializer = p ( d . paramSerializer ) ? v . get ( d . paramSerializer ) : d . paramSerializer ; var ia = [ ] ; return a ( e ,
function ( d ) { ia . unshift ( p ( d ) ? v . get ( d ) : v . invoke ( d ) ) } ) , t . pendingRequests = [ ] , function ( d ) { a ( arguments , function ( d ) { t [ d ] = function ( a , b ) { return t ( n ( { } , b || { } , { method : d , url : a } ) ) } } ) } ( "get" , "delete" , "head" , "jsonp" ) , function ( d ) { a ( arguments , function ( d ) { t [ d ] = function ( a , b , m ) { return t ( n ( { } , m || { } , { method : d , url : a , data : b } ) ) } } ) } ( "post" , "put" , "patch" ) , t . defaults = d , t } ] } function Dg ( ) { this . $get = function ( ) { return function ( ) { return new b . XMLHttpRequest } } } function Oe ( ) { this . $get = [ "$browser" , "$window" , "$document" , "$xhrFactory" ,
function ( d , a , b , c ) { return kf ( d , c , d . defer , a . angular . callbacks , b [ 0 ] ) } ] } function kf ( d , b , c , e , g ) { function m ( d , a , b ) { var m = g . createElement ( "script" ) , c = null ; return m . type = "text/javascript" , m . src = d , m . async = ! 0 , c = function ( d ) { m . removeEventListener ( "load" , c , ! 1 ) ; m . removeEventListener ( "error" , c , ! 1 ) ; g . body . removeChild ( m ) ; m = null ; var f = - 1 , h = "unknown" ; d && ( "load" !== d . type || e [ a ] . called || ( d = { type : "error" } ) , h = d . type , f = "error" === d . type ? 404 : 200 ) ; b && b ( f , h ) } , m . addEventListener ( "load" , c , ! 1 ) , m . addEventListener ( "error" , c , ! 1 ) , g . body . appendChild ( m ) ,
c } return function ( g , f , h , k , l , F , v , n ) { function t ( ) { ia && ia ( ) ; q && q . abort ( ) } function r ( a , b , m , e , g ) { E ( ja ) && c . cancel ( ja ) ; ia = q = null ; a ( b , m , e , g ) ; d . $$completeOutstandingRequest ( u ) } if ( d . $$incOutstandingRequestCount ( ) , f = f || d . url ( ) , "jsonp" == xa ( g ) ) { var Y = "_" + ( e . counter ++ ) . toString ( 36 ) ; e [ Y ] = function ( d ) { e [ Y ] . data = d ; e [ Y ] . called = ! 0 } ; var ia = m ( f . replace ( "JSON_CALLBACK" , "angular.callbacks." + Y ) , Y , function ( d , a ) { r ( k , d , e [ Y ] . data , "" , a ) ; e [ Y ] = u } ) } else { var q = b ( g , f ) ; if ( q . open ( g , f , ! 0 ) , a ( l , function ( d , a ) { E ( d ) && q . setRequestHeader ( a ,
d ) } ) , q . onload = function ( ) { var d = q . statusText || "" , a = "response" in q ? q . response : q . responseText , b = 1223 === q . status ? 204 : q . status ; 0 === b && ( b = a ? 200 : "file" == Nb ( f ) . protocol ? 404 : 0 ) ; r ( k , b , a , q . getAllResponseHeaders ( ) , d ) } , g = function ( ) { r ( k , - 1 , null , null , "" ) } , q . onerror = g , q . onabort = g , v && ( q . withCredentials = ! 0 ) , n ) try { q . responseType = n } catch ( pb ) { if ( "json" !== n ) throw pb ; } q . send ( B ( h ) ? null : h ) } if ( 0 < F ) var ja = c ( t , F ) ; else F && J ( F . then ) && F . then ( t ) } } function Kd ( ) { var d = "{{" , a = "}}" ; this . startSymbol = function ( a ) { return a ? ( d = a , this ) : d } ;
this . endSymbol = function ( d ) { return d ? ( a = d , this ) : a } ; this . $get = [ "$parse" , "$exceptionHandler" , "$sce" , function ( b , m , c ) { function e ( d ) { return "\\\\\\" + d } function g ( e , g , F , v ) { function t ( d ) { try { var a = d ; d = F ? c . getTrusted ( F , a ) : c . valueOf ( a ) ; var b ; if ( v && ! E ( d ) ) b = d ; else if ( null == d ) b = "" ; else { switch ( typeof d ) { case "string" : break ; case "number" : d = "" + d ; break ; default : d = qa ( d ) } b = d } return b } catch ( L ) { m ( Zb . interr ( e , L ) ) } } v = ! ! v ; for ( var u , r , Y = 0 , q = [ ] , ia = [ ] , ja = e . length , na = [ ] , y = [ ] ; Y < ja ; ) { if ( - 1 == ( u = e . indexOf ( d , Y ) ) || - 1 == ( r = e . indexOf ( a ,
u + f ) ) ) { Y !== ja && na . push ( e . substring ( Y ) . replace ( k , d ) . replace ( l , a ) ) ; break } Y !== u && na . push ( e . substring ( Y , u ) . replace ( k , d ) . replace ( l , a ) ) ; Y = e . substring ( u + f , r ) ; q . push ( Y ) ; ia . push ( b ( Y , t ) ) ; Y = r + h ; y . push ( na . length ) ; na . push ( "" ) } if ( F && 1 < na . length && Zb . throwNoconcat ( e ) , ! g || q . length ) { var z = function ( d ) { for ( var a = 0 , b = q . length ; a < b ; a ++ ) { if ( v && B ( d [ a ] ) ) return ; na [ y [ a ] ] = d [ a ] } return na . join ( "" ) } ; return n ( function ( d ) { var a = 0 , b = q . length , c = Array ( b ) ; try { for ( ; a < b ; a ++ ) c [ a ] = ia [ a ] ( d ) ; return z ( c ) } catch ( ra ) { m ( Zb . interr ( e , ra ) ) } } , { exp : e ,
expressions : q , $$watchDelegate : function ( d , a ) { var x ; return d . $watchGroup ( ia , function ( b , D ) { var m = z ( b ) ; J ( a ) && a . call ( this , m , b !== D ? x : m , d ) ; x = m } ) } } ) } } var f = d . length , h = a . length , k = new RegExp ( d . replace ( /./g , e ) , "g" ) , l = new RegExp ( a . replace ( /./g , e ) , "g" ) ; return g . startSymbol = function ( ) { return d } , g . endSymbol = function ( ) { return a } , g } ] } function Fc ( ) { this . $get = [ "$rootScope" , "$window" , "$q" , "$$q" , function ( d , a , b , c ) { function m ( m , g , f , h ) { var k = 4 < arguments . length , l = k ? Cb . call ( arguments , 4 ) : [ ] , F = a . setInterval , v = a . clearInterval ,
n = 0 , t = E ( h ) && ! h , u = ( t ? c : b ) . defer ( ) , r = u . promise ; return f = E ( f ) ? f : 0 , r . then ( null , null , k ? function ( ) { m . apply ( null , l ) } : m ) , r . $$intervalId = F ( function ( ) { u . notify ( n ++ ) ; 0 < f && n >= f && ( u . resolve ( n ) , v ( r . $$intervalId ) , delete e [ r . $$intervalId ] ) ; t || d . $apply ( ) } , g ) , e [ r . $$intervalId ] = u , r } var e = { } ; return m . cancel = function ( d ) { return ! ! ( d && d . $$intervalId in e ) && ( e [ d . $$intervalId ] . reject ( "canceled" ) , a . clearInterval ( d . $$intervalId ) , delete e [ d . $$intervalId ] , ! 0 ) } , m } ] } function qd ( d ) { d = d . split ( "/" ) ; for ( var a = d . length ; a -- ; ) d [ a ] = ga ( d [ a ] ) ;
return d . join ( "/" ) } function Yd ( d , a ) { var b = Nb ( d ) ; a . $$protocol = b . protocol ; a . $$host = b . hostname ; a . $$port = parseInt ( b . port , 10 ) || lf [ b . protocol ] || null } function Oc ( d , a ) { var b = "/" !== d . charAt ( 0 ) ; b && ( d = "/" + d ) ; var m = Nb ( d ) ; a . $$path = decodeURIComponent ( b && "/" === m . pathname . charAt ( 0 ) ? m . pathname . substring ( 1 ) : m . pathname ) ; a . $$search = Da ( m . search ) ; a . $$hash = decodeURIComponent ( m . hash ) ; a . $$path && "/" != a . $$path . charAt ( 0 ) && ( a . $$path = "/" + a . $$path ) } function bb ( d , a ) { if ( 0 === a . indexOf ( d ) ) return a . substr ( d . length ) } function Yb ( d ) { var a =
d . indexOf ( "#" ) ; return - 1 == a ? d : d . substr ( 0 , a ) } function Ob ( d ) { return d . replace ( /(#.+)|#$/ , "$1" ) } function Zd ( d , a , b ) { this . $$html5 = ! 0 ; b = b || "" ; Yd ( d , this ) ; this . $$parse = function ( d ) { var b = bb ( a , d ) ; if ( ! p ( b ) ) throw Hb ( "ipthprfx" , d , a ) ; Oc ( b , this ) ; this . $$path || ( this . $$path = "/" ) ; this . $$compose ( ) } ; this . $$compose = function ( ) { var d = sa ( this . $$search ) , b = this . $$hash ? "#" + ga ( this . $$hash ) : "" ; this . $$url = qd ( this . $$path ) + ( d ? "?" + d : "" ) + b ; this . $$absUrl = a + this . $$url . substr ( 1 ) } ; this . $$parseLinkUrl = function ( m , c ) { if ( c && "#" === c [ 0 ] ) return this . hash ( c . slice ( 1 ) ) ,
! 0 ; var e , g ; return E ( e = bb ( d , m ) ) ? ( g = e , g = E ( e = bb ( b , e ) ) ? a + ( bb ( "/" , e ) || e ) : d + g ) : E ( e = bb ( a , m ) ) ? g = a + e : a == m + "/" && ( g = a ) , g && this . $$parse ( g ) , ! ! g } } function $d ( d , a , b ) { Yd ( d , this ) ; this . $$parse = function ( m ) { var c , e = bb ( d , m ) || bb ( a , m ) ; B ( e ) || "#" !== e . charAt ( 0 ) ? this . $$html5 ? c = e : ( c = "" , B ( e ) && ( d = m , this . replace ( ) ) ) : ( c = bb ( b , e ) , B ( c ) && ( c = e ) ) ; Oc ( c , this ) ; m = this . $$path ; var e = d , g = /^\/[A-Z]:(\/.*)/ ; 0 === c . indexOf ( e ) && ( c = c . replace ( e , "" ) ) ; g . exec ( c ) || ( m = ( c = g . exec ( m ) ) ? c [ 1 ] : m ) ; this . $$path = m ; this . $$compose ( ) } ; this . $$compose = function ( ) { var a =
sa ( this . $$search ) , m = this . $$hash ? "#" + ga ( this . $$hash ) : "" ; this . $$url = qd ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + ( this . $$url ? b + this . $$url : "" ) } ; this . $$parseLinkUrl = function ( a , b ) { return Yb ( d ) == Yb ( a ) && ( this . $$parse ( a ) , ! 0 ) } } function ae ( d , a , b ) { this . $$html5 = ! 0 ; $d . apply ( this , arguments ) ; this . $$parseLinkUrl = function ( m , c ) { if ( c && "#" === c [ 0 ] ) return this . hash ( c . slice ( 1 ) ) , ! 0 ; var e , g ; return d == Yb ( m ) ? e = m : ( g = bb ( a , m ) ) ? e = d + b + g : a === m + "/" && ( e = a ) , e && this . $$parse ( e ) , ! ! e } ; this . $$compose = function ( ) { var a = sa ( this . $$search ) ,
m = this . $$hash ? "#" + ga ( this . $$hash ) : "" ; this . $$url = qd ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + b + this . $$url } } function Pc ( d ) { return function ( ) { return this [ d ] } } function eb ( d , a ) { return function ( b ) { return B ( b ) ? this [ d ] : ( this [ d ] = a ( b ) , this . $$compose ( ) , this ) } } function Pe ( ) { var d = "" , a = { enabled : ! 1 , requireBase : ! 0 , rewriteLinks : ! 0 } ; this . hashPrefix = function ( a ) { return E ( a ) ? ( d = a , this ) : d } ; this . html5Mode = function ( d ) { return X ( d ) ? ( a . enabled = d , this ) : q ( d ) ? ( X ( d . enabled ) && ( a . enabled = d . enabled ) , X ( d . requireBase ) && ( a . requireBase =
d . requireBase ) , X ( d . rewriteLinks ) && ( a . rewriteLinks = d . rewriteLinks ) , this ) : a } ; this . $get = [ "$rootScope" , "$browser" , "$sniffer" , "$rootElement" , "$window" , function ( b , m , c , e , g ) { function f ( d , a , b ) { var c = k . url ( ) , e = k . $$state ; try { m . url ( d , a , b ) , k . $$state = m . state ( ) } catch ( Rd ) { throw k . url ( c ) , k . $$state = e , Rd ; } } function h ( d , a ) { b . $broadcast ( "$locationChangeSuccess" , k . absUrl ( ) , d , k . $$state , a ) } var k , l ; l = m . baseHref ( ) ; var v , F = m . url ( ) ; if ( a . enabled ) { if ( ! l && a . requireBase ) throw Hb ( "nobase" ) ; v = F . substring ( 0 , F . indexOf ( "/" , F . indexOf ( "//" ) +
2 ) ) + ( l || "/" ) ; l = c . history ? Zd : ae } else v = Yb ( F ) , l = $d ; var n = v . substr ( 0 , Yb ( v ) . lastIndexOf ( "/" ) + 1 ) ; k = new l ( v , n , "#" + d ) ; k . $$parseLinkUrl ( F , F ) ; k . $$state = m . state ( ) ; var t = /^\s*(javascript|mailto):/i ; e . on ( "click" , function ( d ) { if ( a . rewriteLinks && ! d . ctrlKey && ! d . metaKey && ! d . shiftKey && 2 != d . which && 2 != d . button ) { for ( var c = fa ( d . target ) ; "a" !== ha ( c [ 0 ] ) ; ) if ( c [ 0 ] === e [ 0 ] || ! ( c = c . parent ( ) ) [ 0 ] ) return ; var f = c . prop ( "href" ) , h = c . attr ( "href" ) || c . attr ( "xlink:href" ) ; q ( f ) && "[object SVGAnimatedString]" === f . toString ( ) && ( f = Nb ( f . animVal ) . href ) ;
t . test ( f ) || ! f || c . attr ( "target" ) || d . isDefaultPrevented ( ) || ! k . $$parseLinkUrl ( f , h ) || ( d . preventDefault ( ) , k . absUrl ( ) != m . url ( ) && ( b . $apply ( ) , g . angular [ "ff-684208-preventDefault" ] = ! 0 ) ) } } ) ; Ob ( k . absUrl ( ) ) != Ob ( F ) && m . url ( k . absUrl ( ) , ! 0 ) ; var u = ! 0 ; return m . onUrlChange ( function ( d , a ) { B ( bb ( n , d ) ) ? g . location . href = d : ( b . $evalAsync ( function ( ) { var m , c = k . absUrl ( ) , e = k . $$state ; d = Ob ( d ) ; k . $$parse ( d ) ; k . $$state = a ; m = b . $broadcast ( "$locationChangeStart" , d , c , a , e ) . defaultPrevented ; k . absUrl ( ) === d && ( m ? ( k . $$parse ( c ) , k . $$state = e , f ( c , ! 1 ,
e ) ) : ( u = ! 1 , h ( c , e ) ) ) } ) , b . $$phase || b . $digest ( ) ) } ) , b . $watch ( function ( ) { var d = Ob ( m . url ( ) ) , a = Ob ( k . absUrl ( ) ) , e = m . state ( ) , g = k . $$replace , l = d !== a || k . $$html5 && c . history && e !== k . $$state ; ( u || l ) && ( u = ! 1 , b . $evalAsync ( function ( ) { var a = k . absUrl ( ) , m = b . $broadcast ( "$locationChangeStart" , a , d , k . $$state , e ) . defaultPrevented ; k . absUrl ( ) === a && ( m ? ( k . $$parse ( d ) , k . $$state = e ) : ( l && f ( a , g , e === k . $$state ? null : k . $$state ) , h ( d , e ) ) ) } ) ) ; k . $$replace = ! 1 } ) , k } ] } function Kb ( ) { var d = ! 0 , b = this ; this . debugEnabled = function ( a ) { return E ( a ) ? ( d = a , this ) :
d } ; this . $get = [ "$window" , function ( m ) { function c ( d ) { return d instanceof Error && ( d . stack ? d = d . message && - 1 === d . stack . indexOf ( d . message ) ? "Error: " + d . message + "\n" + d . stack : d . stack : d . sourceURL && ( d = d . message + "\n" + d . sourceURL + ":" + d . line ) ) , d } function e ( d ) { var b = m . console || { } , e = b [ d ] || b . log || u ; d = ! 1 ; try { d = ! ! e . apply } catch ( Pb ) { } return d ? function ( ) { var d = [ ] ; return a ( arguments , function ( a ) { d . push ( c ( a ) ) } ) , e . apply ( b , d ) } : function ( d , a ) { e ( d , null == a ? "" : a ) } } return { log : e ( "log" ) , info : e ( "info" ) , warn : e ( "warn" ) , error : e ( "error" ) ,
debug : function ( ) { var a = e ( "debug" ) ; return function ( ) { d && a . apply ( b , arguments ) } } ( ) } } ] } function $b ( d , a ) { if ( "__defineGetter__" === d || "__defineSetter__" === d || "__lookupGetter__" === d || "__lookupSetter__" === d || "__proto__" === d ) throw cb ( "isecfld" , a ) ; return d } function rd ( d , a ) { if ( d += "" , ! p ( d ) ) throw cb ( "iseccst" , a ) ; return d } function hb ( d , a ) { if ( d ) { if ( d . constructor === d ) throw cb ( "isecfn" , a ) ; if ( d . window === d ) throw cb ( "isecwindow" , a ) ; if ( d . children && ( d . nodeName || d . prop && d . attr && d . find ) ) throw cb ( "isecdom" , a ) ; if ( d === Object ) throw cb ( "isecobj" ,
a ) ; } return d } function Qc ( d , a ) { if ( d ) { if ( d . constructor === d ) throw cb ( "isecfn" , a ) ; if ( d === rb || d === mf || d === be ) throw cb ( "isecff" , a ) ; } } function Rc ( d , a ) { if ( d && ( d === ( 0 ) . constructor || d === ( ! 1 ) . constructor || d === "" . constructor || d === { } . constructor || d === [ ] . constructor || d === Function . constructor ) ) throw cb ( "isecaf" , a ) ; } function ce ( d , a ) { return "undefined" != typeof d ? d : a } function sc ( d , a ) { return "undefined" == typeof d ? a : "undefined" == typeof a ? d : d + a } function Ua ( d , b ) { var c , m ; switch ( d . type ) { case Q . Program : c = ! 0 ; a ( d . body , function ( d ) { Ua ( d . expression ,
b ) ; c = c && d . expression . constant } ) ; d . constant = c ; break ; case Q . Literal : d . constant = ! 0 ; d . toWatch = [ ] ; break ; case Q . UnaryExpression : Ua ( d . argument , b ) ; d . constant = d . argument . constant ; d . toWatch = d . argument . toWatch ; break ; case Q . BinaryExpression : Ua ( d . left , b ) ; Ua ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . left . toWatch . concat ( d . right . toWatch ) ; break ; case Q . LogicalExpression : Ua ( d . left , b ) ; Ua ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case Q . ConditionalExpression : Ua ( d . test ,
b ) ; Ua ( d . alternate , b ) ; Ua ( d . consequent , b ) ; d . constant = d . test . constant && d . alternate . constant && d . consequent . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case Q . Identifier : d . constant = ! 1 ; d . toWatch = [ d ] ; break ; case Q . MemberExpression : Ua ( d . object , b ) ; d . computed && Ua ( d . property , b ) ; d . constant = d . object . constant && ( ! d . computed || d . property . constant ) ; d . toWatch = [ d ] ; break ; case Q . CallExpression : c = ! ! d . filter && ! b ( d . callee . name ) . $stateful ; m = [ ] ; a ( d . arguments , function ( d ) { Ua ( d , b ) ; c = c && d . constant ; d . constant || m . push . apply ( m , d . toWatch ) } ) ;
d . constant = c ; d . toWatch = d . filter && ! b ( d . callee . name ) . $stateful ? m : [ d ] ; break ; case Q . AssignmentExpression : Ua ( d . left , b ) ; Ua ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = [ d ] ; break ; case Q . ArrayExpression : c = ! 0 ; m = [ ] ; a ( d . elements , function ( d ) { Ua ( d , b ) ; c = c && d . constant ; d . constant || m . push . apply ( m , d . toWatch ) } ) ; d . constant = c ; d . toWatch = m ; break ; case Q . ObjectExpression : c = ! 0 ; m = [ ] ; a ( d . properties , function ( d ) { Ua ( d . value , b ) ; c = c && d . value . constant ; d . value . constant || m . push . apply ( m , d . value . toWatch ) } ) ; d . constant =
c ; d . toWatch = m ; break ; case Q . ThisExpression : d . constant = ! 1 , d . toWatch = [ ] } } function de ( d ) { if ( 1 == d . length ) { d = d [ 0 ] . expression ; var a = d . toWatch ; return 1 !== a . length ? a : a [ 0 ] !== d ? a : h } } function sd ( d ) { return d . type === Q . Identifier || d . type === Q . MemberExpression } function nf ( d ) { if ( 1 === d . body . length && sd ( d . body [ 0 ] . expression ) ) return { type : Q . AssignmentExpression , left : d . body [ 0 ] . expression , right : { type : Q . NGValueParameter } , operator : "=" } } function ee ( d ) { return 0 === d . body . length || 1 === d . body . length && ( d . body [ 0 ] . expression . type ===
Q . Literal || d . body [ 0 ] . expression . type === Q . ArrayExpression || d . body [ 0 ] . expression . type === Q . ObjectExpression ) } function td ( d , a ) { this . astBuilder = d ; this . $filter = a } function of ( d , a ) { this . astBuilder = d ; this . $filter = a } function ib ( d ) { return J ( d . valueOf ) ? d . valueOf ( ) : Kg . call ( d ) } function Eg ( ) { var d = Ma ( ) , b = Ma ( ) ; this . $get = [ "$filter" , function ( c ) { function m ( a , m , g ) { var h , F , t ; switch ( g = g || Y , typeof a ) { case "string" : t = a = a . trim ( ) ; var ia = g ? b : d ; if ( h = ia [ t ] , ! h ) { ":" === a . charAt ( 0 ) && ":" === a . charAt ( 1 ) && ( F = ! 0 , a = a . substring ( 2 ) ) ; h = g ?
q : r ; var y = new Qa ( h ) ; h = ( new fb ( y , c , h ) ) . parse ( a ) ; h . constant ? h . $$watchDelegate = v : F ? h . $$watchDelegate = h . literal ? l : f : h . inputs && ( h . $$watchDelegate = k ) ; g && ( h = e ( h ) ) ; ia [ t ] = h } return n ( h , m ) ; case "function" : return n ( a , m ) ; default : return n ( u , m ) } } function e ( d ) { function a ( a , b , c , m ) { var e = Y ; Y = ! 0 ; try { return d ( a , b , c , m ) } finally { Y = e } } if ( ! d ) return d ; a . $$watchDelegate = d . $$watchDelegate ; a . assign = e ( d . assign ) ; a . constant = d . constant ; a . literal = d . literal ; for ( var b = 0 ; d . inputs && b < d . inputs . length ; ++ b ) d . inputs [ b ] = e ( d . inputs [ b ] ) ; return a . inputs =
d . inputs , a } function g ( d , a ) { return null == d || null == a ? d === a : ( "object" != typeof d || ( d = ib ( d ) , "object" != typeof d ) ) && ( d === a || d !== d && a !== a ) } function k ( d , a , b , c , m ) { var e , k = c . inputs ; if ( 1 === k . length ) { var f = g , k = k [ 0 ] ; return d . $watch ( function ( d ) { var a = k ( d ) ; return g ( a , f ) || ( e = c ( d , h , h , [ a ] ) , f = a && ib ( a ) ) , e } , a , b , m ) } for ( var l = [ ] , v = [ ] , F = 0 , x = k . length ; F < x ; F ++ ) l [ F ] = g , v [ F ] = null ; return d . $watch ( function ( d ) { for ( var a = ! 1 , b = 0 , x = k . length ; b < x ; b ++ ) { var D = k [ b ] ( d ) ; ( a || ( a = ! g ( D , l [ b ] ) ) ) && ( v [ b ] = D , l [ b ] = D && ib ( D ) ) } return a && ( e = c ( d , h , h , v ) ) , e } ,
a , b , m ) } function f ( d , a , b , c ) { var m , e ; return m = d . $watch ( function ( d ) { return c ( d ) } , function ( d , b , c ) { e = d ; J ( a ) && a . apply ( this , arguments ) ; E ( d ) && c . $$postDigest ( function ( ) { E ( e ) && m ( ) } ) } , b ) } function l ( d , b , c , m ) { function e ( d ) { var b = ! 0 ; return a ( d , function ( d ) { E ( d ) || ( b = ! 1 ) } ) , b } var g , k ; return g = d . $watch ( function ( d ) { return m ( d ) } , function ( d , a , c ) { k = d ; J ( b ) && b . call ( this , d , a , c ) ; e ( d ) && c . $$postDigest ( function ( ) { e ( k ) && g ( ) } ) } , c ) } function v ( d , a , b , c ) { var m ; return m = d . $watch ( function ( d ) { return c ( d ) } , function ( d , b , c ) { J ( a ) && a . apply ( this ,
arguments ) ; m ( ) } , b ) } function n ( d , a ) { if ( ! a ) return d ; var b = d . $$watchDelegate , c = ! 1 , b = b !== l && b !== f ? function ( b , m , e , g ) { return e = c && g ? g [ 0 ] : d ( b , m , e , g ) , a ( e , b , m ) } : function ( b , c , m , e ) { return m = d ( b , c , m , e ) , b = a ( m , b , c ) , E ( m ) ? b : m } ; return d . $$watchDelegate && d . $$watchDelegate !== k ? b . $$watchDelegate = d . $$watchDelegate : a . $stateful || ( b . $$watchDelegate = k , c = ! d . inputs , b . inputs = d . inputs ? d . inputs : [ d ] ) , b } var t = Ub ( ) . noUnsafeEval , r = { csp : t , expensiveChecks : ! 1 } , q = { csp : t , expensiveChecks : ! 0 } , Y = ! 1 ; return m . $$runningExpensiveChecks = function ( ) { return Y } ,
m } ] } function Qe ( ) { this . $get = [ "$rootScope" , "$exceptionHandler" , function ( d , a ) { return pf ( function ( a ) { d . $evalAsync ( a ) } , a ) } ] } function Re ( ) { this . $get = [ "$browser" , "$exceptionHandler" , function ( d , a ) { return pf ( function ( a ) { d . defer ( a ) } , a ) } ] } function pf ( d , b ) { function c ( d , a , b ) { function c ( a ) { return function ( b ) { m || ( m = ! 0 , a . call ( d , b ) ) } } var m = ! 1 ; return [ c ( a ) , c ( b ) ] } function m ( ) { this . $$state = { status : 0 } } function e ( d , a ) { return function ( b ) { a . call ( d , b ) } } function g ( a ) { ! a . processScheduled && a . pending && ( a . processScheduled = ! 0 ,
d ( function ( ) { var d , c , m ; m = a . pending ; a . processScheduled = ! 1 ; a . pending = h ; for ( var e = 0 , g = m . length ; e < g ; ++ e ) { c = m [ e ] [ 0 ] ; d = m [ e ] [ a . status ] ; try { J ( d ) ? c . resolve ( d ( a . value ) ) : 1 === a . status ? c . resolve ( a . value ) : c . reject ( a . value ) } catch ( Ac ) { c . reject ( Ac ) , b ( Ac ) } } } ) ) } function k ( ) { this . promise = new m ; this . resolve = e ( this , this . resolve ) ; this . reject = e ( this , this . reject ) ; this . notify = e ( this , this . notify ) } var f = l ( "$q" , TypeError ) ; n ( m . prototype , { then : function ( d , a , b ) { if ( B ( d ) && B ( a ) && B ( b ) ) return this ; var c = new k ; return this . $$state . pending =
this . $$state . pending || [ ] , this . $$state . pending . push ( [ c , d , a , b ] ) , 0 < this . $$state . status && g ( this . $$state ) , c . promise } , "catch" : function ( d ) { return this . then ( null , d ) } , "finally" : function ( d , a ) { return this . then ( function ( a ) { return t ( a , ! 0 , d ) } , function ( a ) { return t ( a , ! 1 , d ) } , a ) } } ) ; n ( k . prototype , { resolve : function ( d ) { this . promise . $$state . status || ( d === this . promise ? this . $$reject ( f ( "qcycle" , d ) ) : this . $$resolve ( d ) ) } , $$resolve : function ( d ) { var a , m ; m = c ( this , this . $$resolve , this . $$reject ) ; try { ( q ( d ) || J ( d ) ) && ( a = d && d . then ) , J ( a ) ?
( this . promise . $$state . status = - 1 , a . call ( d , m [ 0 ] , m [ 1 ] , this . notify ) ) : ( this . promise . $$state . value = d , this . promise . $$state . status = 1 , g ( this . promise . $$state ) ) } catch ( zc ) { m [ 1 ] ( zc ) , b ( zc ) } } , reject : function ( d ) { this . promise . $$state . status || this . $$reject ( d ) } , $$reject : function ( d ) { this . promise . $$state . value = d ; this . promise . $$state . status = 2 ; g ( this . promise . $$state ) } , notify : function ( a ) { var c = this . promise . $$state . pending ; 0 >= this . promise . $$state . status && c && c . length && d ( function ( ) { for ( var d , m , e = 0 , g = c . length ; e < g ; e ++ ) { m = c [ e ] [ 0 ] ;
d = c [ e ] [ 3 ] ; try { m . notify ( J ( d ) ? d ( a ) : a ) } catch ( Ac ) { b ( Ac ) } } } ) } } ) ; var v = function ( d , a ) { var b = new k ; return a ? b . resolve ( d ) : b . reject ( d ) , b . promise } , t = function ( d , a , b ) { var c = null ; try { J ( b ) && ( c = b ( ) ) } catch ( bd ) { return v ( bd , ! 1 ) } return c && J ( c . then ) ? c . then ( function ( ) { return v ( d , a ) } , function ( d ) { return v ( d , ! 1 ) } ) : v ( d , a ) } , u = function ( d , a , b , c ) { var m = new k ; return m . resolve ( d ) , m . promise . then ( a , b , c ) } , r = function cd ( d ) { if ( ! J ( d ) ) throw f ( "norslvr" , d ) ; if ( ! ( this instanceof cd ) ) return new cd ( d ) ; var a = new k ; return d ( function ( d ) { a . resolve ( d ) } ,
function ( d ) { a . reject ( d ) } ) , a . promise } ; return r . defer = function ( ) { return new k } , r . reject = function ( d ) { var a = new k ; return a . reject ( d ) , a . promise } , r . when = u , r . resolve = u , r . all = function ( d ) { var b = new k , c = 0 , m = pa ( d ) ? [ ] : { } ; return a ( d , function ( d , a ) { c ++ ; u ( d ) . then ( function ( d ) { m . hasOwnProperty ( a ) || ( m [ a ] = d , -- c || b . resolve ( m ) ) } , function ( d ) { m . hasOwnProperty ( a ) || b . reject ( d ) } ) } ) , 0 === c && b . resolve ( m ) , b . promise } , r } function Md ( ) { this . $get = [ "$window" , "$timeout" , function ( d , a ) { var b = d . requestAnimationFrame || d . webkitRequestAnimationFrame ,
c = d . cancelAnimationFrame || d . webkitCancelAnimationFrame || d . webkitCancelRequestAnimationFrame , m = ! ! b , e = m ? function ( d ) { var a = b ( d ) ; return function ( ) { c ( a ) } } : function ( d ) { var b = a ( d , 16.66 , ! 1 ) ; return function ( ) { a . cancel ( b ) } } ; return e . supported = m , e } ] } function Ld ( ) { function d ( d ) { function a ( ) { this . $$watchers = this . $$nextSibling = this . $$childHead = this . $$childTail = null ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $$watchersCount = 0 ; this . $id = ++ xc ; this . $$ChildScope = null } return a . prototype = d , a } var b = 10 , e = l ( "$rootScope" ) ,
g = null , k = null ; this . digestTtl = function ( d ) { return arguments . length && ( b = d ) , b } ; this . $get = [ "$injector" , "$exceptionHandler" , "$parse" , "$browser" , function ( m , f , h , l ) { function v ( d ) { d . currentScope . $$destroyed = ! 0 } function F ( d ) { 9 === kc && ( d . $$childHead && F ( d . $$childHead ) , d . $$nextSibling && F ( d . $$nextSibling ) ) ; d . $parent = d . $$nextSibling = d . $$prevSibling = d . $$childHead = d . $$childTail = d . $root = d . $$watchers = null } function n ( ) { this . $id = ++ xc ; this . $$phase = this . $parent = this . $$watchers = this . $$nextSibling = this . $$prevSibling = this . $$childHead =
this . $$childTail = null ; this . $root = this ; this . $$destroyed = ! 1 ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $$watchersCount = 0 ; this . $$isolateBindings = null } function t ( d ) { if ( na . $$phase ) throw e ( "inprog" , na . $$phase ) ; na . $$phase = d } function r ( d , a ) { do d . $$watchersCount += a ; while ( d = d . $parent ) } function Y ( d , a , b ) { do d . $$listenerCount [ b ] -= a , 0 === d . $$listenerCount [ b ] && delete d . $$listenerCount [ b ] ; while ( d = d . $parent ) } function y ( ) { } function ia ( ) { for ( ; w . length ; ) try { w . shift ( ) ( ) } catch ( Lc ) { f ( Lc ) } k = null } function ja ( ) { null ===
k && ( k = l . defer ( function ( ) { na . $apply ( ia ) } ) ) } n . prototype = { constructor : n , $new : function ( a , b ) { var c ; return b = b || this , a ? ( c = new n , c . $root = this . $root ) : ( this . $$ChildScope || ( this . $$ChildScope = d ( this ) ) , c = new this . $$ChildScope ) , c . $parent = b , c . $$prevSibling = b . $$childTail , b . $$childHead ? ( b . $$childTail . $$nextSibling = c , b . $$childTail = c ) : b . $$childHead = b . $$childTail = c , ( a || b != this ) && c . $on ( "$destroy" , v ) , c } , $watch : function ( d , a , b , c ) { var x = h ( d ) ; if ( x . $$watchDelegate ) return x . $$watchDelegate ( this , a , b , x , d ) ; var D = this , m = D . $$watchers ,
e = { fn : a , last : y , get : x , exp : c || d , eq : ! ! b } ; return g = null , J ( a ) || ( e . fn = u ) , m || ( m = D . $$watchers = [ ] ) , m . unshift ( e ) , r ( this , 1 ) , function ( ) { 0 <= K ( m , e ) && r ( D , - 1 ) ; g = null } } , $watchGroup : function ( d , b ) { function c ( ) { g = ! 1 ; k ? ( k = ! 1 , b ( x , x , e ) ) : b ( x , m , e ) } var m = Array ( d . length ) , x = Array ( d . length ) , D = [ ] , e = this , g = ! 1 , k = ! 0 ; if ( ! d . length ) { var f = ! 0 ; return e . $evalAsync ( function ( ) { f && b ( x , x , e ) } ) , function ( ) { f = ! 1 } } return 1 === d . length ? this . $watch ( d [ 0 ] , function ( d , a , D ) { x [ 0 ] = d ; m [ 0 ] = a ; b ( x , d === a ? x : m , D ) } ) : ( a ( d , function ( d , a ) { var b = e . $watch ( d , function ( d ,
b ) { x [ a ] = d ; m [ a ] = b ; g || ( g = ! 0 , e . $evalAsync ( c ) ) } ) ; D . push ( b ) } ) , function ( ) { for ( ; D . length ; ) D . shift ( ) ( ) } ) } , $watchCollection : function ( d , a ) { function b ( d ) { m = d ; var a , b , D , e ; if ( ! B ( m ) ) { if ( q ( m ) ) if ( c ( m ) ) for ( x !== l && ( x = l , n = x . length = 0 , k ++ ) , d = m . length , n !== d && ( k ++ , x . length = n = d ) , a = 0 ; a < d ; a ++ ) e = x [ a ] , D = m [ a ] , ( b = e !== e && D !== D ) || e === D || ( k ++ , x [ a ] = D ) ; else { x !== v && ( x = v = { } , n = 0 , k ++ ) ; d = 0 ; for ( a in m ) sb . call ( m , a ) && ( d ++ , D = m [ a ] , e = x [ a ] , a in x ? ( b = e !== e && D !== D , b || e === D || ( k ++ , x [ a ] = D ) ) : ( n ++ , x [ a ] = D , k ++ ) ) ; if ( n > d ) for ( a in k ++ , x ) sb . call ( m , a ) || ( n -- ,
delete x [ a ] ) } else x !== m && ( x = m , k ++ ) ; return k } } b . $stateful = ! 0 ; var m , x , D , e = this , g = 1 < a . length , k = 0 , f = h ( d , b ) , l = [ ] , v = { } , F = ! 0 , n = 0 ; return this . $watch ( f , function ( ) { if ( F ? ( F = ! 1 , a ( m , m , e ) ) : a ( m , D , e ) , g ) if ( q ( m ) ) if ( c ( m ) ) { D = Array ( m . length ) ; for ( var d = 0 ; d < m . length ; d ++ ) D [ d ] = m [ d ] } else for ( d in D = { } , m ) sb . call ( m , d ) && ( D [ d ] = m [ d ] ) ; else D = m } ) } , $digest : function ( ) { var d , a , c , m , x , D , L , h , v , F , n , u = b , r = [ ] ; t ( "$digest" ) ; l . $$checkUrlChange ( ) ; this === na && null !== k && ( l . defer . cancel ( k ) , ia ( ) ) ; g = null ; do { h = ! 1 ; for ( v = this ; z . length ; ) { try { n = z . shift ( ) ,
n . scope . $eval ( n . expression , n . locals ) } catch ( Ud ) { f ( Ud ) } g = null } a : do { if ( D = v . $$watchers ) for ( L = D . length ; L -- ; ) try { if ( d = D [ L ] ) if ( x = d . get , ( a = x ( v ) ) === ( c = d . last ) || ( d . eq ? W ( a , c ) : "number" == typeof a && "number" == typeof c && isNaN ( a ) && isNaN ( c ) ) ) { if ( d === g ) { h = ! 1 ; break a } } else h = ! 0 , g = d , d . last = d . eq ? S ( a , null ) : a , m = d . fn , m ( a , c === y ? a : c , v ) , 5 > u && ( F = 4 - u , r [ F ] || ( r [ F ] = [ ] ) , r [ F ] . push ( { msg : J ( d . exp ) ? "fn: " + ( d . exp . name || d . exp . toString ( ) ) : d . exp , newVal : a , oldVal : c } ) ) } catch ( Ud ) { f ( Ud ) } if ( ! ( D = v . $$watchersCount && v . $$childHead || v !== this && v . $$nextSibling ) ) for ( ; v !==
this && ! ( D = v . $$nextSibling ) ; ) v = v . $parent } while ( v = D ) ; if ( ( h || z . length ) && ! u -- ) throw na . $$phase = null , e ( "infdig" , b , r ) ; } while ( h || z . length ) ; for ( na . $$phase = null ; p . length ; ) try { p . shift ( ) ( ) } catch ( Ud ) { f ( Ud ) } } , $destroy : function ( ) { if ( ! this . $$destroyed ) { var d = this . $parent ; this . $broadcast ( "$destroy" ) ; this . $$destroyed = ! 0 ; this === na && l . $$applicationDestroyed ( ) ; r ( this , - this . $$watchersCount ) ; for ( var a in this . $$listenerCount ) Y ( this , this . $$listenerCount [ a ] , a ) ; d && d . $$childHead == this && ( d . $$childHead = this . $$nextSibling ) ; d &&
d . $$childTail == this && ( d . $$childTail = this . $$prevSibling ) ; this . $$prevSibling && ( this . $$prevSibling . $$nextSibling = this . $$nextSibling ) ; this . $$nextSibling && ( this . $$nextSibling . $$prevSibling = this . $$prevSibling ) ; this . $destroy = this . $digest = this . $apply = this . $evalAsync = this . $applyAsync = u ; this . $on = this . $watch = this . $watchGroup = function ( ) { return u } ; this . $$listeners = { } ; this . $$nextSibling = null ; F ( this ) } } , $eval : function ( d , a ) { return h ( d ) ( this , a ) } , $evalAsync : function ( d , a ) { na . $$phase || z . length || l . defer ( function ( ) { z . length &&
na . $digest ( ) } ) ; z . push ( { scope : this , expression : h ( d ) , locals : a } ) } , $$postDigest : function ( d ) { p . push ( d ) } , $apply : function ( d ) { try { t ( "$apply" ) ; try { return this . $eval ( d ) } finally { na . $$phase = null } } catch ( od ) { f ( od ) } finally { try { na . $digest ( ) } catch ( od ) { throw f ( od ) , od ; } } } , $applyAsync : function ( d ) { function a ( ) { b . $eval ( d ) } var b = this ; d && w . push ( a ) ; d = h ( d ) ; ja ( ) } , $on : function ( d , a ) { var b = this . $$listeners [ d ] ; b || ( this . $$listeners [ d ] = b = [ ] ) ; b . push ( a ) ; var c = this ; do c . $$listenerCount [ d ] || ( c . $$listenerCount [ d ] = 0 ) , c . $$listenerCount [ d ] ++ ;
while ( c = c . $parent ) ; var x = this ; return function ( ) { var D = b . indexOf ( a ) ; - 1 !== D && ( b [ D ] = null , Y ( x , 1 , d ) ) } } , $emit : function ( d , a ) { var b , c , x , D = [ ] , m = this , e = ! 1 , g = { name : d , targetScope : m , stopPropagation : function ( ) { e = ! 0 } , preventDefault : function ( ) { g . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } , k = P ( [ g ] , arguments , 1 ) ; do { b = m . $$listeners [ d ] || D ; g . currentScope = m ; c = 0 ; for ( x = b . length ; c < x ; c ++ ) if ( b [ c ] ) try { b [ c ] . apply ( null , k ) } catch ( Ig ) { f ( Ig ) } else b . splice ( c , 1 ) , c -- , x -- ; if ( e ) break ; m = m . $parent } while ( m ) ; return g . currentScope = null , g } , $broadcast : function ( d ,
a ) { var b = this , c = this , x = { name : d , targetScope : this , preventDefault : function ( ) { x . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } ; if ( ! this . $$listenerCount [ d ] ) return x ; for ( var D , m , e = P ( [ x ] , arguments , 1 ) ; b = c ; ) { x . currentScope = b ; c = b . $$listeners [ d ] || [ ] ; D = 0 ; for ( m = c . length ; D < m ; D ++ ) if ( c [ D ] ) try { c [ D ] . apply ( null , e ) } catch ( yb ) { f ( yb ) } else c . splice ( D , 1 ) , D -- , m -- ; if ( ! ( c = b . $$listenerCount [ d ] && b . $$childHead || b !== this && b . $$nextSibling ) ) for ( ; b !== this && ! ( c = b . $$nextSibling ) ; ) b = b . $parent } return x . currentScope = null , x } } ; var na = new n , z =
na . $$asyncQueue = [ ] , p = na . $$postDigestQueue = [ ] , w = na . $$applyAsyncQueue = [ ] ; return na } ] } function dd ( ) { var d = /^\s*(https?|ftp|mailto|tel|file):/ , a = /^\s*((https?|ftp|file|blob):|data:image\/)/ ; this . aHrefSanitizationWhitelist = function ( a ) { return E ( a ) ? ( d = a , this ) : d } ; this . imgSrcSanitizationWhitelist = function ( d ) { return E ( d ) ? ( a = d , this ) : a } ; this . $get = function ( ) { return function ( b , c ) { var m , e = c ? a : d ; return m = Nb ( b ) . href , "" === m || m . match ( e ) ? b : "unsafe:" + m } } } function qf ( d ) { if ( "self" === d ) return d ; if ( p ( d ) ) { if ( - 1 < d . indexOf ( "***" ) ) throw ac ( "iwcard" ,
d ) ; return d = tc ( d ) . replace ( "\\*\\*" , ".*" ) . replace ( "\\*" , "[^:/.?&;]*" ) , new RegExp ( "^" + d + "$" ) } if ( G ( d ) ) return new RegExp ( "^" + d . source + "$" ) ; throw ac ( "imatcher" ) ; } function ud ( d ) { var b = [ ] ; return E ( d ) && a ( d , function ( d ) { b . push ( qf ( d ) ) } ) , b } function Se ( ) { this . SCE _CONTEXTS = zb ; var d = [ "self" ] , a = [ ] ; this . resourceUrlWhitelist = function ( a ) { return arguments . length && ( d = ud ( a ) ) , d } ; this . resourceUrlBlacklist = function ( d ) { return arguments . length && ( a = ud ( d ) ) , a } ; this . $get = [ "$injector" , function ( b ) { function c ( d , a ) { return "self" ===
d ? Xd ( a ) : ! ! d . exec ( a . href ) } function m ( d ) { var a = function ( d ) { this . $$unwrapTrustedValue = function ( ) { return d } } ; return d && ( a . prototype = new d ) , a . prototype . valueOf = function ( ) { return this . $$unwrapTrustedValue ( ) } , a . prototype . toString = function ( ) { return this . $$unwrapTrustedValue ( ) . toString ( ) } , a } var e = function ( d ) { throw ac ( "unsafe" ) ; } ; b . has ( "$sanitize" ) && ( e = b . get ( "$sanitize" ) ) ; var g = m ( ) , k = { } ; return k [ zb . HTML ] = m ( g ) , k [ zb . CSS ] = m ( g ) , k [ zb . URL ] = m ( g ) , k [ zb . JS ] = m ( g ) , k [ zb . RESOURCE _URL ] = m ( k [ zb . URL ] ) , { trustAs : function ( d , a ) { var b =
k . hasOwnProperty ( d ) ? k [ d ] : null ; if ( ! b ) throw ac ( "icontext" , d , a ) ; if ( null === a || B ( a ) || "" === a ) return a ; if ( "string" != typeof a ) throw ac ( "itype" , d ) ; return new b ( a ) } , getTrusted : function ( b , m ) { if ( null === m || B ( m ) || "" === m ) return m ; var g = k . hasOwnProperty ( b ) ? k [ b ] : null ; if ( g && m instanceof g ) return m . $$unwrapTrustedValue ( ) ; if ( b === zb . RESOURCE _URL ) { var f , h , g = Nb ( m . toString ( ) ) , l = ! 1 ; f = 0 ; for ( h = d . length ; f < h ; f ++ ) if ( c ( d [ f ] , g ) ) { l = ! 0 ; break } if ( l ) for ( f = 0 , h = a . length ; f < h ; f ++ ) if ( c ( a [ f ] , g ) ) { l = ! 1 ; break } if ( l ) return m ; throw ac ( "insecurl" ,
m . toString ( ) ) ; } if ( b === zb . HTML ) return e ( m ) ; throw ac ( "unsafe" ) ; } , valueOf : function ( d ) { return d instanceof g ? d . $$unwrapTrustedValue ( ) : d } } } ] } function mb ( ) { var d = ! 0 ; this . enabled = function ( a ) { return arguments . length && ( d = ! ! a ) , d } ; this . $get = [ "$parse" , "$sceDelegate" , function ( b , c ) { if ( d && 8 > kc ) throw ac ( "iequirks" ) ; var m = ka ( zb ) ; m . isEnabled = function ( ) { return d } ; m . trustAs = c . trustAs ; m . getTrusted = c . getTrusted ; m . valueOf = c . valueOf ; d || ( m . trustAs = m . getTrusted = function ( d , a ) { return a } , m . valueOf = w ) ; m . parseAs = function ( d , a ) { var c =
b ( a ) ; return c . literal && c . constant ? c : b ( a , function ( a ) { return m . getTrusted ( d , a ) } ) } ; var e = m . parseAs , g = m . getTrusted , k = m . trustAs ; return a ( zb , function ( d , a ) { var b = xa ( a ) ; m [ qc ( "parse_as_" + b ) ] = function ( a ) { return e ( d , a ) } ; m [ qc ( "get_trusted_" + b ) ] = function ( a ) { return g ( d , a ) } ; m [ qc ( "trust_as_" + b ) ] = function ( a ) { return k ( d , a ) } } ) , m } ] } function Te ( ) { this . $get = [ "$window" , "$document" , function ( d , a ) { var b , c = { } , m = parseInt ( ( /android (\d+)/ . exec ( xa ( ( d . navigator || { } ) . userAgent ) ) || [ ] ) [ 1 ] , 10 ) , e = /Boxee/i . test ( ( d . navigator || { } ) . userAgent ) ,
g = a [ 0 ] || { } , k = /^(Moz|webkit|ms)(?=[A-Z])/ , f = g . body && g . body . style , h = ! 1 , l = ! 1 ; if ( f ) { for ( var v in f ) if ( h = k . exec ( v ) ) { b = h [ 0 ] ; b = b . substr ( 0 , 1 ) . toUpperCase ( ) + b . substr ( 1 ) ; break } b || ( b = "WebkitOpacity" in f && "webkit" ) ; h = ! ! ( "transition" in f || b + "Transition" in f ) ; l = ! ! ( "animation" in f || b + "Animation" in f ) ; ! m || h && l || ( h = p ( f . webkitTransition ) , l = p ( f . webkitAnimation ) ) } return { history : ! ( ! d . history || ! d . history . pushState || 4 > m || e ) , hasEvent : function ( d ) { if ( "input" === d && 11 >= kc ) return ! 1 ; if ( B ( c [ d ] ) ) { var a = g . createElement ( "div" ) ; c [ d ] =
"on" + d in a } return c [ d ] } , csp : Ub ( ) , vendorPrefix : b , transitions : h , animations : l , android : m } } ] } function Ue ( ) { this . $get = [ "$templateCache" , "$http" , "$q" , "$sce" , function ( d , a , b , c ) { function m ( e , g ) { m . totalPendingRequests ++ ; p ( e ) && ! B ( d . get ( e ) ) || ( e = c . getTrustedResourceUrl ( e ) ) ; var k = a . defaults && a . defaults . transformResponse ; return pa ( k ) ? k = k . filter ( function ( d ) { return d !== nb } ) : k === nb && ( k = null ) , a . get ( e , { cache : d , transformResponse : k } ) [ "finally" ] ( function ( ) { m . totalPendingRequests -- } ) . then ( function ( a ) { return d . put ( e , a . data ) ,
a . data } , function ( d ) { if ( ! g ) throw ab ( "tpload" , e , d . status , d . statusText ) ; return b . reject ( d ) } ) } return m . totalPendingRequests = 0 , m } ] } function Ve ( ) { this . $get = [ "$rootScope" , "$browser" , "$location" , function ( d , b , c ) { return { findBindings : function ( d , b , c ) { d = d . getElementsByClassName ( "ng-binding" ) ; var m = [ ] ; return a ( d , function ( d ) { var e = Na . element ( d ) . data ( "$binding" ) ; e && a ( e , function ( a ) { c ? ( new RegExp ( "(^|\\s)" + tc ( b ) + "(\\s|\\||$)" ) ) . test ( a ) && m . push ( d ) : - 1 != a . indexOf ( b ) && m . push ( d ) } ) } ) , m } , findModels : function ( d , a , b ) { for ( var c =
[ "ng-" , "data-ng-" , "ng\\:" ] , m = 0 ; m < c . length ; ++ m ) { var e = d . querySelectorAll ( "[" + c [ m ] + "model" + ( b ? "=" : "*=" ) + '"' + a + '"]' ) ; if ( e . length ) return e } } , getLocation : function ( ) { return c . url ( ) } , setLocation : function ( a ) { a !== c . url ( ) && ( c . url ( a ) , d . $digest ( ) ) } , whenStable : function ( d ) { b . notifyWhenNoOutstandingRequests ( d ) } } } ] } function id ( ) { this . $get = [ "$rootScope" , "$browser" , "$q" , "$$q" , "$exceptionHandler" , function ( d , a , b , c , e ) { function m ( m , k , f ) { J ( m ) || ( f = k , k = m , m = u ) ; var h , l = Cb . call ( arguments , 3 ) , v = E ( f ) && ! f , n = ( v ? c : b ) . defer ( ) , t = n . promise ;
return h = a . defer ( function ( ) { try { n . resolve ( m . apply ( null , l ) ) } catch ( zc ) { n . reject ( zc ) , e ( zc ) } finally { delete g [ t . $$timeoutId ] } v || d . $apply ( ) } , k ) , t . $$timeoutId = h , g [ h ] = n , t } var g = { } ; return m . cancel = function ( d ) { return ! ! ( d && d . $$timeoutId in g ) && ( g [ d . $$timeoutId ] . reject ( "canceled" ) , delete g [ d . $$timeoutId ] , a . defer . cancel ( d . $$timeoutId ) ) } , m } ] } function Nb ( d ) { return kc && ( Ra . setAttribute ( "href" , d ) , d = Ra . href ) , Ra . setAttribute ( "href" , d ) , { href : Ra . href , protocol : Ra . protocol ? Ra . protocol . replace ( /:$/ , "" ) : "" , host : Ra . host , search : Ra . search ?
Ra . search . replace ( /^\?/ , "" ) : "" , hash : Ra . hash ? Ra . hash . replace ( /^#/ , "" ) : "" , hostname : Ra . hostname , port : Ra . port , pathname : "/" === Ra . pathname . charAt ( 0 ) ? Ra . pathname : "/" + Ra . pathname } } function Xd ( d ) { return d = p ( d ) ? Nb ( d ) : d , d . protocol === rf . protocol && d . host === rf . host } function We ( ) { this . $get = A ( b ) } function sf ( d ) { function a ( d ) { try { return decodeURIComponent ( d ) } catch ( na ) { return d } } var b = d [ 0 ] || { } , c = { } , e = "" ; return function ( ) { var d , m , g , k , f ; if ( d = b . cookie || "" , d !== e ) for ( e = d , d = e . split ( "; " ) , c = { } , g = 0 ; g < d . length ; g ++ ) m = d [ g ] , k =
m . indexOf ( "=" ) , 0 < k && ( f = a ( m . substring ( 0 , k ) ) , B ( c [ f ] ) && ( c [ f ] = a ( m . substring ( k + 1 ) ) ) ) ; return c } } function jd ( ) { this . $get = sf } function Ec ( d ) { function b ( c , m ) { if ( q ( c ) ) { var e = { } ; return a ( c , function ( d , a ) { e [ a ] = b ( a , d ) } ) , e } return d . factory ( c + "Filter" , m ) } this . register = b ; this . $get = [ "$injector" , function ( d ) { return function ( a ) { return d . get ( a + "Filter" ) } } ] ; b ( "currency" , fe ) ; b ( "date" , ge ) ; b ( "filter" , tf ) ; b ( "json" , Lg ) ; b ( "limitTo" , he ) ; b ( "lowercase" , uf ) ; b ( "number" , ie ) ; b ( "orderBy" , je ) ; b ( "uppercase" , vd ) } function tf ( ) { return function ( d ,
a , b ) { if ( ! c ( d ) ) { if ( null == d ) return d ; throw l ( "filter" ) ( "notarray" , d ) ; } var m ; switch ( wd ( a ) ) { case "function" : break ; case "boolean" : case "null" : case "number" : case "string" : m = ! 0 ; case "object" : a = vf ( a , b , m ) ; break ; default : return d } return Array . prototype . filter . call ( d , a ) } } function vf ( d , a , b ) { var c = q ( d ) && "$" in d ; return ! 0 === a ? a = W : J ( a ) || ( a = function ( d , a ) { return ! B ( d ) && ( null === d || null === a ? d === a : ! ( q ( a ) || q ( d ) && ! z ( d ) ) && ( d = xa ( "" + d ) , a = xa ( "" + a ) , - 1 !== d . indexOf ( a ) ) ) } ) , function ( m ) { return c && ! q ( m ) ? bc ( m , d . $ , a , ! 1 ) : bc ( m , d , a , b ) } }
function bc ( d , a , b , c , e ) { var m = wd ( d ) , g = wd ( a ) ; if ( "string" === g && "!" === a . charAt ( 0 ) ) return ! bc ( d , a . substring ( 1 ) , b , c ) ; if ( pa ( d ) ) return d . some ( function ( d ) { return bc ( d , a , b , c ) } ) ; switch ( m ) { case "object" : var k ; if ( c ) { for ( k in d ) if ( "$" !== k . charAt ( 0 ) && bc ( d [ k ] , a , b , ! 0 ) ) return ! 0 ; return ! e && bc ( d , a , b , ! 1 ) } if ( "object" === g ) { for ( k in a ) if ( e = a [ k ] , ! J ( e ) && ! B ( e ) && ( m = "$" === k , ! bc ( m ? d : d [ k ] , e , b , m , m ) ) ) return ! 1 ; return ! 0 } return b ( d , a ) ; case "function" : return ! 1 ; default : return b ( d , a ) } } function wd ( d ) { return null === d ? "null" : typeof d } function fe ( d ) { var a =
d . NUMBER _FORMATS ; return function ( d , b , c ) { return B ( b ) && ( b = a . CURRENCY _SYM ) , B ( c ) && ( c = a . PATTERNS [ 1 ] . maxFrac ) , null == d ? d : ke ( d , a . PATTERNS [ 1 ] , a . GROUP _SEP , a . DECIMAL _SEP , c ) . replace ( /\u00A4/g , b ) } } function ie ( d ) { var a = d . NUMBER _FORMATS ; return function ( d , b ) { return null == d ? d : ke ( d , a . PATTERNS [ 0 ] , a . GROUP _SEP , a . DECIMAL _SEP , b ) } } function wf ( d ) { var a , b , c , e , g , k = 0 ; - 1 < ( b = d . indexOf ( xf ) ) && ( d = d . replace ( xf , "" ) ) ; 0 < ( c = d . search ( /e/i ) ) ? ( 0 > b && ( b = c ) , b += + d . slice ( c + 1 ) , d = d . substring ( 0 , c ) ) : 0 > b && ( b = d . length ) ; for ( c = 0 ; d . charAt ( c ) == uc ; c ++ ) ;
if ( c == ( g = d . length ) ) a = [ 0 ] , b = 1 ; else { for ( g -- ; d . charAt ( g ) == uc ; ) g -- ; b -= c ; a = [ ] ; for ( e = 0 ; c <= g ; c ++ , e ++ ) a [ e ] = + d . charAt ( c ) } return b > yf && ( a = a . splice ( 0 , yf - 1 ) , k = b - 1 , b = 1 ) , { d : a , e : k , i : b } } function zf ( d , a , b , c ) { var e = d . d , m = e . length - d . i ; if ( a = B ( a ) ? Math . min ( Math . max ( b , m ) , c ) : + a , b = a + d . i , c = e [ b ] , 0 < b ) e . splice ( b ) ; else { d . i = 1 ; e . length = b = a + 1 ; for ( var g = 0 ; g < b ; g ++ ) e [ g ] = 0 } for ( 5 <= c && e [ b - 1 ] ++ ; m < a ; m ++ ) e . push ( 0 ) ; ( a = e . reduceRight ( function ( d , a , b , c ) { return a += d , c [ b ] = a % 10 , Math . floor ( a / 10 ) } , 0 ) ) && ( e . unshift ( a ) , d . i ++ ) } function ke ( d , a , b , c , e ) { if ( ! p ( d ) &&
! I ( d ) || isNaN ( d ) ) return "" ; var m = ! isFinite ( d ) , g = ! 1 , k = Math . abs ( d ) + "" , f = "" ; if ( m ) f = "\u221e" ; else { g = wf ( k ) ; zf ( g , e , a . minFrac , a . maxFrac ) ; f = g . d ; k = g . i ; e = g . e ; m = [ ] ; for ( g = f . reduce ( function ( d , a ) { return d && ! a } , ! 0 ) ; 0 > k ; ) f . unshift ( 0 ) , k ++ ; 0 < k ? m = f . splice ( k , f . length ) : ( m = f , f = [ 0 ] ) ; k = [ ] ; for ( f . length >= a . lgSize && k . unshift ( f . splice ( - a . lgSize , f . length ) . join ( "" ) ) ; f . length > a . gSize ; ) k . unshift ( f . splice ( - a . gSize , f . length ) . join ( "" ) ) ; f . length && k . unshift ( f . join ( "" ) ) ; f = k . join ( b ) ; m . length && ( f += c + m . join ( "" ) ) ; e && ( f += "e+" + e ) } return 0 > d &&
! g ? a . negPre + f + a . negSuf : a . posPre + f + a . posSuf } function Sc ( d , a , b ) { var c = "" ; 0 > d && ( c = "-" , d = - d ) ; for ( d = "" + d ; d . length < a ; ) d = uc + d ; return b && ( d = d . substr ( d . length - a ) ) , c + d } function Za ( d , a , b , c ) { return b = b || 0 , function ( e ) { return e = e [ "get" + d ] ( ) , ( 0 < b || e > - b ) && ( e += b ) , 0 === e && - 12 == b && ( e = 12 ) , Sc ( e , a , c ) } } function Tc ( d , a ) { return function ( b , c ) { var e = b [ "get" + d ] ( ) , m = lb ( a ? "SHORT" + d : d ) ; return c [ m ] [ e ] } } function le ( d ) { var a = ( new Date ( d , 0 , 1 ) ) . getDay ( ) ; return new Date ( d , 0 , ( 4 >= a ? 5 : 12 ) - a ) } function me ( d ) { return function ( a ) { var b = le ( a . getFullYear ( ) ) ;
return a = + new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) + ( 4 - a . getDay ( ) ) ) - + b , a = 1 + Math . round ( a / 6048E5 ) , Sc ( a , d ) } } function Uc ( d , a ) { return 0 >= d . getFullYear ( ) ? a . ERAS [ 0 ] : a . ERAS [ 1 ] } function ge ( d ) { function b ( d ) { var a ; if ( a = d . match ( c ) ) { d = new Date ( 0 ) ; var b = 0 , e = 0 , m = a [ 8 ] ? d . setUTCFullYear : d . setFullYear , g = a [ 8 ] ? d . setUTCHours : d . setHours ; a [ 9 ] && ( b = parseInt ( a [ 9 ] + a [ 10 ] , 10 ) , e = parseInt ( a [ 9 ] + a [ 11 ] , 10 ) ) ; m . call ( d , parseInt ( a [ 1 ] , 10 ) , parseInt ( a [ 2 ] , 10 ) - 1 , parseInt ( a [ 3 ] , 10 ) ) ; b = parseInt ( a [ 4 ] || 0 , 10 ) - b ; e = parseInt ( a [ 5 ] || 0 , 10 ) - e ; m =
parseInt ( a [ 6 ] || 0 , 10 ) ; a = Math . round ( 1E3 * parseFloat ( "0." + ( a [ 7 ] || 0 ) ) ) ; g . call ( d , b , e , m , a ) } return d } var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/ ; return function ( c , e , m ) { var g , k , f = "" , h = [ ] ; if ( e = e || "mediumDate" , e = d . DATETIME _FORMATS [ e ] || e , p ( c ) && ( c = Af . test ( c ) ? parseInt ( c , 10 ) : b ( c ) ) , I ( c ) && ( c = new Date ( c ) ) , ! O ( c ) || ! isFinite ( c . getTime ( ) ) ) return c ; for ( ; e ; ) ( k = Bf . exec ( e ) ) ? ( h = P ( h , k , 1 ) , e = h . pop ( ) ) : ( h . push ( e ) , e = null ) ; var l = c . getTimezoneOffset ( ) ; return m && ( l = V ( m ,
l ) , c = ma ( c , m , ! 0 ) ) , a ( h , function ( a ) { g = xd [ a ] ; f += g ? g ( c , d . DATETIME _FORMATS , l ) : "''" === a ? "'" : a . replace ( /(^'|'$)/g , "" ) . replace ( /''/g , "'" ) } ) , f } } function Lg ( ) { return function ( d , a ) { return B ( a ) && ( a = 2 ) , qa ( d , a ) } } function he ( ) { return function ( d , a , b ) { return a = 1 / 0 === Math . abs ( Number ( a ) ) ? Number ( a ) : parseInt ( a , 10 ) , isNaN ( a ) ? d : ( I ( d ) && ( d = d . toString ( ) ) , pa ( d ) || p ( d ) ? ( b = ! b || isNaN ( b ) ? 0 : parseInt ( b , 10 ) , b = 0 > b ? Math . max ( 0 , d . length + b ) : b , 0 <= a ? d . slice ( b , b + a ) : 0 === b ? d . slice ( a , d . length ) : d . slice ( Math . max ( 0 , b + a ) , b ) ) : d ) } } function je ( d ) { function a ( a ,
b ) { return b = b ? - 1 : 1 , a . map ( function ( a ) { var c = 1 , e = w ; if ( J ( a ) ) e = a ; else if ( p ( a ) && ( "+" != a . charAt ( 0 ) && "-" != a . charAt ( 0 ) || ( c = "-" == a . charAt ( 0 ) ? - 1 : 1 , a = a . substring ( 1 ) ) , "" !== a && ( e = d ( a ) , e . constant ) ) ) var m = e ( ) , e = function ( d ) { return d [ m ] } ; return { get : e , descending : c * b } } ) } function b ( d ) { switch ( typeof d ) { case "number" : case "boolean" : case "string" : return ! 0 ; default : return ! 1 } } return function ( d , e , m ) { if ( ! c ( d ) ) return d ; pa ( e ) || ( e = [ e ] ) ; 0 === e . length && ( e = [ "+" ] ) ; var g = a ( e , m ) ; return g . push ( { get : function ( ) { return { } } , descending : m ? - 1 :
1 } ) , d = Array . prototype . map . call ( d , function ( d , a ) { return { value : d , predicateValues : g . map ( function ( c ) { var e = c . get ( d ) ; return c = typeof e , null === e ? ( c = "string" , e = "null" ) : "string" === c ? e = e . toLowerCase ( ) : "object" === c && ( "function" == typeof e . valueOf && ( e = e . valueOf ( ) , b ( e ) ) || z ( e ) && ( e = e . toString ( ) , b ( e ) ) || ( e = a ) ) , { value : e , type : c } } ) } } ) , d . sort ( function ( d , a ) { for ( var b = 0 , c = 0 , e = g . length ; c < e ; ++ c ) { var b = d . predicateValues [ c ] , m = a . predicateValues [ c ] , k = 0 ; if ( b . type === m . type ? b . value !== m . value && ( k = b . value < m . value ? - 1 : 1 ) : k = b . type < m . type ?
- 1 : 1 , b = k * g [ c ] . descending ) break } return b } ) , d = d . map ( function ( d ) { return d . value } ) } } function jb ( d ) { return J ( d ) && ( d = { link : d } ) , d . restrict = d . restrict || "AC" , A ( d ) } function Cf ( d , b , c , e , g ) { var m = this , k = [ ] ; m . $error = { } ; m . $$success = { } ; m . $pending = h ; m . $name = g ( b . name || b . ngForm || "" ) ( c ) ; m . $dirty = ! 1 ; m . $pristine = ! 0 ; m . $valid = ! 0 ; m . $invalid = ! 1 ; m . $submitted = ! 1 ; m . $$parentForm = yd ; m . $rollbackViewValue = function ( ) { a ( k , function ( d ) { d . $rollbackViewValue ( ) } ) } ; m . $commitViewValue = function ( ) { a ( k , function ( d ) { d . $commitViewValue ( ) } ) } ; m . $addControl =
function ( d ) { Sb ( d . $name , "input" ) ; k . push ( d ) ; d . $name && ( m [ d . $name ] = d ) ; d . $$parentForm = m } ; m . $$renameControl = function ( d , a ) { var b = d . $name ; m [ b ] === d && delete m [ b ] ; m [ a ] = d ; d . $name = a } ; m . $removeControl = function ( d ) { d . $name && m [ d . $name ] === d && delete m [ d . $name ] ; a ( m . $pending , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; a ( m . $error , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; a ( m . $$success , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; K ( k , d ) ; d . $$parentForm = yd } ; Df ( { ctrl : this , $element : d , set : function ( d , a , b ) { var c = d [ a ] ; c ? - 1 === c . indexOf ( b ) &&
c . push ( b ) : d [ a ] = [ b ] } , unset : function ( d , a , b ) { var c = d [ a ] ; c && ( K ( c , b ) , 0 === c . length && delete d [ a ] ) } , $animate : e } ) ; m . $setDirty = function ( ) { e . removeClass ( d , vc ) ; e . addClass ( d , zd ) ; m . $dirty = ! 0 ; m . $pristine = ! 1 ; m . $$parentForm . $setDirty ( ) } ; m . $setPristine = function ( ) { e . setClass ( d , vc , zd + " ng-submitted" ) ; m . $dirty = ! 1 ; m . $pristine = ! 0 ; m . $submitted = ! 1 ; a ( k , function ( d ) { d . $setPristine ( ) } ) } ; m . $setUntouched = function ( ) { a ( k , function ( d ) { d . $setUntouched ( ) } ) } ; m . $setSubmitted = function ( ) { e . addClass ( d , "ng-submitted" ) ; m . $submitted = ! 0 ; m . $$parentForm . $setSubmitted ( ) } }
function ne ( d ) { d . $formatters . push ( function ( a ) { return d . $isEmpty ( a ) ? a : a . toString ( ) } ) } function Vc ( d , a , b , c , e , g ) { var m = xa ( a [ 0 ] . type ) ; if ( ! e . android ) { var k = ! 1 ; a . on ( "compositionstart" , function ( d ) { k = ! 0 } ) ; a . on ( "compositionend" , function ( ) { k = ! 1 ; h ( ) } ) } var f , h = function ( d ) { if ( f && ( g . defer . cancel ( f ) , f = null ) , ! k ) { var e = a . val ( ) ; d = d && d . type ; "password" === m || b . ngTrim && "false" === b . ngTrim || ( e = Ga ( e ) ) ; ( c . $viewValue !== e || "" === e && c . $$hasNativeValidators ) && c . $setViewValue ( e , d ) } } ; if ( e . hasEvent ( "input" ) ) a . on ( "input" , h ) ; else { var l =
function ( d , a , b ) { f || ( f = g . defer ( function ( ) { f = null ; a && a . value === b || h ( d ) } ) ) } ; a . on ( "keydown" , function ( d ) { var a = d . keyCode ; 91 === a || 15 < a && 19 > a || 37 <= a && 40 >= a || l ( d , this , this . value ) } ) ; e . hasEvent ( "paste" ) && a . on ( "paste cut" , l ) } a . on ( "change" , h ) ; Wc [ m ] && c . $$hasNativeValidators && m === b . type && a . on ( "keydown wheel mousedown" , function ( d ) { if ( ! f ) { var a = this . validity , b = a . badInput , c = a . typeMismatch ; f = g . defer ( function ( ) { f = null ; a . badInput === b && a . typeMismatch === c || h ( d ) } ) } } ) ; c . $render = function ( ) { var d = c . $isEmpty ( c . $viewValue ) ?
"" : c . $viewValue ; a . val ( ) !== d && a . val ( d ) } } function Ca ( d , b ) { return function ( c , e ) { var m , g ; if ( O ( c ) ) return c ; if ( p ( c ) ) { if ( '"' == c . charAt ( 0 ) && '"' == c . charAt ( c . length - 1 ) && ( c = c . substring ( 1 , c . length - 1 ) ) , kb . test ( c ) ) return new Date ( c ) ; if ( d . lastIndex = 0 , m = d . exec ( c ) ) return m . shift ( ) , g = e ? { yyyy : e . getFullYear ( ) , MM : e . getMonth ( ) + 1 , dd : e . getDate ( ) , HH : e . getHours ( ) , mm : e . getMinutes ( ) , ss : e . getSeconds ( ) , sss : e . getMilliseconds ( ) / 1E3 } : { yyyy : 1970 , MM : 1 , dd : 1 , HH : 0 , mm : 0 , ss : 0 , sss : 0 } , a ( m , function ( d , a ) { a < b . length && ( g [ b [ a ] ] = + d ) } ) , new Date ( g . yyyy ,
g . MM - 1 , g . dd , g . HH , g . mm , g . ss || 0 , 1E3 * g . sss || 0 ) } return NaN } } function cc ( d , a , b , c ) { return function ( e , m , g , k , f , l , v ) { function n ( d ) { return d && ! ( d . getTime && d . getTime ( ) !== d . getTime ( ) ) } function t ( d ) { return E ( d ) && ! O ( d ) ? b ( d ) || h : d } mc ( e , m , g , k ) ; Vc ( e , m , g , k , f , l ) ; var u , r = k && k . $options && k . $options . timezone ; if ( k . $$parserName = d , k . $parsers . push ( function ( d ) { return k . $isEmpty ( d ) ? null : a . test ( d ) ? ( d = b ( d , u ) , r && ( d = ma ( d , r ) ) , d ) : h } ) , k . $formatters . push ( function ( d ) { if ( d && ! O ( d ) ) throw Xc ( "datefmt" , d ) ; return n ( d ) ? ( ( u = d ) && r && ( u = ma ( u , r , ! 0 ) ) ,
v ( "date" ) ( d , c , r ) ) : ( u = null , "" ) } ) , E ( g . min ) || g . ngMin ) { var F ; k . $validators . min = function ( d ) { return ! n ( d ) || B ( F ) || b ( d ) >= F } ; g . $observe ( "min" , function ( d ) { F = t ( d ) ; k . $validate ( ) } ) } if ( E ( g . max ) || g . ngMax ) { var q ; k . $validators . max = function ( d ) { return ! n ( d ) || B ( q ) || b ( d ) <= q } ; g . $observe ( "max" , function ( d ) { q = t ( d ) ; k . $validate ( ) } ) } } } function mc ( d , a , b , c ) { ( c . $$hasNativeValidators = q ( a [ 0 ] . validity ) ) && c . $parsers . push ( function ( d ) { var b = a . prop ( "validity" ) || { } ; return b . badInput && ! b . typeMismatch ? h : d } ) } function oe ( d , a , b , c , e ) { if ( E ( c ) ) { if ( d =
d ( c ) , ! d . constant ) throw Xc ( "constexpr" , b , c ) ; return d ( a ) } return e } function dc ( d , b ) { return d = "ngClass" + d , [ "$animate" , function ( c ) { function e ( d , a ) { var b = [ ] , c = 0 ; a : for ( ; c < d . length ; c ++ ) { for ( var e = d [ c ] , m = 0 ; m < a . length ; m ++ ) if ( e == a [ m ] ) continue a ; b . push ( e ) } return b } function m ( d ) { var b = [ ] ; return pa ( d ) ? ( a ( d , function ( d ) { b = b . concat ( m ( d ) ) } ) , b ) : p ( d ) ? d . split ( " " ) : q ( d ) ? ( a ( d , function ( d , a ) { d && ( b = b . concat ( a . split ( " " ) ) ) } ) , b ) : d } return { restrict : "AC" , link : function ( g , k , f ) { function h ( d ) { d = l ( d , 1 ) ; f . $addClass ( d ) } function l ( d , b ) { var c =
k . data ( "$classCounts" ) || Ma ( ) , e = [ ] ; return a ( d , function ( d ) { ( 0 < b || c [ d ] ) && ( c [ d ] = ( c [ d ] || 0 ) + b , c [ d ] === + ( 0 < b ) && e . push ( d ) ) } ) , k . data ( "$classCounts" , c ) , e . join ( " " ) } function v ( d , a ) { var b = e ( a , d ) , m = e ( d , a ) , b = l ( b , 1 ) , m = l ( m , - 1 ) ; b && b . length && c . addClass ( k , b ) ; m && m . length && c . removeClass ( k , m ) } function n ( d ) { if ( ! 0 === b || g . $index % 2 === b ) { var a = m ( d || [ ] ) ; if ( t ) { if ( ! W ( d , t ) ) { var c = m ( t ) ; v ( c , a ) } } else h ( a ) } t = pa ( d ) ? d . map ( function ( d ) { return ka ( d ) } ) : ka ( d ) } var t ; g . $watch ( f [ d ] , n , ! 0 ) ; f . $observe ( "class" , function ( a ) { n ( g . $eval ( f [ d ] ) ) } ) ; "ngClass" !==
d && g . $watch ( "$index" , function ( a , c ) { var e = 1 & a ; if ( e !== ( 1 & c ) ) { var k = m ( g . $eval ( f [ d ] ) ) ; e === b ? h ( k ) : ( e = l ( k , - 1 ) , f . $removeClass ( e ) ) } } ) } } } ] } function Df ( d ) { function a ( d , a ) { a && ! g [ d ] ? ( l . addClass ( e , d ) , g [ d ] = ! 0 ) : ! a && g [ d ] && ( l . removeClass ( e , d ) , g [ d ] = ! 1 ) } function b ( d , b ) { d = d ? "-" + aa ( d , "-" ) : "" ; a ( Yc + d , ! 0 === b ) ; a ( Ef + d , ! 1 === b ) } var c = d . ctrl , e = d . $element , g = { } , k = d . set , f = d . unset , l = d . $animate ; g [ Ef ] = ! ( g [ Yc ] = e . hasClass ( Yc ) ) ; c . $setValidity = function ( d , e , m ) { B ( e ) ? ( c . $pending || ( c . $pending = { } ) , k ( c . $pending , d , m ) ) : ( c . $pending && f ( c . $pending ,
d , m ) , Ff ( c . $pending ) && ( c . $pending = h ) ) ; X ( e ) ? e ? ( f ( c . $error , d , m ) , k ( c . $$success , d , m ) ) : ( k ( c . $error , d , m ) , f ( c . $$success , d , m ) ) : ( f ( c . $error , d , m ) , f ( c . $$success , d , m ) ) ; c . $pending ? ( a ( Ad , ! 0 ) , c . $valid = c . $invalid = h , b ( "" , null ) ) : ( a ( Ad , ! 1 ) , c . $valid = Ff ( c . $error ) , c . $invalid = ! c . $valid , b ( "" , c . $valid ) ) ; e = c . $pending && c . $pending [ d ] ? h : ! c . $error [ d ] && ( ! ! c . $$success [ d ] || null ) ; b ( d , e ) ; c . $$parentForm . $setValidity ( d , e , c ) } } function Ff ( d ) { if ( d ) for ( var a in d ) if ( d . hasOwnProperty ( a ) ) return ! 1 ; return ! 0 } var kc , fa , Ea , Ib , wa = /^\/(.+)\/([a-z]*)$/ ,
xa = function ( d ) { return p ( d ) ? d . toLowerCase ( ) : d } , sb = Object . prototype . hasOwnProperty , lb = function ( d ) { return p ( d ) ? d . toUpperCase ( ) : d } , Cb = [ ] . slice , ff = [ ] . splice , Gf = [ ] . push , tb = Object . prototype . toString , wc = Object . getPrototypeOf , Wa = l ( "ng" ) , Na = b . angular || ( b . angular = { } ) , xc = 0 ; kc = f . documentMode ; u . $inject = [ ] ; w . $inject = [ ] ; var ad , pa = Array . isArray , xe = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/ , Ga = function ( d ) { return p ( d ) ? d . trim ( ) : d } , tc = function ( d ) { return d . replace ( /([-()\[\]{}+?*.$\^|,:#<!\\])/g ,
"\\$1" ) . replace ( /\x08/g , "\\x08" ) } , Ub = function ( ) { if ( ! E ( Ub . rules ) ) { var d = f . querySelector ( "[ng-csp]" ) || f . querySelector ( "[data-ng-csp]" ) ; if ( d ) { var a = d . getAttribute ( "ng-csp" ) || d . getAttribute ( "data-ng-csp" ) ; Ub . rules = { noUnsafeEval : ! a || - 1 !== a . indexOf ( "no-unsafe-eval" ) , noInlineStyle : ! a || - 1 !== a . indexOf ( "no-inline-style" ) } } else { d = Ub ; try { new Function ( "" ) , a = ! 1 } catch ( Y ) { a = ! 0 } d . rules = { noUnsafeEval : a , noInlineStyle : ! 1 } } } return Ub . rules } , yc = function ( ) { if ( E ( yc . name _ ) ) return yc . name _ ; var d , a , b , c , e = fc . length ; for ( a = 0 ; a <
e ; ++ a ) if ( b = fc [ a ] , d = f . querySelector ( "[" + b . replace ( ":" , "\\:" ) + "jq]" ) ) { c = d . getAttribute ( b + "jq" ) ; break } return yc . name _ = c } , Cd = /:/g , fc = [ "ng-" , "data-ng-" , "ng:" , "x-ng-" ] , ye = /[A-Z]/g , Dd = ! 1 , Qb = 3 , Ae = { full : "1.4.14" , major : 1 , minor : 4 , dot : 14 , codeName : "material-distinction" } ; Oa . expando = "ng339" ; var hc = Oa . cache = { } , Od = 1 ; Oa . _data = function ( d ) { return this . cache [ d [ this . expando ] ] || { } } ; var Nd = /([\:\-\_]+(.))/g , kd = /^moz([A-Z])/ , Hc = { mouseleave : "mouseout" , mouseenter : "mouseover" } , ld = l ( "jqLite" ) , bf = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ,
Gc = /<|&#?\w+;/ , Ba = /<([\w:-]+)/ , $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi , Ta = { option : [ 1 , '<select multiple="multiple">' , "</select>" ] , thead : [ 1 , "<table>" , "</table>" ] , col : [ 2 , "<table><colgroup>" , "</colgroup></table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : [ 0 , "" , "" ] } ; Ta . optgroup = Ta . option ; Ta . tbody = Ta . tfoot = Ta . colgroup = Ta . caption = Ta . thead ; Ta . th = Ta . td ; var ef = Node . prototype . contains || function ( d ) { return ! ! ( 16 &
this . compareDocumentPosition ( d ) ) } , Rb = Oa . prototype = { ready : function ( d ) { function a ( ) { c || ( c = ! 0 , d ( ) ) } var c = ! 1 ; "complete" === f . readyState ? setTimeout ( a ) : ( this . on ( "DOMContentLoaded" , a ) , Oa ( b ) . on ( "load" , a ) ) } , toString : function ( ) { var d = [ ] ; return a ( this , function ( a ) { d . push ( "" + a ) } ) , "[" + d . join ( ", " ) + "]" } , eq : function ( d ) { return fa ( 0 <= d ? this [ d ] : this [ this . length + d ] ) } , length : 0 , push : Gf , sort : [ ] . sort , splice : [ ] . splice } , Fb = { } ; a ( "multiple selected checked disabled readOnly required open" . split ( " " ) , function ( d ) { Fb [ xa ( d ) ] = d } ) ;
var Ha = { } ; a ( "input select option textarea button form details" . split ( " " ) , function ( d ) { Ha [ d ] = ! 0 } ) ; var Vd = { ngMinlength : "minlength" , ngMaxlength : "maxlength" , ngMin : "min" , ngMax : "max" , ngPattern : "pattern" } ; a ( { data : Pd , removeData : ea , hasData : function ( d ) { for ( var a in hc [ d . ng339 ] ) return ! 0 ; return ! 1 } } , function ( d , a ) { Oa [ a ] = d } ) ; a ( { data : Pd , inheritedData : Lb , scope : function ( d ) { return fa . data ( d , "$scope" ) || Lb ( d . parentNode || d , [ "$isolateScope" , "$scope" ] ) } , isolateScope : function ( d ) { return fa . data ( d , "$isolateScope" ) || fa . data ( d ,
"$isolateScopeNoTemplate" ) } , controller : Ic , injector : function ( d ) { return Lb ( d , "$injector" ) } , removeAttr : function ( d , a ) { d . removeAttribute ( a ) } , hasClass : Pa , css : function ( d , a , b ) { return a = qc ( a ) , E ( b ) ? void ( d . style [ a ] = b ) : d . style [ a ] } , attr : function ( d , a , b ) { var c = d . nodeType ; if ( c !== Qb && 2 !== c && 8 !== c ) if ( c = xa ( a ) , Fb [ c ] ) { if ( ! E ( b ) ) return d [ a ] || ( d . attributes . getNamedItem ( a ) || u ) . specified ? c : h ; b ? ( d [ a ] = ! 0 , d . setAttribute ( a , c ) ) : ( d [ a ] = ! 1 , d . removeAttribute ( c ) ) } else if ( E ( b ) ) d . setAttribute ( a , b ) ; else if ( d . getAttribute ) return d = d . getAttribute ( a ,
2 ) , null === d ? h : d } , prop : function ( d , a , b ) { return E ( b ) ? void ( d [ a ] = b ) : d [ a ] } , text : function ( ) { function d ( d , a ) { if ( B ( a ) ) { var b = d . nodeType ; return 1 === b || b === Qb ? d . textContent : "" } d . textContent = a } return d . $dv = "" , d } ( ) , val : function ( d , b ) { if ( B ( b ) ) { if ( d . multiple && "select" === ha ( d ) ) { var c = [ ] ; return a ( d . options , function ( d ) { d . selected && c . push ( d . value || d . text ) } ) , 0 === c . length ? null : c } return d . value } d . value = b } , html : function ( d , a ) { return B ( a ) ? d . innerHTML : ( nd ( d , ! 0 ) , void ( d . innerHTML = a ) ) } , empty : rc } , function ( d , a ) { Oa . prototype [ a ] =
function ( a , b ) { var c , e , m = this . length ; if ( d !== rc && B ( 2 == d . length && d !== Pa && d !== Ic ? a : b ) ) { if ( q ( a ) ) { for ( c = 0 ; c < m ; c ++ ) if ( d === Pd ) d ( this [ c ] , a ) ; else for ( e in a ) d ( this [ c ] , e , a [ e ] ) ; return this } c = d . $dv ; m = B ( c ) ? Math . min ( m , 1 ) : m ; for ( e = 0 ; e < m ; e ++ ) { var g = d ( this [ e ] , a , b ) ; c = c ? c + g : g } return c } for ( c = 0 ; c < m ; c ++ ) d ( this [ c ] , a , b ) ; return this } } ) ; a ( { removeData : ea , on : function ( d , a , b , c ) { if ( E ( c ) ) throw ld ( "onargs" ) ; if ( Ye ( d ) ) { c = va ( d , ! 0 ) ; var e = c . events , m = c . handle ; m || ( m = c . handle = ig ( d , e ) ) ; c = 0 <= a . indexOf ( " " ) ? a . split ( " " ) : [ a ] ; for ( var g = c . length ,
k = function ( a , c , g ) { var k = e [ a ] ; k || ( k = e [ a ] = [ ] , k . specialHandlerWrapper = c , "$destroy" === a || g || d . addEventListener ( a , m , ! 1 ) ) ; k . push ( b ) } ; g -- ; ) a = c [ g ] , Hc [ a ] ? ( k ( Hc [ a ] , Ka ) , k ( a , h , ! 0 ) ) : k ( a ) } } , off : cf , one : function ( d , a , b ) { d = fa ( d ) ; d . on ( a , function ia ( ) { d . off ( a , b ) ; d . off ( a , ia ) } ) ; d . on ( a , b ) } , replaceWith : function ( d , b ) { var c , e = d . parentNode ; nd ( d ) ; a ( new Oa ( b ) , function ( a ) { c ? e . insertBefore ( a , c . nextSibling ) : e . replaceChild ( a , d ) ; c = a } ) } , children : function ( d ) { var b = [ ] ; return a ( d . childNodes , function ( d ) { 1 === d . nodeType && b . push ( d ) } ) , b } ,
contents : function ( d ) { return d . contentDocument || d . childNodes || [ ] } , append : function ( d , a ) { var b = d . nodeType ; if ( 1 === b || 11 === b ) { a = new Oa ( a ) ; for ( var b = 0 , c = a . length ; b < c ; b ++ ) d . appendChild ( a [ b ] ) } } , prepend : function ( d , b ) { if ( 1 === d . nodeType ) { var c = d . firstChild ; a ( new Oa ( b ) , function ( a ) { d . insertBefore ( a , c ) } ) } } , wrap : function ( d , a ) { af ( d , fa ( a ) . eq ( 0 ) . clone ( ) [ 0 ] ) } , remove : Jc , detach : function ( d ) { Jc ( d , ! 0 ) } , after : function ( d , a ) { var b = d , c = d . parentNode ; a = new Oa ( a ) ; for ( var e = 0 , g = a . length ; e < g ; e ++ ) { var m = a [ e ] ; c . insertBefore ( m , b . nextSibling ) ;
b = m } } , addClass : ic , removeClass : Va , toggleClass : function ( d , b , c ) { b && a ( b . split ( " " ) , function ( a ) { var b = c ; B ( b ) && ( b = ! Pa ( d , a ) ) ; ( b ? ic : Va ) ( d , a ) } ) } , parent : function ( d ) { return ( d = d . parentNode ) && 11 !== d . nodeType ? d : null } , next : function ( d ) { return d . nextElementSibling } , find : function ( d , a ) { return d . getElementsByTagName ? d . getElementsByTagName ( a ) : [ ] } , clone : md , triggerHandler : function ( d , b , c ) { var e , g , m = b . type || b , k = va ( d ) ; ( k = ( k = k && k . events ) && k [ m ] ) && ( e = { preventDefault : function ( ) { this . defaultPrevented = ! 0 } , isDefaultPrevented : function ( ) { return ! 0 ===
this . defaultPrevented } , stopImmediatePropagation : function ( ) { this . immediatePropagationStopped = ! 0 } , isImmediatePropagationStopped : function ( ) { return ! 0 === this . immediatePropagationStopped } , stopPropagation : u , type : m , target : d } , b . type && ( e = n ( e , b ) ) , b = ka ( k ) , g = c ? [ e ] . concat ( c ) : [ e ] , a ( b , function ( a ) { e . isImmediatePropagationStopped ( ) || a . apply ( d , g ) } ) ) } } , function ( d , a ) { Oa . prototype [ a ] = function ( a , b , c ) { for ( var e , g = 0 , m = this . length ; g < m ; g ++ ) B ( e ) ? ( e = d ( this [ g ] , a , b , c ) , E ( e ) && ( e = fa ( e ) ) ) : ua ( e , d ( this [ g ] , a , b , c ) ) ; return E ( e ) ? e : this } ;
Oa . prototype . bind = Oa . prototype . on ; Oa . prototype . unbind = Oa . prototype . off } ) ; Mb . prototype = { put : function ( d , a ) { this [ ob ( d , this . nextUid ) ] = a } , get : function ( d ) { return this [ ob ( d , this . nextUid ) ] } , remove : function ( d ) { var a = this [ d = ob ( d , this . nextUid ) ] ; return delete this [ d ] , a } } ; var Xe = [ function ( ) { this . $get = [ function ( ) { return Mb } ] } ] , Kc = /^[^\(]*\(\s*([^\)]*)\)/m , Hf = /,/ , pe = /^\s*(_?)(\S+?)\1\s*$/ , jc = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm , Xb = l ( "$injector" ) ; gb . $$annotate = function ( d , b , c ) { var e ; if ( "function" == typeof d ) { if ( ! ( e =
d . $inject ) ) { if ( e = [ ] , d . length ) { if ( b ) throw p ( c ) && c || ( c = d . name || Qd ( d ) ) , Xb ( "strictdi" , c ) ; b = d . toString ( ) . replace ( jc , "" ) ; b = b . match ( Kc ) ; a ( b [ 1 ] . split ( Hf ) , function ( d ) { d . replace ( pe , function ( d , a , b ) { e . push ( b ) } ) } ) } d . $inject = e } } else pa ( d ) ? ( b = d . length - 1 , ub ( d [ b ] , "fn" ) , e = d . slice ( 0 , b ) ) : ub ( d , "fn" , ! 0 ) ; return e } ; var qe = l ( "$animate" ) , Me = function ( ) { this . $get = function ( ) { } } , Id = function ( ) { var d = new Mb , b = [ ] ; this . $get = [ "$$AnimateRunner" , "$rootScope" , function ( c , e ) { function g ( d , b , c ) { var e = ! 1 ; return b && ( b = p ( b ) ? b . split ( " " ) : pa ( b ) ?
b : [ ] , a ( b , function ( a ) { a && ( e = ! 0 , d [ a ] = c ) } ) ) , e } function m ( ) { a ( b , function ( b ) { var c = d . get ( b ) ; if ( c ) { var e = xb ( b . attr ( "class" ) ) , g = "" , m = "" ; a ( c , function ( d , a ) { d !== ! ! e [ a ] && ( d ? g += ( g . length ? " " : "" ) + a : m += ( m . length ? " " : "" ) + a ) } ) ; a ( b , function ( d ) { g && ic ( d , g ) ; m && Va ( d , m ) } ) ; d . remove ( b ) } } ) ; b . length = 0 } return { enabled : u , on : u , off : u , pin : u , push : function ( a , k , f , h ) { return h && h ( ) , f = f || { } , f . from && a . css ( f . from ) , f . to && a . css ( f . to ) , ( f . addClass || f . removeClass ) && ( k = f . addClass , h = f . removeClass , f = d . get ( a ) || { } , k = g ( f , k , ! 0 ) , h = g ( f , h , ! 1 ) , ( k || h ) &&
( d . put ( a , f ) , b . push ( a ) , 1 === b . length && e . $$postDigest ( m ) ) ) , a = new c , a . complete ( ) , a } } } ] } , Vb = [ "$provide" , function ( d ) { var a = this ; this . $$registeredAnimations = Object . create ( null ) ; this . register = function ( b , c ) { if ( b && "." !== b . charAt ( 0 ) ) throw qe ( "notcsel" , b ) ; var e = b + "-animation" ; a . $$registeredAnimations [ b . substr ( 1 ) ] = e ; d . factory ( e , c ) } ; this . classNameFilter = function ( d ) { if ( 1 === arguments . length && ( this . $$classNameFilter = d instanceof RegExp ? d : null ) && /(\s+|\/)ng-animate(\s+|\/)/ . test ( this . $$classNameFilter . toString ( ) ) ) throw qe ( "nongcls" ,
"ng-animate" ) ; return this . $$classNameFilter } ; this . $get = [ "$$animateQueue" , function ( d ) { function a ( d , a , b ) { if ( b ) { var c ; a : { for ( c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; if ( 1 === e . nodeType ) { c = e ; break a } } c = void 0 } ! c || c . parentNode || c . previousElementSibling || ( b = null ) } b ? b . after ( d ) : a . prepend ( d ) } return { on : d . on , off : d . off , pin : d . pin , enabled : d . enabled , cancel : function ( d ) { d . end && d . end ( ) } , enter : function ( b , c , e , g ) { return c = c && fa ( c ) , e = e && fa ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "enter" , $a ( g ) ) } , move : function ( b , c , e , g ) { return c = c && fa ( c ) ,
e = e && fa ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "move" , $a ( g ) ) } , leave : function ( a , b ) { return d . push ( a , "leave" , $a ( b ) , function ( ) { a . remove ( ) } ) } , addClass : function ( a , b , c ) { return c = $a ( c ) , c . addClass = Gb ( c . addclass , b ) , d . push ( a , "addClass" , c ) } , removeClass : function ( a , b , c ) { return c = $a ( c ) , c . removeClass = Gb ( c . removeClass , b ) , d . push ( a , "removeClass" , c ) } , setClass : function ( a , b , c , e ) { return e = $a ( e ) , e . addClass = Gb ( e . addClass , b ) , e . removeClass = Gb ( e . removeClass , c ) , d . push ( a , "setClass" , e ) } , animate : function ( a , b , c , e , g ) { return g = $a ( g ) ,
g . from = g . from ? n ( g . from , b ) : b , g . to = g . to ? n ( g . to , c ) : c , g . tempClasses = Gb ( g . tempClasses , e || "ng-inline-animate" ) , d . push ( a , "animate" , g ) } } } ] } ] , Ne = function ( ) { this . $get = [ "$$rAF" , function ( d ) { function a ( a ) { b . push ( a ) ; 1 < b . length || d ( function ( ) { for ( var d = 0 ; d < b . length ; d ++ ) b [ d ] ( ) ; b = [ ] } ) } var b = [ ] ; return function ( ) { var d = ! 1 ; return a ( function ( ) { d = ! 0 } ) , function ( b ) { d ? b ( ) : a ( b ) } } } ] } , hd = function ( ) { this . $get = [ "$q" , "$sniffer" , "$$animateAsyncRun" , "$document" , "$timeout" , function ( d , b , c , e , g ) { function m ( d ) { this . setHost ( d ) ; var a = c ( ) ;
this . _doneCallbacks = [ ] ; this . _tick = function ( d ) { var b = e [ 0 ] ; b && b . hidden ? g ( d , 0 , ! 1 ) : a ( d ) } ; this . _state = 0 } return m . chain = function ( d , a ) { function b ( ) { c === d . length ? a ( ! 0 ) : d [ c ] ( function ( d ) { ! 1 === d ? a ( ! 1 ) : ( c ++ , b ( ) ) } ) } var c = 0 ; b ( ) } , m . all = function ( d , b ) { function c ( a ) { g = g && a ; ++ e === d . length && b ( g ) } var e = 0 , g = ! 0 ; a ( d , function ( d ) { d . done ( c ) } ) } , m . prototype = { setHost : function ( d ) { this . host = d || { } } , done : function ( d ) { 2 === this . _state ? d ( ) : this . _doneCallbacks . push ( d ) } , progress : u , getPromise : function ( ) { if ( ! this . promise ) { var a = this ; this . promise =
d ( function ( d , b ) { a . done ( function ( a ) { ! 1 === a ? b ( ) : d ( ) } ) } ) } return this . promise } , then : function ( d , a ) { return this . getPromise ( ) . then ( d , a ) } , "catch" : function ( d ) { return this . getPromise ( ) [ "catch" ] ( d ) } , "finally" : function ( d ) { return this . getPromise ( ) [ "finally" ] ( d ) } , pause : function ( ) { this . host . pause && this . host . pause ( ) } , resume : function ( ) { this . host . resume && this . host . resume ( ) } , end : function ( ) { this . host . end && this . host . end ( ) ; this . _resolve ( ! 0 ) } , cancel : function ( ) { this . host . cancel && this . host . cancel ( ) ; this . _resolve ( ! 1 ) } , complete : function ( d ) { var a =
this ; 0 === a . _state && ( a . _state = 1 , a . _tick ( function ( ) { a . _resolve ( d ) } ) ) } , _resolve : function ( d ) { 2 !== this . _state && ( a ( this . _doneCallbacks , function ( a ) { a ( d ) } ) , this . _doneCallbacks . length = 0 , this . _state = 2 ) } } , m } ] } , Le = function ( ) { this . $get = [ "$$rAF" , "$q" , "$$AnimateRunner" , function ( d , a , b ) { return function ( a , c ) { function e ( ) { return d ( function ( ) { g . addClass && ( a . addClass ( g . addClass ) , g . addClass = null ) ; g . removeClass && ( a . removeClass ( g . removeClass ) , g . removeClass = null ) ; g . to && ( a . css ( g . to ) , g . to = null ) ; m || k . complete ( ) ; m = ! 0 } ) , k } var g =
c || { } ; g . $$prepared || ( g = S ( g ) ) ; g . cleanupStyles && ( g . from = g . to = null ) ; g . from && ( a . css ( g . from ) , g . from = null ) ; var m , k = new b ; return { start : e , end : e } } } ] } , ab = l ( "$compile" ) ; Jb . $inject = [ "$provide" , "$$sanitizeUriProvider" ] ; var Td = /^((?:x|data)[\:\-_])/i , gf = l ( "$controller" ) , Mc = /^(\S+)(\s+as\s+([\w$]+))?$/ , gc = function ( ) { this . $get = [ "$document" , function ( d ) { return function ( a ) { return a ? ! a . nodeType && a instanceof fa && ( a = a [ 0 ] ) : a = d [ 0 ] . body , a . offsetWidth + 1 } } ] } , Wd = "application/json" , Nc = { "Content-Type" : Wd + ";charset=utf-8" } , hf =
/^\[|^\{(?!\{)/ , pd = { "[" : /]$/ , "{" : /}$/ } , La = /^\)\]\}',?\n/ , If = l ( "$http" ) , jf = function ( d ) { return function ( ) { throw If ( "legacy" , d ) ; } } , Zb = Na . $interpolateMinErr = l ( "$interpolate" ) ; Zb . throwNoconcat = function ( d ) { throw Zb ( "noconcat" , d ) ; } ; Zb . interr = function ( d , a ) { return Zb ( "interr" , d , a . toString ( ) ) } ; var nc = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/ , lf = { http : 80 , https : 443 , ftp : 21 } , Hb = l ( "$location" ) , re = { $$html5 : ! 1 , $$replace : ! 1 , absUrl : Pc ( "$$absUrl" ) , url : function ( d ) { if ( B ( d ) ) return this . $$url ; var a = nc . exec ( d ) ; return ( a [ 1 ] || "" ===
d ) && this . path ( decodeURIComponent ( a [ 1 ] ) ) , ( a [ 2 ] || a [ 1 ] || "" === d ) && this . search ( a [ 3 ] || "" ) , this . hash ( a [ 5 ] || "" ) , this } , protocol : Pc ( "$$protocol" ) , host : Pc ( "$$host" ) , port : Pc ( "$$port" ) , path : eb ( "$$path" , function ( d ) { return d = null !== d ? d . toString ( ) : "" , "/" == d . charAt ( 0 ) ? d : "/" + d } ) , search : function ( d , b ) { switch ( arguments . length ) { case 0 : return this . $$search ; case 1 : if ( p ( d ) || I ( d ) ) d = d . toString ( ) , this . $$search = Da ( d ) ; else { if ( ! q ( d ) ) throw Hb ( "isrcharg" ) ; d = S ( d , { } ) ; a ( d , function ( a , b ) { null == a && delete d [ b ] } ) ; this . $$search = d } break ; default : B ( b ) ||
null === b ? delete this . $$search [ d ] : this . $$search [ d ] = b } return this . $$compose ( ) , this } , hash : eb ( "$$hash" , function ( d ) { return null !== d ? d . toString ( ) : "" } ) , replace : function ( ) { return this . $$replace = ! 0 , this } } ; a ( [ ae , $d , Zd ] , function ( d ) { d . prototype = Object . create ( re ) ; d . prototype . state = function ( a ) { if ( ! arguments . length ) return this . $$state ; if ( d !== Zd || ! this . $$html5 ) throw Hb ( "nostate" ) ; return this . $$state = B ( a ) ? null : a , this } } ) ; var cb = l ( "$parse" ) , rb = Function . prototype . call , mf = Function . prototype . apply , be = Function . prototype . bind ,
Bd = Ma ( ) ; a ( "+ - * / % === !== == != < > <= >= && || ! = |" . split ( " " ) , function ( d ) { Bd [ d ] = ! 0 } ) ; var Jf = { n : "\n" , f : "\f" , r : "\r" , t : "\t" , v : "\x0B" , "'" : "'" , '"' : '"' } , Qa = function ( d ) { this . options = d } ; Qa . prototype = { constructor : Qa , lex : function ( d ) { this . text = d ; this . index = 0 ; for ( this . tokens = [ ] ; this . index < this . text . length ; ) if ( d = this . text . charAt ( this . index ) , '"' === d || "'" === d ) this . readString ( d ) ; else if ( this . isNumber ( d ) || "." === d && this . isNumber ( this . peek ( ) ) ) this . readNumber ( ) ; else if ( this . isIdent ( d ) ) this . readIdent ( ) ; else if ( this . is ( d ,
"(){}[].,;:?" ) ) this . tokens . push ( { index : this . index , text : d } ) , this . index ++ ; else if ( this . isWhitespace ( d ) ) this . index ++ ; else { var a = d + this . peek ( ) , b = a + this . peek ( 2 ) , c = Bd [ a ] , e = Bd [ b ] ; Bd [ d ] || c || e ? ( d = e ? b : c ? a : d , this . tokens . push ( { index : this . index , text : d , operator : ! 0 } ) , this . index += d . length ) : this . throwError ( "Unexpected next character " , this . index , this . index + 1 ) } return this . tokens } , is : function ( d , a ) { return - 1 !== a . indexOf ( d ) } , peek : function ( d ) { return d = d || 1 , this . index + d < this . text . length && this . text . charAt ( this . index + d ) } ,
isNumber : function ( d ) { return "0" <= d && "9" >= d && "string" == typeof d } , isWhitespace : function ( d ) { return " " === d || "\r" === d || "\t" === d || "\n" === d || "\x0B" === d || "\u00a0" === d } , isIdent : function ( d ) { return "a" <= d && "z" >= d || "A" <= d && "Z" >= d || "_" === d || "$" === d } , isExpOperator : function ( d ) { return "-" === d || "+" === d || this . isNumber ( d ) } , throwError : function ( d , a , b ) { throw b = b || this . index , a = E ( a ) ? "s " + a + "-" + this . index + " [" + this . text . substring ( a , b ) + "]" : " " + b , cb ( "lexerr" , d , a , this . text ) ; } , readNumber : function ( ) { for ( var d = "" , a = this . index ; this . index <
this . text . length ; ) { var b = xa ( this . text . charAt ( this . index ) ) ; if ( "." == b || this . isNumber ( b ) ) d += b ; else { var c = this . peek ( ) ; if ( "e" == b && this . isExpOperator ( c ) ) d += b ; else if ( this . isExpOperator ( b ) && c && this . isNumber ( c ) && "e" == d . charAt ( d . length - 1 ) ) d += b ; else { if ( ! this . isExpOperator ( b ) || c && this . isNumber ( c ) || "e" != d . charAt ( d . length - 1 ) ) break ; this . throwError ( "Invalid exponent" ) } } this . index ++ } this . tokens . push ( { index : a , text : d , constant : ! 0 , value : Number ( d ) } ) } , readIdent : function ( ) { for ( var d = this . index ; this . index < this . text . length ; ) { var a =
this . text . charAt ( this . index ) ; if ( ! this . isIdent ( a ) && ! this . isNumber ( a ) ) break ; this . index ++ } this . tokens . push ( { index : d , text : this . text . slice ( d , this . index ) , identifier : ! 0 } ) } , readString : function ( d ) { var a = this . index ; this . index ++ ; for ( var b = "" , c = d , e = ! 1 ; this . index < this . text . length ; ) { var g = this . text . charAt ( this . index ) , c = c + g ; if ( e ) "u" === g ? ( e = this . text . substring ( this . index + 1 , this . index + 5 ) , e . match ( /[\da-f]{4}/i ) || this . throwError ( "Invalid unicode escape [\\u" + e + "]" ) , this . index += 4 , b += String . fromCharCode ( parseInt ( e , 16 ) ) ) :
b += Jf [ g ] || g , e = ! 1 ; else if ( "\\" === g ) e = ! 0 ; else { if ( g === d ) return this . index ++ , void this . tokens . push ( { index : a , text : c , constant : ! 0 , value : b } ) ; b += g } this . index ++ } this . throwError ( "Unterminated quote" , a ) } } ; var Q = function ( d , a ) { this . lexer = d ; this . options = a } ; Q . Program = "Program" ; Q . ExpressionStatement = "ExpressionStatement" ; Q . AssignmentExpression = "AssignmentExpression" ; Q . ConditionalExpression = "ConditionalExpression" ; Q . LogicalExpression = "LogicalExpression" ; Q . BinaryExpression = "BinaryExpression" ; Q . UnaryExpression = "UnaryExpression" ;
Q . CallExpression = "CallExpression" ; Q . MemberExpression = "MemberExpression" ; Q . Identifier = "Identifier" ; Q . Literal = "Literal" ; Q . ArrayExpression = "ArrayExpression" ; Q . Property = "Property" ; Q . ObjectExpression = "ObjectExpression" ; Q . ThisExpression = "ThisExpression" ; Q . NGValueParameter = "NGValueParameter" ; Q . prototype = { ast : function ( d ) { return this . text = d , this . tokens = this . lexer . lex ( d ) , d = this . program ( ) , 0 !== this . tokens . length && this . throwError ( "is an unexpected token" , this . tokens [ 0 ] ) , d } , program : function ( ) { for ( var d = [ ] ; ; ) if ( 0 <
this . tokens . length && ! this . peek ( "}" , ")" , ";" , "]" ) && d . push ( this . expressionStatement ( ) ) , ! this . expect ( ";" ) ) return { type : Q . Program , body : d } } , expressionStatement : function ( ) { return { type : Q . ExpressionStatement , expression : this . filterChain ( ) } } , filterChain : function ( ) { for ( var d = this . expression ( ) ; this . expect ( "|" ) ; ) d = this . filter ( d ) ; return d } , expression : function ( ) { return this . assignment ( ) } , assignment : function ( ) { var d = this . ternary ( ) ; return this . expect ( "=" ) && ( d = { type : Q . AssignmentExpression , left : d , right : this . assignment ( ) ,
operator : "=" } ) , d } , ternary : function ( ) { var d , a , b = this . logicalOR ( ) ; return this . expect ( "?" ) && ( d = this . expression ( ) , this . consume ( ":" ) ) ? ( a = this . expression ( ) , { type : Q . ConditionalExpression , test : b , alternate : d , consequent : a } ) : b } , logicalOR : function ( ) { for ( var d = this . logicalAND ( ) ; this . expect ( "||" ) ; ) d = { type : Q . LogicalExpression , operator : "||" , left : d , right : this . logicalAND ( ) } ; return d } , logicalAND : function ( ) { for ( var d = this . equality ( ) ; this . expect ( "&&" ) ; ) d = { type : Q . LogicalExpression , operator : "&&" , left : d , right : this . equality ( ) } ;
return d } , equality : function ( ) { for ( var d , a = this . relational ( ) ; d = this . expect ( "==" , "!=" , "===" , "!==" ) ; ) a = { type : Q . BinaryExpression , operator : d . text , left : a , right : this . relational ( ) } ; return a } , relational : function ( ) { for ( var d , a = this . additive ( ) ; d = this . expect ( "<" , ">" , "<=" , ">=" ) ; ) a = { type : Q . BinaryExpression , operator : d . text , left : a , right : this . additive ( ) } ; return a } , additive : function ( ) { for ( var d , a = this . multiplicative ( ) ; d = this . expect ( "+" , "-" ) ; ) a = { type : Q . BinaryExpression , operator : d . text , left : a , right : this . multiplicative ( ) } ;
return a } , multiplicative : function ( ) { for ( var d , a = this . unary ( ) ; d = this . expect ( "*" , "/" , "%" ) ; ) a = { type : Q . BinaryExpression , operator : d . text , left : a , right : this . unary ( ) } ; return a } , unary : function ( ) { var d ; return ( d = this . expect ( "+" , "-" , "!" ) ) ? { type : Q . UnaryExpression , operator : d . text , prefix : ! 0 , argument : this . unary ( ) } : this . primary ( ) } , primary : function ( ) { var d ; this . expect ( "(" ) ? ( d = this . filterChain ( ) , this . consume ( ")" ) ) : this . expect ( "[" ) ? d = this . arrayDeclaration ( ) : this . expect ( "{" ) ? d = this . object ( ) : this . constants . hasOwnProperty ( this . peek ( ) . text ) ?
d = S ( this . constants [ this . consume ( ) . text ] ) : this . peek ( ) . identifier ? d = this . identifier ( ) : this . peek ( ) . constant ? d = this . constant ( ) : this . throwError ( "not a primary expression" , this . peek ( ) ) ; for ( var a ; a = this . expect ( "(" , "[" , "." ) ; ) "(" === a . text ? ( d = { type : Q . CallExpression , callee : d , arguments : this . parseArguments ( ) } , this . consume ( ")" ) ) : "[" === a . text ? ( d = { type : Q . MemberExpression , object : d , property : this . expression ( ) , computed : ! 0 } , this . consume ( "]" ) ) : "." === a . text ? d = { type : Q . MemberExpression , object : d , property : this . identifier ( ) ,
computed : ! 1 } : this . throwError ( "IMPOSSIBLE" ) ; return d } , filter : function ( d ) { d = [ d ] ; for ( var a = { type : Q . CallExpression , callee : this . identifier ( ) , arguments : d , filter : ! 0 } ; this . expect ( ":" ) ; ) d . push ( this . expression ( ) ) ; return a } , parseArguments : function ( ) { var d = [ ] ; if ( ")" !== this . peekToken ( ) . text ) { do d . push ( this . expression ( ) ) ; while ( this . expect ( "," ) ) } return d } , identifier : function ( ) { var d = this . consume ( ) ; return d . identifier || this . throwError ( "is not a valid identifier" , d ) , { type : Q . Identifier , name : d . text } } , constant : function ( ) { return { type : Q . Literal ,
value : this . consume ( ) . value } } , arrayDeclaration : function ( ) { var d = [ ] ; if ( "]" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "]" ) ) break ; d . push ( this . expression ( ) ) } while ( this . expect ( "," ) ) } return this . consume ( "]" ) , { type : Q . ArrayExpression , elements : d } } , object : function ( ) { var d , a = [ ] ; if ( "}" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "}" ) ) break ; d = { type : Q . Property , kind : "init" } ; this . peek ( ) . constant ? d . key = this . constant ( ) : this . peek ( ) . identifier ? d . key = this . identifier ( ) : this . throwError ( "invalid key" , this . peek ( ) ) ; this . consume ( ":" ) ;
d . value = this . expression ( ) ; a . push ( d ) } while ( this . expect ( "," ) ) } return this . consume ( "}" ) , { type : Q . ObjectExpression , properties : a } } , throwError : function ( d , a ) { throw cb ( "syntax" , a . text , d , a . index + 1 , this . text , this . text . substring ( a . index ) ) ; } , consume : function ( d ) { if ( 0 === this . tokens . length ) throw cb ( "ueoe" , this . text ) ; var a = this . expect ( d ) ; return a || this . throwError ( "is unexpected, expecting [" + d + "]" , this . peek ( ) ) , a } , peekToken : function ( ) { if ( 0 === this . tokens . length ) throw cb ( "ueoe" , this . text ) ; return this . tokens [ 0 ] } , peek : function ( d ,
a , b , c ) { return this . peekAhead ( 0 , d , a , b , c ) } , peekAhead : function ( d , a , b , c , e ) { if ( this . tokens . length > d ) { d = this . tokens [ d ] ; var g = d . text ; if ( g === a || g === b || g === c || g === e || ! ( a || b || c || e ) ) return d } return ! 1 } , expect : function ( d , a , b , c ) { return ! ! ( d = this . peek ( d , a , b , c ) ) && ( this . tokens . shift ( ) , d ) } , constants : { "true" : { type : Q . Literal , value : ! 0 } , "false" : { type : Q . Literal , value : ! 1 } , "null" : { type : Q . Literal , value : null } , undefined : { type : Q . Literal , value : h } , "this" : { type : Q . ThisExpression } } } ; td . prototype = { compile : function ( d , b ) { var c = this , e =
this . astBuilder . ast ( d ) ; this . state = { nextId : 0 , filters : { } , expensiveChecks : b , fn : { vars : [ ] , body : [ ] , own : { } } , assign : { vars : [ ] , body : [ ] , own : { } } , inputs : [ ] } ; Ua ( e , c . $filter ) ; var g , m = "" ; return this . stage = "assign" , ( g = nf ( e ) ) && ( this . state . computing = "assign" , m = this . nextId ( ) , this . recurse ( g , m ) , this . return _ ( m ) , m = "fn.assign=" + this . generateFunction ( "assign" , "s,v,l" ) ) , g = de ( e . body ) , c . stage = "inputs" , a ( g , function ( d , a ) { var b = "fn" + a ; c . state [ b ] = { vars : [ ] , body : [ ] , own : { } } ; c . state . computing = b ; var e = c . nextId ( ) ; c . recurse ( d , e ) ; c . return _ ( e ) ;
c . state . inputs . push ( b ) ; d . watchId = a } ) , this . state . computing = "fn" , this . stage = "main" , this . recurse ( e ) , m = '"' + this . USE + " " + this . STRICT + '";\n' + this . filterPrefix ( ) + "var fn=" + this . generateFunction ( "fn" , "s,l,a,i" ) + m + this . watchFns ( ) + "return fn;" , m = ( new Function ( "$filter" , "ensureSafeMemberName" , "ensureSafeObject" , "ensureSafeFunction" , "getStringValue" , "ensureSafeAssignContext" , "ifDefined" , "plus" , "text" , m ) ) ( this . $filter , $b , hb , Qc , rd , Rc , ce , sc , d ) , this . state = this . stage = h , m . literal = ee ( e ) , m . constant = e . constant , m } , USE : "use" ,
STRICT : "strict" , watchFns : function ( ) { var d = [ ] , b = this . state . inputs , c = this ; return a ( b , function ( a ) { d . push ( "var " + a + "=" + c . generateFunction ( a , "s" ) ) } ) , b . length && d . push ( "fn.inputs=[" + b . join ( "," ) + "];" ) , d . join ( "" ) } , generateFunction : function ( d , a ) { return "function(" + a + "){" + this . varsPrefix ( d ) + this . body ( d ) + "};" } , filterPrefix : function ( ) { var d = [ ] , b = this ; return a ( this . state . filters , function ( a , c ) { d . push ( a + "=$filter(" + b . escape ( c ) + ")" ) } ) , d . length ? "var " + d . join ( "," ) + ";" : "" } , varsPrefix : function ( d ) { return this . state [ d ] . vars . length ?
"var " + this . state [ d ] . vars . join ( "," ) + ";" : "" } , body : function ( d ) { return this . state [ d ] . body . join ( "" ) } , recurse : function ( d , b , c , e , g , k ) { var m , f , l , v , n = this ; if ( e = e || u , ! k && E ( d . watchId ) ) b = b || this . nextId ( ) , this . if _ ( "i" , this . lazyAssign ( b , this . computedMember ( "i" , d . watchId ) ) , this . lazyRecurse ( d , b , c , e , g , ! 0 ) ) ; else switch ( d . type ) { case Q . Program : a ( d . body , function ( a , b ) { n . recurse ( a . expression , h , h , function ( d ) { f = d } ) ; b !== d . body . length - 1 ? n . current ( ) . body . push ( f , ";" ) : n . return _ ( f ) } ) ; break ; case Q . Literal : v = this . escape ( d . value ) ;
this . assign ( b , v ) ; e ( v ) ; break ; case Q . UnaryExpression : this . recurse ( d . argument , h , h , function ( d ) { f = d } ) ; v = d . operator + "(" + this . ifDefined ( f , 0 ) + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case Q . BinaryExpression : this . recurse ( d . left , h , h , function ( d ) { m = d } ) ; this . recurse ( d . right , h , h , function ( d ) { f = d } ) ; v = "+" === d . operator ? this . plus ( m , f ) : "-" === d . operator ? this . ifDefined ( m , 0 ) + d . operator + this . ifDefined ( f , 0 ) : "(" + m + ")" + d . operator + "(" + f + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case Q . LogicalExpression : b = b || this . nextId ( ) ; n . recurse ( d . left , b ) ; n . if _ ( "&&" ===
d . operator ? b : n . not ( b ) , n . lazyRecurse ( d . right , b ) ) ; e ( b ) ; break ; case Q . ConditionalExpression : b = b || this . nextId ( ) ; n . recurse ( d . test , b ) ; n . if _ ( b , n . lazyRecurse ( d . alternate , b ) , n . lazyRecurse ( d . consequent , b ) ) ; e ( b ) ; break ; case Q . Identifier : b = b || this . nextId ( ) ; c && ( c . context = "inputs" === n . stage ? "s" : this . assign ( this . nextId ( ) , this . getHasOwnProperty ( "l" , d . name ) + "?l:s" ) , c . computed = ! 1 , c . name = d . name ) ; $b ( d . name ) ; n . if _ ( "inputs" === n . stage || n . not ( n . getHasOwnProperty ( "l" , d . name ) ) , function ( ) { n . if _ ( "inputs" === n . stage || "s" , function ( ) { g &&
1 !== g && n . if _ ( n . not ( n . nonComputedMember ( "s" , d . name ) ) , n . lazyAssign ( n . nonComputedMember ( "s" , d . name ) , "{}" ) ) ; n . assign ( b , n . nonComputedMember ( "s" , d . name ) ) } ) } , b && n . lazyAssign ( b , n . nonComputedMember ( "l" , d . name ) ) ) ; ( n . state . expensiveChecks || "constructor" == d . name ) && n . addEnsureSafeObject ( b ) ; e ( b ) ; break ; case Q . MemberExpression : m = c && ( c . context = this . nextId ( ) ) || this . nextId ( ) ; b = b || this . nextId ( ) ; n . recurse ( d . object , m , h , function ( ) { n . if _ ( n . notNull ( m ) , function ( ) { g && 1 !== g && n . addEnsureSafeAssignContext ( m ) ; d . computed ? ( f = n . nextId ( ) ,
n . recurse ( d . property , f ) , n . getStringValue ( f ) , n . addEnsureSafeMemberName ( f ) , g && 1 !== g && n . if _ ( n . not ( n . computedMember ( m , f ) ) , n . lazyAssign ( n . computedMember ( m , f ) , "{}" ) ) , v = n . ensureSafeObject ( n . computedMember ( m , f ) ) , n . assign ( b , v ) , c && ( c . computed = ! 0 , c . name = f ) ) : ( $b ( d . property . name ) , g && 1 !== g && n . if _ ( n . not ( n . nonComputedMember ( m , d . property . name ) ) , n . lazyAssign ( n . nonComputedMember ( m , d . property . name ) , "{}" ) ) , v = n . nonComputedMember ( m , d . property . name ) , ( n . state . expensiveChecks || "constructor" == d . property . name ) && ( v = n . ensureSafeObject ( v ) ) ,
n . assign ( b , v ) , c && ( c . computed = ! 1 , c . name = d . property . name ) ) } , function ( ) { n . assign ( b , "undefined" ) } ) ; e ( b ) } , ! ! g ) ; break ; case Q . CallExpression : b = b || this . nextId ( ) ; d . filter ? ( f = n . filter ( d . callee . name ) , l = [ ] , a ( d . arguments , function ( d ) { var a = n . nextId ( ) ; n . recurse ( d , a ) ; l . push ( a ) } ) , v = f + "(" + l . join ( "," ) + ")" , n . assign ( b , v ) , e ( b ) ) : ( f = n . nextId ( ) , m = { } , l = [ ] , n . recurse ( d . callee , f , m , function ( ) { n . if _ ( n . notNull ( f ) , function ( ) { n . addEnsureSafeFunction ( f ) ; a ( d . arguments , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { l . push ( n . ensureSafeObject ( d ) ) } ) } ) ;
m . name ? ( n . state . expensiveChecks || n . addEnsureSafeObject ( m . context ) , v = n . member ( m . context , m . name , m . computed ) + "(" + l . join ( "," ) + ")" ) : v = f + "(" + l . join ( "," ) + ")" ; v = n . ensureSafeObject ( v ) ; n . assign ( b , v ) } , function ( ) { n . assign ( b , "undefined" ) } ) ; e ( b ) } ) ) ; break ; case Q . AssignmentExpression : if ( f = this . nextId ( ) , m = { } , ! sd ( d . left ) ) throw cb ( "lval" ) ; this . recurse ( d . left , h , m , function ( ) { n . if _ ( n . notNull ( m . context ) , function ( ) { n . recurse ( d . right , f ) ; n . addEnsureSafeObject ( n . member ( m . context , m . name , m . computed ) ) ; n . addEnsureSafeAssignContext ( m . context ) ;
v = n . member ( m . context , m . name , m . computed ) + d . operator + f ; n . assign ( b , v ) ; e ( b || v ) } ) } , 1 ) ; break ; case Q . ArrayExpression : l = [ ] ; a ( d . elements , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { l . push ( d ) } ) } ) ; v = "[" + l . join ( "," ) + "]" ; this . assign ( b , v ) ; e ( v ) ; break ; case Q . ObjectExpression : l = [ ] ; a ( d . properties , function ( d ) { n . recurse ( d . value , n . nextId ( ) , h , function ( a ) { l . push ( n . escape ( d . key . type === Q . Identifier ? d . key . name : "" + d . key . value ) + ":" + a ) } ) } ) ; v = "{" + l . join ( "," ) + "}" ; this . assign ( b , v ) ; e ( v ) ; break ; case Q . ThisExpression : this . assign ( b ,
"s" ) ; e ( "s" ) ; break ; case Q . NGValueParameter : this . assign ( b , "v" ) , e ( "v" ) } } , getHasOwnProperty : function ( d , a ) { var b = d + "." + a , c = this . current ( ) . own ; return c . hasOwnProperty ( b ) || ( c [ b ] = this . nextId ( ! 1 , d + "&&(" + this . escape ( a ) + " in " + d + ")" ) ) , c [ b ] } , assign : function ( d , a ) { if ( d ) return this . current ( ) . body . push ( d , "=" , a , ";" ) , d } , filter : function ( d ) { return this . state . filters . hasOwnProperty ( d ) || ( this . state . filters [ d ] = this . nextId ( ! 0 ) ) , this . state . filters [ d ] } , ifDefined : function ( d , a ) { return "ifDefined(" + d + "," + this . escape ( a ) + ")" } , plus : function ( d ,
a ) { return "plus(" + d + "," + a + ")" } , return _ : function ( d ) { this . current ( ) . body . push ( "return " , d , ";" ) } , if _ : function ( d , a , b ) { if ( ! 0 === d ) a ( ) ; else { var c = this . current ( ) . body ; c . push ( "if(" , d , "){" ) ; a ( ) ; c . push ( "}" ) ; b && ( c . push ( "else{" ) , b ( ) , c . push ( "}" ) ) } } , not : function ( d ) { return "!(" + d + ")" } , notNull : function ( d ) { return d + "!=null" } , nonComputedMember : function ( d , a ) { return d + "." + a } , computedMember : function ( d , a ) { return d + "[" + a + "]" } , member : function ( d , a , b ) { return b ? this . computedMember ( d , a ) : this . nonComputedMember ( d , a ) } , addEnsureSafeObject : function ( d ) { this . current ( ) . body . push ( this . ensureSafeObject ( d ) ,
";" ) } , addEnsureSafeMemberName : function ( d ) { this . current ( ) . body . push ( this . ensureSafeMemberName ( d ) , ";" ) } , addEnsureSafeFunction : function ( d ) { this . current ( ) . body . push ( this . ensureSafeFunction ( d ) , ";" ) } , addEnsureSafeAssignContext : function ( d ) { this . current ( ) . body . push ( this . ensureSafeAssignContext ( d ) , ";" ) } , ensureSafeObject : function ( d ) { return "ensureSafeObject(" + d + ",text)" } , ensureSafeMemberName : function ( d ) { return "ensureSafeMemberName(" + d + ",text)" } , ensureSafeFunction : function ( d ) { return "ensureSafeFunction(" + d + ",text)" } ,
getStringValue : function ( d ) { this . assign ( d , "getStringValue(" + d + ",text)" ) } , ensureSafeAssignContext : function ( d ) { return "ensureSafeAssignContext(" + d + ",text)" } , lazyRecurse : function ( d , a , b , c , e , g ) { var k = this ; return function ( ) { k . recurse ( d , a , b , c , e , g ) } } , lazyAssign : function ( d , a ) { var b = this ; return function ( ) { b . assign ( d , a ) } } , stringEscapeRegex : /[^ a-zA-Z0-9]/g , stringEscapeFn : function ( d ) { return "\\u" + ( "0000" + d . charCodeAt ( 0 ) . toString ( 16 ) ) . slice ( - 4 ) } , escape : function ( d ) { if ( p ( d ) ) return "'" + d . replace ( this . stringEscapeRegex ,
this . stringEscapeFn ) + "'" ; if ( I ( d ) ) return d . toString ( ) ; if ( ! 0 === d ) return "true" ; if ( ! 1 === d ) return "false" ; if ( null === d ) return "null" ; if ( "undefined" == typeof d ) return "undefined" ; throw cb ( "esc" ) ; } , nextId : function ( d , a ) { var b = "v" + this . state . nextId ++ ; return d || this . current ( ) . vars . push ( b + ( a ? "=" + a : "" ) ) , b } , current : function ( ) { return this . state [ this . state . computing ] } } ; of . prototype = { compile : function ( d , b ) { var c = this , e = this . astBuilder . ast ( d ) ; this . expression = d ; this . expensiveChecks = b ; Ua ( e , c . $filter ) ; var g , k ; ( g = nf ( e ) ) && ( k =
this . recurse ( g ) ) ; g = de ( e . body ) ; var f ; g && ( f = [ ] , a ( g , function ( d , a ) { var b = c . recurse ( d ) ; d . input = b ; f . push ( b ) ; d . watchId = a } ) ) ; var m = [ ] ; return a ( e . body , function ( d ) { m . push ( c . recurse ( d . expression ) ) } ) , g = 0 === e . body . length ? function ( ) { } : 1 === e . body . length ? m [ 0 ] : function ( d , b ) { var c ; return a ( m , function ( a ) { c = a ( d , b ) } ) , c } , k && ( g . assign = function ( d , a , b ) { return k ( d , b , a ) } ) , f && ( g . inputs = f ) , g . literal = ee ( e ) , g . constant = e . constant , g } , recurse : function ( d , b , c ) { var e , g , k , f = this ; if ( d . input ) return this . inputs ( d . input , d . watchId ) ; switch ( d . type ) { case Q . Literal : return this . value ( d . value ,
b ) ; case Q . UnaryExpression : return g = this . recurse ( d . argument ) , this [ "unary" + d . operator ] ( g , b ) ; case Q . BinaryExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e , g , b ) ; case Q . LogicalExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e , g , b ) ; case Q . ConditionalExpression : return this [ "ternary?:" ] ( this . recurse ( d . test ) , this . recurse ( d . alternate ) , this . recurse ( d . consequent ) , b ) ; case Q . Identifier : return $b ( d . name , f . expression ) , f . identifier ( d . name ,
f . expensiveChecks || "constructor" == d . name , b , c , f . expression ) ; case Q . MemberExpression : return e = this . recurse ( d . object , ! 1 , ! ! c ) , d . computed || ( $b ( d . property . name , f . expression ) , g = d . property . name ) , d . computed && ( g = this . recurse ( d . property ) ) , d . computed ? this . computedMember ( e , g , b , c , f . expression ) : this . nonComputedMember ( e , g , f . expensiveChecks , b , c , f . expression ) ; case Q . CallExpression : return k = [ ] , a ( d . arguments , function ( d ) { k . push ( f . recurse ( d ) ) } ) , d . filter && ( g = this . $filter ( d . callee . name ) ) , d . filter || ( g = this . recurse ( d . callee ,
! 0 ) ) , d . filter ? function ( d , a , c , e ) { for ( var f = [ ] , m = 0 ; m < k . length ; ++ m ) f . push ( k [ m ] ( d , a , c , e ) ) ; return d = g . apply ( h , f , e ) , b ? { context : h , name : h , value : d } : d } : function ( d , a , c , e ) { var m , h = g ( d , a , c , e ) ; if ( null != h . value ) { hb ( h . context , f . expression ) ; Qc ( h . value , f . expression ) ; m = [ ] ; for ( var l = 0 ; l < k . length ; ++ l ) m . push ( hb ( k [ l ] ( d , a , c , e ) , f . expression ) ) ; m = hb ( h . value . apply ( h . context , m ) , f . expression ) } return b ? { value : m } : m } ; case Q . AssignmentExpression : return e = this . recurse ( d . left , ! 0 , 1 ) , g = this . recurse ( d . right ) , function ( d , a , c , k ) { var m = e ( d ,
a , c , k ) ; return d = g ( d , a , c , k ) , hb ( m . value , f . expression ) , Rc ( m . context ) , m . context [ m . name ] = d , b ? { value : d } : d } ; case Q . ArrayExpression : return k = [ ] , a ( d . elements , function ( d ) { k . push ( f . recurse ( d ) ) } ) , function ( d , a , c , e ) { for ( var g = [ ] , f = 0 ; f < k . length ; ++ f ) g . push ( k [ f ] ( d , a , c , e ) ) ; return b ? { value : g } : g } ; case Q . ObjectExpression : return k = [ ] , a ( d . properties , function ( d ) { k . push ( { key : d . key . type === Q . Identifier ? d . key . name : "" + d . key . value , value : f . recurse ( d . value ) } ) } ) , function ( d , a , c , e ) { for ( var g = { } , f = 0 ; f < k . length ; ++ f ) g [ k [ f ] . key ] = k [ f ] . value ( d ,
a , c , e ) ; return b ? { value : g } : g } ; case Q . ThisExpression : return function ( d ) { return b ? { value : d } : d } ; case Q . NGValueParameter : return function ( d , a , c , e ) { return b ? { value : c } : c } } } , "unary+" : function ( d , a ) { return function ( b , c , e , g ) { return b = d ( b , c , e , g ) , b = E ( b ) ? + b : 0 , a ? { value : b } : b } } , "unary-" : function ( d , a ) { return function ( b , c , e , g ) { return b = d ( b , c , e , g ) , b = E ( b ) ? - b : 0 , a ? { value : b } : b } } , "unary!" : function ( d , a ) { return function ( b , c , e , g ) { return b = ! d ( b , c , e , g ) , a ? { value : b } : b } } , "binary+" : function ( d , a , b ) { return function ( c , e , g , k ) { var f = d ( c ,
e , g , k ) ; return c = a ( c , e , g , k ) , f = sc ( f , c ) , b ? { value : f } : f } } , "binary-" : function ( d , a , b ) { return function ( c , e , g , k ) { var f = d ( c , e , g , k ) ; return c = a ( c , e , g , k ) , f = ( E ( f ) ? f : 0 ) - ( E ( c ) ? c : 0 ) , b ? { value : f } : f } } , "binary*" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) * a ( c , e , g , k ) , b ? { value : c } : c } } , "binary/" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) / a ( c , e , g , k ) , b ? { value : c } : c } } , "binary%" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) % a ( c , e , g , k ) , b ? { value : c } : c } } , "binary===" : function ( d , a , b ) { return function ( c ,
e , g , k ) { return c = d ( c , e , g , k ) === a ( c , e , g , k ) , b ? { value : c } : c } } , "binary!==" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) !== a ( c , e , g , k ) , b ? { value : c } : c } } , "binary==" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) == a ( c , e , g , k ) , b ? { value : c } : c } } , "binary!=" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) != a ( c , e , g , k ) , b ? { value : c } : c } } , "binary<" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) < a ( c , e , g , k ) , b ? { value : c } : c } } , "binary>" : function ( d , a , b ) { return function ( c , e ,
g , k ) { return c = d ( c , e , g , k ) > a ( c , e , g , k ) , b ? { value : c } : c } } , "binary<=" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) <= a ( c , e , g , k ) , b ? { value : c } : c } } , "binary>=" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) >= a ( c , e , g , k ) , b ? { value : c } : c } } , "binary&&" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) && a ( c , e , g , k ) , b ? { value : c } : c } } , "binary||" : function ( d , a , b ) { return function ( c , e , g , k ) { return c = d ( c , e , g , k ) || a ( c , e , g , k ) , b ? { value : c } : c } } , "ternary?:" : function ( d , a , b , c ) { return function ( e , g ,
k , f ) { return e = d ( e , g , k , f ) ? a ( e , g , k , f ) : b ( e , g , k , f ) , c ? { value : e } : e } } , value : function ( d , a ) { return function ( ) { return a ? { context : h , name : h , value : d } : d } } , identifier : function ( d , a , b , c , e ) { return function ( g , k , f , m ) { return g = k && d in k ? k : g , c && 1 !== c && g && ! g [ d ] && ( g [ d ] = { } ) , k = g ? g [ d ] : h , a && hb ( k , e ) , b ? { context : g , name : d , value : k } : k } } , computedMember : function ( d , a , b , c , e ) { return function ( g , k , f , m ) { var h , l , n = d ( g , k , f , m ) ; return null != n && ( h = a ( g , k , f , m ) , h = rd ( h ) , $b ( h , e ) , c && 1 !== c && ( Rc ( n ) , n && ! n [ h ] && ( n [ h ] = { } ) ) , l = n [ h ] , hb ( l , e ) ) , b ? { context : n , name : h ,
value : l } : l } } , nonComputedMember : function ( d , a , b , c , e , g ) { return function ( k , f , m , l ) { return k = d ( k , f , m , l ) , e && 1 !== e && ( Rc ( k ) , k && ! k [ a ] && ( k [ a ] = { } ) ) , f = null != k ? k [ a ] : h , ( b || "constructor" == a ) && hb ( f , g ) , c ? { context : k , name : a , value : f } : f } } , inputs : function ( d , a ) { return function ( b , c , e , g ) { return g ? g [ a ] : d ( b , c , e ) } } } ; var fb = function ( d , a , b ) { this . lexer = d ; this . $filter = a ; this . options = b ; this . ast = new Q ( this . lexer ) ; this . astCompiler = b . csp ? new of ( this . ast , a ) : new td ( this . ast , a ) } ; fb . prototype = { constructor : fb , parse : function ( d ) { return this . astCompiler . compile ( d ,
this . options . expensiveChecks ) } } ; var Kg = Object . prototype . valueOf , ac = l ( "$sce" ) , zb = { HTML : "html" , CSS : "css" , URL : "url" , RESOURCE _URL : "resourceUrl" , JS : "js" } , ab = l ( "$compile" ) , Ra = f . createElement ( "a" ) , rf = Nb ( b . location . href ) ; sf . $inject = [ "$document" ] ; Ec . $inject = [ "$provide" ] ; var yf = 22 , xf = "." , uc = "0" ; fe . $inject = [ "$locale" ] ; ie . $inject = [ "$locale" ] ; var xd = { yyyy : Za ( "FullYear" , 4 ) , yy : Za ( "FullYear" , 2 , 0 , ! 0 ) , y : Za ( "FullYear" , 1 ) , MMMM : Tc ( "Month" ) , MMM : Tc ( "Month" , ! 0 ) , MM : Za ( "Month" , 2 , 1 ) , M : Za ( "Month" , 1 , 1 ) , dd : Za ( "Date" , 2 ) , d : Za ( "Date" ,
1 ) , HH : Za ( "Hours" , 2 ) , H : Za ( "Hours" , 1 ) , hh : Za ( "Hours" , 2 , - 12 ) , h : Za ( "Hours" , 1 , - 12 ) , mm : Za ( "Minutes" , 2 ) , m : Za ( "Minutes" , 1 ) , ss : Za ( "Seconds" , 2 ) , s : Za ( "Seconds" , 1 ) , sss : Za ( "Milliseconds" , 3 ) , EEEE : Tc ( "Day" ) , EEE : Tc ( "Day" , ! 0 ) , a : function ( d , a ) { return 12 > d . getHours ( ) ? a . AMPMS [ 0 ] : a . AMPMS [ 1 ] } , Z : function ( d , a , b ) { return d = - 1 * b , ( 0 <= d ? "+" : "" ) + ( Sc ( Math [ 0 < d ? "floor" : "ceil" ] ( d / 60 ) , 2 ) + Sc ( Math . abs ( d % 60 ) , 2 ) ) } , ww : me ( 2 ) , w : me ( 1 ) , G : Uc , GG : Uc , GGG : Uc , GGGG : function ( d , a ) { return 0 >= d . getFullYear ( ) ? a . ERANAMES [ 0 ] : a . ERANAMES [ 1 ] } } , Bf = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/ ,
Af = /^\-?\d+$/ ; ge . $inject = [ "$locale" ] ; var uf = A ( xa ) , vd = A ( lb ) ; je . $inject = [ "$parse" ] ; var ed = A ( { restrict : "E" , compile : function ( d , a ) { if ( ! a . href && ! a . xlinkHref ) return function ( d , a ) { if ( "a" === a [ 0 ] . nodeName . toLowerCase ( ) ) { var b = "[object SVGAnimatedString]" === tb . call ( a . prop ( "href" ) ) ? "xlink:href" : "href" ; a . on ( "click" , function ( d ) { a . attr ( b ) || d . preventDefault ( ) } ) } } } } ) , Db = { } ; a ( Fb , function ( d , a ) { function b ( d , b , e ) { d . $watch ( e [ c ] , function ( d ) { e . $set ( a , ! ! d ) } ) } if ( "multiple" != d ) { var c = qb ( "ng-" + a ) , e = b ; "checked" === d && ( e = function ( d ,
a , e ) { e . ngModel !== e [ c ] && b ( d , a , e ) } ) ; Db [ c ] = function ( ) { return { restrict : "A" , priority : 100 , link : e } } } } ) ; a ( Vd , function ( d , a ) { Db [ a ] = function ( ) { return { priority : 100 , link : function ( d , b , c ) { return "ngPattern" === a && "/" == c . ngPattern . charAt ( 0 ) && ( b = c . ngPattern . match ( wa ) ) ? void c . $set ( "ngPattern" , new RegExp ( b [ 1 ] , b [ 2 ] ) ) : void d . $watch ( c [ a ] , function ( d ) { c . $set ( a , d ) } ) } } } } ) ; a ( [ "src" , "srcset" , "href" ] , function ( d ) { var a = qb ( "ng-" + d ) ; Db [ a ] = function ( ) { return { priority : 99 , link : function ( b , c , e ) { var g = d , k = d ; "href" === d && "[object SVGAnimatedString]" ===
tb . call ( c . prop ( "href" ) ) && ( k = "xlinkHref" , e . $attr [ k ] = "xlink:href" , g = null ) ; e . $observe ( a , function ( a ) { a ? ( e . $set ( k , a ) , kc && g && c . prop ( g , e [ k ] ) ) : "href" === d && e . $set ( k , null ) } ) } } } } ) ; var yd = { $addControl : u , $$renameControl : function ( d , a ) { d . $name = a } , $removeControl : u , $setValidity : u , $setDirty : u , $setPristine : u , $setSubmitted : u } ; Cf . $inject = [ "$element" , "$attrs" , "$scope" , "$animate" , "$interpolate" ] ; var oc = function ( d ) { return [ "$timeout" , "$parse" , function ( a , b ) { function c ( d ) { return "" === d ? b ( 'this[""]' ) . assign : b ( d ) . assign || u } return { name : "form" ,
restrict : d ? "EAC" : "E" , require : [ "form" , "^^?form" ] , controller : Cf , compile : function ( b , e ) { b . addClass ( vc ) . addClass ( Yc ) ; var g = e . name ? "name" : ! ( ! d || ! e . ngForm ) && "ngForm" ; return { pre : function ( d , b , e , k ) { var f = k [ 0 ] ; if ( ! ( "action" in e ) ) { var m = function ( a ) { d . $apply ( function ( ) { f . $commitViewValue ( ) ; f . $setSubmitted ( ) } ) ; a . preventDefault ( ) } ; b [ 0 ] . addEventListener ( "submit" , m , ! 1 ) ; b . on ( "$destroy" , function ( ) { a ( function ( ) { b [ 0 ] . removeEventListener ( "submit" , m , ! 1 ) } , 0 , ! 1 ) } ) } ( k [ 1 ] || f . $$parentForm ) . $addControl ( f ) ; var l = g ? c ( f . $name ) :
u ; g && ( l ( d , f ) , e . $observe ( g , function ( a ) { f . $name !== a && ( l ( d , h ) , f . $$parentForm . $$renameControl ( f , a ) , ( l = c ( f . $name ) ) ( d , f ) ) } ) ) ; b . on ( "$destroy" , function ( ) { f . $$parentForm . $removeControl ( f ) ; l ( d , h ) ; n ( f , yd ) } ) } } } } } ] } , Be = oc ( ) , Ya = oc ( ! 0 ) , kb = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/ , Mg = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i , og = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i ,
Kf = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/ , Lf = /^(\d{4})-(\d{2})-(\d{2})$/ , Zc = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , se = /^(\d{4})-W(\d\d)$/ , Mf = /^(\d{4})-(\d\d)$/ , te = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , Wc = Ma ( ) ; a ( [ "date" , "datetime-local" , "month" , "time" , "week" ] , function ( d ) { Wc [ d ] = ! 0 } ) ; var $c = { text : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; ne ( c ) } , date : cc ( "date" , Lf , Ca ( Lf , [ "yyyy" , "MM" , "dd" ] ) , "yyyy-MM-dd" ) , "datetime-local" : cc ( "datetimelocal" , Zc , Ca ( Zc , "yyyy MM dd HH mm ss sss" . split ( " " ) ) ,
"yyyy-MM-ddTHH:mm:ss.sss" ) , time : cc ( "time" , te , Ca ( te , [ "HH" , "mm" , "ss" , "sss" ] ) , "HH:mm:ss.sss" ) , week : cc ( "week" , se , function ( d , a ) { if ( O ( d ) ) return d ; if ( p ( d ) ) { se . lastIndex = 0 ; var b = se . exec ( d ) ; if ( b ) { var c = + b [ 1 ] , e = + b [ 2 ] , g = b = 0 , k = 0 , f = 0 , m = le ( c ) , e = 7 * ( e - 1 ) ; return a && ( b = a . getHours ( ) , g = a . getMinutes ( ) , k = a . getSeconds ( ) , f = a . getMilliseconds ( ) ) , new Date ( c , 0 , m . getDate ( ) + e , b , g , k , f ) } } return NaN } , "yyyy-Www" ) , month : cc ( "month" , Mf , Ca ( Mf , [ "yyyy" , "MM" ] ) , "yyyy-MM" ) , number : function ( d , a , b , c , e , g ) { if ( mc ( d , a , b , c ) , Vc ( d , a , b , c , e , g ) , c . $$parserName =
"number" , c . $parsers . push ( function ( d ) { return c . $isEmpty ( d ) ? null : Kf . test ( d ) ? parseFloat ( d ) : h } ) , c . $formatters . push ( function ( d ) { if ( ! c . $isEmpty ( d ) ) { if ( ! I ( d ) ) throw Xc ( "numfmt" , d ) ; d = d . toString ( ) } return d } ) , E ( b . min ) || b . ngMin ) { var k ; c . $validators . min = function ( d ) { return c . $isEmpty ( d ) || B ( k ) || d >= k } ; b . $observe ( "min" , function ( d ) { E ( d ) && ! I ( d ) && ( d = parseFloat ( d , 10 ) ) ; k = I ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } if ( E ( b . max ) || b . ngMax ) { var f ; c . $validators . max = function ( d ) { return c . $isEmpty ( d ) || B ( f ) || d <= f } ; b . $observe ( "max" , function ( d ) { E ( d ) &&
! I ( d ) && ( d = parseFloat ( d , 10 ) ) ; f = I ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } } , url : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; ne ( c ) ; c . $$parserName = "url" ; c . $validators . url = function ( d , a ) { var b = d || a ; return c . $isEmpty ( b ) || Mg . test ( b ) } } , email : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; ne ( c ) ; c . $$parserName = "email" ; c . $validators . email = function ( d , a ) { var b = d || a ; return c . $isEmpty ( b ) || og . test ( b ) } } , radio : function ( d , a , b , c ) { B ( b . name ) && a . attr ( "name" , ++ xc ) ; a . on ( "click" , function ( d ) { a [ 0 ] . checked && c . $setViewValue ( b . value , d && d . type ) } ) ; c . $render =
function ( ) { a [ 0 ] . checked = b . value == c . $viewValue } ; b . $observe ( "value" , c . $render ) } , checkbox : function ( d , a , b , c , e , g , k , f ) { var h = oe ( f , d , "ngTrueValue" , b . ngTrueValue , ! 0 ) , m = oe ( f , d , "ngFalseValue" , b . ngFalseValue , ! 1 ) ; a . on ( "click" , function ( d ) { c . $setViewValue ( a [ 0 ] . checked , d && d . type ) } ) ; c . $render = function ( ) { a [ 0 ] . checked = c . $viewValue } ; c . $isEmpty = function ( d ) { return ! 1 === d } ; c . $formatters . push ( function ( d ) { return W ( d , h ) } ) ; c . $parsers . push ( function ( d ) { return d ? h : m } ) } , hidden : u , button : u , submit : u , reset : u , file : u } , pc = [ "$browser" ,
"$sniffer" , "$filter" , "$parse" , function ( d , a , b , c ) { return { restrict : "E" , require : [ "?ngModel" ] , link : { pre : function ( e , g , k , f ) { f [ 0 ] && ( $c [ xa ( k . type ) ] || $c . text ) ( e , g , k , f [ 0 ] , a , d , b , c ) } } } } ] , Ab = /^(true|false|\d+)$/ , Gd = function ( ) { return { restrict : "A" , priority : 100 , compile : function ( d , a ) { return Ab . test ( a . ngValue ) ? function ( d , a , b ) { b . $set ( "value" , d . $eval ( b . ngValue ) ) } : function ( d , a , b ) { d . $watch ( b . ngValue , function ( d ) { b . $set ( "value" , d ) } ) } } } } , Ed = [ "$compile" , function ( d ) { return { restrict : "AC" , compile : function ( a ) { return d . $$addBindingClass ( a ) ,
function ( a , b , c ) { d . $$addBindingInfo ( b , c . ngBind ) ; b = b [ 0 ] ; a . $watch ( c . ngBind , function ( d ) { b . textContent = B ( d ) ? "" : d } ) } } } } ] , De = [ "$interpolate" , "$compile" , function ( d , a ) { return { compile : function ( b ) { return a . $$addBindingClass ( b ) , function ( b , c , e ) { b = d ( c . attr ( e . $attr . ngBindTemplate ) ) ; a . $$addBindingInfo ( c , b . expressions ) ; c = c [ 0 ] ; e . $observe ( "ngBindTemplate" , function ( d ) { c . textContent = B ( d ) ? "" : d } ) } } } } ] , Ce = [ "$sce" , "$parse" , "$compile" , function ( d , a , b ) { return { restrict : "A" , compile : function ( c , e ) { var g = a ( e . ngBindHtml ) , k = a ( e . ngBindHtml ,
function ( a ) { return d . valueOf ( a ) } ) ; return b . $$addBindingClass ( c ) , function ( a , c , e ) { b . $$addBindingInfo ( c , e . ngBindHtml ) ; a . $watch ( k , function ( ) { var b = g ( a ) ; c . html ( d . getTrustedHtml ( b ) || "" ) } ) } } } } ] , Fd = A ( { restrict : "A" , require : "ngModel" , link : function ( d , a , b , c ) { c . $viewChangeListeners . push ( function ( ) { d . $eval ( b . ngChange ) } ) } } ) , Bc = dc ( "" , ! 0 ) , Ee = dc ( "Odd" , 0 ) , Tf = dc ( "Even" , 1 ) , Uf = jb ( { compile : function ( d , a ) { a . $set ( "ngCloak" , h ) ; d . removeClass ( "ng-cloak" ) } } ) , Vf = [ function ( ) { return { restrict : "A" , scope : ! 0 , controller : "@" , priority : 500 } } ] ,
Ke = { } , pg = { blur : ! 0 , focus : ! 0 } ; a ( "click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste" . split ( " " ) , function ( d ) { var a = qb ( "ng-" + d ) ; Ke [ a ] = [ "$parse" , "$rootScope" , function ( b , c ) { return { restrict : "A" , compile : function ( e , g ) { var k = b ( g [ a ] , null , ! 0 ) ; return function ( a , b ) { b . on ( d , function ( b ) { var e = function ( ) { k ( a , { $event : b } ) } ; pg [ d ] && c . $$phase ? a . $evalAsync ( e ) : a . $apply ( e ) } ) } } } } ] } ) ; var Xf = [ "$animate" , function ( d ) { return { multiElement : ! 0 ,
transclude : "element" , priority : 600 , terminal : ! 0 , restrict : "A" , $$tlb : ! 0 , link : function ( a , b , c , e , g ) { var k , h , l ; a . $watch ( c . ngIf , function ( a ) { a ? h || g ( function ( a , e ) { h = e ; a [ a . length ++ ] = f . createComment ( " end ngIf: " + c . ngIf + " " ) ; k = { clone : a } ; d . enter ( a , b . parent ( ) , b ) } ) : ( l && ( l . remove ( ) , l = null ) , h && ( h . $destroy ( ) , h = null ) , k && ( l = Tb ( k . clone ) , d . leave ( l ) . then ( function ( ) { l = null } ) , k = null ) ) } ) } } } ] , Yf = [ "$templateRequest" , "$anchorScroll" , "$animate" , function ( d , a , b ) { return { restrict : "ECA" , priority : 400 , terminal : ! 0 , transclude : "element" ,
controller : Na . noop , compile : function ( c , e ) { var g = e . ngInclude || e . src , k = e . onload || "" , f = e . autoscroll ; return function ( c , e , h , l , m ) { var n , v , t , u = 0 , r = function ( ) { v && ( v . remove ( ) , v = null ) ; n && ( n . $destroy ( ) , n = null ) ; t && ( b . leave ( t ) . then ( function ( ) { v = null } ) , v = t , t = null ) } ; c . $watch ( g , function ( g ) { var h = function ( ) { ! E ( f ) || f && ! c . $eval ( f ) || a ( ) } , v = ++ u ; g ? ( d ( g , ! 0 ) . then ( function ( d ) { if ( ! c . $$destroyed && v === u ) { var a = c . $new ( ) ; l . template = d ; d = m ( a , function ( d ) { r ( ) ; b . enter ( d , null , e ) . then ( h ) } ) ; n = a ; t = d ; n . $emit ( "$includeContentLoaded" , g ) ; c . $eval ( k ) } } ,
function ( ) { c . $$destroyed || v !== u || ( r ( ) , c . $emit ( "$includeContentError" , g ) ) } ) , c . $emit ( "$includeContentRequested" , g ) ) : ( r ( ) , l . template = null ) } ) } } } } ] , hg = [ "$compile" , function ( d ) { return { restrict : "ECA" , priority : - 400 , require : "ngInclude" , link : function ( a , b , c , e ) { /SVG/ . test ( b [ 0 ] . toString ( ) ) ? ( b . empty ( ) , d ( Ze ( e . template , f ) . childNodes ) ( a , function ( d ) { b . append ( d ) } , { futureParentElement : b } ) ) : ( b . html ( e . template ) , d ( b . contents ( ) ) ( a ) ) } } } ] , Zf = jb ( { priority : 450 , compile : function ( ) { return { pre : function ( d , a , b ) { d . $eval ( b . ngInit ) } } } } ) ,
fg = function ( ) { return { restrict : "A" , priority : 100 , require : "ngModel" , link : function ( d , b , c , e ) { var g = b . attr ( c . $attr . ngList ) || ", " , k = "false" !== c . ngTrim , f = k ? Ga ( g ) : g ; e . $parsers . push ( function ( d ) { if ( ! B ( d ) ) { var b = [ ] ; return d && a ( d . split ( f ) , function ( d ) { d && b . push ( k ? Ga ( d ) : d ) } ) , b } } ) ; e . $formatters . push ( function ( d ) { return pa ( d ) ? d . join ( g ) : h } ) ; e . $isEmpty = function ( d ) { return ! d || ! d . length } } } } , Yc = "ng-valid" , Ef = "ng-invalid" , vc = "ng-pristine" , zd = "ng-dirty" , Ad = "ng-pending" , Xc = l ( "ngModel" ) , Nf = [ "$scope" , "$exceptionHandler" , "$attrs" ,
"$element" , "$parse" , "$animate" , "$timeout" , "$rootScope" , "$q" , "$interpolate" , function ( d , b , c , e , g , k , f , l , n , v ) { this . $modelValue = this . $viewValue = Number . NaN ; this . $$rawModelValue = h ; this . $validators = { } ; this . $asyncValidators = { } ; this . $parsers = [ ] ; this . $formatters = [ ] ; this . $viewChangeListeners = [ ] ; this . $untouched = ! 0 ; this . $touched = ! 1 ; this . $pristine = ! 0 ; this . $dirty = ! 1 ; this . $valid = ! 0 ; this . $invalid = ! 1 ; this . $error = { } ; this . $$success = { } ; this . $pending = h ; this . $name = v ( c . name || "" , ! 1 ) ( d ) ; this . $$parentForm = yd ; var m , t = g ( c . ngModel ) ,
r = t . assign , q = t , y = r , z = null , p = this ; this . $$setOptions = function ( d ) { if ( ( p . $options = d ) && d . getterSetter ) { var a = g ( c . ngModel + "()" ) , b = g ( c . ngModel + "($$$p)" ) ; q = function ( d ) { var b = t ( d ) ; return J ( b ) && ( b = a ( d ) ) , b } ; y = function ( d , a ) { J ( t ( d ) ) ? b ( d , { $$$p : p . $modelValue } ) : r ( d , p . $modelValue ) } } else if ( ! t . assign ) throw Xc ( "nonassign" , c . ngModel , ba ( e ) ) ; } ; this . $render = u ; this . $isEmpty = function ( d ) { return B ( d ) || "" === d || null === d || d !== d } ; var w = 0 ; Df ( { ctrl : this , $element : e , set : function ( d , a ) { d [ a ] = ! 0 } , unset : function ( d , a ) { delete d [ a ] } , $animate : k } ) ;
this . $setPristine = function ( ) { p . $dirty = ! 1 ; p . $pristine = ! 0 ; k . removeClass ( e , zd ) ; k . addClass ( e , vc ) } ; this . $setDirty = function ( ) { p . $dirty = ! 0 ; p . $pristine = ! 1 ; k . removeClass ( e , vc ) ; k . addClass ( e , zd ) ; p . $$parentForm . $setDirty ( ) } ; this . $setUntouched = function ( ) { p . $touched = ! 1 ; p . $untouched = ! 0 ; k . setClass ( e , "ng-untouched" , "ng-touched" ) } ; this . $setTouched = function ( ) { p . $touched = ! 0 ; p . $untouched = ! 1 ; k . setClass ( e , "ng-touched" , "ng-untouched" ) } ; this . $rollbackViewValue = function ( ) { f . cancel ( z ) ; p . $viewValue = p . $$lastCommittedViewValue ;
p . $render ( ) } ; this . $validate = function ( ) { if ( ! I ( p . $modelValue ) || ! isNaN ( p . $modelValue ) ) { var d = p . $$rawModelValue , a = p . $valid , b = p . $modelValue , c = p . $options && p . $options . allowInvalid ; p . $$runValidators ( d , p . $$lastCommittedViewValue , function ( e ) { c || a === e || ( p . $modelValue = e ? d : h , p . $modelValue !== b && p . $$writeModelToScope ( ) ) } ) } } ; this . $$runValidators = function ( d , b , c ) { function e ( ) { var c = ! 0 ; return a ( p . $validators , function ( a , e ) { var x = a ( d , b ) ; c = c && x ; k ( e , x ) } ) , ! ! c || ( a ( p . $asyncValidators , function ( d , a ) { k ( a , null ) } ) , ! 1 ) } function g ( ) { var e =
[ ] , x = ! 0 ; a ( p . $asyncValidators , function ( a , c ) { var g = a ( d , b ) ; if ( ! g || ! J ( g . then ) ) throw Xc ( "nopromise" , g ) ; k ( c , h ) ; e . push ( g . then ( function ( ) { k ( c , ! 0 ) } , function ( d ) { x = ! 1 ; k ( c , ! 1 ) } ) ) } ) ; e . length ? n . all ( e ) . then ( function ( ) { f === w && c ( x ) } , u ) : f === w && c ( ! 0 ) } function k ( d , a ) { f === w && p . $setValidity ( d , a ) } w ++ ; var f = w ; ( function ( ) { var d = p . $$parserName || "parse" ; return B ( m ) ? ( k ( d , null ) , ! 0 ) : ( m || ( a ( p . $validators , function ( d , a ) { k ( a , null ) } ) , a ( p . $asyncValidators , function ( d , a ) { k ( a , null ) } ) ) , k ( d , m ) , m ) } ) ( ) && e ( ) ? g ( ) : f === w && c ( ! 1 ) } ; this . $commitViewValue =
function ( ) { var d = p . $viewValue ; f . cancel ( z ) ; ( p . $$lastCommittedViewValue !== d || "" === d && p . $$hasNativeValidators ) && ( p . $$lastCommittedViewValue = d , p . $pristine && this . $setDirty ( ) , this . $$parseAndValidate ( ) ) } ; this . $$parseAndValidate = function ( ) { var a = p . $$lastCommittedViewValue ; if ( m = ! B ( a ) || h ) for ( var b = 0 ; b < p . $parsers . length ; b ++ ) if ( a = p . $parsers [ b ] ( a ) , B ( a ) ) { m = ! 1 ; break } I ( p . $modelValue ) && isNaN ( p . $modelValue ) && ( p . $modelValue = q ( d ) ) ; var c = p . $modelValue , e = p . $options && p . $options . allowInvalid ; p . $$rawModelValue = a ; e && ( p . $modelValue =
a , p . $modelValue !== c && p . $$writeModelToScope ( ) ) ; p . $$runValidators ( a , p . $$lastCommittedViewValue , function ( d ) { e || ( p . $modelValue = d ? a : h , p . $modelValue !== c && p . $$writeModelToScope ( ) ) } ) } ; this . $$writeModelToScope = function ( ) { y ( d , p . $modelValue ) ; a ( p . $viewChangeListeners , function ( d ) { try { d ( ) } catch ( kg ) { b ( kg ) } } ) } ; this . $setViewValue = function ( d , a ) { p . $viewValue = d ; p . $options && ! p . $options . updateOnDefault || p . $$debounceViewValueCommit ( a ) } ; this . $$debounceViewValueCommit = function ( a ) { var b = 0 , c = p . $options ; c && E ( c . debounce ) && ( c =
c . debounce , I ( c ) ? b = c : I ( c [ a ] ) ? b = c [ a ] : I ( c [ "default" ] ) && ( b = c [ "default" ] ) ) ; f . cancel ( z ) ; b ? z = f ( function ( ) { p . $commitViewValue ( ) } , b ) : l . $$phase ? p . $commitViewValue ( ) : d . $apply ( function ( ) { p . $commitViewValue ( ) } ) } ; d . $watch ( function ( ) { var a = q ( d ) ; if ( a !== p . $modelValue && ( p . $modelValue === p . $modelValue || a === a ) ) { p . $modelValue = p . $$rawModelValue = a ; m = h ; for ( var b = p . $formatters , c = b . length , e = a ; c -- ; ) e = b [ c ] ( e ) ; p . $viewValue !== e && ( p . $viewValue = p . $$lastCommittedViewValue = e , p . $render ( ) , p . $$runValidators ( a , e , u ) ) } return a } ) } ] , Ie = [ "$rootScope" ,
function ( d ) { return { restrict : "A" , require : [ "ngModel" , "^?form" , "^?ngModelOptions" ] , controller : Nf , priority : 1 , compile : function ( a ) { return a . addClass ( vc ) . addClass ( "ng-untouched" ) . addClass ( Yc ) , { pre : function ( d , a , b , c ) { var e = c [ 0 ] ; a = c [ 1 ] || e . $$parentForm ; e . $$setOptions ( c [ 2 ] && c [ 2 ] . $options ) ; a . $addControl ( e ) ; b . $observe ( "name" , function ( d ) { e . $name !== d && e . $$parentForm . $$renameControl ( e , d ) } ) ; d . $on ( "$destroy" , function ( ) { e . $$parentForm . $removeControl ( e ) } ) } , post : function ( a , b , c , e ) { var g = e [ 0 ] ; g . $options && g . $options . updateOn &&
b . on ( g . $options . updateOn , function ( d ) { g . $$debounceViewValueCommit ( d && d . type ) } ) ; b . on ( "blur" , function ( b ) { g . $touched || ( d . $$phase ? a . $evalAsync ( g . $setTouched ) : a . $apply ( g . $setTouched ) ) } ) } } } } } ] , qg = /(\s+|^)default(\s+|$)/ , gg = function ( ) { return { restrict : "A" , controller : [ "$scope" , "$attrs" , function ( d , a ) { var b = this ; this . $options = S ( d . $eval ( a . ngModelOptions ) ) ; E ( this . $options . updateOn ) ? ( this . $options . updateOnDefault = ! 1 , this . $options . updateOn = Ga ( this . $options . updateOn . replace ( qg , function ( ) { return b . $options . updateOnDefault =
! 0 , " " } ) ) ) : this . $options . updateOnDefault = ! 0 } ] } } , $f = jb ( { terminal : ! 0 , priority : 1E3 } ) , rg = l ( "ngOptions" ) , ue = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/ , He = [ "$compile" , "$parse" , function ( d , b ) { function e ( d , a , e ) { function g ( d , a , b , c , e ) { this . selectValue = d ; this . viewValue = a ; this . label = b ; this . group = c ; this . disabled = e } function k ( d ) { var a ;
if ( ! l && c ( d ) ) a = d ; else { a = [ ] ; for ( var b in d ) d . hasOwnProperty ( b ) && "$" !== b . charAt ( 0 ) && a . push ( b ) } return a } var f = d . match ( ue ) ; if ( ! f ) throw rg ( "iexp" , d , ba ( a ) ) ; var h = f [ 5 ] || f [ 7 ] , l = f [ 6 ] ; d = / as / . test ( f [ 0 ] ) && f [ 1 ] ; var m = f [ 9 ] ; a = b ( f [ 2 ] ? f [ 1 ] : h ) ; var n = d && b ( d ) || a , v = m && b ( m ) , t = m ? function ( d , a ) { return v ( e , a ) } : function ( d ) { return ob ( d ) } , u = function ( d , a ) { return t ( d , w ( d , a ) ) } , r = b ( f [ 2 ] || f [ 1 ] ) , q = b ( f [ 3 ] || "" ) , p = b ( f [ 4 ] || "" ) , y = b ( f [ 8 ] ) , z = { } , w = l ? function ( d , a ) { return z [ l ] = a , z [ h ] = d , z } : function ( d ) { return z [ h ] = d , z } ; return { trackBy : m , getTrackByValue : u ,
getWatchables : b ( y , function ( d ) { var a = [ ] ; d = d || [ ] ; for ( var b = k ( d ) , c = b . length , g = 0 ; g < c ; g ++ ) { var h = d === b ? g : b [ g ] , l = w ( d [ h ] , h ) , h = t ( d [ h ] , l ) ; a . push ( h ) ; ( f [ 2 ] || f [ 1 ] ) && ( h = r ( e , l ) , a . push ( h ) ) ; f [ 4 ] && ( l = p ( e , l ) , a . push ( l ) ) } return a } ) , getOptions : function ( ) { for ( var d = [ ] , a = { } , b = y ( e ) || [ ] , c = k ( b ) , f = c . length , h = 0 ; h < f ; h ++ ) { var l = b === c ? h : c [ h ] , v = w ( b [ l ] , l ) , z = n ( e , v ) , l = t ( z , v ) , K = r ( e , v ) , A = q ( e , v ) , v = p ( e , v ) , z = new g ( l , z , K , A , v ) ; d . push ( z ) ; a [ l ] = z } return { items : d , selectValueMap : a , getOptionFromViewValue : function ( d ) { return a [ u ( d ) ] } , getViewValueFromOption : function ( d ) { return m ?
Na . copy ( d . viewValue ) : d . viewValue } } } } } var g = f . createElement ( "option" ) , k = f . createElement ( "optgroup" ) ; return { restrict : "A" , terminal : ! 0 , require : [ "select" , "?ngModel" ] , link : { pre : function ( d , a , b , c ) { c [ 0 ] . registerOption = u } , post : function ( b , c , f , h ) { function l ( d , a ) { d . element = a ; a . disabled = d . disabled ; d . label !== a . label && ( a . label = d . label , a . textContent = d . label ) ; d . value !== a . value && ( a . value = d . selectValue ) } function m ( d , a , b , c ) { return a && xa ( a . nodeName ) === b ? b = a : ( b = c . cloneNode ( ! 1 ) , a ? d . insertBefore ( b , a ) : d . appendChild ( b ) ) , b }
function n ( d ) { for ( var a ; d ; ) a = d . nextSibling , Jc ( d ) , d = a } function v ( d ) { var a = r && r [ 0 ] , b = K && K [ 0 ] ; if ( a || b ) for ( ; d && ( d === a || d === b || 8 === d . nodeType || "option" === ha ( d ) && "" === d . value ) ; ) d = d . nextSibling ; return d } function t ( ) { var d = A && q . readValue ( ) ; A = B . getOptions ( ) ; var a = { } , b = c [ 0 ] . firstChild ; if ( w && c . prepend ( r ) , b = v ( b ) , A . items . forEach ( function ( d ) { var e , x ; d . group ? ( e = a [ d . group ] , e || ( e = m ( c [ 0 ] , b , "optgroup" , k ) , b = e . nextSibling , e . label = d . group , e = a [ d . group ] = { groupElement : e , currentOptionElement : e . firstChild } ) , x = m ( e . groupElement ,
e . currentOptionElement , "option" , g ) , l ( d , x ) , e . currentOptionElement = x . nextSibling ) : ( x = m ( c [ 0 ] , b , "option" , g ) , l ( d , x ) , b = x . nextSibling ) } ) , Object . keys ( a ) . forEach ( function ( d ) { n ( a [ d ] . currentOptionElement ) } ) , n ( b ) , u . $render ( ) , ! u . $isEmpty ( d ) ) { var e = q . readValue ( ) ; ( B . trackBy || p ? W ( d , e ) : d === e ) || ( u . $setViewValue ( e ) , u . $render ( ) ) } } var u = h [ 1 ] ; if ( u ) { var r , q = h [ 0 ] , p = f . multiple ; h = 0 ; for ( var y = c . children ( ) , z = y . length ; h < z ; h ++ ) if ( "" === y [ h ] . value ) { r = y . eq ( h ) ; break } var w = ! ! r , K = fa ( g . cloneNode ( ! 1 ) ) ; K . val ( "?" ) ; var A , B = e ( f . ngOptions ,
c , b ) ; p ? ( u . $isEmpty = function ( d ) { return ! d || 0 === d . length } , q . writeValue = function ( d ) { A . items . forEach ( function ( d ) { d . element . selected = ! 1 } ) ; d && d . forEach ( function ( d ) { ( d = A . getOptionFromViewValue ( d ) ) && ! d . disabled && ( d . element . selected = ! 0 ) } ) } , q . readValue = function ( ) { var d = c . val ( ) || [ ] , b = [ ] ; return a ( d , function ( d ) { ( d = A . selectValueMap [ d ] ) && ! d . disabled && b . push ( A . getViewValueFromOption ( d ) ) } ) , b } , B . trackBy && b . $watchCollection ( function ( ) { if ( pa ( u . $viewValue ) ) return u . $viewValue . map ( function ( d ) { return B . getTrackByValue ( d ) } ) } ,
function ( ) { u . $render ( ) } ) ) : ( q . writeValue = function ( d ) { var a = A . getOptionFromViewValue ( d ) ; a && ! a . disabled ? ( c [ 0 ] . value !== a . selectValue && ( K . remove ( ) , w || r . remove ( ) , c [ 0 ] . value = a . selectValue , a . element . selected = ! 0 ) , a . element . setAttribute ( "selected" , "selected" ) ) : null === d || w ? ( K . remove ( ) , w || c . prepend ( r ) , c . val ( "" ) , r . prop ( "selected" , ! 0 ) , r . attr ( "selected" , ! 0 ) ) : ( w || r . remove ( ) , c . prepend ( K ) , c . val ( "?" ) , K . prop ( "selected" , ! 0 ) , K . attr ( "selected" , ! 0 ) ) } , q . readValue = function ( ) { var d = A . selectValueMap [ c . val ( ) ] ; return d && ! d . disabled ?
( w || r . remove ( ) , K . remove ( ) , A . getViewValueFromOption ( d ) ) : null } , B . trackBy && b . $watch ( function ( ) { return B . getTrackByValue ( u . $viewValue ) } , function ( ) { u . $render ( ) } ) ) ; w ? ( r . remove ( ) , d ( r ) ( b ) , r . removeClass ( "ng-scope" ) ) : r = fa ( g . cloneNode ( ! 1 ) ) ; t ( ) ; b . $watchCollection ( B . getWatchables , t ) } } } } } ] , ag = [ "$locale" , "$interpolate" , "$log" , function ( d , b , c ) { var e = /{}/g , g = /^when(Minus)?(.+)$/ ; return { link : function ( k , f , h ) { function l ( d ) { f . text ( d || "" ) } var m , n = h . count , v = h . $attr . when && f . attr ( h . $attr . when ) , t = h . offset || 0 , r = k . $eval ( v ) ||
{ } , q = { } , p = b . startSymbol ( ) , y = b . endSymbol ( ) , z = p + n + "-" + t + y , w = Na . noop ; a ( h , function ( d , a ) { var b = g . exec ( a ) ; b && ( b = ( b [ 1 ] ? "-" : "" ) + xa ( b [ 2 ] ) , r [ b ] = f . attr ( h . $attr [ a ] ) ) } ) ; a ( r , function ( d , a ) { q [ a ] = b ( d . replace ( e , z ) ) } ) ; k . $watch ( n , function ( a ) { var b = parseFloat ( a ) , e = isNaN ( b ) ; e || b in r || ( b = d . pluralCat ( b - t ) ) ; b === m || e && I ( m ) && isNaN ( m ) || ( w ( ) , e = q [ b ] , B ( e ) ? ( null != a && c . debug ( "ngPluralize: no rule defined for '" + b + "' in " + v ) , w = u , l ( ) ) : w = k . $watch ( e , l ) , m = b ) } ) } } } ] , Cc = [ "$parse" , "$animate" , function ( d , b ) { var e = l ( "ngRepeat" ) , g = function ( d ,
a , b , c , e , g , k ) { d [ b ] = c ; e && ( d [ e ] = g ) ; d . $index = a ; d . $first = 0 === a ; d . $last = a === k - 1 ; d . $middle = ! ( d . $first || d . $last ) ; d . $odd = ! ( d . $even = 0 === ( 1 & a ) ) } ; return { restrict : "A" , multiElement : ! 0 , transclude : "element" , priority : 1E3 , terminal : ! 0 , $$tlb : ! 0 , compile : function ( k , l ) { var m = l . ngRepeat , n = f . createComment ( " end ngRepeat: " + m + " " ) , v = m . match ( /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ) ; if ( ! v ) throw e ( "iexp" , m ) ; var t = v [ 1 ] , u = v [ 2 ] , r = v [ 3 ] , q = v [ 4 ] , v = t . match ( /^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/ ) ;
if ( ! v ) throw e ( "iidexp" , t ) ; var p = v [ 3 ] || v [ 1 ] , y = v [ 2 ] ; if ( r && ( ! /^[$a-zA-Z_][$a-zA-Z0-9_]*$/ . test ( r ) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/ . test ( r ) ) ) throw e ( "badident" , r ) ; var z , w , K , A , B = { $id : ob } ; return q ? z = d ( q ) : ( K = function ( d , a ) { return ob ( a ) } , A = function ( d ) { return d } ) , function ( d , k , f , l , v ) { z && ( w = function ( a , b , c ) { return y && ( B [ y ] = a ) , B [ p ] = b , B . $index = c , z ( d , B ) } ) ; var t = Ma ( ) ; d . $watchCollection ( u , function ( x ) { var D , f , l , u , q , z , B , S , E , aa , R = k [ 0 ] , O = Ma ( ) ; if ( r && ( d [ r ] = x ) , c ( x ) ) S =
x , f = w || K ; else for ( aa in f = w || A , S = [ ] , x ) sb . call ( x , aa ) && "$" !== aa . charAt ( 0 ) && S . push ( aa ) ; u = S . length ; aa = Array ( u ) ; for ( D = 0 ; D < u ; D ++ ) if ( q = x === S ? D : S [ D ] , z = x [ q ] , B = f ( q , z , D ) , t [ B ] ) E = t [ B ] , delete t [ B ] , O [ B ] = E , aa [ D ] = E ; else { if ( O [ B ] ) throw a ( aa , function ( d ) { d && d . scope && ( t [ d . id ] = d ) } ) , e ( "dupes" , m , B , z ) ; aa [ D ] = { id : B , scope : h , clone : h } ; O [ B ] = ! 0 } for ( l in t ) { if ( E = t [ l ] , B = Tb ( E . clone ) , b . leave ( B ) , B [ 0 ] . parentNode ) for ( D = 0 , f = B . length ; D < f ; D ++ ) B [ D ] . $$NG _REMOVED = ! 0 ; E . scope . $destroy ( ) } for ( D = 0 ; D < u ; D ++ ) if ( q = x === S ? D : S [ D ] , z = x [ q ] , E = aa [ D ] , E . scope ) { l =
R ; do l = l . nextSibling ; while ( l && l . $$NG _REMOVED ) ; E . clone [ 0 ] != l && b . move ( Tb ( E . clone ) , null , R ) ; R = E . clone [ E . clone . length - 1 ] ; g ( E . scope , D , p , z , y , q , u ) } else v ( function ( d , a ) { E . scope = a ; var c = n . cloneNode ( ! 1 ) ; d [ d . length ++ ] = c ; b . enter ( d , null , R ) ; R = c ; E . clone = d ; O [ E . id ] = E ; g ( E . scope , D , p , z , y , q , u ) } ) ; t = O } ) } } } } ] , Fe = [ "$animate" , function ( d ) { return { restrict : "A" , multiElement : ! 0 , link : function ( a , b , c ) { a . $watch ( c . ngShow , function ( a ) { d [ a ? "removeClass" : "addClass" ] ( b , "ng-hide" , { tempClasses : "ng-hide-animate" } ) } ) } } } ] , Wf = [ "$animate" , function ( d ) { return { restrict : "A" ,
multiElement : ! 0 , link : function ( a , b , c ) { a . $watch ( c . ngHide , function ( a ) { d [ a ? "addClass" : "removeClass" ] ( b , "ng-hide" , { tempClasses : "ng-hide-animate" } ) } ) } } } ] , Ge = jb ( function ( d , b , c ) { d . $watch ( c . ngStyle , function ( d , c ) { c && d !== c && a ( c , function ( d , a ) { b . css ( a , "" ) } ) ; d && b . css ( d ) } , ! 0 ) } ) , bg = [ "$animate" , function ( d ) { return { require : "ngSwitch" , controller : [ "$scope" , function ( ) { this . cases = { } } ] , link : function ( b , c , e , g ) { var k = [ ] , h = [ ] , l = [ ] , m = [ ] , v = function ( d , a ) { return function ( ) { d . splice ( a , 1 ) } } ; b . $watch ( e . ngSwitch || e . on , function ( b ) { var c ,
e ; c = 0 ; for ( e = l . length ; c < e ; ++ c ) d . cancel ( l [ c ] ) ; c = l . length = 0 ; for ( e = m . length ; c < e ; ++ c ) { var n = Tb ( h [ c ] . clone ) ; m [ c ] . $destroy ( ) ; ( l [ c ] = d . leave ( n ) ) . then ( v ( l , c ) ) } h . length = 0 ; m . length = 0 ; ( k = g . cases [ "!" + b ] || g . cases [ "?" ] ) && a ( k , function ( a ) { a . transclude ( function ( b , c ) { m . push ( c ) ; var e = a . element ; b [ b . length ++ ] = f . createComment ( " end ngSwitchWhen: " ) ; h . push ( { clone : b } ) ; d . enter ( b , e . parent ( ) , e ) } ) } ) } ) } } } ] , cg = jb ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( d , a , b , c , e ) { c . cases [ "!" + b . ngSwitchWhen ] =
c . cases [ "!" + b . ngSwitchWhen ] || [ ] ; c . cases [ "!" + b . ngSwitchWhen ] . push ( { transclude : e , element : a } ) } } ) , dg = jb ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( d , a , b , c , e ) { c . cases [ "?" ] = c . cases [ "?" ] || [ ] ; c . cases [ "?" ] . push ( { transclude : e , element : a } ) } } ) , eg = jb ( { restrict : "EAC" , link : function ( d , a , b , c , e ) { if ( ! e ) throw l ( "ngTransclude" ) ( "orphan" , ba ( a ) ) ; e ( function ( d ) { a . empty ( ) ; a . append ( d ) } ) } } ) , Pf = [ "$templateCache" , function ( d ) { return { restrict : "E" , terminal : ! 0 , compile : function ( a , b ) { "text/ng-template" ==
b . type && d . put ( b . id , a [ 0 ] . text ) } } } ] , ve = { $setViewValue : u , $render : u } , sg = [ "$element" , "$scope" , "$attrs" , function ( d , a , b ) { var c = this , e = new Mb ; c . ngModelCtrl = ve ; c . unknownOption = fa ( f . createElement ( "option" ) ) ; c . renderUnknownOption = function ( a ) { a = "? " + ob ( a ) + " ?" ; c . unknownOption . val ( a ) ; d . prepend ( c . unknownOption ) ; d . val ( a ) } ; a . $on ( "$destroy" , function ( ) { c . renderUnknownOption = u } ) ; c . removeUnknownOption = function ( ) { c . unknownOption . parent ( ) && c . unknownOption . remove ( ) } ; c . readValue = function ( ) { return c . removeUnknownOption ( ) ,
d . val ( ) } ; c . writeValue = function ( a ) { c . hasOption ( a ) ? ( c . removeUnknownOption ( ) , d . val ( a ) , "" === a && c . emptyOption . prop ( "selected" , ! 0 ) ) : null == a && c . emptyOption ? ( c . removeUnknownOption ( ) , d . val ( "" ) ) : c . renderUnknownOption ( a ) } ; c . addOption = function ( d , a ) { if ( 8 !== a [ 0 ] . nodeType ) { Sb ( d , '"option value"' ) ; "" === d && ( c . emptyOption = a ) ; var b = e . get ( d ) || 0 ; e . put ( d , b + 1 ) ; c . ngModelCtrl . $render ( ) ; a [ 0 ] . hasAttribute ( "selected" ) && ( a [ 0 ] . selected = ! 0 ) } } ; c . removeOption = function ( d ) { var a = e . get ( d ) ; a && ( 1 === a ? ( e . remove ( d ) , "" === d && ( c . emptyOption =
h ) ) : e . put ( d , a - 1 ) ) } ; c . hasOption = function ( d ) { return ! ! e . get ( d ) } ; c . registerOption = function ( d , a , b , e , g ) { if ( e ) { var k ; b . $observe ( "value" , function ( d ) { E ( k ) && c . removeOption ( k ) ; k = d ; c . addOption ( d , a ) } ) } else g ? d . $watch ( g , function ( d , e ) { b . $set ( "value" , d ) ; e !== d && c . removeOption ( e ) ; c . addOption ( d , a ) } ) : c . addOption ( b . value , a ) ; a . on ( "$destroy" , function ( ) { c . removeOption ( b . value ) ; c . ngModelCtrl . $render ( ) } ) } } ] , Qf = function ( ) { return { restrict : "E" , require : [ "select" , "?ngModel" ] , controller : sg , priority : 1 , link : { pre : function ( d , b , c , e ) { var g =
e [ 1 ] ; if ( g ) { var k = e [ 0 ] ; if ( k . ngModelCtrl = g , b . on ( "change" , function ( ) { d . $apply ( function ( ) { g . $setViewValue ( k . readValue ( ) ) } ) } ) , c . multiple ) { k . readValue = function ( ) { var d = [ ] ; return a ( b . find ( "option" ) , function ( a ) { a . selected && d . push ( a . value ) } ) , d } ; k . writeValue = function ( d ) { var c = new Mb ( d ) ; a ( b . find ( "option" ) , function ( d ) { d . selected = E ( c . get ( d . value ) ) } ) } ; var f , h = NaN ; d . $watch ( function ( ) { h !== g . $viewValue || W ( f , g . $viewValue ) || ( f = ka ( g . $viewValue ) , g . $render ( ) ) ; h = g . $viewValue } ) ; g . $isEmpty = function ( d ) { return ! d || 0 === d . length } } } } ,
post : function ( d , a , b , c ) { var e = c [ 1 ] ; if ( e ) { var g = c [ 0 ] ; e . $render = function ( ) { g . writeValue ( e . $viewValue ) } } } } } } , Sf = [ "$interpolate" , function ( d ) { return { restrict : "E" , priority : 100 , compile : function ( a , b ) { if ( E ( b . value ) ) var c = d ( b . value , ! 0 ) ; else { var e = d ( a . text ( ) , ! 0 ) ; e || b . $set ( "value" , a . text ( ) ) } return function ( d , a , b ) { var g = a . parent ( ) ; ( g = g . data ( "$selectController" ) || g . parent ( ) . data ( "$selectController" ) ) && g . registerOption ( d , a , b , c , e ) } } } } ] , Rf = A ( { restrict : "E" , terminal : ! 1 } ) , ta = function ( ) { return { restrict : "A" , require : "?ngModel" ,
link : function ( d , a , b , c ) { c && ( b . required = ! 0 , c . $validators . required = function ( d , a ) { return ! b . required || ! c . $isEmpty ( a ) } , b . $observe ( "required" , function ( ) { c . $validate ( ) } ) ) } } } , fd = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e , g = b . ngPattern || b . pattern ; b . $observe ( "pattern" , function ( d ) { if ( p ( d ) && 0 < d . length && ( d = new RegExp ( "^" + d + "$" ) ) , d && ! d . test ) throw l ( "ngPattern" ) ( "noregexp" , g , d , ba ( a ) ) ; e = d || h ; c . $validate ( ) } ) ; c . $validators . pattern = function ( d , a ) { return c . $isEmpty ( a ) || B ( e ) || e . test ( a ) } } } } } ,
gd = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e = - 1 ; b . $observe ( "maxlength" , function ( d ) { d = parseInt ( d , 10 ) ; e = isNaN ( d ) ? - 1 : d ; c . $validate ( ) } ) ; c . $validators . maxlength = function ( d , a ) { return 0 > e || c . $isEmpty ( a ) || a . length <= e } } } } } , Je = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e = 0 ; b . $observe ( "minlength" , function ( d ) { e = parseInt ( d , 10 ) || 0 ; c . $validate ( ) } ) ; c . $validators . minlength = function ( d , a ) { return c . $isEmpty ( a ) || a . length >= e } } } } } ; b . angular . bootstrap ?
b . console && console . log ( "WARNING: Tried to load angular more than once." ) : ( za ( ) , ze ( Na ) , Na . module ( "ngLocale" , [ ] , [ "$provide" , function ( d ) { function a ( d ) { d += "" ; var a = d . indexOf ( "." ) ; return - 1 == a ? 0 : d . length - a - 1 } d . value ( "$locale" , { DATETIME _FORMATS : { AMPMS : [ "AM" , "PM" ] , DAY : "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" . split ( " " ) , ERANAMES : [ "Before Christ" , "Anno Domini" ] , ERAS : [ "BC" , "AD" ] , FIRSTDAYOFWEEK : 6 , MONTH : "January February March April May June July August September October November December" . split ( " " ) ,
SHORTDAY : "Sun Mon Tue Wed Thu Fri Sat" . split ( " " ) , SHORTMONTH : "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" . split ( " " ) , STANDALONEMONTH : "January February March April May June July August September October November December" . split ( " " ) , WEEKENDRANGE : [ 5 , 6 ] , fullDate : "EEEE, MMMM d, y" , longDate : "MMMM d, y" , medium : "MMM d, y h:mm:ss a" , mediumDate : "MMM d, y" , mediumTime : "h:mm:ss a" , "short" : "M/d/yy h:mm a" , shortDate : "M/d/yy" , shortTime : "h:mm a" } , NUMBER _FORMATS : { CURRENCY _SYM : "$" , DECIMAL _SEP : "." , GROUP _SEP : "," ,
PATTERNS : [ { gSize : 3 , lgSize : 3 , maxFrac : 3 , minFrac : 0 , minInt : 1 , negPre : "-" , negSuf : "" , posPre : "" , posSuf : "" } , { gSize : 3 , lgSize : 3 , maxFrac : 2 , minFrac : 2 , minInt : 1 , negPre : "-\u00a4" , negSuf : "" , posPre : "\u00a4" , posSuf : "" } ] } , id : "en-us" , localeID : "en_US" , pluralCat : function ( d , b ) { var c = 0 | d , e = b ; return h === e && ( e = Math . min ( a ( d ) , 3 ) ) , Math . pow ( 10 , e ) , 1 == c && 0 == e ? "one" : "other" } } ) } ] ) , fa ( f ) . ready ( function ( ) { Fa ( f , Z ) } ) ) } ( window , document ) ; ! window . angular . $$csp ( ) . noInlineStyle && window . angular . element ( document . head ) . prepend ( '<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>' ) ;
var duScrollDefaultEasing = function ( b ) { return . 5 > b ? Math . pow ( 2 * b , 2 ) / 2 : 1 - Math . pow ( 2 * ( 1 - b ) , 2 ) / 2 } , duScroll = angular . module ( "duScroll" , [ "duScroll.scrollspy" , "duScroll.smoothScroll" , "duScroll.scrollContainer" , "duScroll.spyContext" , "duScroll.scrollHelpers" ] ) . value ( "duScrollDuration" , 350 ) . value ( "duScrollSpyWait" , 100 ) . value ( "duScrollGreedy" , ! 1 ) . value ( "duScrollOffset" , 0 ) . value ( "duScrollEasing" , duScrollDefaultEasing ) . value ( "duScrollCancelOnEvents" , "scroll mousedown mousewheel touchmove keydown" ) . value ( "duScrollBottomSpy" ,
2017-04-11 07:10:36 +00:00
! 1 ) . value ( "duScrollActiveClass" , "active" ) ; "undefined" != typeof module && module && module . exports && ( module . exports = duScroll ) ;
2017-09-20 18:29:17 +00:00
angular . module ( "duScroll.scrollHelpers" , [ "duScroll.requestAnimation" ] ) . run ( [ "$window" , "$q" , "cancelAnimation" , "requestAnimation" , "duScrollEasing" , "duScrollDuration" , "duScrollOffset" , "duScrollCancelOnEvents" , function ( b , f , h , l , c , a , e , g ) { var t = { } , k = function ( a ) { return "undefined" != typeof HTMLDocument && a instanceof HTMLDocument || a . nodeType && a . nodeType === a . DOCUMENT _NODE } , n = function ( a ) { return "undefined" != typeof HTMLElement && a instanceof HTMLElement || a . nodeType && a . nodeType === a . ELEMENT _NODE } , r = function ( a ) { return n ( a ) ||
k ( a ) ? a : a [ 0 ] } ; t . duScrollTo = function ( a , c , e , g ) { var f ; if ( angular . isElement ( a ) ? f = this . duScrollToElement : angular . isDefined ( e ) && ( f = this . duScrollToAnimated ) , f ) return f . apply ( this , arguments ) ; f = r ( this ) ; return k ( f ) ? b . scrollTo ( a , c ) : ( f . scrollLeft = a , void ( f . scrollTop = c ) ) } ; var y , u ; t . duScrollToAnimated = function ( a , b , e , k ) { e && ! k && ( k = c ) ; var n = this . duScrollLeft ( ) , t = this . duScrollTop ( ) , r = Math . round ( a - n ) , z = Math . round ( b - t ) , w = null , A = 0 , B = this , N = function ( a ) { ( ! a || A && 0 < a . which ) && ( g && B . unbind ( g , N ) , h ( y ) , u . reject ( ) , y = null ) } ; if ( y &&
N ( ) , u = f . defer ( ) , 0 === e || ! r && ! z ) return 0 === e && B . duScrollTo ( a , b ) , u . resolve ( ) , u . promise ; var T = function ( a ) { null === w && ( w = a ) ; A = a - w ; a = A >= e ? 1 : k ( A / e ) ; B . scrollTo ( n + Math . ceil ( r * a ) , t + Math . ceil ( z * a ) ) ; 1 > a ? y = l ( T ) : ( g && B . unbind ( g , N ) , y = null , u . resolve ( ) ) } ; return B . duScrollTo ( n , t ) , g && B . bind ( g , N ) , y = l ( T ) , u . promise } ; t . duScrollToElement = function ( a , b , c , g ) { var k = r ( this ) ; angular . isNumber ( b ) && ! isNaN ( b ) || ( b = e ) ; a = this . duScrollTop ( ) + r ( a ) . getBoundingClientRect ( ) . top - b ; return n ( k ) && ( a -= k . getBoundingClientRect ( ) . top ) , this . duScrollTo ( 0 ,
a , c , g ) } ; t . duScrollLeft = function ( a , c , e ) { if ( angular . isNumber ( a ) ) return this . duScrollTo ( a , this . duScrollTop ( ) , c , e ) ; a = r ( this ) ; return k ( a ) ? b . scrollX || document . documentElement . scrollLeft || document . body . scrollLeft : a . scrollLeft } ; t . duScrollTop = function ( a , c , e ) { if ( angular . isNumber ( a ) ) return this . duScrollTo ( this . duScrollLeft ( ) , a , c , e ) ; a = r ( this ) ; return k ( a ) ? b . scrollY || document . documentElement . scrollTop || document . body . scrollTop : a . scrollTop } ; t . duScrollToElementAnimated = function ( b , c , e , g ) { return this . duScrollToElement ( b ,
c , e || a , g ) } ; t . duScrollTopAnimated = function ( b , c , e ) { return this . duScrollTop ( b , c || a , e ) } ; t . duScrollLeftAnimated = function ( b , c , e ) { return this . duScrollLeft ( b , c || a , e ) } ; angular . forEach ( t , function ( a , b ) { angular . element . prototype [ b ] = a ; var c = b . replace ( /^duScroll/ , "scroll" ) ; angular . isUndefined ( angular . element . prototype [ c ] ) && ( angular . element . prototype [ c ] = a ) } ) } ] ) ;
angular . module ( "duScroll.polyfill" , [ ] ) . factory ( "polyfill" , [ "$window" , function ( b ) { var f = [ "webkit" , "moz" , "o" , "ms" ] ; return function ( h , l ) { if ( b [ h ] ) return b [ h ] ; for ( var c , a = h . substr ( 0 , 1 ) . toUpperCase ( ) + h . substr ( 1 ) , e = 0 ; e < f . length ; e ++ ) if ( c = f [ e ] + a , b [ c ] ) return b [ c ] ; return l } } ] ) ;
angular . module ( "duScroll.requestAnimation" , [ "duScroll.polyfill" ] ) . factory ( "requestAnimation" , [ "polyfill" , "$timeout" , function ( b , f ) { var h = 0 ; return b ( "requestAnimationFrame" , function ( b , c ) { var a = ( new Date ) . getTime ( ) , e = Math . max ( 0 , 16 - ( a - h ) ) , g = f ( function ( ) { b ( a + e ) } , e ) ; return h = a + e , g } ) } ] ) . factory ( "cancelAnimation" , [ "polyfill" , "$timeout" , function ( b , f ) { return b ( "cancelAnimationFrame" , function ( b ) { f . cancel ( b ) } ) } ] ) ;
angular . module ( "duScroll.spyAPI" , [ "duScroll.scrollContainerAPI" ] ) . factory ( "spyAPI" , [ "$rootScope" , "$timeout" , "$window" , "$document" , "scrollContainerAPI" , "duScrollGreedy" , "duScrollSpyWait" , "duScrollBottomSpy" , "duScrollActiveClass" , function ( b , f , h , l , c , a , e , g , t ) { var k = function ( c ) { var k = ! 1 , n = ! 1 , u = function ( ) { n = ! 1 ; var e ; e = c . container [ 0 ] ; var k = 0 ; "undefined" != typeof HTMLElement && e instanceof HTMLElement || e . nodeType && e . nodeType === e . ELEMENT _NODE ? ( k = e . getBoundingClientRect ( ) . top , e = Math . round ( e . scrollTop + e . clientHeight ) >=
e . scrollHeight ) : e = Math . round ( h . pageYOffset + h . innerHeight ) >= ( l [ 0 ] . body . scrollHeight || l [ 0 ] . documentElement . scrollHeight ) ; var f , u , r , q , y , z , w = g && e ? "bottom" : "top" ; q = c . spies ; u = c . currentlyActive ; r = void 0 ; for ( f = 0 ; f < q . length ; f ++ ) y = q [ f ] , ( z = y . getTargetPosition ( ) ) && ( g && e || 20 > z . top + y . offset - k && ( a || - 1 * z . top + k ) < z . height ) && ( ! r || r [ w ] < z [ w ] ) && ( r = { spy : y } , r [ w ] = z [ w ] ) ; r && ( r = r . spy ) ; u === r || a && ! r || ( u && ( u . $element . removeClass ( t ) , b . $broadcast ( "duScrollspy:becameInactive" , u . $element , angular . element ( u . getTargetElement ( ) ) ) ) , r &&
( r . $element . addClass ( t ) , b . $broadcast ( "duScrollspy:becameActive" , r . $element , angular . element ( r . getTargetElement ( ) ) ) ) , c . currentlyActive = r ) } ; return e ? function ( ) { k ? n = ! 0 : ( u ( ) , k = f ( function ( ) { k = ! 1 ; n && u ( ) } , e , ! 1 ) ) } : u } , n = { } , r = function ( a ) { var b = a . $id , c = { spies : [ ] } ; return c . handler = k ( c ) , n [ b ] = c , a . $on ( "$destroy" , function ( ) { y ( a ) } ) , b } , y = function ( a ) { a = a . $id ; var b = n [ a ] , c = b . container ; c && c . off ( "scroll" , b . handler ) ; delete n [ a ] } , u = r ( b ) , w = function ( a ) { return n [ a . $id ] ? n [ a . $id ] : a . $parent ? w ( a . $parent ) : n [ u ] } , A = function ( a ) { var b ,
c , e = a . $scope ; if ( e ) return w ( e ) ; for ( c in n ) if ( b = n [ c ] , - 1 !== b . spies . indexOf ( a ) ) return b } ; return { addSpy : function ( a ) { var b = A ( a ) ; if ( b ) { b . spies . push ( a ) ; var e ; if ( e = b . container ) a : { for ( e = b . container ; e . parentNode ; ) if ( e = e . parentNode , e === document ) { e = ! 0 ; break a } e = ! 1 } e || ( b . container && b . container . off ( "scroll" , b . handler ) , b . container = c . getContainer ( a . $scope ) , b . container . on ( "scroll" , b . handler ) . triggerHandler ( "scroll" ) ) } } , removeSpy : function ( a ) { var c = A ( a ) ; a === c . currentlyActive && ( b . $broadcast ( "duScrollspy:becameInactive" ,
c . currentlyActive . $element ) , c . currentlyActive = null ) ; var e = c . spies . indexOf ( a ) ; - 1 !== e && c . spies . splice ( e , 1 ) ; a . $element = null } , createContext : r , destroyContext : y , getContextForScope : w } } ] ) ;
angular . module ( "duScroll.scrollContainerAPI" , [ ] ) . factory ( "scrollContainerAPI" , [ "$document" , function ( b ) { var f = { } , h = function ( b ) { return f [ b . $id ] ? b . $id : b . $parent ? h ( b . $parent ) : void 0 } ; return { getContainerId : h , getContainer : function ( l ) { return ( l = h ( l ) ) ? f [ l ] : b } , setContainer : function ( b , c ) { var a = b . $id ; return f [ a ] = c , a } , removeContainer : function ( b ) { ( b = h ( b ) ) && delete f [ b ] } } } ] ) ;
angular . module ( "duScroll.smoothScroll" , [ "duScroll.scrollHelpers" , "duScroll.scrollContainerAPI" ] ) . directive ( "duSmoothScroll" , [ "duScrollDuration" , "duScrollOffset" , "scrollContainerAPI" , function ( b , f , h ) { return { link : function ( l , c , a ) { c . on ( "click" , function ( c ) { if ( a . href && - 1 !== a . href . indexOf ( "#" ) || "" !== a . duSmoothScroll ) { var e = a . href ? a . href . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : a . duSmoothScroll ; if ( ( e = document . getElementById ( e ) || document . getElementsByName ( e ) [ 0 ] ) && e . getBoundingClientRect ) { c . stopPropagation &&
c . stopPropagation ( ) ; c . preventDefault && c . preventDefault ( ) ; c = a . offset ? parseInt ( a . offset , 10 ) : f ; var t = a . duration ? parseInt ( a . duration , 10 ) : b ; h . getContainer ( l ) . duScrollToElement ( angular . element ( e ) , isNaN ( c ) ? 0 : c , isNaN ( t ) ? 0 : t ) } } } ) } } } ] ) ; angular . module ( "duScroll.spyContext" , [ "duScroll.spyAPI" ] ) . directive ( "duSpyContext" , [ "spyAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , l ) { return { pre : function ( c , a , e , g ) { b . createContext ( c ) } } } } } ] ) ;
angular . module ( "duScroll.scrollContainer" , [ "duScroll.scrollContainerAPI" ] ) . directive ( "duScrollContainer" , [ "scrollContainerAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , l ) { return { pre : function ( c , a , e , g ) { e . $observe ( "duScrollContainer" , function ( e ) { angular . isString ( e ) && ( e = document . getElementById ( e ) ) ; e = angular . isElement ( e ) ? angular . element ( e ) : a ; b . setContainer ( c , e ) ; c . $on ( "$destroy" , function ( ) { b . removeContainer ( c ) } ) } ) } } } } } ] ) ;
angular . module ( "duScroll.scrollspy" , [ "duScroll.spyAPI" ] ) . directive ( "duScrollspy" , [ "spyAPI" , "duScrollOffset" , "$timeout" , "$rootScope" , function ( b , f , h , l ) { var c = function ( a , b , c , f ) { angular . isElement ( a ) ? this . target = a : angular . isString ( a ) && ( this . targetId = a ) ; this . $scope = b ; this . $element = c ; this . offset = f } ; return c . prototype . getTargetElement = function ( ) { return ! this . target && this . targetId && ( this . target = document . getElementById ( this . targetId ) || document . getElementsByName ( this . targetId ) [ 0 ] ) , this . target } , c . prototype . getTargetPosition =
function ( ) { var a = this . getTargetElement ( ) ; return a ? a . getBoundingClientRect ( ) : void 0 } , c . prototype . flushTargetCache = function ( ) { this . targetId && ( this . target = void 0 ) } , { link : function ( a , e , g ) { var t , k = g . ngHref || g . href ; if ( k && - 1 !== k . indexOf ( "#" ) ? t = k . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : g . duScrollspy ? t = g . duScrollspy : g . duSmoothScroll && ( t = g . duSmoothScroll ) , t ) { var n = h ( function ( ) { var k = new c ( t , a , e , - ( g . offset ? parseInt ( g . offset , 10 ) : f ) ) ; b . addSpy ( k ) ; a . $on ( "$locationChangeSuccess" , k . flushTargetCache . bind ( k ) ) ; var h =
l . $on ( "$stateChangeSuccess" , k . flushTargetCache . bind ( k ) ) ; a . $on ( "$destroy" , function ( ) { b . removeSpy ( k ) ; h ( ) } ) } , 0 , ! 1 ) ; a . $on ( "$destroy" , function ( ) { h . cancel ( n ) } ) } } } } ] ) ;
! function ( ) { var b = { TAB : 9 , ENTER : 13 , ESC : 27 , SPACE : 32 , LEFT : 37 , UP : 38 , RIGHT : 39 , DOWN : 40 , SHIFT : 16 , CTRL : 17 , ALT : 18 , PAGE _UP : 33 , PAGE _DOWN : 34 , HOME : 36 , END : 35 , BACKSPACE : 8 , DELETE : 46 , COMMAND : 91 , MAP : { 91 : "COMMAND" , 8 : "BACKSPACE" , 9 : "TAB" , 13 : "ENTER" , 16 : "SHIFT" , 17 : "CTRL" , 18 : "ALT" , 19 : "PAUSEBREAK" , 20 : "CAPSLOCK" , 27 : "ESC" , 32 : "SPACE" , 33 : "PAGE_UP" , 34 : "PAGE_DOWN" , 35 : "END" , 36 : "HOME" , 37 : "LEFT" , 38 : "UP" , 39 : "RIGHT" , 40 : "DOWN" , 43 : "+" , 44 : "PRINTSCREEN" , 45 : "INSERT" , 46 : "DELETE" , 48 : "0" , 49 : "1" , 50 : "2" , 51 : "3" , 52 : "4" , 53 : "5" , 54 : "6" , 55 : "7" , 56 : "8" ,
2017-04-11 07:10:36 +00:00
57 : "9" , 59 : ";" , 61 : "=" , 65 : "A" , 66 : "B" , 67 : "C" , 68 : "D" , 69 : "E" , 70 : "F" , 71 : "G" , 72 : "H" , 73 : "I" , 74 : "J" , 75 : "K" , 76 : "L" , 77 : "M" , 78 : "N" , 79 : "O" , 80 : "P" , 81 : "Q" , 82 : "R" , 83 : "S" , 84 : "T" , 85 : "U" , 86 : "V" , 87 : "W" , 88 : "X" , 89 : "Y" , 90 : "Z" , 96 : "0" , 97 : "1" , 98 : "2" , 99 : "3" , 100 : "4" , 101 : "5" , 102 : "6" , 103 : "7" , 104 : "8" , 105 : "9" , 106 : "*" , 107 : "+" , 109 : "-" , 110 : "." , 111 : "/" , 112 : "F1" , 113 : "F2" , 114 : "F3" , 115 : "F4" , 116 : "F5" , 117 : "F6" , 118 : "F7" , 119 : "F8" , 120 : "F9" , 121 : "F10" , 122 : "F11" , 123 : "F12" , 144 : "NUMLOCK" , 145 : "SCROLLLOCK" , 186 : ";" , 187 : "=" , 188 : "," , 189 : "-" , 190 : "." ,
2017-09-20 18:29:17 +00:00
191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , 222 : "'" } , isControl : function ( f ) { switch ( f . which ) { case b . COMMAND : case b . SHIFT : case b . CTRL : case b . ALT : return ! 0 } return ! ! ( f . metaKey || f . ctrlKey || f . altKey ) } , isFunctionKey : function ( b ) { return b = b . which ? b . which : b , 112 <= b && 123 >= b } , isVerticalMovement : function ( f ) { return ~ [ b . UP , b . DOWN ] . indexOf ( f ) } , isHorizontalMovement : function ( f ) { return ~ [ b . LEFT , b . RIGHT , b . BACKSPACE , b . DELETE ] . indexOf ( f ) } , toSeparator : function ( f ) { var c = { ENTER : "\n" , TAB : "\t" , SPACE : " " } [ f ] ; return c ? c : b [ f ] ? void 0 :
f } } ; void 0 === angular . element . prototype . querySelectorAll && ( angular . element . prototype . querySelectorAll = function ( b ) { return angular . element ( this [ 0 ] . querySelectorAll ( b ) ) } ) ; void 0 === angular . element . prototype . closest && ( angular . element . prototype . closest = function ( b ) { for ( var c = this [ 0 ] , a = c . matches || c . webkitMatchesSelector || c . mozMatchesSelector || c . msMatchesSelector ; c ; ) { if ( a . bind ( c ) ( b ) ) return c ; c = c . parentElement } return ! 1 } ) ; var f = 0 , h = angular . module ( "ui.select" , [ ] ) . constant ( "uiSelectConfig" , { theme : "bootstrap" , searchEnabled : ! 0 ,
sortable : ! 1 , placeholder : "" , refreshDelay : 1E3 , closeOnSelect : ! 0 , skipFocusser : ! 1 , dropdownPosition : "auto" , removeSelected : ! 0 , generateId : function ( ) { return f ++ } , appendToBody : ! 1 } ) . service ( "uiSelectMinErr" , function ( ) { var b = angular . $$minErr ( "ui.select" ) ; return function ( ) { var c = b . apply ( this , arguments ) . message . replace ( /\nhttp:\/\/errors.angularjs.org\/.*/ , "" ) ; return Error ( c ) } } ) . directive ( "uisTranscludeAppend" , function ( ) { return { link : function ( b , c , a , e , g ) { g ( b , function ( a ) { c . append ( a ) } ) } } } ) . filter ( "highlight" , function ( ) { return function ( b ,
c ) { return c && b ? ( "" + b ) . replace ( new RegExp ( ( "" + c ) . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , '<span class="ui-select-highlight">$&</span>' ) : b } } ) . factory ( "uisOffset" , [ "$document" , "$window" , function ( b , c ) { return function ( a ) { var e = a [ 0 ] . getBoundingClientRect ( ) ; return { width : e . width || a . prop ( "offsetWidth" ) , height : e . height || a . prop ( "offsetHeight" ) , top : e . top + ( c . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : e . left + ( c . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } } ] ) ; h . directive ( "uiSelectChoices" , [ "uiSelectConfig" ,
"uisRepeatParser" , "uiSelectMinErr" , "$compile" , "$window" , function ( b , c , a , e , g ) { return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a ) { a . addClass ( "ui-select-choices" ) ; return ( a . parent ( ) . attr ( "theme" ) || b . theme ) + "/choices.tpl.html" } , compile : function ( e , k ) { if ( ! k . repeat ) throw a ( "repeat" , "Expected 'repeat' expression." ) ; var f = k . groupBy , h = k . groupFilter ; if ( f ) { var l = e . querySelectorAll ( ".ui-select-choices-group" ) ; if ( 1 !== l . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-group but got '{0}'." ,
l . length ) ; l . attr ( "ng-repeat" , c . getGroupNgRepeatExpression ( ) ) } var l = c . parse ( k . repeat ) , t = e . querySelectorAll ( ".ui-select-choices-row" ) ; if ( 1 !== t . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-row but got '{0}'." , t . length ) ; t . attr ( "ng-repeat" , l . repeatExpression ( f ) ) . attr ( "ng-if" , "$select.open" ) ; var w = e . querySelectorAll ( ".ui-select-choices-row-inner" ) ; if ( 1 !== w . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-row-inner but got '{0}'." , w . length ) ; w . attr ( "uis-transclude-append" , "" ) ; return ( g . document . addEventListener ?
t : w ) . attr ( "ng-click" , "$select.select(" + l . itemName + ",$select.skipFocusser,$event)" ) , function ( a , c , e , g ) { g . parseRepeatAttr ( e . repeat , f , h ) ; g . disableChoiceExpression = e . uiDisableChoice ; g . onHighlightCallback = e . onHighlight ; g . dropdownPosition = e . position ? e . position . toLowerCase ( ) : b . dropdownPosition ; a . $on ( "$destroy" , function ( ) { t . remove ( ) } ) ; a . $watch ( "$select.search" , function ( a ) { a && ! g . open && g . multiple && g . activate ( ! 1 , ! 0 ) ; g . activeIndex = g . tagging . isActivated ? - 1 : 0 ; ! e . minimumInputLength || g . search . length >= e . minimumInputLength ?
g . refresh ( e . refresh ) : g . items = [ ] } ) ; e . $observe ( "refreshDelay" , function ( ) { var c = a . $eval ( e . refreshDelay ) ; g . refreshDelay = void 0 !== c ? c : b . refreshDelay } ) } } } } ] ) ; h . controller ( "uiSelectCtrl" , [ "$scope" , "$element" , "$timeout" , "$filter" , "$$uisDebounce" , "uisRepeatParser" , "uiSelectMinErr" , "uiSelectConfig" , "$parse" , "$injector" , "$window" , function ( f , c , a , e , g , h , k , n , r , y , u ) { function l ( a , b , c ) { if ( a . findIndex ) return a . findIndex ( b , c ) ; var e ; a = Object ( a ) ; for ( var g = a . length >>> 0 , k = 0 ; g > k ; k ++ ) if ( e = a [ k ] , b . call ( c , e , k , a ) ) return k ; return - 1 }
function t ( ) { ( q . resetSearchInput || void 0 === q . resetSearchInput && n . resetSearchInput ) && ( q . search = p , q . selected && q . items . length && ! q . multiple && ( q . activeIndex = l ( q . items , function ( a ) { return angular . equals ( this , a ) } , q . selected ) ) ) } function z ( a , b ) { var c , e , g = [ ] ; for ( c = 0 ; c < b . length ; c ++ ) for ( e = 0 ; e < a . length ; e ++ ) a [ e ] . name == [ b [ c ] ] && g . push ( a [ e ] ) ; return g } function B ( a ) { var c = ! 0 ; switch ( a ) { case b . DOWN : ! q . open && q . multiple ? q . activate ( ! 1 , ! 0 ) : q . activeIndex < q . items . length - 1 && q . activeIndex ++ ; break ; case b . UP : ! q . open && q . multiple ?
q . activate ( ! 1 , ! 0 ) : ( 0 < q . activeIndex || 0 === q . search . length && q . tagging . isActivated && - 1 < q . activeIndex ) && q . activeIndex -- ; break ; case b . TAB : q . multiple && ! q . open || q . select ( q . items [ q . activeIndex ] , ! 0 ) ; break ; case b . ENTER : q . open && ( q . tagging . isActivated || 0 <= q . activeIndex ) ? q . select ( q . items [ q . activeIndex ] , q . skipFocusser ) : q . activate ( ! 1 , ! 0 ) ; break ; case b . ESC : q . close ( ) ; break ; default : c = ! 1 } return c } function E ( ) { var a = c . querySelectorAll ( ".ui-select-choices-content" ) , b = a . querySelectorAll ( ".ui-select-choices-row" ) ; if ( 1 > b . length ) throw k ( "choices" ,
"Expected multiple .ui-select-choices-row but got '{0}'." , b . length ) ; if ( ! ( 0 > q . activeIndex ) ) { var b = b [ q . activeIndex ] , e = b . offsetTop + b . clientHeight - a [ 0 ] . scrollTop , g = a [ 0 ] . offsetHeight ; e > g ? a [ 0 ] . scrollTop += e - g : e < b . clientHeight && ( q . isGrouped && 0 === q . activeIndex ? a [ 0 ] . scrollTop = 0 : a [ 0 ] . scrollTop -= b . clientHeight - e ) } } var q = this , p = "" ; q . placeholder = n . placeholder ; q . searchEnabled = n . searchEnabled ; q . sortable = n . sortable ; q . refreshDelay = n . refreshDelay ; q . paste = n . paste ; q . removeSelected = n . removeSelected ; q . closeOnSelect = ! 0 ;
q . skipFocusser = ! 1 ; q . search = p ; q . activeIndex = 0 ; q . items = [ ] ; q . open = ! 1 ; q . focus = ! 1 ; q . disabled = ! 1 ; q . selected = void 0 ; q . dropdownPosition = "auto" ; q . focusser = void 0 ; q . resetSearchInput = ! 0 ; q . setSearchToAnswer = ! 1 ; q . searchBy = void 0 ; q . multiple = void 0 ; q . disableChoiceExpression = void 0 ; q . tagging = { isActivated : ! 1 , fct : void 0 } ; q . taggingTokens = { isActivated : ! 1 , tokens : void 0 } ; q . lockChoiceExpression = void 0 ; q . clickTriggeredSelect = ! 1 ; q . $filter = e ; q . $element = c ; e = q ; var I ; try { I = y . get ( "$animate" ) } catch ( X ) { I = null } if ( e . $animate = I , q . searchInput =
c . querySelectorAll ( "input.ui-select-search" ) , 1 !== q . searchInput . length ) throw k ( "searchInput" , "Expected 1 input.ui-select-search but got '{0}'." , q . searchInput . length ) ; q . isEmpty = function ( ) { return angular . isUndefined ( q . selected ) || null === q . selected || "" === q . selected || q . multiple && 0 === q . selected . length } ; q . activate = function ( b , e ) { if ( ! q . disabled && ! q . open ) { e || t ( ) ; f . $broadcast ( "uis:activate" ) ; q . open = ! 0 ; q . activeIndex = q . activeIndex >= q . items . length ? 0 : q . activeIndex ; - 1 === q . activeIndex && ! 1 !== q . taggingLabel && ( q . activeIndex =
0 ) ; var g = c . querySelectorAll ( ".ui-select-choices-content" ) , k = c . querySelectorAll ( ".ui-select-search" ) ; if ( q . $animate && q . $animate . on && q . $animate . enabled ( g [ 0 ] ) ) { var h = function ( c , e ) { "start" === e && 0 === q . items . length ? ( q . $animate . off ( "removeClass" , k [ 0 ] , h ) , a ( function ( ) { q . focusSearchInput ( b ) } ) ) : "close" === e && ( q . $animate . off ( "enter" , g [ 0 ] , h ) , a ( function ( ) { q . focusSearchInput ( b ) } ) ) } ; 0 < q . items . length ? q . $animate . on ( "enter" , g [ 0 ] , h ) : q . $animate . on ( "removeClass" , k [ 0 ] , h ) } else a ( function ( ) { q . focusSearchInput ( b ) ; ! q . tagging . isActivated &&
1 < q . items . length && E ( ) } ) } } ; q . focusSearchInput = function ( a ) { q . search = a || q . search ; q . searchInput [ 0 ] . focus ( ) } ; q . findGroupByName = function ( a ) { return q . groups && q . groups . filter ( function ( b ) { return b . name === a } ) [ 0 ] } ; q . parseRepeatAttr = function ( a , b , c ) { function e ( a ) { var e = f . $eval ( b ) ; if ( q . groups = [ ] , angular . forEach ( a , function ( a ) { var b = angular . isFunction ( e ) ? e ( a ) : a [ e ] , c = q . findGroupByName ( b ) ; c ? c . items . push ( a ) : q . groups . push ( { name : b , items : [ a ] } ) } ) , c ) a = f . $eval ( c ) , angular . isFunction ( a ) ? q . groups = a ( q . groups ) : angular . isArray ( a ) &&
( q . groups = z ( q . groups , a ) ) ; q . items = [ ] ; q . groups . forEach ( function ( a ) { q . items = q . items . concat ( a . items ) } ) } function g ( a ) { q . items = a } q . setItemsFn = b ? e : g ; q . parserResult = h . parse ( a ) ; q . isGrouped = ! ! b ; q . itemProperty = q . parserResult . itemName ; var l = q . parserResult . source , n = function ( ) { var a = l ( f ) ; f . $uisSource = Object . keys ( a ) . map ( function ( b ) { var c = { } ; return c [ q . parserResult . keyName ] = b , c . value = a [ b ] , c } ) } ; q . parserResult . keyName && ( n ( ) , q . parserResult . source = r ( "$uisSource" + q . parserResult . filters ) , f . $watch ( l , function ( a , b ) { a !== b &&
n ( ) } , ! 0 ) ) ; q . refreshItems = function ( a ) { a = a || q . parserResult . source ( f ) ; var b = q . selected ; q . isEmpty ( ) || angular . isArray ( b ) && ! b . length || ! q . removeSelected ? q . setItemsFn ( a ) : void 0 !== a && ( a = a . filter ( function ( a ) { return angular . isArray ( b ) ? b . every ( function ( b ) { return ! angular . equals ( a , b ) } ) : ! angular . equals ( a , b ) } ) , q . setItemsFn ( a ) ) ; "auto" !== q . dropdownPosition && "up" !== q . dropdownPosition || f . calculateDropdownPos ( ) ; f . $broadcast ( "uis:refresh" ) } ; f . $watchCollection ( q . parserResult . source , function ( a ) { if ( void 0 === a || null === a ) q . items =
[ ] ; else { if ( ! angular . isArray ( a ) ) throw k ( "items" , "Expected an array but got '{0}'." , a ) ; q . refreshItems ( a ) ; angular . isDefined ( q . ngModel . $modelValue ) && ( q . ngModel . $modelValue = null ) } } ) } ; var O ; q . refresh = function ( b ) { void 0 !== b && ( O && a . cancel ( O ) , O = a ( function ( ) { f . $eval ( b ) } , q . refreshDelay ) ) } ; q . isActive = function ( a ) { if ( ! q . open ) return ! 1 ; var b = q . items . indexOf ( a [ q . itemProperty ] ) , c = b == q . activeIndex ; return ! ( ! c || 0 > b ) && ( c && ! angular . isUndefined ( q . onHighlightCallback ) && a . $eval ( q . onHighlightCallback ) , c ) } ; var J = function ( a ) { return q . selected &&
angular . isArray ( q . selected ) && 0 < q . selected . filter ( function ( b ) { return angular . equals ( b , a ) } ) . length } ; q . isDisabled = function ( a ) { if ( q . open ) { var b , c = q . items . indexOf ( a [ q . itemProperty ] ) , e = ! 1 ; return 0 <= c && ( ! angular . isUndefined ( q . disableChoiceExpression ) || q . multiple ) && ( b = q . items [ c ] , e = ! ! a . $eval ( q . disableChoiceExpression ) || J ( b ) , b . _uiSelectChoiceDisabled = e ) , e } } ; q . select = function ( b , c , e ) { if ( ! ( void 0 !== b && b . _uiSelectChoiceDisabled || ! ( q . items || q . search || q . tagging . isActivated ) || b && b . _uiSelectChoiceDisabled ) ) { if ( q . tagging . isActivated ) { if ( ! 1 ===
q . taggingLabel ) if ( 0 > q . activeIndex ) { if ( b = void 0 !== q . tagging . fct ? q . tagging . fct ( q . search ) : q . search , ! b || angular . equals ( q . items [ 0 ] , b ) ) return } else b = q . items [ q . activeIndex ] ; else if ( 0 === q . activeIndex ) { if ( void 0 === b ) return ; if ( void 0 !== q . tagging . fct && "string" == typeof b ) { if ( b = q . tagging . fct ( b ) , ! b ) return } else "string" == typeof b && ( b = b . replace ( q . taggingLabel , "" ) . trim ( ) ) } if ( J ( b ) ) return void q . close ( c ) } f . $broadcast ( "uis:select" , b ) ; var g = { } ; g [ q . parserResult . itemName ] = b ; a ( function ( ) { q . onSelectCallback ( f , { $item : b , $model : q . parserResult . modelMapper ( f ,
g ) } ) } ) ; q . closeOnSelect && q . close ( c ) ; e && "click" === e . type && ( q . clickTriggeredSelect = ! 0 ) } } ; q . close = function ( a ) { q . open && ( q . ngModel && q . ngModel . $setTouched && q . ngModel . $setTouched ( ) , t ( ) , ( q . setSearchToAnswer || void 0 === q . setSearchToAnswer && n . setSearchToAnswer ) && ( console . log ( "searchBy: " + q . searchBy ) , q . searchBy && ( console . log ( "_setSearchToAnswer" ) , q . resetSearchInput = ! 1 , q . search = q . selected [ q . searchBy ] ) ) , q . open = ! 1 , f . $broadcast ( "uis:close" , a ) ) } ; q . setFocus = function ( ) { q . focus || q . focusInput [ 0 ] . focus ( ) } ; q . clear = function ( b ) { q . select ( void 0 ) ;
b . stopPropagation ( ) ; a ( function ( ) { q . focusser [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; q . toggle = function ( a ) { q . open ? ( q . close ( ) , a . preventDefault ( ) , a . stopPropagation ( ) ) : q . activate ( ) } ; q . isLocked = function ( a , b ) { var c , e = q . selected [ b ] ; return e && ! angular . isUndefined ( q . lockChoiceExpression ) && ( c = ! ! a . $eval ( q . lockChoiceExpression ) , e . _uiSelectChoiceLocked = c ) , c } ; var G = null , N = ! 1 ; q . sizeSearchInput = function ( ) { var b = q . searchInput [ 0 ] , c = q . searchInput . parent ( ) . parent ( ) [ 0 ] , e = function ( a ) { if ( 0 === a ) return ! 1 ; var c = a - b . offsetLeft - 10 ; return 50 > c && ( c =
a ) , q . searchInput . css ( "width" , c + "px" ) , ! 0 } ; q . searchInput . css ( "width" , "10px" ) ; a ( function ( ) { null !== G || e ( c . clientWidth * ! ! b . offsetParent ) || ( G = f . $watch ( function ( ) { N || ( N = ! 0 , f . $$postDigest ( function ( ) { N = ! 1 ; e ( c . clientWidth * ! ! b . offsetParent ) && ( G ( ) , G = null ) } ) ) } , angular . noop ) ) } ) } ; q . searchInput . on ( "keydown" , function ( c ) { var e = c . which ; ~ [ b . ENTER , b . ESC ] . indexOf ( e ) && ( c . preventDefault ( ) , c . stopPropagation ( ) ) ; f . $apply ( function ( ) { var g = ! 1 ; if ( ( 0 < q . items . length || q . tagging . isActivated ) && ( B ( e ) , q . taggingTokens . isActivated ) ) { for ( var k =
0 ; k < q . taggingTokens . tokens . length ; k ++ ) q . taggingTokens . tokens [ k ] === b . MAP [ c . keyCode ] && 0 < q . search . length && ( g = ! 0 ) ; g && a ( function ( ) { q . searchInput . triggerHandler ( "tagged" ) ; var a = q . search . replace ( b . MAP [ c . keyCode ] , "" ) . trim ( ) ; q . tagging . fct && ( a = q . tagging . fct ( a ) ) ; a && q . select ( a , ! 0 ) } ) } } ) ; b . isVerticalMovement ( e ) && 0 < q . items . length && E ( ) ; e !== b . ENTER && e !== b . ESC || ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) ; q . searchInput . on ( "paste" , function ( a ) { var c ; if ( c = window . clipboardData && window . clipboardData . getData ? window . clipboardData . getData ( "Text" ) :
( a . originalEvent || a ) . clipboardData . getData ( "text/plain" ) , c = q . search + c , c && 0 < c . length ) if ( q . taggingTokens . isActivated ) { for ( var e = [ ] , g = 0 ; g < q . taggingTokens . tokens . length ; g ++ ) { var k = b . toSeparator ( q . taggingTokens . tokens [ g ] ) || q . taggingTokens . tokens [ g ] ; if ( - 1 < c . indexOf ( k ) ) { e = c . split ( k ) ; break } } if ( 0 === e . length && ( e = [ c ] ) , 0 < e . length ) c = q . search , angular . forEach ( e , function ( a ) { ( a = q . tagging . fct ? q . tagging . fct ( a ) : a ) && q . select ( a , ! 0 ) } ) , q . search = c || p , a . preventDefault ( ) , a . stopPropagation ( ) } else q . paste && ( q . paste ( c ) , q . search =
p , a . preventDefault ( ) , a . stopPropagation ( ) ) } ) ; q . searchInput . on ( "tagged" , function ( ) { a ( function ( ) { t ( ) } ) } ) ; var T = g ( function ( ) { q . sizeSearchInput ( ) } , 50 ) ; angular . element ( u ) . bind ( "resize" , T ) ; f . $on ( "$destroy" , function ( ) { q . searchInput . off ( "keyup keydown tagged blur paste" ) ; angular . element ( u ) . off ( "resize" , T ) } ) } ] ) ; h . directive ( "uiSelect" , [ "$document" , "uiSelectConfig" , "uiSelectMinErr" , "uisOffset" , "$compile" , "$parse" , "$timeout" , function ( b , c , a , e , g , f , k ) { return { restrict : "EA" , templateUrl : function ( a , b ) { return ( b . theme ||
c . theme ) + ( angular . isDefined ( b . multiple ) ? "/select-multiple.tpl.html" : "/select.tpl.html" ) } , replace : ! 0 , transclude : ! 0 , require : [ "uiSelect" , "^ngModel" ] , scope : ! 0 , controller : "uiSelectCtrl" , controllerAs : "$select" , compile : function ( g , h ) { var l = /{(.*)}\s*{(.*)}/ . exec ( h . ngClass ) ; l && ( l = "{" + l [ 1 ] + ", " + l [ 2 ] + "}" , h . ngClass = l , g . attr ( "ng-class" , l ) ) ; return angular . isDefined ( h . multiple ) ? g . append ( "<ui-select-multiple/>" ) . removeAttr ( "multiple" ) : g . append ( "<ui-select-single/>" ) , h . inputId && ( g . querySelectorAll ( "input.ui-select-search" ) [ 0 ] . id =
h . inputId ) , function ( g , h , l , n , t ) { function r ( a ) { if ( p . open ) { var b = ! 1 ; if ( b = window . jQuery ? window . jQuery . contains ( h [ 0 ] , a . target ) : h [ 0 ] . contains ( a . target ) , ! b && ! p . clickTriggeredSelect ) { var c ; p . skipFocusser ? c = ! 0 : ( b = [ "input" , "button" , "textarea" , "select" ] , ( c = ( c = angular . element ( a . target ) . controller ( "uiSelect" ) ) && c !== p ) || ( c = ~ b . indexOf ( a . target . tagName . toLowerCase ( ) ) ) ) ; p . close ( c ) ; g . $digest ( ) } p . clickTriggeredSelect = ! 1 } } function u ( ) { null !== y && ( y . replaceWith ( h ) , y = null , h [ 0 ] . style . position = "" , h [ 0 ] . style . left = "" , h [ 0 ] . style . top =
"" , h [ 0 ] . style . width = z , p . setFocus ( ) ) } var p = n [ 0 ] ; n = n [ 1 ] ; p . generatedId = c . generateId ( ) ; p . baseTitle = l . title || "Select box" ; p . focusserTitle = p . baseTitle + " focus" ; p . focusserId = "focusser-" + p . generatedId ; p . closeOnSelect = angular . isDefined ( l . closeOnSelect ) ? f ( l . closeOnSelect ) ( ) : c . closeOnSelect ; g . $watch ( "skipFocusser" , function ( ) { var a = g . $eval ( l . skipFocusser ) ; p . skipFocusser = void 0 !== a ? a : c . skipFocusser } ) ; p . onSelectCallback = f ( l . onSelect ) ; p . onRemoveCallback = f ( l . onRemove ) ; p . ngModel = n ; p . choiceGrouped = function ( a ) { return p . isGrouped &&
a && a . name } ; l . tabindex && l . $observe ( "tabindex" , function ( a ) { p . focusInput . attr ( "tabindex" , a ) ; h . removeAttr ( "tabindex" ) } ) ; g . $watch ( "searchEnabled" , function ( ) { var a = g . $eval ( l . searchEnabled ) ; p . searchEnabled = void 0 !== a ? a : c . searchEnabled } ) ; g . $watch ( "sortable" , function ( ) { var a = g . $eval ( l . sortable ) ; p . sortable = void 0 !== a ? a : c . sortable } ) ; l . $observe ( "limit" , function ( ) { p . limit = angular . isDefined ( l . limit ) ? parseInt ( l . limit , 10 ) : void 0 } ) ; g . $watch ( "removeSelected" , function ( ) { var a = g . $eval ( l . removeSelected ) ; p . removeSelected =
void 0 !== a ? a : c . removeSelected } ) ; l . $observe ( "disabled" , function ( ) { p . disabled = void 0 !== l . disabled && l . disabled } ) ; l . $observe ( "resetSearchInput" , function ( ) { var a = g . $eval ( l . resetSearchInput ) ; p . resetSearchInput = void 0 === a || a } ) ; l . $observe ( "setSearchToAnswer" , function ( ) { var a = g . $eval ( l . setSearchToAnswer ) ; p . setSearchToAnswer = void 0 === a || a } ) ; l . $observe ( "searchBy" , function ( ) { p . searchBy = l . searchBy } ) ; l . $observe ( "paste" , function ( ) { p . paste = g . $eval ( l . paste ) } ) ; l . $observe ( "tagging" , function ( ) { if ( void 0 !== l . tagging ) { var a =
g . $eval ( l . tagging ) ; p . tagging = { isActivated : ! 0 , fct : ! 0 !== a ? a : void 0 } } else p . tagging = { isActivated : ! 1 , fct : void 0 } } ) ; l . $observe ( "taggingLabel" , function ( ) { void 0 !== l . tagging && ( "false" === l . taggingLabel ? p . taggingLabel = ! 1 : p . taggingLabel = void 0 !== l . taggingLabel ? l . taggingLabel : "(new)" ) } ) ; l . $observe ( "taggingTokens" , function ( ) { if ( void 0 !== l . tagging ) { var a = void 0 !== l . taggingTokens ? l . taggingTokens . split ( "|" ) : [ "," , "ENTER" ] ; p . taggingTokens = { isActivated : ! 0 , tokens : a } } } ) ; angular . isDefined ( l . autofocus ) && k ( function ( ) { p . setFocus ( ) } ) ;
angular . isDefined ( l . focusOn ) && g . $on ( l . focusOn , function ( ) { k ( function ( ) { p . setFocus ( ) } ) } ) ; b . on ( "click" , r ) ; g . $on ( "$destroy" , function ( ) { b . off ( "click" , r ) } ) ; t ( g , function ( b ) { b = angular . element ( "<div>" ) . append ( b ) ; var c = b . querySelectorAll ( ".ui-select-match" ) ; if ( c . removeAttr ( "ui-select-match" ) , c . removeAttr ( "data-ui-select-match" ) , 1 !== c . length ) throw a ( "transcluded" , "Expected 1 .ui-select-match but got '{0}'." , c . length ) ; h . querySelectorAll ( ".ui-select-match" ) . replaceWith ( c ) ; c = b . querySelectorAll ( ".ui-select-choices" ) ;
if ( c . removeAttr ( "ui-select-choices" ) , c . removeAttr ( "data-ui-select-choices" ) , 1 !== c . length ) throw a ( "transcluded" , "Expected 1 .ui-select-choices but got '{0}'." , c . length ) ; h . querySelectorAll ( ".ui-select-choices" ) . replaceWith ( c ) ; b = b . querySelectorAll ( ".ui-select-no-choice" ) ; b . removeAttr ( "ui-select-no-choice" ) ; b . removeAttr ( "data-ui-select-no-choice" ) ; 1 == b . length && h . querySelectorAll ( ".ui-select-no-choice" ) . replaceWith ( b ) } ) ; t = g . $eval ( l . appendToBody ) ; ( void 0 !== t ? t : c . appendToBody ) && ( g . $watch ( "$select.open" ,
function ( a ) { a ? ( a = e ( h ) , y = angular . element ( '<div class="ui-select-placeholder"></div>' ) , y [ 0 ] . style . width = a . width + "px" , y [ 0 ] . style . height = a . height + "px" , h . after ( y ) , z = h [ 0 ] . style . width , b . find ( "body" ) . append ( h ) , h [ 0 ] . style . position = "absolute" , h [ 0 ] . style . left = a . left + "px" , h [ 0 ] . style . top = a . top + "px" , h [ 0 ] . style . width = a . width + "px" ) : u ( ) } ) , g . $on ( "$destroy" , function ( ) { u ( ) } ) ) ; var y = null , z = "" , w = null ; g . $watch ( "$select.open" , function ( ) { "auto" !== p . dropdownPosition && "up" !== p . dropdownPosition || g . calculateDropdownPos ( ) } ) ; var A =
function ( a , b ) { a || e ( h ) ; b = b || e ( w ) ; w [ 0 ] . style . position = "absolute" ; w [ 0 ] . style . top = - 1 * b . height + "px" ; h . addClass ( "direction-up" ) } , B = function ( ) { k ( function ( ) { if ( "up" === p . dropdownPosition ) A ( ) ; else { h . removeClass ( "direction-up" ) ; var a = e ( h ) , c = e ( w ) ; a . top + a . height + c . height > ( b [ 0 ] . documentElement . scrollTop || b [ 0 ] . body . scrollTop ) + b [ 0 ] . documentElement . clientHeight ? A ( a , c ) : ( h . removeClass ( "direction-up" ) , a || e ( h ) , c || e ( w ) , w [ 0 ] . style . position = "" , w [ 0 ] . style . top = "" ) } w [ 0 ] . style . opacity = 1 } ) } ; g . calculateDropdownPos = function ( ) { if ( p . open ) { if ( w =
angular . element ( h ) . querySelectorAll ( ".ui-select-dropdown" ) , 0 !== w . length ) if ( w [ 0 ] . style . opacity = 0 , ! e ( w ) . height && p . $animate && p . $animate . on && p . $animate . enabled ( w ) ) { var a = ! 0 ; p . $animate . on ( "enter" , w , function ( b , c ) { "close" === c && a && ( B ( ) , a = ! 1 ) } ) } else B ( ) } else null !== w && 0 !== w . length && ( w [ 0 ] . style . opacity = 0 , w [ 0 ] . style . position = "" , w [ 0 ] . style . top = "" , h . removeClass ( "direction-up" ) ) } } } } } ] ) ; h . directive ( "uiSelectMatch" , [ "uiSelectConfig" , function ( b ) { function c ( a , b ) { return a [ 0 ] . hasAttribute ( b ) ? a . attr ( b ) : a [ 0 ] . hasAttribute ( "data-" +
b ) ? a . attr ( "data-" + b ) : a [ 0 ] . hasAttribute ( "x-" + b ) ? a . attr ( "x-" + b ) : void 0 } return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a ) { a . addClass ( "ui-select-match" ) ; var e = a . parent ( ) ; a = c ( e , "theme" ) || b . theme ; e = angular . isDefined ( c ( e , "multiple" ) ) ; return a + ( e ? "/match-multiple.tpl.html" : "/match.tpl.html" ) } , link : function ( a , c , g , f ) { function e ( a ) { f . allowClear = ! ! angular . isDefined ( a ) && ( "" === a || "true" === a . toLowerCase ( ) ) } f . lockChoiceExpression = g . uiLockChoice ; g . $observe ( "placeholder" , function ( a ) { f . placeholder =
void 0 !== a ? a : b . placeholder } ) ; g . $observe ( "allowClear" , e ) ; e ( g . allowClear ) ; f . multiple && f . sizeSearchInput ( ) } } } ] ) ; h . directive ( "uiSelectMultiple" , [ "uiSelectMinErr" , "$timeout" , function ( f , c ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , controller : [ "$scope" , "$timeout" , function ( a , b ) { var c , e = this , k = a . $select ; angular . isUndefined ( k . selected ) && ( k . selected = [ ] ) ; a . $evalAsync ( function ( ) { c = a . ngModel } ) ; e . activeMatchIndex = - 1 ; e . updateModel = function ( ) { c . $setViewValue ( Date . now ( ) ) ; e . refreshComponent ( ) } ; e . refreshComponent =
function ( ) { k . refreshItems ( ) ; k . sizeSearchInput ( ) } ; e . removeChoice = function ( c ) { var g = k . selected [ c ] ; if ( ! g . _uiSelectChoiceLocked ) { var f = { } ; f [ k . parserResult . itemName ] = g ; k . selected . splice ( c , 1 ) ; e . activeMatchIndex = - 1 ; k . sizeSearchInput ( ) ; b ( function ( ) { k . onRemoveCallback ( a , { $item : g , $model : k . parserResult . modelMapper ( a , f ) } ) } ) ; e . updateModel ( ) } } ; e . getPlaceholder = function ( ) { return k . selected && k . selected . length ? void 0 : k . placeholder } } ] , controllerAs : "$selectMultiple" , link : function ( a , e , g , h ) { function k ( a ) { return angular . isNumber ( a . selectionStart ) ?
a . selectionStart : a . value . length } function l ( a ) { function c ( ) { switch ( a ) { case b . LEFT : return ~ A . activeMatchIndex ? l : g ; case b . RIGHT : return ~ A . activeMatchIndex && f !== g ? h : ( u . activate ( ) , ! 1 ) ; case b . BACKSPACE : return ~ A . activeMatchIndex ? ( A . removeChoice ( f ) , l ) : g ; case b . DELETE : return ! ! ~ A . activeMatchIndex && ( A . removeChoice ( A . activeMatchIndex ) , f ) } } var e = k ( u . searchInput [ 0 ] ) , g = u . selected . length - 1 , f = A . activeMatchIndex , h = A . activeMatchIndex + 1 , l = A . activeMatchIndex - 1 , n = f ; return ! ( 0 < e || u . search . length && a == b . RIGHT ) && ( u . close ( ) , n =
c ( ) , u . selected . length && ! 1 !== n ? A . activeMatchIndex = Math . min ( g , Math . max ( 0 , n ) ) : A . activeMatchIndex = - 1 , ! 0 ) } function t ( a ) { return void 0 === a || void 0 === u . search ? ! 1 : 0 < a . filter ( function ( a ) { return void 0 !== u . search . toUpperCase ( ) && void 0 !== a && a . toUpperCase ( ) === u . search . toUpperCase ( ) } ) . length } function y ( a , b ) { var c = - 1 ; if ( angular . isArray ( a ) ) for ( var e = angular . copy ( a ) , g = 0 ; g < e . length ; g ++ ) if ( void 0 === u . tagging . fct ) e [ g ] + " " + u . taggingLabel === b && ( c = g ) ; else { var k = e [ g ] ; angular . isObject ( k ) && ( k . isTag = ! 0 ) ; angular . equals ( k , b ) &&
( c = g ) } return c } var u = h [ 0 ] , w = a . ngModel = h [ 1 ] , A = a . $selectMultiple ; u . multiple = ! 0 ; u . focusInput = u . searchInput ; w . $isEmpty = function ( a ) { return ! a || 0 === a . length } ; w . $parsers . unshift ( function ( ) { for ( var b , c = [ ] , e = u . selected . length - 1 ; 0 <= e ; e -- ) b = { } , b [ u . parserResult . itemName ] = u . selected [ e ] , b = u . parserResult . modelMapper ( a , b ) , c . unshift ( b ) ; return c } ) ; w . $formatters . unshift ( function ( b ) { var c , e = u . parserResult && u . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( ! e ) return b ; var k = [ ] , f = function ( b , e ) { if ( b && b . length ) { for ( var f =
b . length - 1 ; 0 <= f ; f -- ) { if ( g [ u . parserResult . itemName ] = b [ f ] , c = u . parserResult . modelMapper ( a , g ) , u . parserResult . trackByExp ) { var h = /(\w*)\./ . exec ( u . parserResult . trackByExp ) , l = /\.([^\s]+)/ . exec ( u . parserResult . trackByExp ) ; if ( h && 0 < h . length && h [ 1 ] == u . parserResult . itemName && l && 0 < l . length && c [ l [ 1 ] ] == e [ l [ 1 ] ] ) return k . unshift ( b [ f ] ) , ! 0 } if ( angular . equals ( c , e ) ) return k . unshift ( b [ f ] ) , ! 0 } return ! 1 } } ; if ( ! b ) return k ; for ( var h = b . length - 1 ; 0 <= h ; h -- ) f ( u . selected , b [ h ] ) || f ( e , b [ h ] ) || k . unshift ( b [ h ] ) ; return k } ) ; a . $watchCollection ( function ( ) { return w . $modelValue } ,
function ( a , b ) { b != a && ( angular . isDefined ( w . $modelValue ) && ( w . $modelValue = null ) , A . refreshComponent ( ) ) } ) ; w . $render = function ( ) { if ( ! angular . isArray ( w . $viewValue ) ) { if ( ! angular . isUndefined ( w . $viewValue ) && null !== w . $viewValue ) throw f ( "multiarr" , "Expected model value to be array but got '{0}'" , w . $viewValue ) ; u . selected = [ ] } u . selected = w . $viewValue ; A . refreshComponent ( ) ; a . $evalAsync ( ) } ; a . $on ( "uis:select" , function ( a , b ) { u . selected . length >= u . limit || ( u . selected . push ( b ) , A . updateModel ( ) ) } ) ; a . $on ( "uis:activate" , function ( ) { A . activeMatchIndex =
- 1 } ) ; a . $watch ( "$select.disabled" , function ( a , b ) { b && ! a && u . sizeSearchInput ( ) } ) ; u . searchInput . on ( "keydown" , function ( c ) { var e = c . which ; a . $apply ( function ( ) { var a = ! 1 ; b . isHorizontalMovement ( e ) && ( a = l ( e ) ) ; a && e != b . TAB && ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) } ) ; u . searchInput . on ( "keyup" , function ( c ) { if ( ( b . isVerticalMovement ( c . which ) || a . $evalAsync ( function ( ) { u . activeIndex = ! 1 === u . taggingLabel ? - 1 : 0 } ) , u . tagging . isActivated && 0 < u . search . length ) && ! ( c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC ||
b . isVerticalMovement ( c . which ) || ( u . activeIndex = ! 1 === u . taggingLabel ? - 1 : 0 , ! 1 === u . taggingLabel ) ) ) { var e , g , k , f , h = angular . copy ( u . items ) ; c = angular . copy ( u . items ) ; var l = ! 1 , n = - 1 ; if ( void 0 !== u . tagging . fct ) { if ( k = u . $filter ( "filter" ) ( h , { isTag : ! 0 } ) , 0 < k . length && ( f = k [ 0 ] ) , 0 < h . length && f && ( l = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = u . tagging . fct ( u . search ) , c . some ( function ( a ) { return angular . equals ( a , e ) } ) || u . selected . some ( function ( a ) { return angular . equals ( a , e ) } ) ) return void a . $evalAsync ( function ( ) { u . activeIndex =
0 ; u . items = h } ) ; e && ( e . isTag = ! 0 ) } else { if ( k = u . $filter ( "filter" ) ( h , function ( a ) { return a . match ( u . taggingLabel ) } ) , 0 < k . length && ( f = k [ 0 ] ) , g = h [ 0 ] , void 0 !== g && 0 < h . length && f && ( l = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = u . search + " " + u . taggingLabel , - 1 < y ( u . selected , u . search ) ) return ; if ( t ( c . concat ( u . selected ) ) ) return void ( l && ( h = c , a . $evalAsync ( function ( ) { u . activeIndex = 0 ; u . items = h } ) ) ) ; if ( t ( c ) ) return void ( l && ( u . items = c . slice ( 1 , c . length ) ) ) } l && ( n = y ( u . selected , e ) ) ; - 1 < n ? h = h . slice ( n + 1 , h . length - 1 ) : ( h = [ ] , e && h . push ( e ) ,
h = h . concat ( c ) ) ; a . $evalAsync ( function ( ) { if ( u . activeIndex = 0 , u . items = h , u . isGrouped ) { var a = e ? h . slice ( 1 ) : h ; u . setItemsFn ( a ) ; e && ( u . items . unshift ( e ) , u . groups . unshift ( { name : "" , items : [ e ] , tagging : ! 0 } ) ) } } ) } } ) ; u . searchInput . on ( "blur" , function ( ) { c ( function ( ) { A . activeMatchIndex = - 1 } ) } ) } } } ] ) ; h . directive ( "uiSelectNoChoice" , [ "uiSelectConfig" , function ( b ) { return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( c ) { c . addClass ( "ui-select-no-choice" ) ; return ( c . parent ( ) . attr ( "theme" ) || b . theme ) +
"/no-choice.tpl.html" } } } ] ) ; h . directive ( "uiSelectSingle" , [ "$timeout" , "$compile" , function ( f , c ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , link : function ( a , e , g , h ) { var k = h [ 0 ] , l = h [ 1 ] ; l . $parsers . unshift ( function ( b ) { var c = { } ; return c [ k . parserResult . itemName ] = b , k . parserResult . modelMapper ( a , c ) } ) ; l . $formatters . unshift ( function ( b ) { var c , e = k . parserResult && k . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( e ) { var f = function ( e ) { return g [ k . parserResult . itemName ] = e , c = k . parserResult . modelMapper ( a , g ) ,
c === b } ; if ( k . selected && f ( k . selected ) ) return k . selected ; for ( var h = e . length - 1 ; 0 <= h ; h -- ) if ( f ( e [ h ] ) ) return e [ h ] } return b } ) ; a . $watch ( "$select.selected" , function ( a ) { l . $viewValue !== a && l . $setViewValue ( a ) } ) ; l . $render = function ( ) { k . selected = l . $viewValue } ; a . $on ( "uis:select" , function ( a , b ) { k . selected = b } ) ; a . $on ( "uis:close" , function ( a , b ) { f ( function ( ) { k . focusser . prop ( "disabled" , ! 1 ) ; b || k . focusser [ 0 ] . focus ( ) } , 0 , ! 1 ) } ) ; a . $on ( "uis:activate" , function ( ) { t . prop ( "disabled" , ! 0 ) } ) ; var t = angular . element ( "<input ng-disabled='$select.disabled' class='ui-select-focusser ui-select-offscreen' type='text' id='{{ $select.focusserId }}' aria-label='{{ $select.focusserTitle }}' aria-haspopup='true' role='button' />" ) ;
c ( t ) ( a ) ; k . focusser = t ; k . focusInput = t ; e . parent ( ) . append ( t ) ; t . bind ( "focus" , function ( ) { a . $evalAsync ( function ( ) { k . focus = ! 0 } ) } ) ; t . bind ( "blur" , function ( ) { a . $evalAsync ( function ( ) { k . focus = ! 1 } ) } ) ; t . bind ( "keydown" , function ( c ) { return c . which === b . BACKSPACE ? ( c . preventDefault ( ) , c . stopPropagation ( ) , k . select ( void 0 ) , void a . $apply ( ) ) : void ( c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC || ( c . which != b . DOWN && c . which != b . UP && c . which != b . ENTER && c . which != b . SPACE || ( c . preventDefault ( ) , c . stopPropagation ( ) ,
k . activate ( ) ) , a . $digest ( ) ) ) } ) ; t . bind ( "keyup input" , function ( c ) { c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC || c . which == b . ENTER || c . which === b . BACKSPACE || ( k . activate ( t . val ( ) ) , t . val ( "" ) , a . $digest ( ) ) } ) } } } ] ) ; h . directive ( "uiSelectSort" , [ "$timeout" , "uiSelectConfig" , "uiSelectMinErr" , function ( b , c , a ) { return { require : [ "^^uiSelect" , "^ngModel" ] , link : function ( c , g , f , k ) { if ( null === c [ f . uiSelectSort ] ) throw a ( "sort" , "Expected a list to sort" ) ; var e = k [ 0 ] , h = k [ 1 ] , l = angular . extend ( { axis : "horizontal" } ,
c . $eval ( f . uiSelectSortOptions ) ) . axis ; c . $watch ( function ( ) { return e . sortable } , function ( a ) { a ? g . attr ( "draggable" , ! 0 ) : g . removeAttr ( "draggable" ) } ) ; g . on ( "dragstart" , function ( a ) { g . addClass ( "dragging" ) ; ( a . dataTransfer || a . originalEvent . dataTransfer ) . setData ( "text" , c . $index . toString ( ) ) } ) ; g . on ( "dragend" , function ( ) { A ( "dragging" ) } ) ; var t , w = function ( a , b ) { this . splice ( b , 0 , this . splice ( a , 1 ) [ 0 ] ) } , A = function ( a ) { angular . forEach ( e . $element . querySelectorAll ( "." + a ) , function ( b ) { angular . element ( b ) . removeClass ( a ) } ) } , z = function ( a ) { a . preventDefault ( ) ;
( "vertical" === l ? a . offsetY || a . layerY || ( a . originalEvent ? a . originalEvent . offsetY : 0 ) : a . offsetX || a . layerX || ( a . originalEvent ? a . originalEvent . offsetX : 0 ) ) < this [ "vertical" === l ? "offsetHeight" : "offsetWidth" ] / 2 ? ( A ( "dropping-after" ) , g . addClass ( "dropping-before" ) ) : ( A ( "dropping-before" ) , g . addClass ( "dropping-after" ) ) } , B = function ( a ) { a . preventDefault ( ) ; var c = parseInt ( ( a . dataTransfer || a . originalEvent . dataTransfer ) . getData ( "text" ) , 10 ) ; b . cancel ( t ) ; t = b ( function ( ) { E ( c ) } , 20 ) } , E = function ( a ) { var b = c . $eval ( f . uiSelectSort ) ,
e = b [ a ] , k = null , k = g . hasClass ( "dropping-before" ) ? a < c . $index ? c . $index - 1 : c . $index : a < c . $index ? c . $index : c . $index + 1 ; w . apply ( b , [ a , k ] ) ; h . $setViewValue ( Date . now ( ) ) ; c . $apply ( function ( ) { c . $emit ( "uiSelectSort:change" , { array : b , item : e , from : a , to : k } ) } ) ; A ( "dropping" ) ; A ( "dropping-before" ) ; A ( "dropping-after" ) ; g . off ( "drop" , B ) } ; g . on ( "dragenter" , function ( ) { g . hasClass ( "dragging" ) || ( g . addClass ( "dropping" ) , g . on ( "dragover" , z ) , g . on ( "drop" , B ) ) } ) ; g . on ( "dragleave" , function ( a ) { a . target == g && ( A ( "dropping" ) , A ( "dropping-before" ) , A ( "dropping-after" ) ,
g . off ( "dragover" , z ) , g . off ( "drop" , B ) ) } ) } } } ] ) ; h . factory ( "$$uisDebounce" , [ "$timeout" , function ( b ) { return function ( c , a ) { var e ; return function ( ) { var g = this , f = Array . prototype . slice . call ( arguments ) ; e && b . cancel ( e ) ; e = b ( function ( ) { c . apply ( g , f ) } , a ) } } } ] ) ; h . service ( "uisRepeatParser" , [ "uiSelectMinErr" , "$parse" , function ( b , c ) { this . parse = function ( a ) { var e ; if ( e = a . match ( /^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(\s*[\s\S]+?)?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ) ,
! e ) throw b ( "iexp" , "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'." , a ) ; a = e [ 5 ] ; var g = "" ; if ( e [ 3 ] ) { a = e [ 5 ] . replace ( /(^\()|(\)$)/g , "" ) ; var f = e [ 5 ] . match ( /^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/ ) ; f && f [ 1 ] . trim ( ) && ( g = f [ 1 ] , a = a . replace ( g , "" ) ) } return { itemName : e [ 4 ] || e [ 2 ] , keyName : e [ 3 ] , source : c ( a ) , filters : g , trackByExp : e [ 6 ] , modelMapper : c ( e [ 1 ] || e [ 4 ] || e [ 2 ] ) , repeatExpression : function ( a ) { a = this . itemName + " in " + ( a ? "$group.items" : "$select.items" ) ; return this . trackByExp && ( a +=
2017-04-11 07:10:36 +00:00
" track by " + this . trackByExp ) , a } } } ; this . getGroupNgRepeatExpression = function ( ) { return "$group in $select.groups" } } ] ) } ( ) ;
2017-09-20 18:29:17 +00:00
angular . module ( "ui.select" ) . run ( [ "$templateCache" , function ( b ) { b . put ( "bootstrap/choices.tpl.html" , '<ul class="ui-select-choices ui-select-choices-content ui-select-dropdown dropdown-menu" role="listbox" ng-show="$select.open && $select.items.length > 0"><li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}"><div class="divider" ng-show="$select.isGrouped && $index > 0"></div><div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"></div><div ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"><a href="" class="ui-select-choices-row-inner"></a></div></li></ul>' ) ; b . put ( "bootstrap/match-multiple.tpl.html" ,
2017-04-11 07:10:36 +00:00
'<span class="ui-select-match"><span ng-repeat="$item in $select.selected"><span class="ui-select-match-item btn btn-default btn-xs" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'btn-primary\':$selectMultiple.activeMatchIndex === $index, \'select-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span class="close ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)"> ×</span> <span uis-transclude-append=""></span></span></span></span>' ) ;
2017-09-20 18:29:17 +00:00
b . put ( "bootstrap/match.tpl.html" , '<div class="ui-select-match" ng-hide="$select.open && $select.searchEnabled" ng-disabled="$select.disabled" ng-class="{\'btn-default-focus\':$select.focus}"><span tabindex="-1" class="btn btn-default form-control ui-select-toggle" aria-label="{{ $select.baseTitle }} activate" ng-disabled="$select.disabled" ng-click="$select.activate()" style="outline: 0;"><span ng-show="$select.isEmpty()" class="ui-select-placeholder text-muted">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="ui-select-match-text pull-left" ng-class="{\'ui-select-allow-clear\': $select.allowClear && !$select.isEmpty()}" ng-transclude=""></span> <i class="caret pull-right" ng-click="$select.toggle($event)"></i> <a ng-show="$select.allowClear && !$select.isEmpty() && ($select.disabled !== true)" aria-label="{{ $select.baseTitle }} clear" style="margin-right: 10px" ng-click="$select.clear($event)" class="btn btn-xs btn-link pull-right"><i class="glyphicon glyphicon-remove" aria-hidden="true"></i></a></span></div>' ) ;
b . put ( "bootstrap/no-choice.tpl.html" , '<ul class="ui-select-no-choice dropdown-menu" ng-show="$select.items.length == 0"><li ng-transclude=""></li></ul>' ) ; b . put ( "bootstrap/select-multiple.tpl.html" , '<div class="ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control" ng-class="{open: $select.open}"><div><div class="ui-select-match"></div><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="ui-select-search input-xs" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-label="{{ $select.baseTitle }}" ondrop="return false;"></div><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>' ) ;
b . put ( "bootstrap/select.tpl.html" , '<div class="ui-select-container ui-select-bootstrap dropdown" ng-class="{open: $select.open}"><div class="ui-select-match"></div><input type="search" autocomplete="off" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="form-control ui-select-search" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.searchEnabled && $select.open"><div class="ui-select-choices"></div><div class="ui-select-no-choice"></div></div>' ) ;
b . put ( "select2/choices.tpl.html" , '<ul tabindex="-1" class="ui-select-choices ui-select-choices-content select2-results"><li class="ui-select-choices-group" ng-class="{\'select2-result-with-children\': $select.choiceGrouped($group) }"><div ng-show="$select.choiceGrouped($group)" class="ui-select-choices-group-label select2-result-label" ng-bind="$group.name"></div><ul role="listbox" id="ui-select-choices-{{ $select.generatedId }}" ng-class="{\'select2-result-sub\': $select.choiceGrouped($group), \'select2-result-single\': !$select.choiceGrouped($group) }"><li role="option" ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{\'select2-highlighted\': $select.isActive(this), \'select2-disabled\': $select.isDisabled(this)}"><div class="select2-result-label ui-select-choices-row-inner"></div></li></ul></li></ul>' ) ;
b . put ( "select2/match-multiple.tpl.html" , '<span class="ui-select-match"><li class="ui-select-match-item select2-search-choice" ng-repeat="$item in $select.selected" ng-class="{\'select2-search-choice-focus\':$selectMultiple.activeMatchIndex === $index, \'select2-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span uis-transclude-append=""></span> <a href="javascript:;" class="ui-select-match-close select2-search-choice-close" ng-click="$selectMultiple.removeChoice($index)" tabindex="-1"></a></li></span>' ) ;
b . put ( "select2/match.tpl.html" , '<a class="select2-choice ui-select-match" ng-class="{\'select2-default\': $select.isEmpty()}" ng-click="$select.toggle($event)" aria-label="{{ $select.baseTitle }} select"><span ng-show="$select.isEmpty()" class="select2-chosen">{{$select.placeholder}}</span> <span ng-hide="$select.isEmpty()" class="select2-chosen" ng-transclude=""></span> <abbr ng-if="$select.allowClear && !$select.isEmpty()" class="select2-search-choice-close" ng-click="$select.clear($event)"></abbr> <span class="select2-arrow ui-select-toggle"><b></b></span></a>' ) ;
b . put ( "select2/select-multiple.tpl.html" , '<div class="ui-select-container ui-select-multiple select2 select2-container select2-container-multi" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled}"><ul class="select2-choices"><span class="ui-select-match"></span><li class="select2-search-field"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="select2-input ui-select-search" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" style="width: 34px;" ondrop="return false;"></li></ul><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open || $select.items.length === 0}"><div class="ui-select-choices"></div></div></div>' ) ;
b . put ( "select2/select.tpl.html" , '<div class="ui-select-container select2 select2-container" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}"><div class="ui-select-match"></div><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="select2-search" ng-show="$select.searchEnabled"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="ui-select-search select2-input" ng-model="$select.search"></div><div class="ui-select-choices"></div></div></div>' ) ;
b . put ( "selectize/choices.tpl.html" , '<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown single"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup" role="listbox"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header" ng-bind="$group.name"></div><div role="option" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}"><div class="option ui-select-choices-row-inner" data-selectable=""></div></div></div></div></div>' ) ;
b . put ( "selectize/match.tpl.html" , '<div ng-hide="$select.searchEnabled && ($select.open || $select.isEmpty())" class="ui-select-match" ng-transclude=""></div>' ) ; b . put ( "selectize/select.tpl.html" , '<div class="ui-select-container selectize-control single" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.open && !$select.searchEnabled ? $select.toggle($event) : $select.activate()" ng-focus"$select.open="" &&="" !$select.searchenabled="" ?="" $select.toggle($event)="" :="" $select.activate()"=""><div class="ui-select-match" ng-hide="$select.setSearchToAnswer"></div><input type="search" autocomplete="off" tabindex="-1" class="ui-select-search ui-select-toggle" ng-click="$select.toggle($event)" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-hide="(!$select.searchEnabled || ($select.selected && !$select.open)) && !$select.setSearchToAnswer" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"></div><div class="ui-select-choices"></div></div>' ) } ] ) ;
! function ( b ) { function f ( f , c ) { return { restrict : "A" , scope : { isBusy : "=vBusy" , busyLabel : "@vBusyLabel" , busyText : "@vBusyText" } , compile : function ( a , e ) { var g = b . element ( a . find ( "span" ) ) ; return g [ 0 ] || ( a . html ( "<span>" + a . html ( ) + "</span>" ) , g = b . element ( a . find ( "span" ) ) ) , function ( a , b ) { var k = g . html ( ) , f = a . busyLabel || c . busyLabel , h = a . busyText ; a . $watch ( "isBusy" , function ( a ) { a ? ( b . addClass ( c . states . busy ) , g . html ( f ) ) : ( b . removeClass ( c . states . busy ) , g . html ( h || k ) ) } ) ; e . $observe ( "vBusyLabel" , function ( a ) { f = a } ) ; e . $observe ( "vBusyText" ,
function ( a ) { h = a } ) } } } } function h ( f , c ) { return { restrict : "A" , link : function ( a , e ) { function g ( ) { e . removeClass ( c . states . pressed ) ; r . unbind ( l , g ) } var h = "undefined" != typeof f [ 0 ] . documentElement . ontouchstart , k = h ? "touchstart" : "mousedown" , l = h ? "touchend" : "mouseup" , r = b . element ( f [ 0 ] . body ) ; e . bind ( k , function ( a ) { var k = a . pageX , h = a . pageY , n = e [ 0 ] . getBoundingClientRect ( ) ; a = e [ 0 ] . querySelector ( "v-ripple" ) ; b . element ( a ) . remove ( ) ; a = f [ 0 ] . createElement ( "v-ripple" ) ; a . style . height = a . style . width = Math . max ( n . width , n . height ) + "px" ; e . append ( a ) ;
k = k - n . left - a . offsetWidth / 2 - r [ 0 ] . scrollLeft ; h = h - n . top - a . offsetHeight / 2 - r [ 0 ] . scrollTop ; a . style . left = k + "px" ; a . style . top = h + "px" ; e . addClass ( c . states . pressed ) ; r . bind ( l , g ) } ) } } } b . module ( "vButton.config" , [ ] ) . constant ( "buttonConfig" , { busyLabel : "Loading" , states : { busy : "is-busy" , pressed : "is-pressed" } } ) ; b . module ( "vButton.directives" , [ ] ) ; b . module ( "vButton" , [ "vButton.config" , "vButton.directives" ] ) ; b . module ( "vButton.directives" ) . directive ( "vBusy" , f ) ; f . $inject = [ "$document" , "buttonConfig" ] ; b . module ( "vButton.directives" ) . directive ( "vPressable" ,
h ) ; h . $inject = [ "$document" , "buttonConfig" ] } ( angular ) ;
( function ( b , f , h ) { function l ( a , b ) { b = b || { } ; f . forEach ( b , function ( a , c ) { delete b [ c ] } ) ; for ( var c in a ) ! a . hasOwnProperty ( c ) || "$" === c . charAt ( 0 ) && "$" === c . charAt ( 1 ) || ( b [ c ] = a [ c ] ) ; return b } var c = f . $$minErr ( "$resource" ) , a = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/ ; f . module ( "ngResource" , [ "ng" ] ) . provider ( "$resource" , function ( ) { var b = /^https?:\/\/[^\/]*/ , g = this ; this . defaults = { stripTrailingSlashes : ! 0 , actions : { get : { method : "GET" } , save : { method : "POST" } , query : { method : "GET" , isArray : ! 0 } , remove : { method : "DELETE" } , "delete" : { method : "DELETE" } } } ;
this . $get = [ "$http" , "$log" , "$q" , function ( e , k , n ) { function t ( a , b ) { this . template = a ; this . defaults = A ( { } , g . defaults , b ) ; this . urlParams = { } } function y ( b , r , p , I ) { function q ( b , e ) { var g = { } ; return e = A ( { } , r , e ) , w ( e , function ( e , k ) { B ( e ) && ( e = e ( ) ) ; var l ; if ( e && e . charAt && "@" == e . charAt ( 0 ) ) { l = b ; var n = e . substr ( 1 ) ; if ( null == n || "" === n || "hasOwnProperty" === n || ! a . test ( "." + n ) ) throw c ( "badmember" , n ) ; for ( var n = n . split ( "." ) , t = 0 , r = n . length ; t < r && f . isDefined ( l ) ; t ++ ) { var u = n [ t ] ; l = null !== l ? l [ u ] : h } } else l = e ; g [ k ] = l } ) , g } function E ( a ) { return a . resource }
function G ( a ) { l ( a || { } , this ) } var N = new t ( b , I ) ; return p = A ( { } , g . defaults . actions , p ) , G . prototype . toJSON = function ( ) { var a = A ( { } , this ) ; return delete a . $promise , delete a . $resolved , a } , w ( p , function ( a , b ) { var g = /^(POST|PUT|PATCH)$/i . test ( a . method ) ; G [ b ] = function ( t , r , p , y ) { var K , R , O , U = { } ; switch ( arguments . length ) { case 4 : O = y , R = p ; case 3 : case 2 : if ( ! B ( r ) ) { U = t ; K = r ; R = p ; break } if ( B ( t ) ) { R = t ; O = r ; break } R = r ; O = p ; case 1 : B ( t ) ? R = t : g ? K = t : U = t ; break ; case 0 : break ; default : throw c ( "badargs" , arguments . length ) ; } var J = this instanceof G ,
M = J ? K : a . isArray ? [ ] : new G ( K ) , I = { } , ha = a . interceptor && a . interceptor . response || E , H = a . interceptor && a . interceptor . responseError || h ; return w ( a , function ( a , b ) { switch ( b ) { default : I [ b ] = z ( a ) ; break ; case "params" : case "isArray" : case "interceptor" : break ; case "timeout" : a && ! f . isNumber ( a ) && k . debug ( "ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests.\n If you need support for cancellable $resource actions, you should upgrade to version 1.5 or higher." ) } } ) ,
g && ( I . data = K ) , N . setUrlParams ( I , A ( { } , q ( K , a . params || { } ) , U ) , a . url ) , U = e ( I ) . then ( function ( e ) { var g = e . data , k = M . $promise ; if ( g ) { if ( f . isArray ( g ) !== ! ! a . isArray ) throw c ( "badcfg" , b , a . isArray ? "array" : "object" , f . isArray ( g ) ? "array" : "object" , I . method , I . url ) ; a . isArray ? ( M . length = 0 , w ( g , function ( a ) { "object" == typeof a ? M . push ( new G ( a ) ) : M . push ( a ) } ) ) : ( l ( g , M ) , M . $promise = k ) } return M . $resolved = ! 0 , e . resource = M , e } , function ( a ) { return M . $resolved = ! 0 , ( O || u ) ( a ) , n . reject ( a ) } ) , U = U . then ( function ( a ) { var b = ha ( a ) ; return ( R || u ) ( b , a . headers ) ,
b } , H ) , J ? U : ( M . $promise = U , M . $resolved = ! 1 , M ) } ; G . prototype [ "$" + b ] = function ( a , c , e ) { return B ( a ) && ( e = c , c = a , a = { } ) , a = G [ b ] . call ( this , a , this , c , e ) , a . $promise || a } } ) , G . bind = function ( a ) { return y ( b , A ( { } , r , a ) , p ) } , G } var u = f . noop , w = f . forEach , A = f . extend , z = f . copy , B = f . isFunction ; return t . prototype = { setUrlParams : function ( a , e , g ) { var k , h , l = this , n = g || l . template , t = "" , r = l . urlParams = { } ; w ( n . split ( /\W/ ) , function ( a ) { if ( "hasOwnProperty" === a ) throw c ( "badname" ) ; ! /^\d+$/ . test ( a ) && a && ( new RegExp ( "(^|[^\\\\]):" + a + "(\\W|$)" ) ) . test ( n ) &&
( r [ a ] = ! 0 ) } ) ; n = n . replace ( /\\:/g , ":" ) ; n = n . replace ( b , function ( a ) { return t = a , "" } ) ; e = e || { } ; w ( l . urlParams , function ( a , b ) { k = e . hasOwnProperty ( b ) ? e [ b ] : l . defaults [ b ] ; f . isDefined ( k ) && null !== k ? ( h = encodeURIComponent ( k ) . replace ( /%40/gi , "@" ) . replace ( /%3A/gi , ":" ) . replace ( /%24/g , "$" ) . replace ( /%2C/gi , "," ) . replace ( /%20/g , "%20" ) . replace ( /%26/gi , "&" ) . replace ( /%3D/gi , "=" ) . replace ( /%2B/gi , "+" ) , n = n . replace ( new RegExp ( ":" + b + "(\\W|$)" , "g" ) , function ( a , b ) { return h + b } ) ) : n = n . replace ( new RegExp ( "(/?):" + b + "(\\W|$)" , "g" ) , function ( a ,
b , c ) { return "/" == c . charAt ( 0 ) ? c : b + c } ) } ) ; l . defaults . stripTrailingSlashes && ( n = n . replace ( /\/+$/ , "" ) || "/" ) ; n = n . replace ( /\/\.(?=\w+($|\?))/ , "." ) ; a . url = t + n . replace ( /\/\\\./ , "/." ) ; w ( e , function ( b , c ) { l . urlParams [ c ] || ( a . params = a . params || { } , a . params [ c ] = b ) } ) } } , y } ] } ) } ) ( window , window . angular ) ; "undefined" != typeof module && "undefined" != typeof exports && module . exports === exports && ( module . exports = "ui.router" ) ;
( function ( b , f , h ) { function l ( a , b ) { return V ( new ( V ( function ( ) { } , { prototype : a } ) ) , b ) } function c ( a ) { return ca ( arguments , function ( b ) { b !== a && ca ( b , function ( b , c ) { a . hasOwnProperty ( c ) || ( a [ c ] = b ) } ) } ) , a } function a ( a ) { if ( Object . keys ) return Object . keys ( a ) ; var b = [ ] ; return ca ( a , function ( a , c ) { b . push ( c ) } ) , b } function e ( a , b , c ) { if ( Array . prototype . indexOf ) return a . indexOf ( b , Number ( c ) || 0 ) ; var e = a . length >>> 0 ; c = Number ( c ) || 0 ; c = 0 > c ? Math . ceil ( c ) : Math . floor ( c ) ; for ( 0 > c && ( c += e ) ; e > c ; c ++ ) if ( c in a && a [ c ] === b ) return c ; return - 1 } function g ( b ,
c , g , k ) { var f , h = [ ] , l ; for ( l in g . path ) { if ( g . path [ l ] !== k . path [ l ] ) break ; h . push ( g . path [ l ] ) } g = { } ; k = [ ] ; for ( var n in h ) if ( h [ n ] && h [ n ] . params && ( f = a ( h [ n ] . params ) , f . length ) ) for ( var v in f ) 0 <= e ( k , f [ v ] ) || ( k . push ( f [ v ] ) , g [ f [ v ] ] = b [ f [ v ] ] ) ; return V ( { } , g , c ) } function t ( a , b , c ) { if ( ! c ) { c = [ ] ; for ( var e in a ) c . push ( e ) } for ( e = 0 ; e < c . length ; e ++ ) { var g = c [ e ] ; if ( a [ g ] != b [ g ] ) return ! 1 } return ! 0 } function k ( a , b ) { var c = { } ; return ca ( a , function ( a ) { c [ a ] = b [ a ] } ) , c } function n ( a ) { var b = { } , c = Array . prototype . concat . apply ( Array . prototype , Array . prototype . slice . call ( arguments ,
1 ) ) ; return ca ( c , function ( c ) { c in a && ( b [ c ] = a [ c ] ) } ) , b } function r ( a ) { var b = { } , c = Array . prototype . concat . apply ( Array . prototype , Array . prototype . slice . call ( arguments , 1 ) ) , g ; for ( g in a ) - 1 == e ( c , g ) && ( b [ g ] = a [ g ] ) ; return b } function y ( a , b ) { var c = qa ( a ) , e = c ? [ ] : { } ; return ca ( a , function ( a , g ) { b ( a , g ) && ( e [ c ? e . length : g ] = a ) } ) , e } function u ( a , b ) { var c = qa ( a ) ? [ ] : { } ; return ca ( a , function ( a , e ) { c [ e ] = b ( a , e ) } ) , c } function w ( b , g ) { var k = { } , f = [ ] , l = V ( b . when ( k ) , { $$promises : k , $$values : k } ) ; this . study = function ( n ) { function v ( a , b ) { if ( 2 !== y [ b ] ) { if ( p . push ( b ) ,
1 === y [ b ] ) throw p . splice ( 0 , e ( p , b ) ) , Error ( "Cyclic dependency: " + p . join ( " -> " ) ) ; if ( y [ b ] = 1 , da ( a ) ) q . push ( b , [ function ( ) { return g . get ( a ) } ] , f ) ; else { var c = g . annotate ( a ) ; ca ( c , function ( a ) { a !== b && n . hasOwnProperty ( a ) && v ( n [ a ] , a ) } ) ; q . push ( b , a , c ) } p . pop ( ) ; y [ b ] = 2 } } function t ( a ) { return M ( a ) && a . then && a . $$promises } if ( ! M ( n ) ) throw Error ( "'invocables' must be an object" ) ; var u = a ( n || { } ) , q = [ ] , p = [ ] , y = { } ; return ca ( n , v ) , n = p = y = null , function ( a , e , f ) { function n ( ) { -- A || ( S || c ( z , e . $$values ) , K . $$values = z , K . $$promises = K . $$promises ||
! 0 , delete K . $$inheritedValues , y . resolve ( z ) ) } function v ( a ) { K . $$failure = a ; y . reject ( a ) } function p ( c , e , k ) { function h ( a ) { t . reject ( a ) ; v ( a ) } function l ( ) { if ( ! W ( K . $$failure ) ) try { t . resolve ( g . invoke ( e , f , z ) ) , t . promise . then ( function ( a ) { z [ c ] = a ; n ( ) } , h ) } catch ( Lb ) { h ( Lb ) } } var t = b . defer ( ) , r = 0 ; ca ( k , function ( b ) { w . hasOwnProperty ( b ) && ! a . hasOwnProperty ( b ) && ( r ++ , w [ b ] . then ( function ( a ) { z [ b ] = a ; -- r || l ( ) } , h ) ) } ) ; r || l ( ) ; w [ c ] = t . promise } if ( t ( a ) && f === h && ( f = e , e = a , a = null ) , a ) { if ( ! M ( a ) ) throw Error ( "'locals' must be an object" ) ; } else a =
k ; if ( e ) { if ( ! t ( e ) ) throw Error ( "'parent' must be a promise returned by $resolve.resolve()" ) ; } else e = l ; var y = b . defer ( ) , K = y . promise , w = K . $$promises = { } , z = V ( { } , a ) , A = 1 + q . length / 3 , S = ! 1 ; if ( W ( e . $$failure ) ) return v ( e . $$failure ) , K ; e . $$inheritedValues && c ( z , r ( e . $$inheritedValues , u ) ) ; V ( w , e . $$promises ) ; e . $$values ? ( S = c ( z , r ( e . $$values , u ) ) , K . $$inheritedValues = r ( e . $$values , u ) , n ( ) ) : ( e . $$inheritedValues && ( K . $$inheritedValues = r ( e . $$inheritedValues , u ) ) , e . then ( n , v ) ) ; for ( var aa = 0 , B = q . length ; B > aa ; aa += 3 ) a . hasOwnProperty ( q [ aa ] ) ?
n ( ) : p ( q [ aa ] , q [ aa + 1 ] , q [ aa + 2 ] ) ; return K } } ; this . resolve = function ( a , b , c , e ) { return this . study ( a ) ( b , c , e ) } } function A ( a , b , c ) { this . fromConfig = function ( a , b , c ) { return W ( a . template ) ? this . fromString ( a . template , b ) : W ( a . templateUrl ) ? this . fromUrl ( a . templateUrl , b ) : W ( a . templateProvider ) ? this . fromProvider ( a . templateProvider , b , c ) : null } ; this . fromString = function ( a , b ) { return P ( a ) ? a ( b ) : a } ; this . fromUrl = function ( c , e ) { return P ( c ) && ( c = c ( e ) ) , null == c ? null : a . get ( c , { cache : b , headers : { Accept : "text/html" } } ) . then ( function ( a ) { return a . data } ) } ;
this . fromProvider = function ( a , b , e ) { return c . invoke ( a , null , e || { params : b } ) } } function z ( a , b , c ) { function e ( b , c , e , g ) { if ( y . push ( b ) , q [ b ] ) return q [ b ] ; if ( ! /^\w+([-.]+\w+)*(?:\[\])?$/ . test ( b ) ) throw Error ( "Invalid parameter name '" + b + "' in pattern '" + a + "'" ) ; if ( p [ b ] ) throw Error ( "Duplicate parameter name '" + b + "' in pattern '" + a + "'" ) ; return p [ b ] = new la . Param ( b , c , e , g ) , p [ b ] } function g ( a , b , c , e ) { a = a . replace ( /[\\\[\]\^$*+?.()|{}]/g , "\\$&" ) ; if ( ! b ) return a ; switch ( c ) { case ! 1 : c = [ "(" , ")" + ( e ? "?" : "" ) ] ; break ; case ! 0 : a = a . replace ( /\/$/ ,
"" ) ; c = [ "(?:/(" , ")|/)?" ] ; break ; default : c = [ "(" + c + "|" , ")?" ] } return a + c [ 0 ] + b + c [ 1 ] } function k ( c , e ) { var g , k , f , n , v ; return g = c [ 2 ] || c [ 3 ] , v = b . params [ g ] , f = a . substring ( r , c . index ) , k = e ? c [ 4 ] : c [ 4 ] || ( "*" == c [ 1 ] ? ".*" : null ) , k && ( n = la . type ( k ) || l ( la . type ( "string" ) , { pattern : new RegExp ( k , b . caseInsensitive ? "i" : h ) } ) ) , { id : g , regexp : k , segment : f , type : n , cfg : v } } b = V ( { params : { } } , M ( b ) ? b : { } ) ; var f , n = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g , v = /([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g ,
t = "^" , r = 0 , u = this . segments = [ ] , q = c ? c . params : { } , p = this . params = c ? c . params . $$new ( ) : new la . ParamSet , y = [ ] ; this . source = a ; for ( var K , w ; ( f = n . exec ( a ) ) && ( K = k ( f , ! 1 ) , ! ( 0 <= K . segment . indexOf ( "?" ) ) ) ; ) w = e ( K . id , K . type , K . cfg , "path" ) , t += g ( K . segment , w . type . pattern . source , w . squash , w . isOptional ) , u . push ( K . segment ) , r = n . lastIndex ; c = a . substring ( r ) ; f = c . indexOf ( "?" ) ; if ( 0 <= f ) { var z = this . sourceSearch = c . substring ( f ) ; if ( c = c . substring ( 0 , f ) , this . sourcePath = a . substring ( 0 , r + f ) , 0 < z . length ) for ( r = 0 ; f = v . exec ( z ) ; ) K = k ( f , ! 0 ) , w = e ( K . id , K . type ,
K . cfg , "search" ) , r = n . lastIndex } else this . sourcePath = a , this . sourceSearch = "" ; t += g ( c ) + ( ! 1 === b . strict ? "/?" : "" ) + "$" ; u . push ( c ) ; this . regexp = new RegExp ( t , b . caseInsensitive ? "i" : h ) ; this . prefix = u [ 0 ] ; this . $$paramNames = y } function B ( a ) { V ( this , a ) } function E ( ) { function b ( a ) { return null != a ? a . toString ( ) . replace ( /~/g , "~~" ) . replace ( /\//g , "~2F" ) : a } function c ( a ) { return P ( a ) || qa ( a ) && P ( a [ a . length - 1 ] ) } function g ( ) { for ( ; w . length ; ) { var a = w . shift ( ) ; if ( a . pattern ) throw Error ( "You cannot override a type's .pattern at runtime." ) ;
f . extend ( p [ a . name ] , n . invoke ( a . def ) ) } } function k ( a ) { V ( this , a || { } ) } la = this ; var n , t = ! 1 , r = ! 0 , q = ! 1 , p = { } , K = ! 0 , w = [ ] , A = { string : { encode : b , decode : function ( a ) { return null != a ? a . toString ( ) . replace ( /~2F/g , "/" ) . replace ( /~~/g , "~" ) : a } , is : function ( a ) { return null == a || ! W ( a ) || "string" == typeof a } , pattern : /[^\/]*/ } , "int" : { encode : b , decode : function ( a ) { return parseInt ( a , 10 ) } , is : function ( a ) { return W ( a ) && this . decode ( a . toString ( ) ) === a } , pattern : /\d+/ } , bool : { encode : function ( a ) { return a ? 1 : 0 } , decode : function ( a ) { return 0 !== parseInt ( a ,
10 ) } , is : function ( a ) { return ! 0 === a || ! 1 === a } , pattern : /0|1/ } , date : { encode : function ( a ) { return this . is ( a ) ? [ a . getFullYear ( ) , ( "0" + ( a . getMonth ( ) + 1 ) ) . slice ( - 2 ) , ( "0" + a . getDate ( ) ) . slice ( - 2 ) ] . join ( "-" ) : h } , decode : function ( a ) { return this . is ( a ) ? a : ( a = this . capture . exec ( a ) ) ? new Date ( a [ 1 ] , a [ 2 ] - 1 , a [ 3 ] ) : h } , is : function ( a ) { return a instanceof Date && ! isNaN ( a . valueOf ( ) ) } , equals : function ( a , b ) { return this . is ( a ) && this . is ( b ) && a . toISOString ( ) === b . 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 : f . toJson , decode : f . fromJson , is : f . isObject , equals : f . equals , pattern : /[^\/]*/ } , any : { encode : f . identity , decode : f . identity , equals : f . equals , pattern : /.*/ } } ; E . $$getDefaultValue = function ( a ) { if ( ! c ( a . value ) ) return a . value ; if ( ! n ) throw Error ( "Injectable functions cannot be called at configuration time" ) ; return n . invoke ( a . value ) } ; this . caseInsensitive = function ( a ) { return W ( a ) && ( t = a ) , t } ; this . strictMode = function ( a ) { return W ( a ) && ( r = a ) , r } ; this . defaultSquashPolicy =
function ( a ) { if ( ! W ( a ) ) return q ; if ( ! 0 !== a && ! 1 !== a && ! da ( a ) ) throw Error ( "Invalid squash policy: " + a + ". Valid policies: false, true, arbitrary-string" ) ; return q = a , a } ; this . compile = function ( a , b ) { return new z ( a , V ( { strict : r , caseInsensitive : t } , b ) ) } ; this . isMatcher = function ( a ) { if ( ! M ( a ) ) return ! 1 ; var b = ! 0 ; return ca ( z . prototype , function ( c , e ) { P ( c ) && ( b = b && W ( a [ e ] ) && P ( a [ e ] ) ) } ) , b } ; this . type = function ( a , b , c ) { if ( ! W ( b ) ) return p [ a ] ; if ( p . hasOwnProperty ( a ) ) throw Error ( "A type named '" + a + "' has already been defined." ) ; return p [ a ] =
new B ( V ( { name : a } , b ) ) , c && ( w . push ( { name : a , def : c } ) , K || g ( ) ) , this } ; ca ( A , function ( a , b ) { p [ b ] = new B ( V ( { name : b } , a ) ) } ) ; p = l ( p , { } ) ; this . $get = [ "$injector" , function ( a ) { return n = a , K = ! 1 , g ( ) , ca ( A , function ( a , b ) { p [ b ] || ( p [ b ] = new B ( a ) ) } ) , this } ] ; this . Param = function ( b , g , k , l ) { function v ( ) { if ( ! n ) throw Error ( "Injectable functions cannot be called at configuration time" ) ; var a = n . invoke ( k . $$fn ) ; if ( null !== a && a !== h && ! t . type . is ( a ) ) throw Error ( "Default value (" + a + ") for parameter '" + t . id + "' is not an instance of Type (" + t . type . name +
")" ) ; return a } var t = this ; k = function ( b ) { var g = M ( b ) ? a ( b ) : [ ] ; return - 1 === e ( g , "value" ) && - 1 === e ( g , "type" ) && - 1 === e ( g , "squash" ) && - 1 === e ( g , "array" ) && ( b = { value : b } ) , b . $$fn = c ( b . value ) ? b . value : function ( ) { return b . value } , b } ( k ) ; g = function ( a , c , e ) { if ( a . type && c ) throw Error ( "Param '" + b + "' has two type configurations." ) ; return c ? c : a . type ? f . isString ( a . type ) ? p [ a . type ] : a . type instanceof B ? a . type : new B ( a . type ) : "config" === e ? p . any : p . string } ( k , g , l ) ; var r = function ( ) { var a = { array : "search" === l && "auto" } , c = b . match ( /\[\]$/ ) ? { array : ! 0 } :
{ } ; return V ( a , c , k ) . array } ( ) ; g = r ? g . $asArray ( r , "search" === l ) : g ; "string" !== g . name || r || "path" !== l || k . value !== h || ( k . value = "" ) ; var K = k . value !== h , w = function ( a , b ) { var c = a . squash ; if ( ! b || ! 1 === c ) return ! 1 ; if ( ! W ( c ) || null == c ) return q ; if ( ! 0 === c || da ( c ) ) return c ; throw Error ( "Invalid squash policy: '" + c + "'. Valid policies: false, true, or arbitrary string" ) ; } ( k , K ) , z = function ( a , b , c , g ) { var k , f ; b = [ { from : "" , to : c || b ? h : "" } , { from : null , to : c || b ? h : "" } ] ; return k = qa ( a . replace ) ? a . replace : [ ] , da ( g ) && k . push ( { from : g , to : h } ) , f = u ( k , function ( a ) { return a . from } ) ,
y ( b , function ( a ) { return - 1 === e ( f , a . from ) } ) . concat ( k ) } ( k , r , K , w ) ; V ( this , { id : b , type : g , location : l , array : r , squash : w , replace : z , isOptional : K , value : function ( a ) { function b ( a ) { return function ( b ) { return b . from === a } } return a = function ( a ) { var c = u ( y ( t . replace , b ( a ) ) , function ( a ) { return a . to } ) ; return c . length ? c [ 0 ] : a } ( a ) , W ( a ) ? t . type . $normalize ( a ) : v ( ) } , dynamic : h , config : k , toString : function ( ) { return "{Param:" + b + " " + g + " squash: '" + w + "' optional: " + K + "}" } } ) } ; k . prototype = { $$new : function ( ) { return l ( this , V ( new k , { $$parent : this } ) ) } ,
$$keys : function ( ) { for ( var b = [ ] , c = [ ] , g = this , f = a ( k . prototype ) ; g ; ) c . push ( g ) , g = g . $$parent ; return c . reverse ( ) , ca ( c , function ( c ) { ca ( a ( c ) , function ( a ) { - 1 === e ( b , a ) && - 1 === e ( f , a ) && b . push ( a ) } ) } ) , b } , $$values : function ( a ) { var b = { } , c = this ; return ca ( c . $$keys ( ) , function ( e ) { b [ e ] = c [ e ] . value ( a && a [ e ] ) } ) , b } , $$equals : function ( a , b ) { var c = ! 0 , e = this ; return ca ( e . $$keys ( ) , function ( g ) { e [ g ] . type . equals ( a && a [ g ] , b && b [ g ] ) || ( c = ! 1 ) } ) , c } , $$validates : function ( a ) { var b , c , e , g , k , l = this . $$keys ( ) ; for ( b = 0 ; b < l . length && ( c = this [ l [ b ] ] , e = a [ l [ b ] ] ,
e !== h && null !== e || ! c . isOptional ) ; b ++ ) if ( ( g = c . type . $normalize ( e ) , ! c . type . is ( g ) ) || ( k = c . type . encode ( g ) , f . isString ( k ) && ! c . type . pattern . exec ( k ) ) ) return ! 1 ; return ! 0 } , $$parent : h } ; this . ParamSet = k } function q ( a , b ) { function c ( a ) { a = /^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/ . exec ( a . source ) ; return null != a ? a [ 1 ] . replace ( /\\(.)/g , "$1" ) : "" } function e ( a , b ) { return a . replace ( /\$(\$|\d{1,2})/ , function ( a , c ) { return b [ "$" === c ? 0 : Number ( c ) ] } ) } function g ( a , b , c ) { if ( ! c ) return ! 1 ; a = a . invoke ( b , b , { $match : c } ) ; return ! W ( a ) || a } function k ( b ,
c , e , g , k ) { function r ( a ) { function c ( a ) { a = a ( e , b ) ; return ! ! a && ( da ( a ) && b . replace ( ) . url ( a ) , ! 0 ) } if ( ! a || ! a . defaultPrevented ) { q && b . url ( ) === q ; q = h ; var g = n . length ; for ( a = 0 ; g > a ; a ++ ) if ( c ( n [ a ] ) ) return ; v && c ( v ) } } function u ( ) { return l = l || c . $on ( "$locationChangeSuccess" , r ) } var q , p = g . baseHref ( ) , y = b . url ( ) ; return t || u ( ) , { sync : function ( ) { r ( ) } , listen : function ( ) { return u ( ) } , update : function ( a ) { return a ? void ( y = b . url ( ) ) : void ( b . url ( ) !== y && ( b . url ( y ) , b . replace ( ) ) ) } , push : function ( a , c , e ) { a = a . format ( c || { } ) ; null !== a && c && c [ "#" ] && ( a += "#" +
c [ "#" ] ) ; b . url ( a ) ; q = e && e . $$avoidResync ? b . url ( ) : h ; e && e . replace && b . replace ( ) } , href : function ( c , e , g ) { if ( ! c . validates ( e ) ) return null ; var h = a . html5Mode ( ) ; f . isObject ( h ) && ( h = h . enabled ) ; h = h && k . history ; c = c . format ( e ) ; g = g || { } ; h || null === c || ( c = "#" + a . hashPrefix ( ) + c ) ; null !== c && e && e [ "#" ] && ( c += "#" + e [ "#" ] ) ; e = c ; var l = g . absolute ; if ( c = "/" === p ? e : h ? p . slice ( 0 , - 1 ) + e : l ? p . slice ( 1 ) + e : e , ! g . absolute || ! c ) return c ; g = ! h && c ? "/" : "" ; h = b . port ( ) ; return h = 80 === h || 443 === h ? "" : ":" + h , [ b . protocol ( ) , "://" , b . host ( ) , h , g , c ] . join ( "" ) } } } var l , n = [ ] ,
v = null , t = ! 1 ; this . rule = function ( a ) { if ( ! P ( a ) ) throw Error ( "'rule' must be a function" ) ; return n . push ( a ) , this } ; this . otherwise = function ( a ) { if ( da ( a ) ) { var b = a ; a = function ( ) { return b } } else if ( ! P ( a ) ) throw Error ( "'rule' must be a function" ) ; return v = a , this } ; this . when = function ( a , k ) { var f , h = da ( k ) ; if ( da ( a ) && ( a = b . compile ( a ) ) , ! h && ! P ( k ) && ! qa ( k ) ) throw Error ( "invalid 'handler' in when()" ) ; var l = { matcher : function ( a , c ) { return h && ( f = b . compile ( c ) , c = [ "$match" , function ( a ) { return f . format ( a ) } ] ) , V ( function ( b , e ) { return g ( b ,
c , a . exec ( e . path ( ) , e . search ( ) ) ) } , { prefix : da ( a . prefix ) ? a . prefix : "" } ) } , regex : function ( a , b ) { if ( a . global || a . sticky ) throw Error ( "when() RegExp must not be global or sticky" ) ; return h && ( f = b , b = [ "$match" , function ( a ) { return e ( f , a ) } ] ) , V ( function ( c , e ) { return g ( c , b , a . exec ( e . path ( ) ) ) } , { prefix : c ( a ) } ) } } , n = { matcher : b . isMatcher ( a ) , regex : a instanceof RegExp } , v ; for ( v in n ) if ( n [ v ] ) return this . rule ( l [ v ] ( a , k ) ) ; throw Error ( "invalid 'what' in when()" ) ; } ; this . deferIntercept = function ( a ) { a === h && ( a = ! 0 ) ; t = a } ; this . $get = k ; k . $inject =
[ "$location" , "$rootScope" , "$injector" , "$browser" , "$sniffer" ] } function p ( b , c ) { function v ( a , b ) { if ( ! a ) return h ; var c = da ( a ) , e = c ? a : a . name , g = e ; if ( 0 === g . indexOf ( "." ) || 0 === g . indexOf ( "^" ) ) { if ( ! b ) throw Error ( "No reference point given for path '" + e + "'" ) ; b = v ( b ) ; for ( var g = e . split ( "." ) , k = 0 , f = g . length , l = b ; f > k ; k ++ ) if ( "" !== g [ k ] || 0 !== k ) { if ( "^" !== g [ k ] ) break ; if ( ! l . parent ) throw Error ( "Path '" + e + "' not valid for state '" + b . name + "'" ) ; l = l . parent } else l = b ; g = g . slice ( k ) . join ( "." ) ; e = l . name + ( l . name && g ? "." : "" ) + g } e = A [ e ] ; return ! e ||
! c && ( c || e !== a && e . self !== a ) ? h : e } function r ( a , b ) { S [ a ] || ( S [ a ] = [ ] ) ; S [ a ] . push ( b ) } function q ( a ) { for ( a = S [ a ] || [ ] ; a . length ; ) p ( a . shift ( ) ) } function p ( a ) { a = l ( a , { self : a , resolve : a . resolve || { } , toString : function ( ) { return this . name } } ) ; var c = a . name ; if ( ! da ( c ) || 0 <= c . indexOf ( "@" ) ) throw Error ( "State must have a valid name" ) ; if ( A . hasOwnProperty ( c ) ) throw Error ( "State '" + c + "' is already defined" ) ; var e = - 1 !== c . indexOf ( "." ) ? c . substring ( 0 , c . lastIndexOf ( "." ) ) : da ( a . parent ) ? a . parent : M ( a . parent ) && da ( a . parent . name ) ? a . parent . name :
"" ; if ( e && ! A [ e ] ) return r ( e , a . self ) ; for ( var g in E ) P ( E [ g ] ) && ( a [ g ] = E [ g ] ( a , E . $delegates [ g ] ) ) ; return A [ c ] = a , ! a [ B ] && a . url && b . when ( a . url , [ "$match" , "$stateParams" , function ( b , c ) { z . $current . navigable == a && t ( b , c ) || z . transitionTo ( a , b , { inherit : ! 0 , location : ! 1 } ) } ] ) , q ( c ) , a } function y ( b , c , n , r , q , p , y , S , aa ) { function E ( a , e , g , k ) { e = b . $broadcast ( "$stateNotFound" , a , e , g ) ; if ( e . defaultPrevented ) return y . update ( ) , G ; if ( ! e . retry ) return null ; if ( k . $retry ) return y . update ( ) , U ; var f = z . transition = c . when ( e . retry ) ; return f . then ( function ( ) { return f !==
z . transition ? O : ( a . options . $retry = ! 0 , z . transitionTo ( a . to , a . toParams , a . options ) ) } , function ( ) { return G } ) , y . update ( ) , f } function R ( a , b , e , g , h , l ) { var v = e ? b : k ( a . params . $$keys ( ) , b ) ; h . resolve = q . resolve ( a . resolve , { $stateParams : v } , h . resolve , a ) ; b = [ h . resolve . then ( function ( a ) { h . globals = a } ) ] ; return g && b . push ( g ) , c . all ( b ) . then ( function ( ) { var b = [ ] ; return ca ( a . views , function ( c , e ) { var g = c . resolve && c . resolve !== a . resolve ? c . resolve : { } ; g . $template = [ function ( ) { return n . load ( e , { view : c , locals : h . globals , params : v , notify : l . notify } ) ||
"" } ] ; b . push ( q . resolve ( g , h . globals , h . resolve , a ) . then ( function ( b ) { if ( P ( c . controllerProvider ) || qa ( c . controllerProvider ) ) { var k = f . extend ( { } , g , h . globals ) ; b . $$controller = r . invoke ( c . controllerProvider , null , k ) } else b . $$controller = c . controller ; b . $$state = a ; b . $$controllerAs = c . controllerAs ; h [ e ] = b } ) ) } ) , c . all ( b ) . then ( function ( ) { return h . globals } ) } ) . then ( function ( a ) { return h } ) } var O = c . reject ( Error ( "transition superseded" ) ) , za = c . reject ( Error ( "transition prevented" ) ) , G = c . reject ( Error ( "transition aborted" ) ) , U = c . reject ( Error ( "transition failed" ) ) ;
return w . locals = { resolve : null , globals : { $stateParams : { } } } , z = { params : { } , current : w . self , $current : w , transition : null } , z . reload = function ( a ) { return z . transitionTo ( z . current , p , { reload : a || ! 0 , inherit : ! 1 , notify : ! 0 } ) } , z . go = function ( a , b , c ) { return z . transitionTo ( a , b , V ( { inherit : ! 0 , relative : z . $current } , c ) ) } , z . transitionTo = function ( a , e , f ) { e = e || { } ; f = V ( { location : ! 0 , inherit : ! 1 , relative : null , notify : ! 0 , reload : ! 1 , $retry : ! 1 } , f || { } ) ; var h , n = z . $current , t = z . params , u = n . path , q = v ( a , f . relative ) , A = e [ "#" ] ; if ( ! W ( q ) ) { var S = { to : a , toParams : e ,
options : f } , aa = E ( S , n . self , t , f ) ; if ( aa ) return aa ; if ( a = S . to , e = S . toParams , f = S . options , q = v ( a , f . relative ) , ! W ( q ) ) { if ( ! f . relative ) throw Error ( "No such state '" + a + "'" ) ; throw Error ( "Could not resolve '" + a + "' from state '" + f . relative + "'" ) ; } } if ( q [ B ] ) throw Error ( "Cannot transition to abstract state '" + a + "'" ) ; if ( f . inherit && ( e = g ( p , e || { } , z . $current , q ) ) , ! q . params . $$validates ( e ) ) return U ; e = q . params . $$values ( e ) ; a = q ; var G = a . path , ka = 0 , q = G [ ka ] , S = w . locals , J = [ ] ; if ( f . reload ) { if ( da ( f . reload ) || M ( f . reload ) ) { if ( M ( f . reload ) && ! f . reload . name ) throw Error ( "Invalid reload state object" ) ;
aa = ! 0 === f . reload ? u [ 0 ] : v ( f . reload ) ; if ( f . reload && ! aa ) throw Error ( "No such reload state '" + ( da ( f . reload ) ? f . reload : f . reload . name ) + "'" ) ; for ( ; q && q === u [ ka ] && q !== aa ; ) S = J [ ka ] = q . locals , ka ++ , q = G [ ka ] } } else for ( ; q && q === u [ ka ] && q . ownParams . $$equals ( e , t ) ; ) S = J [ ka ] = q . locals , ka ++ , q = G [ ka ] ; if ( K ( a , e , n , t , S , f ) ) return A && ( e [ "#" ] = A ) , z . params = e , ma ( z . params , p ) , ma ( k ( a . params . $$keys ( ) , p ) , a . locals . globals . $stateParams ) , f . location && a . navigable && a . navigable . url && ( y . push ( a . navigable . url , e , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) ,
y . update ( ! 0 ) ) , z . transition = null , c . when ( z . current ) ; if ( e = k ( a . params . $$keys ( ) , e || { } ) , A && ( e [ "#" ] = A ) , f . notify && b . $broadcast ( "$stateChangeStart" , a . self , e , n . self , t , f ) . defaultPrevented ) return b . $broadcast ( "$stateChangeCancel" , a . self , e , n . self , t ) , null == z . transition && y . update ( ) , za ; A = c . when ( S ) ; for ( aa = ka ; aa < G . length ; aa ++ , q = G [ aa ] ) S = J [ aa ] = l ( S ) , A = R ( q , e , q === a , A , S , f ) ; var Ia = z . transition = A . then ( function ( ) { var c , g ; if ( z . transition !== Ia ) return O ; for ( c = u . length - 1 ; c >= ka ; c -- ) g = u [ c ] , g . self . onExit && r . invoke ( g . self . onExit , g . self ,
g . locals . globals ) , g . locals = null ; for ( c = ka ; c < G . length ; c ++ ) g = G [ c ] , g . locals = J [ c ] , g . self . onEnter && r . invoke ( g . self . onEnter , g . self , g . locals . globals ) ; return z . transition !== Ia ? O : ( z . $current = a , z . current = a . self , z . params = e , ma ( z . params , p ) , z . transition = null , f . location && a . navigable && y . push ( a . navigable . url , a . navigable . locals . globals . $stateParams , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) , f . notify && b . $broadcast ( "$stateChangeSuccess" , a . self , e , n . self , t ) , y . update ( ! 0 ) , z . current ) } , function ( g ) { return z . transition !==
Ia ? O : ( z . transition = null , h = b . $broadcast ( "$stateChangeError" , a . self , e , n . self , t , g ) , h . defaultPrevented || y . update ( ) , c . reject ( g ) ) } ) ; return Ia } , z . is = function ( a , b , c ) { c = V ( { relative : z . $current } , c || { } ) ; a = v ( a , c . relative ) ; return W ( a ) ? z . $current === a && ( ! b || t ( a . params . $$values ( b ) , p ) ) : h } , z . includes = function ( b , c , g ) { if ( g = V ( { relative : z . $current } , g || { } ) , da ( b ) && - 1 < b . indexOf ( "*" ) ) { b = b . split ( "." ) ; for ( var k = z . $current . name . split ( "." ) , f = 0 , l = b . length ; l > f ; f ++ ) "*" === b [ f ] && ( k [ f ] = "*" ) ; if ( "**" === b [ 0 ] && ( k = k . slice ( e ( k , b [ 1 ] ) ) , k . unshift ( "**" ) ) ,
"**" === b [ b . length - 1 ] && ( k . splice ( e ( k , b [ b . length - 2 ] ) + 1 , Number . MAX _VALUE ) , k . push ( "**" ) ) , b . length != k . length || k . join ( "" ) !== b . join ( "" ) ) return ! 1 ; b = z . $current . name } g = v ( b , g . relative ) ; return W ( g ) ? ! ! W ( z . $current . includes [ g . name ] ) && ( ! c || t ( g . params . $$values ( c ) , p , a ( c ) ) ) : h } , z . href = function ( a , b , c ) { c = V ( { lossy : ! 0 , inherit : ! 0 , absolute : ! 1 , relative : z . $current } , c || { } ) ; a = v ( a , c . relative ) ; if ( ! W ( a ) ) return null ; c . inherit && ( b = g ( p , b || { } , z . $current , a ) ) ; var e = a && c . lossy ? a . navigable : a ; return e && e . url !== h && null !== e . url ? y . href ( e . url ,
k ( a . params . $$keys ( ) . concat ( "#" ) , b || { } ) , { absolute : c . absolute } ) : null } , z . get = function ( b , c ) { if ( 0 === arguments . length ) return u ( a ( A ) , function ( a ) { return A [ a ] . self } ) ; var e = v ( b , c || z . $current ) ; return e && e . self ? e . self : null } , z } function K ( a , b , c , e , g , k ) { function f ( a , b , c ) { var e = a . params . $$keys ( ) . filter ( function ( b ) { return "search" != a . params [ b ] . location } ) , e = n . apply ( { } , [ a . params ] . concat ( e ) ) ; return ( new la . ParamSet ( e ) ) . $$equals ( b , c ) } return ! ( k . reload || a !== c || ! ( g === c . locals || ! 1 === a . self . reloadOnSearch && f ( c , e , b ) ) ) || void 0 }
var w , z , A = { } , S = { } , B = "abstract" , E = { parent : function ( a ) { return W ( a . parent ) && a . parent ? v ( a . parent ) : ( a = /^(.+)\.[^.]+$/ . exec ( a . name ) ) ? v ( a [ 1 ] ) : w } , data : function ( a ) { return a . parent && a . parent . data && ( a . data = a . self . data = l ( a . parent . data , a . data ) ) , a . data } , url : function ( a ) { var b = a . url , e = { params : a . params || { } } ; if ( da ( b ) ) return "^" == b . charAt ( 0 ) ? c . compile ( b . substring ( 1 ) , e ) : ( a . parent . navigable || w ) . url . concat ( b , e ) ; if ( ! b || c . isMatcher ( b ) ) return b ; throw Error ( "Invalid url '" + b + "' in state '" + a + "'" ) ; } , navigable : function ( a ) { return a . url ?
a : a . parent ? a . parent . navigable : null } , ownParams : function ( a ) { var b = a . url && a . url . params || new la . ParamSet ; return ca ( a . params || { } , function ( a , c ) { b [ c ] || ( b [ c ] = new la . Param ( c , null , a , "config" ) ) } ) , b } , params : function ( a ) { var b = n ( a . ownParams , a . ownParams . $$keys ( ) ) ; return a . parent && a . parent . params ? V ( a . parent . params . $$new ( ) , b ) : new la . ParamSet } , views : function ( a ) { var b = { } ; return ca ( W ( a . views ) ? a . views : { "" : a } , function ( c , e ) { 0 > e . indexOf ( "@" ) && ( e += "@" + a . parent . name ) ; b [ e ] = c } ) , b } , path : function ( a ) { return a . parent ? a . parent . path . concat ( a ) :
[ ] } , includes : function ( a ) { var b = a . parent ? V ( { } , a . parent . includes ) : { } ; return b [ a . name ] = ! 0 , b } , $delegates : { } } ; w = p ( { name : "" , url : "^" , views : null , "abstract" : ! 0 } ) ; w . navigable = null ; this . decorator = function ( a , b ) { return da ( a ) && ! W ( b ) ? E [ a ] : P ( b ) && da ( a ) ? ( E [ a ] && ! E . $delegates [ a ] && ( E . $delegates [ a ] = E [ a ] ) , E [ a ] = b , this ) : this } ; this . state = function ( a , b ) { return M ( a ) ? b = a : b . name = a , p ( b ) , this } ; this . $get = y ; y . $inject = "$rootScope $q $view $injector $resolve $stateParams $urlRouter $location $urlMatcherFactory" . split ( " " ) } function I ( ) { function a ( a ,
b ) { return { load : function ( a , c ) { var e ; return c = V ( { template : null , controller : null , view : null , locals : null , notify : ! 0 , async : ! 0 , params : { } } , c ) , c . view && ( e = b . fromConfig ( c . view , c . params , c . locals ) ) , e } } } this . $get = a ; a . $inject = [ "$rootScope" , "$templateFactory" ] } function O ( a , b , c , e ) { function g ( a , b ) { function c ( a ) { return 1 === Da && 4 <= sa ? ! ! l . enabled ( a ) : 1 === Da && 2 <= sa ? ! ! l . enabled ( ) : ! ! h } var e = { enter : function ( a , b , c ) { b . after ( a ) ; c ( ) } , leave : function ( a , b ) { a . remove ( ) ; b ( ) } } ; if ( a . noanimation ) return e ; if ( l ) return { enter : function ( a , b , g ) { c ( a ) ?
2 < f . version . minor ? l . enter ( a , null , b ) . then ( g ) : l . enter ( a , null , b , g ) : e . enter ( a , b , g ) } , leave : function ( a , b ) { c ( a ) ? 2 < f . version . minor ? l . leave ( a ) . then ( b ) : l . leave ( a , b ) : e . leave ( a , b ) } } ; if ( h ) { var g = h && h ( b , a ) ; return { enter : function ( a , b , c ) { g . enter ( a , null , b ) ; c ( ) } , leave : function ( a , b ) { g . leave ( a ) ; b ( ) } } } return e } var k = function ( ) { return b . has ? function ( a ) { return b . has ( a ) ? b . get ( a ) : null } : function ( a ) { try { return b . get ( a ) } catch ( Sa ) { return null } } } ( ) , h = k ( "$animator" ) , l = k ( "$animate" ) ; return { restrict : "ECA" , terminal : ! 0 , priority : 400 ,
transclude : "element" , compile : function ( b , k , h ) { return function ( b , k , l ) { function n ( ) { var a = t , b = u ; b && ( b . _willBeDestroyed = ! 0 ) ; r ? ( K . leave ( r , function ( ) { a && a . remove ( ) ; b && b . $destroy ( ) ; t = null } ) , t = r ) : ( a && a . remove ( ) , b && b . $destroy ( ) , t = null ) ; u = r = null } function v ( g ) { var v = G ( b , l , k , e ) , t = v && a . $current && a . $current . locals [ v ] ; ! g && t === q || b . _willBeDestroyed || ( g = b . $new ( ) , q = a . $current . locals [ v ] , g . $emit ( "$viewContentLoading" , v ) , r = h ( g , function ( a ) { K . enter ( a , k , function ( ) { u && u . $emit ( "$viewContentAnimationEnded" ) ; ( f . isDefined ( y ) &&
! y || b . $eval ( y ) ) && c ( a ) } ) ; n ( ) } ) , u = g , u . $emit ( "$viewContentLoaded" , v ) , u . $eval ( p ) ) } var t , r , u , q , p = l . onload || "" , y = l . autoscroll , K = g ( l , b ) ; b . $on ( "$stateChangeSuccess" , function ( ) { v ( ! 1 ) } ) ; v ( ! 0 ) } } } } function J ( a , b , c , e ) { return { restrict : "ECA" , priority : - 400 , compile : function ( g ) { var k = g . html ( ) ; return function ( g , f , h ) { var l = c . $current ; h = G ( g , h , f , e ) ; if ( l = l && l . locals [ h ] ) { f . data ( "$uiView" , { name : h , state : l . $$state } ) ; f . html ( l . $template ? l . $template : k ) ; h = a ( f . contents ( ) ) ; if ( l . $$controller ) { l . $scope = g ; l . $element = f ; var n = b ( l . $$controller ,
l ) ; l . $$controllerAs && ( g [ l . $$controllerAs ] = n ) ; f . data ( "$ngControllerController" , n ) ; f . children ( ) . data ( "$ngControllerController" , n ) } h ( g ) } } } } } function G ( a , b , c , e ) { a = e ( b . uiView || b . name || "" ) ( a ) ; c = c . inheritedData ( "$uiView" ) ; return 0 <= a . indexOf ( "@" ) ? a : a + "@" + ( c ? c . state . name : "" ) } function N ( a , b ) { var c , e = a . match ( /^\s*({[^}]*})\s*$/ ) ; if ( e && ( a = b + "(" + e [ 1 ] + ")" ) , c = a . replace ( /\n/g , " " ) . match ( /^([^(]+?)\s*(\((.*)\))?$/ ) , ! c || 4 !== c . length ) throw Error ( "Invalid state ref '" + a + "'" ) ; return { state : c [ 1 ] , paramExpr : c [ 3 ] || null } }
function T ( a ) { return ( a = a . parent ( ) . inheritedData ( "$uiView" ) ) && a . state && a . state . name ? a . state : void 0 } function X ( a ) { var b = "[object SVGAnimatedString]" === Object . prototype . toString . call ( a . prop ( "href" ) ) , c = "FORM" === a [ 0 ] . nodeName ; return { attr : c ? "action" : b ? "xlink:href" : "href" , isAnchor : "A" === a . prop ( "tagName" ) . toUpperCase ( ) , clickable : ! c } } function H ( a , b , c , e , g ) { return function ( k ) { var f = k . which || k . button , h = g ( ) ; if ( ! ( 1 < f || k . ctrlKey || k . metaKey || k . shiftKey || a . attr ( "target" ) ) ) { var l = c ( function ( ) { b . go ( h . state , h . params ,
h . options ) } ) ; k . preventDefault ( ) ; var n = e . isAnchor && ! h . href ? 1 : 0 ; k . preventDefault = function ( ) { 0 >= n -- && c . cancel ( l ) } } } } function R ( a , b ) { return { relative : T ( a ) || b . $current , inherit : ! 0 } } function U ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , k ) { var h = N ( g . uiSref , a . current . name ) , l = { state : h . state , href : null , params : null } , n = X ( e ) , v = k [ 1 ] || k [ 0 ] ; l . options = V ( R ( e , a ) , g . uiSrefOpts ? c . $eval ( g . uiSrefOpts ) : { } ) ; var t = function ( b ) { b && ( l . params = f . copy ( b ) ) ; l . href = a . href ( h . state , l . params ,
l . options ) ; v && v . $$addStateInfo ( h . state , l . params ) ; null !== l . href && g . $set ( n . attr , l . href ) } ; h . paramExpr && ( c . $watch ( h . paramExpr , function ( a ) { a !== l . params && t ( a ) } , ! 0 ) , l . params = f . copy ( c . $eval ( h . paramExpr ) ) ) ; t ( ) ; n . clickable && e . bind ( "click" , H ( e , a , b , n , function ( ) { return l } ) ) } } } function ha ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , k ) { function f ( b ) { n . state = b [ 0 ] ; n . params = b [ 1 ] ; n . options = b [ 2 ] ; n . href = a . href ( n . state , n . params , n . options ) ; l && l . $$addStateInfo ( n . state , n . params ) ;
n . href && g . $set ( h . attr , n . href ) } var h = X ( e ) , l = k [ 1 ] || k [ 0 ] ; k = "[" + [ g . uiState , g . uiStateParams || null , g . uiStateOpts || null ] . map ( function ( a ) { return a || "null" } ) . join ( ", " ) + "]" ; var n = { state : null , params : null , options : null , href : null } ; c . $watch ( k , f , ! 0 ) ; f ( c . $eval ( k ) ) ; h . clickable && e . bind ( "click" , H ( e , a , b , h , function ( ) { return n } ) ) } } } function K ( a , b , c ) { return { restrict : "A" , controller : [ "$scope" , "$element" , "$attrs" , "$timeout" , function ( b , e , g , k ) { function f ( c , g , k ) { var f = a . get ( c , T ( e ) ) , h , l = g ; if ( ! da ( c ) ) throw Error ( "state should be a string" ) ;
h = M ( l ) ? c + ba ( l ) : ( l = b . $eval ( l ) , M ( l ) ? c + ba ( l ) : c ) ; t . push ( { state : f || { name : c } , params : g , hash : h } ) ; r [ h ] = k } function h ( ) { for ( var b = 0 ; b < t . length ; b ++ ) a . includes ( t [ b ] . state . name , t [ b ] . params ) ? l ( e , r [ t [ b ] . hash ] ) : e . removeClass ( r [ t [ b ] . hash ] ) , a . is ( t [ b ] . state . name , t [ b ] . params ) ? l ( e , n ) : e . removeClass ( n ) } function l ( a , b ) { k ( function ( ) { a . addClass ( b ) } ) } var n , v , t = [ ] , r = { } ; n = c ( g . uiSrefActiveEq || "" , ! 1 ) ( b ) ; try { v = b . $eval ( g . uiSrefActive ) } catch ( Ma ) { } v = v || c ( g . uiSrefActive || "" , ! 1 ) ( b ) ; M ( v ) && ca ( v , function ( c , e ) { if ( da ( c ) ) { var g = N ( c , a . current . name ) ;
f ( g . state , b . $eval ( g . paramExpr ) , e ) } } ) ; this . $$addStateInfo = function ( a , b ) { M ( v ) && 0 < t . length || ( f ( a , b , v ) , h ( ) ) } ; b . $on ( "$stateChangeSuccess" , h ) ; h ( ) } ] } } function S ( a ) { var b = function ( b , c ) { return a . is ( b , c ) } ; return b . $stateful = ! 0 , b } function ka ( a ) { var b = function ( b , c , e ) { return a . includes ( b , c , e ) } ; return b . $stateful = ! 0 , b } var W = f . isDefined , P = f . isFunction , da = f . isString , M = f . isObject , qa = f . isArray , ca = f . forEach , V = f . extend , ma = f . copy , ba = f . toJson ; f . module ( "ui.router.util" , [ "ng" ] ) ; f . module ( "ui.router.router" , [ "ui.router.util" ] ) ;
f . module ( "ui.router.state" , [ "ui.router.router" , "ui.router.util" ] ) ; f . module ( "ui.router" , [ "ui.router.state" ] ) ; f . module ( "ui.router.compat" , [ "ui.router" ] ) ; w . $inject = [ "$q" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$resolve" , w ) ; A . $inject = [ "$http" , "$templateCache" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$templateFactory" , A ) ; var la ; z . prototype . concat = function ( a , b ) { var c = { caseInsensitive : la . caseInsensitive ( ) , strict : la . strictMode ( ) , squash : la . defaultSquashPolicy ( ) } ; return new z ( this . sourcePath +
a + this . sourceSearch , V ( c , b ) , this ) } ; z . prototype . toString = function ( ) { return this . source } ; z . prototype . exec = function ( a , b ) { function c ( a ) { function b ( a ) { return a . split ( "" ) . reverse ( ) . join ( "" ) } a = b ( a ) . split ( /-(?!\\)/ ) ; a = u ( a , b ) ; return u ( a , function ( a ) { return a . replace ( /\\-/g , "-" ) } ) . reverse ( ) } var e = this . regexp . exec ( a ) ; if ( ! e ) return null ; b = b || { } ; var g , k , f , h = this . parameters ( ) , l = h . length , n = this . segments . length - 1 , v = { } ; if ( n !== e . length - 1 ) throw Error ( "Unbalanced capture group in route '" + this . source + "'" ) ; var t , r ; for ( g =
0 ; n > g ; g ++ ) { f = h [ g ] ; t = this . params [ f ] ; r = e [ g + 1 ] ; for ( k = 0 ; k < t . replace . length ; k ++ ) t . replace [ k ] . from === r && ( r = t . replace [ k ] . to ) ; r && ! 0 === t . array && ( r = c ( r ) ) ; W ( r ) && ( r = t . type . decode ( r ) ) ; v [ f ] = t . value ( r ) } for ( ; l > g ; g ++ ) { f = h [ g ] ; v [ f ] = this . params [ f ] . value ( b [ f ] ) ; t = this . params [ f ] ; r = b [ f ] ; for ( k = 0 ; k < t . replace . length ; k ++ ) t . replace [ k ] . from === r && ( r = t . replace [ k ] . to ) ; W ( r ) && ( r = t . type . decode ( r ) ) ; v [ f ] = t . value ( r ) } return v } ; z . prototype . parameters = function ( a ) { return W ( a ) ? this . params [ a ] || null : this . $$paramNames } ; z . prototype . validates = function ( a ) { return this . params . $$validates ( a ) } ;
z . prototype . format = function ( a ) { function b ( a ) { return encodeURIComponent ( a ) . replace ( /-/g , function ( a ) { return "%5C%" + a . charCodeAt ( 0 ) . toString ( 16 ) . toUpperCase ( ) } ) } a = a || { } ; var c = this . segments , e = this . parameters ( ) , g = this . params ; if ( ! this . validates ( a ) ) return null ; var k , f = ! 1 , h = c . length - 1 , l = e . length , n = c [ 0 ] ; for ( k = 0 ; l > k ; k ++ ) { var t = h > k , r = e [ k ] , q = g [ r ] , p = q . value ( a [ r ] ) , y = q . isOptional && q . type . equals ( q . value ( ) , p ) , K = ! ! y && q . squash , p = q . type . encode ( p ) ; t ? ( t = c [ k + 1 ] , r = k + 1 === h , ! 1 === K ? ( null != p && ( n += qa ( p ) ? u ( p , b ) . join ( "-" ) : encodeURIComponent ( p ) ) ,
n += t ) : ! 0 === K ? ( K = n . match ( /\/$/ ) ? /\/?(.*)/ : /(.*)/ , n += t . match ( K ) [ 1 ] ) : da ( K ) && ( n += K + t ) , r && ! 0 === q . squash && "/" === n . slice ( - 1 ) && ( n = n . slice ( 0 , - 1 ) ) ) : null == p || y && ! 1 !== K || ( qa ( p ) || ( p = [ p ] ) , 0 === p . length ) || ( p = u ( p , encodeURIComponent ) . join ( "&" + r + "=" ) , n += ( f ? "&" : "?" ) + ( r + "=" + p ) , f = ! 0 ) } return n } ; B . prototype . is = function ( a , b ) { return ! 0 } ; B . prototype . encode = function ( a , b ) { return a } ; B . prototype . decode = function ( a , b ) { return a } ; B . prototype . equals = function ( a , b ) { return a == b } ; B . prototype . $subPattern = function ( ) { var a = this . pattern . toString ( ) ;
return a . substr ( 1 , a . length - 2 ) } ; B . prototype . pattern = /.*/ ; B . prototype . toString = function ( ) { return "{Type:" + this . name + "}" } ; B . prototype . $normalize = function ( a ) { return this . is ( a ) ? a : this . decode ( a ) } ; B . prototype . $asArray = function ( a , b ) { if ( ! a ) return this ; if ( "auto" === a && ! b ) throw Error ( "'auto' array mode is for query parameters only" ) ; return new function ( a , b ) { function c ( a , b ) { return function ( ) { return a [ b ] . apply ( a , arguments ) } } function e ( a ) { return qa ( a ) ? a : W ( a ) ? [ a ] : [ ] } function g ( a ) { return ! a } function k ( a , c ) { return function ( k ) { if ( qa ( k ) &&
0 === k . length ) return k ; k = e ( k ) ; k = u ( k , a ) ; if ( ! 0 === c ) k = 0 === y ( k , g ) . length ; else a : switch ( k . length ) { case 0 : k = h ; break a ; case 1 : k = "auto" === b ? k [ 0 ] : k } return k } } this . encode = k ( c ( a , "encode" ) ) ; this . decode = k ( c ( a , "decode" ) ) ; this . is = k ( c ( a , "is" ) , ! 0 ) ; this . equals = function ( a ) { return function ( b , c ) { var g = e ( b ) , k = e ( c ) ; if ( g . length !== k . length ) return ! 1 ; for ( var f = 0 ; f < g . length ; f ++ ) if ( ! a ( g [ f ] , k [ f ] ) ) return ! 1 ; return ! 0 } } ( c ( a , "equals" ) ) ; this . pattern = a . pattern ; this . $normalize = k ( c ( a , "$normalize" ) ) ; this . name = a . name ; this . $arrayMode = b } ( this ,
a ) } ; f . module ( "ui.router.util" ) . provider ( "$urlMatcherFactory" , E ) ; f . module ( "ui.router.util" ) . run ( [ "$urlMatcherFactory" , function ( a ) { } ] ) ; q . $inject = [ "$locationProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.router" ) . provider ( "$urlRouter" , q ) ; p . $inject = [ "$urlRouterProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.state" ) . factory ( "$stateParams" , function ( ) { return { } } ) . provider ( "$state" , p ) ; I . $inject = [ ] ; f . module ( "ui.router.state" ) . provider ( "$view" , I ) ; f . module ( "ui.router.state" ) . provider ( "$uiViewScroll" ,
function ( ) { var a = ! 1 ; this . useAnchorScroll = function ( ) { a = ! 0 } ; this . $get = [ "$anchorScroll" , "$timeout" , function ( b , c ) { return a ? b : function ( a ) { return c ( function ( ) { a [ 0 ] . scrollIntoView ( ) } , 0 , ! 1 ) } } ] } ) ; var Da = f . version . major , sa = f . version . minor ; O . $inject = [ "$state" , "$injector" , "$uiViewScroll" , "$interpolate" ] ; J . $inject = [ "$compile" , "$controller" , "$state" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiView" , O ) ; f . module ( "ui.router.state" ) . directive ( "uiView" , J ) ; U . $inject = [ "$state" , "$timeout" ] ; ha . $inject = [ "$state" ,
"$timeout" ] ; K . $inject = [ "$state" , "$stateParams" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiSref" , U ) . directive ( "uiSrefActive" , K ) . directive ( "uiSrefActiveEq" , K ) . directive ( "uiState" , ha ) ; S . $inject = [ "$state" ] ; ka . $inject = [ "$state" ] ; f . module ( "ui.router.state" ) . filter ( "isState" , S ) . filter ( "includedByState" , ka ) } ) ( window , window . angular ) ; angular . module ( "ui.bootstrap" , "ui.bootstrap.tpls ui.bootstrap.collapse ui.bootstrap.accordion ui.bootstrap.alert ui.bootstrap.buttons ui.bootstrap.carousel ui.bootstrap.dateparser ui.bootstrap.position ui.bootstrap.datepicker ui.bootstrap.dropdown ui.bootstrap.stackedMap ui.bootstrap.modal ui.bootstrap.pagination ui.bootstrap.tooltip ui.bootstrap.popover ui.bootstrap.progressbar ui.bootstrap.rating ui.bootstrap.tabs ui.bootstrap.timepicker ui.bootstrap.typeahead" . split ( " " ) ) ;
2017-04-11 07:10:36 +00:00
angular . module ( "ui.bootstrap.tpls" , "template/accordion/accordion-group.html template/accordion/accordion.html template/alert/alert.html template/carousel/carousel.html template/carousel/slide.html template/datepicker/datepicker.html template/datepicker/day.html template/datepicker/month.html template/datepicker/popup.html template/datepicker/year.html template/modal/backdrop.html template/modal/window.html template/pagination/pager.html template/pagination/pagination.html template/tooltip/tooltip-html-popup.html template/tooltip/tooltip-popup.html template/tooltip/tooltip-template-popup.html template/popover/popover-html.html template/popover/popover-template.html template/popover/popover.html template/progressbar/bar.html template/progressbar/progress.html template/progressbar/progressbar.html template/rating/rating.html template/tabs/tab.html template/tabs/tabset.html template/timepicker/timepicker.html template/typeahead/typeahead-match.html template/typeahead/typeahead-popup.html" . split ( " " ) ) ;
2017-09-20 18:29:17 +00:00
angular . module ( "ui.bootstrap.collapse" , [ ] ) . directive ( "uibCollapse" , [ "$animate" , "$injector" , function ( b , f ) { var h = f . has ( "$animateCss" ) ? f . get ( "$animateCss" ) : null ; return { link : function ( f , c , a ) { function e ( ) { c . removeClass ( "collapsing" ) . addClass ( "collapse" ) . css ( { height : "auto" } ) } function g ( ) { c . css ( { height : "0" } ) ; c . removeClass ( "collapsing" ) . addClass ( "collapse" ) } f . $watch ( a . uibCollapse , function ( a ) { a ? c . hasClass ( "collapse" ) || c . hasClass ( "in" ) ? ( c . css ( { height : c [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" ,
! 1 ) . attr ( "aria-hidden" , ! 0 ) , h ? h ( c , { removeClass : "in" , to : { height : "0" } } ) . start ( ) [ "finally" ] ( g ) : b . removeClass ( c , "in" , { to : { height : "0" } } ) . then ( g ) ) : g ( ) : ( c . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , h ? h ( c , { addClass : "in" , easing : "ease" , to : { height : c [ 0 ] . scrollHeight + "px" } } ) . start ( ) [ "finally" ] ( e ) : b . addClass ( c , "in" , { to : { height : c [ 0 ] . scrollHeight + "px" } } ) . then ( e ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.collapse" ) . value ( "$collapseSuppressWarning" , ! 1 ) . directive ( "collapse" , [ "$animate" , "$injector" , "$log" , "$collapseSuppressWarning" , function ( b , f , h , l ) { var c = f . has ( "$animateCss" ) ? f . get ( "$animateCss" ) : null ; return { link : function ( a , e , g ) { function f ( ) { e . removeClass ( "collapsing" ) . addClass ( "collapse in" ) . css ( { height : "auto" } ) } function k ( ) { e . css ( { height : "0" } ) ; e . removeClass ( "collapsing" ) . addClass ( "collapse" ) } l || h . warn ( "collapse is now deprecated. Use uib-collapse instead." ) ; a . $watch ( g . collapse ,
function ( a ) { a ? e . hasClass ( "collapse" ) || e . hasClass ( "in" ) ? ( e . css ( { height : e [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse in" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 1 ) . attr ( "aria-hidden" , ! 0 ) , c ? c ( e , { to : { height : "0" } } ) . start ( ) . done ( k ) : b . animate ( e , { } , { height : "0" } ) . then ( k ) ) : k ( ) : ( e . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , c ? c ( e , { easing : "ease" , to : { height : e [ 0 ] . scrollHeight + "px" } } ) . start ( ) . done ( f ) : b . animate ( e , { } , { height : e [ 0 ] . scrollHeight + "px" } ) . then ( f ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.accordion" , [ "ui.bootstrap.collapse" ] ) . constant ( "uibAccordionConfig" , { closeOthers : ! 0 } ) . controller ( "UibAccordionController" , [ "$scope" , "$attrs" , "uibAccordionConfig" , function ( b , f , h ) { this . groups = [ ] ; this . closeOthers = function ( l ) { ( angular . isDefined ( f . closeOthers ) ? b . $eval ( f . closeOthers ) : h . closeOthers ) && angular . forEach ( this . groups , function ( b ) { b !== l && ( b . isOpen = ! 1 ) } ) } ; this . addGroup = function ( b ) { var c = this ; this . groups . push ( b ) ; b . $on ( "$destroy" , function ( a ) { c . removeGroup ( b ) } ) } ; this . removeGroup =
function ( b ) { b = this . groups . indexOf ( b ) ; - 1 !== b && this . groups . splice ( b , 1 ) } } ] ) . directive ( "uibAccordion" , function ( ) { return { controller : "UibAccordionController" , controllerAs : "accordion" , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion.html" } } } ) . directive ( "uibAccordionGroup" , function ( ) { return { require : "^uibAccordion" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion-group.html" } , scope : { heading : "@" , isOpen : "=?" , isDisabled : "=?" } ,
controller : function ( ) { this . setHeading = function ( b ) { this . heading = b } } , link : function ( b , f , h , l ) { l . addGroup ( b ) ; b . openClass = h . openClass || "panel-open" ; b . panelClass = h . panelClass ; b . $watch ( "isOpen" , function ( c ) { f . toggleClass ( b . openClass , ! ! c ) ; c && l . closeOthers ( b ) } ) ; b . toggleOpen = function ( c ) { b . isDisabled || c && 32 !== c . which || ( b . isOpen = ! b . isOpen ) } } } } ) . directive ( "uibAccordionHeading" , function ( ) { return { transclude : ! 0 , template : "" , replace : ! 0 , require : "^uibAccordionGroup" , link : function ( b , f , h , l , c ) { l . setHeading ( c ( b , angular . noop ) ) } } } ) . directive ( "uibAccordionTransclude" ,
function ( ) { return { require : [ "?^uibAccordionGroup" , "?^accordionGroup" ] , link : function ( b , f , h , l ) { l = l [ 0 ] ? l [ 0 ] : l [ 1 ] ; b . $watch ( function ( ) { return l [ h . uibAccordionTransclude ] } , function ( b ) { b && ( f . find ( "span" ) . html ( "" ) , f . find ( "span" ) . append ( b ) ) } ) } } } ) ;
angular . module ( "ui.bootstrap.accordion" ) . value ( "$accordionSuppressWarning" , ! 1 ) . controller ( "AccordionController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$accordionSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "AccordionController is now deprecated. Use UibAccordionController instead." ) ; angular . extend ( this , h ( "UibAccordionController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "accordion" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { restrict : "EA" , controller : "AccordionController" , controllerAs : "accordion" ,
transclude : ! 0 , replace : ! 1 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion.html" } , link : function ( ) { f || b . warn ( "accordion is now deprecated. Use uib-accordion instead." ) } } } ] ) . directive ( "accordionGroup" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { require : "^accordion" , restrict : "EA" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion-group.html" } , scope : { heading : "@" , isOpen : "=?" , isDisabled : "=?" } , controller : function ( ) { this . setHeading =
function ( b ) { this . heading = b } } , link : function ( h , l , c , a ) { f || b . warn ( "accordion-group is now deprecated. Use uib-accordion-group instead." ) ; a . addGroup ( h ) ; h . openClass = c . openClass || "panel-open" ; h . panelClass = c . panelClass ; h . $watch ( "isOpen" , function ( b ) { l . toggleClass ( h . openClass , ! ! b ) ; b && a . closeOthers ( h ) } ) ; h . toggleOpen = function ( a ) { h . isDisabled || a && 32 !== a . which || ( h . isOpen = ! h . isOpen ) } } } } ] ) . directive ( "accordionHeading" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { restrict : "EA" , transclude : ! 0 , template : "" ,
replace : ! 0 , require : "^accordionGroup" , link : function ( h , l , c , a , e ) { f || b . warn ( "accordion-heading is now deprecated. Use uib-accordion-heading instead." ) ; a . setHeading ( e ( h , angular . noop ) ) } } } ] ) . directive ( "accordionTransclude" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { require : "^accordionGroup" , link : function ( h , l , c , a ) { f || b . warn ( "accordion-transclude is now deprecated. Use uib-accordion-transclude instead." ) ; h . $watch ( function ( ) { return a [ c . accordionTransclude ] } , function ( a ) { a && ( l . find ( "span" ) . html ( "" ) ,
l . find ( "span" ) . append ( a ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.alert" , [ ] ) . controller ( "UibAlertController" , [ "$scope" , "$attrs" , "$interpolate" , "$timeout" , function ( b , f , h , l ) { b . closeable = ! ! f . close ; ( f = angular . isDefined ( f . dismissOnTimeout ) ? h ( f . dismissOnTimeout ) ( b . $parent ) : null ) && l ( function ( ) { b . close ( ) } , parseInt ( f , 10 ) ) } ] ) . directive ( "uibAlert" , function ( ) { return { controller : "UibAlertController" , controllerAs : "alert" , templateUrl : function ( b , f ) { return f . templateUrl || "template/alert/alert.html" } , transclude : ! 0 , replace : ! 0 , scope : { type : "@" , close : "&" } } } ) ;
angular . module ( "ui.bootstrap.alert" ) . value ( "$alertSuppressWarning" , ! 1 ) . controller ( "AlertController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$alertSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "AlertController is now deprecated. Use UibAlertController instead." ) ; angular . extend ( this , h ( "UibAlertController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "alert" , [ "$log" , "$alertSuppressWarning" , function ( b , f ) { return { controller : "AlertController" , controllerAs : "alert" , templateUrl : function ( b , f ) { return f . templateUrl ||
"template/alert/alert.html" } , transclude : ! 0 , replace : ! 0 , scope : { type : "@" , close : "&" } , link : function ( ) { f || b . warn ( "alert is now deprecated. Use uib-alert instead." ) } } } ] ) ;
angular . module ( "ui.bootstrap.buttons" , [ ] ) . constant ( "uibButtonConfig" , { activeClass : "active" , toggleEvent : "click" } ) . controller ( "UibButtonsController" , [ "uibButtonConfig" , function ( b ) { this . activeClass = b . activeClass || "active" ; this . toggleEvent = b . toggleEvent || "click" } ] ) . directive ( "uibBtnRadio" , function ( ) { return { require : [ "uibBtnRadio" , "ngModel" ] , controller : "UibButtonsController" , controllerAs : "buttons" , link : function ( b , f , h , l ) { var c = l [ 0 ] , a = l [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ; a . $render = function ( ) { f . toggleClass ( c . activeClass ,
angular . equals ( a . $modelValue , b . $eval ( h . uibBtnRadio ) ) ) } ; f . on ( c . toggleEvent , function ( ) { if ( ! h . disabled ) { var e = f . hasClass ( c . activeClass ) ; e && ! angular . isDefined ( h . uncheckable ) || b . $apply ( function ( ) { a . $setViewValue ( e ? null : b . $eval ( h . uibBtnRadio ) ) ; a . $render ( ) } ) } } ) } } } ) . directive ( "uibBtnCheckbox" , function ( ) { return { require : [ "uibBtnCheckbox" , "ngModel" ] , controller : "UibButtonsController" , controllerAs : "button" , link : function ( b , f , h , l ) { function c ( a , c ) { return angular . isDefined ( a ) ? b . $eval ( a ) : c } var a = l [ 0 ] , e = l [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ;
e . $render = function ( ) { f . toggleClass ( a . activeClass , angular . equals ( e . $modelValue , c ( h . btnCheckboxTrue , ! 0 ) ) ) } ; f . on ( a . toggleEvent , function ( ) { h . disabled || b . $apply ( function ( ) { e . $setViewValue ( f . hasClass ( a . activeClass ) ? c ( h . btnCheckboxFalse , ! 1 ) : c ( h . btnCheckboxTrue , ! 0 ) ) ; e . $render ( ) } ) } ) } } } ) ;
angular . module ( "ui.bootstrap.buttons" ) . value ( "$buttonsSuppressWarning" , ! 1 ) . controller ( "ButtonsController" , [ "$controller" , "$log" , "$buttonsSuppressWarning" , function ( b , f , h ) { h || f . warn ( "ButtonsController is now deprecated. Use UibButtonsController instead." ) ; angular . extend ( this , b ( "UibButtonsController" ) ) } ] ) . directive ( "btnRadio" , [ "$log" , "$buttonsSuppressWarning" , function ( b , f ) { return { require : [ "btnRadio" , "ngModel" ] , controller : "ButtonsController" , controllerAs : "buttons" , link : function ( h , l , c , a ) { f || b . warn ( "btn-radio is now deprecated. Use uib-btn-radio instead." ) ;
var e = a [ 0 ] , g = a [ 1 ] ; l . find ( "input" ) . css ( { display : "none" } ) ; g . $render = function ( ) { l . toggleClass ( e . activeClass , angular . equals ( g . $modelValue , h . $eval ( c . btnRadio ) ) ) } ; l . bind ( e . toggleEvent , function ( ) { if ( ! c . disabled ) { var a = l . hasClass ( e . activeClass ) ; a && ! angular . isDefined ( c . uncheckable ) || h . $apply ( function ( ) { g . $setViewValue ( a ? null : h . $eval ( c . btnRadio ) ) ; g . $render ( ) } ) } } ) } } } ] ) . directive ( "btnCheckbox" , [ "$document" , "$log" , "$buttonsSuppressWarning" , function ( b , f , h ) { return { require : [ "btnCheckbox" , "ngModel" ] , controller : "ButtonsController" ,
controllerAs : "button" , link : function ( l , c , a , e ) { function g ( a , b ) { var c = l . $eval ( a ) ; return angular . isDefined ( c ) ? c : b } h || f . warn ( "btn-checkbox is now deprecated. Use uib-btn-checkbox instead." ) ; var t = e [ 0 ] , k = e [ 1 ] ; c . find ( "input" ) . css ( { display : "none" } ) ; k . $render = function ( ) { c . toggleClass ( t . activeClass , angular . equals ( k . $modelValue , g ( a . btnCheckboxTrue , ! 0 ) ) ) } ; c . bind ( t . toggleEvent , function ( ) { a . disabled || l . $apply ( function ( ) { k . $setViewValue ( c . hasClass ( t . activeClass ) ? g ( a . btnCheckboxFalse , ! 1 ) : g ( a . btnCheckboxTrue , ! 0 ) ) ;
k . $render ( ) } ) } ) ; c . on ( "keypress" , function ( e ) { a . disabled || 32 !== e . which || b [ 0 ] . activeElement !== c [ 0 ] || l . $apply ( function ( ) { k . $setViewValue ( c . hasClass ( t . activeClass ) ? g ( a . btnCheckboxFalse , ! 1 ) : g ( a . btnCheckboxTrue , ! 0 ) ) ; k . $render ( ) } ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" , [ ] ) . controller ( "UibCarouselController" , [ "$scope" , "$element" , "$interval" , "$animate" , function ( b , f , h , l ) { function c ( a , c , g ) { z || ( angular . extend ( a , { direction : g , active : ! 0 } ) , angular . extend ( r . currentSlide || { } , { direction : g , active : ! 1 } ) , l . enabled ( ) && ! b . noTransition && ! b . $currentTransition && a . $element && 1 < r . slides . length && ( a . $element . data ( w , a . direction ) , r . currentSlide && r . currentSlide . $element && r . currentSlide . $element . data ( w , a . direction ) , b . $currentTransition = ! 0 , u ? l . on ( "addClass" ,
a . $element , function ( a , c ) { "close" === c && ( b . $currentTransition = null , l . off ( "addClass" , a ) ) } ) : a . $element . one ( "$animate:close" , function ( ) { b . $currentTransition = null } ) ) , r . currentSlide = a , A = c , e ( ) ) } function a ( a ) { if ( angular . isUndefined ( y [ a ] . index ) ) return y [ a ] ; var b ; y . length ; for ( b = 0 ; b < y . length ; ++ b ) if ( y [ b ] . index == a ) return y [ b ] } function e ( ) { g ( ) ; var a = + b . interval ; ! isNaN ( a ) && 0 < a && ( k = h ( t , a ) ) } function g ( ) { k && ( h . cancel ( k ) , k = null ) } function t ( ) { var a = + b . interval ; n && ! isNaN ( a ) && 0 < a && y . length ? b . next ( ) : b . pause ( ) } var k , n , r =
this , y = r . slides = b . slides = [ ] , u = 4 <= angular . version . minor , w = "uib-slideDirection" , A = - 1 ; r . currentSlide = null ; var z = ! 1 ; r . select = b . select = function ( a , e ) { var g = b . indexOfSlide ( a ) ; void 0 === e && ( e = g > r . getCurrentIndex ( ) ? "next" : "prev" ) ; a && a !== r . currentSlide && ! b . $currentTransition && c ( a , g , e ) } ; b . $on ( "$destroy" , function ( ) { z = ! 0 } ) ; r . getCurrentIndex = function ( ) { return r . currentSlide && angular . isDefined ( r . currentSlide . index ) ? + r . currentSlide . index : A } ; b . indexOfSlide = function ( a ) { return angular . isDefined ( a . index ) ? + a . index : y . indexOf ( a ) } ;
b . next = function ( ) { var c = ( r . getCurrentIndex ( ) + 1 ) % y . length ; return 0 === c && b . noWrap ( ) ? void b . pause ( ) : r . select ( a ( c ) , "next" ) } ; b . prev = function ( ) { var c = 0 > r . getCurrentIndex ( ) - 1 ? y . length - 1 : r . getCurrentIndex ( ) - 1 ; return b . noWrap ( ) && c === y . length - 1 ? void b . pause ( ) : r . select ( a ( c ) , "prev" ) } ; b . isActive = function ( a ) { return r . currentSlide === a } ; b . $watch ( "interval" , e ) ; b . $watchCollection ( "slides" , function ( a ) { a . length || ( b . $currentTransition = null ) } ) ; b . $on ( "$destroy" , g ) ; b . play = function ( ) { n || ( n = ! 0 , e ( ) ) } ; b . pause = function ( ) { b . noPause ||
( n = ! 1 , g ( ) ) } ; r . addSlide = function ( a , c ) { a . $element = c ; y . push ( a ) ; 1 === y . length || a . active ? ( r . select ( y [ y . length - 1 ] ) , 1 === y . length && b . play ( ) ) : a . active = ! 1 } ; r . removeSlide = function ( a ) { angular . isDefined ( a . index ) && y . sort ( function ( a , b ) { return + a . index > + b . index } ) ; var b = y . indexOf ( a ) ; y . splice ( b , 1 ) ; 0 < y . length && a . active ? b >= y . length ? r . select ( y [ b - 1 ] ) : r . select ( y [ b ] ) : A > b && A -- ; 0 === y . length && ( r . currentSlide = null ) } ; b . $watch ( "noTransition" , function ( a ) { f . data ( "uib-noTransition" , a ) } ) } ] ) . directive ( "uibCarousel" , [ function ( ) { return { transclude : ! 0 ,
replace : ! 0 , controller : "UibCarouselController" , controllerAs : "carousel" , require : "carousel" , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/carousel.html" } , scope : { interval : "=" , noTransition : "=" , noPause : "=" , noWrap : "&" } } } ] ) . directive ( "uibSlide" , function ( ) { return { require : "^uibCarousel" , restrict : "EA" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/slide.html" } , scope : { active : "=?" , actual : "=?" , index : "=?" } , link : function ( b , f , h , l ) { l . addSlide ( b , f ) ; b . $on ( "$destroy" ,
function ( ) { l . removeSlide ( b ) } ) ; b . $watch ( "active" , function ( c ) { c && l . select ( b ) } ) } } } ) . animation ( ".item" , [ "$injector" , "$animate" , function ( b , f ) { function h ( b , a , e ) { b . removeClass ( a ) ; e && e ( ) } var l = null ; return b . has ( "$animateCss" ) && ( l = b . get ( "$animateCss" ) ) , { beforeAddClass : function ( b , a , e ) { if ( "active" == a && b . parent ( ) && b . parent ( ) . parent ( ) && ! b . parent ( ) . parent ( ) . data ( "uib-noTransition" ) ) { var c = ! 1 ; a = b . data ( "uib-slideDirection" ) ; var t = "next" == a ? "left" : "right" , k = h . bind ( this , b , t + " " + a , e ) ; return b . addClass ( a ) , l ? l ( b , { addClass : t } ) . start ( ) . done ( k ) :
f . addClass ( b , t ) . then ( function ( ) { c || k ( ) ; e ( ) } ) , function ( ) { c = ! 0 } } e ( ) } , beforeRemoveClass : function ( b , a , e ) { if ( "active" === a && b . parent ( ) && b . parent ( ) . parent ( ) && ! b . parent ( ) . parent ( ) . data ( "uib-noTransition" ) ) { var c = ! 1 ; a = "next" == b . data ( "uib-slideDirection" ) ? "left" : "right" ; var t = h . bind ( this , b , a , e ) ; return l ? l ( b , { addClass : a } ) . start ( ) . done ( t ) : f . addClass ( b , a ) . then ( function ( ) { c || t ( ) ; e ( ) } ) , function ( ) { c = ! 0 } } e ( ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" ) . value ( "$carouselSuppressWarning" , ! 1 ) . controller ( "CarouselController" , [ "$scope" , "$element" , "$controller" , "$log" , "$carouselSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "CarouselController is now deprecated. Use UibCarouselController instead." ) ; angular . extend ( this , h ( "UibCarouselController" , { $scope : b , $element : f } ) ) } ] ) . directive ( "carousel" , [ "$log" , "$carouselSuppressWarning" , function ( b , f ) { return { transclude : ! 0 , replace : ! 0 , controller : "CarouselController" , controllerAs : "carousel" ,
require : "carousel" , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/carousel.html" } , scope : { interval : "=" , noTransition : "=" , noPause : "=" , noWrap : "&" } , link : function ( ) { f || b . warn ( "carousel is now deprecated. Use uib-carousel instead." ) } } } ] ) . directive ( "slide" , [ "$log" , "$carouselSuppressWarning" , function ( b , f ) { return { require : "^carousel" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/slide.html" } , scope : { active : "=?" , actual : "=?" , index : "=?" } , link : function ( h ,
l , c , a ) { f || b . warn ( "slide is now deprecated. Use uib-slide instead." ) ; a . addSlide ( h , l ) ; h . $on ( "$destroy" , function ( ) { a . removeSlide ( h ) } ) ; h . $watch ( "active" , function ( b ) { b && a . select ( h ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.dateparser" , [ ] ) . service ( "uibDateParser" , [ "$log" , "$locale" , "orderByFilter" , function ( b , f , h ) { function l ( b ) { var c = [ ] , e = b . split ( "" ) ; return angular . forEach ( a , function ( a , g ) { var k = b . indexOf ( g ) ; if ( - 1 < k ) { b = b . split ( "" ) ; e [ k ] = "(" + a . regex + ")" ; b [ k ] = "$" ; for ( var f = k + 1 , h = k + g . length ; f < h ; f ++ ) e [ f ] = "" , b [ f ] = "$" ; b = b . join ( "" ) ; c . push ( { index : k , apply : a . apply } ) } } ) , { regex : new RegExp ( "^" + e . join ( "" ) + "$" ) , map : h ( c , "index" ) } } var c , a , e = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g ; this . init = function ( ) { c = f . id ; this . parsers =
{ } ; a = { yyyy : { regex : "\\d{4}" , apply : function ( a ) { this . year = + a } } , yy : { regex : "\\d{2}" , apply : function ( a ) { this . year = + a + 2E3 } } , y : { regex : "\\d{1,4}" , apply : function ( a ) { this . year = + a } } , MMMM : { regex : f . DATETIME _FORMATS . MONTH . join ( "|" ) , apply : function ( a ) { this . month = f . DATETIME _FORMATS . MONTH . indexOf ( a ) } } , MMM : { regex : f . DATETIME _FORMATS . SHORTMONTH . join ( "|" ) , apply : function ( a ) { this . month = f . DATETIME _FORMATS . SHORTMONTH . indexOf ( a ) } } , MM : { regex : "0[1-9]|1[0-2]" , apply : function ( a ) { this . month = a - 1 } } , M : { regex : "[1-9]|1[0-2]" , apply : function ( a ) { this . month =
2017-04-11 11:04:48 +00:00
a - 1 } } , dd : { regex : "[0-2][0-9]{1}|3[0-1]{1}" , apply : function ( a ) { this . date = + a } } , d : { regex : "[1-2]?[0-9]{1}|3[0-1]{1}" , apply : function ( a ) { this . date = + a } } , EEEE : { regex : f . DATETIME _FORMATS . DAY . join ( "|" ) } , EEE : { regex : f . DATETIME _FORMATS . SHORTDAY . join ( "|" ) } , HH : { regex : "(?:0|1)[0-9]|2[0-3]" , apply : function ( a ) { this . hours = + a } } , hh : { regex : "0[0-9]|1[0-2]" , apply : function ( a ) { this . hours = + a } } , H : { regex : "1?[0-9]|2[0-3]" , apply : function ( a ) { this . hours = + a } } , h : { regex : "[0-9]|1[0-2]" , apply : function ( a ) { this . hours = + a } } , mm : { regex : "[0-5][0-9]" ,
2017-09-20 18:29:17 +00:00
apply : function ( a ) { this . minutes = + a } } , m : { regex : "[0-9]|[1-5][0-9]" , apply : function ( a ) { this . minutes = + a } } , sss : { regex : "[0-9][0-9][0-9]" , apply : function ( a ) { this . milliseconds = + a } } , ss : { regex : "[0-5][0-9]" , apply : function ( a ) { this . seconds = + a } } , s : { regex : "[0-9]|[1-5][0-9]" , apply : function ( a ) { this . seconds = + a } } , a : { regex : f . DATETIME _FORMATS . AMPMS . join ( "|" ) , apply : function ( a ) { 12 === this . hours && ( this . hours = 0 ) ; "PM" === a && ( this . hours += 12 ) } } } } ; this . init ( ) ; this . parse = function ( a , h , k ) { if ( ! angular . isString ( a ) || ! h ) return a ; h = f . DATETIME _FORMATS [ h ] ||
h ; h = h . replace ( e , "\\$&" ) ; f . id !== c && this . init ( ) ; this . parsers [ h ] || ( this . parsers [ h ] = l ( h ) ) ; var g = this . parsers [ h ] ; h = g . map ; if ( ( a = a . match ( g . regex ) ) && a . length ) { var t , y ; angular . isDate ( k ) && ! isNaN ( k . getTime ( ) ) ? t = { year : k . getFullYear ( ) , month : k . getMonth ( ) , date : k . getDate ( ) , hours : k . getHours ( ) , minutes : k . getMinutes ( ) , seconds : k . getSeconds ( ) , milliseconds : k . getMilliseconds ( ) } : ( k && b . warn ( "dateparser:" , "baseDate is not a valid date" ) , t = { year : 1900 , month : 0 , date : 1 , hours : 0 , minutes : 0 , seconds : 0 , milliseconds : 0 } ) ; for ( var g = 1 , u =
a . length ; g < u ; g ++ ) { var w = h [ g - 1 ] ; w . apply && w . apply . call ( t , a [ g ] ) } h = t . year ; a = t . month ; g = t . date ; return ! ( 1 > g ) && ( 1 === a && 28 < g ? 29 === g && ( 0 === h % 4 && 0 !== h % 100 || 0 === h % 400 ) : 3 !== a && 5 !== a && 8 !== a && 10 !== a || 31 > g ) && ( angular . isDate ( k ) && ! isNaN ( k . getTime ( ) ) ? ( y = new Date ( k ) , y . setFullYear ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) : y = new Date ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) , y } } } ] ) ;
angular . module ( "ui.bootstrap.dateparser" ) . value ( "$dateParserSuppressWarning" , ! 1 ) . service ( "dateParser" , [ "$log" , "$dateParserSuppressWarning" , "uibDateParser" , function ( b , f , h ) { f || b . warn ( "dateParser is now deprecated. Use uibDateParser instead." ) ; angular . extend ( this , h ) } ] ) ;
angular . module ( "ui.bootstrap.position" , [ ] ) . factory ( "$uibPosition" , [ "$document" , "$window" , function ( b , f ) { function h ( b , c ) { return b . currentStyle ? b . currentStyle [ c ] : f . getComputedStyle ? f . getComputedStyle ( b ) [ c ] : b . style [ c ] } return { position : function ( f ) { var c = this . offset ( f ) , a = { top : 0 , left : 0 } , e ; e = b [ 0 ] ; for ( var g = f [ 0 ] . offsetParent || e ; g && g !== e && "static" === ( h ( g , "position" ) || "static" ) ; ) g = g . offsetParent ; e = g || e ; e != b [ 0 ] && ( a = this . offset ( angular . element ( e ) ) , a . top += e . clientTop - e . scrollTop , a . left += e . clientLeft - e . scrollLeft ) ;
e = f [ 0 ] . getBoundingClientRect ( ) ; return { width : e . width || f . prop ( "offsetWidth" ) , height : e . height || f . prop ( "offsetHeight" ) , top : c . top - a . top , left : c . left - a . left } } , offset : function ( h ) { var c = h [ 0 ] . getBoundingClientRect ( ) ; return { width : c . width || h . prop ( "offsetWidth" ) , height : c . height || h . prop ( "offsetHeight" ) , top : c . top + ( f . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : c . left + ( f . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } , positionElements : function ( b , c , a , e ) { var g , f , k , h = a . split ( "-" ) ; a = h [ 0 ] ; h = h [ 1 ] || "center" ; g = e ? this . offset ( b ) :
this . position ( b ) ; f = c . prop ( "offsetWidth" ) ; k = c . prop ( "offsetHeight" ) ; b = { center : function ( ) { return g . left + g . width / 2 - f / 2 } , left : function ( ) { return g . left } , right : function ( ) { return g . left + g . width } } ; c = { center : function ( ) { return g . top + g . height / 2 - k / 2 } , top : function ( ) { return g . top } , bottom : function ( ) { return g . top + g . height } } ; switch ( a ) { case "right" : a = { top : c [ h ] ( ) , left : b [ a ] ( ) } ; break ; case "left" : a = { top : c [ h ] ( ) , left : g . left - f } ; break ; case "bottom" : a = { top : c [ a ] ( ) , left : b [ h ] ( ) } ; break ; default : a = { top : g . top - k , left : b [ h ] ( ) } } return a } } } ] ) ;
angular . module ( "ui.bootstrap.position" ) . value ( "$positionSuppressWarning" , ! 1 ) . service ( "$position" , [ "$log" , "$positionSuppressWarning" , "$uibPosition" , function ( b , f , h ) { f || b . warn ( "$position is now deprecated. Use $uibPosition instead." ) ; angular . extend ( this , h ) } ] ) ;
2017-04-11 07:10:36 +00:00
angular . module ( "ui.bootstrap.datepicker" , [ "ui.bootstrap.dateparser" , "ui.bootstrap.position" ] ) . value ( "$datepickerSuppressError" , ! 1 ) . constant ( "uibDatepickerConfig" , { formatDay : "dd" , formatMonth : "MMMM" , formatYear : "yyyy" , formatDayHeader : "EEE" , formatDayTitle : "MMMM yyyy" , formatMonthTitle : "yyyy" , datepickerMode : "day" , minMode : "day" , maxMode : "year" , showWeeks : ! 0 , startingDay : 0 , yearRange : 20 , minDate : null , maxDate : null , shortcutPropagation : ! 1 } ) . controller ( "UibDatepickerController" , [ "$scope" , "$attrs" , "$parse" , "$interpolate" ,
2017-09-20 18:29:17 +00:00
"$log" , "dateFilter" , "uibDatepickerConfig" , "$datepickerSuppressError" , function ( b , f , h , l , c , a , e , g ) { var t = this , k = { $setViewValue : angular . noop } ; this . modes = [ "day" , "month" , "year" ] ; angular . forEach ( "formatDay formatMonth formatYear formatDayHeader formatDayTitle formatMonthTitle showWeeks startingDay yearRange shortcutPropagation" . split ( " " ) , function ( a , c ) { t [ a ] = angular . isDefined ( f [ a ] ) ? 6 > c ? l ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : e [ a ] } ) ; angular . forEach ( [ "minDate" , "maxDate" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) ,
function ( b ) { t [ a ] = b ? new Date ( b ) : null ; t . refreshView ( ) } ) : t [ a ] = e [ a ] ? new Date ( e [ a ] ) : null } ) ; angular . forEach ( [ "minMode" , "maxMode" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( c ) { t [ a ] = angular . isDefined ( c ) ? c : f [ a ] ; b [ a ] = t [ a ] ; ( "minMode" == a && t . modes . indexOf ( b . datepickerMode ) < t . modes . indexOf ( t [ a ] ) || "maxMode" == a && t . modes . indexOf ( b . datepickerMode ) > t . modes . indexOf ( t [ a ] ) ) && ( b . datepickerMode = t [ a ] ) } ) : ( t [ a ] = e [ a ] || null , b [ a ] = t [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || e . datepickerMode ; b . uniqueId = "datepicker-" + b . $id +
"-" + Math . floor ( 1E4 * Math . random ( ) ) ; angular . isDefined ( f . initDate ) ? ( this . activeDate = b . $parent . $eval ( f . initDate ) || new Date , b . $parent . $watch ( f . initDate , function ( a ) { a && ( k . $isEmpty ( k . $modelValue ) || k . $invalid ) && ( t . activeDate = a , t . refreshView ( ) ) } ) ) : this . activeDate = new Date ; b . isActive = function ( a ) { return 0 === t . compare ( a . date , t . activeDate ) && ( b . activeDateId = a . uid , ! 0 ) } ; this . init = function ( a ) { k = a ; k . $render = function ( ) { t . render ( ) } } ; this . render = function ( ) { if ( k . $viewValue ) { var a = new Date ( k . $viewValue ) ; isNaN ( a ) ? g || c . error ( 'Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.' ) :
this . activeDate = a } this . refreshView ( ) } ; this . refreshView = function ( ) { if ( this . element ) { this . _refreshView ( ) ; var a = k . $viewValue ? new Date ( k . $viewValue ) : null ; k . $setValidity ( "dateDisabled" , ! a || this . element && ! this . isDisabled ( a ) ) } } ; this . createDateObject = function ( b , c ) { var e = k . $viewValue ? new Date ( k . $viewValue ) : null ; return { date : b , label : a ( b , c ) , selected : e && 0 === this . compare ( b , e ) , disabled : this . isDisabled ( b ) , current : 0 === this . compare ( b , new Date ) , customClass : this . customClass ( b ) } } ; this . isDisabled = function ( a ) { return this . minDate &&
0 > this . compare ( a , this . minDate ) || this . maxDate && 0 < this . compare ( a , this . maxDate ) || f . dateDisabled && b . dateDisabled ( { date : a , mode : b . datepickerMode } ) } ; this . customClass = function ( a ) { return b . customClass ( { date : a , mode : b . datepickerMode } ) } ; this . split = function ( a , b ) { for ( var c = [ ] ; 0 < a . length ; ) c . push ( a . splice ( 0 , b ) ) ; return c } ; b . select = function ( a ) { if ( b . datepickerMode === t . minMode ) { var c = k . $viewValue ? new Date ( k . $viewValue ) : new Date ( 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; c . setFullYear ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) ; k . $setViewValue ( c ) ;
k . $render ( ) } else t . activeDate = a , b . datepickerMode = t . modes [ t . modes . indexOf ( b . datepickerMode ) - 1 ] } ; b . move = function ( a ) { var b = t . activeDate . getFullYear ( ) + a * ( t . step . years || 0 ) ; a = t . activeDate . getMonth ( ) + a * ( t . step . months || 0 ) ; t . activeDate . setFullYear ( b , a , 1 ) ; t . refreshView ( ) } ; b . toggleMode = function ( a ) { a = a || 1 ; b . datepickerMode === t . maxMode && 1 === a || b . datepickerMode === t . minMode && - 1 === a || ( b . datepickerMode = t . modes [ t . modes . indexOf ( b . datepickerMode ) + a ] ) } ; b . keys = { 13 : "enter" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" ,
37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" } ; b . $on ( "uib:datepicker.focus" , function ( ) { t . element [ 0 ] . focus ( ) } ) ; b . keydown = function ( a ) { var c = b . keys [ a . which ] ; ! c || a . shiftKey || a . altKey || ( ( a . preventDefault ( ) , t . shortcutPropagation || a . stopPropagation ( ) , "enter" === c || "space" === c ) ? t . isDisabled ( t . activeDate ) || b . select ( t . activeDate ) : ! a . ctrlKey || "up" !== c && "down" !== c ? ( t . handleKeyDown ( c , a ) , t . refreshView ( ) ) : b . toggleMode ( "up" === c ? 1 : - 1 ) ) } } ] ) . controller ( "UibDaypickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f ,
h ) { function l ( b , c ) { return 1 !== c || 0 !== b % 4 || 0 === b % 100 && 0 !== b % 400 ? a [ c ] : 29 } function c ( a ) { a = new Date ( a ) ; a . setDate ( a . getDate ( ) + 4 - ( a . getDay ( ) || 7 ) ) ; var b = a . getTime ( ) ; return a . setMonth ( 0 ) , a . setDate ( 1 ) , Math . floor ( Math . round ( ( b - a ) / 864E5 ) / 7 ) + 1 } var a = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ] ; this . step = { months : 1 } ; this . element = f ; this . init = function ( a ) { angular . extend ( a , this ) ; b . showWeeks = a . showWeeks ; a . refreshView ( ) } ; this . getDates = function ( a , b ) { for ( var c , e = Array ( b ) , g = new Date ( a ) , f = 0 ; f < b ; ) c = new Date ( g ) , e [ f ++ ] = c , g . setDate ( g . getDate ( ) +
1 ) ; return e } ; this . _refreshView = function ( ) { var a = this . activeDate . getFullYear ( ) , g = this . activeDate . getMonth ( ) , f = new Date ( this . activeDate ) ; f . setFullYear ( a , g , 1 ) ; a = this . startingDay - f . getDay ( ) ; a = 0 < a ? 7 - a : - a ; f = new Date ( f ) ; 0 < a && f . setDate ( - a + 1 ) ; f = this . getDates ( f , 42 ) ; for ( a = 0 ; 42 > a ; a ++ ) f [ a ] = angular . extend ( this . createDateObject ( f [ a ] , this . formatDay ) , { secondary : f [ a ] . getMonth ( ) !== g , uid : b . uniqueId + "-" + a } ) ; b . labels = Array ( 7 ) ; for ( g = 0 ; 7 > g ; g ++ ) b . labels [ g ] = { abbr : h ( f [ g ] . date , this . formatDayHeader ) , full : h ( f [ g ] . date , "EEEE" ) } ;
if ( b . title = h ( this . activeDate , this . formatDayTitle ) , b . rows = this . split ( f , 7 ) , b . showWeeks ) for ( b . weekNumbers = [ ] , g = ( 11 - this . startingDay ) % 7 , f = b . rows . length , a = 0 ; a < f ; a ++ ) b . weekNumbers . push ( c ( b . rows [ a ] [ g ] . date ) ) } ; this . compare = function ( a , b ) { return new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) - new Date ( b . getFullYear ( ) , b . getMonth ( ) , b . getDate ( ) ) } ; this . handleKeyDown = function ( a , b ) { var c = this . activeDate . getDate ( ) ; if ( "left" === a ) -- c ; else if ( "up" === a ) c -= 7 ; else if ( "right" === a ) c += 1 ; else if ( "down" === a ) c += 7 ; else if ( "pageup" ===
a || "pagedown" === a ) { var e = this . activeDate . getMonth ( ) + ( "pageup" === a ? - 1 : 1 ) ; this . activeDate . setMonth ( e , 1 ) ; c = Math . min ( l ( this . activeDate . getFullYear ( ) , this . activeDate . getMonth ( ) ) , c ) } else "home" === a ? c = 1 : "end" === a && ( c = l ( this . activeDate . getFullYear ( ) , this . activeDate . getMonth ( ) ) ) ; this . activeDate . setDate ( c ) } } ] ) . controller ( "UibMonthpickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f , h ) { this . step = { years : 1 } ; this . element = f ; this . init = function ( b ) { angular . extend ( b , this ) ; b . refreshView ( ) } ; this . _refreshView =
function ( ) { for ( var f , c = Array ( 12 ) , a = this . activeDate . getFullYear ( ) , e = 0 ; 12 > e ; e ++ ) f = new Date ( this . activeDate ) , f . setFullYear ( a , e , 1 ) , c [ e ] = angular . extend ( this . createDateObject ( f , this . formatMonth ) , { uid : b . uniqueId + "-" + e } ) ; b . title = h ( this . activeDate , this . formatMonthTitle ) ; b . rows = this . split ( c , 3 ) } ; this . compare = function ( b , c ) { return new Date ( b . getFullYear ( ) , b . getMonth ( ) ) - new Date ( c . getFullYear ( ) , c . getMonth ( ) ) } ; this . handleKeyDown = function ( b , c ) { var a = this . activeDate . getMonth ( ) ; if ( "left" === b ) -- a ; else if ( "up" === b ) a -=
3 ; else if ( "right" === b ) a += 1 ; else if ( "down" === b ) a += 3 ; else if ( "pageup" === b || "pagedown" === b ) { var e = this . activeDate . getFullYear ( ) + ( "pageup" === b ? - 1 : 1 ) ; this . activeDate . setFullYear ( e ) } else "home" === b ? a = 0 : "end" === b && ( a = 11 ) ; this . activeDate . setMonth ( a ) } } ] ) . controller ( "UibYearpickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f , h ) { var l ; this . element = f ; this . yearpickerInit = function ( ) { l = this . yearRange ; this . step = { years : l } } ; this . _refreshView = function ( ) { for ( var c , a = Array ( l ) , e = 0 , g = parseInt ( ( this . activeDate . getFullYear ( ) -
1 ) / l , 10 ) * l + 1 ; e < l ; e ++ ) c = new Date ( this . activeDate ) , c . setFullYear ( g + e , 0 , 1 ) , a [ e ] = angular . extend ( this . createDateObject ( c , this . formatYear ) , { uid : b . uniqueId + "-" + e } ) ; b . title = [ a [ 0 ] . label , a [ l - 1 ] . label ] . join ( " - " ) ; b . rows = this . split ( a , 5 ) } ; this . compare = function ( b , a ) { return b . getFullYear ( ) - a . getFullYear ( ) } ; this . handleKeyDown = function ( b , a ) { var c = this . activeDate . getFullYear ( ) ; "left" === b ? -- c : "up" === b ? c -= 5 : "right" === b ? c += 1 : "down" === b ? c += 5 : "pageup" === b || "pagedown" === b ? c += ( "pageup" === b ? - 1 : 1 ) * this . step . years : "home" ===
b ? c = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / l , 10 ) * l + 1 : "end" === b && ( c = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / l , 10 ) * l + 1 + l - 1 ) ; this . activeDate . setFullYear ( c ) } } ] ) . directive ( "uibDatepicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/datepicker.html" } , scope : { datepickerMode : "=?" , dateDisabled : "&" , customClass : "&" , shortcutPropagation : "&?" } , require : [ "uibDatepicker" , "^ngModel" ] , controller : "UibDatepickerController" , controllerAs : "datepicker" , link : function ( b ,
f , h , l ) { l [ 0 ] . init ( l [ 1 ] ) } } } ) . directive ( "uibDaypicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/day.html" } , require : [ "^?uibDatepicker" , "uibDaypicker" , "^?datepicker" ] , controller : "UibDaypickerController" , link : function ( b , f , h , l ) { l [ 1 ] . init ( l [ 0 ] || l [ 2 ] ) } } } ) . directive ( "uibMonthpicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/month.html" } , require : [ "^?uibDatepicker" , "uibMonthpicker" , "^?datepicker" ] ,
controller : "UibMonthpickerController" , link : function ( b , f , h , l ) { l [ 1 ] . init ( l [ 0 ] || l [ 2 ] ) } } } ) . directive ( "uibYearpicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/year.html" } , require : [ "^?uibDatepicker" , "uibYearpicker" , "^?datepicker" ] , controller : "UibYearpickerController" , link : function ( b , f , h , l ) { b = l [ 0 ] || l [ 2 ] ; angular . extend ( b , l [ 1 ] ) ; b . yearpickerInit ( ) ; b . refreshView ( ) } } } ) . constant ( "uibDatepickerPopupConfig" , { datepickerPopup : "yyyy-MM-dd" , datepickerPopupTemplateUrl : "template/datepicker/popup.html" ,
datepickerTemplateUrl : "template/datepicker/datepicker.html" , html5Types : { date : "yyyy-MM-dd" , "datetime-local" : "yyyy-MM-ddTHH:mm:ss.sss" , month : "yyyy-MM" } , currentText : "Today" , clearText : "Clear" , closeText : "Done" , closeOnDateSelection : ! 0 , appendToBody : ! 1 , showButtonBar : ! 0 , onOpenFocus : ! 0 } ) . controller ( "UibDatepickerPopupController" , [ "$scope" , "$element" , "$attrs" , "$compile" , "$parse" , "$document" , "$rootScope" , "$uibPosition" , "dateFilter" , "uibDateParser" , "uibDatepickerPopupConfig" , "$timeout" , function ( b , f , h , l , c , a , e ,
g , t , k , n , r ) { function y ( a ) { return a . replace ( /([A-Z])/g , function ( a ) { return "-" + a . toLowerCase ( ) } ) } function u ( a ) { angular . isNumber ( a ) && ( a = new Date ( a ) ) ; if ( ! a ) return null ; if ( angular . isDate ( a ) && ! isNaN ( a ) ) return a ; if ( angular . isString ( a ) ) return a = k . parse ( a , B , b . date ) , isNaN ( a ) ? void 0 : a } function w ( a , b ) { var c = a || b ; return h . ngRequired || c ? ( angular . isNumber ( c ) && ( c = new Date ( c ) ) , c ) ? angular . isDate ( c ) && ! isNaN ( c ) ? ! 0 : angular . isString ( c ) ? ( c = k . parse ( c , B ) , ! isNaN ( c ) ) : ! 1 : ! 0 : ! 0 } function A ( a ) { var c = T [ 0 ] , e = f [ 0 ] . contains ( a . target ) ;
a = void 0 !== c . contains && c . contains ( a . target ) ; ! b . isOpen || e || a || b . $apply ( function ( ) { b . isOpen = ! 1 } ) } function z ( a ) { 27 === a . which && b . isOpen ? ( a . preventDefault ( ) , a . stopPropagation ( ) , b . $apply ( function ( ) { b . isOpen = ! 1 } ) , f [ 0 ] . focus ( ) ) : 40 !== a . which || b . isOpen || ( a . preventDefault ( ) , a . stopPropagation ( ) , b . $apply ( function ( ) { b . isOpen = ! 0 } ) ) } var B , E , q , p , I , O , J , G , N , T , X = { } , H = ! 1 ; b . watchData = { } ; this . init = function ( g ) { if ( N = g , E = angular . isDefined ( h . closeOnDateSelection ) ? b . $parent . $eval ( h . closeOnDateSelection ) : n . closeOnDateSelection ,
q = angular . isDefined ( h . datepickerAppendToBody ) ? b . $parent . $eval ( h . datepickerAppendToBody ) : n . appendToBody , p = angular . isDefined ( h . onOpenFocus ) ? b . $parent . $eval ( h . onOpenFocus ) : n . onOpenFocus , I = angular . isDefined ( h . datepickerPopupTemplateUrl ) ? h . datepickerPopupTemplateUrl : n . datepickerPopupTemplateUrl , O = angular . isDefined ( h . datepickerTemplateUrl ) ? h . datepickerTemplateUrl : n . datepickerTemplateUrl , b . showButtonBar = angular . isDefined ( h . showButtonBar ) ? b . $parent . $eval ( h . showButtonBar ) : n . showButtonBar , n . html5Types [ h . type ] ?
( B = n . html5Types [ h . type ] , H = ! 0 ) : ( B = h . datepickerPopup || h . uibDatepickerPopup || n . datepickerPopup , h . $observe ( "uibDatepickerPopup" , function ( a , b ) { var c = a || n . datepickerPopup ; if ( c !== B && ( B = c , N . $modelValue = null , ! B ) ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; } ) ) , ! B ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; if ( H && h . datepickerPopup ) throw Error ( "HTML5 date input types do not support custom formats." ) ; if ( J = angular . element ( "<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>" ) ,
J . attr ( { "ng-model" : "date" , "ng-change" : "dateSelection(date)" , "template-url" : I } ) , G = angular . element ( J . children ( ) [ 0 ] ) , G . attr ( "template-url" , O ) , H && "month" === h . type && ( G . attr ( "datepicker-mode" , '"month"' ) , G . attr ( "min-mode" , "month" ) ) , h . datepickerOptions ) ( g = b . $parent . $eval ( h . datepickerOptions ) ) && g . initDate && ( b . initDate = g . initDate , G . attr ( "init-date" , "initDate" ) , delete g . initDate ) , angular . forEach ( g , function ( a , b ) { G . attr ( y ( b ) , a ) } ) ; angular . forEach ( "minMode maxMode minDate maxDate datepickerMode initDate shortcutPropagation" . split ( " " ) ,
function ( a ) { if ( h [ a ] ) { var e = c ( h [ a ] ) ; if ( b . $parent . $watch ( e , function ( c ) { b . watchData [ a ] = c ; "minDate" !== a && "maxDate" !== a || ( X [ a ] = new Date ( c ) ) } ) , G . attr ( y ( a ) , "watchData." + a ) , "datepickerMode" === a ) { var g = e . assign ; b . $watch ( "watchData." + a , function ( a , c ) { angular . isFunction ( g ) && a !== c && g ( b . $parent , a ) } ) } } } ) ; h . dateDisabled && G . attr ( "date-disabled" , "dateDisabled({ date: date, mode: mode })" ) ; h . showWeeks && G . attr ( "show-weeks" , h . showWeeks ) ; h . customClass && G . attr ( "custom-class" , "customClass({ date: date, mode: mode })" ) ; H ?
N . $formatters . push ( function ( a ) { return b . date = a , a } ) : ( N . $$parserName = "date" , N . $validators . date = w , N . $parsers . unshift ( u ) , N . $formatters . push ( function ( a ) { return b . date = a , N . $isEmpty ( a ) ? a : t ( a , B ) } ) ) ; N . $viewChangeListeners . push ( function ( ) { b . date = k . parse ( N . $viewValue , B , b . date ) } ) ; f . bind ( "keydown" , z ) ; T = l ( J ) ( b ) ; J . remove ( ) ; q ? a . find ( "body" ) . append ( T ) : f . after ( T ) ; b . $on ( "$destroy" , function ( ) { ! 0 === b . isOpen && ( e . $$phase || b . $apply ( function ( ) { b . isOpen = ! 1 } ) ) ; T . remove ( ) ; f . unbind ( "keydown" , z ) ; a . unbind ( "click" , A ) } ) } ; b . getText =
function ( a ) { return b [ a + "Text" ] || n [ a + "Text" ] } ; b . isDisabled = function ( a ) { return "today" === a && ( a = new Date ) , b . watchData . minDate && 0 > b . compare ( a , X . minDate ) || b . watchData . maxDate && 0 < b . compare ( a , X . maxDate ) } ; b . compare = function ( a , b ) { return new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) - new Date ( b . getFullYear ( ) , b . getMonth ( ) , b . getDate ( ) ) } ; b . dateSelection = function ( a ) { angular . isDefined ( a ) && ( b . date = a ) ; a = b . date ? t ( b . date , B ) : null ; f . val ( a ) ; N . $setViewValue ( a ) ; E && ( b . isOpen = ! 1 , f [ 0 ] . focus ( ) ) } ; b . keydown = function ( a ) { 27 ===
a . which && ( b . isOpen = ! 1 , f [ 0 ] . focus ( ) ) } ; b . select = function ( a ) { if ( "today" === a ) { var c = new Date ; angular . isDate ( b . date ) ? ( a = new Date ( b . date ) , a . setFullYear ( c . getFullYear ( ) , c . getMonth ( ) , c . getDate ( ) ) ) : a = new Date ( c . setHours ( 0 , 0 , 0 , 0 ) ) } b . dateSelection ( a ) } ; b . close = function ( ) { b . isOpen = ! 1 ; f [ 0 ] . focus ( ) } ; b . $watch ( "isOpen" , function ( c ) { c ? ( b . position = q ? g . offset ( f ) : g . position ( f ) , b . position . top += f . prop ( "offsetHeight" ) , r ( function ( ) { p && b . $broadcast ( "uib:datepicker.focus" ) ; a . bind ( "click" , A ) } , 0 , ! 1 ) ) : a . unbind ( "click" , A ) } ) } ] ) . directive ( "uibDatepickerPopup" ,
function ( ) { return { require : [ "ngModel" , "uibDatepickerPopup" ] , controller : "UibDatepickerPopupController" , scope : { isOpen : "=?" , currentText : "@" , clearText : "@" , closeText : "@" , dateDisabled : "&" , customClass : "&" } , link : function ( b , f , h , l ) { l [ 1 ] . init ( l [ 0 ] ) } } } ) . directive ( "uibDatepickerPopupWrap" , function ( ) { return { replace : ! 0 , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/popup.html" } } } ) ;
angular . module ( "ui.bootstrap.datepicker" ) . value ( "$datepickerSuppressWarning" , ! 1 ) . controller ( "DatepickerController" , [ "$scope" , "$attrs" , "$parse" , "$interpolate" , "$log" , "dateFilter" , "uibDatepickerConfig" , "$datepickerSuppressError" , "$datepickerSuppressWarning" , function ( b , f , h , l , c , a , e , g , t ) { t || c . warn ( "DatepickerController is now deprecated. Use UibDatepickerController instead." ) ; var k = this , n = { $setViewValue : angular . noop } ; this . modes = [ "day" , "month" , "year" ] ; angular . forEach ( "formatDay formatMonth formatYear formatDayHeader formatDayTitle formatMonthTitle showWeeks startingDay yearRange shortcutPropagation" . split ( " " ) ,
function ( a , c ) { k [ a ] = angular . isDefined ( f [ a ] ) ? 6 > c ? l ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : e [ a ] } ) ; angular . forEach ( [ "minDate" , "maxDate" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( b ) { k [ a ] = b ? new Date ( b ) : null ; k . refreshView ( ) } ) : k [ a ] = e [ a ] ? new Date ( e [ a ] ) : null } ) ; angular . forEach ( [ "minMode" , "maxMode" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( c ) { k [ a ] = angular . isDefined ( c ) ? c : f [ a ] ; b [ a ] = k [ a ] ; ( "minMode" == a && k . modes . indexOf ( b . datepickerMode ) < k . modes . indexOf ( k [ a ] ) || "maxMode" == a && k . modes . indexOf ( b . datepickerMode ) >
k . modes . indexOf ( k [ a ] ) ) && ( b . datepickerMode = k [ a ] ) } ) : ( k [ a ] = e [ a ] || null , b [ a ] = k [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || e . datepickerMode ; b . uniqueId = "datepicker-" + b . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; angular . isDefined ( f . initDate ) ? ( this . activeDate = b . $parent . $eval ( f . initDate ) || new Date , b . $parent . $watch ( f . initDate , function ( a ) { a && ( n . $isEmpty ( n . $modelValue ) || n . $invalid ) && ( k . activeDate = a , k . refreshView ( ) ) } ) ) : this . activeDate = new Date ; b . isActive = function ( a ) { return 0 === k . compare ( a . date , k . activeDate ) && ( b . activeDateId =
a . uid , ! 0 ) } ; this . init = function ( a ) { n = a ; n . $render = function ( ) { k . render ( ) } } ; this . render = function ( ) { if ( n . $viewValue ) { var a = new Date ( n . $viewValue ) ; isNaN ( a ) ? g || c . error ( 'Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.' ) : this . activeDate = a } this . refreshView ( ) } ; this . refreshView = function ( ) { if ( this . element ) { this . _refreshView ( ) ; var a = n . $viewValue ? new Date ( n . $viewValue ) : null ; n . $setValidity ( "dateDisabled" ,
! a || this . element && ! this . isDisabled ( a ) ) } } ; this . createDateObject = function ( b , c ) { var e = n . $viewValue ? new Date ( n . $viewValue ) : null ; return { date : b , label : a ( b , c ) , selected : e && 0 === this . compare ( b , e ) , disabled : this . isDisabled ( b ) , current : 0 === this . compare ( b , new Date ) , customClass : this . customClass ( b ) } } ; this . isDisabled = function ( a ) { return this . minDate && 0 > this . compare ( a , this . minDate ) || this . maxDate && 0 < this . compare ( a , this . maxDate ) || f . dateDisabled && b . dateDisabled ( { date : a , mode : b . datepickerMode } ) } ; this . customClass = function ( a ) { return b . customClass ( { date : a ,
mode : b . datepickerMode } ) } ; this . split = function ( a , b ) { for ( var c = [ ] ; 0 < a . length ; ) c . push ( a . splice ( 0 , b ) ) ; return c } ; this . fixTimeZone = function ( a ) { var b = a . getHours ( ) ; a . setHours ( 23 === b ? b + 2 : 0 ) } ; b . select = function ( a ) { if ( b . datepickerMode === k . minMode ) { var c = n . $viewValue ? new Date ( n . $viewValue ) : new Date ( 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; c . setFullYear ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) ; n . $setViewValue ( c ) ; n . $render ( ) } else k . activeDate = a , b . datepickerMode = k . modes [ k . modes . indexOf ( b . datepickerMode ) - 1 ] } ; b . move = function ( a ) { var b = k . activeDate . getFullYear ( ) +
a * ( k . step . years || 0 ) ; a = k . activeDate . getMonth ( ) + a * ( k . step . months || 0 ) ; k . activeDate . setFullYear ( b , a , 1 ) ; k . refreshView ( ) } ; b . toggleMode = function ( a ) { a = a || 1 ; b . datepickerMode === k . maxMode && 1 === a || b . datepickerMode === k . minMode && - 1 === a || ( b . datepickerMode = k . modes [ k . modes . indexOf ( b . datepickerMode ) + a ] ) } ; b . keys = { 13 : "enter" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" , 37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" } ; b . $on ( "uib:datepicker.focus" , function ( ) { k . element [ 0 ] . focus ( ) } ) ; b . keydown = function ( a ) { var c = b . keys [ a . which ] ;
! c || a . shiftKey || a . altKey || ( ( a . preventDefault ( ) , k . shortcutPropagation || a . stopPropagation ( ) , "enter" === c || "space" === c ) ? k . isDisabled ( k . activeDate ) || b . select ( k . activeDate ) : ! a . ctrlKey || "up" !== c && "down" !== c ? ( k . handleKeyDown ( c , a ) , k . refreshView ( ) ) : b . toggleMode ( "up" === c ? 1 : - 1 ) ) } } ] ) . directive ( "datepicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/datepicker.html" } , scope : { datepickerMode : "=?" , dateDisabled : "&" , customClass : "&" ,
shortcutPropagation : "&?" } , require : [ "datepicker" , "^ngModel" ] , controller : "DatepickerController" , controllerAs : "datepicker" , link : function ( h , l , c , a ) { f || b . warn ( "datepicker is now deprecated. Use uib-datepicker instead." ) ; a [ 0 ] . init ( a [ 1 ] ) } } } ] ) . directive ( "daypicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/day.html" , require : [ "^datepicker" , "daypicker" ] , controller : "UibDaypickerController" , link : function ( h , l , c , a ) { f || b . warn ( "daypicker is now deprecated. Use uib-daypicker instead." ) ;
a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "monthpicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/month.html" , require : [ "^datepicker" , "monthpicker" ] , controller : "UibMonthpickerController" , link : function ( h , l , c , a ) { f || b . warn ( "monthpicker is now deprecated. Use uib-monthpicker instead." ) ; a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "yearpicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/year.html" , require : [ "^datepicker" ,
"yearpicker" ] , controller : "UibYearpickerController" , link : function ( h , l , c , a ) { f || b . warn ( "yearpicker is now deprecated. Use uib-yearpicker instead." ) ; h = a [ 0 ] ; angular . extend ( h , a [ 1 ] ) ; h . yearpickerInit ( ) ; h . refreshView ( ) } } } ] ) . directive ( "datepickerPopup" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { require : [ "ngModel" , "datepickerPopup" ] , controller : "UibDatepickerPopupController" , scope : { isOpen : "=?" , currentText : "@" , clearText : "@" , closeText : "@" , dateDisabled : "&" , customClass : "&" } , link : function ( h , l , c , a ) { f ||
b . warn ( "datepicker-popup is now deprecated. Use uib-datepicker-popup instead." ) ; a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "datepickerPopupWrap" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/popup.html" } , link : function ( ) { f || b . warn ( "datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead." ) } } } ] ) ;
angular . module ( "ui.bootstrap.dropdown" , [ "ui.bootstrap.position" ] ) . constant ( "uibDropdownConfig" , { openClass : "open" } ) . service ( "uibDropdownService" , [ "$document" , "$rootScope" , function ( b , f ) { var h = null ; this . open = function ( a ) { h || ( b . bind ( "click" , l ) , b . bind ( "keydown" , c ) ) ; h && h !== a && ( h . isOpen = ! 1 ) ; h = a } ; this . close = function ( a ) { h === a && ( h = null , b . unbind ( "click" , l ) , b . unbind ( "keydown" , c ) ) } ; var l = function ( a ) { if ( h && ( ! a || "disabled" !== h . getAutoClose ( ) ) ) { var b = h . getToggleElement ( ) ; a && b && b [ 0 ] . contains ( a . target ) || ( b = h . getDropdownElement ( ) ,
a && "outsideClick" === h . getAutoClose ( ) && b && b [ 0 ] . contains ( a . target ) || ( h . isOpen = ! 1 , f . $$phase || h . $apply ( ) ) ) } } , c = function ( a ) { 27 === a . which ? ( h . focusToggleElement ( ) , l ( ) ) : h . isKeynavEnabled ( ) && /(38|40)/ . test ( a . which ) && h . isOpen && ( a . preventDefault ( ) , a . stopPropagation ( ) , h . focusDropdownEntry ( a . which ) ) } } ] ) . controller ( "UibDropdownController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "uibDropdownConfig" , "uibDropdownService" , "$animate" , "$uibPosition" , "$document" , "$compile" , "$templateRequest" , function ( b , f , h , l , c , a , e , g , t ,
k , n ) { var r , y , u = this , w = b . $new ( ) , A = c . openClass , z = angular . noop , B = h . onToggle ? l ( h . onToggle ) : angular . noop , E = ! 1 , q = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( y = l ( h . isOpen ) , z = y . assign , b . $watch ( y , function ( a ) { w . isOpen = ! ! a } ) ) ; E = angular . isDefined ( h . dropdownAppendToBody ) ; q = angular . isDefined ( h . uibKeyboardNav ) ; E && u . dropdownMenu && ( t . find ( "body" ) . append ( u . dropdownMenu ) , f . on ( "$destroy" , function ( ) { u . dropdownMenu . remove ( ) } ) ) } ; this . toggle = function ( a ) { return w . isOpen = arguments . length ? ! ! a : ! w . isOpen } ; this . isOpen =
function ( ) { return w . isOpen } ; w . getToggleElement = function ( ) { return u . toggleElement } ; w . getAutoClose = function ( ) { return h . autoClose || "always" } ; w . getElement = function ( ) { return f } ; w . isKeynavEnabled = function ( ) { return q } ; w . focusDropdownEntry = function ( a ) { var b = u . dropdownMenu ? angular . element ( u . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( u . selectedOption ) ? u . selectedOption = u . selectedOption === b . length - 1 ? u . selectedOption : u . selectedOption + 1 : u . selectedOption =
0 ; break ; case 38 : angular . isNumber ( u . selectedOption ) ? u . selectedOption = 0 === u . selectedOption ? 0 : u . selectedOption - 1 : u . selectedOption = b . length - 1 } b [ u . selectedOption ] . focus ( ) } ; w . getDropdownElement = function ( ) { return u . dropdownMenu } ; w . focusToggleElement = function ( ) { u . toggleElement && u . toggleElement [ 0 ] . focus ( ) } ; w . $watch ( "isOpen" , function ( c , h ) { if ( E && u . dropdownMenu ) { var l = g . positionElements ( f , u . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : l . top + "px" , display : c ? "block" : "none" } ; u . dropdownMenu . hasClass ( "dropdown-menu-right" ) ?
( t . left = "auto" , t . right = window . innerWidth - ( l . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = l . left + "px" , t . right = "auto" ) ; u . dropdownMenu . css ( t ) } ( e [ c ? "addClass" : "removeClass" ] ( f , A ) . then ( function ( ) { angular . isDefined ( c ) && c !== h && B ( b , { open : ! ! c } ) } ) , c ) ? ( u . dropdownMenuTemplateUrl && n ( u . dropdownMenuTemplateUrl ) . then ( function ( a ) { r = w . $new ( ) ; k ( a . trim ( ) ) ( r , function ( a ) { u . dropdownMenu . replaceWith ( a ) ; u . dropdownMenu = a } ) } ) , w . focusToggleElement ( ) , a . open ( w ) ) : ( u . dropdownMenuTemplateUrl && ( r && r . $destroy ( ) , l = angular . element ( '<ul class="dropdown-menu"></ul>' ) ,
u . dropdownMenu . replaceWith ( l ) , u . dropdownMenu = l ) , a . close ( w ) , u . selectedOption = null ) ; angular . isFunction ( z ) && z ( b , c ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== w . getAutoClose ( ) && ( w . isOpen = ! 1 ) } ) ; c = b . $on ( "$destroy" , function ( ) { w . $destroy ( ) } ) ; w . $on ( "$destroy" , c ) } ] ) . directive ( "uibDropdown" , function ( ) { return { controller : "UibDropdownController" , link : function ( b , f , h , l ) { l . init ( ) } } } ) . directive ( "uibDropdownMenu" , function ( ) { return { restrict : "AC" , require : "?^uibDropdown" , link : function ( b , f , h , l ) { l && ! angular . isDefined ( h . dropdownNested ) &&
( f . addClass ( "dropdown-menu" ) , ( b = h . templateUrl ) && ( l . dropdownMenuTemplateUrl = b ) , l . dropdownMenu || ( l . dropdownMenu = f ) ) } } } ) . directive ( "uibKeyboardNav" , function ( ) { return { restrict : "A" , require : "?^uibDropdown" , link : function ( b , f , h , l ) { f . bind ( "keydown" , function ( b ) { if ( - 1 !== [ 38 , 40 ] . indexOf ( b . which ) ) { b . preventDefault ( ) ; b . stopPropagation ( ) ; var a = l . dropdownMenu . find ( "a" ) ; switch ( b . which ) { case 40 : angular . isNumber ( l . selectedOption ) ? l . selectedOption = l . selectedOption === a . length - 1 ? l . selectedOption : l . selectedOption + 1 : l . selectedOption =
0 ; break ; case 38 : angular . isNumber ( l . selectedOption ) ? l . selectedOption = 0 === l . selectedOption ? 0 : l . selectedOption - 1 : l . selectedOption = a . length - 1 } a [ l . selectedOption ] . focus ( ) } } ) } } } ) . directive ( "uibDropdownToggle" , function ( ) { return { require : "?^uibDropdown" , link : function ( b , f , h , l ) { if ( l ) { f . addClass ( "dropdown-toggle" ) ; l . toggleElement = f ; var c = function ( a ) { a . preventDefault ( ) ; f . hasClass ( "disabled" ) || h . disabled || b . $apply ( function ( ) { l . toggle ( ) } ) } ; f . bind ( "click" , c ) ; f . attr ( { "aria-haspopup" : ! 0 , "aria-expanded" : ! 1 } ) ; b . $watch ( l . isOpen ,
function ( a ) { f . attr ( "aria-expanded" , ! ! a ) } ) ; b . $on ( "$destroy" , function ( ) { f . unbind ( "click" , c ) } ) } } } } ) ;
angular . module ( "ui.bootstrap.dropdown" ) . value ( "$dropdownSuppressWarning" , ! 1 ) . service ( "dropdownService" , [ "$log" , "$dropdownSuppressWarning" , "uibDropdownService" , function ( b , f , h ) { f || b . warn ( "dropdownService is now deprecated. Use uibDropdownService instead." ) ; angular . extend ( this , h ) } ] ) . controller ( "DropdownController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "uibDropdownConfig" , "uibDropdownService" , "$animate" , "$uibPosition" , "$document" , "$compile" , "$templateRequest" , "$log" , "$dropdownSuppressWarning" , function ( b ,
f , h , l , c , a , e , g , t , k , n , r , y ) { y || r . warn ( "DropdownController is now deprecated. Use UibDropdownController instead." ) ; var u , w , A = this , z = b . $new ( ) , B = c . openClass , E = angular . noop , q = h . onToggle ? l ( h . onToggle ) : angular . noop , p = ! 1 , I = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( w = l ( h . isOpen ) , E = w . assign , b . $watch ( w , function ( a ) { z . isOpen = ! ! a } ) ) ; p = angular . isDefined ( h . dropdownAppendToBody ) ; I = angular . isDefined ( h . uibKeyboardNav ) ; p && A . dropdownMenu && ( t . find ( "body" ) . append ( A . dropdownMenu ) , f . on ( "$destroy" , function ( ) { A . dropdownMenu . remove ( ) } ) ) } ;
this . toggle = function ( a ) { return z . isOpen = arguments . length ? ! ! a : ! z . isOpen } ; this . isOpen = function ( ) { return z . isOpen } ; z . getToggleElement = function ( ) { return A . toggleElement } ; z . getAutoClose = function ( ) { return h . autoClose || "always" } ; z . getElement = function ( ) { return f } ; z . isKeynavEnabled = function ( ) { return I } ; z . focusDropdownEntry = function ( a ) { var b = A . dropdownMenu ? angular . element ( A . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( A . selectedOption ) ? A . selectedOption =
A . selectedOption === b . length - 1 ? A . selectedOption : A . selectedOption + 1 : A . selectedOption = 0 ; break ; case 38 : angular . isNumber ( A . selectedOption ) ? A . selectedOption = 0 === A . selectedOption ? 0 : A . selectedOption - 1 : A . selectedOption = b . length - 1 } b [ A . selectedOption ] . focus ( ) } ; z . getDropdownElement = function ( ) { return A . dropdownMenu } ; z . focusToggleElement = function ( ) { A . toggleElement && A . toggleElement [ 0 ] . focus ( ) } ; z . $watch ( "isOpen" , function ( c , h ) { if ( p && A . dropdownMenu ) { var l = g . positionElements ( f , A . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : l . top +
"px" , display : c ? "block" : "none" } ; A . dropdownMenu . hasClass ( "dropdown-menu-right" ) ? ( t . left = "auto" , t . right = window . innerWidth - ( l . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = l . left + "px" , t . right = "auto" ) ; A . dropdownMenu . css ( t ) } ( e [ c ? "addClass" : "removeClass" ] ( f , B ) . then ( function ( ) { angular . isDefined ( c ) && c !== h && q ( b , { open : ! ! c } ) } ) , c ) ? ( A . dropdownMenuTemplateUrl && n ( A . dropdownMenuTemplateUrl ) . then ( function ( a ) { u = z . $new ( ) ; k ( a . trim ( ) ) ( u , function ( a ) { A . dropdownMenu . replaceWith ( a ) ; A . dropdownMenu = a } ) } ) , z . focusToggleElement ( ) ,
a . open ( z ) ) : ( A . dropdownMenuTemplateUrl && ( u && u . $destroy ( ) , l = angular . element ( '<ul class="dropdown-menu"></ul>' ) , A . dropdownMenu . replaceWith ( l ) , A . dropdownMenu = l ) , a . close ( z ) , A . selectedOption = null ) ; angular . isFunction ( E ) && E ( b , c ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== z . getAutoClose ( ) && ( z . isOpen = ! 1 ) } ) ; c = b . $on ( "$destroy" , function ( ) { z . $destroy ( ) } ) ; z . $on ( "$destroy" , c ) } ] ) . directive ( "dropdown" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { controller : "DropdownController" , link : function ( h ,
l , c , a ) { f || b . warn ( "dropdown is now deprecated. Use uib-dropdown instead." ) ; a . init ( ) } } } ] ) . directive ( "dropdownMenu" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { restrict : "AC" , require : "?^dropdown" , link : function ( h , l , c , a ) { a && ! angular . isDefined ( c . dropdownNested ) && ( f || b . warn ( "dropdown-menu is now deprecated. Use uib-dropdown-menu instead." ) , l . addClass ( "dropdown-menu" ) , ( h = c . templateUrl ) && ( a . dropdownMenuTemplateUrl = h ) , a . dropdownMenu || ( a . dropdownMenu = l ) ) } } } ] ) . directive ( "keyboardNav" , [ "$log" , "$dropdownSuppressWarning" ,
function ( b , f ) { return { restrict : "A" , require : "?^dropdown" , link : function ( h , l , c , a ) { f || b . warn ( "keyboard-nav is now deprecated. Use uib-keyboard-nav instead." ) ; l . bind ( "keydown" , function ( b ) { if ( - 1 !== [ 38 , 40 ] . indexOf ( b . which ) ) { b . preventDefault ( ) ; b . stopPropagation ( ) ; var c = a . dropdownMenu . find ( "a" ) ; switch ( b . which ) { case 40 : angular . isNumber ( a . selectedOption ) ? a . selectedOption = a . selectedOption === c . length - 1 ? a . selectedOption : a . selectedOption + 1 : a . selectedOption = 0 ; break ; case 38 : angular . isNumber ( a . selectedOption ) ? a . selectedOption =
0 === a . selectedOption ? 0 : a . selectedOption - 1 : a . selectedOption = c . length - 1 } c [ a . selectedOption ] . focus ( ) } } ) } } } ] ) . directive ( "dropdownToggle" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { require : "?^dropdown" , link : function ( h , l , c , a ) { if ( f || b . warn ( "dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead." ) , a ) { l . addClass ( "dropdown-toggle" ) ; a . toggleElement = l ; var e = function ( b ) { b . preventDefault ( ) ; l . hasClass ( "disabled" ) || c . disabled || h . $apply ( function ( ) { a . toggle ( ) } ) } ; l . bind ( "click" , e ) ; l . attr ( { "aria-haspopup" : ! 0 ,
"aria-expanded" : ! 1 } ) ; h . $watch ( a . isOpen , function ( a ) { l . attr ( "aria-expanded" , ! ! a ) } ) ; h . $on ( "$destroy" , function ( ) { l . unbind ( "click" , e ) } ) } } } } ] ) ;
angular . module ( "ui.bootstrap.stackedMap" , [ ] ) . factory ( "$$stackedMap" , function ( ) { return { createNew : function ( ) { var b = [ ] ; return { add : function ( f , h ) { b . push ( { key : f , value : h } ) } , get : function ( f ) { for ( var h = 0 ; h < b . length ; h ++ ) if ( f == b [ h ] . key ) return b [ h ] } , keys : function ( ) { for ( var f = [ ] , h = 0 ; h < b . length ; h ++ ) f . push ( b [ h ] . key ) ; return f } , top : function ( ) { return b [ b . length - 1 ] } , remove : function ( f ) { for ( var h = - 1 , l = 0 ; l < b . length ; l ++ ) if ( f == b [ l ] . key ) { h = l ; break } return b . splice ( h , 1 ) [ 0 ] } , removeTop : function ( ) { return b . splice ( b . length - 1 , 1 ) [ 0 ] } ,
length : function ( ) { return b . length } } } } } ) ;
angular . module ( "ui.bootstrap.modal" , [ "ui.bootstrap.stackedMap" ] ) . factory ( "$$multiMap" , function ( ) { return { createNew : function ( ) { var b = { } ; return { entries : function ( ) { return Object . keys ( b ) . map ( function ( f ) { return { key : f , value : b [ f ] } } ) } , get : function ( f ) { return b [ f ] } , hasKey : function ( f ) { return ! ! b [ f ] } , keys : function ( ) { return Object . keys ( b ) } , put : function ( f , h ) { b [ f ] || ( b [ f ] = [ ] ) ; b [ f ] . push ( h ) } , remove : function ( f , h ) { var l = b [ f ] ; if ( l ) { var c = l . indexOf ( h ) ; - 1 !== c && l . splice ( c , 1 ) ; l . length || delete b [ f ] } } } } } } ) . directive ( "uibModalBackdrop" ,
[ "$animate" , "$injector" , "$uibModalStack" , function ( b , f , h ) { function l ( a , e , g ) { e . addClass ( "modal-backdrop" ) ; g . modalInClass && ( c ? c ( e , { addClass : g . modalInClass } ) . start ( ) : b . addClass ( e , g . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , f ) { var k = f ( ) ; c ? c ( e , { removeClass : g . modalInClass } ) . start ( ) . then ( k ) : b . removeClass ( e , g . modalInClass ) . then ( k ) } ) ) } var c = null ; return f . has ( "$animateCss" ) && ( c = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( a , b ) { return a . addClass ( b . backdropClass ) ,
l } } } ] ) . directive ( "uibModalWindow" , [ "$uibModalStack" , "$q" , "$animate" , "$injector" , function ( b , f , h , l ) { var c = null ; return l . has ( "$animateCss" ) && ( c = l . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl || "template/modal/window.html" } , link : function ( a , e , g ) { e . addClass ( g . windowClass || "" ) ; e . addClass ( g . windowTopClass || "" ) ; a . size = g . size ; a . close = function ( a ) { var c = b . getTop ( ) ; c && c . value . backdrop && "static" !== c . value . backdrop && a . target === a . currentTarget && ( a . preventDefault ( ) ,
a . stopPropagation ( ) , b . dismiss ( c . key , "backdrop click" ) ) } ; e . on ( "click" , a . close ) ; a . $isRendered = ! 0 ; var l = f . defer ( ) ; g . $observe ( "modalRender" , function ( a ) { "true" == a && l . resolve ( ) } ) ; l . promise . then ( function ( ) { var k = null ; g . modalInClass && ( k = c ? c ( e , { addClass : g . modalInClass } ) . start ( ) : h . addClass ( e , g . modalInClass ) , a . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var f = b ( ) ; c ? c ( e , { removeClass : g . modalInClass } ) . start ( ) . then ( f ) : h . removeClass ( e , g . modalInClass ) . then ( f ) } ) ) ; f . when ( k ) . then ( function ( ) { var a = e [ 0 ] . querySelector ( "[autofocus]" ) ;
a ? a . focus ( ) : e [ 0 ] . focus ( ) } ) ; ( k = b . getTop ( ) ) && b . modalRendered ( k . key ) } ) } } } ] ) . directive ( "uibModalAnimationClass" , function ( ) { return { compile : function ( b , f ) { f . modalAnimation && b . addClass ( f . uibModalAnimationClass ) } } } ) . directive ( "uibModalTransclude" , function ( ) { return { link : function ( b , f , h , l , c ) { c ( b . $parent , function ( a ) { f . empty ( ) ; f . append ( a ) } ) } } } ) . factory ( "$uibModalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" , "$$stackedMap" , function ( b , f , h , l , c , a , e , g , t ) { function k ( ) { for ( var a =
- 1 , b = q . keys ( ) , c = 0 ; c < b . length ; c ++ ) q . get ( b [ c ] ) . value . backdrop && ( a = c ) ; return a } function n ( a , b ) { var c = h . find ( "body" ) . eq ( 0 ) , e = q . get ( a ) . value ; q . remove ( a ) ; u ( e . modalDomEl , e . modalScope , function ( ) { var b = e . openedClass || E ; p . remove ( b , a ) ; c . toggleClass ( b , p . hasKey ( b ) ) ; r ( ! 0 ) } ) ; y ( ) ; b && b . focus ? b . focus ( ) : c . focus ( ) } function r ( a ) { var b ; 0 < q . length ( ) && ( b = q . top ( ) . value , b . modalDomEl . toggleClass ( b . windowTopClass || "" , a ) ) } function y ( ) { A && - 1 == k ( ) && ( u ( A , z , function ( ) { } ) , z = A = void 0 ) } function u ( c , e , g ) { function f ( ) { f . done || ( f . done =
! 0 , w ? w ( c , { event : "leave" } ) . start ( ) . then ( function ( ) { c . remove ( ) } ) : b . leave ( c ) , e . $destroy ( ) , g && g ( ) ) } var k , h = null ; return e . $broadcast ( I . NOW _CLOSING _EVENT , function ( ) { return k || ( k = a . defer ( ) , h = k . promise ) , function ( ) { k . resolve ( ) } } ) , a . when ( h ) . then ( f ) } var w = null ; e . has ( "$animateCss" ) && ( w = e . get ( "$animateCss" ) ) ; var A , z , B , E = "modal-open" , q = t . createNew ( ) , p = g . createNew ( ) , I = { NOW _CLOSING _EVENT : "modal.stack.now-closing" } ; return c . $watch ( k , function ( a ) { z && ( z . index = a ) } ) , h . bind ( "keydown" , function ( a ) { if ( a . isDefaultPrevented ( ) ) return a ;
var b = q . top ( ) ; if ( b && b . value . keyboard ) switch ( a . which ) { case 27 : a . preventDefault ( ) ; c . $apply ( function ( ) { I . dismiss ( b . key , "escape key press" ) } ) ; break ; case 9 : I . loadFocusElementList ( b ) ; var e = ! 1 ; a . shiftKey ? I . isFocusInFirstItem ( a ) && ( e = I . focusLastFocusableElement ( ) ) : I . isFocusInLastItem ( a ) && ( e = I . focusFirstFocusableElement ( ) ) ; e && ( a . preventDefault ( ) , a . stopPropagation ( ) ) } } ) , I . open = function ( a , b ) { var e = h [ 0 ] . activeElement , g = b . openedClass || E ; r ( ! 1 ) ; q . add ( a , { deferred : b . deferred , renderDeferred : b . renderDeferred , modalScope : b . scope ,
backdrop : b . backdrop , keyboard : b . keyboard , openedClass : b . openedClass , windowTopClass : b . windowTopClass } ) ; p . put ( g , a ) ; var f = h . find ( "body" ) . eq ( 0 ) , n = k ( ) ; 0 <= n && ! A && ( z = c . $new ( ! 0 ) , z . index = n , n = angular . element ( '<div uib-modal-backdrop="modal-backdrop"></div>' ) , n . attr ( "backdrop-class" , b . backdropClass ) , b . animation && n . attr ( "modal-animation" , "true" ) , A = l ( n ) ( z ) , f . append ( A ) ) ; n = angular . element ( '<div uib-modal-window="modal-window"></div>' ) ; n . attr ( { "template-url" : b . windowTemplateUrl , "window-class" : b . windowClass , "window-top-class" : b . windowTopClass ,
size : b . size , index : q . length ( ) - 1 , animate : "animate" } ) . html ( b . content ) ; b . animation && n . attr ( "modal-animation" , "true" ) ; n = l ( n ) ( b . scope ) ; q . top ( ) . value . modalDomEl = n ; q . top ( ) . value . modalOpener = e ; f . append ( n ) ; f . addClass ( g ) ; I . clearFocusListCache ( ) } , I . close = function ( a , b ) { var c = q . get ( a ) ; return c && ! c . value . modalScope . $broadcast ( "modal.closing" , b , ! 0 ) . defaultPrevented ? ( c . value . modalScope . $$uibDestructionScheduled = ! 0 , c . value . deferred . resolve ( b ) , n ( a , c . value . modalOpener ) , ! 0 ) : ! c } , I . dismiss = function ( a , b ) { var c = q . get ( a ) ;
return c && ! c . value . modalScope . $broadcast ( "modal.closing" , b , ! 1 ) . defaultPrevented ? ( c . value . modalScope . $$uibDestructionScheduled = ! 0 , c . value . deferred . reject ( b ) , n ( a , c . value . modalOpener ) , ! 0 ) : ! c } , I . dismissAll = function ( a ) { for ( var b = this . getTop ( ) ; b && this . dismiss ( b . key , a ) ; ) b = this . getTop ( ) } , I . getTop = function ( ) { return q . top ( ) } , I . modalRendered = function ( a ) { ( a = q . get ( a ) ) && a . value . renderDeferred . resolve ( ) } , I . focusFirstFocusableElement = function ( ) { return 0 < B . length && ( B [ 0 ] . focus ( ) , ! 0 ) } , I . focusLastFocusableElement = function ( ) { return 0 <
2017-07-31 21:30:55 +00:00
B . length && ( B [ B . length - 1 ] . focus ( ) , ! 0 ) } , I . isFocusInFirstItem = function ( a ) { return 0 < B . length && ( a . target || a . srcElement ) == B [ 0 ] } , I . isFocusInLastItem = function ( a ) { return 0 < B . length && ( a . target || a . srcElement ) == B [ B . length - 1 ] } , I . clearFocusListCache = function ( ) { B = [ ] } , I . loadFocusElementList = function ( a ) { void 0 !== B && B . length || ! a || ( a = a . value . modalDomEl ) && a . length && ( B = a [ 0 ] . querySelectorAll ( "a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]" ) ) } ,
2017-09-20 18:29:17 +00:00
I } ] ) . provider ( "$uibModal" , function ( ) { var b = { options : { animation : ! 0 , backdrop : ! 0 , keyboard : ! 0 } , $get : [ "$injector" , "$rootScope" , "$q" , "$templateRequest" , "$controller" , "$uibModalStack" , "$modalSuppressWarning" , "$log" , function ( f , h , l , c , a , e , g , t ) { function k ( a ) { return a . template ? l . when ( a . template ) : c ( angular . isFunction ( a . templateUrl ) ? a . templateUrl ( ) : a . templateUrl ) } function n ( a ) { var b = [ ] ; return angular . forEach ( a , function ( a ) { angular . isFunction ( a ) || angular . isArray ( a ) ? b . push ( l . when ( f . invoke ( a ) ) ) : angular . isString ( a ) ?
b . push ( l . when ( f . get ( a ) ) ) : b . push ( l . when ( a ) ) } ) , b } var r = { } , y = null ; return r . getPromiseChain = function ( ) { return y } , r . open = function ( c ) { function f ( ) { return p } var u = l . defer ( ) , r = l . defer ( ) , B = l . defer ( ) , E = { result : u . promise , opened : r . promise , rendered : B . promise , close : function ( a ) { return e . close ( E , a ) } , dismiss : function ( a ) { return e . dismiss ( E , a ) } } ; if ( c = angular . extend ( { } , b . options , c ) , c . resolve = c . resolve || { } , ! c . template && ! c . templateUrl ) throw Error ( "One of template or templateUrl options is required." ) ; var q , p = l . all ( [ k ( c ) ] . concat ( n ( c . resolve ) ) ) ;
return q = y = l . all ( [ y ] ) . then ( f , f ) . then ( function ( b ) { var f = ( c . scope || h ) . $new ( ) ; f . $close = E . close ; f . $dismiss = E . dismiss ; f . $on ( "$destroy" , function ( ) { f . $$uibDestructionScheduled || f . $dismiss ( "$uibUnscheduledDestruction" ) } ) ; var k , l = { } , n = 1 ; c . controller && ( l . $scope = f , l . $uibModalInstance = E , Object . defineProperty ( l , "$modalInstance" , { get : function ( ) { return g || t . warn ( "$modalInstance is now deprecated. Use $uibModalInstance instead." ) , E } } ) , angular . forEach ( c . resolve , function ( a , c ) { l [ c ] = b [ n ++ ] } ) , k = a ( c . controller , l ) , c . controllerAs &&
( c . bindToController && angular . extend ( k , f ) , f [ c . controllerAs ] = k ) ) ; e . open ( E , { scope : f , deferred : u , renderDeferred : B , content : b [ 0 ] , animation : c . animation , backdrop : c . backdrop , keyboard : c . keyboard , backdropClass : c . backdropClass , windowTopClass : c . windowTopClass , windowClass : c . windowClass , windowTemplateUrl : c . windowTemplateUrl , size : c . size , openedClass : c . openedClass } ) ; r . resolve ( ! 0 ) } , function ( a ) { r . reject ( a ) ; u . reject ( a ) } ) [ "finally" ] ( function ( ) { y === q && ( y = null ) } ) , E } , r } ] } ; return b } ) ;
angular . module ( "ui.bootstrap.modal" ) . value ( "$modalSuppressWarning" , ! 1 ) . directive ( "modalBackdrop" , [ "$animate" , "$injector" , "$modalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , l , c ) { function a ( a , f , k ) { c || l . warn ( "modal-backdrop is now deprecated. Use uib-modal-backdrop instead." ) ; f . addClass ( "modal-backdrop" ) ; k . modalInClass && ( e ? e ( f , { addClass : k . modalInClass } ) . start ( ) : b . addClass ( f , k . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , c ) { var g = c ( ) ; e ? e ( f , { removeClass : k . modalInClass } ) . start ( ) . then ( g ) :
b . removeClass ( f , k . modalInClass ) . then ( g ) } ) ) } var e = null ; return f . has ( "$animateCss" ) && ( e = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( b , c ) { return b . addClass ( c . backdropClass ) , a } } } ] ) . directive ( "modalWindow" , [ "$modalStack" , "$q" , "$animate" , "$injector" , "$log" , "$modalSuppressWarning" , function ( b , f , h , l , c , a ) { var e = null ; return l . has ( "$animateCss" ) && ( e = l . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl ||
"template/modal/window.html" } , link : function ( g , l , k ) { a || c . warn ( "modal-window is now deprecated. Use uib-modal-window instead." ) ; l . addClass ( k . windowClass || "" ) ; l . addClass ( k . windowTopClass || "" ) ; g . size = k . size ; g . close = function ( a ) { var c = b . getTop ( ) ; c && c . value . backdrop && "static" !== c . value . backdrop && a . target === a . currentTarget && ( a . preventDefault ( ) , a . stopPropagation ( ) , b . dismiss ( c . key , "backdrop click" ) ) } ; l . on ( "click" , g . close ) ; g . $isRendered = ! 0 ; var n = f . defer ( ) ; k . $observe ( "modalRender" , function ( a ) { "true" == a && n . resolve ( ) } ) ;
n . promise . then ( function ( ) { var a = null ; k . modalInClass && ( a = e ? e ( l , { addClass : k . modalInClass } ) . start ( ) : h . addClass ( l , k . modalInClass ) , g . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var c = b ( ) ; e ? e ( l , { removeClass : k . modalInClass } ) . start ( ) . then ( c ) : h . removeClass ( l , k . modalInClass ) . then ( c ) } ) ) ; f . when ( a ) . then ( function ( ) { var a = l [ 0 ] . querySelector ( "[autofocus]" ) ; a ? a . focus ( ) : l [ 0 ] . focus ( ) } ) ; ( a = b . getTop ( ) ) && b . modalRendered ( a . key ) } ) } } } ] ) . directive ( "modalAnimationClass" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { compile : function ( h ,
l ) { f || b . warn ( "modal-animation-class is now deprecated. Use uib-modal-animation-class instead." ) ; l . modalAnimation && h . addClass ( l . modalAnimationClass ) } } } ] ) . directive ( "modalTransclude" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { link : function ( h , l , c , a , e ) { f || b . warn ( "modal-transclude is now deprecated. Use uib-modal-transclude instead." ) ; e ( h . $parent , function ( a ) { l . empty ( ) ; l . append ( a ) } ) } } } ] ) . service ( "$modalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" ,
"$$stackedMap" , "$uibModalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , l , c , a , e , g , t , k , n , r ) { r || n . warn ( "$modalStack is now deprecated. Use $uibModalStack instead." ) ; angular . extend ( this , k ) } ] ) . provider ( "$modal" , [ "$uibModalProvider" , function ( b ) { angular . extend ( this , b ) ; this . $get = [ "$injector" , "$log" , "$modalSuppressWarning" , function ( f , h , l ) { return l || h . warn ( "$modal is now deprecated. Use $uibModal instead." ) , f . invoke ( b . $get ) } ] } ] ) ;
angular . module ( "ui.bootstrap.pagination" , [ ] ) . controller ( "UibPaginationController" , [ "$scope" , "$attrs" , "$parse" , function ( b , f , h ) { var l = this , c = { $setViewValue : angular . noop } , a = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( e , g ) { c = e ; this . config = g ; c . $render = function ( ) { l . render ( ) } ; f . itemsPerPage ? b . $parent . $watch ( h ( f . itemsPerPage ) , function ( a ) { l . itemsPerPage = parseInt ( a , 10 ) ; b . totalPages = l . calculateTotalPages ( ) } ) : this . itemsPerPage = g . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = l . calculateTotalPages ( ) } ) ;
b . $watch ( "totalPages" , function ( e ) { a ( b . $parent , e ) ; b . page > e ? b . selectPage ( e ) : c . $render ( ) } ) } ; this . calculateTotalPages = function ( ) { return Math . max ( ( 1 > this . itemsPerPage ? 1 : Math . ceil ( b . totalItems / this . itemsPerPage ) ) || 0 , 1 ) } ; this . render = function ( ) { b . page = parseInt ( c . $viewValue , 10 ) || 1 } ; b . selectPage = function ( a , g ) { g && g . preventDefault ( ) ; ! ( b . ngDisabled && g || b . page === a ) && 0 < a && a <= b . totalPages && ( g && g . target && g . target . blur ( ) , c . $setViewValue ( a ) , c . $render ( ) ) } ; b . getText = function ( a ) { return b [ a + "Text" ] || l . config [ a + "Text" ] } ;
b . noPrevious = function ( ) { return 1 === b . page } ; b . noNext = function ( ) { return b . page === b . totalPages } } ] ) . constant ( "uibPaginationConfig" , { itemsPerPage : 10 , boundaryLinks : ! 1 , directionLinks : ! 0 , firstText : "First" , previousText : "Previous" , nextText : "Next" , lastText : "Last" , rotate : ! 0 } ) . directive ( "uibPagination" , [ "$parse" , "uibPaginationConfig" , function ( b , f ) { return { restrict : "EA" , scope : { totalItems : "=" , firstText : "@" , previousText : "@" , nextText : "@" , lastText : "@" , ngDisabled : "=" } , require : [ "uibPagination" , "?ngModel" ] , controller : "UibPaginationController" ,
controllerAs : "pagination" , templateUrl : function ( b , f ) { return f . templateUrl || "template/pagination/pagination.html" } , replace : ! 0 , link : function ( h , l , c , a ) { var e = a [ 0 ] ; if ( l = a [ 1 ] ) { var g = angular . isDefined ( c . maxSize ) ? h . $parent . $eval ( c . maxSize ) : f . maxSize , t = angular . isDefined ( c . rotate ) ? h . $parent . $eval ( c . rotate ) : f . rotate ; h . boundaryLinks = angular . isDefined ( c . boundaryLinks ) ? h . $parent . $eval ( c . boundaryLinks ) : f . boundaryLinks ; h . directionLinks = angular . isDefined ( c . directionLinks ) ? h . $parent . $eval ( c . directionLinks ) : f . directionLinks ;
e . init ( l , f ) ; c . maxSize && h . $parent . $watch ( b ( c . maxSize ) , function ( a ) { g = parseInt ( a , 10 ) ; e . render ( ) } ) ; var k = e . render ; e . render = function ( ) { k ( ) ; if ( 0 < h . page && h . page <= h . totalPages ) { var a = h . page , b = h . totalPages , c = [ ] , e = 1 , f = b , l = angular . isDefined ( g ) && g < b ; l && ( t ? ( e = Math . max ( a - Math . floor ( g / 2 ) , 1 ) , f = e + g - 1 , f > b && ( f = b , e = f - g + 1 ) ) : ( e = ( Math . ceil ( a / g ) - 1 ) * g + 1 , f = Math . min ( e + g - 1 , b ) ) ) ; for ( var z = e ; z <= f ; z ++ ) c . push ( { number : z , text : z , active : z === a } ) ; l && ! t && ( 1 < e && c . unshift ( { number : e - 1 , text : "..." , active : ! 1 } ) , f < b && c . push ( { number : f + 1 , text : "..." ,
active : ! 1 } ) ) ; h . pages = c } } } } } } ] ) . constant ( "uibPagerConfig" , { itemsPerPage : 10 , previousText : "\u00ab Previous" , nextText : "Next \u00bb" , align : ! 0 } ) . directive ( "uibPager" , [ "uibPagerConfig" , function ( b ) { return { restrict : "EA" , scope : { totalItems : "=" , previousText : "@" , nextText : "@" , ngDisabled : "=" } , require : [ "uibPager" , "?ngModel" ] , controller : "UibPaginationController" , controllerAs : "pagination" , templateUrl : function ( b , h ) { return h . templateUrl || "template/pagination/pager.html" } , replace : ! 0 , link : function ( f , h , l , c ) { h = c [ 0 ] ; ( c = c [ 1 ] ) &&
( f . align = angular . isDefined ( l . align ) ? f . $parent . $eval ( l . align ) : b . align , h . init ( c , b ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.pagination" ) . value ( "$paginationSuppressWarning" , ! 1 ) . controller ( "PaginationController" , [ "$scope" , "$attrs" , "$parse" , "$log" , "$paginationSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "PaginationController is now deprecated. Use UibPaginationController instead." ) ; var a = this , e = { $setViewValue : angular . noop } , g = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( c , k ) { e = c ; this . config = k ; e . $render = function ( ) { a . render ( ) } ; f . itemsPerPage ? b . $parent . $watch ( h ( f . itemsPerPage ) ,
function ( c ) { a . itemsPerPage = parseInt ( c , 10 ) ; b . totalPages = a . calculateTotalPages ( ) } ) : this . itemsPerPage = k . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = a . calculateTotalPages ( ) } ) ; b . $watch ( "totalPages" , function ( a ) { g ( b . $parent , a ) ; b . page > a ? b . selectPage ( a ) : e . $render ( ) } ) } ; this . calculateTotalPages = function ( ) { return Math . max ( ( 1 > this . itemsPerPage ? 1 : Math . ceil ( b . totalItems / this . itemsPerPage ) ) || 0 , 1 ) } ; this . render = function ( ) { b . page = parseInt ( e . $viewValue , 10 ) || 1 } ; b . selectPage = function ( a , c ) { c && c . preventDefault ( ) ;
! ( b . ngDisabled && c || b . page === a ) && 0 < a && a <= b . totalPages && ( c && c . target && c . target . blur ( ) , e . $setViewValue ( a ) , e . $render ( ) ) } ; b . getText = function ( c ) { return b [ c + "Text" ] || a . config [ c + "Text" ] } ; b . noPrevious = function ( ) { return 1 === b . page } ; b . noNext = function ( ) { return b . page === b . totalPages } } ] ) . directive ( "pagination" , [ "$parse" , "uibPaginationConfig" , "$log" , "$paginationSuppressWarning" , function ( b , f , h , l ) { return { restrict : "EA" , scope : { totalItems : "=" , firstText : "@" , previousText : "@" , nextText : "@" , lastText : "@" , ngDisabled : "=" } , require : [ "pagination" ,
"?ngModel" ] , controller : "PaginationController" , controllerAs : "pagination" , templateUrl : function ( b , a ) { return a . templateUrl || "template/pagination/pagination.html" } , replace : ! 0 , link : function ( c , a , e , g ) { l || h . warn ( "pagination is now deprecated. Use uib-pagination instead." ) ; var t = g [ 0 ] ; if ( a = g [ 1 ] ) { var k = angular . isDefined ( e . maxSize ) ? c . $parent . $eval ( e . maxSize ) : f . maxSize , n = angular . isDefined ( e . rotate ) ? c . $parent . $eval ( e . rotate ) : f . rotate ; c . boundaryLinks = angular . isDefined ( e . boundaryLinks ) ? c . $parent . $eval ( e . boundaryLinks ) :
f . boundaryLinks ; c . directionLinks = angular . isDefined ( e . directionLinks ) ? c . $parent . $eval ( e . directionLinks ) : f . directionLinks ; t . init ( a , f ) ; e . maxSize && c . $parent . $watch ( b ( e . maxSize ) , function ( a ) { k = parseInt ( a , 10 ) ; t . render ( ) } ) ; var r = t . render ; t . render = function ( ) { r ( ) ; if ( 0 < c . page && c . page <= c . totalPages ) { var a = c . page , b = c . totalPages , e = [ ] , g = 1 , f = b , h = angular . isDefined ( k ) && k < b ; h && ( n ? ( g = Math . max ( a - Math . floor ( k / 2 ) , 1 ) , f = g + k - 1 , f > b && ( f = b , g = f - k + 1 ) ) : ( g = ( Math . ceil ( a / k ) - 1 ) * k + 1 , f = Math . min ( g + k - 1 , b ) ) ) ; for ( var l = g ; l <= f ; l ++ ) e . push ( { number : l ,
text : l , active : l === a } ) ; h && ! n && ( 1 < g && e . unshift ( { number : g - 1 , text : "..." , active : ! 1 } ) , f < b && e . push ( { number : f + 1 , text : "..." , active : ! 1 } ) ) ; c . pages = e } } } } } } ] ) . directive ( "pager" , [ "uibPagerConfig" , "$log" , "$paginationSuppressWarning" , function ( b , f , h ) { return { restrict : "EA" , scope : { totalItems : "=" , previousText : "@" , nextText : "@" , ngDisabled : "=" } , require : [ "pager" , "?ngModel" ] , controller : "PaginationController" , controllerAs : "pagination" , templateUrl : function ( b , c ) { return c . templateUrl || "template/pagination/pager.html" } , replace : ! 0 ,
link : function ( l , c , a , e ) { h || f . warn ( "pager is now deprecated. Use uib-pager instead." ) ; c = e [ 0 ] ; ( e = e [ 1 ] ) && ( l . align = angular . isDefined ( a . align ) ? l . $parent . $eval ( a . align ) : b . align , c . init ( e , b ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.tooltip" , [ "ui.bootstrap.position" , "ui.bootstrap.stackedMap" ] ) . provider ( "$uibTooltip" , function ( ) { function b ( b ) { return b . replace ( /[A-Z]/g , function ( a , b ) { return ( b ? "-" : "" ) + a . toLowerCase ( ) } ) } var f = { placement : "top" , animation : ! 0 , popupDelay : 0 , popupCloseDelay : 0 , useContentExp : ! 1 } , h = { mouseenter : "mouseleave" , click : "click" , focus : "blur" , none : "" } , l = { } ; this . options = function ( b ) { angular . extend ( l , b ) } ; this . setTriggers = function ( b ) { angular . extend ( h , b ) } ; this . $get = [ "$window" , "$compile" , "$timeout" ,
"$document" , "$uibPosition" , "$interpolate" , "$rootScope" , "$parse" , "$$stackedMap" , function ( c , a , e , g , t , k , n , r , y ) { var u = y . createNew ( ) ; return g . on ( "keypress" , function ( a ) { 27 === a . which && ( a = u . top ( ) ) && ( a . value . close ( ) , u . removeTop ( ) ) } ) , function ( c , n , y , B ) { function z ( a ) { a = ( a || B . trigger || y ) . split ( " " ) ; var b = a . map ( function ( a ) { return h [ a ] || a } ) ; return { show : a , hide : b } } B = angular . extend ( { } , f , l , B ) ; var q = b ( c ) , p = k . startSymbol ( ) , w = k . endSymbol ( ) , A = "<div " + q + '-popup title="' + p + "title" + w + '" ' + ( B . useContentExp ? 'content-exp="contentExp()" ' :
'content="' + p + "content" + w + '" ' ) + 'placement="' + p + "placement" + w + '" popup-class="' + p + "popupClass" + w + '" animation="animation" is-open="isOpen"origin-scope="origScope" style="visibility: hidden; display: block; top: -9999px; left: -9999px;"></div>' ; return { compile : function ( b , f ) { var k = a ( A ) ; return function ( a , b , f , h ) { function l ( ) { Z . isOpen ? p ( ) : q ( ) } function q ( ) { if ( ! Fa || a . $eval ( f [ n + "Enable" ] ) ) { E ( ) ; Z . title = f [ n + "Title" ] ; aa ? Z . content = aa ( a ) : Z . content = f [ c ] ; Z . popupClass = f [ n + "Class" ] ; Z . placement = angular . isDefined ( f [ n +
"Placement" ] ) ? f [ n + "Placement" ] : B . placement ; var b = parseInt ( f [ n + "PopupDelay" ] , 10 ) , g = parseInt ( f [ n + "PopupCloseDelay" ] , 10 ) ; Z . popupDelay = isNaN ( b ) ? B . popupDelay : b ; Z . popupCloseDelay = isNaN ( g ) ? B . popupCloseDelay : g ; Z . popupDelay ? X || ( X = e ( y , Z . popupDelay , ! 1 ) ) : y ( ) } } function p ( ) { w ( ) ; Z . popupCloseDelay ? sa || ( sa = e ( A , Z . popupCloseDelay , ! 1 ) ) : A ( ) } function y ( ) { return w ( ) , E ( ) , Z . content ? ( R ( ) , void Z . $evalAsync ( function ( ) { Z . isOpen = ! 0 ; O ( ! 0 ) ; Sa ( ) } ) ) : angular . noop } function w ( ) { X && ( e . cancel ( X ) , X = null ) ; ga && ( e . cancel ( ga ) , ga = null ) } function A ( ) { w ( ) ;
E ( ) ; Z && Z . $evalAsync ( function ( ) { Z . isOpen = ! 1 ; O ( ! 1 ) ; Z . animation ? T || ( T = e ( G , 150 , ! 1 ) ) : G ( ) } ) } function E ( ) { sa && ( e . cancel ( sa ) , sa = null ) ; T && ( e . cancel ( T ) , T = null ) } function R ( ) { I || ( H = Z . $new ( ) , I = k ( H , function ( a ) { v ? g . find ( "body" ) . append ( a ) : b . after ( a ) } ) , N ( ) ) } function G ( ) { J ( ) ; T = null ; I && ( I . remove ( ) , I = null ) ; H && ( H . $destroy ( ) , H = null ) } function O ( b ) { Ia && angular . isFunction ( Ia . assign ) && Ia . assign ( a , b ) } function N ( ) { za . length = 0 ; aa ? ( za . push ( a . $watch ( aa , function ( a ) { Z . content = a ; ! a && Z . isOpen && A ( ) } ) ) , za . push ( H . $watch ( function ( ) { Xa ||
( Xa = ! 0 , H . $$postDigest ( function ( ) { Xa = ! 1 ; Z && Z . isOpen && Sa ( ) } ) ) } ) ) ) : za . push ( f . $observe ( c , function ( a ) { Z . content = a ; ! a && Z . isOpen ? A ( ) : Sa ( ) } ) ) ; za . push ( f . $observe ( n + "Title" , function ( a ) { Z . title = a ; Z . isOpen && Sa ( ) } ) ) ; za . push ( f . $observe ( n + "Placement" , function ( a ) { Z . placement = a ? a : B . placement ; Z . isOpen && Sa ( ) } ) ) } function J ( ) { za . length && ( angular . forEach ( za , function ( a ) { a ( ) } ) , za . length = 0 ) } var I , H , T , X , sa , ga , v = ! ! angular . isDefined ( B . appendToBody ) && B . appendToBody , oa = z ( void 0 ) , Fa = angular . isDefined ( f [ n + "Enable" ] ) , Z = a . $new ( ! 0 ) ,
Xa = ! 1 , Ia = ! ! angular . isDefined ( f [ n + "IsOpen" ] ) && r ( f [ n + "IsOpen" ] ) , aa = ! ! B . useContentExp && r ( f [ c ] ) , za = [ ] , Sa = function ( ) { I && I . html ( ) && ( ga || ( ga = e ( function ( ) { I . css ( { top : 0 , left : 0 } ) ; var a = t . positionElements ( b , I , Z . placement , v ) ; a . top += "px" ; a . left += "px" ; a . visibility = "visible" ; I . css ( a ) ; ga = null } , 0 , ! 1 ) ) ) } ; Z . origScope = a ; Z . isOpen = ! 1 ; u . add ( Z , { close : A } ) ; Z . contentExp = function ( ) { return Z . content } ; f . $observe ( "disabled" , function ( a ) { a && w ( ) ; a && Z . isOpen && A ( ) } ) ; Ia && a . $watch ( Ia , function ( a ) { Z && ! a === Z . isOpen && l ( ) } ) ; var ub = function ( ) { oa . show . forEach ( function ( a ) { b . unbind ( a ,
q ) } ) ; oa . hide . forEach ( function ( a ) { a . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . removeEventListener ( a , p ) } ) } ) } ; ( function ( ) { var a = f [ n + "Trigger" ] ; ub ( ) ; oa = z ( a ) ; "none" !== oa . show && oa . show . forEach ( function ( a , c ) { a === oa . hide [ c ] ? b [ 0 ] . addEventListener ( a , l ) : a && ( b [ 0 ] . addEventListener ( a , q ) , oa . hide [ c ] . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . addEventListener ( a , p ) } ) ) ; b . on ( "keypress" , function ( a ) { 27 === a . which && p ( ) } ) } ) } ) ( ) ; h = a . $eval ( f [ n + "Animation" ] ) ; Z . animation = angular . isDefined ( h ) ? ! ! h : B . animation ; h = a . $eval ( f [ n + "AppendToBody" ] ) ;
( v = angular . isDefined ( h ) ? h : v ) && a . $on ( "$locationChangeSuccess" , function ( ) { Z . isOpen && A ( ) } ) ; a . $on ( "$destroy" , function ( ) { w ( ) ; E ( ) ; ub ( ) ; G ( ) ; u . remove ( Z ) ; Z = null } ) } } } } } ] } ) . directive ( "uibTooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , function ( b , f , h , l ) { return { link : function ( c , a , e ) { var g , t , k , n = c . $eval ( e . tooltipTemplateTranscludeScope ) , r = 0 , y = function ( ) { t && ( t . remove ( ) , t = null ) ; g && ( g . $destroy ( ) , g = null ) ; k && ( b . leave ( k ) . then ( function ( ) { t = null } ) , t = k , k = null ) } ; c . $watch ( f . parseAsResourceUrl ( e . uibTooltipTemplateTransclude ) ,
function ( e ) { var f = ++ r ; e ? ( l ( e , ! 0 ) . then ( function ( c ) { if ( f === r ) { var l = n . $new ( ) ; c = h ( c ) ( l , function ( c ) { y ( ) ; b . enter ( c , a ) } ) ; g = l ; k = c ; g . $emit ( "$includeContentLoaded" , e ) } } , function ( ) { f === r && ( y ( ) , c . $emit ( "$includeContentError" , e ) ) } ) , c . $emit ( "$includeContentRequested" , e ) ) : y ( ) } ) ; c . $on ( "$destroy" , y ) } } } ] ) . directive ( "uibTooltipClasses" , function ( ) { return { restrict : "A" , link : function ( b , f , h ) { b . placement && f . addClass ( b . placement ) ; b . popupClass && f . addClass ( b . popupClass ) ; b . animation ( ) && f . addClass ( h . tooltipAnimationClass ) } } } ) . directive ( "uibTooltipPopup" ,
function ( ) { return { replace : ! 0 , scope : { content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-popup.html" , link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltip" , [ "$uibTooltip" , function ( b ) { return b ( "uibTooltip" , "tooltip" , "mouseenter" ) } ] ) . directive ( "uibTooltipTemplatePopup" , function ( ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/tooltip/tooltip-template-popup.html" ,
link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltipTemplate" , [ "$uibTooltip" , function ( b ) { return b ( "uibTooltipTemplate" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibTooltipHtmlPopup" , function ( ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-html-popup.html" , link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltipHtml" , [ "$uibTooltip" , function ( b ) { return b ( "uibTooltipHtml" , "tooltip" ,
2017-07-20 23:09:21 +00:00
"mouseenter" , { useContentExp : ! 0 } ) } ] ) ;
2017-09-20 18:29:17 +00:00
angular . module ( "ui.bootstrap.tooltip" ) . value ( "$tooltipSuppressWarning" , ! 1 ) . provider ( "$tooltip" , [ "$uibTooltipProvider" , function ( b ) { angular . extend ( this , b ) ; this . $get = [ "$log" , "$tooltipSuppressWarning" , "$injector" , function ( f , h , l ) { return h || f . warn ( "$tooltip is now deprecated. Use $uibTooltip instead." ) , l . invoke ( b . $get ) } ] } ] ) . directive ( "tooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , "$log" , "$tooltipSuppressWarning" , function ( b , f , h , l , c , a ) { return { link : function ( e , g , t ) { a || c . warn ( "tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead." ) ;
var k , n , r , y = e . $eval ( t . tooltipTemplateTranscludeScope ) , u = 0 , w = function ( ) { n && ( n . remove ( ) , n = null ) ; k && ( k . $destroy ( ) , k = null ) ; r && ( b . leave ( r ) . then ( function ( ) { n = null } ) , n = r , r = null ) } ; e . $watch ( f . parseAsResourceUrl ( t . tooltipTemplateTransclude ) , function ( a ) { var c = ++ u ; a ? ( l ( a , ! 0 ) . then ( function ( e ) { if ( c === u ) { var f = y . $new ( ) ; e = h ( e ) ( f , function ( a ) { w ( ) ; b . enter ( a , g ) } ) ; k = f ; r = e ; k . $emit ( "$includeContentLoaded" , a ) } } , function ( ) { c === u && ( w ( ) , e . $emit ( "$includeContentError" , a ) ) } ) , e . $emit ( "$includeContentRequested" , a ) ) : w ( ) } ) ; e . $on ( "$destroy" ,
w ) } } } ] ) . directive ( "tooltipClasses" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { restrict : "A" , link : function ( h , l , c ) { f || b . warn ( "tooltip-classes is now deprecated. Use uib-tooltip-classes instead." ) ; h . placement && l . addClass ( h . placement ) ; h . popupClass && l . addClass ( h . popupClass ) ; h . animation ( ) && l . addClass ( c . tooltipAnimationClass ) } } } ] ) . directive ( "tooltipPopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } ,
templateUrl : "template/tooltip/tooltip-popup.html" , link : function ( h , l ) { f || b . warn ( "tooltip-popup is now deprecated. Use uib-tooltip-popup instead." ) ; l . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltip" , [ "$tooltip" , function ( b ) { return b ( "tooltip" , "tooltip" , "mouseenter" ) } ] ) . directive ( "tooltipTemplatePopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/tooltip/tooltip-template-popup.html" ,
link : function ( h , l ) { f || b . warn ( "tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead." ) ; l . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltipTemplate" , [ "$tooltip" , function ( b ) { return b ( "tooltipTemplate" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) . directive ( "tooltipHtmlPopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-html-popup.html" , link : function ( h ,
l ) { f || b . warn ( "tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead." ) ; l . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltipHtml" , [ "$tooltip" , function ( b ) { return b ( "tooltipHtml" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) ;
angular . module ( "ui.bootstrap.popover" , [ "ui.bootstrap.tooltip" ] ) . directive ( "uibPopoverTemplatePopup" , function ( ) { return { replace : ! 0 , scope : { title : "@" , contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/popover/popover-template.html" , link : function ( b , f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopoverTemplate" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopoverTemplate" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibPopoverHtmlPopup" , function ( ) { return { replace : ! 0 ,
scope : { contentExp : "&" , title : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover-html.html" , link : function ( b , f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopoverHtml" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopoverHtml" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibPopoverPopup" , function ( ) { return { replace : ! 0 , scope : { title : "@" , content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover.html" , link : function ( b ,
f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopover" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopover" , "popover" , "click" ) } ] ) ;
angular . module ( "ui.bootstrap.popover" ) . value ( "$popoverSuppressWarning" , ! 1 ) . directive ( "popoverTemplatePopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { title : "@" , contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/popover/popover-template.html" , link : function ( h , l ) { f || b . warn ( "popover-template-popup is now deprecated. Use uib-popover-template-popup instead." ) ; l . addClass ( "popover" ) } } } ] ) . directive ( "popoverTemplate" , [ "$tooltip" ,
function ( b ) { return b ( "popoverTemplate" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "popoverHtmlPopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , title : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover-html.html" , link : function ( h , l ) { f || b . warn ( "popover-html-popup is now deprecated. Use uib-popover-html-popup instead." ) ; l . addClass ( "popover" ) } } } ] ) . directive ( "popoverHtml" , [ "$tooltip" , function ( b ) { return b ( "popoverHtml" ,
"popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "popoverPopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { title : "@" , content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover.html" , link : function ( h , l ) { f || b . warn ( "popover-popup is now deprecated. Use uib-popover-popup instead." ) ; l . addClass ( "popover" ) } } } ] ) . directive ( "popover" , [ "$tooltip" , function ( b ) { return b ( "popover" , "popover" , "click" ) } ] ) ;
angular . module ( "ui.bootstrap.progressbar" , [ ] ) . constant ( "uibProgressConfig" , { animate : ! 0 , max : 100 } ) . controller ( "UibProgressController" , [ "$scope" , "$attrs" , "uibProgressConfig" , function ( b , f , h ) { var l = this , c = angular . isDefined ( f . animate ) ? b . $parent . $eval ( f . animate ) : h . animate ; this . bars = [ ] ; b . max = angular . isDefined ( b . max ) ? b . max : h . max ; this . addBar = function ( a , e , g ) { c || e . css ( { transition : "none" } ) ; this . bars . push ( a ) ; a . max = b . max ; a . title = g && angular . isDefined ( g . title ) ? g . title : "progressbar" ; a . $watch ( "value" , function ( b ) { a . recalculatePercentage ( ) } ) ;
a . recalculatePercentage = function ( ) { var b = l . bars . reduce ( function ( a , b ) { return b . percent = + ( 100 * b . value / b . max ) . toFixed ( 2 ) , a + b . percent } , 0 ) ; 100 < b && ( a . percent -= b - 100 ) } ; a . $on ( "$destroy" , function ( ) { e = null ; l . removeBar ( a ) } ) } ; this . removeBar = function ( a ) { this . bars . splice ( this . bars . indexOf ( a ) , 1 ) ; this . bars . forEach ( function ( a ) { a . recalculatePercentage ( ) } ) } ; b . $watch ( "max" , function ( a ) { l . bars . forEach ( function ( a ) { a . max = b . max ; a . recalculatePercentage ( ) } ) } ) } ] ) . directive ( "uibProgress" , function ( ) { return { replace : ! 0 , transclude : ! 0 ,
controller : "UibProgressController" , require : "uibProgress" , scope : { max : "=?" } , templateUrl : "template/progressbar/progress.html" } } ) . directive ( "uibBar" , function ( ) { return { replace : ! 0 , transclude : ! 0 , require : "^uibProgress" , scope : { value : "=" , type : "@" } , templateUrl : "template/progressbar/bar.html" , link : function ( b , f , h , l ) { l . addBar ( b , f , h ) } } } ) . directive ( "uibProgressbar" , function ( ) { return { replace : ! 0 , transclude : ! 0 , controller : "UibProgressController" , scope : { value : "=" , max : "=?" , type : "@" } , templateUrl : "template/progressbar/progressbar.html" ,
link : function ( b , f , h , l ) { l . addBar ( b , angular . element ( f . children ( ) [ 0 ] ) , { title : h . title } ) } } } ) ;
angular . module ( "ui.bootstrap.progressbar" ) . value ( "$progressSuppressWarning" , ! 1 ) . controller ( "ProgressController" , [ "$scope" , "$attrs" , "uibProgressConfig" , "$log" , "$progressSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "ProgressController is now deprecated. Use UibProgressController instead." ) ; var a = this , e = angular . isDefined ( f . animate ) ? b . $parent . $eval ( f . animate ) : h . animate ; this . bars = [ ] ; b . max = angular . isDefined ( b . max ) ? b . max : h . max ; this . addBar = function ( c , f , k ) { e || f . css ( { transition : "none" } ) ; this . bars . push ( c ) ;
c . max = b . max ; c . title = k && angular . isDefined ( k . title ) ? k . title : "progressbar" ; c . $watch ( "value" , function ( a ) { c . recalculatePercentage ( ) } ) ; c . recalculatePercentage = function ( ) { c . percent = + ( 100 * c . value / c . max ) . toFixed ( 2 ) ; var b = a . bars . reduce ( function ( a , b ) { return a + b . percent } , 0 ) ; 100 < b && ( c . percent -= b - 100 ) } ; c . $on ( "$destroy" , function ( ) { f = null ; a . removeBar ( c ) } ) } ; this . removeBar = function ( a ) { this . bars . splice ( this . bars . indexOf ( a ) , 1 ) } ; b . $watch ( "max" , function ( c ) { a . bars . forEach ( function ( a ) { a . max = b . max ; a . recalculatePercentage ( ) } ) } ) } ] ) . directive ( "progress" ,
[ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , controller : "ProgressController" , require : "progress" , scope : { max : "=?" , title : "@?" } , templateUrl : "template/progressbar/progress.html" , link : function ( ) { f || b . warn ( "progress is now deprecated. Use uib-progress instead." ) } } } ] ) . directive ( "bar" , [ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , require : "^progress" , scope : { value : "=" , type : "@" } , templateUrl : "template/progressbar/bar.html" , link : function ( h ,
l , c , a ) { f || b . warn ( "bar is now deprecated. Use uib-bar instead." ) ; a . addBar ( h , l ) } } } ] ) . directive ( "progressbar" , [ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , controller : "ProgressController" , scope : { value : "=" , max : "=?" , type : "@" } , templateUrl : "template/progressbar/progressbar.html" , link : function ( h , l , c , a ) { f || b . warn ( "progressbar is now deprecated. Use uib-progressbar instead." ) ; a . addBar ( h , angular . element ( l . children ( ) [ 0 ] ) , { title : c . title } ) } } } ] ) ;
angular . module ( "ui.bootstrap.rating" , [ ] ) . constant ( "uibRatingConfig" , { max : 5 , stateOn : null , stateOff : null , titles : [ "one" , "two" , "three" , "four" , "five" ] } ) . controller ( "UibRatingController" , [ "$scope" , "$attrs" , "uibRatingConfig" , function ( b , f , h ) { var l = { $setViewValue : angular . noop } ; this . init = function ( c ) { l = c ; l . $render = this . render ; l . $formatters . push ( function ( a ) { return angular . isNumber ( a ) && a << 0 !== a && ( a = Math . round ( a ) ) , a } ) ; this . stateOn = angular . isDefined ( f . stateOn ) ? b . $parent . $eval ( f . stateOn ) : h . stateOn ; this . stateOff = angular . isDefined ( f . stateOff ) ?
b . $parent . $eval ( f . stateOff ) : h . stateOff ; c = angular . isDefined ( f . titles ) ? b . $parent . $eval ( f . titles ) : h . titles ; this . titles = angular . isArray ( c ) && 0 < c . length ? c : h . titles ; c = angular . isDefined ( f . ratingStates ) ? b . $parent . $eval ( f . ratingStates ) : Array ( angular . isDefined ( f . max ) ? b . $parent . $eval ( f . max ) : h . max ) ; b . range = this . buildTemplateObjects ( c ) } ; this . buildTemplateObjects = function ( b ) { for ( var a = 0 , c = b . length ; a < c ; a ++ ) b [ a ] = angular . extend ( { index : a } , { stateOn : this . stateOn , stateOff : this . stateOff , title : this . getTitle ( a ) } , b [ a ] ) ; return b } ;
this . getTitle = function ( b ) { return b >= this . titles . length ? b + 1 : this . titles [ b ] } ; b . rate = function ( c ) { ! b . readonly && 0 <= c && c <= b . range . length && ( l . $setViewValue ( l . $viewValue === c ? 0 : c ) , l . $render ( ) ) } ; b . enter = function ( c ) { b . readonly || ( b . value = c ) ; b . onHover ( { value : c } ) } ; b . reset = function ( ) { b . value = l . $viewValue ; b . onLeave ( ) } ; b . onKeydown = function ( c ) { /(37|38|39|40)/ . test ( c . which ) && ( c . preventDefault ( ) , c . stopPropagation ( ) , b . rate ( b . value + ( 38 === c . which || 39 === c . which ? 1 : - 1 ) ) ) } ; this . render = function ( ) { b . value = l . $viewValue } } ] ) . directive ( "uibRating" ,
function ( ) { return { require : [ "uibRating" , "ngModel" ] , scope : { readonly : "=?" , onHover : "&" , onLeave : "&" } , controller : "UibRatingController" , templateUrl : "template/rating/rating.html" , replace : ! 0 , link : function ( b , f , h , l ) { l [ 0 ] . init ( l [ 1 ] ) } } } ) ;
angular . module ( "ui.bootstrap.rating" ) . value ( "$ratingSuppressWarning" , ! 1 ) . controller ( "RatingController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$ratingSuppressWarning" , function ( b , f , h , l , c ) { c || l . warn ( "RatingController is now deprecated. Use UibRatingController instead." ) ; angular . extend ( this , h ( "UibRatingController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "rating" , [ "$log" , "$ratingSuppressWarning" , function ( b , f ) { return { require : [ "rating" , "ngModel" ] , scope : { readonly : "=?" , onHover : "&" , onLeave : "&" } , controller : "RatingController" ,
templateUrl : "template/rating/rating.html" , replace : ! 0 , link : function ( h , l , c , a ) { f || b . warn ( "rating is now deprecated. Use uib-rating instead." ) ; a [ 0 ] . init ( a [ 1 ] ) } } } ] ) ;
angular . module ( "ui.bootstrap.tabs" , [ ] ) . controller ( "UibTabsetController" , [ "$scope" , function ( b ) { var f = this , h = f . tabs = b . tabs = [ ] ; f . select = function ( b ) { angular . forEach ( h , function ( a ) { a . active && a !== b && ( a . active = ! 1 , a . onDeselect ( ) , b . selectCalled = ! 1 ) } ) ; b . active = ! 0 ; b . selectCalled || ( b . onSelect ( ) , b . selectCalled = ! 0 ) } ; f . addTab = function ( b ) { h . push ( b ) ; 1 === h . length && ! 1 !== b . active ? b . active = ! 0 : b . active ? f . select ( b ) : b . active = ! 1 } ; f . removeTab = function ( b ) { var a = h . indexOf ( b ) ; b . active && 1 < h . length && ! l && f . select ( h [ a == h . length - 1 ?
a - 1 : a + 1 ] ) ; h . splice ( a , 1 ) } ; var l ; b . $on ( "$destroy" , function ( ) { l = ! 0 } ) } ] ) . directive ( "uibTabset" , function ( ) { return { restrict : "EA" , transclude : ! 0 , replace : ! 0 , scope : { type : "@" } , controller : "UibTabsetController" , templateUrl : "template/tabs/tabset.html" , link : function ( b , f , h ) { b . vertical = ! ! angular . isDefined ( h . vertical ) && b . $parent . $eval ( h . vertical ) ; b . justified = ! ! angular . isDefined ( h . justified ) && b . $parent . $eval ( h . justified ) } } } ) . directive ( "uibTab" , [ "$parse" , function ( b ) { return { require : "^uibTabset" , restrict : "EA" , replace : ! 0 ,
templateUrl : "template/tabs/tab.html" , transclude : ! 0 , scope : { active : "=?" , heading : "@" , onSelect : "&select" , onDeselect : "&deselect" } , controller : function ( ) { } , link : function ( f , h , l , c , a ) { f . $watch ( "active" , function ( a ) { a && c . select ( f ) } ) ; f . disabled = ! 1 ; l . disable && f . $parent . $watch ( b ( l . disable ) , function ( a ) { f . disabled = ! ! a } ) ; f . select = function ( ) { f . disabled || ( f . active = ! 0 ) } ; c . addTab ( f ) ; f . $on ( "$destroy" , function ( ) { c . removeTab ( f ) } ) ; f . $transcludeFn = a } } } ] ) . directive ( "uibTabHeadingTransclude" , function ( ) { return { restrict : "A" , require : [ "?^uibTab" ,
"?^tab" ] , link : function ( b , f ) { b . $watch ( "headingElement" , function ( b ) { b && ( f . html ( "" ) , f . append ( b ) ) } ) } } } ) . directive ( "uibTabContentTransclude" , function ( ) { return { restrict : "A" , require : [ "?^uibTabset" , "?^tabset" ] , link : function ( b , f , h ) { var l = b . $eval ( h . uibTabContentTransclude ) ; l . $transcludeFn ( l . $parent , function ( b ) { angular . forEach ( b , function ( a ) { a . tagName && ( a . hasAttribute ( "tab-heading" ) || a . hasAttribute ( "data-tab-heading" ) || a . hasAttribute ( "x-tab-heading" ) || a . hasAttribute ( "uib-tab-heading" ) || a . hasAttribute ( "data-uib-tab-heading" ) ||
a . hasAttribute ( "x-uib-tab-heading" ) || "tab-heading" === a . tagName . toLowerCase ( ) || "data-tab-heading" === a . tagName . toLowerCase ( ) || "x-tab-heading" === a . tagName . toLowerCase ( ) || "uib-tab-heading" === a . tagName . toLowerCase ( ) || "data-uib-tab-heading" === a . tagName . toLowerCase ( ) || "x-uib-tab-heading" === a . tagName . toLowerCase ( ) ) ? l . headingElement = a : f . append ( a ) } ) } ) } } } ) ;
angular . module ( "ui.bootstrap.tabs" ) . value ( "$tabsSuppressWarning" , ! 1 ) . controller ( "TabsetController" , [ "$scope" , "$controller" , "$log" , "$tabsSuppressWarning" , function ( b , f , h , l ) { l || h . warn ( "TabsetController is now deprecated. Use UibTabsetController instead." ) ; angular . extend ( this , f ( "UibTabsetController" , { $scope : b } ) ) } ] ) . directive ( "tabset" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "EA" , transclude : ! 0 , replace : ! 0 , scope : { type : "@" } , controller : "TabsetController" , templateUrl : "template/tabs/tabset.html" ,
link : function ( h , l , c ) { f || b . warn ( "tabset is now deprecated. Use uib-tabset instead." ) ; h . vertical = ! ! angular . isDefined ( c . vertical ) && h . $parent . $eval ( c . vertical ) ; h . justified = ! ! angular . isDefined ( c . justified ) && h . $parent . $eval ( c . justified ) } } } ] ) . directive ( "tab" , [ "$parse" , "$log" , "$tabsSuppressWarning" , function ( b , f , h ) { return { require : "^tabset" , restrict : "EA" , replace : ! 0 , templateUrl : "template/tabs/tab.html" , transclude : ! 0 , scope : { active : "=?" , heading : "@" , onSelect : "&select" , onDeselect : "&deselect" } , controller : function ( ) { } ,
link : function ( l , c , a , e , g ) { h || f . warn ( "tab is now deprecated. Use uib-tab instead." ) ; l . $watch ( "active" , function ( a ) { a && e . select ( l ) } ) ; l . disabled = ! 1 ; a . disable && l . $parent . $watch ( b ( a . disable ) , function ( a ) { l . disabled = ! ! a } ) ; l . select = function ( ) { l . disabled || ( l . active = ! 0 ) } ; e . addTab ( l ) ; l . $on ( "$destroy" , function ( ) { e . removeTab ( l ) } ) ; l . $transcludeFn = g } } } ] ) . directive ( "tabHeadingTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tab" , link : function ( h , l ) { f || b . warn ( "tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead." ) ;
h . $watch ( "headingElement" , function ( b ) { b && ( l . html ( "" ) , l . append ( b ) ) } ) } } } ] ) . directive ( "tabContentTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tabset" , link : function ( h , l , c ) { f || b . warn ( "tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead." ) ; var a = h . $eval ( c . tabContentTransclude ) ; a . $transcludeFn ( a . $parent , function ( b ) { angular . forEach ( b , function ( b ) { b . tagName && ( b . hasAttribute ( "tab-heading" ) || b . hasAttribute ( "data-tab-heading" ) || b . hasAttribute ( "x-tab-heading" ) ||
"tab-heading" === b . tagName . toLowerCase ( ) || "data-tab-heading" === b . tagName . toLowerCase ( ) || "x-tab-heading" === b . tagName . toLowerCase ( ) ) ? a . headingElement = b : l . append ( b ) } ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.timepicker" , [ ] ) . constant ( "uibTimepickerConfig" , { hourStep : 1 , minuteStep : 1 , showMeridian : ! 0 , meridians : null , readonlyInput : ! 1 , mousewheel : ! 0 , arrowkeys : ! 0 , showSpinners : ! 0 } ) . controller ( "UibTimepickerController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "$log" , "$locale" , "uibTimepickerConfig" , function ( b , f , h , l , c , a , e ) { function g ( ) { var a = parseInt ( b . hours , 10 ) ; if ( b . showMeridian ? 0 < a && 13 > a : 0 <= a && 24 > a ) return b . showMeridian && ( 12 === a && ( a = 0 ) , b . meridian === B [ 1 ] && ( a += 12 ) ) , a } function t ( ) { var a = parseInt ( b . minutes ,
10 ) ; return 0 <= a && 60 > a ? a : void 0 } function k ( a ) { return angular . isDefined ( a ) && 2 > a . toString ( ) . length ? "0" + a : a . toString ( ) } function n ( a ) { r ( ) ; z . $setViewValue ( new Date ( A ) ) ; y ( a ) } function r ( ) { z . $setValidity ( "time" , ! 0 ) ; b . invalidHours = ! 1 ; b . invalidMinutes = ! 1 } function y ( a ) { var c = A . getHours ( ) , e = A . getMinutes ( ) ; b . showMeridian && ( c = 0 === c || 12 === c ? 12 : c % 12 ) ; b . hours = "h" === a ? c : k ( c ) ; "m" !== a && ( b . minutes = k ( e ) ) ; b . meridian = 12 > A . getHours ( ) ? B [ 0 ] : B [ 1 ] } function u ( a , b ) { var c = new Date ( a . getTime ( ) + 6E4 * b ) , e = new Date ( a ) ; return e . setHours ( c . getHours ( ) ,
c . getMinutes ( ) ) , e } function w ( a ) { A = u ( A , a ) ; n ( ) } var A = new Date , z = { $setViewValue : angular . noop } , B = angular . isDefined ( h . meridians ) ? b . $parent . $eval ( h . meridians ) : e . meridians || a . DATETIME _FORMATS . AMPMS ; b . tabindex = angular . isDefined ( h . tabindex ) ? h . tabindex : 0 ; f . removeAttr ( "tabindex" ) ; this . init = function ( a , c ) { z = a ; z . $render = this . render ; z . $formatters . unshift ( function ( a ) { return a ? new Date ( a ) : null } ) ; var g = c . eq ( 0 ) , f = c . eq ( 1 ) ; ( angular . isDefined ( h . mousewheel ) ? b . $parent . $eval ( h . mousewheel ) : e . mousewheel ) && this . setupMousewheelEvents ( g ,
f ) ; ( angular . isDefined ( h . arrowkeys ) ? b . $parent . $eval ( h . arrowkeys ) : e . arrowkeys ) && this . setupArrowkeyEvents ( g , f ) ; b . readonlyInput = angular . isDefined ( h . readonlyInput ) ? b . $parent . $eval ( h . readonlyInput ) : e . readonlyInput ; this . setupInputEvents ( g , f ) } ; var E = e . hourStep ; h . hourStep && b . $parent . $watch ( l ( h . hourStep ) , function ( a ) { E = parseInt ( a , 10 ) } ) ; var q = e . minuteStep ; h . minuteStep && b . $parent . $watch ( l ( h . minuteStep ) , function ( a ) { q = parseInt ( a , 10 ) } ) ; var p ; b . $parent . $watch ( l ( h . min ) , function ( a ) { a = new Date ( a ) ; p = isNaN ( a ) ? void 0 : a } ) ;
var I ; b . $parent . $watch ( l ( h . max ) , function ( a ) { a = new Date ( a ) ; I = isNaN ( a ) ? void 0 : a } ) ; b . noIncrementHours = function ( ) { var a = u ( A , 60 * E ) ; return a > I || a < A && a < p } ; b . noDecrementHours = function ( ) { var a = u ( A , 60 * - E ) ; return a < p || a > A && a > I } ; b . noIncrementMinutes = function ( ) { var a = u ( A , q ) ; return a > I || a < A && a < p } ; b . noDecrementMinutes = function ( ) { var a = u ( A , - q ) ; return a < p || a > A && a > I } ; b . noToggleMeridian = function ( ) { return 13 > A . getHours ( ) ? u ( A , 720 ) > I : u ( A , - 720 ) < p } ; b . showMeridian = e . showMeridian ; h . showMeridian && b . $parent . $watch ( l ( h . showMeridian ) ,
function ( a ) { if ( b . showMeridian = ! ! a , z . $error . time ) { a = g ( ) ; var c = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( c ) && ( A . setHours ( a ) , n ( ) ) } else y ( ) } ) ; this . setupMousewheelEvents = function ( a , c ) { var e = function ( a ) { a . originalEvent && ( a = a . originalEvent ) ; var b = a . wheelDelta ? a . wheelDelta : - a . deltaY ; return a . detail || 0 < b } ; a . bind ( "mousewheel wheel" , function ( a ) { b . $apply ( e ( a ) ? b . incrementHours ( ) : b . decrementHours ( ) ) ; a . preventDefault ( ) } ) ; c . bind ( "mousewheel wheel" , function ( a ) { b . $apply ( e ( a ) ? b . incrementMinutes ( ) : b . decrementMinutes ( ) ) ;
a . preventDefault ( ) } ) } ; this . setupArrowkeyEvents = function ( a , c ) { a . bind ( "keydown" , function ( a ) { 38 === a . which ? ( a . preventDefault ( ) , b . incrementHours ( ) , b . $apply ( ) ) : 40 === a . which && ( a . preventDefault ( ) , b . decrementHours ( ) , b . $apply ( ) ) } ) ; c . bind ( "keydown" , function ( a ) { 38 === a . which ? ( a . preventDefault ( ) , b . incrementMinutes ( ) , b . $apply ( ) ) : 40 === a . which && ( a . preventDefault ( ) , b . decrementMinutes ( ) , b . $apply ( ) ) } ) } ; this . setupInputEvents = function ( a , c ) { if ( b . readonlyInput ) return b . updateHours = angular . noop , void ( b . updateMinutes = angular . noop ) ;
var e = function ( a , c ) { z . $setViewValue ( null ) ; z . $setValidity ( "time" , ! 1 ) ; angular . isDefined ( a ) && ( b . invalidHours = a ) ; angular . isDefined ( c ) && ( b . invalidMinutes = c ) } ; b . updateHours = function ( ) { var a = g ( ) , b = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( A . setHours ( a ) , A < p || A > I ? e ( ! 0 ) : n ( "h" ) ) : e ( ! 0 ) } ; a . bind ( "blur" , function ( a ) { ! b . invalidHours && 10 > b . hours && b . $apply ( function ( ) { b . hours = k ( b . hours ) } ) } ) ; b . updateMinutes = function ( ) { var a = t ( ) , b = g ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( A . setMinutes ( a ) , A < p || A > I ? e ( void 0 ,
! 0 ) : n ( "m" ) ) : e ( void 0 , ! 0 ) } ; c . bind ( "blur" , function ( a ) { ! b . invalidMinutes && 10 > b . minutes && b . $apply ( function ( ) { b . minutes = k ( b . minutes ) } ) } ) } ; this . render = function ( ) { var a = z . $viewValue ; isNaN ( a ) ? ( z . $setValidity ( "time" , ! 1 ) , c . error ( 'Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.' ) ) : ( a && ( A = a ) , A < p || A > I ? ( z . $setValidity ( "time" , ! 1 ) , b . invalidHours = ! 0 , b . invalidMinutes = ! 0 ) : r ( ) , y ( ) ) } ; b . showSpinners = angular . isDefined ( h . showSpinners ) ?
b . $parent . $eval ( h . showSpinners ) : e . showSpinners ; b . incrementHours = function ( ) { b . noIncrementHours ( ) || w ( 60 * E ) } ; b . decrementHours = function ( ) { b . noDecrementHours ( ) || w ( 60 * - E ) } ; b . incrementMinutes = function ( ) { b . noIncrementMinutes ( ) || w ( q ) } ; b . decrementMinutes = function ( ) { b . noDecrementMinutes ( ) || w ( - q ) } ; b . toggleMeridian = function ( ) { b . noToggleMeridian ( ) || w ( 720 * ( 12 > A . getHours ( ) ? 1 : - 1 ) ) } } ] ) . directive ( "uibTimepicker" , function ( ) { return { restrict : "EA" , require : [ "uibTimepicker" , "?^ngModel" ] , controller : "UibTimepickerController" ,
controllerAs : "timepicker" , replace : ! 0 , scope : { } , templateUrl : function ( b , f ) { return f . templateUrl || "template/timepicker/timepicker.html" } , link : function ( b , f , h , l ) { b = l [ 0 ] ; ( l = l [ 1 ] ) && b . init ( l , f . find ( "input" ) ) } } } ) ;
angular . module ( "ui.bootstrap.timepicker" ) . value ( "$timepickerSuppressWarning" , ! 1 ) . controller ( "TimepickerController" , [ "$scope" , "$element" , "$attrs" , "$controller" , "$log" , "$timepickerSuppressWarning" , function ( b , f , h , l , c , a ) { a || c . warn ( "TimepickerController is now deprecated. Use UibTimepickerController instead." ) ; angular . extend ( this , l ( "UibTimepickerController" , { $scope : b , $element : f , $attrs : h } ) ) } ] ) . directive ( "timepicker" , [ "$log" , "$timepickerSuppressWarning" , function ( b , f ) { return { restrict : "EA" , require : [ "timepicker" ,
"?^ngModel" ] , controller : "TimepickerController" , controllerAs : "timepicker" , replace : ! 0 , scope : { } , templateUrl : function ( b , f ) { return f . templateUrl || "template/timepicker/timepicker.html" } , link : function ( h , l , c , a ) { f || b . warn ( "timepicker is now deprecated. Use uib-timepicker instead." ) ; h = a [ 0 ] ; ( a = a [ 1 ] ) && h . init ( a , l . find ( "input" ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.typeahead" , [ "ui.bootstrap.position" ] ) . factory ( "uibTypeaheadParser" , [ "$parse" , function ( b ) { var f = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/ ; return { parse : function ( h ) { var l = h . match ( f ) ; if ( ! l ) throw Error ( 'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "' + h + '".' ) ; return { itemName : l [ 3 ] , source : b ( l [ 4 ] ) , viewMapper : b ( l [ 2 ] || l [ 1 ] ) , modelMapper : b ( l [ 1 ] ) } } } } ] ) . controller ( "UibTypeaheadController" ,
[ "$scope" , "$element" , "$attrs" , "$compile" , "$parse" , "$q" , "$timeout" , "$document" , "$window" , "$rootScope" , "$uibPosition" , "uibTypeaheadParser" , function ( b , f , h , l , c , a , e , g , t , k , n , r ) { function y ( ) { P . moveInProgress || ( P . moveInProgress = ! 0 , P . $digest ( ) ) ; V && e . cancel ( V ) ; V = e ( function ( ) { P . matches . length && u ( ) ; P . moveInProgress = ! 1 } , B ) } function u ( ) { P . position = H ? n . offset ( f ) : n . position ( f ) ; P . position . top += f . prop ( "offsetHeight" ) } var w , A , z = [ 9 , 13 , 27 , 38 , 40 ] , B = 200 , E = b . $eval ( h . typeaheadMinLength ) ; E || 0 === E || ( E = 1 ) ; var q , p , I = b . $eval ( h . typeaheadWaitMs ) ||
0 , O = ! 1 !== b . $eval ( h . typeaheadEditable ) , J = c ( h . typeaheadLoading ) . assign || angular . noop , G = c ( h . typeaheadOnSelect ) , N = ! ! angular . isDefined ( h . typeaheadSelectOnBlur ) && b . $eval ( h . typeaheadSelectOnBlur ) , T = c ( h . typeaheadNoResults ) . assign || angular . noop , X = h . typeaheadInputFormatter ? c ( h . typeaheadInputFormatter ) : void 0 , H = ! ! h . typeaheadAppendToBody && b . $eval ( h . typeaheadAppendToBody ) , R = h . typeaheadAppendToElementId || ! 1 , U = ! 1 !== b . $eval ( h . typeaheadFocusFirst ) , ha = ! ! h . typeaheadSelectOnExact && b . $eval ( h . typeaheadSelectOnExact ) , K =
c ( h . ngModel ) , S = c ( h . ngModel + "($$$p)" ) , ka = function ( a , c ) { return angular . isFunction ( K ( b ) ) && A && A . $options && A . $options . getterSetter ? S ( a , { $$$p : c } ) : K . assign ( a , c ) } , W = r . parse ( h . uibTypeahead ) , P = b . $new ( ) ; c = b . $on ( "$destroy" , function ( ) { P . $destroy ( ) } ) ; P . $on ( "$destroy" , c ) ; var da = "typeahead-" + P . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; f . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : da } ) ; var M = angular . element ( "<div uib-typeahead-popup></div>" ) ; M . attr ( { id : da , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" ,
"move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ; angular . isDefined ( h . typeaheadTemplateUrl ) && M . attr ( "template-url" , h . typeaheadTemplateUrl ) ; angular . isDefined ( h . typeaheadPopupTemplateUrl ) && M . attr ( "popup-template-url" , h . typeaheadPopupTemplateUrl ) ; var qa = function ( ) { P . matches = [ ] ; P . activeIdx = - 1 ; f . attr ( "aria-expanded" , ! 1 ) } ; P . $watch ( "activeIdx" , function ( a ) { 0 > a ? f . removeAttr ( "aria-activedescendant" ) : f . attr ( "aria-activedescendant" , da + "-option-" + a ) } ) ; var ca = function ( c ) { var e = { $viewValue : c } ;
J ( b , ! 0 ) ; T ( b , ! 1 ) ; a . when ( W . source ( b , e ) ) . then ( function ( a ) { var g = c === w . $viewValue ; if ( g && q ) if ( a && 0 < a . length ) { P . activeIdx = U ? 0 : - 1 ; T ( b , ! 1 ) ; for ( var k = P . matches . length = 0 ; k < a . length ; k ++ ) e [ W . itemName ] = a [ k ] , P . matches . push ( { id : da + "-option-" + k , label : W . viewMapper ( P , e ) , model : a [ k ] } ) ; P . query = c ; u ( ) ; f . attr ( "aria-expanded" , ! 0 ) ; ha && 1 === P . matches . length && 0 < P . matches . length && c && c . toUpperCase ( ) === P . matches [ 0 ] . label . toUpperCase ( ) && P . select ( 0 ) } else qa ( ) , T ( b , ! 0 ) ; g && J ( b , ! 1 ) } , function ( ) { qa ( ) ; J ( b , ! 1 ) ; T ( b , ! 0 ) } ) } ; H && ( angular . element ( t ) . bind ( "resize" ,
y ) , g . find ( "body" ) . bind ( "scroll" , y ) ) ; var V ; P . moveInProgress = ! 1 ; P . query = void 0 ; var ma , ba = function ( a ) { ma = e ( function ( ) { ca ( a ) } , I ) } ; qa ( ) ; P . select = function ( a ) { var c , g = { } ; p = ! 0 ; g [ W . itemName ] = c = P . matches [ a ] . model ; a = W . modelMapper ( b , g ) ; ka ( b , a ) ; w . $setValidity ( "editable" , ! 0 ) ; w . $setValidity ( "parse" , ! 0 ) ; G ( b , { $item : c , $model : a , $label : W . viewMapper ( b , g ) } ) ; qa ( ) ; ! 1 !== P . $eval ( h . typeaheadFocusOnSelect ) && e ( function ( ) { f [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; f . bind ( "keydown" , function ( a ) { if ( 0 !== P . matches . length && - 1 !== z . indexOf ( a . which ) ) { if ( - 1 ===
P . activeIdx && ( 9 === a . which || 13 === a . which ) ) return qa ( ) , void P . $digest ( ) ; a . preventDefault ( ) ; 40 === a . which ? ( P . activeIdx = ( P . activeIdx + 1 ) % P . matches . length , P . $digest ( ) ) : 38 === a . which ? ( P . activeIdx = ( 0 < P . activeIdx ? P . activeIdx : P . matches . length ) - 1 , P . $digest ( ) ) : 13 === a . which || 9 === a . which ? P . $apply ( function ( ) { P . select ( P . activeIdx ) } ) : 27 === a . which && ( a . stopPropagation ( ) , qa ( ) , P . $digest ( ) ) } } ) ; f . bind ( "blur" , function ( ) { N && P . matches . length && - 1 !== P . activeIdx && ! p && ( p = ! 0 , P . $apply ( function ( ) { P . select ( P . activeIdx ) } ) ) ; p = q = ! 1 } ) ;
var la = function ( a ) { f [ 0 ] !== a . target && 3 !== a . which && 0 !== P . matches . length && ( qa ( ) , k . $$phase || P . $digest ( ) ) } ; g . bind ( "click" , la ) ; b . $on ( "$destroy" , function ( ) { g . unbind ( "click" , la ) ; ( H || R ) && Da . remove ( ) ; H && ( angular . element ( t ) . unbind ( "resize" , y ) , g . find ( "body" ) . unbind ( "scroll" , y ) ) ; M . remove ( ) } ) ; var Da = l ( M ) ( P ) ; H ? g . find ( "body" ) . append ( Da ) : ! 1 !== R ? angular . element ( g [ 0 ] . getElementById ( R ) ) . append ( Da ) : f . after ( Da ) ; this . init = function ( a , c ) { w = a ; A = c ; w . $parsers . unshift ( function ( a ) { q = ! 0 ; 0 === E || a && a . length >= E ? 0 < I ? ( ma && e . cancel ( ma ) ,
ba ( a ) ) : ca ( a ) : ( J ( b , ! 1 ) , ma && e . cancel ( ma ) , qa ( ) ) ; return O ? a : a ? void w . $setValidity ( "editable" , ! 1 ) : ( w . $setValidity ( "editable" , ! 0 ) , null ) } ) ; w . $formatters . push ( function ( a ) { var c , e , g = { } ; return O || w . $setValidity ( "editable" , ! 0 ) , X ? ( g . $model = a , X ( b , g ) ) : ( g [ W . itemName ] = a , c = W . viewMapper ( b , g ) , g [ W . itemName ] = void 0 , e = W . viewMapper ( b , g ) , c !== e ? c : a ) } ) } } ] ) . directive ( "uibTypeahead" , function ( ) { return { controller : "UibTypeaheadController" , require : [ "ngModel" , "^?ngModelOptions" , "uibTypeahead" ] , link : function ( b , f , h , l ) { l [ 2 ] . init ( l [ 0 ] ,
l [ 1 ] ) } } } ) . directive ( "uibTypeaheadPopup" , function ( ) { return { scope : { matches : "=" , query : "=" , active : "=" , position : "&" , moveInProgress : "=" , select : "&" } , replace : ! 0 , templateUrl : function ( b , f ) { return f . popupTemplateUrl || "template/typeahead/typeahead-popup.html" } , link : function ( b , f , h ) { b . templateUrl = h . templateUrl ; b . isOpen = function ( ) { return 0 < b . matches . length } ; b . isActive = function ( f ) { return b . active == f } ; b . selectActive = function ( f ) { b . active = f } ; b . selectMatch = function ( f ) { b . select ( { activeIdx : f } ) } } } } ) . directive ( "uibTypeaheadMatch" ,
[ "$templateRequest" , "$compile" , "$parse" , function ( b , f , h ) { return { scope : { index : "=" , match : "=" , query : "=" } , link : function ( l , c , a ) { a = h ( a . templateUrl ) ( l . $parent ) || "template/typeahead/typeahead-match.html" ; b ( a ) . then ( function ( a ) { f ( a . trim ( ) ) ( l , function ( a ) { c . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "uibTypeaheadHighlight" , [ "$sce" , "$injector" , "$log" , function ( b , f , h ) { var l ; return l = f . has ( "$sanitize" ) , function ( c , a ) { return ! l && /<.*>/g . test ( c ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) , c = a ? ( "" + c ) . replace ( new RegExp ( a . replace ( /([.?*+^$[\]\\(){}|-])/g ,
"\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : c , l || ( c = b . trustAsHtml ( c ) ) , c } } ] ) ;
angular . module ( "ui.bootstrap.typeahead" ) . value ( "$typeaheadSuppressWarning" , ! 1 ) . service ( "typeaheadParser" , [ "$parse" , "uibTypeaheadParser" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , l ) { return l || h . warn ( "typeaheadParser is now deprecated. Use uibTypeaheadParser instead." ) , f } ] ) . directive ( "typeahead" , [ "$compile" , "$parse" , "$q" , "$timeout" , "$document" , "$window" , "$rootScope" , "$uibPosition" , "typeaheadParser" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , l , c , a , e , g , t , k , n ) { var r = [ 9 , 13 , 27 , 38 , 40 ] ; return { require : [ "ngModel" ,
"^?ngModelOptions" ] , link : function ( y , u , w , A ) { function z ( ) { M . moveInProgress || ( M . moveInProgress = ! 0 , M . $digest ( ) ) ; ba && l . cancel ( ba ) ; ba = l ( function ( ) { M . matches . length && B ( ) ; M . moveInProgress = ! 1 } , 200 ) } function B ( ) { M . position = U ? g . offset ( u ) : g . position ( u ) ; M . position . top += u . prop ( "offsetHeight" ) } n || k . warn ( "typeahead is now deprecated. Use uib-typeahead instead." ) ; var E = A [ 0 ] , q = A [ 1 ] , p = y . $eval ( w . typeaheadMinLength ) ; p || 0 === p || ( p = 1 ) ; var I , O , J = y . $eval ( w . typeaheadWaitMs ) || 0 , G = ! 1 !== y . $eval ( w . typeaheadEditable ) , N = f ( w . typeaheadLoading ) . assign ||
angular . noop , T = f ( w . typeaheadOnSelect ) , X = ! ! angular . isDefined ( w . typeaheadSelectOnBlur ) && y . $eval ( w . typeaheadSelectOnBlur ) , H = f ( w . typeaheadNoResults ) . assign || angular . noop , R = w . typeaheadInputFormatter ? f ( w . typeaheadInputFormatter ) : void 0 , U = ! ! w . typeaheadAppendToBody && y . $eval ( w . typeaheadAppendToBody ) , ha = w . typeaheadAppendToElementId || ! 1 , K = ! 1 !== y . $eval ( w . typeaheadFocusFirst ) , S = ! ! w . typeaheadSelectOnExact && y . $eval ( w . typeaheadSelectOnExact ) , ka = f ( w . ngModel ) , W = f ( w . ngModel + "($$$p)" ) , P = function ( a , b ) { return angular . isFunction ( ka ( y ) ) &&
q && q . $options && q . $options . getterSetter ? W ( a , { $$$p : b } ) : ka . assign ( a , b ) } , da = t . parse ( w . typeahead ) , M = y . $new ( ) ; A = y . $on ( "$destroy" , function ( ) { M . $destroy ( ) } ) ; M . $on ( "$destroy" , A ) ; var qa = "typeahead-" + M . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; u . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : qa } ) ; var ca = angular . element ( "<div typeahead-popup></div>" ) ; ca . attr ( { id : qa , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" , "move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ;
angular . isDefined ( w . typeaheadTemplateUrl ) && ca . attr ( "template-url" , w . typeaheadTemplateUrl ) ; angular . isDefined ( w . typeaheadPopupTemplateUrl ) && ca . attr ( "popup-template-url" , w . typeaheadPopupTemplateUrl ) ; var V = function ( ) { M . matches = [ ] ; M . activeIdx = - 1 ; u . attr ( "aria-expanded" , ! 1 ) } ; M . $watch ( "activeIdx" , function ( a ) { 0 > a ? u . removeAttr ( "aria-activedescendant" ) : u . attr ( "aria-activedescendant" , qa + "-option-" + a ) } ) ; var ma = function ( a ) { var b = { $viewValue : a } ; N ( y , ! 0 ) ; H ( y , ! 1 ) ; h . when ( da . source ( y , b ) ) . then ( function ( c ) { var e = a === E . $viewValue ;
if ( e && I ) if ( c && 0 < c . length ) { M . activeIdx = K ? 0 : - 1 ; H ( y , ! 1 ) ; for ( var g = M . matches . length = 0 ; g < c . length ; g ++ ) b [ da . itemName ] = c [ g ] , M . matches . push ( { id : qa + "-option-" + g , label : da . viewMapper ( M , b ) , model : c [ g ] } ) ; M . query = a ; B ( ) ; u . attr ( "aria-expanded" , ! 0 ) ; S && 1 === M . matches . length && 0 < M . matches . length && a && a . toUpperCase ( ) === M . matches [ 0 ] . label . toUpperCase ( ) && M . select ( 0 ) } else V ( ) , H ( y , ! 0 ) ; e && N ( y , ! 1 ) } , function ( ) { V ( ) ; N ( y , ! 1 ) ; H ( y , ! 0 ) } ) } ; U && ( angular . element ( a ) . bind ( "resize" , z ) , c . find ( "body" ) . bind ( "scroll" , z ) ) ; var ba ; M . moveInProgress =
! 1 ; V ( ) ; M . query = void 0 ; var la , Da = function ( a ) { la = l ( function ( ) { ma ( a ) } , J ) } ; E . $parsers . unshift ( function ( a ) { I = ! 0 ; 0 === p || a && a . length >= p ? 0 < J ? ( la && l . cancel ( la ) , Da ( a ) ) : ma ( a ) : ( N ( y , ! 1 ) , la && l . cancel ( la ) , V ( ) ) ; return G ? a : a ? void E . $setValidity ( "editable" , ! 1 ) : ( E . $setValidity ( "editable" , ! 0 ) , null ) } ) ; E . $formatters . push ( function ( a ) { var b , c , e = { } ; return G || E . $setValidity ( "editable" , ! 0 ) , R ? ( e . $model = a , R ( y , e ) ) : ( e [ da . itemName ] = a , b = da . viewMapper ( y , e ) , e [ da . itemName ] = void 0 , c = da . viewMapper ( y , e ) , b !== c ? b : a ) } ) ; M . select = function ( a ) { var b ,
c = { } ; O = ! 0 ; c [ da . itemName ] = b = M . matches [ a ] . model ; a = da . modelMapper ( y , c ) ; P ( y , a ) ; E . $setValidity ( "editable" , ! 0 ) ; E . $setValidity ( "parse" , ! 0 ) ; T ( y , { $item : b , $model : a , $label : da . viewMapper ( y , c ) } ) ; V ( ) ; ! 1 !== M . $eval ( w . typeaheadFocusOnSelect ) && l ( function ( ) { u [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; u . bind ( "keydown" , function ( a ) { if ( 0 !== M . matches . length && - 1 !== r . indexOf ( a . which ) ) { if ( - 1 === M . activeIdx && ( 9 === a . which || 13 === a . which ) ) return V ( ) , void M . $digest ( ) ; a . preventDefault ( ) ; 40 === a . which ? ( M . activeIdx = ( M . activeIdx + 1 ) % M . matches . length , M . $digest ( ) ) :
38 === a . which ? ( M . activeIdx = ( 0 < M . activeIdx ? M . activeIdx : M . matches . length ) - 1 , M . $digest ( ) ) : 13 === a . which || 9 === a . which ? M . $apply ( function ( ) { M . select ( M . activeIdx ) } ) : 27 === a . which && ( a . stopPropagation ( ) , V ( ) , M . $digest ( ) ) } } ) ; u . bind ( "blur" , function ( ) { X && M . matches . length && - 1 !== M . activeIdx && ! O && ( O = ! 0 , M . $apply ( function ( ) { M . select ( M . activeIdx ) } ) ) ; O = I = ! 1 } ) ; var sa = function ( a ) { u [ 0 ] !== a . target && 3 !== a . which && 0 !== M . matches . length && ( V ( ) , e . $$phase || M . $digest ( ) ) } ; c . bind ( "click" , sa ) ; y . $on ( "$destroy" , function ( ) { c . unbind ( "click" ,
sa ) ; ( U || ha ) && ga . remove ( ) ; U && ( angular . element ( a ) . unbind ( "resize" , z ) , c . find ( "body" ) . unbind ( "scroll" , z ) ) ; ca . remove ( ) } ) ; var ga = b ( ca ) ( M ) ; U ? c . find ( "body" ) . append ( ga ) : ! 1 !== ha ? angular . element ( c [ 0 ] . getElementById ( ha ) ) . append ( ga ) : u . after ( ga ) } } } ] ) . directive ( "typeaheadPopup" , [ "$typeaheadSuppressWarning" , "$log" , function ( b , f ) { return { scope : { matches : "=" , query : "=" , active : "=" , position : "&" , moveInProgress : "=" , select : "&" } , replace : ! 0 , templateUrl : function ( b , f ) { return f . popupTemplateUrl || "template/typeahead/typeahead-popup.html" } ,
link : function ( h , l , c ) { b || f . warn ( "typeahead-popup is now deprecated. Use uib-typeahead-popup instead." ) ; h . templateUrl = c . templateUrl ; h . isOpen = function ( ) { return 0 < h . matches . length } ; h . isActive = function ( a ) { return h . active == a } ; h . selectActive = function ( a ) { h . active = a } ; h . selectMatch = function ( a ) { h . select ( { activeIdx : a } ) } } } } ] ) . directive ( "typeaheadMatch" , [ "$templateRequest" , "$compile" , "$parse" , "$typeaheadSuppressWarning" , "$log" , function ( b , f , h , l , c ) { return { restrict : "EA" , scope : { index : "=" , match : "=" , query : "=" } , link : function ( a ,
e , g ) { l || c . warn ( "typeahead-match is now deprecated. Use uib-typeahead-match instead." ) ; g = h ( g . templateUrl ) ( a . $parent ) || "template/typeahead/typeahead-match.html" ; b ( g ) . then ( function ( b ) { f ( b . trim ( ) ) ( a , function ( a ) { e . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "typeaheadHighlight" , [ "$sce" , "$injector" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , l ) { var c ; return c = f . has ( "$sanitize" ) , function ( a , e ) { return l || h . warn ( "typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead." ) , ! c && /<.*>/g . test ( a ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) ,
a = e ? ( "" + a ) . replace ( new RegExp ( e . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : a , c || ( a = b . trustAsHtml ( a ) ) , a } } ] ) ; angular . module ( "template/accordion/accordion-group.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/accordion/accordion-group.html" , '<div class="panel {{panelClass || \'panel-default\'}}">\n <div class="panel-heading" ng-keypress="toggleOpen($event)">\n <h4 class="panel-title">\n <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n </h4>\n </div>\n <div class="panel-collapse collapse" uib-collapse="!isOpen">\n\t <div class="panel-body" ng-transclude></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/accordion/accordion.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/accordion/accordion.html" , '<div class="panel-group" ng-transclude></div>' ) } ] ) ; angular . module ( "template/alert/alert.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/alert/alert.html" , '<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n <button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n <span aria-hidden="true">×</span>\n <span class="sr-only">Close</span>\n </button>\n <div ng-transclude></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/carousel/carousel.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/carousel/carousel.html" , '<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n <div class="carousel-inner" ng-transclude></div>\n <a role="button" href class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1">\n <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n <span class="sr-only">previous</span>\n </a>\n <a role="button" href class="right carousel-control" ng-click="next()" ng-show="slides.length > 1">\n <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n <span class="sr-only">next</span>\n </a>\n <ol class="carousel-indicators" ng-show="slides.length > 1">\n <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n </li>\n </ol>\n</div>' ) } ] ) ;
angular . module ( "template/carousel/slide.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/carousel/slide.html" , '<div ng-class="{\n \'active\': active\n }" class="item text-center" ng-transclude></div>\n' ) } ] ) ; angular . module ( "template/datepicker/datepicker.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/datepicker.html" , '<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>\n <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>\n <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>\n</div>' ) } ] ) ;
angular . module ( "template/datepicker/day.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/day.html" , '<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n <tr>\n <th ng-if="showWeeks" class="text-center"></th>\n <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows track by $index">\n <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/datepicker/month.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/month.html" , '<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/datepicker/popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/popup.html" , '<ul class="dropdown-menu" dropdown-nested ng-if="isOpen" style="display: block" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n\t<li ng-transclude></li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group pull-left">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}</button>\n\t\t</span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}</button>\n\t</li>\n</ul>\n' ) } ] ) ;
angular . module ( "template/datepicker/year.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/year.html" , '<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="3"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/modal/backdrop.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/modal/backdrop.html" , '<div uib-modal-animation-class="fade"\n modal-in-class="in"\n ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n' ) } ] ) ; angular . module ( "template/modal/window.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/modal/window.html" , '<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n uib-modal-animation-class="fade"\n modal-in-class="in"\n ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}">\n <div class="modal-dialog" ng-class="size ? \'modal-\' + size : \'\'"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/pagination/pager.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/pagination/pager.html" , '<ul class="pager">\n <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n</ul>\n' ) } ] ) ;
angular . module ( "template/pagination/pagination.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/pagination/pagination.html" , '<ul class="pagination">\n <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}</a></li>\n <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}</a></li>\n <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}</a></li>\n</ul>\n' ) } ] ) ;
angular . module ( "template/tooltip/tooltip-html-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-html-popup.html" , '<div\n tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n</div>\n' ) } ] ) ; angular . module ( "template/tooltip/tooltip-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-popup.html" , '<div\n tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/tooltip/tooltip-template-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-template-popup.html" , '<div\n tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner"\n uib-tooltip-template-transclude="contentExp()"\n tooltip-template-transclude-scope="originScope()"></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/popover/popover-html.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover-html.html" , '<div tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="arrow"></div>\n\n <div class="popover-inner">\n <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n <div class="popover-content" ng-bind-html="contentExp()"></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/popover/popover-template.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover-template.html" , '<div tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="arrow"></div>\n\n <div class="popover-inner">\n <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n <div class="popover-content"\n uib-tooltip-template-transclude="contentExp()"\n tooltip-template-transclude-scope="originScope()"></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/popover/popover.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover.html" , '<div tooltip-animation-class="fade"\n uib-tooltip-classes\n ng-class="{ in: isOpen() }">\n <div class="arrow"></div>\n\n <div class="popover-inner">\n <h3 class="popover-title" ng-bind="title" ng-if="title"></h3>\n <div class="popover-content" ng-bind="content"></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/progressbar/bar.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/progressbar/bar.html" , '<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" style="min-width: 0;" ng-transclude></div>\n' ) } ] ) ;
angular . module ( "template/progressbar/progress.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/progressbar/progress.html" , '<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>' ) } ] ) ; angular . module ( "template/progressbar/progressbar.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/progressbar/progressbar.html" , '<div class="progress">\n <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" style="min-width: 0;" ng-transclude></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/rating/rating.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/rating/rating.html" , '<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}" aria-valuetext="{{r.title}}"></i>\n</span>\n' ) } ] ) ;
angular . module ( "template/tabs/tab.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tabs/tab.html" , '<li ng-class="{active: active, disabled: disabled}">\n <a href ng-click="select()" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n' ) } ] ) ; angular . module ( "template/tabs/tabset.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tabs/tabset.html" , '<div>\n <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n <div class="tab-content">\n <div class="tab-pane" \n ng-repeat="tab in tabs" \n ng-class="{active: tab.active}"\n uib-tab-content-transclude="tab">\n </div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/timepicker/timepicker.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/timepicker/timepicker.html" , '<table>\n <tbody>\n <tr class="text-center" ng-show="::showSpinners">\n <td><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td> </td>\n <td><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n <tr>\n <td class="form-group" ng-class="{\'has-error\': invalidHours}">\n <input style="width:50px;" type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n </td>\n <td>:</td>\n <td class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n <input style="width:50px;" type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n </td>\n <td ng-show="showMeridian"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n </tr>\n <tr class="text-center" ng-show="::showSpinners">\n <td><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td> </td>\n <td><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/typeahead/typeahead-match.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/typeahead/typeahead-match.html" , '<a href tabindex="-1" ng-bind-html="match.label | uibTypeaheadHighlight:query"></a>\n' ) } ] ) ; angular . module ( "template/typeahead/typeahead-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/typeahead/typeahead-popup.html" , '<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{::match.id}}">\n <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n </li>\n</ul>\n' ) } ] ) ;
2017-04-11 07:10:36 +00:00
! angular . $$csp ( ) && angular . element ( document ) . find ( "head" ) . prepend ( '<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>' ) ;
2017-09-20 18:29:17 +00:00
! function ( b , f ) { "function" == typeof define && define . amd ? define ( [ ] , function ( ) { return f ( ) } ) : "object" == typeof exports ? module . exports = f ( ) : f ( ) } ( this , function ( ) { function b ( a ) { var b = a . storageKey ( ) , c = a . storage ( ) , e = function ( ) { var e = a . preferredLanguage ( ) ; angular . isString ( e ) ? a . use ( e ) : c . put ( b , a . use ( ) ) } ; e . displayName = "fallbackFromIncorrectStorageValue" ; c ? c . get ( b ) ? a . use ( c . get ( b ) ) [ "catch" ] ( e ) : e ( ) : angular . isString ( a . preferredLanguage ( ) ) && a . use ( a . preferredLanguage ( ) ) } function f ( a , b , c , e ) { var g , f , k , h , l , n , t , u , r , y , G , N , T ,
X , H , R , U = { } , ha = [ ] , K = a , S = [ ] , ka = "translate-cloak" , W = ! 1 , P = ! 1 , da = "." , M = ! 1 , qa = ! 1 , ca = 0 , V = ! 0 , ma = "default" , ba = { "default" : function ( a ) { return ( a || "" ) . split ( "-" ) . join ( "_" ) } , java : function ( a ) { a = ( a || "" ) . split ( "-" ) . join ( "_" ) ; var b = a . split ( "_" ) ; return 1 < b . length ? b [ 0 ] . toLowerCase ( ) + "_" + b [ 1 ] . toUpperCase ( ) : a } , bcp47 : function ( a ) { a = ( a || "" ) . split ( "_" ) . join ( "-" ) ; var b = a . split ( "-" ) ; return 1 < b . length ? b [ 0 ] . toLowerCase ( ) + "-" + b [ 1 ] . toUpperCase ( ) : a } , "iso639-1" : function ( a ) { return ( a || "" ) . split ( "_" ) . join ( "-" ) . split ( "-" ) [ 0 ] . toLowerCase ( ) } } ,
la = function ( ) { if ( angular . isFunction ( e . getLocale ) ) return e . getLocale ( ) ; var a , c , g = b . $get ( ) . navigator , f = [ "language" , "browserLanguage" , "systemLanguage" , "userLanguage" ] ; if ( angular . isArray ( g . languages ) ) for ( a = 0 ; a < g . languages . length ; a ++ ) if ( c = g . languages [ a ] , c && c . length ) return c ; for ( a = 0 ; a < f . length ; a ++ ) if ( c = g [ f [ a ] ] , c && c . length ) return c ; return null } ; la . displayName = "angular-translate/service: getFirstBrowserLanguage" ; var Da = function ( ) { var a = la ( ) || "" ; return ba [ ma ] && ( a = ba [ ma ] ( a ) ) , a } ; Da . displayName = "angular-translate/service: getLocale" ;
var sa = function ( a , b ) { for ( var c = 0 , e = a . length ; c < e ; c ++ ) if ( a [ c ] === b ) return c ; return - 1 } , ga = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } , v = function ( a ) { if ( a ) { for ( var b = [ ] , c = angular . lowercase ( a ) , e = 0 , g = ha . length ; e < g ; e ++ ) b . push ( angular . lowercase ( ha [ e ] ) ) ; if ( - 1 < sa ( b , c ) ) return a ; if ( f ) { var k , h ; for ( h in f ) if ( f . hasOwnProperty ( h ) && ( c = ! 1 , e = Object . prototype . hasOwnProperty . call ( f , h ) && angular . lowercase ( h ) === angular . lowercase ( a ) , "*" === h . slice ( - 1 ) && ( c = h . slice ( 0 , - 1 ) === a . slice ( 0 , h . length - 1 ) ) , ( e || c ) && ( k = f [ h ] ,
- 1 < sa ( b , angular . lowercase ( k ) ) ) ) ) return k } a = a . split ( "_" ) ; return 1 < a . length && - 1 < sa ( b , angular . lowercase ( a [ 0 ] ) ) ? a [ 0 ] : void 0 } } , oa = function ( a , b ) { if ( ! a && ! b ) return U ; if ( a && ! b ) { if ( angular . isString ( a ) ) return U [ a ] } else angular . isObject ( U [ a ] ) || ( U [ a ] = { } ) , angular . extend ( U [ a ] , Fa ( b ) ) ; return this } ; this . translations = oa ; this . cloakClassName = function ( a ) { return a ? ( ka = a , this ) : ka } ; this . nestedObjectDelimeter = function ( a ) { return a ? ( da = a , this ) : da } ; var Fa = function ( a , b , c , e ) { var g , f , k , h ; b || ( b = [ ] ) ; c || ( c = { } ) ; for ( g in a ) Object . prototype . hasOwnProperty . call ( a ,
g ) && ( h = a [ g ] , angular . isObject ( h ) ? Fa ( h , b . concat ( g ) , c , g ) : ( f = b . length ? "" + b . join ( da ) + da + g : g , b . length && g === e && ( k = "" + b . join ( da ) , c [ k ] = "@:" + f ) , c [ f ] = h ) ) ; return c } ; Fa . displayName = "flatObject" ; this . addInterpolation = function ( a ) { return S . push ( a ) , this } ; this . useMessageFormatInterpolation = function ( ) { return this . useInterpolation ( "$translateMessageFormatInterpolation" ) } ; this . useInterpolation = function ( a ) { return y = a , this } ; this . useSanitizeValueStrategy = function ( a ) { return c . useStrategy ( a ) , this } ; this . preferredLanguage = function ( a ) { return a ?
( a && ( g = a ) , this ) : g } ; this . translationNotFoundIndicator = function ( a ) { return this . translationNotFoundIndicatorLeft ( a ) , this . translationNotFoundIndicatorRight ( a ) , this } ; this . translationNotFoundIndicatorLeft = function ( a ) { return a ? ( T = a , this ) : T } ; this . translationNotFoundIndicatorRight = function ( a ) { return a ? ( X = a , this ) : X } ; this . fallbackLanguage = function ( a ) { return Z ( a ) , this } ; var Z = function ( a ) { return a ? ( angular . isString ( a ) ? ( h = ! 0 , k = [ a ] ) : angular . isArray ( a ) && ( h = ! 1 , k = a ) , angular . isString ( g ) && 0 > sa ( k , g ) && k . push ( g ) , this ) : h ?
k [ 0 ] : k } ; this . use = function ( a ) { if ( a ) { if ( ! U [ a ] && ! G ) throw Error ( "$translateProvider couldn't find translationTable for langKey: '" + a + "'" ) ; return l = a , this } return l } ; this . resolveClientLocale = function ( ) { return Da ( ) } ; var Xa = function ( a ) { return a ? ( K = a , this ) : u ? u + K : K } ; this . storageKey = Xa ; this . useUrlLoader = function ( a , b ) { return this . useLoader ( "$translateUrlLoader" , angular . extend ( { url : a } , b ) ) } ; this . useStaticFilesLoader = function ( a ) { return this . useLoader ( "$translateStaticFilesLoader" , a ) } ; this . useLoader = function ( a , b ) { return G =
a , N = b || { } , this } ; this . useLocalStorage = function ( ) { return this . useStorage ( "$translateLocalStorage" ) } ; this . useCookieStorage = function ( ) { return this . useStorage ( "$translateCookieStorage" ) } ; this . useStorage = function ( a ) { return t = a , this } ; this . storagePrefix = function ( a ) { return a ? ( u = a , this ) : a } ; this . useMissingTranslationHandlerLog = function ( ) { return this . useMissingTranslationHandler ( "$translateMissingTranslationHandlerLog" ) } ; this . useMissingTranslationHandler = function ( a ) { return r = a , this } ; this . usePostCompiling = function ( a ) { return W =
! ! a , this } ; this . forceAsyncReload = function ( a ) { return P = ! ! a , this } ; this . uniformLanguageTag = function ( a ) { return a ? angular . isString ( a ) && ( a = { standard : a } ) : a = { } , ma = a . standard , this } ; this . determinePreferredLanguage = function ( a ) { a = a && angular . isFunction ( a ) ? a ( ) : Da ( ) ; return g = ha . length ? v ( a ) || a : a , this } ; this . registerAvailableLanguageKeys = function ( a , b ) { return a ? ( ha = a , b && ( f = b ) , this ) : ha } ; this . useLoaderCache = function ( a ) { return ! 1 === a ? H = void 0 : ! 0 === a ? H = ! 0 : "undefined" == typeof a ? H = "$translationCache" : a && ( H = a ) , this } ; this . directivePriority =
function ( a ) { return void 0 === a ? ca : ( ca = a , this ) } ; this . statefulFilter = function ( a ) { return void 0 === a ? V : ( V = a , this ) } ; this . postProcess = function ( a ) { return R = a ? a : void 0 , this } ; this . keepContent = function ( a ) { return qa = ! ! a , this } ; this . $get = [ "$log" , "$injector" , "$rootScope" , "$q" , function ( a , b , c , e ) { var f , u , q , p = b . get ( y || "$translateDefaultInterpolation" ) , w = ! 1 , z = { } , A = { } , B = function ( a , b , c , h , n ) { ! l && g && ( l = g ) ; var r = n && n !== l ? v ( n ) || n : l ; if ( n && ic ( n ) , angular . isArray ( a ) ) return function ( a ) { for ( var g = { } , f = [ ] , k = function ( a ) { var f = e . defer ( ) ,
k = function ( b ) { g [ a ] = b ; f . resolve ( [ a , b ] ) } ; return B ( a , b , c , h , n ) . then ( k , k ) , f . promise } , l = 0 , v = a . length ; l < v ; l ++ ) f . push ( k ( a [ l ] ) ) ; return e . all ( f ) . then ( function ( ) { return g } ) } ( a ) ; var q = e . defer ( ) ; a && ( a = ga . apply ( a ) ) ; var p = function ( ) { var a = g ? A [ g ] : A [ r ] ; if ( u = 0 , t && ! a ) { var b = f . get ( K ) ; if ( a = A [ b ] , k && k . length ) u = 0 === sa ( k , b ) ? 1 : 0 , 0 > sa ( k , g ) && k . push ( g ) } return a } ( ) ; if ( p ) { var y = function ( ) { n || ( r = l ) ; la ( a , b , c , h , r ) . then ( q . resolve , q . reject ) } ; y . displayName = "promiseResolved" ; p [ "finally" ] ( y ) } else la ( a , b , c , h , r ) . then ( q . resolve , q . reject ) ;
return q . promise } , E = function ( a ) { return T && ( a = [ T , a ] . join ( " " ) ) , X && ( a = [ a , X ] . join ( " " ) ) , a } , aa = function ( a ) { l = a ; t && f . put ( B . storageKey ( ) , l ) ; c . $emit ( "$translateChangeSuccess" , { language : a } ) ; p . setLocale ( l ) ; var b = function ( a , b ) { z [ b ] . setLocale ( l ) } ; b . displayName = "eachInterpolatorLocaleSetter" ; angular . forEach ( z , b ) ; c . $emit ( "$translateChangeEnd" , { language : a } ) } , za = function ( a ) { if ( ! a ) throw "No language key specified for loading." ; var g = e . defer ( ) ; c . $emit ( "$translateLoadingStart" , { language : a } ) ; w = ! 0 ; var f = H ; "string" == typeof f &&
( f = b . get ( f ) ) ; var f = angular . extend ( { } , N , { key : a , $http : angular . extend ( { } , { cache : f } , N . $http ) } ) , k = function ( b ) { var e = { } ; c . $emit ( "$translateLoadingSuccess" , { language : a } ) ; angular . isArray ( b ) ? angular . forEach ( b , function ( a ) { angular . extend ( e , Fa ( a ) ) } ) : angular . extend ( e , Fa ( b ) ) ; w = ! 1 ; g . resolve ( { key : a , table : e } ) ; c . $emit ( "$translateLoadingEnd" , { language : a } ) } ; k . displayName = "onLoaderSuccess" ; var h = function ( a ) { c . $emit ( "$translateLoadingError" , { language : a } ) ; g . reject ( a ) ; c . $emit ( "$translateLoadingEnd" , { language : a } ) } ; return h . displayName =
"onLoaderError" , b . get ( G ) ( f ) . then ( k , h ) , g . promise } ; if ( t && ( f = b . get ( t ) , ! f . get || ! f . put ) ) throw Error ( "Couldn't use storage '" + t + "', missing get() or put() method!" ) ; S . length && ( a = function ( a ) { a = b . get ( a ) ; a . setLocale ( g || l ) ; z [ a . getInterpolationIdentifier ( ) ] = a } , a . displayName = "interpolationFactoryAdder" , angular . forEach ( S , a ) ) ; var I = function ( a ) { var b = e . defer ( ) ; if ( Object . prototype . hasOwnProperty . call ( U , a ) ) b . resolve ( U [ a ] ) ; else if ( A [ a ] ) { var c = function ( a ) { oa ( a . key , a . table ) ; b . resolve ( a . table ) } ; c . displayName = "translationTableResolver" ;
A [ a ] . then ( c , b . reject ) } else b . reject ( ) ; return b . promise } , J = function ( a , b , c , g ) { var f = e . defer ( ) , k = function ( e ) { if ( Object . prototype . hasOwnProperty . call ( e , b ) ) { g . setLocale ( a ) ; var k = e [ b ] ; "@:" === k . substr ( 0 , 2 ) ? J ( a , k . substr ( 2 ) , c , g ) . then ( f . resolve , f . reject ) : ( k = g . interpolate ( e [ b ] , c ) , k = Va ( b , e [ b ] , k , c , a ) , f . resolve ( k ) ) ; g . setLocale ( l ) } else f . reject ( ) } ; return k . displayName = "fallbackTranslationResolver" , I ( a ) . then ( k , f . reject ) , f . promise } , O = function ( a , b , c , e ) { var g , f = U [ a ] ; if ( f && Object . prototype . hasOwnProperty . call ( f , b ) ) { if ( e . setLocale ( a ) ,
g = e . interpolate ( f [ b ] , c ) , g = Va ( b , f [ b ] , g , c , a ) , "@:" === g . substr ( 0 , 2 ) ) return O ( a , g . substr ( 2 ) , c , e ) ; e . setLocale ( l ) } return g } , Sa = function ( a , c , e ) { return r ? ( c = b . get ( r ) ( a , l , c , e ) , void 0 !== c ? c : a ) : a } , ma = function ( a , b , c , g , f ) { var h = e . defer ( ) ; a < k . length ? J ( k [ a ] , b , c , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( ) { return ma ( a + 1 , b , c , g , f ) . then ( h . resolve , h . reject ) } ) : f ? h . resolve ( f ) : r ? h . resolve ( Sa ( b , c ) ) : h . reject ( Sa ( b , c ) ) ; return h . promise } , ba = function ( a , b , c , e ) { var g ; a < k . length && ( ( g = O ( k [ a ] , b , c , e ) ) || ( g = ba ( a + 1 , b , c , e ) ) ) ; return g } ,
la = function ( a , b , c , g , f ) { var h = e . defer ( ) , l = f ? U [ f ] : U , n = c ? z [ c ] : p ; if ( l && Object . prototype . hasOwnProperty . call ( l , a ) ) l = l [ a ] , "@:" === l . substr ( 0 , 2 ) ? B ( l . substr ( 2 ) , b , c , g , f ) . then ( h . resolve , h . reject ) : ( c = n . interpolate ( l , b ) , c = Va ( a , l , c , b , f ) , h . resolve ( c ) ) ; else { var v ; r && ! w && ( v = Sa ( a , b , g ) ) ; f && k && k . length ? ma ( 0 < q ? q : u , a , b , n , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( a ) { h . reject ( E ( a ) ) } ) : r && ! w && v ? g ? h . resolve ( g ) : h . resolve ( v ) : g ? h . resolve ( g ) : h . reject ( E ( a ) ) } return h . promise } , Ia = function ( a , b , c , e ) { var g , f = e ? U [ e ] : U , h = p ; if ( z && Object . prototype . hasOwnProperty . call ( z ,
c ) && ( h = z [ c ] ) , f && Object . prototype . hasOwnProperty . call ( f , a ) ) f = f [ a ] , "@:" === f . substr ( 0 , 2 ) ? g = Ia ( f . substr ( 2 ) , b , c , e ) : ( g = h . interpolate ( f , b ) , g = Va ( a , f , g , b , e ) ) ; else { var l ; r && ! w && ( l = Sa ( a , b ) ) ; e && k && k . length ? ( u = 0 , g = ba ( 0 < q ? q : u , a , b , h ) ) : g = r && ! w && l ? l : E ( a ) } return g } , Va = function ( a , c , e , g , f ) { var k = R ; return k && ( "string" == typeof k && ( k = b . get ( k ) ) , k ) ? k ( a , c , e , g , f ) : e } , ic = function ( a ) { U [ a ] || ! G || A [ a ] || ( A [ a ] = za ( a ) . then ( function ( a ) { return oa ( a . key , a . table ) , a } ) ) } ; B . preferredLanguage = function ( a ) { return a && a && ( g = a ) , g } ; B . cloakClassName =
function ( ) { return ka } ; B . nestedObjectDelimeter = function ( ) { return da } ; B . fallbackLanguage = function ( a ) { if ( void 0 !== a && null !== a ) { if ( Z ( a ) , G && k && k . length ) { a = 0 ; for ( var b = k . length ; a < b ; a ++ ) A [ k [ a ] ] || ( A [ k [ a ] ] = za ( k [ a ] ) ) } B . use ( B . use ( ) ) } return h ? k [ 0 ] : k } ; B . useFallbackLanguage = function ( a ) { void 0 !== a && null !== a && ( a ? ( a = sa ( k , a ) , - 1 < a && ( q = a ) ) : q = 0 ) } ; B . proposedLanguage = function ( ) { return n } ; B . storage = function ( ) { return f } ; B . negotiateLocale = v ; B . use = function ( a ) { if ( ! a ) return l ; var b = e . defer ( ) ; c . $emit ( "$translateChangeStart" , { language : a } ) ;
var g = v ( a ) ; return 0 < ha . length && ! g ? e . reject ( a ) : ( g && ( a = g ) , n = a , ! P && U [ a ] || ! G || A [ a ] ? A [ a ] ? A [ a ] . then ( function ( a ) { return n === a . key && aa ( a . key ) , b . resolve ( a . key ) , a } , function ( a ) { return ! l && k && 0 < k . length ? B . use ( k [ 0 ] ) . then ( b . resolve , b . reject ) : b . reject ( a ) } ) : ( b . resolve ( a ) , aa ( a ) ) : ( A [ a ] = za ( a ) . then ( function ( c ) { return oa ( c . key , c . table ) , b . resolve ( c . key ) , n === a && aa ( c . key ) , c } , function ( a ) { return c . $emit ( "$translateChangeError" , { language : a } ) , b . reject ( a ) , c . $emit ( "$translateChangeEnd" , { language : a } ) , e . reject ( a ) } ) , A [ a ] [ "finally" ] ( function ( ) { var b =
a ; n === b && ( n = void 0 ) ; A [ b ] = void 0 } ) ) , b . promise ) } ; B . resolveClientLocale = function ( ) { return Da ( ) } ; B . storageKey = function ( ) { return Xa ( ) } ; B . isPostCompilingEnabled = function ( ) { return W } ; B . isForceAsyncReloadEnabled = function ( ) { return P } ; B . isKeepContent = function ( ) { return qa } ; B . refresh = function ( a ) { function b ( ) { f . resolve ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } function g ( ) { f . reject ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } if ( ! G ) throw Error ( "Couldn't refresh translation table, no loader registered!" ) ;
var f = e . defer ( ) ; if ( c . $emit ( "$translateRefreshStart" , { language : a } ) , a ) if ( U [ a ] ) { var h = function ( c ) { return oa ( c . key , c . table ) , a === l && aa ( l ) , b ( ) , c } ; h . displayName = "refreshPostProcessor" ; za ( a ) . then ( h , g ) } else g ( ) ; else { var h = [ ] , n = { } ; if ( k && k . length ) for ( var v = 0 , t = k . length ; v < t ; v ++ ) h . push ( za ( k [ v ] ) ) , n [ k [ v ] ] = ! 0 ; l && ! n [ l ] && h . push ( za ( l ) ) ; n = function ( a ) { U = { } ; angular . forEach ( a , function ( a ) { oa ( a . key , a . table ) } ) ; l && aa ( l ) ; b ( ) } ; n . displayName = "refreshPostProcessor" ; e . all ( h ) . then ( n , g ) } return f . promise } ; B . instant = function ( a , b , c ,
e ) { var f = e && e !== l ? v ( e ) || e : l ; if ( null === a || angular . isUndefined ( a ) ) return a ; if ( e && ic ( e ) , angular . isArray ( a ) ) { for ( var f = { } , h = 0 , n = a . length ; h < n ; h ++ ) f [ a [ h ] ] = B . instant ( a [ h ] , b , c , e ) ; return f } if ( angular . isString ( a ) && 1 > a . length ) return a ; a && ( a = ga . apply ( a ) ) ; e = [ ] ; g && e . push ( g ) ; f && e . push ( f ) ; k && k . length && ( e = e . concat ( k ) ) ; for ( var n = 0 , t = e . length ; n < t ; n ++ ) { var u = e [ n ] ; if ( U [ u ] && "undefined" != typeof U [ u ] [ a ] && ( h = Ia ( a , b , c , f ) ) , "undefined" != typeof h ) break } return h || "" === h || ( T || X ? h = E ( a ) : ( h = p . interpolate ( a , b ) , r && ! w && ( h = Sa ( a , b ) ) ) ) ,
h } ; B . versionInfo = function ( ) { return "2.11.1" } ; B . loaderCache = function ( ) { return H } ; B . directivePriority = function ( ) { return ca } ; B . statefulFilter = function ( ) { return V } ; B . isReady = function ( ) { return M } ; var ua = e . defer ( ) ; ua . promise . then ( function ( ) { M = ! 0 } ) ; B . onReady = function ( a ) { var b = e . defer ( ) ; return angular . isFunction ( a ) && b . promise . then ( a ) , M ? b . resolve ( ) : ua . promise . then ( b . resolve ) , b . promise } ; B . getAvailableLanguageKeys = function ( ) { return 0 < ha . length ? ha : null } ; var Ic = c . $on ( "$translateReady" , function ( ) { ua . resolve ( ) ; Ic ( ) ;
Ic = null } ) , Lb = c . $on ( "$translateChangeEnd" , function ( ) { ua . resolve ( ) ; Lb ( ) ; Lb = null } ) ; if ( G ) { if ( angular . equals ( U , { } ) && B . use ( ) && B . use ( B . use ( ) ) , k && k . length ) { a = function ( a ) { return oa ( a . key , a . table ) , c . $emit ( "$translateChangeEnd" , { language : a . key } ) , a } ; for ( var rc = 0 , Jc = k . length ; rc < Jc ; rc ++ ) { var Wb = k [ rc ] ; ! P && U [ Wb ] || ( A [ Wb ] = za ( Wb ) . then ( a ) ) } } } else c . $emit ( "$translateReady" , { language : B . use ( ) } ) ; return B } ] } function h ( a , b ) { var c = { } ; return c . setLocale = function ( a ) { } , c . getInterpolationIdentifier = function ( ) { return "default" } ,
c . useSanitizeValueStrategy = function ( a ) { return b . useStrategy ( a ) , this } , c . interpolate = function ( c , e ) { e = e || { } ; e = b . sanitize ( e , "params" ) ; var g ; return angular . isNumber ( c ) ? g = "" + c : angular . isString ( c ) ? ( g = a ( c ) ( e ) , g = b . sanitize ( g , "text" ) ) : g = "" , g } , c } function l ( a , b , e , g , f , k ) { var h = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } ; return { restrict : "AE" , scope : ! 0 , priority : a . directivePriority ( ) , compile : function ( b , l ) { var n = l . translateValues ? l . translateValues : void 0 , t = l . translateInterpolation ? l . translateInterpolation :
void 0 , u = b [ 0 ] . outerHTML . match ( /translate-value-+/i ) , r = "^(.*)(" + e . startSymbol ( ) + ".*" + e . endSymbol ( ) + ")(.*)" , y = "^(.*)" + e . startSymbol ( ) + "(.*)" + e . endSymbol ( ) + "(.*)" ; return function ( b , q , p ) { b . interpolateParams = { } ; b . preText = "" ; b . postText = "" ; b . translateNamespace = c ( b ) ; var w = { } , z = function ( a ) { if ( angular . isFunction ( z . _unwatchOld ) && ( z . _unwatchOld ( ) , z . _unwatchOld = void 0 ) , angular . equals ( a , "" ) || ! angular . isDefined ( a ) ) { a = h . apply ( q . text ( ) ) ; var c = a . match ( r ) ; angular . isArray ( c ) ? ( b . preText = c [ 1 ] , b . postText = c [ 3 ] , w . translate =
e ( c [ 2 ] ) ( b . $parent ) , a = a . match ( y ) , angular . isArray ( a ) && a [ 2 ] && a [ 2 ] . length && ( z . _unwatchOld = b . $watch ( a [ 2 ] , function ( a ) { w . translate = a ; S ( ) } ) ) ) : w . translate = a ? a : void 0 } else w . translate = a ; S ( ) } , A = function ( a ) { p . $observe ( a , function ( b ) { w [ a ] = b ; S ( ) } ) } ; ( function ( a , c , e ) { if ( c . translateValues && angular . extend ( a , f ( c . translateValues ) ( b . $parent ) ) , u ) for ( var g in e ) if ( Object . prototype . hasOwnProperty . call ( c , g ) && "translateValue" === g . substr ( 0 , 14 ) && "translateValues" !== g ) { var k = angular . lowercase ( g . substr ( 14 , 1 ) ) + g . substr ( 15 ) ; a [ k ] =
e [ g ] } } ) ( b . interpolateParams , p , l ) ; var B = ! 0 ; p . $observe ( "translate" , function ( a ) { "undefined" == typeof a ? z ( "" ) : "" === a && B || ( w . translate = a , S ( ) ) ; B = ! 1 } ) ; for ( var E in p ) p . hasOwnProperty ( E ) && "translateAttr" === E . substr ( 0 , 13 ) && A ( E ) ; if ( p . $observe ( "translateDefault" , function ( a ) { b . defaultText = a ; S ( ) } ) , n && p . $observe ( "translateValues" , function ( a ) { a && b . $parent . $watch ( function ( ) { angular . extend ( b . interpolateParams , f ( a ) ( b . $parent ) ) } ) } ) , u ) { var A = function ( a ) { p . $observe ( a , function ( c ) { var e = angular . lowercase ( a . substr ( 14 , 1 ) ) +
a . substr ( 15 ) ; b . interpolateParams [ e ] = c } ) } , K ; for ( K in p ) Object . prototype . hasOwnProperty . call ( p , K ) && "translateValue" === K . substr ( 0 , 14 ) && "translateValues" !== K && A ( K ) } var S = function ( ) { for ( var a in w ) w . hasOwnProperty ( a ) && void 0 !== w [ a ] && ka ( a , w [ a ] , b , b . interpolateParams , b . defaultText , b . translateNamespace ) } , ka = function ( b , c , e , g , f , k ) { c ? ( k && "." === c . charAt ( 0 ) && ( c = k + c ) , a ( c , g , t , f , e . translateLanguage ) . then ( function ( a ) { W ( a , e , ! 0 , b ) } , function ( a ) { W ( a , e , ! 1 , b ) } ) ) : W ( c , e , ! 1 , b ) } , W = function ( b , c , e , f ) { ( e || "undefined" != typeof c . defaultText &&
( b = c . defaultText ) , "translate" === f ) ? ( ( e || ! e && ! a . isKeepContent ( ) && "undefined" == typeof p . translateKeepContent ) && q . empty ( ) . append ( c . preText + b + c . postText ) , b = a . isPostCompilingEnabled ( ) , f = ( e = "undefined" != typeof l . translateCompile ) && "false" !== l . translateCompile , ( b && ! e || f ) && g ( q . contents ( ) ) ( c ) ) : ( c = p . $attr [ f ] , "data-" === c . substr ( 0 , 5 ) && ( c = c . substr ( 5 ) ) , c = c . substr ( 15 ) , q . attr ( c , b ) ) } ; ( n || u || p . translateDefault ) && b . $watch ( "interpolateParams" , S , ! 0 ) ; var P = b . $on ( "translateLanguageChanged" , S ) , G = k . $on ( "$translateChangeSuccess" ,
S ) ; q . text ( ) . length ? z ( p . translate ? p . translate : "" ) : p . translate && z ( p . translate ) ; S ( ) ; b . $on ( "$destroy" , function ( ) { P ( ) ; G ( ) } ) } } } } function c ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? c ( a . $parent ) : void 0 } function a ( a , b ) { return { compile : function ( c ) { var e = function ( ) { c . addClass ( a . cloakClassName ( ) ) } , g = function ( ) { c . removeClass ( a . cloakClassName ( ) ) } ; return a . onReady ( function ( ) { g ( ) } ) , e ( ) , function ( c , f , k ) { k . translateCloak && k . translateCloak . length && ( k . $observe ( "translateCloak" , function ( b ) { a ( b ) . then ( g ,
e ) } ) , b . $on ( "$translateChangeSuccess" , function ( ) { a ( k . translateCloak ) . then ( g , e ) } ) ) } } } } function e ( ) { return { restrict : "A" , scope : ! 0 , compile : function ( ) { return { pre : function ( a , b , e ) { a . translateNamespace = c ( a ) ; a . translateNamespace && "." === e . translateNamespace . charAt ( 0 ) ? a . translateNamespace += e . translateNamespace : a . translateNamespace = e . translateNamespace } } } } } function c ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? c ( a . $parent ) : void 0 } function g ( ) { return { restrict : "A" , scope : ! 0 , compile : function ( ) { return function ( a ,
b , c ) { c . $observe ( "translateLanguage" , function ( b ) { a . translateLanguage = b } ) ; a . $watch ( "translateLanguage" , function ( ) { a . $broadcast ( "translateLanguageChanged" ) } ) } } } } function t ( a , b ) { var c = function ( c , e , g , f ) { return angular . isObject ( e ) || ( e = a ( e ) ( this ) ) , b . instant ( c , e , g , f ) } ; return b . statefulFilter ( ) && ( c . $stateful = ! 0 ) , c } function k ( a ) { return a ( "translations" ) } return b . $inject = [ "$translate" ] , f . $inject = [ "$STORAGE_KEY" , "$windowProvider" , "$translateSanitizationProvider" , "pascalprechtTranslateOverrider" ] , h . $inject = [ "$interpolate" ,
"$translateSanitization" ] , l . $inject = "$translate $q $interpolate $compile $parse $rootScope" . split ( " " ) , a . $inject = [ "$translate" , "$rootScope" ] , t . $inject = [ "$parse" , "$translate" ] , k . $inject = [ "$cacheFactory" ] , angular . module ( "pascalprecht.translate" , [ "ng" ] ) . run ( b ) , b . displayName = "runTranslate" , angular . module ( "pascalprecht.translate" ) . provider ( "$translateSanitization" , function ( ) { var a , b , c = null , e = ! 1 , g = ! 1 ; b = { sanitize : function ( a , b ) { return "text" === b && ( a = k ( a ) ) , a } , escape : function ( a , b ) { return "text" === b && ( a = f ( a ) ) ,
a } , sanitizeParameters : function ( a , b ) { return "params" === b && ( a = h ( a , k ) ) , a } , escapeParameters : function ( a , b ) { return "params" === b && ( a = h ( a , f ) ) , a } } ; b . escaped = b . escapeParameters ; this . addStrategy = function ( a , c ) { return b [ a ] = c , this } ; this . removeStrategy = function ( a ) { return delete b [ a ] , this } ; this . useStrategy = function ( a ) { return e = ! 0 , c = a , this } ; this . $get = [ "$injector" , "$log" , function ( f , k ) { var h = { } , l = function ( a , c , e ) { return angular . forEach ( e , function ( e ) { if ( angular . isFunction ( e ) ) a = e ( a , c ) ; else if ( angular . isFunction ( b [ e ] ) ) a =
b [ e ] ( a , c ) ; else { if ( ! angular . isString ( b [ e ] ) ) throw Error ( "pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + e + "'" ) ; if ( ! h [ b [ e ] ] ) try { h [ b [ e ] ] = f . get ( b [ e ] ) } catch ( T ) { throw h [ b [ e ] ] = function ( ) { } , Error ( "pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + e + "'" ) ; } a = h [ b [ e ] ] ( a , c ) } } ) , a } ; return f . has ( "$sanitize" ) && ( a = f . get ( "$sanitize" ) ) , { useStrategy : function ( a ) { return function ( b ) { a . useStrategy ( b ) } } ( this ) , sanitize : function ( a , b , f ) { c || e || g || ( k . warn ( "pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details." ) ,
g = ! 0 ) ; if ( 3 > arguments . length && ( f = c ) , ! f ) return a ; var h = angular . isArray ( f ) ? f : [ f ] ; return l ( a , b , h ) } } } ] ; var f = function ( a ) { var b = angular . element ( "<div></div>" ) ; return b . text ( a ) , b . html ( ) } , k = function ( b ) { if ( ! a ) throw Error ( "pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'." ) ; return a ( b ) } , h = function ( a , b , c ) { if ( angular . isObject ( a ) ) { var e =
angular . isArray ( a ) ? [ ] : { } ; if ( c ) { if ( - 1 < c . indexOf ( a ) ) throw Error ( "pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object" ) ; } else c = [ ] ; return c . push ( a ) , angular . forEach ( a , function ( a , g ) { angular . isFunction ( a ) || ( e [ g ] = h ( a , b , c ) ) } ) , c . splice ( - 1 , 1 ) , e } return angular . isNumber ( a ) ? a : b ( a ) } } ) , angular . module ( "pascalprecht.translate" ) . constant ( "pascalprechtTranslateOverrider" , { } ) . provider ( "$translate" , f ) , f . displayName = "displayName" , angular . module ( "pascalprecht.translate" ) . factory ( "$translateDefaultInterpolation" ,
h ) , h . displayName = "$translateDefaultInterpolation" , angular . module ( "pascalprecht.translate" ) . constant ( "$STORAGE_KEY" , "NG_TRANSLATE_LANG_KEY" ) , angular . module ( "pascalprecht.translate" ) . directive ( "translate" , l ) , l . displayName = "translateDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateCloak" , a ) , a . displayName = "translateCloakDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateNamespace" , e ) , e . displayName = "translateNamespaceDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateLanguage" ,
g ) , g . displayName = "translateLanguageDirective" , angular . module ( "pascalprecht.translate" ) . filter ( "translate" , t ) , t . displayName = "translateFilterFactory" , angular . module ( "pascalprecht.translate" ) . factory ( "$translationCache" , k ) , k . displayName = "$translationCache" , "pascalprecht.translate" } ) ;
! function ( ) { function b ( b , c ) { window . XMLHttpRequest . prototype [ b ] = c ( window . XMLHttpRequest . prototype [ b ] ) } function f ( b , c , a ) { try { Object . defineProperty ( b , c , { get : a } ) } catch ( e ) { } } if ( window . FileAPI || ( window . FileAPI = { } ) , ! window . XMLHttpRequest ) throw "AJAX is not supported. XMLHttpRequest is not defined." ; if ( FileAPI . shouldLoad = ! window . FormData || FileAPI . forceLoad , FileAPI . shouldLoad ) { var h = function ( b ) { if ( ! b . _ _listeners ) { b . upload || ( b . upload = { } ) ; b . _ _listeners = [ ] ; var c = b . upload . addEventListener ; b . upload . addEventListener =
function ( a , e ) { b . _ _listeners [ a ] = e ; c && c . apply ( this , arguments ) } } } ; b ( "open" , function ( b ) { return function ( c , a , e ) { h ( this ) ; this . _ _url = a ; try { b . apply ( this , [ c , a , e ] ) } catch ( g ) { - 1 < g . message . indexOf ( "Access is denied" ) && ( this . _ _origError = g , b . apply ( this , [ c , "_fix_for_ie_crossdomain__" , e ] ) ) } } } ) ; b ( "getResponseHeader" , function ( b ) { return function ( c ) { return this . _ _fileApiXHR && this . _ _fileApiXHR . getResponseHeader ? this . _ _fileApiXHR . getResponseHeader ( c ) : null == b ? null : b . apply ( this , [ c ] ) } } ) ; b ( "getAllResponseHeaders" , function ( b ) { return function ( ) { return this . _ _fileApiXHR &&
this . _ _fileApiXHR . getAllResponseHeaders ? this . _ _fileApiXHR . getAllResponseHeaders ( ) : null == b ? null : b . apply ( this ) } } ) ; b ( "abort" , function ( b ) { return function ( ) { return this . _ _fileApiXHR && this . _ _fileApiXHR . abort ? this . _ _fileApiXHR . abort ( ) : null == b ? null : b . apply ( this ) } } ) ; b ( "setRequestHeader" , function ( b ) { return function ( c , a ) { if ( "__setXHR_" === c ) { h ( this ) ; var e = a ( this ) ; e instanceof Function && e ( this ) } else this . _ _requestHeaders = this . _ _requestHeaders || { } , this . _ _requestHeaders [ c ] = a , b . apply ( this , arguments ) } } ) ; b ( "send" ,
function ( b ) { return function ( ) { var c = this ; if ( arguments [ 0 ] && arguments [ 0 ] . _ _isFileAPIShim ) { for ( var a = arguments [ 0 ] , e = { url : c . _ _url , jsonp : ! 1 , cache : ! 0 , complete : function ( a , b ) { a && angular . isString ( a ) && - 1 !== a . indexOf ( "#2174" ) && ( a = null ) ; c . _ _completed = ! 0 ; ! a && c . _ _listeners . load && c . _ _listeners . load ( { type : "load" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; ! a && c . _ _listeners . loadend && c . _ _listeners . loadend ( { type : "loadend" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; "abort" ===
2017-07-31 21:30:55 +00:00
a && c . _ _listeners . abort && c . _ _listeners . abort ( { type : "abort" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; void 0 !== b . status && f ( c , "status" , function ( ) { return 0 === b . status && a && "abort" !== a ? 500 : b . status } ) ; void 0 !== b . statusText && f ( c , "statusText" , function ( ) { return b . statusText } ) ; f ( c , "readyState" , function ( ) { return 4 } ) ; void 0 !== b . response && f ( c , "response" , function ( ) { return b . response } ) ; var e = b . responseText || ( a && 0 === b . status && "abort" !== a ? a : void 0 ) ; f ( c , "responseText" , function ( ) { return e } ) ; f ( c ,
"response" , function ( ) { return e } ) ; a && f ( c , "err" , function ( ) { return a } ) ; c . _ _fileApiXHR = b ; c . onreadystatechange && c . onreadystatechange ( ) ; c . onload && c . onload ( ) } , progress : function ( a ) { if ( a . target = c , c . _ _listeners . progress && c . _ _listeners . progress ( a ) , c . _ _total = a . total , c . _ _loaded = a . loaded , a . total === a . loaded ) { var b = this ; setTimeout ( function ( ) { c . _ _completed || ( c . getAllResponseHeaders = function ( ) { } , b . complete ( null , { status : 204 , statusText : "No Content" } ) ) } , FileAPI . noContentTimeout || 1E4 ) } } , headers : c . _ _requestHeaders , data : { } ,
2017-09-20 18:29:17 +00:00
files : { } } , g = 0 ; g < a . data . length ; g ++ ) { var h = a . data [ g ] ; null != h . val && null != h . val . name && null != h . val . size && null != h . val . type ? e . files [ h . key ] = h . val : e . data [ h . key ] = h . val } setTimeout ( function ( ) { if ( ! FileAPI . hasFlash ) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"' ; c . _ _fileApiXHR = FileAPI . upload ( e ) } , 1 ) } else { if ( this . _ _origError ) throw this . _ _origError ; b . apply ( c , arguments ) } } } ) ; window . XMLHttpRequest . _ _isFileAPIShim = ! 0 ; window . FormData = FormData = function ( ) { return { append : function ( b , c ,
a ) { c . _ _isFileAPIBlobShim && ( c = c . data [ 0 ] ) ; this . data . push ( { key : b , val : c , name : a } ) } , data : [ ] , _ _isFileAPIShim : ! 0 } } ; window . Blob = Blob = function ( b ) { return { data : b , _ _isFileAPIBlobShim : ! 0 } } } } ( ) ;
( function ( ) { function b ( a ) { return "input" === a [ 0 ] . tagName . toLowerCase ( ) && a . attr ( "type" ) && "file" === a . attr ( "type" ) . toLowerCase ( ) } function f ( ) { try { return new ActiveXObject ( "ShockwaveFlash.ShockwaveFlash" ) , ! 0 } catch ( n ) { if ( void 0 !== navigator . mimeTypes [ "application/x-shockwave-flash" ] ) return ! 0 } return ! 1 } function h ( a ) { var b = 0 , c = 0 ; if ( window . jQuery ) return jQuery ( a ) . offset ( ) ; if ( a . offsetParent ) { do b += a . offsetLeft - a . scrollLeft , c += a . offsetTop - a . scrollTop , a = a . offsetParent ; while ( a ) } return { left : b , top : c } } if ( FileAPI . shouldLoad ) { if ( FileAPI . hasFlash =
f ( ) , FileAPI . forceLoad && ( FileAPI . html5 = ! 1 ) , ! FileAPI . upload ) { var l , c , a , e , g , t = document . createElement ( "script" ) , k = document . getElementsByTagName ( "script" ) ; if ( window . FileAPI . jsUrl ) l = window . FileAPI . jsUrl ; else if ( window . FileAPI . jsPath ) c = window . FileAPI . jsPath ; else for ( a = 0 ; a < k . length ; a ++ ) if ( g = k [ a ] . src , e = g . search ( /\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/ ) , - 1 < e ) { c = g . substring ( 0 , e + 1 ) ; break } null == FileAPI . staticPath && ( FileAPI . staticPath = c ) ; t . setAttribute ( "src" , l || c + "FileAPI.min.js" ) ; document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( t ) } FileAPI . ngfFixIE =
function ( a , c , e ) { if ( ! f ( ) ) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"' ; a . bind ( "mouseenter" , function ( ) { var f = c . parent ( ) ; a . attr ( "disabled" ) ? f && f . removeClass ( "js-fileapi-wrapper" ) : ( c . attr ( "__ngf_flash_" ) || ( c . unbind ( "change" ) , c . unbind ( "click" ) , c . bind ( "change" , function ( a ) { g . apply ( this , [ a ] ) ; e . apply ( this , [ a ] ) } ) , c . attr ( "__ngf_flash_" , "true" ) ) , f . addClass ( "js-fileapi-wrapper" ) , b ( a ) || ( f . css ( "position" , "absolute" ) . css ( "top" , h ( a [ 0 ] ) . top + "px" ) . css ( "left" , h ( a [ 0 ] ) . left + "px" ) . css ( "width" ,
a [ 0 ] . offsetWidth + "px" ) . css ( "height" , a [ 0 ] . offsetHeight + "px" ) . css ( "filter" , "alpha(opacity=0)" ) . css ( "display" , a . css ( "display" ) ) . css ( "overflow" , "hidden" ) . css ( "z-index" , "900000" ) . css ( "visibility" , "visible" ) , c . css ( "width" , a [ 0 ] . offsetWidth + "px" ) . css ( "height" , a [ 0 ] . offsetHeight + "px" ) . css ( "position" , "absolute" ) . css ( "top" , "0px" ) . css ( "left" , "0px" ) ) ) } ) ; var g = function ( a ) { for ( var b = FileAPI . getFiles ( a ) , c = 0 ; c < b . length ; c ++ ) void 0 === b [ c ] . size && ( b [ c ] . size = 0 ) , void 0 === b [ c ] . name && ( b [ c ] . name = "file" ) , void 0 === b [ c ] . type &&
2017-04-11 07:10:36 +00:00
( b [ c ] . type = "undefined" ) ; a . target || ( a . target = { } ) ; a . target . files = b ; a . target . files !== b && ( a . _ _files _ = b ) ; ( a . _ _files _ || a . target . files ) . item = function ( b ) { return ( a . _ _files _ || a . target . files ) [ b ] || null } } } ; FileAPI . disableFileInput = function ( a , b ) { b ? a . removeClass ( "js-fileapi-wrapper" ) : a . addClass ( "js-fileapi-wrapper" ) } } } ) ( ) ;
2017-09-20 18:29:17 +00:00
window . FileReader || ( window . FileReader = function ( ) { var b = this , f = ! 1 ; this . listeners = { } ; this . addEventListener = function ( c , a ) { b . listeners [ c ] = b . listeners [ c ] || [ ] ; b . listeners [ c ] . push ( a ) } ; this . removeEventListener = function ( c , a ) { b . listeners [ c ] && b . listeners [ c ] . splice ( b . listeners [ c ] . indexOf ( a ) , 1 ) } ; this . dispatchEvent = function ( c ) { var a = b . listeners [ c . type ] ; if ( a ) for ( var e = 0 ; e < a . length ; e ++ ) a [ e ] . call ( b , c ) } ; this . onabort = this . onerror = this . onload = this . onloadstart = this . onloadend = this . onprogress = null ; var h = function ( c , a ) { var e =
{ type : c , target : b , loaded : a . loaded , total : a . total , error : a . error } ; return null != a . result && ( e . target . result = a . result ) , e } , l = function ( c ) { f || ( f = ! 0 , b . onloadstart && b . onloadstart ( h ( "loadstart" , c ) ) ) ; var a ; "load" === c . type ? ( b . onloadend && b . onloadend ( h ( "loadend" , c ) ) , a = h ( "load" , c ) , b . onload && b . onload ( a ) , b . dispatchEvent ( a ) ) : "progress" === c . type ? ( a = h ( "progress" , c ) , b . onprogress && b . onprogress ( a ) , b . dispatchEvent ( a ) ) : ( a = h ( "error" , c ) , b . onerror && b . onerror ( a ) , b . dispatchEvent ( a ) ) } ; this . readAsDataURL = function ( b ) { FileAPI . readAsDataURL ( b ,
l ) } ; this . readAsText = function ( b ) { FileAPI . readAsText ( b , l ) } } ) ; ! window . XMLHttpRequest || window . FileAPI && FileAPI . shouldLoad || ( window . XMLHttpRequest . prototype . setRequestHeader = function ( b ) { return function ( f , h ) { if ( "__setXHR_" === f ) { var l = h ( this ) ; l instanceof Function && l ( this ) } else b . apply ( this , arguments ) } } ( window . XMLHttpRequest . prototype . setRequestHeader ) ) ; var ngFileUpload = angular . module ( "ngFileUpload" , [ ] ) ; ngFileUpload . version = "12.2.13" ;
ngFileUpload . service ( "UploadBase" , [ "$http" , "$q" , "$timeout" , function ( b , f , h ) { function l ( c ) { function g ( a ) { r . notify && r . notify ( a ) ; y . progressFunc && h ( function ( ) { y . progressFunc ( a ) } ) } function k ( a ) { return null != c . _start && e ? { loaded : a . loaded + c . _start , total : c . _file && c . _file . size || a . total , type : a . type , config : c , lengthComputable : ! 0 , target : a . target } : a } function l ( ) { b ( c ) . then ( function ( b ) { e && c . _chunkSize && ! c . _finished && c . _file ? ( b = c . _file && c . _file . size || 0 , g ( { loaded : Math . min ( c . _end , b ) , total : b , config : c , type : "progress" } ) ,
a . upload ( c , ! 0 ) ) : ( c . _finished && delete c . _finished , r . resolve ( b ) ) } , function ( a ) { r . reject ( a ) } , function ( a ) { r . notify ( a ) } ) } c . method = c . method || "POST" ; c . headers = c . headers || { } ; var r = c . _deferred = c . _deferred || f . defer ( ) , y = r . promise ; return c . disableProgress || ( c . headers . _ _setXHR _ = function ( ) { return function ( a ) { a && a . upload && a . upload . addEventListener && ( c . _ _XHR = a , c . xhrFn && c . xhrFn ( a ) , a . upload . addEventListener ( "progress" , function ( a ) { a . config = c ; g ( k ( a ) ) } , ! 1 ) , a . upload . addEventListener ( "load" , function ( a ) { a . lengthComputable &&
( a . config = c , g ( k ( a ) ) ) } , ! 1 ) ) } } ) , e ? c . _chunkSize && c . _end && ! c . _finished ? ( c . _start = c . _end , c . _end += c . _chunkSize , l ( ) ) : c . resumeSizeUrl ? b . get ( c . resumeSizeUrl ) . then ( function ( a ) { c . _start = c . resumeSizeResponseReader ? c . resumeSizeResponseReader ( a . data ) : parseInt ( ( null == a . data . size ? a . data : a . data . size ) . toString ( ) ) ; c . _chunkSize && ( c . _end = c . _start + c . _chunkSize ) ; l ( ) } , function ( a ) { throw a ; } ) : c . resumeSize ? c . resumeSize ( ) . then ( function ( a ) { c . _start = a ; c . _chunkSize && ( c . _end = c . _start + c . _chunkSize ) ; l ( ) } , function ( a ) { throw a ; } ) : ( c . _chunkSize &&
( c . _start = 0 , c . _end = c . _start + c . _chunkSize ) , l ( ) ) : l ( ) , y . success = function ( a ) { return y . then ( function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , y } , y . error = function ( a ) { return y . then ( null , function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , y } , y . progress = function ( a ) { return y . progressFunc = a , y . then ( null , null , function ( b ) { a ( b ) } ) , y } , y . abort = y . pause = function ( ) { return c . _ _XHR && h ( function ( ) { c . _ _XHR . abort ( ) } ) , y } , y . xhr = function ( a ) { return c . xhrFn = function ( b ) { return function ( ) { b && b . apply ( y , arguments ) ; a . apply ( y , arguments ) } } ( c . xhrFn ) ,
y } , a . promisesCount ++ , y [ "finally" ] && y [ "finally" ] instanceof Function && y [ "finally" ] ( function ( ) { a . promisesCount -- } ) , y } function c ( a ) { var b = { } , c ; for ( c in a ) a . hasOwnProperty ( c ) && ( b [ c ] = a [ c ] ) ; return b } var a = this ; a . promisesCount = 0 ; this . isResumeSupported = function ( ) { return window . Blob && window . Blob . prototype . slice } ; var e = this . isResumeSupported ( ) ; this . isUploadInProgress = function ( ) { return 0 < a . promisesCount } ; this . rename = function ( a , b ) { return a . ngfName = b , a } ; this . jsonBlob = function ( a ) { null == a || angular . isString ( a ) || ( a =
JSON . stringify ( a ) ) ; a = new window . Blob ( [ a ] , { type : "application/json" } ) ; return a . _ngfBlob = ! 0 , a } ; this . json = function ( a ) { return angular . toJson ( a ) } ; this . isFile = function ( a ) { return null != a && ( a instanceof window . Blob || a . flashId && a . name && a . size ) } ; this . upload = function ( b , f ) { function g ( c , f , k ) { if ( void 0 !== f ) if ( angular . isDate ( f ) && ( f = f . toISOString ( ) ) , angular . isString ( f ) ) c . append ( k , f ) ; else if ( a . isFile ( f ) ) { if ( ! f . _ngfBlob && ( b . _file = b . _file || f , null != b . _start && e ) ) { b . _end && b . _end >= f . size && ( b . _finished = ! 0 , b . _end = f . size ) ;
var h = f . slice ( b . _start , b . _end || f . size ) ; f = ( h . name = f . name , h . ngfName = f . ngfName , b . _chunkSize && ( c . append ( "_chunkSize" , b . _chunkSize ) , c . append ( "_currentChunkSize" , b . _end - b . _start ) , c . append ( "_chunkNumber" , Math . floor ( b . _start / b . _chunkSize ) ) , c . append ( "_totalSize" , b . _file . size ) ) , h ) } h = k . split ( "," ) ; h [ 1 ] && ( f . ngfName = h [ 1 ] . replace ( /^\s+|\s+$/g , "" ) , k = h [ 0 ] ) ; b . _fileKey = b . _fileKey || k ; c . append ( k , f , f . ngfName || f . name ) } else if ( angular . isObject ( f ) ) { if ( f . $$ngfCircularDetection ) throw "ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: " +
k ; f . $$ngfCircularDetection = ! 0 ; try { for ( h in f ) if ( f . hasOwnProperty ( h ) && "$$ngfCircularDetection" !== h ) { var l = null == b . objectKey ? "[i]" : b . objectKey ; f . length && - 1 < parseInt ( h ) && ( l = null == b . arrayKey ? l : b . arrayKey ) ; g ( c , f [ h ] , k + l . replace ( /[ik]/g , h ) ) } } finally { delete f . $$ngfCircularDetection } } else c . append ( k , f ) } function h ( ) { b . _chunkSize = a . translateScalars ( b . resumeChunkSize ) ; b . _chunkSize = b . _chunkSize ? parseInt ( b . _chunkSize . toString ( ) ) : null ; b . headers = b . headers || { } ; b . headers [ "Content-Type" ] = void 0 ; b . transformRequest = b . transformRequest ?
angular . isArray ( b . transformRequest ) ? b . transformRequest : [ b . transformRequest ] : [ ] ; b . transformRequest . push ( function ( a ) { var c , e = new window . FormData ; a = a || b . fields || { } ; b . file && ( a . file = b . file ) ; for ( c in a ) if ( a . hasOwnProperty ( c ) ) { var f = a [ c ] ; b . formDataAppender ? b . formDataAppender ( e , c , f ) : g ( e , f , c ) } return e } ) } return f || ( b = c ( b ) ) , b . _isDigested || ( b . _isDigested = ! 0 , h ( ) ) , l ( b ) } ; this . http = function ( e ) { return e = c ( e ) , e . transformRequest = e . transformRequest || function ( a ) { return window . ArrayBuffer && a instanceof window . ArrayBuffer ||
a instanceof window . Blob ? a : b . defaults . transformRequest [ 0 ] . apply ( this , arguments ) } , e . _chunkSize = a . translateScalars ( e . resumeChunkSize ) , e . _chunkSize = e . _chunkSize ? parseInt ( e . _chunkSize . toString ( ) ) : null , l ( e ) } ; this . translateScalars = function ( a ) { if ( angular . isString ( a ) ) { if ( a . search ( /kb/i ) === a . length - 2 ) return parseFloat ( 1024 * a . substring ( 0 , a . length - 2 ) ) ; if ( a . search ( /mb/i ) === a . length - 2 ) return parseFloat ( 1048576 * a . substring ( 0 , a . length - 2 ) ) ; if ( a . search ( /gb/i ) === a . length - 2 ) return parseFloat ( 1073741824 * a . substring ( 0 ,
a . length - 2 ) ) ; if ( a . search ( /b/i ) === a . length - 1 || a . search ( /s/i ) === a . length - 1 ) return parseFloat ( a . substring ( 0 , a . length - 1 ) ) ; if ( a . search ( /m/i ) === a . length - 1 ) return parseFloat ( 60 * a . substring ( 0 , a . length - 1 ) ) ; if ( a . search ( /h/i ) === a . length - 1 ) return parseFloat ( 3600 * a . substring ( 0 , a . length - 1 ) ) } return a } ; this . urlToBlob = function ( a ) { var c = f . defer ( ) ; return b ( { url : a , method : "get" , responseType : "arraybuffer" } ) . then ( function ( b ) { var e = new Uint8Array ( b . data ) ; b = b . headers ( "content-type" ) || "image/WebP" ; e = new window . Blob ( [ e ] , { type : b } ) ;
b = a . match ( /.*\/(.+?)(\?.*)?$/ ) ; 1 < b . length && ( e . name = b [ 1 ] ) ; c . resolve ( e ) } , function ( a ) { c . reject ( a ) } ) , c . promise } ; this . setDefaults = function ( a ) { this . defaults = a || { } } ; this . defaults = { } ; this . version = ngFileUpload . version } ] ) ;
ngFileUpload . service ( "Upload" , [ "$parse" , "$timeout" , "$compile" , "$q" , "UploadExif" , function ( b , f , h , l , c ) { function a ( a , b , c ) { var e = [ t . emptyPromise ( ) ] ; return angular . forEach ( a , function ( f , g ) { 0 === f . type . indexOf ( "image/jpeg" ) && t . attrGetter ( "ngfFixOrientation" , b , c , { $file : f } ) && e . push ( t . happyPromise ( t . applyExifRotation ( f ) , f ) . then ( function ( b ) { a . splice ( g , 1 , b ) } ) ) } ) , l . all ( e ) } function e ( a , b , c , e ) { var f = t . attrGetter ( "ngfResize" , b , c ) ; if ( ! f || ! t . isResizeSupported ( ) || ! a . length ) return t . emptyPromise ( ) ; if ( f instanceof Function ) { var k =
l . defer ( ) ; return f ( a ) . then ( function ( f ) { g ( f , a , b , c , e ) . then ( function ( a ) { k . resolve ( a ) } , function ( a ) { k . reject ( a ) } ) } , function ( a ) { k . reject ( a ) } ) } return g ( f , a , b , c , e ) } function g ( a , b , c , e , f ) { function g ( g , h ) { if ( 0 === g . type . indexOf ( "image" ) && ( ! a . pattern || t . validatePattern ( g , a . pattern ) ) ) { a . resizeIf = function ( a , b ) { return t . attrGetter ( "ngfResizeIf" , c , e , { $width : a , $height : b , $file : g } ) } ; var l = t . resize ( g , a ) ; k . push ( l ) ; l . then ( function ( a ) { b . splice ( h , 1 , a ) } , function ( a ) { g . $error = "resize" ; ( g . $errorMessages = g . $errorMessages || { } ) . resize =
! 0 ; g . $errorParam = ( a ? ( a . message ? a . message : a ) + ": " : "" ) + ( g && g . name ) ; f . $ngfValidations . push ( { name : "resize" , valid : ! 1 } ) ; t . applyModelValidation ( f , b ) } ) } } for ( var k = [ t . emptyPromise ( ) ] , h = 0 ; h < b . length ; h ++ ) g ( b [ h ] , h ) ; return l . all ( k ) } var t = c ; return t . getAttrWithDefaults = function ( a , b ) { if ( null != a [ b ] ) return a [ b ] ; var c = t . defaults [ b ] ; return null == c ? c : angular . isString ( c ) ? c : JSON . stringify ( c ) } , t . attrGetter = function ( a , c , e , f ) { c = this . getAttrWithDefaults ( c , a ) ; if ( ! e ) return c ; try { return f ? b ( c ) ( e , f ) : b ( c ) ( e ) } catch ( u ) { if ( a . search ( /min|max|pattern/i ) ) return c ;
throw u ; } } , t . shouldUpdateOn = function ( a , b , c ) { b = t . attrGetter ( "ngfModelOptions" , b , c ) ; return ! b || ! b . updateOn || - 1 < b . updateOn . split ( " " ) . indexOf ( a ) } , t . emptyPromise = function ( ) { var a = l . defer ( ) , b = arguments ; return f ( function ( ) { a . resolve . apply ( a , b ) } ) , a . promise } , t . rejectPromise = function ( ) { var a = l . defer ( ) , b = arguments ; return f ( function ( ) { a . reject . apply ( a , b ) } ) , a . promise } , t . happyPromise = function ( a , b ) { var c = l . defer ( ) ; return a . then ( function ( a ) { c . resolve ( a ) } , function ( a ) { f ( function ( ) { throw a ; } ) ; c . resolve ( b ) } ) , c . promise } ,
t . updateModel = function ( c , g , h , l , u , w , A ) { function k ( a , e , k , n , q ) { g . $$ngfPrevValidFiles = a ; g . $$ngfPrevInvalidFiles = e ; var u = a && a . length ? a [ 0 ] : null , p = e && e . length ? e [ 0 ] : null ; c && ( t . applyModelValidation ( c , a ) , c . $setViewValue ( q ? u : a ) ) ; l && b ( l ) ( h , { $files : a , $file : u , $newFiles : k , $duplicateFiles : n , $invalidFiles : e , $invalidFile : p , $event : w } ) ; var r = t . attrGetter ( "ngfModelInvalid" , g ) ; r && f ( function ( ) { b ( r ) . assign ( h , q ? p : e ) } ) ; f ( function ( ) { } ) } function n ( ) { function a ( a , b ) { return a . name === b . name && ( a . $ngfOrigSize || a . size ) === ( b . $ngfOrigSize ||
b . size ) && a . type === b . type } function b ( b ) { var c ; for ( c = 0 ; c < y . length ; c ++ ) if ( a ( b , y [ c ] ) ) return ! 0 ; for ( c = 0 ; c < O . length ; c ++ ) if ( a ( b , O [ c ] ) ) return ! 0 ; return ! 1 } if ( u ) { p = [ ] ; J = [ ] ; for ( var c = 0 ; c < u . length ; c ++ ) b ( u [ c ] ) ? J . push ( u [ c ] ) : p . push ( u [ c ] ) } } function r ( a ) { return angular . isArray ( a ) ? a : [ a ] } function q ( ) { function a ( ) { f ( function ( ) { k ( T ? y . concat ( N ) : N , T ? O . concat ( G ) : G , u , J , X ) } , R && R . debounce ? R . debounce . change || R . debounce : 0 ) } var b = H ? p : N ; e ( b , g , h , c ) . then ( function ( ) { H ? t . validate ( p , T ? y . length : 0 , c , g , h ) . then ( function ( b ) { N = b . validsFiles ;
G = b . invalidsFiles ; a ( ) } ) : a ( ) } , function ( ) { for ( var c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; if ( "resize" === e . $error ) { var f = N . indexOf ( e ) ; - 1 < f && ( N . splice ( f , 1 ) , G . push ( e ) ) ; a ( ) } } } ) } var p , y , O , J = [ ] , G = [ ] , N = [ ] ; y = g . $$ngfPrevValidFiles || [ ] ; O = g . $$ngfPrevInvalidFiles || [ ] ; c && c . $modelValue && ( y = r ( c . $modelValue ) ) ; var T = t . attrGetter ( "ngfKeep" , g , h ) ; p = ( u || [ ] ) . slice ( 0 ) ; "distinct" !== T && ! 0 !== t . attrGetter ( "ngfKeepDistinct" , g , h ) || n ( g , h ) ; var X = ! T && ! t . attrGetter ( "ngfMultiple" , g , h ) && ! t . attrGetter ( "multiple" , g ) ; if ( ! T || p . length ) { t . attrGetter ( "ngfBeforeModelChange" ,
g , h , { $files : u , $file : u && u . length ? u [ 0 ] : null , $newFiles : p , $duplicateFiles : J , $event : w } ) ; var H = t . attrGetter ( "ngfValidateAfterResize" , g , h ) , R = t . attrGetter ( "ngfModelOptions" , g , h ) ; t . validate ( p , T ? y . length : 0 , c , g , h ) . then ( function ( b ) { A ? k ( p , [ ] , u , J , X ) : ( R && R . allowInvalid || H ? N = p : ( N = b . validFiles , G = b . invalidFiles ) , t . attrGetter ( "ngfFixOrientation" , g , h ) && t . isExifSupported ( ) ? a ( N , g , h ) . then ( function ( ) { q ( ) } ) : q ( ) ) } ) } } , t } ] ) ;
ngFileUpload . directive ( "ngfSelect" , [ "$parse" , "$timeout" , "$compile" , "Upload" , function ( b , f , h , l ) { function c ( a ) { var b = a . match ( /Android[^\d]*(\d+)\.(\d+)/ ) ; return b && 2 < b . length ? ( a = l . defaults . androidFixMinorVersion || 4 , 4 > parseInt ( b [ 1 ] ) || parseInt ( b [ 1 ] ) === a && parseInt ( b [ 2 ] ) < a ) : - 1 === a . indexOf ( "Chrome" ) && /.*Windows.*Safari.*/ . test ( a ) } function a ( a , b , f , h , l , y , u , w ) { function g ( ) { return "input" === b [ 0 ] . tagName . toLowerCase ( ) && f . type && "file" === f . type . toLowerCase ( ) } function k ( ) { return G ( "ngfChange" ) || G ( "ngfSelect" ) } function n ( b ) { if ( w . shouldUpdateOn ( "change" ,
f , a ) ) { var c = b . _ _files _ || b . target && b . target . files , e = [ ] ; if ( c ) { for ( var g = 0 ; g < c . length ; g ++ ) e . push ( c [ g ] ) ; w . updateModel ( h , f , a , k ( ) , e . length ? e : null , b ) } } } function t ( a , c ) { function e ( b ) { a . attr ( "id" , "ngf-" + b ) ; c . attr ( "id" , "ngf-label-" + b ) } for ( var g = 0 ; g < b [ 0 ] . attributes . length ; g ++ ) { var k = b [ 0 ] . attributes [ g ] ; "type" !== k . name && "class" !== k . name && "style" !== k . name && ( "id" === k . name ? ( e ( k . value ) , N . push ( f . $observe ( "id" , e ) ) ) : a . attr ( k . name , k . value || "required" !== k . name && "multiple" !== k . name ? k . value : k . name ) ) } } function q ( ) { if ( g ( ) ) return b ;
var a = angular . element ( '<input type="file">' ) , c = angular . element ( "<label>upload</label>" ) ; return c . css ( "visibility" , "hidden" ) . css ( "position" , "absolute" ) . css ( "overflow" , "hidden" ) . css ( "width" , "0px" ) . css ( "height" , "0px" ) . css ( "border" , "none" ) . css ( "margin" , "0px" ) . css ( "padding" , "0px" ) . attr ( "tabindex" , "-1" ) , t ( a , c ) , e . push ( { el : b , ref : c } ) , document . body . appendChild ( c . append ( a ) [ 0 ] ) , a } function p ( f ) { if ( b . attr ( "disabled" ) ) return ! 1 ; if ( ! G ( "ngfSelectDisabled" , a ) ) { var k = r ( f ) ; if ( null != k ) return k ; O ( f ) ; try { g ( ) || document . body . contains ( H [ 0 ] ) ||
( e . push ( { el : b , ref : H . parent ( ) } ) , document . body . appendChild ( H . parent ( ) [ 0 ] ) , H . bind ( "change" , n ) ) } catch ( ha ) { } return c ( navigator . userAgent ) ? setTimeout ( function ( ) { H [ 0 ] . click ( ) } , 0 ) : H [ 0 ] . click ( ) , ! 1 } } function r ( a ) { var b = a . changedTouches || a . originalEvent && a . originalEvent . changedTouches ; if ( b ) { if ( "touchstart" === a . type ) return X = b [ 0 ] . clientX , T = b [ 0 ] . clientY , ! 0 ; if ( "touchend" === a . type ) { var c = b [ 0 ] . clientY ; if ( 20 < Math . abs ( b [ 0 ] . clientX - X ) || 20 < Math . abs ( c - T ) ) return a . stopPropagation ( ) , a . preventDefault ( ) , ! 1 } return ! 0 } } function O ( b ) { w . shouldUpdateOn ( "click" ,
f , a ) && H . val ( ) && ( H . val ( null ) , w . updateModel ( h , f , a , k ( ) , null , b , ! 0 ) ) } function J ( a ) { if ( H && ! H . attr ( "__ngf_ie10_Fix_" ) ) { if ( ! H [ 0 ] . parentNode ) return void ( H = null ) ; a . preventDefault ( ) ; a . stopPropagation ( ) ; H . unbind ( "click" ) ; a = H . clone ( ) ; return H . replaceWith ( a ) , H = a , H . attr ( "__ngf_ie10_Fix_" , "true" ) , H . bind ( "change" , n ) , H . bind ( "click" , J ) , H [ 0 ] . click ( ) , ! 1 } H . removeAttr ( "__ngf_ie10_Fix_" ) } var G = function ( a , b ) { return w . attrGetter ( a , f , b ) } ; w . registerModelChangeValidator ( h , f , a ) ; var N = [ ] ; G ( "ngfMultiple" ) && N . push ( a . $watch ( G ( "ngfMultiple" ) ,
function ( ) { H . attr ( "multiple" , G ( "ngfMultiple" , a ) ) } ) ) ; G ( "ngfCapture" ) && N . push ( a . $watch ( G ( "ngfCapture" ) , function ( ) { H . attr ( "capture" , G ( "ngfCapture" , a ) ) } ) ) ; G ( "ngfAccept" ) && N . push ( a . $watch ( G ( "ngfAccept" ) , function ( ) { H . attr ( "accept" , G ( "ngfAccept" , a ) ) } ) ) ; N . push ( f . $observe ( "accept" , function ( ) { H . attr ( "accept" , G ( "accept" ) ) } ) ) ; var T = 0 , X = 0 , H = b ; g ( ) || ( H = q ( ) ) ; H . bind ( "change" , n ) ; g ( ) ? b . bind ( "click" , O ) : b . bind ( "click touchstart touchend" , p ) ; - 1 !== navigator . appVersion . indexOf ( "MSIE 10" ) && H . bind ( "click" , J ) ; h && h . $formatters . push ( function ( a ) { return ( null ==
a || 0 === a . length ) && H . val ( ) && H . val ( null ) , a } ) ; a . $on ( "$destroy" , function ( ) { g ( ) || H . parent ( ) . remove ( ) ; angular . forEach ( N , function ( a ) { a ( ) } ) } ) ; y ( function ( ) { for ( var a = 0 ; a < e . length ; a ++ ) { var b = e [ a ] ; document . body . contains ( b . el [ 0 ] ) || ( e . splice ( a , 1 ) , b . ref . remove ( ) ) } } ) ; window . FileAPI && window . FileAPI . ngfFixIE && window . FileAPI . ngfFixIE ( b , H , n ) } var e = [ ] ; return { restrict : "AEC" , require : "?ngModel" , link : function ( c , e , k , n ) { a ( c , e , k , n , b , f , h , l ) } } } ] ) ;
( function ( ) { function b ( b ) { return "img" === b . tagName . toLowerCase ( ) ? "image" : "audio" === b . tagName . toLowerCase ( ) ? "audio" : "video" === b . tagName . toLowerCase ( ) ? "video" : /./ } function f ( f , l , c , a , e , g , t , k ) { function h ( b ) { var g = f . attrGetter ( "ngfNoObjectUrl" , e , c ) ; f . dataUrl ( b , g ) [ "finally" ] ( function ( ) { l ( function ( ) { var c = ( g ? b . $ngfDataUrl : b . $ngfBlobUrl ) || b . $ngfDataUrl ; k ? a . css ( "background-image" , "url('" + ( c || "" ) + "')" ) : a . attr ( "src" , c ) ; c ? a . removeClass ( "ng-hide" ) : a . addClass ( "ng-hide" ) } ) } ) } l ( function ( ) { var l = c . $watch ( e [ g ] , function ( l ) { var n =
t ; if ( "ngfThumbnail" === g && ( n || ( n = { width : a [ 0 ] . naturalWidth || a [ 0 ] . clientWidth , height : a [ 0 ] . naturalHeight || a [ 0 ] . clientHeight } ) , 0 === n . width && window . getComputedStyle ) ) { var r = getComputedStyle ( a [ 0 ] ) ; r . width && - 1 < r . width . indexOf ( "px" ) && r . height && - 1 < r . height . indexOf ( "px" ) && ( n = { width : parseInt ( r . width . slice ( 0 , - 2 ) ) , height : parseInt ( r . height . slice ( 0 , - 2 ) ) } ) } return angular . isString ( l ) ? ( a . removeClass ( "ng-hide" ) , k ? a . css ( "background-image" , "url('" + l + "')" ) : a . attr ( "src" , l ) ) : void ( ! l || ! l . type || 0 !== l . type . search ( b ( a [ 0 ] ) ) ||
k && 0 !== l . type . indexOf ( "image" ) ? a . addClass ( "ng-hide" ) : n && f . isResizeSupported ( ) ? ( n . resizeIf = function ( a , b ) { return f . attrGetter ( "ngfResizeIf" , e , c , { $width : a , $height : b , $file : l } ) } , f . resize ( l , n ) . then ( function ( a ) { h ( a ) } , function ( a ) { throw a ; } ) ) : h ( l ) ) } ) ; c . $on ( "$destroy" , function ( ) { l ( ) } ) } ) } ngFileUpload . service ( "UploadDataUrl" , [ "UploadBase" , "$timeout" , "$q" , function ( b , f , c ) { return b . base64DataUrl = function ( a ) { if ( angular . isArray ( a ) ) { var e = c . defer ( ) , f = 0 ; return angular . forEach ( a , function ( c ) { b . dataUrl ( c , ! 0 ) [ "finally" ] ( function ( ) { if ( f ++ ,
f === a . length ) { var b = [ ] ; angular . forEach ( a , function ( a ) { b . push ( a . $ngfDataUrl ) } ) ; e . resolve ( b , a ) } } ) } ) , e . promise } return b . dataUrl ( a , ! 0 ) } , b . dataUrl = function ( a , e ) { if ( ! a ) return b . emptyPromise ( a , a ) ; if ( e && null != a . $ngfDataUrl || ! e && null != a . $ngfBlobUrl ) return b . emptyPromise ( e ? a . $ngfDataUrl : a . $ngfBlobUrl , a ) ; var g = e ? a . $$ngfDataUrlPromise : a . $$ngfBlobUrlPromise ; if ( g ) return g ; var h = c . defer ( ) ; return f ( function ( ) { if ( window . FileReader && a && ( ! window . FileAPI || - 1 === navigator . userAgent . indexOf ( "MSIE 8" ) || 2E4 > a . size ) && ( ! window . FileAPI ||
- 1 === navigator . userAgent . indexOf ( "MSIE 9" ) || 4E6 > a . size ) ) { var c = window . URL || window . webkitURL ; if ( c && c . createObjectURL && ! e ) { var g ; try { g = c . createObjectURL ( a ) } catch ( y ) { return void f ( function ( ) { a . $ngfBlobUrl = "" ; h . reject ( ) } ) } f ( function ( ) { if ( a . $ngfBlobUrl = g , g ) { h . resolve ( g , a ) ; b . blobUrls = b . blobUrls || [ ] ; b . blobUrlsTotalSize = b . blobUrlsTotalSize || 0 ; b . blobUrls . push ( { url : g , size : a . size } ) ; b . blobUrlsTotalSize += a . size || 0 ; for ( var e = b . defaults . blobUrlsMaxMemory || 268435456 , f = b . defaults . blobUrlsMaxQueueSize || 200 ; ( b . blobUrlsTotalSize >
e || b . blobUrls . length > f ) && 1 < b . blobUrls . length ; ) { var k = b . blobUrls . splice ( 0 , 1 ) [ 0 ] ; c . revokeObjectURL ( k . url ) ; b . blobUrlsTotalSize -= k . size } } } ) } else { var l = new FileReader ; l . onload = function ( b ) { f ( function ( ) { a . $ngfDataUrl = b . target . result ; h . resolve ( b . target . result , a ) ; f ( function ( ) { delete a . $ngfDataUrl } , 1E3 ) } ) } ; l . onerror = function ( ) { f ( function ( ) { a . $ngfDataUrl = "" ; h . reject ( ) } ) } ; l . readAsDataURL ( a ) } } else f ( function ( ) { a [ e ? "$ngfDataUrl" : "$ngfBlobUrl" ] = "" ; h . reject ( ) } ) } ) , g = e ? a . $$ngfDataUrlPromise = h . promise : a . $$ngfBlobUrlPromise =
h . promise , g [ "finally" ] ( function ( ) { delete a [ e ? "$$ngfDataUrlPromise" : "$$ngfBlobUrlPromise" ] } ) , g } , b } ] ) ; ngFileUpload . directive ( "ngfSrc" , [ "Upload" , "$timeout" , function ( b , l ) { return { restrict : "AE" , link : function ( c , a , e ) { f ( b , l , c , a , e , "ngfSrc" , b . attrGetter ( "ngfResize" , e , c ) , ! 1 ) } } } ] ) ; ngFileUpload . directive ( "ngfBackground" , [ "Upload" , "$timeout" , function ( b , l ) { return { restrict : "AE" , link : function ( c , a , e ) { f ( b , l , c , a , e , "ngfBackground" , b . attrGetter ( "ngfResize" , e , c ) , ! 0 ) } } } ] ) ; ngFileUpload . directive ( "ngfThumbnail" , [ "Upload" , "$timeout" ,
function ( b , l ) { return { restrict : "AE" , link : function ( c , a , e ) { var g = b . attrGetter ( "ngfSize" , e , c ) ; f ( b , l , c , a , e , "ngfThumbnail" , g , b . attrGetter ( "ngfAsBackground" , e , c ) ) } } } ] ) ; ngFileUpload . config ( [ "$compileProvider" , function ( b ) { b . imgSrcSanitizationWhitelist && b . imgSrcSanitizationWhitelist ( /^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/ ) ; b . aHrefSanitizationWhitelist && b . aHrefSanitizationWhitelist ( /^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/ ) } ] ) ; ngFileUpload . filter ( "ngfDataUrl" , [ "UploadDataUrl" ,
"$sce" , function ( b , f ) { return function ( c , a , e ) { if ( angular . isString ( c ) ) return f . trustAsResourceUrl ( c ) ; var g = c && ( ( a ? c . $ngfDataUrl : c . $ngfBlobUrl ) || c . $ngfDataUrl ) ; return c && ! g ? ( ! c . $ngfDataUrlFilterInProgress && angular . isObject ( c ) && ( c . $ngfDataUrlFilterInProgress = ! 0 , b . dataUrl ( c , a ) ) , "" ) : ( c && delete c . $ngfDataUrlFilterInProgress , ( c && g ? e ? f . trustAsResourceUrl ( g ) : g : c ) || "" ) } } ] ) } ) ( ) ;
ngFileUpload . service ( "UploadValidate" , [ "UploadDataUrl" , "$q" , "$timeout" , function ( b , f , h ) { function l ( a ) { var b = "" , c = [ ] ; if ( 2 < a . length && "/" === a [ 0 ] && "/" === a [ a . length - 1 ] ) b = a . substring ( 1 , a . length - 1 ) ; else { var f = a . split ( "," ) ; if ( 1 < f . length ) for ( a = 0 ; a < f . length ; a ++ ) { var k = l ( f [ a ] ) ; k . regexp ? ( b += "(" + k . regexp + ")" , a < f . length - 1 && ( b += "|" ) ) : c = c . concat ( k . excludes ) } else 0 === a . indexOf ( "!" ) ? c . push ( "^((?!" + l ( a . substring ( 1 ) ) . regexp + ").)*$" ) : ( 0 === a . indexOf ( "." ) && ( a = "*" + a ) , b = "^" + a . replace ( RegExp ( "[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]" ,
"g" ) , "\\$&" ) + "$" , b = b . replace ( /\\\*/g , ".*" ) . replace ( /\\\?/g , "." ) ) } return { regexp : b , excludes : c } } function c ( a , b ) { null == b || a . $dirty || ( a . $setDirty ? a . $setDirty ( ) : a . $dirty = ! 0 ) } return b . validatePattern = function ( a , b ) { if ( ! b ) return ! 0 ; var c = l ( b ) , e = ! 0 ; c . regexp && c . regexp . length && ( e = new RegExp ( c . regexp , "i" ) , e = null != a . type && e . test ( a . type ) || null != a . name && e . test ( a . name ) ) ; for ( var f = c . excludes . length ; f -- ; ) var h = new RegExp ( c . excludes [ f ] , "i" ) , e = e && ( null == a . type || h . test ( a . type ) ) && ( null == a . name || h . test ( a . name ) ) ; return e } ,
b . ratioToFloat = function ( a ) { a = a . toString ( ) ; var b = a . search ( /[x:]/i ) ; return - 1 < b ? parseFloat ( a . substring ( 0 , b ) ) / parseFloat ( a . substring ( b + 1 ) ) : parseFloat ( a ) } , b . registerModelChangeValidator = function ( a , c , f ) { a && a . $formatters . push ( function ( e ) { if ( a . $dirty ) { var g = e ; e && ! angular . isArray ( e ) && ( g = [ e ] ) ; b . validate ( g , 0 , a , c , f ) . then ( function ( ) { b . applyModelValidation ( a , g ) } ) } return e } ) } , b . applyModelValidation = function ( a , b ) { c ( a , b ) ; angular . forEach ( a . $ngfValidations , function ( b ) { a . $setValidity ( b . name , b . valid ) } ) } , b . getValidationAttr =
function ( a , c , f , h , k ) { var e = "ngf" + f [ 0 ] . toUpperCase ( ) + f . substr ( 1 ) , e = b . attrGetter ( e , a , c , { $file : k } ) ; null == e && ( e = b . attrGetter ( "ngfValidate" , a , c , { $file : k } ) ) && ( a = ( h || f ) . split ( "." ) , e = e [ a [ 0 ] ] , 1 < a . length && ( e = e && e [ a [ 1 ] ] ) ) ; return e } , b . validate = function ( a , c , g , h , k ) { function e ( c , e , f ) { if ( a ) { for ( var l = a . length , n = null ; l -- ; ) { var t = a [ l ] ; if ( t ) { var q = b . getValidationAttr ( h , k , c , e , t ) ; null != q && ( f ( t , q , l ) || ( - 1 === u . indexOf ( c ) ? ( t . $error = c , ( t . $errorMessages = t . $errorMessages || { } ) [ c ] = ! 0 , t . $errorParam = q , - 1 === A . indexOf ( t ) && A . push ( t ) ,
w || a . splice ( l , 1 ) , n = ! 1 ) : a . splice ( l , 1 ) ) ) } } null !== n && g . $ngfValidations . push ( { name : c , valid : n } ) } } function l ( c , e , l , n , r ) { function q ( b , e , f ) { function g ( g ) { g ( ) ? - 1 === u . indexOf ( c ) ? ( ( e . $error = c , ( e . $errorMessages = e . $errorMessages || { } ) [ c ] = ! 0 , e . $errorParam = f , - 1 === A . indexOf ( e ) && A . push ( e ) , w ) || ( g = a . indexOf ( e ) , - 1 < g && a . splice ( g , 1 ) ) , b . resolve ( ! 1 ) ) : ( g = a . indexOf ( e ) , - 1 < g && a . splice ( g , 1 ) , b . resolve ( ! 0 ) ) : b . resolve ( ! 0 ) } null != f ? n ( e , f ) . then ( function ( a ) { g ( function ( ) { return ! r ( a , f ) } ) } , function ( ) { g ( function ( ) { return t ( "ngfValidateForce" ,
{ $file : e } ) } ) } ) : b . resolve ( ! 0 ) } var p = [ b . emptyPromise ( ! 0 ) ] ; a && ( a = void 0 === a . length ? [ a ] : a , angular . forEach ( a , function ( a ) { var g = f . defer ( ) ; return p . push ( g . promise ) , ! l || null != a . type && 0 === a . type . search ( l ) ? void ( "dimensions" === c && null != b . attrGetter ( "ngfDimensions" , h ) ? b . imageDimensions ( a ) . then ( function ( b ) { q ( g , a , t ( "ngfDimensions" , { $file : a , $width : b . width , $height : b . height } ) ) } , function ( ) { g . resolve ( ! 1 ) } ) : "duration" === c && null != b . attrGetter ( "ngfDuration" , h ) ? b . mediaDuration ( a ) . then ( function ( b ) { q ( g , a , t ( "ngfDuration" ,
{ $file : a , $duration : b } ) ) } , function ( ) { g . resolve ( ! 1 ) } ) : q ( g , a , b . getValidationAttr ( h , k , c , e , a ) ) ) : void g . resolve ( ! 0 ) } ) ) ; var z = f . defer ( ) ; return f . all ( p ) . then ( function ( a ) { for ( var b = ! 0 , e = 0 ; e < a . length ; e ++ ) if ( ! a [ e ] ) { b = ! 1 ; break } g . $ngfValidations . push ( { name : c , valid : b } ) ; z . resolve ( b ) } ) , z . promise } g = g || { } ; g . $ngfValidations = g . $ngfValidations || [ ] ; angular . forEach ( g . $ngfValidations , function ( a ) { a . valid = ! 0 } ) ; var t = function ( a , c ) { return b . attrGetter ( a , h , k , c ) } , u = ( b . attrGetter ( "ngfIgnoreInvalid" , h , k ) || "" ) . split ( " " ) , w = b . attrGetter ( "ngfRunAllValidations" ,
h , k ) ; if ( null == a || 0 === a . length ) return b . emptyPromise ( { validFiles : a , invalidFiles : [ ] } ) ; a = void 0 === a . length ? [ a ] : a . slice ( 0 ) ; var A = [ ] ; e ( "pattern" , null , b . validatePattern ) ; e ( "minSize" , "size.min" , function ( a , c ) { return a . size + . 1 >= b . translateScalars ( c ) } ) ; e ( "maxSize" , "size.max" , function ( a , c ) { return a . size - . 1 <= b . translateScalars ( c ) } ) ; var z = 0 ; if ( e ( "maxTotalSize" , null , function ( c , e ) { return z += c . size , ! ( z > b . translateScalars ( e ) ) || ( a . splice ( 0 , a . length ) , ! 1 ) } ) , e ( "validateFn" , null , function ( a , b ) { return ! 0 === b || null === b || "" ===
b } ) , ! a . length ) return b . emptyPromise ( { validFiles : [ ] , invalidFiles : A } ) ; var B = f . defer ( ) , E = [ ] ; return E . push ( l ( "maxHeight" , "height.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . height <= b } ) ) , E . push ( l ( "minHeight" , "height.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . height >= b } ) ) , E . push ( l ( "maxWidth" , "width.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . width <= b } ) ) , E . push ( l ( "minWidth" , "width.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . width >= b } ) ) , E . push ( l ( "dimensions" ,
null , /image/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , E . push ( l ( "ratio" , null , /image/ , this . imageDimensions , function ( a , c ) { for ( var e = c . toString ( ) . split ( "," ) , f = ! 1 , g = 0 ; g < e . length ; g ++ ) . 01 > Math . abs ( a . width / a . height - b . ratioToFloat ( e [ g ] ) ) && ( f = ! 0 ) ; return f } ) ) , E . push ( l ( "maxRatio" , "ratio.max" , /image/ , this . imageDimensions , function ( a , c ) { return 1E-4 > a . width / a . height - b . ratioToFloat ( c ) } ) ) , E . push ( l ( "minRatio" , "ratio.min" , /image/ , this . imageDimensions , function ( a , c ) { return - 1E-4 < a . width / a . height -
b . ratioToFloat ( c ) } ) ) , E . push ( l ( "maxDuration" , "duration.max" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a <= b . translateScalars ( c ) } ) ) , E . push ( l ( "minDuration" , "duration.min" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a >= b . translateScalars ( c ) } ) ) , E . push ( l ( "duration" , null , /audio|video/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , E . push ( l ( "validateAsyncFn" , null , null , function ( a , b ) { return b } , function ( a ) { return ! 0 === a || null === a || "" === a } ) ) , f . all ( E ) . then ( function ( ) { if ( w ) for ( var b =
0 ; b < a . length ; b ++ ) a [ b ] . $error && a . splice ( b -- , 1 ) ; w = ! 1 ; e ( "maxFiles" , null , function ( a , b , e ) { return b > c + e } ) ; B . resolve ( { validFiles : a , invalidFiles : A } ) } ) , B . promise } , b . imageDimensions = function ( a ) { if ( a . $ngfWidth && a . $ngfHeight ) { var c = f . defer ( ) ; return h ( function ( ) { c . resolve ( { width : a . $ngfWidth , height : a . $ngfHeight } ) } ) , c . promise } if ( a . $ngfDimensionPromise ) return a . $ngfDimensionPromise ; var g = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "image" ) ? void g . reject ( "not image" ) : void b . dataUrl ( a ) . then ( function ( b ) { function c ( ) { var b =
l [ 0 ] . naturalWidth || l [ 0 ] . clientWidth , c = l [ 0 ] . naturalHeight || l [ 0 ] . clientHeight ; l . remove ( ) ; a . $ngfWidth = b ; a . $ngfHeight = c ; g . resolve ( { width : b , height : c } ) } function e ( ) { l . remove ( ) ; g . reject ( "load error" ) } function f ( ) { h ( function ( ) { l [ 0 ] . parentNode && ( l [ 0 ] . clientWidth ? c ( ) : 10 < t ++ ? e ( ) : f ( ) ) } , 1E3 ) } var l = angular . element ( "<img>" ) . attr ( "src" , b ) . css ( "visibility" , "hidden" ) . css ( "position" , "fixed" ) . css ( "max-width" , "none !important" ) . css ( "max-height" , "none !important" ) ; l . on ( "load" , c ) ; l . on ( "error" , e ) ; var t = 0 ; f ( ) ; angular . element ( document . getElementsByTagName ( "body" ) [ 0 ] ) . append ( l ) } ,
function ( ) { g . reject ( "load error" ) } ) } ) , a . $ngfDimensionPromise = g . promise , a . $ngfDimensionPromise [ "finally" ] ( function ( ) { delete a . $ngfDimensionPromise } ) , a . $ngfDimensionPromise } , b . mediaDuration = function ( a ) { if ( a . $ngfDuration ) { var c = f . defer ( ) ; return h ( function ( ) { c . resolve ( a . $ngfDuration ) } ) , c . promise } if ( a . $ngfDurationPromise ) return a . $ngfDurationPromise ; var g = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "audio" ) && 0 !== a . type . indexOf ( "video" ) ? void g . reject ( "not media" ) : void b . dataUrl ( a ) . then ( function ( b ) { function c ( ) { var b =
l [ 0 ] . duration ; a . $ngfDuration = b ; l . remove ( ) ; g . resolve ( b ) } function e ( ) { l . remove ( ) ; g . reject ( "load error" ) } function f ( ) { h ( function ( ) { l [ 0 ] . parentNode && ( l [ 0 ] . duration ? c ( ) : 10 < t ? e ( ) : f ( ) ) } , 1E3 ) } var l = angular . element ( 0 === a . type . indexOf ( "audio" ) ? "<audio>" : "<video>" ) . attr ( "src" , b ) . css ( "visibility" , "none" ) . css ( "position" , "fixed" ) ; l . on ( "loadedmetadata" , c ) ; l . on ( "error" , e ) ; var t = 0 ; f ( ) ; angular . element ( document . body ) . append ( l ) } , function ( ) { g . reject ( "load error" ) } ) } ) , a . $ngfDurationPromise = g . promise , a . $ngfDurationPromise [ "finally" ] ( function ( ) { delete a . $ngfDurationPromise } ) ,
a . $ngfDurationPromise } , b } ] ) ;
ngFileUpload . service ( "UploadResize" , [ "UploadValidate" , "$q" , function ( b , f ) { var h = function ( h , c , a , e , g , t , k , n ) { var l = f . defer ( ) , y = document . createElement ( "canvas" ) , u = document . createElement ( "img" ) ; return u . setAttribute ( "style" , "visibility:hidden;position:fixed;z-index:-100000" ) , document . body . appendChild ( u ) , u . onload = function ( ) { var f , h , r , B , E = u . width , q = u . height ; if ( u . parentNode . removeChild ( u ) , null != n && ! 1 === n ( E , q ) ) return void l . reject ( "resizeIf" ) ; try { if ( t ) { var p = b . ratioToFloat ( t ) ; p > E / q ? ( c = E , a = c / p ) : ( a = q , c = a * p ) } c ||
( c = E ) ; a || ( a = q ) ; var I = k ? Math . max ( c / E , a / q ) : Math . min ( c / E , a / q ) ; f = E * I ; h = q * I ; r = E * I - c ; B = q * I - a ; y . width = Math . min ( f , c ) ; y . height = Math . min ( h , a ) ; y . getContext ( "2d" ) . drawImage ( u , Math . min ( 0 , - r / 2 ) , Math . min ( 0 , - B / 2 ) , f , h ) ; l . resolve ( y . toDataURL ( g || "image/WebP" , e || . 934 ) ) } catch ( O ) { l . reject ( O ) } } , u . onerror = function ( ) { u . parentNode . removeChild ( u ) ; l . reject ( ) } , u . src = h , l . promise } ; return b . dataUrltoBlob = function ( b , c , a ) { var e = b . split ( "," ) ; b = e [ 0 ] . match ( /:(.*?);/ ) [ 1 ] ; for ( var e = atob ( e [ 1 ] ) , f = e . length , h = new Uint8Array ( f ) ; f -- ; ) h [ f ] = e . charCodeAt ( f ) ;
b = new window . Blob ( [ h ] , { type : b } ) ; return b . name = c , b . $ngfOrigSize = a , b } , b . isResizeSupported = function ( ) { var b = document . createElement ( "canvas" ) ; return window . atob && b . getContext && b . getContext ( "2d" ) && window . Blob } , b . isResizeSupported ( ) && Object . defineProperty ( window . Blob . prototype , "name" , { get : function ( ) { return this . $ngfName } , set : function ( b ) { this . $ngfName = b } , configurable : ! 0 } ) , b . resize = function ( l , c ) { if ( 0 !== l . type . indexOf ( "image" ) ) return b . emptyPromise ( l ) ; var a = f . defer ( ) ; return b . dataUrl ( l , ! 0 ) . then ( function ( e ) { h ( e ,
c . width , c . height , c . quality , c . type || l . type , c . ratio , c . centerCrop , c . resizeIf ) . then ( function ( f ) { if ( "image/jpeg" === l . type && ! 1 !== c . restoreExif ) try { f = b . restoreExif ( e , f ) } catch ( k ) { setTimeout ( function ( ) { throw k ; } , 1 ) } try { var g = b . dataUrltoBlob ( f , l . name , l . size ) ; a . resolve ( g ) } catch ( k ) { a . reject ( k ) } } , function ( b ) { "resizeIf" === b && a . resolve ( l ) ; a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b } ] ) ;
( function ( ) { function b ( b , l , c , a , e , g , t , k , n , r ) { function h ( ) { return l . attr ( "disabled" ) || q ( "ngfDropDisabled" , b ) } function u ( a , c , e ) { if ( a ) { var f ; try { f = a && a . getData && a . getData ( "text/html" ) } catch ( H ) { } B ( a . items , a . files , ! 1 !== q ( "ngfAllowDir" , b ) , q ( "multiple" ) || q ( "ngfMultiple" , b ) ) . then ( function ( a ) { a . length ? w ( a , c ) : A ( e , f ) . then ( function ( a ) { w ( a , c ) } ) } ) } } function w ( e , f ) { k . updateModel ( a , c , b , q ( "ngfChange" ) || q ( "ngfDrop" ) , e , f ) } function A ( a , e ) { if ( ! k . shouldUpdateOn ( a , c , b ) || "string" != typeof e ) return k . rejectPromise ( [ ] ) ; var f =
[ ] ; e . replace ( /<(img src|img [^>]* src) *=\"([^\"]*)\"/gi , function ( a , b , c ) { f . push ( c ) } ) ; var g = [ ] , h = [ ] ; if ( f . length ) { angular . forEach ( f , function ( a ) { g . push ( k . urlToBlob ( a ) . then ( function ( a ) { h . push ( a ) } ) ) } ) ; var l = r . defer ( ) ; return r . all ( g ) . then ( function ( ) { l . resolve ( h ) } , function ( a ) { l . reject ( a ) } ) , l . promise } return k . emptyPromise ( ) } function z ( a , b , c , e ) { b = q ( "ngfDragOverClass" , a , { $event : c } ) ; var f = "dragover" ; if ( angular . isString ( b ) ) f = b ; else if ( b && ( b . delay && ( J = b . delay ) , b . accept || b . reject ) ) { var g = c . dataTransfer . items ; if ( null !=
g && g . length ) for ( a = b . pattern || q ( "ngfPattern" , a , { $event : c } ) , c = g . length ; c -- ; ) { if ( ! k . validatePattern ( g [ c ] , a ) ) { f = b . reject ; break } f = b . accept } else f = b . accept } e ( f ) } function B ( a , e , f , g ) { function h ( a , b ) { var c = r . defer ( ) ; if ( null != a ) if ( a . isDirectory ) { var e = [ k . emptyPromise ( ) ] ; if ( u ) { var f = { type : "directory" } ; f . name = f . path = ( b || "" ) + a . name ; p . push ( f ) } var g = a . createReader ( ) , t = [ ] , q = function ( ) { g . readEntries ( function ( f ) { try { f . length ? ( t = t . concat ( Array . prototype . slice . call ( f || [ ] , 0 ) ) , q ( ) ) : ( angular . forEach ( t . slice ( 0 ) , function ( c ) { p . length <=
l && n >= z && e . push ( h ( c , ( b ? b : "" ) + a . name + "/" ) ) } ) , r . all ( e ) . then ( function ( ) { c . resolve ( ) } , function ( a ) { c . reject ( a ) } ) ) } catch ( sa ) { c . reject ( sa ) } } , function ( a ) { c . reject ( a ) } ) } ; q ( ) } else a . file ( function ( a ) { try { a . path = ( b ? b : "" ) + a . name , u && ( a = k . rename ( a , a . path ) ) , p . push ( a ) , z += a . size , c . resolve ( ) } catch ( sa ) { c . reject ( sa ) } } , function ( a ) { c . reject ( a ) } ) ; return c . promise } var l = k . getValidationAttr ( c , b , "maxFiles" ) ; null == l && ( l = Number . MAX _VALUE ) ; var n = k . getValidationAttr ( c , b , "maxTotalSize" ) ; null == n && ( n = Number . MAX _VALUE ) ; var u = q ( "ngfIncludeDir" ,
b ) , p = [ ] , z = 0 , y = [ k . emptyPromise ( ) ] ; if ( a && 0 < a . length && "file:" !== t . location . protocol ) for ( e = 0 ; e < a . length ; e ++ ) { if ( a [ e ] . webkitGetAsEntry && a [ e ] . webkitGetAsEntry ( ) && a [ e ] . webkitGetAsEntry ( ) . isDirectory ) { var w = a [ e ] . webkitGetAsEntry ( ) ; if ( w . isDirectory && ! f ) continue ; null != w && y . push ( h ( w ) ) } else w = a [ e ] . getAsFile ( ) , null != w && ( p . push ( w ) , z += w . size ) ; if ( p . length > l || z > n || ! g && 0 < p . length ) break } else if ( null != e ) for ( a = 0 ; a < e . length && ! ( f = e . item ( a ) , ( f . type || 0 < f . size ) && ( p . push ( f ) , z += f . size ) , p . length > l || z > n || ! g && 0 < p . length ) ; a ++ ) ;
var A = r . defer ( ) ; return r . all ( y ) . then ( function ( ) { if ( g || u || ! p . length ) A . resolve ( p ) ; else { for ( var a = 0 ; p [ a ] && "directory" === p [ a ] . type ; ) a ++ ; A . resolve ( [ p [ a ] ] ) } } , function ( a ) { A . reject ( a ) } ) , A . promise } var E = f ( ) , q = function ( a , b , e ) { return k . attrGetter ( a , c , b , e ) } ; if ( q ( "dropAvailable" ) && g ( function ( ) { b [ q ( "dropAvailable" ) ] ? b [ q ( "dropAvailable" ) ] . value = E : b [ q ( "dropAvailable" ) ] = E } ) , ! E ) return void ( ! 0 === q ( "ngfHideOnDropNotAvailable" , b ) && l . css ( "display" , "none" ) ) ; null == q ( "ngfSelect" ) && k . registerModelChangeValidator ( a , c , b ) ; var p ,
I = null , O = e ( q ( "ngfStopPropagation" ) ) , J = 1 ; l [ 0 ] . addEventListener ( "dragover" , function ( a ) { if ( ! h ( ) && k . shouldUpdateOn ( "drop" , c , b ) ) { if ( a . preventDefault ( ) , O ( b ) && a . stopPropagation ( ) , - 1 < navigator . userAgent . indexOf ( "Chrome" ) ) { var e = a . dataTransfer . effectAllowed ; a . dataTransfer . dropEffect = "move" === e || "linkMove" === e ? "move" : "copy" } g . cancel ( I ) ; p || ( p = "C" , z ( b , c , a , function ( c ) { p = c ; l . addClass ( p ) ; q ( "ngfDrag" , b , { $isDragging : ! 0 , $class : p , $event : a } ) } ) ) } } , ! 1 ) ; l [ 0 ] . addEventListener ( "dragenter" , function ( a ) { ! h ( ) && k . shouldUpdateOn ( "drop" ,
c , b ) && ( a . preventDefault ( ) , O ( b ) && a . stopPropagation ( ) ) } , ! 1 ) ; l [ 0 ] . addEventListener ( "dragleave" , function ( a ) { ! h ( ) && k . shouldUpdateOn ( "drop" , c , b ) && ( a . preventDefault ( ) , O ( b ) && a . stopPropagation ( ) , I = g ( function ( ) { p && l . removeClass ( p ) ; p = null ; q ( "ngfDrag" , b , { $isDragging : ! 1 , $event : a } ) } , J || 100 ) ) } , ! 1 ) ; l [ 0 ] . addEventListener ( "drop" , function ( a ) { ! h ( ) && k . shouldUpdateOn ( "drop" , c , b ) && ( a . preventDefault ( ) , O ( b ) && a . stopPropagation ( ) , p && l . removeClass ( p ) , p = null , u ( a . dataTransfer , a , "dropUrl" ) ) } , ! 1 ) ; l [ 0 ] . addEventListener ( "paste" , function ( a ) { - 1 <
navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && q ( "ngfEnableFirefoxPaste" , b ) && a . preventDefault ( ) ; ! h ( ) && k . shouldUpdateOn ( "paste" , c , b ) && u ( a . clipboardData || a . originalEvent . clipboardData , a , "pasteUrl" ) } , ! 1 ) ; - 1 < navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && q ( "ngfEnableFirefoxPaste" , b ) && ( l . attr ( "contenteditable" , ! 0 ) , l . on ( "keypress" , function ( a ) { a . metaKey || a . ctrlKey || a . preventDefault ( ) } ) ) } function f ( ) { var b = document . createElement ( "div" ) ; return "draggable" in b && "ondrop" in b && ! /Edge\/12./i . test ( navigator . userAgent ) }
ngFileUpload . directive ( "ngfDrop" , [ "$parse" , "$timeout" , "$window" , "Upload" , "$http" , "$q" , function ( f , l , c , a , e , g ) { return { restrict : "AEC" , require : "?ngModel" , link : function ( h , k , n , r ) { b ( h , k , n , r , f , l , c , a , e , g ) } } } ] ) ; ngFileUpload . directive ( "ngfNoFileDrop" , function ( ) { return function ( b , l ) { f ( ) && l . css ( "display" , "none" ) } } ) ; ngFileUpload . directive ( "ngfDropAvailable" , [ "$parse" , "$timeout" , "Upload" , function ( b , l , c ) { return function ( a , e , g ) { if ( f ( ) ) { var h = b ( c . attrGetter ( "ngfDropAvailable" , g ) ) ; l ( function ( ) { h ( a ) ; h . assign && h . assign ( a ,
! 0 ) } ) } } } ] ) } ) ( ) ;
ngFileUpload . service ( "UploadExif" , [ "UploadResize" , "$q" , function ( b , f ) { function h ( b , a , e , f ) { switch ( a ) { case 2 : return b . transform ( - 1 , 0 , 0 , 1 , e , 0 ) ; case 3 : return b . transform ( - 1 , 0 , 0 , - 1 , e , f ) ; case 4 : return b . transform ( 1 , 0 , 0 , - 1 , 0 , f ) ; case 5 : return b . transform ( 0 , 1 , 1 , 0 , 0 , 0 ) ; case 6 : return b . transform ( 0 , 1 , - 1 , 0 , f , 0 ) ; case 7 : return b . transform ( 0 , - 1 , - 1 , 0 , f , e ) ; case 8 : return b . transform ( 0 , - 1 , 1 , 0 , 0 , e ) } } function l ( b ) { var a = "" ; b = new Uint8Array ( b ) ; for ( var c = b . byteLength , f = 0 ; c > f ; f ++ ) a += String . fromCharCode ( b [ f ] ) ; return window . btoa ( a ) }
return b . isExifSupported = function ( ) { return window . FileReader && ( new FileReader ) . readAsArrayBuffer && b . isResizeSupported ( ) } , b . readOrientation = function ( b ) { var a = f . defer ( ) , c = new FileReader ; b = b . slice ? b . slice ( 0 , 65536 ) : b ; return c . readAsArrayBuffer ( b ) , c . onerror = function ( b ) { return a . reject ( b ) } , c . onload = function ( b ) { var c = { orientation : 1 } , e = new DataView ( this . result ) ; if ( 65496 !== e . getUint16 ( 0 , ! 1 ) ) return a . resolve ( c ) ; for ( var f = e . byteLength , g = 2 ; f > g ; ) { var h = e . getUint16 ( g , ! 1 ) ; if ( g += 2 , 65505 === h ) { if ( 1165519206 !== e . getUint32 ( g +=
2 , ! 1 ) ) break ; for ( var h = 18761 === e . getUint16 ( g += 6 , ! 1 ) , g = g + e . getUint32 ( g + 4 , h ) , l = e . getUint16 ( g , h ) , g = g + 2 , w = 0 ; l > w ; w ++ ) if ( 274 === e . getUint16 ( g + 12 * w , h ) ) return f = e . getUint16 ( g + 12 * w + 8 , h ) , 2 <= f && 8 >= f && ( e . setUint16 ( g + 12 * w + 8 , 1 , h ) , c . fixedArrayBuffer = b . target . result ) , c . orientation = f , a . resolve ( c ) } else { if ( 65280 !== ( 65280 & h ) ) break ; g += e . getUint16 ( g , ! 1 ) } } return a . resolve ( c ) } , a . promise } , b . applyExifRotation = function ( c ) { if ( 0 !== c . type . indexOf ( "image/jpeg" ) ) return b . emptyPromise ( c ) ; var a = f . defer ( ) ; return b . readOrientation ( c ) . then ( function ( e ) { return 2 >
e . orientation || 8 < e . orientation ? a . resolve ( c ) : void b . dataUrl ( c , ! 0 ) . then ( function ( f ) { var g = document . createElement ( "canvas" ) , k = document . createElement ( "img" ) ; k . onload = function ( ) { try { g . width = 4 < e . orientation ? k . height : k . width ; g . height = 4 < e . orientation ? k . width : k . height ; var f = g . getContext ( "2d" ) ; h ( f , e . orientation , k . width , k . height ) ; f . drawImage ( k , 0 , 0 ) ; var t = g . toDataURL ( c . type || "image/WebP" , . 934 ) , t = b . restoreExif ( l ( e . fixedArrayBuffer ) , t ) , y = b . dataUrltoBlob ( t , c . name ) ; a . resolve ( y ) } catch ( u ) { return a . reject ( u ) } } ; k . onerror =
function ( ) { a . reject ( ) } ; k . src = f } , function ( b ) { a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b . restoreExif = function ( b , a ) { var c = { } ; return c . KEY _STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" , c . encode64 = function ( a ) { var b , c , e , f , g = "" , h , l , A = 0 ; do b = a [ A ++ ] , c = a [ A ++ ] , h = a [ A ++ ] , e = b >> 2 , b = ( 3 & b ) << 4 | c >> 4 , f = ( 15 & c ) << 2 | h >> 6 , l = 63 & h , isNaN ( c ) ? f = l = 64 : isNaN ( h ) && ( l = 64 ) , g = g + this . KEY _STR . charAt ( e ) + this . KEY _STR . charAt ( b ) + this . KEY _STR . charAt ( f ) + this . KEY _STR . charAt ( l ) ; while ( A < a . length ) ; return g } , c . restore =
2017-07-31 21:30:55 +00:00
function ( a , b ) { a . match ( "data:image/jpeg;base64," ) && ( a = a . replace ( "data:image/jpeg;base64," , "" ) ) ; var c = this . decode64 ( a ) , c = this . slice2Segments ( c ) , c = this . exifManipulation ( b , c ) ; return "data:image/jpeg;base64," + this . encode64 ( c ) } , c . exifManipulation = function ( a , b ) { var c = this . getExifArray ( b ) , c = this . insertExif ( a , c ) ; return new Uint8Array ( c ) } , c . getExifArray = function ( a ) { for ( var b , c = 0 ; c < a . length ; c ++ ) if ( b = a [ c ] , 255 === b [ 0 ] & 225 === b [ 1 ] ) return b ; return [ ] } , c . insertExif = function ( a , b ) { var c = a . replace ( "data:image/jpeg;base64," ,
2017-09-20 18:29:17 +00:00
"" ) , e = this . decode64 ( c ) , f = e . indexOf ( 255 , 3 ) , c = e . slice ( 0 , f ) , e = e . slice ( f ) ; return c = c . concat ( b ) , c . concat ( e ) } , c . slice2Segments = function ( a ) { for ( var b = 0 , c = [ ] ; ! ( 255 === a [ b ] & 218 === a [ b + 1 ] ) ; ) { if ( 255 === a [ b ] & 216 === a [ b + 1 ] ) b += 2 ; else { var e = b + ( 256 * a [ b + 2 ] + a [ b + 3 ] ) + 2 , b = a . slice ( b , e ) ; c . push ( b ) ; b = e } if ( b > a . length ) break } return c } , c . decode64 = function ( a ) { var b , c , e , f , g , h = 0 , l = [ ] ; /[^A-Za-z0-9\+\/\=]/g . exec ( a ) && console . log ( "There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, NaNExpect errors in decoding." ) ;
a = a . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; do b = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , c = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , e = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , g = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , b = b << 2 | c >> 4 , c = ( 15 & c ) << 4 | e >> 2 , f = ( 3 & e ) << 6 | g , l . push ( b ) , 64 !== e && l . push ( c ) , 64 !== g && l . push ( f ) ; while ( h < a . length ) ; return l } , c . restore ( b , a ) } , b } ] ) ; "undefined" != typeof module && "undefined" != typeof exports && module . exports === exports && ( module . exports = "ui.date" ) ;
( function ( b ) { b . module ( "ui.date" , [ ] ) . constant ( "uiDateConfig" , { } ) . constant ( "uiDateFormatConfig" , "" ) . factory ( "uiDateConverter" , [ "uiDateFormatConfig" , function ( f ) { return { stringToDate : function ( h , l ) { if ( h = h || f , b . isDate ( l ) && ! isNaN ( l ) ) return l ; if ( b . isString ( l ) ) { if ( h ) return jQuery . datepicker . parseDate ( h , l ) ; var c = new Date ( l ) ; return isNaN ( c . getTime ( ) ) ? null : c } return b . isNumber ( l ) ? new Date ( l ) : null } , dateToString : function ( b , l ) { if ( b = b || f , l ) { if ( b ) try { return jQuery . datepicker . formatDate ( b , l ) } catch ( c ) { return } if ( l . toISOString ) return l . toISOString ( ) } return null } } } ] ) . directive ( "uiDate" ,
[ "uiDateConfig" , "uiDateConverter" , function ( f , h ) { return { require : "?ngModel" , link : function ( l , c , a , e ) { var g = function ( ) { return b . extend ( { } , f , l . $eval ( a . uiDate ) ) } ; l . $watch ( g , function ( ) { function f ( ) { var a = [ "Hours" , "Minutes" , "Seconds" , "Milliseconds" ] , f = b . isDate ( e . $modelValue ) , g = { } ; f && e . $modelValue . toDateString ( ) === c . datepicker ( "getDate" ) . toDateString ( ) || ( f && b . forEach ( a , function ( a ) { g [ a ] = e . $modelValue [ "get" + a ] ( ) } ) , e . $setViewValue ( c . datepicker ( "getDate" ) ) , f && b . forEach ( a , function ( a ) { e . $viewValue [ "set" + a ] ( g [ a ] ) } ) ) }
var k = ! 1 , n = g ( ) ; if ( e ) { var r = n . onSelect || b . noop ; n . onSelect = function ( a , b ) { l . $apply ( function ( ) { k = ! 0 ; f ( ) ; r ( a , b ) ; c . blur ( ) } ) } ; var y = n . beforeShow || b . noop ; n . beforeShow = function ( a , b ) { k = ! 0 ; y ( a , b ) } ; var u = n . onClose || b . noop ; n . onClose = function ( a , b ) { k = ! 1 ; u ( a , b ) } ; c . off ( "blur.datepicker" ) . on ( "blur.datepicker" , function ( ) { k || l . $apply ( function ( ) { c . datepicker ( "setDate" , c . datepicker ( "getDate" ) ) ; f ( ) } ) } ) ; e . $validators . uiDateValidator = function ( c , e ) { return b . isDate ( h . stringToDate ( a . uiDateFormat , e ) ) } ; e . $parsers . push ( function ( b ) { return h . stringToDate ( a . uiDateFormat ,
b ) } ) ; e . $render = function ( ) { c . datepicker ( "setDate" , e . $modelValue ) } } c . data ( "datepicker" ) ? ( c . datepicker ( "option" , n ) , c . datepicker ( "refresh" ) ) : ( c . datepicker ( n ) , c . on ( "$destroy" , function ( ) { c . datepicker ( "hide" ) ; c . datepicker ( "destroy" ) } ) ) ; e && e . $render ( ) } , ! 0 ) } } } ] ) . directive ( "uiDateFormat" , [ "uiDateConverter" , function ( b ) { return { require : "ngModel" , link : function ( f , l , c , a ) { var e = c . uiDateFormat ; a . $formatters . unshift ( function ( a ) { return b . stringToDate ( e , a ) } ) ; a . $parsers . push ( function ( a ) { return b . dateToString ( e , a ) } ) } } } ] ) } ) ( angular ) ;
angular . module ( "angular-input-stars" , [ ] ) . service ( "FontAwesomeIcons" , [ "$http" , "$q" , function ( b , f ) { this . get = function ( ) { var h = f . defer ( ) ; return b . get ( "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/gh-pages/icons.yml" ) . then ( function ( b ) { var c = { iconMap : { } , iconList : [ ] , iconCategoryList : [ ] } ; b = jsyaml . load ( b . data ) . icons ; for ( var a = 0 ; a < b . length ; a ++ ) { c . iconMap [ b [ a ] . name ] = b [ a ] . id ; c . iconList . push ( b [ a ] . name ) ; for ( var e = 0 ; e < b [ a ] . categories . length ; e ++ ) c . iconCategoryList [ b [ a ] . categories [ e ] ] || ( c . iconCategoryList [ b [ a ] . categories [ e ] ] =
[ ] ) , c . iconCategoryList [ b [ a ] . categories [ e ] ] . push ( b [ a ] . name ) } h . resolve ( c ) } , function ( b ) { var c = "Could not fetch FontAwesome Github Repo" ; b || ( c = b . data || b ) ; h . reject ( c ) } ) , h . promise } } ] ) . filter ( "toFaIcon" , [ "FontAwesomeIcons" , "$timeout" , function ( b , f ) { return function ( b , f , c ) { var a = { full : "" , empty : "" } ; b = 0 <= _ _indexOf . call ( c . iconList , b ) ? ( a . full = "fa-" + c . iconMap [ b ] , a . empty = "fa-" + c . iconMap [ b ] + "-o" , "thumbs-up" == b || "thumbs-down" == b ? a . empty = "fa-" + c . iconMap [ b ] . split ( "-" ) [ 0 ] + "-o-" + c . iconMap [ b ] . split ( "-" ) [ 1 ] : "Smile Outlined" ==
b && ( a . empty = "fa-frown-o" ) , a ) : ( console . error ( "Error no shape of type: " + b + " for rating input" ) , a ) ; return f ? b . empty : b . full } } ] ) . directive ( "inputStars" , [ "$rootScope" , "$filter" , "FontAwesomeIcons" , "$q" , function ( b , f , h , l ) { return { restrict : "EA" , replace : ! 0 , template : '<ul ng-class="listClass"><li ng-touch="paintStars($index)" ng-mouseenter="paintStars($index, true)" ng-mouseleave="unpaintStars($index, false)" ng-repeat="item in items track by $index"><i ng-class="getClass($index)" ng-click="setValue($index, $event)"></i></li></ul>' ,
require : "ngModel" , scope : ! 0 , link : function ( b , a , e , g ) { var c , k , n , r ; ( function ( ) { var a = l . defer ( ) ; return h . get ( ) . then ( function ( b ) { a . resolve ( b ) } , function ( b ) { a . reject ( Error ( "toShapeIcon Error: " + b ) ) } ) , a . promise } ) ( ) . then ( function ( h ) { b . items = Array ( + e . max ) ; c = f ( "toFaIcon" ) ( e . iconEmpty , ! 0 , h ) || e . iconEmpty || "fa-stars-o" ; k = e . iconHover || "angular-input-stars-hover" ; n = f ( "toFaIcon" ) ( e . iconFull , ! 1 , h ) || e . iconEmpty || "fa-stars" ; r = e . iconBase || "fa fa-fw" ; b . listClass = e . listClass || "angular-input-stars" ; b . readonly = void 0 !== e . readonly ;
! 0 ; e . $observe ( "max" , function ( a ) { b . items = Array ( + a ) } ) ; e . $observe ( "iconEmpty" , function ( a ) { c = f ( "toFaIcon" ) ( a , ! 0 , h ) || a || "fa-stars-o" } ) ; e . $observe ( "iconFull" , function ( a ) { n = f ( "toFaIcon" ) ( a , ! 1 , h ) || a || "fa-stars" } ) ; g . $render = function ( ) { b . last _value = g . $viewValue || 0 } ; b . getClass = function ( a ) { return a >= b . last _value ? r + " " + c : r + " " + n + " active " } ; b . unpaintStars = function ( a , c ) { b . paintStars ( b . last _value - 1 , c ) } ; b . paintStars = function ( e , f ) { if ( ! b . readonly ) { for ( var g = a . find ( "li" ) . find ( "i" ) , h = 0 ; h < g . length ; h ++ ) { var l = angular . element ( g [ h ] ) ;
e >= h ? ( l . removeClass ( c ) , l . addClass ( n ) , l . addClass ( "active" ) , l . addClass ( k ) ) : ( l . removeClass ( n ) , l . removeClass ( "active" ) , l . removeClass ( k ) , l . addClass ( c ) ) } ! f && g . removeClass ( k ) } } ; b . setValue = function ( a , c ) { b . readonly || ( c . target . getBoundingClientRect ( ) , b . last _value = a + 1 , g . $setViewValue ( b . last _value ) , e . onShapeClick && b . $eval ( e . onStarClick ) ) } } , function ( a ) { console . error ( "angular-input-stars.js | " + a . message || a ) } ) } } } ] ) ;
! function ( b ) { var f = function ( a , b ) { var c = Error ( a + " at character " + b ) ; throw c . index = b , c . description = a , c ; } , h = { "-" : ! 0 , "!" : ! 0 , "~" : ! 0 , "+" : ! 0 } , l = { "||" : 1 , "&&" : 2 , "|" : 3 , "^" : 4 , "&" : 5 , "==" : 6 , "!=" : 6 , "===" : 6 , "!==" : 6 , "<" : 7 , ">" : 7 , "<=" : 7 , ">=" : 7 , "<<" : 8 , ">>" : 8 , ">>>" : 8 , "+" : 9 , "-" : 9 , "*" : 10 , "/" : 10 , "%" : 10 } , c = function ( a ) { var b , c = 0 , e ; for ( e in a ) ( b = e . length ) > c && a . hasOwnProperty ( e ) && ( c = b ) ; return c } , a = c ( h ) , e = c ( l ) , g = { "true" : ! 0 , "false" : ! 1 , "null" : null } , t = function ( a , b , c ) { return { type : "||" === a || "&&" === a ? "LogicalExpression" : "BinaryExpression" ,
operator : a , left : b , right : c } } , k = function ( a ) { return 48 <= a && 57 >= a } , n = function ( a ) { return 36 === a || 95 === a || 65 <= a && 90 >= a || 97 <= a && 122 >= a || 128 <= a && ! l [ String . fromCharCode ( a ) ] } , r = function ( b ) { for ( var c , u , r = 0 , y = b . charAt , E = b . charCodeAt , q = function ( a ) { return y . call ( b , a ) } , p = function ( a ) { return E . call ( b , a ) } , I = b . length , O = function ( ) { for ( var a = p ( r ) ; 32 === a || 9 === a ; ) a = p ( ++ r ) } , J = function ( ) { var a , b , c ; var e , g , k , h , n ; if ( e = N ( ) , g = G ( ) , g ) { h = { value : g , prec : l [ g ] || 0 } ; ( n = N ( ) ) || f ( "Expected expression after " + g , r ) ; for ( c = [ e , h , n ] ; ( g = G ( ) ) &&
( k = l [ g ] || 0 , 0 !== k ) ; ) { for ( h = { value : g , prec : k } ; 2 < c . length && k <= c [ c . length - 2 ] . prec ; ) n = c . pop ( ) , g = c . pop ( ) . value , e = c . pop ( ) , e = t ( g , e , n ) , c . push ( e ) ; ( e = N ( ) ) || f ( "Expected expression after " + g , r ) ; c . push ( h , e ) } g = c . length - 1 ; for ( e = c [ g ] ; 1 < g ; ) e = t ( c [ g - 1 ] . value , c [ g - 2 ] , e ) , g -= 2 } c = e ; return O ( ) , 63 !== p ( r ) ? c : ( r ++ , a = J ( ) , a || f ( "Expected expression" , r ) , O ( ) , 58 === p ( r ) ? ( r ++ , b = J ( ) , b || f ( "Expected expression" , r ) , { type : "ConditionalExpression" , test : c , consequent : a , alternate : b } ) : void f ( "Expected :" , r ) ) } , G = function ( ) { O ( ) ; for ( var a = b . substr ( r ,
e ) , c = a . length ; 0 < c ; ) { if ( l . hasOwnProperty ( a ) ) return r += c , a ; a = a . substr ( 0 , -- c ) } return ! 1 } , N = function ( ) { var c , e , g ; if ( O ( ) , c = p ( r ) , k ( c ) || 46 === c ) { var l ; for ( e = "" ; k ( p ( r ) ) ; ) e += q ( r ++ ) ; if ( 46 === p ( r ) ) for ( e += q ( r ++ ) ; k ( p ( r ) ) ; ) e += q ( r ++ ) ; if ( g = q ( r ) , "e" === g || "E" === g ) { e += q ( r ++ ) ; g = q ( r ) ; for ( "+" !== g && "-" !== g || ( e += q ( r ++ ) ) ; k ( p ( r ) ) ; ) e += q ( r ++ ) ; k ( p ( r - 1 ) ) || f ( "Expected exponent (" + e + q ( r ) + ")" , r ) } return l = p ( r ) , n ( l ) ? f ( "Variable names cannot start with a number (" + e + q ( r ) + ")" , r ) : 46 === l && f ( "Unexpected period" , r ) , { type : "Literal" , value : parseFloat ( e ) ,
raw : e } } if ( 39 === c || 34 === c ) { g = "" ; l = q ( r ++ ) ; for ( c = ! 1 ; r < I ; ) { if ( e = q ( r ++ ) , e === l ) { c = ! 0 ; break } if ( "\\" === e ) switch ( e = q ( r ++ ) ) { case "n" : g += "\n" ; break ; case "r" : g += "\r" ; break ; case "t" : g += "\t" ; break ; case "b" : g += "\b" ; break ; case "f" : g += "\f" ; break ; case "v" : g += "\x0B" ; break ; default : g += "\\" + e } else g += e } return c || f ( 'Unclosed quote after "' + g + '"' , r ) , { type : "Literal" , value : g , raw : l + g + l } } if ( n ( c ) || 40 === c ) { e = p ( r ) ; 40 === e ? ( r ++ , e = J ( ) , e = ( O ( ) , 41 === p ( r ) ? ( r ++ , e ) : void f ( "Unclosed (" , r ) ) ) : e = T ( ) ; g = e ; O ( ) ; for ( e = p ( r ) ; 46 === e || 91 === e || 40 ===
e ; ) r ++ , 46 === e ? ( O ( ) , g = { type : "MemberExpression" , computed : ! 1 , object : g , property : T ( ) } ) : 91 === e ? ( g = { type : "MemberExpression" , computed : ! 0 , object : g , property : J ( ) } , O ( ) , e = p ( r ) , 93 !== e && f ( "Unclosed [" , r ) , r ++ ) : 40 === e && ( g = { type : "CallExpression" , arguments : X ( 41 ) , callee : g } ) , O ( ) , e = p ( r ) ; return g } if ( 91 === c ) return r ++ , { type : "ArrayExpression" , elements : X ( 93 ) } ; e = b . substr ( r , a ) ; for ( g = e . length ; 0 < g ; ) { if ( h . hasOwnProperty ( e ) ) return r += g , { type : "UnaryExpression" , operator : e , argument : N ( ) , prefix : ! 0 } ; e = e . substr ( 0 , -- g ) } return ! 1 } , T = function ( ) { var a ,
c = p ( r ) , e = r ; for ( n ( c ) ? r ++ : f ( "Unexpected " + q ( r ) , r ) ; r < I && ( c = p ( r ) , 36 === c || 95 === c || 65 <= c && 90 >= c || 97 <= c && 122 >= c || 48 <= c && 57 >= c || 128 <= c && ! l [ String . fromCharCode ( c ) ] ) ; ) r ++ ; return a = b . slice ( e , r ) , g . hasOwnProperty ( a ) ? { type : "Literal" , value : g [ a ] , raw : a } : "this" === a ? { type : "ThisExpression" } : { type : "Identifier" , name : a } } , X = function ( a ) { for ( var b , c , e = [ ] , g = ! 1 ; r < I ; ) { if ( O ( ) , b = p ( r ) , b === a ) { g = ! 0 ; r ++ ; break } 44 === b ? r ++ : ( c = J ( ) , c && "Compound" !== c . type || f ( "Expected comma" , r ) , e . push ( c ) ) } return g || f ( "Expected " + String . fromCharCode ( a ) , r ) ,
e } , H = [ ] ; r < I ; ) c = p ( r ) , 59 === c || 44 === c ? r ++ : ( u = J ( ) ) ? H . push ( u ) : r < I && f ( 'Unexpected "' + q ( r ) + '"' , r ) ; return 1 === H . length ? H [ 0 ] : { type : "Compound" , body : H } } ; if ( r . version = "0.3.1" , r . toString = function ( ) { return "JavaScript Expression Parser (JSEP) v" + r . version } , r . addUnaryOp = function ( b ) { return a = Math . max ( b . length , a ) , h [ b ] = ! 0 , this } , r . addBinaryOp = function ( a , b ) { return e = Math . max ( a . length , e ) , l [ a ] = b , this } , r . addLiteral = function ( a , b ) { return g [ a ] = b , this } , r . removeUnaryOp = function ( b ) { return delete h [ b ] , b . length === a && ( a = c ( h ) ) , this } ,
r . removeBinaryOp = function ( a ) { return delete l [ a ] , a . length === e && ( e = c ( l ) ) , this } , r . removeLiteral = function ( a ) { return delete g [ a ] , this } , "undefined" == typeof exports ) { var y = b . jsep ; b . jsep = r ; r . noConflict = function ( ) { return b . jsep === r && ( b . jsep = y ) , r } } else "undefined" != typeof module && module . exports ? exports = module . exports = r : exports . parse = r } ( this ) ;
! function ( b ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = b ( ) : "function" == typeof define && define . amd ? define ( [ ] , b ) : ( "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ) . Raven = b ( ) } ( function ( ) { return function f ( h , l , c ) { function a ( g , k ) { if ( ! l [ g ] ) { if ( ! h [ g ] ) { var n = "function" == typeof require && require ; if ( ! k && n ) return n ( g , ! 0 ) ; if ( e ) return e ( g , ! 0 ) ; n = Error ( "Cannot find module '" + g + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = l [ g ] = { exports : { } } ;
h [ g ] [ 0 ] . call ( n . exports , function ( c ) { var e = h [ g ] [ 1 ] [ c ] ; return a ( e ? e : c ) } , n , n . exports , f , h , l , c ) } return l [ g ] . exports } for ( var e = "function" == typeof require && require , g = 0 ; g < c . length ; g ++ ) a ( c [ g ] ) ; return a } ( { 1 : [ function ( f , h , l ) { function c ( a ) { this . name = "RavenConfigError" ; this . message = a } c . prototype = Error ( ) ; c . prototype . constructor = c ; h . exports = c } , { } ] , 2 : [ function ( f , h , l ) { h . exports = { wrapMethod : function ( c , a , e ) { var f = c [ a ] ; if ( a in c ) { var h = "warn" === a ? "warning" : a ; c [ a ] = function ( ) { var a = [ ] . slice . call ( arguments ) , g = "" + a . join ( " " ) ,
l = { level : h , logger : "console" , extra : { arguments : a } } ; e && e ( g , l ) ; f && Function . prototype . apply . call ( f , c , a ) } } } } } , { } ] , 3 : [ function ( f , h , l ) { ( function ( c ) { function a ( ) { this . a = ! ( "object" != typeof JSON || ! JSON . stringify ) ; this . b = void 0 !== R ; this . c = void 0 !== U ; this . i = this . h = this . g = this . f = this . e = this . d = null ; this . j = { } ; this . k = { logger : "javascript" , ignoreErrors : [ ] , ignoreUrls : [ ] , whitelistUrls : [ ] , includePaths : [ ] , crossOrigin : "anonymous" , collectWindowErrors : ! 0 , maxMessageLength : 0 , stackTraceLimit : 50 , autoBreadcrumbs : ! 0 , sampleRate : 1 } ;
this . l = 0 ; this . m = ! 1 ; this . n = Error . stackTraceLimit ; this . o = H . console || { } ; this . p = { } ; this . q = [ ] ; this . r = + new Date ; this . s = [ ] ; this . t = [ ] ; this . u = null ; this . w = ( this . v = H . location ) && this . v . href ; this . x ( ) ; for ( var a in this . o ) this . p [ a ] = this . o [ a ] } function e ( a ) { return "function" == typeof a } function g ( a ) { return "[object String]" === ha . toString . call ( a ) } function l ( a ) { for ( var c in a ) return ! 1 ; return ! 0 } function k ( a , c ) { var e , f ; if ( void 0 === a . length ) for ( e in a ) ha . hasOwnProperty . call ( a , e ) && c . call ( null , e , a [ e ] ) ; else if ( f = a . length ) for ( e =
0 ; e < f ; e ++ ) c . call ( null , e , a [ e ] ) } function n ( a , c ) { return c ? ( k ( c , function ( c , e ) { a [ c ] = e } ) , a ) : a } function r ( a , c ) { return ! c || a . length <= c ? a : a . substr ( 0 , c ) + "\u2026" } function y ( a ) { for ( var c , e = [ ] , f = 0 , k = a . length ; f < k ; f ++ ) c = a [ f ] , g ( c ) ? e . push ( c . replace ( /([.*+?^=!:${}()|\[\]\/\\])/g , "\\$1" ) ) : c && c . source && e . push ( c . source ) ; return new RegExp ( e . join ( "|" ) , "i" ) } function u ( a ) { var c = [ ] ; return k ( a , function ( a , e ) { c . push ( encodeURIComponent ( a ) + "=" + encodeURIComponent ( e ) ) } ) , c . join ( "&" ) } function w ( a ) { return ( a = a . match ( /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/ ) ) ?
{ protocol : a [ 2 ] , host : a [ 4 ] , path : a [ 5 ] , relative : a [ 5 ] + ( a [ 6 ] || "" ) + ( a [ 8 ] || "" ) } : { } } function A ( ) { var a = H . crypto || H . msCrypto ; if ( void 0 !== a && a . getRandomValues ) { var c = new Uint16Array ( 8 ) ; a . getRandomValues ( c ) ; c [ 3 ] = 4095 & c [ 3 ] | 16384 ; c [ 4 ] = 16383 & c [ 4 ] | 32768 ; a = function ( a ) { for ( a = a . toString ( 16 ) ; 4 > a . length ; ) a = "0" + a ; return a } ; return a ( c [ 0 ] ) + a ( c [ 1 ] ) + a ( c [ 2 ] ) + a ( c [ 3 ] ) + a ( c [ 4 ] ) + a ( c [ 5 ] ) + a ( c [ 6 ] ) + a ( c [ 7 ] ) } return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx" . replace ( /[xy]/g , function ( a ) { var c = 16 * Math . random ( ) | 0 ; return ( "x" === a ? c : 3 & c | 8 ) . toString ( 16 ) } ) }
function z ( a ) { var c , e , f , k = [ ] ; if ( ! a || ! a . tagName ) return "" ; if ( k . push ( a . tagName . toLowerCase ( ) ) , a . id && k . push ( "#" + a . id ) , c = a . className , c && g ( c ) ) for ( e = c . split ( /\s+/ ) , c = 0 ; c < e . length ; c ++ ) k . push ( "." + e [ c ] ) ; var h = [ "type" , "name" , "title" , "alt" ] ; for ( c = 0 ; c < h . length ; c ++ ) e = h [ c ] , ( f = a . getAttribute ( e ) ) && k . push ( "[" + e + '="' + f + '"]' ) ; return k . join ( "" ) } function B ( a , c ) { if ( ! ! a ^ ! ! c ) return ! 1 ; var e = a . frames , f = c . frames ; if ( e . length !== f . length ) return ! 1 ; for ( var g , k , h = 0 ; h < e . length ; h ++ ) if ( g = e [ h ] , k = f [ h ] , g . filename !== k . filename || g . lineno !==
k . lineno || g . colno !== k . colno || g [ "function" ] !== k [ "function" ] ) return ! 1 ; return ! 0 } function E ( a , c , e , f ) { var g = a [ c ] ; a [ c ] = e ( g ) ; f && f . push ( [ a , c , g ] ) } var q = f ( 6 ) , p = f ( 7 ) , I = f ( 1 ) , O = f ( 5 ) , J = O . isError , G = O . isObject , N = f ( 2 ) . wrapMethod , T = "source protocol user pass host port path" . split ( " " ) , X = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/ , H = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , R = H . document , U = H . navigator ; a . prototype = { VERSION : "3.13.1" , debug : ! 1 , TraceKit : q ,
config : function ( a , c ) { var e = this ; if ( e . g ) return this . y ( "error" , "Error: Raven has already been configured" ) , e ; if ( ! a ) return e ; var f = e . k ; c && k ( c , function ( a , c ) { "tags" === a || "extra" === a || "user" === a ? e . j [ a ] = c : f [ a ] = c } ) ; e . setDSN ( a ) ; f . ignoreErrors . push ( /^Script error\.?$/ ) ; f . ignoreErrors . push ( /^Javascript error: Script error\.? on line 0$/ ) ; f . ignoreErrors = y ( f . ignoreErrors ) ; f . ignoreUrls = ! ! f . ignoreUrls . length && y ( f . ignoreUrls ) ; f . whitelistUrls = ! ! f . whitelistUrls . length && y ( f . whitelistUrls ) ; f . includePaths = y ( f . includePaths ) ;
f . maxBreadcrumbs = Math . max ( 0 , Math . min ( f . maxBreadcrumbs || 100 , 100 ) ) ; var g = { xhr : ! 0 , console : ! 0 , dom : ! 0 , location : ! 0 } , h = f . autoBreadcrumbs ; return "[object Object]" === { } . toString . call ( h ) ? h = n ( g , h ) : ! 1 !== h && ( h = g ) , f . autoBreadcrumbs = h , q . collectWindowErrors = ! ! f . collectWindowErrors , e } , install : function ( ) { var a = this ; return a . isSetup ( ) && ! a . m && ( q . report . subscribe ( function ( ) { a . z . apply ( a , arguments ) } ) , a . A ( ) , a . k . autoBreadcrumbs && a . B ( ) , a . C ( ) , a . m = ! 0 ) , Error . stackTraceLimit = a . k . stackTraceLimit , this } , setDSN : function ( a ) { var c = this . D ( a ) ,
e = c . path . lastIndexOf ( "/" ) , f = c . path . substr ( 1 , e ) ; this . E = a ; this . h = c . user ; this . F = c . pass && c . pass . substr ( 1 ) ; this . i = c . path . substr ( e + 1 ) ; this . g = this . G ( c ) ; this . H = this . g + "/" + f + "api/" + this . i + "/store/" ; this . x ( ) } , context : function ( a , c , f ) { return e ( a ) && ( f = c || [ ] , c = a , a = void 0 ) , this . wrap ( a , c ) . apply ( this , f ) } , wrap : function ( a , c , f ) { function g ( ) { var g = [ ] , h = arguments . length , l = ! a || a && ! 1 !== a . deep ; for ( f && e ( f ) && f . apply ( this , arguments ) ; h -- ; ) g [ h ] = l ? k . wrap ( a , arguments [ h ] ) : arguments [ h ] ; try { return c . apply ( this , g ) } catch ( V ) { throw k . I ( ) ,
k . captureException ( V , a ) , V ; } } var k = this ; if ( void 0 === c && ! e ( a ) ) return a ; if ( e ( a ) && ( c = a , a = void 0 ) , ! e ( c ) ) return c ; try { if ( c . J ) return c ; if ( c . K ) return c . K } catch ( M ) { return c } for ( var h in c ) ha . hasOwnProperty . call ( c , h ) && ( g [ h ] = c [ h ] ) ; return g . prototype = c . prototype , c . K = g , g . J = ! 0 , g . L = c , g } , uninstall : function ( ) { return q . report . uninstall ( ) , this . M ( ) , Error . stackTraceLimit = this . n , this . m = ! 1 , this } , captureException : function ( a , c ) { if ( ! J ( a ) ) return this . captureMessage ( a , n ( { trimHeadFrames : 1 , stacktrace : ! 0 } , c ) ) ; this . d = a ; try { var e =
q . computeStackTrace ( a ) ; this . N ( e , c ) } catch ( W ) { if ( a !== W ) throw W ; } return this } , captureMessage : function ( a , c ) { if ( ! this . k . ignoreErrors . test || ! this . k . ignoreErrors . test ( a ) ) { c = c || { } ; var e = n ( { message : a + "" } , c ) ; if ( this . k . stacktrace || c && c . stacktrace ) { var f ; try { throw Error ( a ) ; } catch ( P ) { f = P } f . name = null ; c = n ( { fingerprint : a , trimHeadFrames : ( c . trimHeadFrames || 0 ) + 1 } , c ) ; f = q . computeStackTrace ( f ) ; f = this . O ( f , c ) ; e . stacktrace = { frames : f . reverse ( ) } } return this . P ( e ) , this } } , captureBreadcrumb : function ( a ) { a = n ( { timestamp : + new Date /
1E3 } , a ) ; if ( e ( this . k . breadcrumbCallback ) ) { var c = this . k . breadcrumbCallback ( a ) ; if ( G ( c ) && ! l ( c ) ) a = c ; else if ( ! 1 === c ) return this } return this . t . push ( a ) , this . t . length > this . k . maxBreadcrumbs && this . t . shift ( ) , this } , addPlugin : function ( a ) { var c = [ ] . slice . call ( arguments , 1 ) ; return this . q . push ( [ a , c ] ) , this . m && this . C ( ) , this } , setUserContext : function ( a ) { return this . j . user = a , this } , setExtraContext : function ( a ) { return this . Q ( "extra" , a ) , this } , setTagsContext : function ( a ) { return this . Q ( "tags" , a ) , this } , clearContext : function ( ) { return this . j =
{ } , this } , getContext : function ( ) { return JSON . parse ( p ( this . j ) ) } , setEnvironment : function ( a ) { return this . k . environment = a , this } , setRelease : function ( a ) { return this . k . release = a , this } , setDataCallback : function ( a ) { var c = this . k . dataCallback ; return this . k . dataCallback = e ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setBreadcrumbCallback : function ( a ) { var c = this . k . breadcrumbCallback ; return this . k . breadcrumbCallback = e ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setShouldSendCallback : function ( a ) { var c = this . k . shouldSendCallback ;
return this . k . shouldSendCallback = e ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setTransport : function ( a ) { return this . k . transport = a , this } , lastException : function ( ) { return this . d } , lastEventId : function ( ) { return this . f } , isSetup : function ( ) { return ! ( ! this . a || ! this . g && ( this . ravenNotConfiguredError || ( this . ravenNotConfiguredError = ! 0 , this . y ( "error" , "Error: Raven has not been configured." ) ) , 1 ) ) } , afterLoad : function ( ) { var a = H . RavenConfig ; a && this . config ( a . dsn , a . config ) . install ( ) } , showReportDialog : function ( a ) { if ( R ) { a = a ||
{ } ; var c = a . eventId || this . lastEventId ( ) ; if ( ! c ) throw new I ( "Missing eventId" ) ; var e = a . dsn || this . E ; if ( ! e ) throw new I ( "Missing DSN" ) ; var f = encodeURIComponent , c = "?eventId=" + f ( c ) , c = c + ( "&dsn=" + f ( e ) ) ; ( a = a . user || this . j . user ) && ( a . name && ( c += "&name=" + f ( a . name ) ) , a . email && ( c += "&email=" + f ( a . email ) ) ) ; e = this . G ( this . D ( e ) ) ; f = R . createElement ( "script" ) ; f . async = ! 0 ; f . src = e + "/api/embed/error-page/" + c ; ( R . head || R . body ) . appendChild ( f ) } } , I : function ( ) { var a = this ; this . l += 1 ; setTimeout ( function ( ) { -- a . l } ) } , R : function ( a , c ) { var e ,
f ; if ( this . b ) { c = c || { } ; a = "raven" + a . substr ( 0 , 1 ) . toUpperCase ( ) + a . substr ( 1 ) ; R . createEvent ? ( e = R . createEvent ( "HTMLEvents" ) , e . initEvent ( a , ! 0 , ! 0 ) ) : ( e = R . createEventObject ( ) , e . eventType = a ) ; for ( f in c ) ha . hasOwnProperty . call ( c , f ) && ( e [ f ] = c [ f ] ) ; if ( R . createEvent ) R . dispatchEvent ( e ) ; else try { R . fireEvent ( "on" + e . eventType . toLowerCase ( ) , e ) } catch ( P ) { } } } , S : function ( a ) { var c = this ; return function ( e ) { if ( c . T = null , c . u !== e ) { c . u = e ; var f ; try { var g = e . target , k ; e = [ ] ; for ( var h = 0 , l = 0 ; g && 5 > h ++ && ( k = z ( g ) , ! ( "html" === k || 1 < h && 80 <= l + 3 * e . length +
k . length ) ) ; ) e . push ( k ) , l += k . length , g = g . parentNode ; f = e . reverse ( ) . join ( " > " ) } catch ( ca ) { f = "<unknown>" } c . captureBreadcrumb ( { category : "ui." + a , message : f } ) } } } , U : function ( ) { var a = this ; return function ( c ) { var e ; try { e = c . target } catch ( P ) { return } var f = e && e . tagName ; f && ( "INPUT" === f || "TEXTAREA" === f || e . isContentEditable ) && ( ( e = a . T ) || a . S ( "input" ) ( c ) , clearTimeout ( e ) , a . T = setTimeout ( function ( ) { a . T = null } , 1E3 ) ) } } , V : function ( a , c ) { var e = w ( this . v . href ) , f = w ( c ) , g = w ( a ) ; this . w = c ; e . protocol === f . protocol && e . host === f . host && ( c = f . relative ) ;
e . protocol === g . protocol && e . host === g . host && ( a = g . relative ) ; this . captureBreadcrumb ( { category : "navigation" , data : { to : c , from : a } } ) } , A : function ( ) { function a ( a ) { return function ( c , g ) { for ( var k = Array ( arguments . length ) , h = 0 ; h < k . length ; ++ h ) k [ h ] = arguments [ h ] ; h = k [ 0 ] ; return e ( h ) && ( k [ 0 ] = f . wrap ( h ) ) , a . apply ? a . apply ( this , k ) : a ( k [ 0 ] , k [ 1 ] ) } } function c ( a ) { var c = H [ a ] && H [ a ] . prototype ; c && c . hasOwnProperty && c . hasOwnProperty ( "addEventListener" ) && ( E ( c , "addEventListener" , function ( c ) { return function ( e , g , h , l ) { try { g && g . handleEvent &&
( g . handleEvent = f . wrap ( g . handleEvent ) ) } catch ( oa ) { } var n , t , v ; return k && k . dom && ( "EventTarget" === a || "Node" === a ) && ( t = f . S ( "click" ) , v = f . U ( ) , n = function ( a ) { if ( a ) { var c ; try { c = a . type } catch ( Z ) { return } return "click" === c ? t ( a ) : "keypress" === c ? v ( a ) : void 0 } } ) , c . call ( this , e , f . wrap ( g , void 0 , n ) , h , l ) } } , g ) , E ( c , "removeEventListener" , function ( a ) { return function ( c , e , f , g ) { try { e = e && ( e . K ? e . K : e ) } catch ( sa ) { } return a . call ( this , c , e , f , g ) } } , g ) ) } var f = this , g = f . s , k = this . k . autoBreadcrumbs ; E ( H , "setTimeout" , a , g ) ; E ( H , "setInterval" , a , g ) ; H . requestAnimationFrame &&
E ( H , "requestAnimationFrame" , function ( a ) { return function ( c ) { return a ( f . wrap ( c ) ) } } , g ) ; for ( var h = "EventTarget Window Node ApplicationCache AudioTrackList ChannelMergerNode CryptoOperation EventSource FileReader HTMLUnknownElement IDBDatabase IDBRequest IDBTransaction KeyOperation MediaController MessagePort ModalWindow Notification SVGElementInstance Screen TextTrack TextTrackCue TextTrackList WebSocket WebSocketWorker Worker XMLHttpRequest XMLHttpRequestEventTarget XMLHttpRequestUpload" . split ( " " ) ,
l = 0 ; l < h . length ; l ++ ) c ( h [ l ] ) } , B : function ( ) { function a ( a , f ) { a in f && e ( f [ a ] ) && E ( f , a , function ( a ) { return c . wrap ( a ) } ) } var c = this , f = this . k . autoBreadcrumbs , h = c . s ; if ( f . xhr && "XMLHttpRequest" in H ) { var l = XMLHttpRequest . prototype ; E ( l , "open" , function ( a ) { return function ( e , f ) { return g ( f ) && - 1 === f . indexOf ( c . h ) && ( this . W = { method : e , url : f , status _code : null } ) , a . apply ( this , arguments ) } } , h ) ; E ( l , "send" , function ( f ) { return function ( g ) { function k ( ) { if ( h . W && ( 1 === h . readyState || 4 === h . readyState ) ) { try { h . W . status _code = h . status } catch ( Da ) { } c . captureBreadcrumb ( { type : "http" ,
category : "xhr" , data : h . W } ) } } for ( var h = this , l = [ "onload" , "onerror" , "onprogress" ] , n = 0 ; n < l . length ; n ++ ) a ( l [ n ] , h ) ; return "onreadystatechange" in h && e ( h . onreadystatechange ) ? E ( h , "onreadystatechange" , function ( a ) { return c . wrap ( a , void 0 , k ) } ) : h . onreadystatechange = k , f . apply ( this , arguments ) } } , h ) } f . xhr && "fetch" in H && E ( H , "fetch" , function ( a ) { return function ( e , f ) { for ( var g = Array ( arguments . length ) , k = 0 ; k < g . length ; ++ k ) g [ k ] = arguments [ k ] ; k = "GET" ; g [ 1 ] && g [ 1 ] . method && ( k = g [ 1 ] . method ) ; var h = { method : k , url : g [ 0 ] , status _code : null } ;
return c . captureBreadcrumb ( { type : "http" , category : "fetch" , data : h } ) , a . apply ( this , g ) . then ( function ( a ) { return h . status _code = a . status , a } ) } } , h ) ; f . dom && this . b && ( R . addEventListener ? ( R . addEventListener ( "click" , c . S ( "click" ) , ! 1 ) , R . addEventListener ( "keypress" , c . U ( ) , ! 1 ) ) : ( R . attachEvent ( "onclick" , c . S ( "click" ) ) , R . attachEvent ( "onkeypress" , c . U ( ) ) ) ) ; l = H . chrome ; l = ! ( l && l . app && l . app . runtime ) && H . history && history . pushState ; if ( f . location && l ) { var n = H . onpopstate ; H . onpopstate = function ( ) { if ( c . V ( c . w , c . v . href ) , n ) return n . apply ( this ,
arguments ) } ; E ( history , "pushState" , function ( a ) { return function ( ) { var e = 2 < arguments . length ? arguments [ 2 ] : void 0 ; return e && c . V ( c . w , e + "" ) , a . apply ( this , arguments ) } } , h ) } if ( f . console && "console" in H && console . log ) { var t = function ( a , e ) { c . captureBreadcrumb ( { message : a , level : e . level , category : "console" } ) } ; k ( [ "debug" , "info" , "warn" , "error" , "log" ] , function ( a , c ) { N ( console , c , t ) } ) } } , M : function ( ) { for ( var a ; this . s . length ; ) a = this . s . shift ( ) , a [ 0 ] [ a [ 1 ] ] = a [ 2 ] } , C : function ( ) { var a = this ; k ( this . q , function ( c , e ) { e [ 0 ] . apply ( a , [ a ] . concat ( e [ 1 ] ) ) } ) } ,
D : function ( a ) { var c = X . exec ( a ) , e = { } , f = 7 ; try { for ( ; f -- ; ) e [ T [ f ] ] = c [ f ] || "" } catch ( P ) { throw new I ( "Invalid DSN: " + a ) ; } if ( e . pass && ! this . k . allowSecretKey ) throw new I ( "Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key" ) ; return e } , G : function ( a ) { var c = "//" + a . host + ( a . port ? ":" + a . port : "" ) ; return a . protocol && ( c = a . protocol + ":" + c ) , c } , z : function ( ) { this . l || this . N . apply ( this , arguments ) } , N : function ( a , c ) { var e = this . O ( a , c ) ; this . R ( "handle" , { stackInfo : a , options : c } ) ; this . X ( a . name , a . message , a . url ,
a . lineno , e , c ) } , O : function ( a , c ) { var e = this , f = [ ] ; if ( a . stack && a . stack . length && ( k ( a . stack , function ( a , c ) { var g = e . Y ( c ) ; g && f . push ( g ) } ) , c && c . trimHeadFrames ) ) for ( var g = 0 ; g < c . trimHeadFrames && g < f . length ; g ++ ) f [ g ] . in _app = ! 1 ; return f = f . slice ( 0 , this . k . stackTraceLimit ) } , Y : function ( a ) { if ( a . url ) return a = { filename : a . url , lineno : a . line , colno : a . column , "function" : a . func || "?" } , a . in _app = ! ( this . k . includePaths . test && ! this . k . includePaths . test ( a . filename ) || /(Raven|TraceKit)\./ . test ( a [ "function" ] ) || /raven\.(min\.)?js$/ . test ( a . filename ) ) ,
a } , X : function ( a , c , e , f , g , k ) { var h ; this . k . ignoreErrors . test && this . k . ignoreErrors . test ( c ) || ( c += "" , g && g . length ? ( e = g [ 0 ] . filename || e , g . reverse ( ) , h = { frames : g } ) : e && ( h = { frames : [ { filename : e , lineno : f , in _app : ! 0 } ] } ) , this . k . ignoreUrls . test && this . k . ignoreUrls . test ( e ) || this . k . whitelistUrls . test && ! this . k . whitelistUrls . test ( e ) ) || ( a = n ( { exception : { values : [ { type : a , value : c , stacktrace : h } ] } , culprit : e } , k ) , this . P ( a ) ) } , Z : function ( a ) { var c = this . k . maxMessageLength ; if ( a . message && ( a . message = r ( a . message , c ) ) , a . exception ) { var e = a . exception . values [ 0 ] ;
e . value = r ( e . value , c ) } return a } , $ : function ( ) { if ( this . c || this . b ) { var a = { } ; return this . c && U . userAgent && ( a . headers = { "User-Agent" : navigator . userAgent } ) , this . b && ( R . location && R . location . href && ( a . url = R . location . href ) , R . referrer && ( a . headers || ( a . headers = { } ) , a . headers . Referer = R . referrer ) ) , a } } , x : function ( ) { this . _ = 0 ; this . aa = null } , ba : function ( ) { return this . _ && + new Date - this . aa < this . _ } , ca : function ( a ) { var c = this . e , e ; if ( e = ! ( ! c || a . message !== c . message || a . culprit !== c . culprit ) ) a . stacktrace || c . stacktrace ? c = B ( a . stacktrace ,
c . stacktrace ) : ( ( e = ! a . exception && ! c . exception ) || ( a = a . exception , c = c . exception , e = ! ( ! ! a ^ ! ! c ) && ( a = a . values [ 0 ] , c = c . values [ 0 ] , a . type === c . type && a . value === c . value && B ( a . stacktrace , c . stacktrace ) ) ) , c = e ) , e = c ; return e } , da : function ( a ) { if ( ! this . ba ( ) ) { var c = a . status ; if ( 400 === c || 401 === c || 429 === c ) { var e ; try { e = a . getResponseHeader ( "Retry-After" ) , e = 1E3 * parseInt ( e , 10 ) } catch ( W ) { } this . _ = e ? e : 2 * this . _ || 1E3 ; this . aa = + new Date } } } , P : function ( a ) { var c = this . k , f = { project : this . i , logger : c . logger , platform : "javascript" } , g = this . $ ( ) ; if ( g &&
( f . request = g ) , a . trimHeadFrames && delete a . trimHeadFrames , a = n ( f , a ) , a . tags = n ( n ( { } , this . j . tags ) , a . tags ) , a . extra = n ( n ( { } , this . j . extra ) , a . extra ) , a . extra [ "session:duration" ] = + new Date - this . r , this . t && 0 < this . t . length && ( a . breadcrumbs = { values : [ ] . slice . call ( this . t , 0 ) } ) , l ( a . tags ) && delete a . tags , this . j . user && ( a . user = this . j . user ) , c . environment && ( a . environment = c . environment ) , c . release && ( a . release = c . release ) , c . serverName && ( a . server _name = c . serverName ) , e ( c . dataCallback ) && ( a = c . dataCallback ( a ) || a ) , a && ! l ( a ) && ( ! e ( c . shouldSendCallback ) ||
c . shouldSendCallback ( a ) ) ) return this . ba ( ) ? void this . y ( "warn" , "Raven dropped error due to backoff: " , a ) : void ( "number" == typeof c . sampleRate ? Math . random ( ) < c . sampleRate && this . ea ( a ) : this . ea ( a ) ) } , fa : function ( ) { return A ( ) } , ea : function ( a , c ) { var e = this , f = this . k ; if ( this . isSetup ( ) ) { if ( this . f = a . event _id || ( a . event _id = this . fa ( ) ) , a = this . Z ( a ) , ! this . k . allowDuplicates && this . ca ( a ) ) return void this . y ( "warn" , "Raven dropped repeat event: " , a ) ; this . e = a ; this . y ( "debug" , "Raven about to send:" , a ) ; var g = { sentry _version : "7" ,
sentry _client : "raven-js/" + this . VERSION , sentry _key : this . h } ; this . F && ( g . sentry _secret = this . F ) ; var k = a . exception && a . exception . values [ 0 ] ; this . captureBreadcrumb ( { category : "sentry" , message : k ? ( k . type ? k . type + ": " : "" ) + k . value : a . message , event _id : a . event _id , level : a . level || "error" } ) ; var h = this . H ; ( f . transport || this . ga ) . call ( this , { url : h , auth : g , data : a , options : f , onSuccess : function ( ) { e . x ( ) ; e . R ( "success" , { data : a , src : h } ) ; c && c ( ) } , onError : function ( f ) { e . y ( "error" , "Raven transport failed to send: " , f ) ; f . request && e . da ( f . request ) ;
e . R ( "failure" , { data : a , src : h } ) ; f = f || Error ( "Raven send failed (no additional details provided)" ) ; c && c ( f ) } } ) } } , ga : function ( a ) { var c = new XMLHttpRequest ; if ( "withCredentials" in c || "undefined" != typeof XDomainRequest ) { var e = a . url ; "withCredentials" in c ? c . onreadystatechange = function ( ) { if ( 4 === c . readyState ) if ( 200 === c . status ) a . onSuccess && a . onSuccess ( ) ; else if ( a . onError ) { var e = Error ( "Sentry error code: " + c . status ) ; e . request = c ; a . onError ( e ) } } : ( c = new XDomainRequest , e = e . replace ( /^https?:/ , "" ) , a . onSuccess && ( c . onload =
a . onSuccess ) , a . onError && ( c . onerror = function ( ) { var e = Error ( "Sentry error code: XDomainRequest" ) ; e . request = c ; a . onError ( e ) } ) ) ; c . open ( "POST" , e + "?" + u ( a . auth ) ) ; c . send ( p ( a . data ) ) } } , y : function ( a ) { this . p [ a ] && this . debug && Function . prototype . apply . call ( this . p [ a ] , this . o , [ ] . slice . call ( arguments , 1 ) ) } , Q : function ( a , c ) { void 0 === c ? delete this . j [ a ] : this . j [ a ] = n ( this . j [ a ] || { } , c ) } } ; var ha = Object . prototype ; a . prototype . setUser = a . prototype . setUserContext ; a . prototype . setReleaseContext = a . prototype . setRelease ; h . exports = a } ) . call ( this ,
"undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 1 : 1 , 2 : 2 , 5 : 5 , 6 : 6 , 7 : 7 } ] , 4 : [ function ( f , h , l ) { ( function ( c ) { var a = f ( 3 ) , e = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , g = e . Raven , l = new a ; l . noConflict = function ( ) { return e . Raven = g , l } ; l . afterLoad ( ) ; h . exports = l } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 3 : 3 } ] , 5 : [ function ( f , h , l ) { function c ( a ) { return "object" ==
typeof a && null !== a } h . exports = { isObject : c , isError : function ( a ) { var e = { } . toString . call ( a ) ; return c ( a ) && "[object Error]" === e || "[object Exception]" === e || a instanceof Error } } } , { } ] , 6 : [ function ( f , h , l ) { ( function ( c ) { function a ( ) { return "undefined" == typeof document || "undefined" == typeof document . location ? "" : document . location . href } var e = f ( 5 ) , g = { collectWindowErrors : ! 0 , debug : ! 1 } , l = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , k = [ ] . slice , n = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/ ;
g . report = function ( ) { function c ( a , c ) { var e = null ; if ( ! c || g . collectWindowErrors ) { for ( var f in B ) if ( B . hasOwnProperty ( f ) ) try { B [ f ] . apply ( null , [ a ] . concat ( k . call ( arguments , 2 ) ) ) } catch ( N ) { e = N } if ( e ) throw e ; } } function f ( f , k , l , t , q ) { var r ; if ( p ) g . computeStackTrace . augmentStackTraceWithInitialElement ( p , k , l , f ) , h ( ) ; else { if ( q && e . isError ( q ) ) r = g . computeStackTrace ( q ) ; else { var u = { url : k , line : l , column : t } , y = void 0 , z = f ; "[object String]" === { } . toString . call ( f ) && ( r = f . match ( n ) ) && ( y = r [ 1 ] , z = r [ 2 ] ) ; u . func = "?" ; r = { name : y , message : z , url : a ( ) ,
stack : [ u ] } } c ( r , ! 0 ) } return ! ! A && A . apply ( this , arguments ) } function h ( ) { var a = p , e = E ; q = p = E = null ; c . apply ( null , [ a , ! 1 ] . concat ( e ) ) } function t ( a , c ) { var e = k . call ( arguments , 1 ) ; if ( p ) { if ( q === a ) return ; h ( ) } var f = g . computeStackTrace ( a ) ; if ( p = f , q = a , E = e , setTimeout ( function ( ) { q === a && h ( ) } , f . incomplete ? 2E3 : 0 ) , ! 1 !== c ) throw a ; } var A , z , B = [ ] , E = null , q = null , p = null ; return t . subscribe = function ( a ) { z || ( A = l . onerror , l . onerror = f , z = ! 0 ) ; B . push ( a ) } , t . unsubscribe = function ( a ) { for ( var c = B . length - 1 ; 0 <= c ; -- c ) B [ c ] === a && B . splice ( c , 1 ) } , t . uninstall =
function ( ) { z && ( l . onerror = A , z = ! 1 , A = void 0 ) ; B = [ ] } , t } ( ) ; g . computeStackTrace = function ( ) { function c ( c ) { if ( "undefined" != typeof c . stack && c . stack ) { for ( var e , f = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i , g = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i , k = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i , h = c . stack . split ( "\n" ) ,
l = [ ] , n = ( /^(.*) is undefined$/ . exec ( c . message ) , 0 ) , t = h . length ; n < t ; ++ n ) { if ( e = f . exec ( h [ n ] ) ) { var r = e [ 2 ] && - 1 !== e [ 2 ] . indexOf ( "native" ) ; e = { url : r ? null : e [ 2 ] , func : e [ 1 ] || "?" , args : r ? [ e [ 2 ] ] : [ ] , line : e [ 3 ] ? + e [ 3 ] : null , column : e [ 4 ] ? + e [ 4 ] : null } } else if ( e = k . exec ( h [ n ] ) ) e = { url : e [ 2 ] , func : e [ 1 ] || "?" , args : [ ] , line : + e [ 3 ] , column : e [ 4 ] ? + e [ 4 ] : null } ; else { if ( ! ( e = g . exec ( h [ n ] ) ) ) continue ; e = { url : e [ 3 ] , func : e [ 1 ] || "?" , args : e [ 2 ] ? e [ 2 ] . split ( "," ) : [ ] , line : e [ 4 ] ? + e [ 4 ] : null , column : e [ 5 ] ? + e [ 5 ] : null } } ! e . func && e . line && ( e . func = "?" ) ; l . push ( e ) } return l . length ?
( l [ 0 ] . column || "undefined" == typeof c . columnNumber || ( l [ 0 ] . column = c . columnNumber + 1 ) , { name : c . name , message : c . message , url : a ( ) , stack : l } ) : null } } function e ( a , c , e , f ) { c = { url : c , line : e } ; if ( c . url && c . line ) { if ( a . incomplete = ! 1 , c . func || ( c . func = "?" ) , 0 < a . stack . length && a . stack [ 0 ] . url === c . url ) { if ( a . stack [ 0 ] . line === c . line ) return ! 1 ; if ( ! a . stack [ 0 ] . line && a . stack [ 0 ] . func === c . func ) return a . stack [ 0 ] . line = c . line , ! 1 } return a . stack . unshift ( c ) , a . partial = ! 0 , ! 0 } return a . incomplete = ! 0 , ! 1 } function f ( c , h ) { for ( var l , n , t = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i ,
r = [ ] , u = { } , y = ! 1 , w = f . caller ; w && ! y ; w = w . caller ) if ( w !== k && w !== g . report ) { if ( n = { url : null , func : "?" , line : null , column : null } , w . name ? n . func = w . name : ( l = t . exec ( w . toString ( ) ) ) && ( n . func = l [ 1 ] ) , "undefined" == typeof n . func ) try { n . func = l . input . substring ( 0 , l . input . indexOf ( "{" ) ) } catch ( G ) { } u [ "" + w ] ? y = ! 0 : u [ "" + w ] = ! 0 ; r . push ( n ) } h && r . splice ( 0 , h ) ; l = { name : c . name , message : c . message , url : a ( ) , stack : r } ; return e ( l , c . sourceURL || c . fileName , c . line || c . lineNumber , c . message || c . description ) , l } function k ( e , k ) { var h = null ; k = null == k ? 0 : + k ; try { if ( h =
c ( e ) ) return h } catch ( E ) { if ( g . debug ) throw E ; } try { if ( h = f ( e , k + 1 ) ) return h } catch ( E ) { if ( g . debug ) throw E ; } return { name : e . name , message : e . message , url : a ( ) } } return k . augmentStackTraceWithInitialElement = e , k . computeStackTraceFromStackProp = c , k } ( ) ; h . exports = g } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 5 : 5 } ] , 7 : [ function ( f , h , l ) { function c ( a , c ) { for ( var e = 0 ; e < a . length ; ++ e ) if ( a [ e ] === c ) return e ; return - 1 } function a ( a , f ) { var e = [ ] , g = [ ] ; return null ==
f && ( f = function ( a , f ) { return e [ 0 ] === f ? "[Circular ~]" : "[Circular ~." + g . slice ( 0 , c ( e , f ) ) . join ( "." ) + "]" } ) , function ( k , h ) { if ( 0 < e . length ) { var l = c ( e , this ) ; ~ l ? e . splice ( l + 1 ) : e . push ( this ) ; ~ l ? g . splice ( l , 1 / 0 , k ) : g . push ( k ) ; ~ c ( e , h ) && ( h = f . call ( this , k , h ) ) } else e . push ( h ) ; return null == a ? h : a . call ( this , k , h ) } } l = h . exports = function ( c , f , h , k ) { return JSON . stringify ( c , a ( f , k ) , h ) } ; l . getSerialize = a } , { } ] } , { } , [ 4 ] ) ( 4 ) } ) ;
( function ( ) { function b ( a , b ) { if ( a !== b ) { var c = null === a , e = a === p , f = a === a , g = null === b , k = b === p , h = b === b ; if ( a > b && ! g || ! f || c && ! k && h || e && h ) return 1 ; if ( a < b && ! c || ! h || g && ! e && f || k && f ) return - 1 } return 0 } function f ( a , b , c ) { for ( var e = a . length , f = c ? e : - 1 ; c ? f -- : ++ f < e ; ) if ( b ( a [ f ] , f , a ) ) return f ; return - 1 } function h ( a , b , c ) { if ( b !== b ) return y ( a , c ) ; -- c ; for ( var e = a . length ; ++ c < e ; ) if ( a [ c ] === b ) return c ; return - 1 } function l ( a ) { return "function" == typeof a || ! 1 } function c ( a ) { return null == a ? "" : a + "" } function a ( a , b ) { for ( var c = - 1 , e = a . length ; ++ c <
e && - 1 < b . indexOf ( a . charAt ( c ) ) ; ) ; return c } function e ( a , b ) { for ( var c = a . length ; c -- && - 1 < b . indexOf ( a . charAt ( c ) ) ; ) ; return c } function g ( a , c ) { return b ( a . a , c . a ) || a . b - c . b } function t ( a ) { return ob [ a ] } function k ( a ) { return Mb [ a ] } function n ( a , b , c ) { return b ? a = Hd [ a ] : c && ( a = Gb [ a ] ) , "\\" + a } function r ( a ) { return "\\" + Gb [ a ] } function y ( a , b , c ) { var e = a . length ; for ( b += c ? 0 : - 1 ; c ? b -- : ++ b < e ; ) { var f = a [ b ] ; if ( f !== f ) return b } return - 1 } function u ( a ) { return ! ! a && "object" == typeof a } function w ( a ) { return 160 >= a && 9 <= a && 13 >= a || 32 == a || 160 == a || 5760 ==
a || 6158 == a || 8192 <= a && ( 8202 >= a || 8232 == a || 8233 == a || 8239 == a || 8287 == a || 12288 == a || 65279 == a ) } function A ( a , b ) { for ( var c = - 1 , e = a . length , f = - 1 , g = [ ] ; ++ c < e ; ) a [ c ] === b && ( a [ c ] = qa , g [ ++ f ] = c ) ; return g } function z ( a ) { for ( var b = - 1 , c = a . length ; ++ b < c && w ( a . charCodeAt ( b ) ) ; ) ; return b } function B ( a ) { for ( var b = a . length ; b -- && w ( a . charCodeAt ( b ) ) ; ) ; return b } function E ( a ) { return Qd [ a ] } function q ( w ) { function C ( a ) { if ( u ( a ) && ! ( ta ( a ) || a instanceof ya ) ) { if ( a instanceof wb ) return a ; if ( Qa . call ( a , "__chain__" ) && Qa . call ( a , "__wrapped__" ) ) return xc ( a ) } return new wb ( a ) }
function $a ( ) { } function wb ( a , b , c ) { this . _ _wrapped _ _ = a ; this . _ _actions _ _ = c || [ ] ; this . _ _chain _ _ = ! ! b } function ya ( a ) { this . _ _wrapped _ _ = a ; this . _ _actions _ _ = [ ] ; this . _ _dir _ _ = 1 ; this . _ _filtered _ _ = ! 1 ; this . _ _iteratees _ _ = [ ] ; this . _ _takeCount _ _ = Zc ; this . _ _views _ _ = [ ] } function gb ( ) { this . _ _data _ _ = { } } function ob ( a ) { var b = a ? a . length : 0 ; for ( this . data = { hash : ed ( null ) , set : new uc } ; b -- ; ) this . push ( a [ b ] ) } function qb ( a , b ) { var c = a . data ; return ( "string" == typeof b || Ha ( b ) ? c . set . has ( b ) : c . hash [ b ] ) ? 0 : - 1 } function db ( a , b ) { var c = - 1 , d = a . length ;
for ( b || ( b = La ( d ) ) ; ++ c < d ; ) b [ c ] = a [ c ] ; return b } function nb ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d && ! 1 !== b ( a [ c ] , c , a ) ; ) ; return a } function Mb ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( ! b ( a [ c ] , c , a ) ) return ! 1 ; return ! 0 } function Gb ( a , b ) { for ( var c = - 1 , d = a . length , e = - 1 , f = [ ] ; ++ c < d ; ) { var g = a [ c ] ; b ( g , c , a ) && ( f [ ++ e ] = g ) } return f } function lc ( a , b ) { for ( var c = - 1 , d = a . length , e = La ( d ) ; ++ c < d ; ) e [ c ] = b ( a [ c ] , c , a ) ; return e } function xb ( a , b ) { for ( var c = - 1 , d = b . length , e = a . length ; ++ c < d ; ) a [ e + c ] = b [ c ] ; return a } function Dc ( a , b , c , d ) { var e = - 1 , f = a . length ;
for ( d && f && ( c = a [ ++ e ] ) ; ++ e < f ; ) c = b ( c , a [ e ] , e , a ) ; return c } function Oe ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( b ( a [ c ] , c , a ) ) return ! 0 ; return ! 1 } function kf ( a , b , c , d ) { return a !== p && Qa . call ( d , c ) ? a : b } function Kd ( a , b , c ) { for ( var d = - 1 , e = Aa ( b ) , f = e . length ; ++ d < f ; ) { var g = e [ d ] , k = a [ g ] , x = c ( k , b [ g ] , g , a , b ) ; ( x === x ? x === k : k !== k ) && ( k !== p || g in a ) || ( a [ g ] = x ) } return a } function Fc ( a , b ) { return null == b ? a : Yd ( b , Aa ( b ) , a ) } function qd ( a , b ) { for ( var c = - 1 , d = null == a , e = ! d && Ea ( a ) , f = e ? a . length : 0 , g = b . length , k = La ( g ) ; ++ c < g ; ) { var x = b [ c ] ; k [ c ] = e ? Ib ( x ,
f ) ? a [ x ] : p : d ? p : a [ x ] } return k } function Yd ( a , b , c ) { c || ( c = { } ) ; for ( var d = - 1 , e = b . length ; ++ d < e ; ) { var f = b [ d ] ; c [ f ] = a [ f ] } return c } function Oc ( a , b , c ) { var d = typeof a ; return "function" == d ? b === p ? a : mb ( a , b , c ) : null == a ? gc : "object" == d ? sc ( a ) : b === p ? pd ( a ) : Ua ( a , b ) } function bb ( a , b , c , d , e , f , g ) { var k ; if ( c && ( k = e ? c ( a , d , e ) : c ( a ) ) , k !== p ) return k ; if ( ! Ha ( a ) ) return a ; if ( d = ta ( a ) ) { if ( k = Df ( a ) , ! b ) return db ( a , k ) } else { var x = fb . call ( a ) , h = x == Da ; if ( x != ga && x != ca && ( ! h || e ) ) return Ja [ x ] ? kc ( a , x , b ) : e ? a : { } ; if ( k = Ff ( h ? { } : a ) , ! b ) return Fc ( k , a ) } f || ( f = [ ] ) ;
g || ( g = [ ] ) ; for ( e = f . length ; e -- ; ) if ( f [ e ] == a ) return g [ e ] ; return f . push ( a ) , g . push ( k ) , ( d ? nb : Kb ) ( a , function ( d , e ) { k [ e ] = bb ( d , b , c , e , a , f , g ) } ) , k } function Yb ( a , b , c ) { if ( "function" != typeof a ) throw new rb ( M ) ; return xd ( function ( ) { a . apply ( p , c ) } , b ) } function Ob ( a , b ) { var c = a ? a . length : 0 , d = [ ] ; if ( ! c ) return d ; var e = - 1 , f = mc ( ) , g = f === h , k = g && b . length >= W && ed && uc ? new ob ( b ) : null , x = b . length ; k && ( f = qb , g = ! 1 , b = k ) ; a : for ( ; ++ e < c ; ) if ( k = a [ e ] , g && k === k ) { for ( var l = x ; l -- ; ) if ( b [ l ] === k ) continue a ; d . push ( k ) } else 0 > f ( b , k , 0 ) && d . push ( k ) ; return d } function Zd ( a ,
b ) { var c = ! 0 ; return Ab ( a , function ( a , d , e ) { return c = ! ! b ( a , d , e ) } ) , c } function $d ( a , b , c , d ) { var e = d , f = e ; return Ab ( a , function ( a , g , k ) { g = + b ( a , g , k ) ; ( c ( g , e ) || g === d && g === f ) && ( e = g , f = a ) } ) , f } function ae ( a , b ) { var c = [ ] ; return Ab ( a , function ( a , d , e ) { b ( a , d , e ) && c . push ( a ) } ) , c } function Pc ( a , b , c , d ) { var e ; return c ( a , function ( a , c , f ) { return b ( a , c , f ) ? ( e = d ? c : a , ! 1 ) : void 0 } ) , e } function eb ( a , b , c , d ) { d || ( d = [ ] ) ; for ( var e = - 1 , f = a . length ; ++ e < f ; ) { var g = a [ e ] ; u ( g ) && Ea ( g ) && ( c || ta ( g ) || Ta ( g ) ) ? b ? eb ( g , b , c , d ) : xb ( d , g ) : c || ( d [ d . length ] = g ) } return d }
function Pe ( a , b ) { Ed ( a , b , Vb ) } function Kb ( a , b ) { return Ed ( a , b , Aa ) } function $b ( a , b ) { return De ( a , b , Aa ) } function rd ( a , b ) { for ( var c = - 1 , d = b . length , e = - 1 , f = [ ] ; ++ c < d ; ) { var g = b [ c ] ; Fb ( a [ g ] ) && ( f [ ++ e ] = g ) } return f } function hb ( a , b , c ) { if ( null != a ) { c !== p && c in Wa ( a ) && ( b = [ c ] ) ; c = 0 ; for ( var d = b . length ; null != a && c < d ; ) a = a [ b [ c ++ ] ] ; return c && c == d ? a : p } } function Qc ( a , b , c , d , e , f ) { if ( a === b ) a = ! 0 ; else if ( null == a || null == b || ! Ha ( a ) && ! u ( b ) ) a = a !== a && b !== b ; else a : { var g = Qc , k = ta ( a ) , h = ta ( b ) , x = V , l = V ; k || ( x = fb . call ( a ) , x == ca ? x = ga : x != ga && ( k = jc ( a ) ) ) ;
h || ( l = fb . call ( b ) , l == ca ? l = ga : l != ga && jc ( b ) ) ; var D = x == ga , h = l == ga , l = x == l ; if ( ! l || k || D ) if ( ! d && ( x = D && Qa . call ( a , "__wrapped__" ) , h = h && Qa . call ( b , "__wrapped__" ) , x || h ) ) a = g ( x ? a . value ( ) : a , h ? b . value ( ) : b , c , d , e , f ) ; else if ( l ) { e || ( e = [ ] ) ; f || ( f = [ ] ) ; for ( x = e . length ; x -- ; ) if ( e [ x ] == a ) { a = f [ x ] == b ; break a } e . push ( a ) ; f . push ( b ) ; a = ( k ? Cf : Vc ) ( a , b , g , c , d , e , f ) ; e . pop ( ) ; f . pop ( ) } else a = ! 1 ; else a = ne ( a , b , x ) } return a } function Rc ( a , b , c ) { var d = b . length , e = d , f = ! c ; if ( null == a ) return ! e ; for ( a = Wa ( a ) ; d -- ; ) { var g = b [ d ] ; if ( f && g [ 2 ] ? g [ 1 ] !== a [ g [ 0 ] ] : ! ( g [ 0 ] in
a ) ) return ! 1 } for ( ; ++ d < e ; ) { var g = b [ d ] , k = g [ 0 ] , h = a [ k ] , x = g [ 1 ] ; if ( f && g [ 2 ] ) { if ( h === p && ! ( k in a ) ) return ! 1 } else if ( g = c ? c ( h , x , k ) : p , g === p ? ! Qc ( x , h , c , ! 0 ) : ! g ) return ! 1 } return ! 0 } function ce ( a , b ) { var c = - 1 , d = Ea ( a ) ? La ( a . length ) : [ ] ; return Ab ( a , function ( a , e , f ) { d [ ++ c ] = b ( a , e , f ) } ) , d } function sc ( a ) { var b = oe ( a ) ; if ( 1 == b . length && b [ 0 ] [ 2 ] ) { var c = b [ 0 ] [ 0 ] , d = b [ 0 ] [ 1 ] ; return function ( a ) { return null != a && a [ c ] === d && ( d !== p || c in Wa ( a ) ) } } return function ( a ) { return Rc ( a , b ) } } function Ua ( a , b ) { var c = ta ( a ) , d = xa ( a ) && b === b && ! Ha ( b ) , e = a + "" ; return a =
Na ( a ) , function ( f ) { if ( null == f ) return ! 1 ; var g = e ; if ( f = Wa ( f ) , ! ( ! c && d || g in f ) ) { if ( f = 1 == a . length ? f : hb ( f , ib ( a , 0 , - 1 ) ) , null == f ) return ! 1 ; g = tc ( a ) ; f = Wa ( f ) } return f [ g ] === b ? b !== p || g in f : Qc ( b , f [ g ] , p , ! 0 ) } } function de ( a , b , c , d , e ) { if ( ! Ha ( a ) ) return a ; var f = Ea ( b ) && ( ta ( b ) || jc ( b ) ) , g = f ? p : Aa ( b ) ; return nb ( g || b , function ( k , h ) { if ( g && ( h = k , k = b [ h ] ) , u ( k ) ) { d || ( d = [ ] ) ; e || ( e = [ ] ) ; a : { for ( var x = h , l = d , D = e , m = l . length , v = b [ x ] ; m -- ; ) if ( l [ m ] == v ) { a [ x ] = D [ m ] ; break a } var m = a [ x ] , L = c ? c ( m , v , x , a , b ) : p , n = L === p ; n && ( L = v , Ea ( v ) && ( ta ( v ) || jc ( v ) ) ? L = ta ( m ) ? m :
Ea ( m ) ? db ( m ) : [ ] : Kc ( v ) || Ta ( v ) ? L = Ta ( m ) ? Me ( m ) : Kc ( m ) ? m : { } : n = ! 1 ) ; l . push ( v ) ; D . push ( L ) ; n ? a [ x ] = de ( L , v , c , l , D ) : ( L === L ? L !== m : m === m ) && ( a [ x ] = L ) } } else x = a [ h ] , l = c ? c ( x , k , h , a , b ) : p , ( D = l === p ) && ( l = k ) , l === p && ( ! f || h in a ) || ! D && ( l === l ? l === x : x !== x ) || ( a [ h ] = l ) } ) , a } function sd ( a ) { return function ( b ) { return null == b ? p : b [ a ] } } function nf ( a ) { var b = a + "" ; return a = Na ( a ) , function ( c ) { return hb ( c , a , b ) } } function ee ( a , b ) { for ( var c = a ? b . length : 0 ; c -- ; ) { var d = b [ c ] ; if ( d != e && Ib ( d ) ) { var e = d ; Bf . call ( a , d , 1 ) } } } function td ( a , b ) { return a + Db ( Kf ( ) * ( b -
a + 1 ) ) } function of ( a , b , c , d , e ) { return e ( a , function ( a , e , f ) { c = d ? ( d = ! 1 , a ) : b ( c , a , e , f ) } ) , c } function ib ( a , b , c ) { var d = - 1 , e = a . length ; b = null == b ? 0 : + b || 0 ; 0 > b && ( b = - b > e ? 0 : e + b ) ; c = c === p || c > e ? e : + c || 0 ; 0 > c && ( c += e ) ; e = b > c ? 0 : c - b >>> 0 ; b >>>= 0 ; for ( c = La ( e ) ; ++ d < e ; ) c [ d ] = a [ d + b ] ; return c } function Hd ( a , b ) { var c ; return Ab ( a , function ( a , d , e ) { return c = b ( a , d , e ) , ! c } ) , ! ! c } function Qe ( a , b ) { var c = a . length ; for ( a . sort ( b ) ; c -- ; ) a [ c ] = a [ c ] . c ; return a } function Re ( a , c , d ) { var e = Ca ( ) , f = - 1 ; return c = lc ( c , function ( a ) { return e ( a ) } ) , a = ce ( a , function ( a ) { return { a : lc ( c ,
function ( b ) { return b ( a ) } ) , b : ++ f , c : a } } ) , Qe ( a , function ( a , c ) { var e ; a : { for ( var f = - 1 , g = a . a , k = c . a , h = g . length , x = d . length ; ++ f < h ; ) if ( e = b ( g [ f ] , k [ f ] ) ) { if ( f >= x ) break a ; f = d [ f ] ; e *= "asc" === f || ! 0 === f ? 1 : - 1 ; break a } e = a . b - c . b } return e } ) } function pf ( a , b ) { var c = 0 ; return Ab ( a , function ( a , d , e ) { c += + b ( a , d , e ) || 0 } ) , c } function Md ( a , b ) { var c = - 1 , d = mc ( ) , e = a . length , f = d === h , g = f && e >= W , k = g && ed && uc ? new ob ( void 0 ) : null , x = [ ] ; k ? ( d = qb , f = ! 1 ) : ( g = ! 1 , k = b ? [ ] : x ) ; a : for ( ; ++ c < e ; ) { var l = a [ c ] , D = b ? b ( l , c , a ) : l ; if ( f && l === l ) { for ( var m = k . length ; m -- ; ) if ( k [ m ] ===
D ) continue a ; b && k . push ( D ) ; x . push ( l ) } else 0 > d ( k , D , 0 ) && ( ( b || g ) && k . push ( D ) , x . push ( l ) ) } return x } function Ld ( a , b ) { for ( var c = - 1 , d = b . length , e = La ( d ) ; ++ c < d ; ) e [ c ] = a [ b [ c ] ] ; return e } function dd ( a , b , c , d ) { for ( var e = a . length , f = d ? e : - 1 ; ( d ? f -- : ++ f < e ) && b ( a [ f ] , f , a ) ; ) ; return c ? ib ( a , d ? 0 : f , d ? f + 1 : e ) : ib ( a , d ? f + 1 : 0 , d ? e : f ) } function qf ( a , b ) { var c = a ; c instanceof ya && ( c = c . value ( ) ) ; for ( var d = - 1 , e = b . length ; ++ d < e ; ) var f = b [ d ] , c = f . func . apply ( f . thisArg , xb ( [ c ] , f . args ) ) ; return c } function ud ( a , b , c ) { var d = 0 , e = a ? a . length : d ; if ( "number" == typeof b &&
b === b && e <= Mf ) { for ( ; d < e ; ) { var f = d + e >>> 1 , g = a [ f ] ; ( c ? g <= b : g < b ) && null !== g ? d = f + 1 : e = f } return e } return Se ( a , b , gc , c ) } function Se ( a , b , c , d ) { b = c ( b ) ; for ( var e = 0 , f = a ? a . length : 0 , g = b !== b , k = null === b , h = b === p ; e < f ; ) { var x = Db ( ( e + f ) / 2 ) , l = c ( a [ x ] ) , D = l !== p , m = l === l ; ( g ? m || d : k ? m && D && ( d || null != l ) : h ? m && ( d || D ) : null == l ? 0 : d ? l <= b : l < b ) ? e = x + 1 : f = x } return kb ( f , se ) } function mb ( a , b , c ) { if ( "function" != typeof a ) return gc ; if ( b === p ) return a ; switch ( c ) { case 1 : return function ( c ) { return a . call ( b , c ) } ; case 3 : return function ( c , d , e ) { return a . call ( b ,
c , d , e ) } ; case 4 : return function ( c , d , e , f ) { return a . call ( b , c , d , e , f ) } ; case 5 : return function ( c , d , e , f , g ) { return a . call ( b , c , d , e , f , g ) } } return function ( ) { return a . apply ( b , arguments ) } } function Te ( a ) { var b = new zb ( a . byteLength ) ; return ( new Af ( b ) ) . set ( new Af ( a ) ) , b } function Ue ( a , b , c ) { for ( var d = c . length , e = - 1 , f = Ya ( a . length - d , 0 ) , g = - 1 , k = b . length , h = La ( k + f ) ; ++ g < k ; ) h [ g ] = b [ g ] ; for ( ; ++ e < d ; ) h [ c [ e ] ] = a [ e ] ; for ( ; f -- ; ) h [ g ++ ] = a [ e ++ ] ; return h } function Ve ( a , b , c ) { for ( var d = - 1 , e = c . length , f = - 1 , g = Ya ( a . length - e , 0 ) , k = - 1 , h = b . length , x = La ( g +
h ) ; ++ f < g ; ) x [ f ] = a [ f ] ; for ( g = f ; ++ k < h ; ) x [ g + k ] = b [ k ] ; for ( ; ++ d < e ; ) x [ g + c [ d ] ] = a [ f ++ ] ; return x } function id ( a , b ) { return function ( c , d , e ) { var f = b ? b ( ) : { } ; if ( d = Ca ( d , e , 3 ) , ta ( c ) ) { e = - 1 ; for ( var g = c . length ; ++ e < g ; ) { var k = c [ e ] ; a ( f , k , d ( k , e , c ) , c ) } } else Ab ( c , function ( b , c , e ) { a ( f , b , d ( b , c , e ) , e ) } ) ; return f } } function Nb ( a ) { return Ba ( function ( b , c ) { var d = - 1 , e = null == b ? 0 : c . length , f = 2 < e ? c [ e - 2 ] : p , g = 2 < e ? c [ 2 ] : p , k = 1 < e ? c [ e - 1 ] : p ; "function" == typeof f ? ( f = mb ( f , k , 5 ) , e -= 2 ) : ( f = "function" == typeof k ? k : p , e -= f ? 1 : 0 ) ; for ( g && wa ( c [ 0 ] , c [ 1 ] , g ) && ( f = 3 > e ?
p : f , e = 1 ) ; ++ d < e ; ) ( g = c [ d ] ) && a ( b , g , f ) ; return b } ) } function Xd ( a , b ) { return function ( c , d ) { var e = c ? Bc ( c ) : 0 ; if ( ! lb ( e ) ) return a ( c , d ) ; for ( var f = b ? e : - 1 , g = Wa ( c ) ; ( b ? f -- : ++ f < e ) && ! 1 !== d ( g [ f ] , f , g ) ; ) ; return c } } function We ( a ) { return function ( b , c , d ) { var e = Wa ( b ) ; d = d ( b ) ; for ( var f = d . length , g = a ? f : - 1 ; a ? g -- : ++ g < f ; ) { var k = d [ g ] ; if ( ! 1 === c ( e [ k ] , k , e ) ) break } return b } } function sf ( a , b ) { function c ( ) { return ( this && this !== Eb && this instanceof c ? d : a ) . apply ( b , arguments ) } var d = Ec ( a ) ; return c } function jd ( a ) { return function ( b ) { var c = - 1 ; b =
gf ( Le ( b ) ) ; for ( var d = b . length , e = "" ; ++ c < d ; ) e = a ( e , b [ c ] , c ) ; return e } } function Ec ( a ) { return function ( ) { var b = arguments ; switch ( b . length ) { case 0 : return new a ; case 1 : return new a ( b [ 0 ] ) ; case 2 : return new a ( b [ 0 ] , b [ 1 ] ) ; case 3 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] ) ; case 4 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] ) ; case 5 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] ) ; case 6 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] , b [ 5 ] ) ; case 7 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] , b [ 5 ] , b [ 6 ] ) } var c = pc ( a . prototype ) , b = a . apply ( c , b ) ; return Ha ( b ) ? b : c } } function tf ( a ) { function b ( c ,
d , e ) { return e && wa ( c , d , e ) && ( d = p ) , c = jb ( c , a , p , p , p , p , p , d ) , c . placeholder = b . placeholder , c } return b } function vf ( a , b ) { return Ba ( function ( c ) { var d = c [ 0 ] ; return null == d ? d : ( c . push ( b ) , a . apply ( p , c ) ) } ) } function bc ( a , b ) { return function ( c , d , e ) { if ( e && wa ( c , d , e ) && ( d = p ) , d = Ca ( d , e , 3 ) , 1 == d . length ) { e = c = ta ( c ) ? c : wc ( c ) ; for ( var f = d , g = - 1 , k = e . length , h = b , x = h ; ++ g < k ; ) { var l = e [ g ] , D = + f ( l ) ; a ( D , h ) && ( h = D , x = l ) } if ( e = x , ! c . length || e !== b ) return e } return $d ( c , d , a , b ) } } function wd ( a , b ) { return function ( c , d , e ) { return d = Ca ( d , e , 3 ) , ta ( c ) ? ( d = f ( c , d ,
b ) , - 1 < d ? c [ d ] : p ) : Pc ( c , d , a ) } } function fe ( a ) { return function ( b , c , d ) { return b && b . length ? ( c = Ca ( c , d , 3 ) , f ( b , c , a ) ) : - 1 } } function ie ( a ) { return function ( b , c , d ) { return c = Ca ( c , d , 3 ) , Pc ( b , c , a , ! 0 ) } } function wf ( a ) { return function ( ) { for ( var b , c = arguments . length , d = a ? c : - 1 , e = 0 , f = La ( c ) ; a ? d -- : ++ d < c ; ) { var g = f [ e ++ ] = arguments [ d ] ; if ( "function" != typeof g ) throw new rb ( M ) ; ! b && wb . prototype . thru && "wrapper" == cc ( g ) && ( b = new wb ( [ ] , ! 0 ) ) } for ( d = b ? - 1 : c ; ++ d < c ; ) { var g = f [ d ] , e = cc ( g ) , k = "wrapper" == e ? Fd ( g ) : p ; b = k && sb ( k [ 0 ] ) && k [ 1 ] == ( R | N | X | U ) && ! k [ 4 ] . length &&
1 == k [ 9 ] ? b [ cc ( k [ 0 ] ) ] . apply ( b , k [ 3 ] ) : 1 == g . length && sb ( g ) ? b [ e ] ( ) : b . thru ( g ) } return function ( ) { var a = arguments , d = a [ 0 ] ; if ( b && 1 == a . length && ta ( d ) && d . length >= W ) return b . plant ( d ) . value ( ) ; for ( var e = 0 , a = c ? f [ e ] . apply ( this , a ) : d ; ++ e < c ; ) a = f [ e ] . call ( this , a ) ; return a } } } function zf ( a , b ) { return function ( c , d , e ) { return "function" == typeof d && e === p && ta ( c ) ? a ( c , d ) : b ( c , mb ( d , e , 3 ) ) } } function ke ( a ) { return function ( b , c , d ) { return ( "function" != typeof c || d !== p ) && ( c = mb ( c , d , 3 ) ) , a ( b , c , Vb ) } } function Sc ( a ) { return function ( b , c , d ) { return ( "function" !=
typeof c || d !== p ) && ( c = mb ( c , d , 3 ) ) , a ( b , c ) } } function Za ( a ) { return function ( b , c , d ) { var e = { } ; return c = Ca ( c , d , 3 ) , Kb ( b , function ( b , d , f ) { f = c ( b , d , f ) ; d = a ? f : d ; b = a ? b : f ; e [ d ] = b } ) , e } } function Tc ( a ) { return function ( b , d , e ) { return b = c ( b ) , ( a ? b : "" ) + ge ( b , d , e ) + ( a ? "" : b ) } } function le ( a ) { var b = Ba ( function ( c , d ) { var e = A ( d , b . placeholder ) ; return jb ( c , a , p , d , e ) } ) ; return b } function me ( a , b ) { return function ( c , d , e , f ) { var g = 3 > arguments . length ; return "function" == typeof d && f === p && ta ( c ) ? a ( c , d , e , g ) : of ( c , Ca ( d , f , 4 ) , e , g , b ) } } function Uc ( a , b , c ,
d , e , f , g , k , h , l ) { function x ( ) { for ( var r = arguments . length , u = r , ra = La ( r ) ; u -- ; ) ra [ u ] = arguments [ u ] ; if ( d && ( ra = Ue ( ra , d , e ) ) , f && ( ra = Ve ( ra , f , g ) ) , n || t ) { var u = x . placeholder , w = A ( ra , u ) , r = r - w . length ; if ( r < l ) { var y = k ? db ( k ) : p , r = Ya ( l - r , 0 ) , z = n ? w : p , w = n ? p : w , aa = n ? ra : p , ra = n ? p : ra ; return b |= n ? X : H , b &= ~ ( n ? H : X ) , L || ( b &= ~ ( O | J ) ) , ra = [ a , b , c , aa , z , ra , w , y , h , r ] , y = Uc . apply ( p , ra ) , sb ( a ) && Ee ( y , ra ) , y . placeholder = u , y } } if ( u = m ? c : this , y = v ? u [ a ] : a , k ) for ( r = ra . length , z = kb ( k . length , r ) , w = db ( ra ) ; z -- ; ) aa = k [ z ] , ra [ z ] = Ib ( aa , r ) ? w [ aa ] : p ; return D && h < ra . length &&
( ra . length = h ) , this && this !== Eb && this instanceof x && ( y = q || Ec ( a ) ) , y . apply ( u , ra ) } var D = b & R , m = b & O , v = b & J , n = b & N , L = b & G , t = b & T , q = v ? p : Ec ( a ) ; return x } function ge ( a , b , c ) { return a = a . length , b = + b , a < b && oc ( b ) ? ( b -= a , c = null == c ? " " : c + "" , ab ( c , vd ( b / c . length ) ) . slice ( 0 , b ) ) : "" } function Jd ( a , b , c , d ) { function e ( ) { for ( var b = - 1 , k = arguments . length , h = - 1 , x = d . length , l = La ( x + k ) ; ++ h < x ; ) l [ h ] = d [ h ] ; for ( ; k -- ; ) l [ h ++ ] = arguments [ ++ b ] ; return ( this && this !== Eb && this instanceof e ? g : a ) . apply ( f ? c : this , l ) } var f = b & O , g = Ec ( a ) ; return e } function he ( a ) { var b =
nc [ a ] ; return function ( a , c ) { return ( c = c === p ? 0 : + c || 0 ) ? ( c = yf ( 10 , c ) , b ( a * c ) / c ) : b ( a ) } } function je ( a ) { return function ( b , c , d , e ) { var f = Ca ( d ) ; return null == d && f === Oc ? ud ( b , c , a ) : Se ( b , c , f ( d , e , 1 ) , a ) } } function jb ( a , b , c , d , e , f , g , k ) { var h = b & J ; if ( ! h && "function" != typeof a ) throw new rb ( M ) ; var x = d ? d . length : 0 ; if ( x || ( b &= ~ ( X | H ) , d = e = p ) , x -= e ? e . length : 0 , b & H ) { var l = d , m = e ; d = e = p } var D = h ? p : Fd ( a ) ; return c = [ a , b , c , d , e , l , m , f , g , k ] , D && ( d = c [ 1 ] , b = D [ 1 ] , k = d | b , e = b == R && d == N || b == R && d == U && c [ 7 ] . length <= D [ 8 ] || b == ( R | U ) && d == N , ( k < R || e ) && ( b & O && ( c [ 2 ] =
D [ 2 ] , k |= d & O ? 0 : G ) , ( d = D [ 3 ] ) && ( e = c [ 3 ] , c [ 3 ] = e ? Ue ( e , d , D [ 4 ] ) : db ( d ) , c [ 4 ] = e ? A ( c [ 3 ] , qa ) : db ( D [ 4 ] ) ) , ( d = D [ 5 ] ) && ( e = c [ 5 ] , c [ 5 ] = e ? Ve ( e , d , D [ 6 ] ) : db ( d ) , c [ 6 ] = e ? A ( c [ 5 ] , qa ) : db ( D [ 6 ] ) ) , ( d = D [ 7 ] ) && ( c [ 7 ] = db ( d ) ) , b & R && ( c [ 8 ] = null == c [ 8 ] ? D [ 8 ] : kb ( c [ 8 ] , D [ 8 ] ) ) , null == c [ 9 ] && ( c [ 9 ] = D [ 9 ] ) , c [ 0 ] = D [ 0 ] , c [ 1 ] = k ) , b = c [ 1 ] , k = c [ 9 ] ) , c [ 9 ] = null == k ? h ? 0 : a . length : Ya ( k - x , 0 ) || 0 , ( D ? Ce : Ee ) ( b == O ? sf ( c [ 0 ] , c [ 2 ] ) : b != X && b != ( O | X ) || c [ 4 ] . length ? Uc . apply ( p , c ) : Jd . apply ( p , c ) , c ) } function Cf ( a , b , c , d , e , f , g ) { var k = - 1 , h = a . length , x = b . length ; if ( h != x && ( ! e || x <= h ) ) return ! 1 ; for ( ; ++ k <
h ; ) { var l = a [ k ] , x = b [ k ] , m = d ? d ( e ? x : l , e ? l : x , k ) : p ; if ( m !== p ) { if ( m ) continue ; return ! 1 } if ( e ) { if ( ! Oe ( b , function ( a ) { return l === a || c ( l , a , d , e , f , g ) } ) ) return ! 1 } else if ( l !== x && ! c ( l , x , d , e , f , g ) ) return ! 1 } return ! 0 } function ne ( a , b , c ) { switch ( c ) { case ma : case ba : return + a == + b ; case la : return a . name == b . name && a . message == b . message ; case sa : return a != + a ? b != + b : a == + b ; case v : case oa : return a == b + "" } return ! 1 } function Vc ( a , b , c , d , e , f , g ) { var k = Aa ( a ) , h = k . length , l = Aa ( b ) . length ; if ( h != l && ! e ) return ! 1 ; for ( l = h ; l -- ; ) { var x = k [ l ] ; if ( ! ( e ? x in b :
Qa . call ( b , x ) ) ) return ! 1 } for ( var m = e ; ++ l < h ; ) { var x = k [ l ] , D = a [ x ] , v = b [ x ] , n = d ? d ( e ? v : D , e ? D : v , x ) : p ; if ( n === p ? ! c ( D , v , d , e , f , g ) : ! n ) return ! 1 ; m || ( m = "constructor" == x ) } return ! ( ! m && ( c = a . constructor , d = b . constructor , c != d && "constructor" in a && "constructor" in b && ! ( "function" == typeof c && c instanceof c && "function" == typeof d && d instanceof d ) ) ) } function Ca ( a , b , c ) { var d = C . callback || Mc , d = d === Mc ? Oc : d ; return c ? d ( a , b , c ) : d } function cc ( a ) { for ( var b = a . name + "" , c = $c [ b ] , d = c ? c . length : 0 ; d -- ; ) { var e = c [ d ] , f = e . func ; if ( null == f || f == a ) return e . name } return b }
function mc ( a , b , c ) { var d = C . indexOf || Ga , d = d === Ga ? h : d ; return a ? d ( a , b , c ) : d } function oe ( a ) { a = Ne ( a ) ; for ( var b = a . length ; b -- ; ) { var c = a [ b ] [ 1 ] ; a [ b ] [ 2 ] = c === c && ! Ha ( c ) } return a } function dc ( a , b ) { var c = null == a ? p : a [ b ] ; return Vd ( c ) ? c : p } function Df ( a ) { var b = a . length , c = new a . constructor ( b ) ; return b && "string" == typeof a [ 0 ] && Qa . call ( a , "index" ) && ( c . index = a . index , c . input = a . input ) , c } function Ff ( a ) { return a = a . constructor , "function" == typeof a && a instanceof a || ( a = Hb ) , new a } function kc ( a , b , c ) { var d = a . constructor ; switch ( b ) { case Fa : return Te ( a ) ;
case ma : case ba : return new d ( + a ) ; case Z : case Xa : case Ia : case aa : case za : case Sa : case ub : case Sb : case vb : return b = a . buffer , new d ( c ? Te ( b ) : b , a . byteOffset , a . length ) ; case sa : case oa : return new d ( a ) ; case v : var e = new d ( a . source , ua . exec ( a ) ) ; e . lastIndex = a . lastIndex } return e } function fa ( a , b , c ) { return null == a || xa ( b , a ) || ( b = Na ( b ) , a = 1 == b . length ? a : hb ( a , ib ( b , 0 , - 1 ) ) , b = tc ( b ) ) , b = null == a ? a : a [ b ] , null == b ? p : b . apply ( a , c ) } function Ea ( a ) { return null != a && lb ( Bc ( a ) ) } function Ib ( a , b ) { return a = "number" == typeof a || rc . test ( a ) ? + a :
- 1 , b = null == b ? te : b , - 1 < a && 0 == a % 1 && a < b } function wa ( a , b , c ) { if ( ! Ha ( c ) ) return ! 1 ; var d = typeof b ; return ! ! ( "number" == d ? Ea ( c ) && Ib ( b , c . length ) : "string" == d && b in c ) && ( b = c [ b ] , a === a ? a === b : b !== b ) } function xa ( a , b ) { var c = typeof a ; return ! ! ( "string" == c && cf . test ( a ) || "number" == c ) || ! ta ( a ) && ( ! nd . test ( a ) || null != b && a in Wa ( b ) ) } function sb ( a ) { var b = cc ( a ) , c = C [ b ] ; return "function" == typeof c && b in ya . prototype && ( a === c || ( b = Fd ( c ) , ! ! b && a === b [ 0 ] ) ) } function lb ( a ) { return "number" == typeof a && - 1 < a && 0 == a % 1 && a <= te } function Cb ( a , b ) { return a ===
p ? b : fd ( a , b , Cb ) } function ff ( a , b ) { a = Wa ( a ) ; for ( var c = - 1 , d = b . length , e = { } ; ++ c < d ; ) { var f = b [ c ] ; f in a && ( e [ f ] = a [ f ] ) } return e } function Gf ( a , b ) { var c = { } ; return Pe ( a , function ( a , d , e ) { b ( a , d , e ) && ( c [ d ] = a ) } ) , c } function tb ( a ) { for ( var b = Vb ( a ) , c = b . length , d = c && a . length , e = ! ! d && lb ( d ) && ( ta ( a ) || Ta ( a ) ) , f = - 1 , g = [ ] ; ++ f < c ; ) { var k = b [ f ] ; ( e && Ib ( k , d ) || Qa . call ( a , k ) ) && g . push ( k ) } return g } function wc ( a ) { return null == a ? [ ] : Ea ( a ) ? Ha ( a ) ? a : Hb ( a ) : hd ( a ) } function Wa ( a ) { return Ha ( a ) ? a : Hb ( a ) } function Na ( a ) { if ( ta ( a ) ) return a ; var b = [ ] ; return c ( a ) . replace ( ea ,
function ( a , c , d , e ) { b . push ( d ? e . replace ( Va , "$1" ) : c || a ) } ) , b } function xc ( a ) { return a instanceof ya ? a . clone ( ) : new wb ( a . _ _wrapped _ _ , a . _ _chain _ _ , db ( a . _ _actions _ _ ) ) } function ad ( a , b , c ) { return a && a . length ? ( ( c ? wa ( a , b , c ) : null == b ) && ( b = 1 ) , ib ( a , 0 > b ? 0 : b ) ) : [ ] } function pa ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? wa ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , ib ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } function xe ( a ) { return a ? a [ 0 ] : p } function Ga ( a , b , c ) { var d = a ? a . length : 0 ; if ( ! d ) return - 1 ; if ( "number" == typeof c ) c = 0 > c ? Ya ( d + c , 0 ) : c ; else if ( c ) return c = ud ( a , b ) ,
c < d && ( b === b ? b === a [ c ] : a [ c ] !== a [ c ] ) ? c : - 1 ; return h ( a , b , c || 0 ) } function tc ( a ) { var b = a ? a . length : 0 ; return b ? a [ b - 1 ] : p } function Ub ( a ) { return ad ( a , 1 ) } function yc ( a , b , c , d ) { if ( ! a || ! a . length ) return [ ] ; null != b && "boolean" != typeof b && ( d = c , c = wa ( a , b , d ) ? p : b , b = ! 1 ) ; var e = Ca ( ) ; if ( ( null != c || e !== Oc ) && ( c = e ( c , d , 3 ) ) , b && mc ( ) === h ) { b = c ; var f ; c = - 1 ; d = a . length ; for ( var e = - 1 , g = [ ] ; ++ c < d ; ) { var k = a [ c ] , l = b ? b ( k , c , a ) : k ; c && f === l || ( f = l , g [ ++ e ] = k ) } a = g } else a = Md ( a , c ) ; return a } function Cd ( a ) { if ( ! a || ! a . length ) return [ ] ; var b = - 1 , c = 0 ; a = Gb ( a , function ( a ) { return Ea ( a ) ?
( c = Ya ( a . length , c ) , ! 0 ) : void 0 } ) ; for ( var d = La ( c ) ; ++ b < c ; ) d [ b ] = lc ( a , sd ( b ) ) ; return d } function fc ( a , b , c ) { return a && a . length ? ( a = Cd ( a ) , null == b ? a : ( b = mb ( b , c , 4 ) , lc ( a , function ( a ) { return Dc ( a , b , p , ! 0 ) } ) ) ) : [ ] } function ye ( a , b ) { var c = - 1 , d = a ? a . length : 0 , e = { } ; for ( ! d || b || ta ( a [ 0 ] ) || ( b = [ ] ) ; ++ c < d ; ) { var f = a [ c ] ; b ? e [ f ] = b [ c ] : f && ( e [ f [ 0 ] ] = f [ 1 ] ) } return e } function Dd ( a ) { return a = C ( a ) , a . _ _chain _ _ = ! 0 , a } function Qb ( a , b , c ) { return b . call ( c , a ) } function Ae ( a , b , c ) { var d = ta ( a ) ? Mb : Zd ; return c && wa ( a , b , c ) && ( b = p ) , ( "function" != typeof b || c !==
p ) && ( b = Ca ( b , c , 3 ) ) , d ( a , b ) } function hc ( a , b , c ) { var d = ta ( a ) ? Gb : ae ; return b = Ca ( b , c , 3 ) , d ( a , b ) } function Od ( a , b , c , d ) { var e = a ? Bc ( a ) : 0 ; return lb ( e ) || ( a = hd ( a ) , e = a . length ) , c = "number" != typeof c || d && wa ( b , c , d ) ? 0 : 0 > c ? Ya ( e + c , 0 ) : c || 0 , "string" == typeof a || ! ta ( a ) && pe ( a ) ? c <= e && - 1 < a . indexOf ( b , c ) : ! ! e && - 1 < mc ( a , b , c ) } function Nd ( a , b , c ) { var d = ta ( a ) ? lc : ce ; return b = Ca ( b , c , 3 ) , d ( a , b ) } function kd ( a , b , c ) { if ( c ? wa ( a , b , c ) : null == b ) { a = wc ( a ) ; var d = a . length ; return 0 < d ? a [ td ( 0 , d - 1 ) ] : p } c = - 1 ; a = qe ( a ) ; var d = a . length , e = d - 1 ; for ( b = kb ( 0 > b ? 0 : + b || 0 ,
d ) ; ++ c < b ; ) { var d = td ( c , e ) , f = a [ d ] ; a [ d ] = a [ c ] ; a [ c ] = f } return a . length = b , a } function Hc ( a , b , c ) { var d = ta ( a ) ? Oe : Hd ; return c && wa ( a , b , c ) && ( b = p ) , ( "function" != typeof b || c !== p ) && ( b = Ca ( b , c , 3 ) ) , d ( a , b ) } function ld ( a , b ) { var c ; if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new rb ( M ) ; b = a = b } return function ( ) { return 0 < -- a && ( c = b . apply ( this , arguments ) ) , 1 >= a && ( b = p ) , c } } function bf ( a , b , c ) { function d ( b , c ) { c && Ra ( c ) ; h = v = D = p ; b && ( n = Cc ( ) , l = a . apply ( m , k ) , v || h || ( k = m = p ) ) } function e ( ) { var a = b - ( Cc ( ) - x ) ; 0 >= a || a > b ? d ( D , h ) : v = xd ( e ,
a ) } function f ( ) { d ( r , v ) } function g ( ) { if ( k = arguments , x = Cc ( ) , m = this , D = r && ( v || ! q ) , ! 1 === t ) var c = q && ! v ; else { h || q || ( n = x ) ; var d = t - ( x - n ) , g = 0 >= d || d > t ; g ? ( h && ( h = Ra ( h ) ) , n = x , l = a . apply ( m , k ) ) : h || ( h = xd ( f , d ) ) } return g && v ? v = Ra ( v ) : v || b === t || ( v = xd ( e , b ) ) , c && ( g = ! 0 , l = a . apply ( m , k ) ) , ! g || v || h || ( k = m = p ) , l } var k , h , l , x , m , v , D , n = 0 , t = ! 1 , r = ! 0 ; if ( "function" != typeof a ) throw new rb ( M ) ; if ( b = 0 > b ? 0 : + b || 0 , ! 0 === c ) var q = ! 0 , r = ! 1 ; else Ha ( c ) && ( q = ! ! c . leading , t = "maxWait" in c && Ya ( + c . maxWait || 0 , b ) , r = "trailing" in c ? ! ! c . trailing : r ) ; return g . cancel =
function ( ) { v && Ra ( v ) ; h && Ra ( h ) ; n = 0 ; h = v = D = p } , g } function Gc ( a , b ) { function c ( ) { var d = arguments , e = b ? b . apply ( this , d ) : d [ 0 ] , f = c . cache ; return f . has ( e ) ? f . get ( e ) : ( d = a . apply ( this , d ) , c . cache = f . set ( e , d ) , d ) } if ( "function" != typeof a || b && "function" != typeof b ) throw new rb ( M ) ; return c . cache = new Gc . Cache , c } function Ba ( a , b ) { if ( "function" != typeof a ) throw new rb ( M ) ; return b = Ya ( b === p ? a . length - 1 : + b || 0 , 0 ) , function ( ) { for ( var c = arguments , d = - 1 , e = Ya ( c . length - b , 0 ) , f = La ( e ) ; ++ d < e ; ) f [ d ] = c [ b + d ] ; switch ( b ) { case 0 : return a . call ( this , f ) ;
case 1 : return a . call ( this , c [ 0 ] , f ) ; case 2 : return a . call ( this , c [ 0 ] , c [ 1 ] , f ) } e = La ( b + 1 ) ; for ( d = - 1 ; ++ d < b ; ) e [ d ] = c [ d ] ; return e [ b ] = f , a . apply ( this , e ) } } function $e ( a , b ) { return a > b } function Ta ( a ) { return u ( a ) && Ea ( a ) && Qa . call ( a , "callee" ) && ! xf . call ( a , "callee" ) } function ef ( a , b , c , d ) { return d = ( c = "function" == typeof c ? mb ( c , d , 3 ) : p ) ? c ( a , b ) : p , d === p ? Qc ( a , b , c ) : ! ! d } function Rb ( a ) { return u ( a ) && "string" == typeof a . message && fb . call ( a ) == la } function Fb ( a ) { return Ha ( a ) && fb . call ( a ) == Da } function Ha ( a ) { var b = typeof a ; return ! ! a && ( "object" ==
b || "function" == b ) } function Vd ( a ) { return null != a && ( Fb ( a ) ? ac . test ( Jf . call ( a ) ) : u ( a ) && Lb . test ( a ) ) } function Xe ( a ) { return "number" == typeof a || u ( a ) && fb . call ( a ) == sa } function Kc ( a ) { var b ; if ( ! u ( a ) || fb . call ( a ) != ga || Ta ( a ) || ! ( Qa . call ( a , "constructor" ) || ( b = a . constructor , "function" != typeof b || b instanceof b ) ) ) return ! 1 ; var c ; return Pe ( a , function ( a , b ) { c = b } ) , c === p || Qa . call ( a , c ) } function Hf ( a ) { return Ha ( a ) && fb . call ( a ) == v } function pe ( a ) { return "string" == typeof a || u ( a ) && fb . call ( a ) == oa } function jc ( a ) { return u ( a ) && lb ( a . length ) &&
! ! Ka [ fb . call ( a ) ] } function Xb ( a , b ) { return a < b } function qe ( a ) { var b = a ? Bc ( a ) : 0 ; return lb ( b ) ? b ? db ( a ) : [ ] : hd ( a ) } function Me ( a ) { return Yd ( a , Vb ( a ) ) } function Id ( a ) { return rd ( a , Vb ( a ) ) } function Vb ( a ) { if ( null == a ) return [ ] ; Ha ( a ) || ( a = Hb ( a ) ) ; for ( var b = a . length , b = b && lb ( b ) && ( ta ( a ) || Ta ( a ) ) && b || 0 , c = a . constructor , d = - 1 , c = "function" == typeof c && c . prototype === a , e = La ( b ) , f = 0 < b ; ++ d < b ; ) e [ d ] = d + "" ; for ( var g in a ) f && Ib ( g , b ) || "constructor" == g && ( c || ! Qa . call ( a , g ) ) || e . push ( g ) ; return e } function Ne ( a ) { a = Wa ( a ) ; for ( var b = - 1 , c = Aa ( a ) , d = c . length ,
e = La ( d ) ; ++ b < d ; ) { var f = c [ b ] ; e [ b ] = [ f , a [ f ] ] } return e } function hd ( a ) { return Ld ( a , Aa ( a ) ) } function Le ( a ) { return ( a = c ( a ) ) && a . replace ( Jc , t ) . replace ( Pa , "" ) } function ab ( a , b ) { var d = "" ; if ( a = c ( a ) , b = + b , 1 > b || ! a || ! oc ( b ) ) return d ; do b % 2 && ( d += a ) , b = Db ( b / 2 ) , a += a ; while ( b ) ; return d } function Td ( b , d , f ) { var g = b ; return ( b = c ( b ) ) ? ( f ? wa ( g , d , f ) : null == d ) ? b . slice ( z ( b ) , B ( b ) + 1 ) : ( d += "" , b . slice ( a ( b , d ) , e ( b , d ) + 1 ) ) : b } function gf ( a , b , d ) { return d && wa ( a , b , d ) && ( b = p ) , a = c ( a ) , a . match ( b || ig ) || [ ] } function Mc ( a , b , c ) { return c && wa ( a , b , c ) && ( b = p ) , u ( a ) ?
Wd ( a ) : Oc ( a , b ) } function gc ( a ) { return a } function Wd ( a ) { return sc ( bb ( a , ! 0 ) ) } function Nc ( a , b , c ) { if ( null == c ) { var d = Ha ( b ) , e = d ? Aa ( b ) : p ; ( ( e = e && e . length ? rd ( b , e ) : p ) ? e . length : d ) || ( e = ! 1 , c = b , b = a , a = this ) } e || ( e = rd ( b , Aa ( b ) ) ) ; var f = ! 0 , d = - 1 , g = Fb ( a ) , k = e . length ; ! 1 === c ? f = ! 1 : Ha ( c ) && "chain" in c && ( f = c . chain ) ; for ( ; ++ d < k ; ) { c = e [ d ] ; var h = b [ c ] ; a [ c ] = h ; g && ( a . prototype [ c ] = function ( b ) { return function ( ) { var c = this . _ _chain _ _ ; if ( f || c ) { var d = a ( this . _ _wrapped _ _ ) ; return ( d . _ _actions _ _ = db ( this . _ _actions _ _ ) ) . push ( { func : b , args : arguments , thisArg : a } ) ,
d . _ _chain _ _ = c , d } return b . apply ( a , xb ( [ this . value ( ) ] , arguments ) ) } } ( h ) ) } return a } function hf ( ) { } function pd ( a ) { return xa ( a ) ? sd ( a ) : nf ( a ) } w = w ? Jb . defaults ( Eb . Object ( ) , w , Jb . pick ( Eb , jg ) ) : Eb ; var La = w . Array , If = w . Date , jf = w . Error , Zb = w . Function , nc = w . Math , lf = w . Number , Hb = w . Object , re = w . RegExp , cb = w . String , rb = w . TypeError , mf = La . prototype , be = Hb . prototype , Bd = cb . prototype , Jf = Zb . prototype . toString , Qa = be . hasOwnProperty , Q = 0 , fb = be . toString , Qd = Eb . _ , ac = re ( "^" + Jf . call ( Qa ) . replace ( /[\\^$.*+?()[\]{}|]/g , "\\$&" ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g ,
"$1.*?" ) + "$" ) , zb = w . ArrayBuffer , Ra = w . clearTimeout , rf = w . parseFloat , yf = nc . pow , xf = be . propertyIsEnumerable , uc = dc ( w , "Set" ) , xd = w . setTimeout , Bf = mf . splice , Af = w . Uint8Array , uf = dc ( w , "WeakMap" ) , vd = nc . ceil , ed = dc ( Hb , "create" ) , Db = nc . floor , yd = dc ( La , "isArray" ) , oc = w . isFinite , Be = dc ( Hb , "keys" ) , Ya = nc . max , kb = nc . min , Sd = dc ( If , "now" ) , og = w . parseInt , Kf = nc . random , Lf = lf . NEGATIVE _INFINITY , Zc = lf . POSITIVE _INFINITY , se = 4294967294 , Mf = 2147483647 , te = 9007199254740991 , Wc = uf && new uf , $c = { } ; C . support = { } ; C . templateSettings = { escape : af , evaluate : Oa ,
interpolate : md , variable : "" , imports : { _ : C } } ; var pc = function ( ) { function a ( ) { } return function ( b ) { if ( Ha ( b ) ) { a . prototype = b ; var c = new a ; a . prototype = p } return c || { } } } ( ) , Ab = Xd ( Kb ) , Gd = Xd ( $b , ! 0 ) , Ed = We ( ) , De = We ( ! 0 ) , Ce = Wc ? function ( a , b ) { return Wc . set ( a , b ) , a } : gc , Fd = Wc ? function ( a ) { return Wc . get ( a ) } : hf , Bc = sd ( "length" ) , Ee = function ( ) { var a = 0 , b = 0 ; return function ( c , d ) { var e = Cc ( ) , f = ka - ( e - b ) ; if ( b = e , 0 < f ) { if ( ++ a >= S ) return c } else a = 0 ; return Ce ( c , d ) } } ( ) , Tf = Ba ( function ( a , b ) { return u ( a ) && Ea ( a ) ? Ob ( a , eb ( b , ! 1 , ! 0 ) ) : [ ] } ) , Uf = fe ( ) , Vf =
fe ( ! 0 ) , Ke = Ba ( function ( a ) { for ( var b = a . length , c = b , d = La ( m ) , e = mc ( ) , f = e === h , g = [ ] ; c -- ; ) { var k = a [ c ] = Ea ( k = a [ c ] ) ? k : [ ] ; d [ c ] = f && 120 <= k . length && ed && uc ? new ob ( c && k ) : null } var f = a [ 0 ] , l = - 1 , m = f ? f . length : 0 , x = d [ 0 ] ; a : for ( ; ++ l < m ; ) if ( k = f [ l ] , 0 > ( x ? qb ( x , k ) : e ( g , k , 0 ) ) ) { for ( c = b ; -- c ; ) { var v = d [ c ] ; if ( 0 > ( v ? qb ( v , k ) : e ( a [ c ] , k , 0 ) ) ) continue a } x && x . push ( k ) ; g . push ( k ) } return g } ) , pg = Ba ( function ( a , c ) { c = eb ( c ) ; var d = qd ( a , c ) ; return ee ( a , c . sort ( b ) ) , d } ) , Xf = je ( ) , Yf = je ( ! 0 ) , hg = Ba ( function ( a ) { return Md ( eb ( a , ! 1 , ! 0 ) ) } ) , Zf = Ba ( function ( a , b ) { return Ea ( a ) ?
Ob ( a , b ) : [ ] } ) , fg = Ba ( Cd ) , Yc = Ba ( function ( a ) { var b = a . length , c = 2 < b ? a [ b - 2 ] : p , d = 1 < b ? a [ b - 1 ] : p ; return 2 < b && "function" == typeof c ? b -= 2 : ( c = 1 < b && "function" == typeof d ? ( -- b , d ) : p , d = p ) , a . length = b , fc ( a , c , d ) } ) , Ef = Ba ( function ( a ) { return a = eb ( a ) , this . thru ( function ( b ) { b = ta ( b ) ? b : [ Wa ( b ) ] ; for ( var c = a , d = - 1 , e = b . length , f = - 1 , g = c . length , k = La ( e + g ) ; ++ d < e ; ) k [ d ] = b [ d ] ; for ( ; ++ f < g ; ) k [ d ++ ] = c [ f ] ; return k } ) } ) , vc = Ba ( function ( a , b ) { return qd ( a , eb ( b ) ) } ) , zd = id ( function ( a , b , c ) { Qa . call ( a , c ) ? ++ a [ c ] : a [ c ] = 1 } ) , Ad = wd ( Ab ) , Xc = wd ( Gd , ! 0 ) , Nf = zf ( nb , Ab ) , Ie =
zf ( function ( a , b ) { for ( var c = a . length ; c -- && ! 1 !== b ( a [ c ] , c , a ) ; ) ; return a } , Gd ) , qg = id ( function ( a , b , c ) { Qa . call ( a , c ) ? a [ c ] . push ( b ) : a [ c ] = [ b ] } ) , gg = id ( function ( a , b , c ) { a [ c ] = b } ) , $f = Ba ( function ( a , b , c ) { var d = - 1 , e = "function" == typeof b , f = xa ( b ) , g = Ea ( a ) ? La ( a . length ) : [ ] ; return Ab ( a , function ( a ) { var k = e ? b : f && null != a ? a [ b ] : p ; g [ ++ d ] = k ? k . apply ( a , c ) : fa ( a , b , c ) } ) , g } ) , rg = id ( function ( a , b , c ) { a [ c ? 0 : 1 ] . push ( b ) } , function ( ) { return [ [ ] , [ ] ] } ) , ue = me ( Dc , Ab ) , He = me ( function ( a , b , c , d ) { var e = a . length ; for ( d && e && ( c = a [ -- e ] ) ; e -- ; ) c = b ( c , a [ e ] , e , a ) ;
return c } , Gd ) , ag = Ba ( function ( a , b ) { if ( null == a ) return [ ] ; var c = b [ 2 ] ; return c && wa ( b [ 0 ] , b [ 1 ] , c ) && ( b . length = 1 ) , Re ( a , eb ( b ) , [ ] ) } ) , Cc = Sd || function ( ) { return ( new If ) . getTime ( ) } , Fe = Ba ( function ( a , b , c ) { var d = O ; if ( c . length ) var e = A ( c , Fe . placeholder ) , d = d | X ; return jb ( a , d , b , c , e ) } ) , Wf = Ba ( function ( a , b ) { b = b . length ? eb ( b ) : Id ( a ) ; for ( var c = - 1 , d = b . length ; ++ c < d ; ) { var e = b [ c ] ; a [ e ] = jb ( a [ e ] , O , a ) } return a } ) , Ge = Ba ( function ( a , b , c ) { var d = O | J ; if ( c . length ) var e = A ( c , Ge . placeholder ) , d = d | X ; return jb ( b , d , a , c , e ) } ) , bg = tf ( N ) , cg = tf ( T ) , dg = Ba ( function ( a ,
b ) { return Yb ( a , 1 , b ) } ) , eg = Ba ( function ( a , b , c ) { return Yb ( a , b , c ) } ) , Pf = wf ( ) , ve = wf ( ! 0 ) , sg = Ba ( function ( a , b ) { if ( b = eb ( b ) , "function" != typeof a || ! Mb ( b , l ) ) throw new rb ( M ) ; var c = b . length ; return Ba ( function ( d ) { for ( var e = kb ( d . length , c ) ; e -- ; ) d [ e ] = b [ e ] ( d [ e ] ) ; return a . apply ( this , d ) } ) } ) , Qf = le ( X ) , Sf = le ( H ) , Rf = Ba ( function ( a , b ) { return jb ( a , U , p , p , p , eb ( b ) ) } ) , ta = yd || function ( a ) { return u ( a ) && lb ( a . length ) && fb . call ( a ) == V } , fd = Nb ( de ) , gd = Nb ( function ( a , b , c ) { return c ? Kd ( a , b , c ) : Fc ( a , b ) } ) , Je = vf ( gd , function ( a , b ) { return a === p ? b : a } ) , d =
vf ( fd , Cb ) , m = ie ( Kb ) , Y = ie ( $b ) , F = ke ( Ed ) , ia = ke ( De ) , ja = Sc ( Kb ) , na = Sc ( $b ) , Aa = Be ? function ( a ) { var b = null == a ? p : a . constructor ; return "function" == typeof b && b . prototype === a || "function" != typeof a && Ea ( a ) ? tb ( a ) : Ha ( a ) ? Be ( a ) : [ ] } : tb , Pb = Za ( ! 0 ) , Bb = Za ( ) , ec = Ba ( function ( a , b ) { if ( null == a ) return { } ; if ( "function" != typeof b [ 0 ] ) return b = lc ( eb ( b ) , cb ) , ff ( a , Ob ( Vb ( a ) , b ) ) ; var c = mb ( b [ 0 ] , b [ 1 ] , 3 ) ; return Gf ( a , function ( a , b , d ) { return ! c ( a , b , d ) } ) } ) , we = Ba ( function ( a , b ) { return null == a ? { } : "function" == typeof b [ 0 ] ? Gf ( a , mb ( b [ 0 ] , b [ 1 ] , 3 ) ) : ff ( a , eb ( b ) ) } ) ,
zg = jd ( function ( a , b , c ) { return b = b . toLowerCase ( ) , a + ( c ? b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) : b ) } ) , cd = jd ( function ( a , b , c ) { return a + ( c ? "-" : "" ) + b . toLowerCase ( ) } ) , yg = Tc ( ) , zc = Tc ( ! 0 ) , bd = jd ( function ( a , b , c ) { return a + ( c ? "_" : "" ) + b . toLowerCase ( ) } ) , xg = jd ( function ( a , b , c ) { return a + ( c ? " " : "" ) + ( b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) ) } ) , Ac = Ba ( function ( a , b ) { try { return a . apply ( p , b ) } catch ( L ) { return Rb ( L ) ? L : new jf ( L ) } } ) , kg = Ba ( function ( a , b ) { return function ( c ) { return fa ( c , a , b ) } } ) , pb = Ba ( function ( a , b ) { return function ( c ) { return fa ( a ,
c , b ) } } ) , Rd = he ( "ceil" ) , Lc = he ( "floor" ) , od = bc ( $e , Lf ) , tg = bc ( Xb , Zc ) , lg = he ( "round" ) ; return C . prototype = $a . prototype , wb . prototype = pc ( $a . prototype ) , wb . prototype . constructor = wb , ya . prototype = pc ( $a . prototype ) , ya . prototype . constructor = ya , gb . prototype [ "delete" ] = function ( a ) { return this . has ( a ) && delete this . _ _data _ _ [ a ] } , gb . prototype . get = function ( a ) { return "__proto__" == a ? p : this . _ _data _ _ [ a ] } , gb . prototype . has = function ( a ) { return "__proto__" != a && Qa . call ( this . _ _data _ _ , a ) } , gb . prototype . set = function ( a , b ) { return "__proto__" !=
a && ( this . _ _data _ _ [ a ] = b ) , this } , ob . prototype . push = function ( a ) { var b = this . data ; "string" == typeof a || Ha ( a ) ? b . set . add ( a ) : b . hash [ a ] = ! 0 } , Gc . Cache = gb , C . after = function ( a , b ) { if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new rb ( M ) ; b = a = b } return a = oc ( a = + a ) ? a : 0 , function ( ) { return 1 > -- a ? b . apply ( this , arguments ) : void 0 } } , C . ary = function ( a , b , c ) { return c && wa ( a , b , c ) && ( b = p ) , b = a && null == b ? a . length : Ya ( + b || 0 , 0 ) , jb ( a , R , p , p , p , p , b ) } , C . assign = gd , C . at = vc , C . before = ld , C . bind = Fe , C . bindAll = Wf , C . bindKey = Ge , C . callback = Mc , C . chain =
Dd , C . chunk = function ( a , b , c ) { b = ( c ? wa ( a , b , c ) : null == b ) ? 1 : Ya ( Db ( b ) || 1 , 1 ) ; c = 0 ; for ( var d = a ? a . length : 0 , e = - 1 , f = La ( vd ( d / b ) ) ; c < d ; ) f [ ++ e ] = ib ( a , c , c += b ) ; return f } , C . compact = function ( a ) { for ( var b = - 1 , c = a ? a . length : 0 , d = - 1 , e = [ ] ; ++ b < c ; ) { var f = a [ b ] ; f && ( e [ ++ d ] = f ) } return e } , C . constant = function ( a ) { return function ( ) { return a } } , C . countBy = zd , C . create = function ( a , b , c ) { var d = pc ( a ) ; return c && wa ( a , b , c ) && ( b = p ) , b ? Fc ( d , b ) : d } , C . curry = bg , C . curryRight = cg , C . debounce = bf , C . defaults = Je , C . defaultsDeep = d , C . defer = dg , C . delay = eg , C . difference =
Tf , C . drop = ad , C . dropRight = pa , C . dropRightWhile = function ( a , b , c ) { return a && a . length ? dd ( a , Ca ( b , c , 3 ) , ! 0 , ! 0 ) : [ ] } , C . dropWhile = function ( a , b , c ) { return a && a . length ? dd ( a , Ca ( b , c , 3 ) , ! 0 ) : [ ] } , C . fill = function ( a , b , c , d ) { var e = a ? a . length : 0 ; if ( ! e ) return [ ] ; c && "number" != typeof c && wa ( a , b , c ) && ( c = 0 , d = e ) ; e = a . length ; c = null == c ? 0 : + c || 0 ; 0 > c && ( c = - c > e ? 0 : e + c ) ; d = d === p || d > e ? e : + d || 0 ; 0 > d && ( d += e ) ; e = c > d ? 0 : d >>> 0 ; for ( c >>>= 0 ; c < e ; ) a [ c ++ ] = b ; return a } , C . filter = hc , C . flatten = function ( a , b , c ) { var d = a ? a . length : 0 ; return c && wa ( a , b , c ) && ( b = ! 1 ) , d ? eb ( a ,
b ) : [ ] } , C . flattenDeep = function ( a ) { return a && a . length ? eb ( a , ! 0 ) : [ ] } , C . flow = Pf , C . flowRight = ve , C . forEach = Nf , C . forEachRight = Ie , C . forIn = F , C . forInRight = ia , C . forOwn = ja , C . forOwnRight = na , C . functions = Id , C . groupBy = qg , C . indexBy = gg , C . initial = function ( a ) { return pa ( a , 1 ) } , C . intersection = Ke , C . invert = function ( a , b , c ) { c && wa ( a , b , c ) && ( b = p ) ; c = - 1 ; for ( var d = Aa ( a ) , e = d . length , f = { } ; ++ c < e ; ) { var g = d [ c ] , k = a [ g ] ; b ? Qa . call ( f , k ) ? f [ k ] . push ( g ) : f [ k ] = [ g ] : f [ k ] = g } return f } , C . invoke = $f , C . keys = Aa , C . keysIn = Vb , C . map = Nd , C . mapKeys = Pb , C . mapValues =
Bb , C . matches = Wd , C . matchesProperty = function ( a , b ) { return Ua ( a , bb ( b , ! 0 ) ) } , C . memoize = Gc , C . merge = fd , C . method = kg , C . methodOf = pb , C . mixin = Nc , C . modArgs = sg , C . negate = function ( a ) { if ( "function" != typeof a ) throw new rb ( M ) ; return function ( ) { return ! a . apply ( this , arguments ) } } , C . omit = ec , C . once = function ( a ) { return ld ( 2 , a ) } , C . pairs = Ne , C . partial = Qf , C . partialRight = Sf , C . partition = rg , C . pick = we , C . pluck = function ( a , b ) { return Nd ( a , pd ( b ) ) } , C . property = pd , C . propertyOf = function ( a ) { return function ( b ) { return hb ( a , Na ( b ) , b + "" ) } } , C . pull =
function ( ) { var a = arguments , b = a [ 0 ] ; if ( ! b || ! b . length ) return b ; for ( var c = 0 , d = mc ( ) , e = a . length ; ++ c < e ; ) for ( var f = 0 , g = a [ c ] ; - 1 < ( f = d ( b , g , f ) ) ; ) Bf . call ( b , f , 1 ) ; return b } , C . pullAt = pg , C . range = function ( a , b , c ) { c && wa ( a , b , c ) && ( b = c = p ) ; a = + a || 0 ; c = null == c ? 1 : + c || 0 ; null == b ? ( b = a , a = 0 ) : b = + b || 0 ; var d = - 1 ; b = Ya ( vd ( ( b - a ) / ( c || 1 ) ) , 0 ) ; for ( var e = La ( b ) ; ++ d < b ; ) e [ d ] = a , a += c ; return e } , C . rearg = Rf , C . reject = function ( a , b , c ) { var d = ta ( a ) ? Gb : ae ; return b = Ca ( b , c , 3 ) , d ( a , function ( a , c , d ) { return ! b ( a , c , d ) } ) } , C . remove = function ( a , b , c ) { var d = [ ] ; if ( ! a || ! a . length ) return d ;
var e = - 1 , f = [ ] , g = a . length ; for ( b = Ca ( b , c , 3 ) ; ++ e < g ; ) c = a [ e ] , b ( c , e , a ) && ( d . push ( c ) , f . push ( e ) ) ; return ee ( a , f ) , d } , C . rest = Ub , C . restParam = Ba , C . set = function ( a , b , c ) { if ( null == a ) return a ; var d = b + "" ; b = null != a [ d ] || xa ( b , a ) ? [ d ] : Na ( b ) ; for ( var d = - 1 , e = b . length , f = e - 1 , g = a ; null != g && ++ d < e ; ) { var k = b [ d ] ; Ha ( g ) && ( d == f ? g [ k ] = c : null == g [ k ] && ( g [ k ] = Ib ( b [ d + 1 ] ) ? [ ] : { } ) ) ; g = g [ k ] } return a } , C . shuffle = function ( a ) { return kd ( a , Zc ) } , C . slice = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( c && "number" != typeof c && wa ( a , b , c ) && ( b = 0 , c = d ) , ib ( a , b , c ) ) : [ ] } ,
C . sortBy = function ( a , b , c ) { if ( null == a ) return [ ] ; c && wa ( a , b , c ) && ( b = p ) ; var d = - 1 ; return b = Ca ( b , c , 3 ) , a = ce ( a , function ( a , c , e ) { return { a : b ( a , c , e ) , b : ++ d , c : a } } ) , Qe ( a , g ) } , C . sortByAll = ag , C . sortByOrder = function ( a , b , c , d ) { return null == a ? [ ] : ( d && wa ( b , c , d ) && ( c = p ) , ta ( b ) || ( b = null == b ? [ ] : [ b ] ) , ta ( c ) || ( c = null == c ? [ ] : [ c ] ) , Re ( a , b , c ) ) } , C . spread = function ( a ) { if ( "function" != typeof a ) throw new rb ( M ) ; return function ( b ) { return a . apply ( this , b ) } } , C . take = function ( a , b , c ) { return a && a . length ? ( ( c ? wa ( a , b , c ) : null == b ) && ( b = 1 ) , ib ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } ,
C . takeRight = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? wa ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , ib ( a , 0 > b ? 0 : b ) ) : [ ] } , C . takeRightWhile = function ( a , b , c ) { return a && a . length ? dd ( a , Ca ( b , c , 3 ) , ! 1 , ! 0 ) : [ ] } , C . takeWhile = function ( a , b , c ) { return a && a . length ? dd ( a , Ca ( b , c , 3 ) ) : [ ] } , C . tap = function ( a , b , c ) { return b . call ( c , a ) , a } , C . throttle = function ( a , b , c ) { var d = ! 0 , e = ! 0 ; if ( "function" != typeof a ) throw new rb ( M ) ; return ! 1 === c ? d = ! 1 : Ha ( c ) && ( d = "leading" in c ? ! ! c . leading : d , e = "trailing" in c ? ! ! c . trailing : e ) , bf ( a , b , { leading : d , maxWait : + b ,
trailing : e } ) } , C . thru = Qb , C . times = function ( a , b , c ) { if ( a = Db ( a ) , 1 > a || ! oc ( a ) ) return [ ] ; var d = - 1 , e = La ( kb ( a , 4294967295 ) ) ; for ( b = mb ( b , c , 1 ) ; ++ d < a ; ) 4294967295 > d ? e [ d ] = b ( d ) : b ( d ) ; return e } , C . toArray = qe , C . toPlainObject = Me , C . transform = function ( a , b , c , d ) { var e = ta ( a ) || jc ( a ) ; return b = Ca ( b , d , 4 ) , null == c && ( e || Ha ( a ) ? ( d = a . constructor , c = e ? ta ( a ) ? new d : [ ] : pc ( Fb ( d ) ? d . prototype : p ) ) : c = { } ) , ( e ? nb : Kb ) ( a , function ( a , d , e ) { return b ( c , a , d , e ) } ) , c } , C . union = hg , C . uniq = yc , C . unzip = Cd , C . unzipWith = fc , C . values = hd , C . valuesIn = function ( a ) { return Ld ( a ,
Vb ( a ) ) } , C . where = function ( a , b ) { return hc ( a , sc ( b ) ) } , C . without = Zf , C . wrap = function ( a , b ) { return b = null == b ? gc : b , jb ( b , X , p , [ a ] , [ ] ) } , C . xor = function ( ) { for ( var a = - 1 , b = arguments . length ; ++ a < b ; ) { var c = arguments [ a ] ; if ( Ea ( c ) ) var d = d ? xb ( Ob ( d , c ) , Ob ( c , d ) ) : c } return d ? Md ( d ) : [ ] } , C . zip = fg , C . zipObject = ye , C . zipWith = Yc , C . backflow = ve , C . collect = Nd , C . compose = ve , C . each = Nf , C . eachRight = Ie , C . extend = gd , C . iteratee = Mc , C . methods = Id , C . object = ye , C . select = hc , C . tail = Ub , C . unique = yc , Nc ( C , C ) , C . add = function ( a , b ) { return ( + a || 0 ) + ( + b || 0 ) } , C . attempt =
Ac , C . camelCase = zg , C . capitalize = function ( a ) { return ( a = c ( a ) ) && a . charAt ( 0 ) . toUpperCase ( ) + a . slice ( 1 ) } , C . ceil = Rd , C . clone = function ( a , b , c , d ) { return b && "boolean" != typeof b && wa ( a , b , c ) ? b = ! 1 : "function" == typeof b && ( d = c , c = b , b = ! 1 ) , "function" == typeof c ? bb ( a , b , mb ( c , d , 3 ) ) : bb ( a , b ) } , C . cloneDeep = function ( a , b , c ) { return "function" == typeof b ? bb ( a , ! 0 , mb ( b , c , 3 ) ) : bb ( a , ! 0 ) } , C . deburr = Le , C . endsWith = function ( a , b , d ) { a = c ( a ) ; b += "" ; var e = a . length ; return d = d === p ? e : kb ( 0 > d ? 0 : + d || 0 , e ) , d -= b . length , 0 <= d && a . indexOf ( b , d ) == d } , C . escape = function ( a ) { return ( a =
c ( a ) ) && Ze . test ( a ) ? a . replace ( qc , k ) : a } , C . escapeRegExp = function ( a ) { return ( a = c ( a ) ) && Pd . test ( a ) ? a . replace ( va , n ) : a || "(?:)" } , C . every = Ae , C . find = Ad , C . findIndex = Uf , C . findKey = m , C . findLast = Xc , C . findLastIndex = Vf , C . findLastKey = Y , C . findWhere = function ( a , b ) { return Ad ( a , sc ( b ) ) } , C . first = xe , C . floor = Lc , C . get = function ( a , b , c ) { return a = null == a ? p : hb ( a , Na ( b ) , b + "" ) , a === p ? c : a } , C . gt = $e , C . gte = function ( a , b ) { return a >= b } , C . has = function ( a , b ) { if ( null == a ) return ! 1 ; var c = Qa . call ( a , b ) ; if ( ! c && ! xa ( b ) ) { if ( b = Na ( b ) , a = 1 == b . length ? a : hb ( a , ib ( b ,
0 , - 1 ) ) , null == a ) return ! 1 ; b = tc ( b ) ; c = Qa . call ( a , b ) } return c || lb ( a . length ) && Ib ( b , a . length ) && ( ta ( a ) || Ta ( a ) ) } , C . identity = gc , C . includes = Od , C . indexOf = Ga , C . inRange = function ( a , b , c ) { return b = + b || 0 , c === p ? ( c = b , b = 0 ) : c = + c || 0 , a >= kb ( b , c ) && a < Ya ( b , c ) } , C . isArguments = Ta , C . isArray = ta , C . isBoolean = function ( a ) { return ! 0 === a || ! 1 === a || u ( a ) && fb . call ( a ) == ma } , C . isDate = function ( a ) { return u ( a ) && fb . call ( a ) == ba } , C . isElement = function ( a ) { return ! ! a && 1 === a . nodeType && u ( a ) && ! Kc ( a ) } , C . isEmpty = function ( a ) { return null == a || ( Ea ( a ) && ( ta ( a ) || pe ( a ) ||
Ta ( a ) || u ( a ) && Fb ( a . splice ) ) ? ! a . length : ! Aa ( a ) . length ) } , C . isEqual = ef , C . isError = Rb , C . isFinite = function ( a ) { return "number" == typeof a && oc ( a ) } , C . isFunction = Fb , C . isMatch = function ( a , b , c , d ) { return c = "function" == typeof c ? mb ( c , d , 3 ) : p , Rc ( a , oe ( b ) , c ) } , C . isNaN = function ( a ) { return Xe ( a ) && a != + a } , C . isNative = Vd , C . isNull = function ( a ) { return null === a } , C . isNumber = Xe , C . isObject = Ha , C . isPlainObject = Kc , C . isRegExp = Hf , C . isString = pe , C . isTypedArray = jc , C . isUndefined = function ( a ) { return a === p } , C . kebabCase = cd , C . last = tc , C . lastIndexOf =
function ( a , b , c ) { var d = a ? a . length : 0 ; if ( ! d ) return - 1 ; var e = d ; if ( "number" == typeof c ) e = ( 0 > c ? Ya ( d + c , 0 ) : kb ( c || 0 , d - 1 ) ) + 1 ; else if ( c ) return e = ud ( a , b , ! 0 ) - 1 , a = a [ e ] , ( b === b ? b === a : a !== a ) ? e : - 1 ; if ( b !== b ) return y ( a , e , ! 0 ) ; for ( ; e -- ; ) if ( a [ e ] === b ) return e ; return - 1 } , C . lt = Xb , C . lte = function ( a , b ) { return a <= b } , C . max = od , C . min = tg , C . noConflict = function ( ) { return Eb . _ = Qd , this } , C . noop = hf , C . now = Cc , C . pad = function ( a , b , d ) { a = c ( a ) ; b = + b ; var e = a . length ; return e < b && oc ( b ) ? ( e = ( b - e ) / 2 , b = Db ( e ) , e = vd ( e ) , d = ge ( "" , e , d ) , d . slice ( 0 , b ) + a + d ) : a } , C . padLeft =
yg , C . padRight = zc , C . parseInt = function ( a , b , c ) { return ( c ? wa ( a , b , c ) : null == b ) ? b = 0 : b && ( b = + b ) , a = Td ( a ) , og ( a , b || ( Ic . test ( a ) ? 16 : 10 ) ) } , C . random = function ( a , b , c ) { c && wa ( a , b , c ) && ( b = c = p ) ; var d = null == b ; return null == c && ( d && "boolean" == typeof a ? ( c = a , a = 1 ) : "boolean" == typeof b && ( c = b , d = ! 0 ) ) , null == a && d && ( b = 1 , d = ! 1 ) , a = + a || 0 , d ? ( b = a , a = 0 ) : b = + b || 0 , c || a % 1 || b % 1 ? ( c = Kf ( ) , kb ( a + c * ( b - a + rf ( "1e-" + ( ( c + "" ) . length - 1 ) ) ) , b ) ) : td ( a , b ) } , C . reduce = ue , C . reduceRight = He , C . repeat = ab , C . result = function ( a , b , c ) { var d = null == a ? p : a [ b ] ; return d === p && ( null == a ||
xa ( b , a ) || ( b = Na ( b ) , a = 1 == b . length ? a : hb ( a , ib ( b , 0 , - 1 ) ) , d = null == a ? p : a [ tc ( b ) ] ) , d = d === p ? c : d ) , Fb ( d ) ? d . call ( a ) : d } , C . round = lg , C . runInContext = q , C . size = function ( a ) { var b = a ? Bc ( a ) : 0 ; return lb ( b ) ? b : Aa ( a ) . length } , C . snakeCase = bd , C . some = Hc , C . sortedIndex = Xf , C . sortedLastIndex = Yf , C . startCase = xg , C . startsWith = function ( a , b , d ) { return a = c ( a ) , d = null == d ? 0 : kb ( 0 > d ? 0 : + d || 0 , a . length ) , a . lastIndexOf ( b , d ) == d } , C . sum = function ( a , b , c ) { if ( c && wa ( a , b , c ) && ( b = p ) , b = Ca ( b , c , 3 ) , 1 == b . length ) { a = ta ( a ) ? a : wc ( a ) ; c = a . length ; for ( var d = 0 ; c -- ; ) d += + b ( a [ c ] ) ||
0 ; a = d } else a = pf ( a , b ) ; return a } , C . template = function ( a , b , d ) { var e = C . templateSettings ; d && wa ( a , b , d ) && ( b = d = p ) ; a = c ( a ) ; b = Kd ( Fc ( { } , d || b ) , e , kf ) ; d = Kd ( Fc ( { } , b . imports ) , e . imports , kf ) ; var f , g , k = Aa ( d ) , h = Ld ( d , k ) , l = 0 ; d = b . interpolate || Wb ; var m = "__p+='" ; d = re ( ( b . escape || Wb ) . source + "|" + d . source + "|" + ( d === md ? ic : Wb ) . source + "|" + ( b . evaluate || Wb ) . source + "|$" , "g" ) ; var v = "sourceURL" in b ? "//# sourceURL=" + b . sourceURL + "\n" : "" ; if ( a . replace ( d , function ( b , c , d , e , k , h ) { return d || ( d = e ) , m += a . slice ( l , h ) . replace ( df , r ) , c && ( f = ! 0 , m += "'+__e(" +
c + ")+'" ) , k && ( g = ! 0 , m += "';" + k + ";\n__p+='" ) , d && ( m += "'+((__t=(" + d + "))==null?'':__t)+'" ) , l = h + b . length , b } ) , m += "';" , ( b = b . variable ) || ( m = "with(obj){" + m + "}" ) , m = ( g ? m . replace ( Tb , "" ) : m ) . replace ( Ma , "$1" ) . replace ( Of , "$1;" ) , m = "function(" + ( b || "obj" ) + "){" + ( b ? "" : "obj||(obj={});" ) + "var __t,__p=''" + ( f ? ",__e=_.escape" : "" ) + ( g ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";" ) + m + "return __p}" , b = Ac ( function ( ) { return Zb ( k , v + "return " + m ) . apply ( p , h ) } ) , b . source = m , Rb ( b ) ) throw b ; return b } , C . trim = Td ,
C . trimLeft = function ( b , d , e ) { var f = b ; return ( b = c ( b ) ) ? b . slice ( ( e ? wa ( f , d , e ) : null == d ) ? z ( b ) : a ( b , d + "" ) ) : b } , C . trimRight = function ( a , b , d ) { var f = a ; return ( a = c ( a ) ) ? ( d ? wa ( f , b , d ) : null == b ) ? a . slice ( 0 , B ( a ) + 1 ) : a . slice ( 0 , e ( a , b + "" ) + 1 ) : a } , C . trunc = function ( a , b , d ) { d && wa ( a , b , d ) && ( b = p ) ; var e = ha ; if ( d = K , null != b ) if ( Ha ( b ) ) { var f = "separator" in b ? b . separator : f , e = "length" in b ? + b . length || 0 : e ; d = "omission" in b ? c ( b . omission ) : d } else e = + b || 0 ; if ( a = c ( a ) , e >= a . length ) return a ; if ( e -= d . length , 1 > e ) return d ; if ( b = a . slice ( 0 , e ) , null == f ) return b + d ;
if ( Hf ( f ) ) { if ( a . slice ( e ) . search ( f ) ) { var g , k = a . slice ( 0 , e ) ; f . global || ( f = re ( f . source , ( ua . exec ( f ) || "" ) + "g" ) ) ; for ( f . lastIndex = 0 ; a = f . exec ( k ) ; ) g = a . index ; b = b . slice ( 0 , null == g ? e : g ) } } else a . indexOf ( f , e ) != e && ( f = b . lastIndexOf ( f ) , - 1 < f && ( b = b . slice ( 0 , f ) ) ) ; return b + d } , C . unescape = function ( a ) { return ( a = c ( a ) ) && Ye . test ( a ) ? a . replace ( ze , E ) : a } , C . uniqueId = function ( a ) { var b = ++ Q ; return c ( a ) + b } , C . words = gf , C . all = Ae , C . any = Hc , C . contains = Od , C . eq = ef , C . detect = Ad , C . foldl = ue , C . foldr = He , C . head = xe , C . include = Od , C . inject = ue , Nc ( C , function ( ) { var a =
{ } ; return Kb ( C , function ( b , c ) { C . prototype [ c ] || ( a [ c ] = b ) } ) , a } ( ) , ! 1 ) , C . sample = kd , C . prototype . sample = function ( a ) { return this . _ _chain _ _ || null != a ? this . thru ( function ( b ) { return kd ( b , a ) } ) : kd ( this . value ( ) ) } , C . VERSION = I , nb ( "bind bindKey curry curryRight partial partialRight" . split ( " " ) , function ( a ) { C [ a ] . placeholder = C } ) , nb ( [ "drop" , "take" ] , function ( a , b ) { ya . prototype [ a ] = function ( c ) { var d = this . _ _filtered _ _ ; if ( d && ! b ) return new ya ( this ) ; c = null == c ? 1 : Ya ( Db ( c ) || 0 , 0 ) ; var e = this . clone ( ) ; return d ? e . _ _takeCount _ _ = kb ( e . _ _takeCount _ _ ,
c ) : e . _ _views _ _ . push ( { size : c , type : a + ( 0 > e . _ _dir _ _ ? "Right" : "" ) } ) , e } ; ya . prototype [ a + "Right" ] = function ( b ) { return this . reverse ( ) [ a ] ( b ) . reverse ( ) } } ) , nb ( [ "filter" , "map" , "takeWhile" ] , function ( a , b ) { var c = b + 1 , d = c != da ; ya . prototype [ a ] = function ( a , b ) { var e = this . clone ( ) ; return e . _ _iteratees _ _ . push ( { iteratee : Ca ( a , b , 1 ) , type : c } ) , e . _ _filtered _ _ = e . _ _filtered _ _ || d , e } } ) , nb ( [ "first" , "last" ] , function ( a , b ) { var c = "take" + ( b ? "Right" : "" ) ; ya . prototype [ a ] = function ( ) { return this [ c ] ( 1 ) . value ( ) [ 0 ] } } ) , nb ( [ "initial" , "rest" ] , function ( a ,
b ) { var c = "drop" + ( b ? "" : "Right" ) ; ya . prototype [ a ] = function ( ) { return this . _ _filtered _ _ ? new ya ( this ) : this [ c ] ( 1 ) } } ) , nb ( [ "pluck" , "where" ] , function ( a , b ) { var c = b ? "filter" : "map" , d = b ? sc : pd ; ya . prototype [ a ] = function ( a ) { return this [ c ] ( d ( a ) ) } } ) , ya . prototype . compact = function ( ) { return this . filter ( gc ) } , ya . prototype . reject = function ( a , b ) { return a = Ca ( a , b , 1 ) , this . filter ( function ( b ) { return ! a ( b ) } ) } , ya . prototype . slice = function ( a , b ) { a = null == a ? 0 : + a || 0 ; var c = this ; return c . _ _filtered _ _ && ( 0 < a || 0 > b ) ? new ya ( c ) : ( 0 > a ? c = c . takeRight ( - a ) :
a && ( c = c . drop ( a ) ) , b !== p && ( b = + b || 0 , c = 0 > b ? c . dropRight ( - b ) : c . take ( b - a ) ) , c ) } , ya . prototype . takeRightWhile = function ( a , b ) { return this . reverse ( ) . takeWhile ( a , b ) . reverse ( ) } , ya . prototype . toArray = function ( ) { return this . take ( Zc ) } , Kb ( ya . prototype , function ( a , b ) { var c = /^(?:filter|map|reject)|While$/ . test ( b ) , d = /^(?:first|last)$/ . test ( b ) , e = C [ d ? "take" + ( "last" == b ? "Right" : "" ) : b ] ; e && ( C . prototype [ b ] = function ( ) { function b ( a ) { return d && g ? e ( a , 1 ) [ 0 ] : e . apply ( p , xb ( [ a ] , f ) ) } var f = d ? [ 1 ] : arguments , g = this . _ _chain _ _ , k = this . _ _wrapped _ _ ,
h = ! ! this . _ _actions _ _ . length , l = k instanceof ya , m = f [ 0 ] , v = l || ta ( k ) ; return v && c && "function" == typeof m && 1 != m . length && ( l = v = ! 1 ) , m = { func : Qb , args : [ b ] , thisArg : p } , h = l && ! h , d && ! g ? h ? ( k = k . clone ( ) , k . _ _actions _ _ . push ( m ) , a . call ( k ) ) : e . call ( p , this . value ( ) ) [ 0 ] : ! d && v ? ( k = h ? k : new ya ( this ) , k = a . apply ( k , f ) , k . _ _actions _ _ . push ( m ) , new wb ( k , g ) ) : this . thru ( b ) } ) } ) , nb ( "join pop push replace shift sort splice split unshift" . split ( " " ) , function ( a ) { var b = ( /^(?:replace|split)$/ . test ( a ) ? Bd : mf ) [ a ] , c = /^(?:push|sort|unshift)$/ . test ( a ) ? "tap" :
"thru" , d = /^(?:join|pop|replace|shift)$/ . test ( a ) ; C . prototype [ a ] = function ( ) { var a = arguments ; return d && ! this . _ _chain _ _ ? b . apply ( this . value ( ) , a ) : this [ c ] ( function ( c ) { return b . apply ( c , a ) } ) } } ) , Kb ( ya . prototype , function ( a , b ) { var c = C [ b ] ; if ( c ) { var d = c . name + "" ; ( $c [ d ] || ( $c [ d ] = [ ] ) ) . push ( { name : b , func : c } ) } } ) , $c [ Uc ( p , J ) . name ] = [ { name : "wrapper" , func : p } ] , ya . prototype . clone = function ( ) { var a = new ya ( this . _ _wrapped _ _ ) ; return a . _ _actions _ _ = db ( this . _ _actions _ _ ) , a . _ _dir _ _ = this . _ _dir _ _ , a . _ _filtered _ _ = this . _ _filtered _ _ , a . _ _iteratees _ _ =
db ( this . _ _iteratees _ _ ) , a . _ _takeCount _ _ = this . _ _takeCount _ _ , a . _ _views _ _ = db ( this . _ _views _ _ ) , a } , ya . prototype . reverse = function ( ) { if ( this . _ _filtered _ _ ) { var a = new ya ( this ) ; a . _ _dir _ _ = - 1 ; a . _ _filtered _ _ = ! 0 } else a = this . clone ( ) , a . _ _dir _ _ *= - 1 ; return a } , ya . prototype . value = function ( ) { var a , b = this . _ _wrapped _ _ . value ( ) , c = this . _ _dir _ _ , d = ta ( b ) , e = 0 > c , f = d ? b . length : 0 ; a = f ; for ( var g = this . _ _views _ _ , k = 0 , h = - 1 , l = g . length ; ++ h < l ; ) { var m = g [ h ] , v = m . size ; switch ( m . type ) { case "drop" : k += v ; break ; case "dropRight" : a -= v ; break ; case "take" : a =
kb ( a , k + v ) ; break ; case "takeRight" : k = Ya ( k , a - v ) } } if ( a = { start : k , end : a } , g = a . start , k = a . end , a = k - g , e = e ? k : g - 1 , g = this . _ _iteratees _ _ , k = g . length , h = 0 , l = kb ( a , this . _ _takeCount _ _ ) , ! d || f < W || f == a && l == a ) return qf ( b , this . _ _actions _ _ ) ; d = [ ] ; a : for ( ; a -- && h < l ; ) { e += c ; f = - 1 ; for ( m = b [ e ] ; ++ f < k ; ) { var n = g [ f ] , v = n . type , n = n . iteratee ( m ) ; if ( v == da ) m = n ; else if ( ! n ) { if ( v == P ) continue a ; break a } } d [ h ++ ] = m } return d } , C . prototype . chain = function ( ) { return Dd ( this ) } , C . prototype . commit = function ( ) { return new wb ( this . value ( ) , this . _ _chain _ _ ) } , C . prototype . concat =
Ef , C . prototype . plant = function ( a ) { for ( var b , c = this ; c instanceof $a ; ) { var d = xc ( c ) ; b ? e . _ _wrapped _ _ = d : b = d ; var e = d , c = c . _ _wrapped _ _ } return e . _ _wrapped _ _ = a , b } , C . prototype . reverse = function ( ) { function a ( a ) { return a . reverse ( ) } var b = this . _ _wrapped _ _ ; return b instanceof ya ? ( this . _ _actions _ _ . length && ( b = new ya ( this ) ) , b = b . reverse ( ) , b . _ _actions _ _ . push ( { func : Qb , args : [ a ] , thisArg : p } ) , new wb ( b , this . _ _chain _ _ ) ) : this . thru ( a ) } , C . prototype . toString = function ( ) { return this . value ( ) + "" } , C . prototype . run = C . prototype . toJSON = C . prototype . valueOf =
C . prototype . value = function ( ) { return qf ( this . _ _wrapped _ _ , this . _ _actions _ _ ) } , C . prototype . collect = C . prototype . map , C . prototype . head = C . prototype . first , C . prototype . select = C . prototype . filter , C . prototype . tail = C . prototype . rest , C } var p , I = "3.10.1" , O = 1 , J = 2 , G = 4 , N = 8 , T = 16 , X = 32 , H = 64 , R = 128 , U = 256 , ha = 30 , K = "..." , S = 150 , ka = 16 , W = 200 , P = 1 , da = 2 , M = "Expected a function" , qa = "__lodash_placeholder__" , ca = "[object Arguments]" , V = "[object Array]" , ma = "[object Boolean]" , ba = "[object Date]" , la = "[object Error]" , Da = "[object Function]" , sa =
"[object Number]" , ga = "[object Object]" , v = "[object RegExp]" , oa = "[object String]" , Fa = "[object ArrayBuffer]" , Z = "[object Float32Array]" , Xa = "[object Float64Array]" , Ia = "[object Int8Array]" , aa = "[object Int16Array]" , za = "[object Int32Array]" , Sa = "[object Uint8Array]" , ub = "[object Uint8ClampedArray]" , Sb = "[object Uint16Array]" , vb = "[object Uint32Array]" , Tb = /\b__p\+='';/g , Ma = /\b(__p\+=)''\+/g , Of = /(__e\(.*?\)|\b__t\))\+'';/g , ze = /&(?:amp|lt|gt|quot|#39|#96);/g , qc = /[&<>"'`]/g , Ye = RegExp ( ze . source ) , Ze = RegExp ( qc . source ) ,
af = /<%-([\s\S]+?)%>/g , Oa = /<%([\s\S]+?)%>/g , md = /<%=([\s\S]+?)%>/g , nd = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/ , cf = /^\w*$/ , ea = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g , va = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g , Pd = RegExp ( va . source ) , Pa = /[\u0300-\u036f\ufe20-\ufe23]/g , Va = /\\(\\)?/g , ic = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g , ua = /\w*$/ , Ic = /^0[xX]/ , Lb = /^\[object .+?Constructor\]$/ , rc = /^\d+$/ , Jc = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g ,
Wb = /($^)/ , df = /['\n\r\u2028\u2029\\]/g , ig = RegExp ( "[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+" , "g" ) , jg = "Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout isFinite parseFloat parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap" . split ( " " ) ,
Ka = { } ; Ka [ Z ] = Ka [ Xa ] = Ka [ Ia ] = Ka [ aa ] = Ka [ za ] = Ka [ Sa ] = Ka [ ub ] = Ka [ Sb ] = Ka [ vb ] = ! 0 ; Ka [ ca ] = Ka [ V ] = Ka [ Fa ] = Ka [ ma ] = Ka [ ba ] = Ka [ la ] = Ka [ Da ] = Ka [ "[object Map]" ] = Ka [ sa ] = Ka [ ga ] = Ka [ v ] = Ka [ "[object Set]" ] = Ka [ oa ] = Ka [ "[object WeakMap]" ] = ! 1 ; var Ja = { } ; Ja [ ca ] = Ja [ V ] = Ja [ Fa ] = Ja [ ma ] = Ja [ ba ] = Ja [ Z ] = Ja [ Xa ] = Ja [ Ia ] = Ja [ aa ] = Ja [ za ] = Ja [ sa ] = Ja [ ga ] = Ja [ v ] = Ja [ oa ] = Ja [ Sa ] = Ja [ ub ] = Ja [ Sb ] = Ja [ vb ] = ! 0 ; Ja [ la ] = Ja [ Da ] = Ja [ "[object Map]" ] = Ja [ "[object Set]" ] = Ja [ "[object WeakMap]" ] = ! 1 ; var ob = { "\u00c0" : "A" , "\u00c1" : "A" , "\u00c2" : "A" , "\u00c3" : "A" , "\u00c4" : "A" , "\u00c5" : "A" ,
2017-07-25 17:51:59 +00:00
"\u00e0" : "a" , "\u00e1" : "a" , "\u00e2" : "a" , "\u00e3" : "a" , "\u00e4" : "a" , "\u00e5" : "a" , "\u00c7" : "C" , "\u00e7" : "c" , "\u00d0" : "D" , "\u00f0" : "d" , "\u00c8" : "E" , "\u00c9" : "E" , "\u00ca" : "E" , "\u00cb" : "E" , "\u00e8" : "e" , "\u00e9" : "e" , "\u00ea" : "e" , "\u00eb" : "e" , "\u00cc" : "I" , "\u00cd" : "I" , "\u00ce" : "I" , "\u00cf" : "I" , "\u00ec" : "i" , "\u00ed" : "i" , "\u00ee" : "i" , "\u00ef" : "i" , "\u00d1" : "N" , "\u00f1" : "n" , "\u00d2" : "O" , "\u00d3" : "O" , "\u00d4" : "O" , "\u00d5" : "O" , "\u00d6" : "O" , "\u00d8" : "O" , "\u00f2" : "o" , "\u00f3" : "o" , "\u00f4" : "o" , "\u00f5" : "o" , "\u00f6" : "o" ,
2017-09-20 18:29:17 +00:00
"\u00f8" : "o" , "\u00d9" : "U" , "\u00da" : "U" , "\u00db" : "U" , "\u00dc" : "U" , "\u00f9" : "u" , "\u00fa" : "u" , "\u00fb" : "u" , "\u00fc" : "u" , "\u00dd" : "Y" , "\u00fd" : "y" , "\u00ff" : "y" , "\u00c6" : "Ae" , "\u00e6" : "ae" , "\u00de" : "Th" , "\u00fe" : "th" , "\u00df" : "ss" } , Mb = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "`" : "`" } , Qd = { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" , "`" : "`" } , gb = { "function" : ! 0 , object : ! 0 } , Hd = { 0 : "x30" , 1 : "x31" , 2 : "x32" , 3 : "x33" , 4 : "x34" , 5 : "x35" , 6 : "x36" , 7 : "x37" , 8 : "x38" , 9 : "x39" , A : "x41" , B : "x42" ,
C : "x43" , D : "x44" , E : "x45" , F : "x46" , a : "x61" , b : "x62" , c : "x63" , d : "x64" , e : "x65" , f : "x66" , n : "x6e" , r : "x72" , t : "x74" , u : "x75" , v : "x76" , x : "x78" } , Gb = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , xb = gb [ typeof exports ] && exports && ! exports . nodeType && exports , $a = gb [ typeof module ] && module && ! module . nodeType && module , Sd = gb [ typeof self ] && self && self . Object && self , Dc = gb [ typeof window ] && window && Object && window , Jd = $a && $a . exports === xb && xb , Eb = xb && $a && "object" == typeof global && global && global . Object && global ||
Dc !== ( this && this . window ) && Dc || Sd || this , Jb = q ( ) ; "function" == typeof define && "object" == typeof define . amd && define . amd ? ( Eb . _ = Jb , define ( function ( ) { return Jb } ) ) : xb && $a ? Jd ? ( $a . exports = Jb ) . _ = Jb : xb . _ = Jb : Eb . _ = Jb } ) . call ( this ) ;
( function ( b , f ) { b ( function ( ) { function b ( a , b ) { return null != a && null != b && a . toLowerCase ( ) === b . toLowerCase ( ) } function l ( a , b ) { var c , e , f = a . length ; if ( ! f || ! b ) return ! 1 ; c = b . toLowerCase ( ) ; for ( e = 0 ; e < f ; ++ e ) if ( c === a [ e ] . toLowerCase ( ) ) return ! 0 ; return ! 1 } function c ( a ) { for ( var b in a ) t . call ( a , b ) && ( a [ b ] = new RegExp ( a [ b ] , "i" ) ) } function a ( a , b ) { this . ua = a || "" ; this . _cache = { } ; this . maxPhoneWidth = b || 600 } var e = { 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" ,
2017-04-11 07:10:36 +00:00
Nexus : "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6" , Dell : "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell 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" ,
2017-09-20 18:29:17 +00:00
Samsung : " \ \ bSamsung \ \ b | 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 - 26 UC | 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 - X49
2017-04-11 07:10:36 +00:00
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)" ,
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" ,
2017-09-20 18:29:17 +00:00
Wolfgang : "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q" , Alcatel : "Alcatel" , Nintendo : "Nintendo 3DS" , 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)" , 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-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" ,
Kindle : "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b" , 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" ,
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" ,
2017-04-11 07:10:36 +00:00
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-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|)" , 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" ,
2017-09-20 18:29:17 +00:00
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|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b" ,
2017-04-11 07:10:36 +00:00
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" ,
2017-09-20 18:29:17 +00:00
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)|Maxwell.*Lite|Maxwell.*Plus" ,
2017-04-11 07:10:36 +00:00
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" , 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)" , 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" , 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" ,
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" , 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" ,
2017-09-20 18:29:17 +00:00
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" } ,
2017-04-11 07:10:36 +00:00
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" , MeeGoOS : "MeeGo" ,
2017-09-20 18:29:17 +00:00
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]" ,
"UC Browser" : "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" ,
2017-04-11 07:10:36 +00:00
MobileBot : "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2" , DesktopMode : "WPDesktop" , TV : "SonyDTV|HbbTV" , WebKit : "(webkit)[ /]([\\w.]+)" , Console : "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b" , Watch : "SM-V700" } } , 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 ,
2017-09-20 18:29:17 +00:00
tabletPattern : /android|ipad|playbook|silk/i } } , g , t = Object . prototype . hasOwnProperty ; return e . FALLBACK _PHONE = "UnknownPhone" , e . FALLBACK _TABLET = "UnknownTablet" , e . FALLBACK _MOBILE = "UnknownMobile" , g = "isArray" in Array ? Array . isArray : function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } , function ( ) { var a , b , f , h , l , w , A = e . mobileDetectRules ; for ( a in A . props ) if ( t . call ( A . props , a ) ) { b = A . props [ a ] ; g ( b ) || ( b = [ b ] ) ; l = b . length ; for ( h = 0 ; h < l ; ++ h ) f = b [ h ] , w = f . indexOf ( "[VER]" ) , 0 <= w && ( f = f . substring ( 0 , w ) + "([\\w._\\+]+)" +
f . substring ( w + 5 ) ) , b [ h ] = new RegExp ( f , "i" ) ; A . props [ a ] = b } c ( A . oss ) ; c ( A . phones ) ; c ( A . tablets ) ; c ( A . uas ) ; c ( A . utils ) ; A . oss0 = { WindowsPhoneOS : A . oss . WindowsPhoneOS , WindowsMobileOS : A . oss . WindowsMobileOS } } ( ) , e . findMatch = function ( a , b ) { for ( var c in a ) if ( t . call ( a , c ) && a [ c ] . test ( b ) ) return c ; return null } , e . findMatches = function ( a , b ) { var c = [ ] , e ; for ( e in a ) t . call ( a , e ) && a [ e ] . test ( b ) && c . push ( e ) ; return c } , e . getVersionStr = function ( a , b ) { var c , f , g , k ; c = e . mobileDetectRules . props ; if ( t . call ( c , a ) ) for ( c = c [ a ] , g = c . length , f = 0 ; f < g ; ++ f ) if ( k =
c [ f ] . exec ( b ) , null !== k ) return k [ 1 ] ; return null } , e . getVersion = function ( a , b ) { var c = e . getVersionStr ( a , b ) ; return c ? e . prepareVersionNo ( c ) : NaN } , e . prepareVersionNo = function ( a ) { var b ; return b = a . split ( /[a-z._ \/\-]/i ) , 1 === b . length && ( a = b [ 0 ] ) , 1 < b . length && ( a = b [ 0 ] + "." , b . shift ( ) , a += b . join ( "" ) ) , Number ( a ) } , e . isMobileFallback = function ( a ) { return e . detectMobileBrowsers . fullPattern . test ( a ) || e . detectMobileBrowsers . shortPattern . test ( a . substr ( 0 , 4 ) ) } , e . isTabletFallback = function ( a ) { return e . detectMobileBrowsers . tabletPattern . test ( a ) } ,
e . prepareDetectionCache = function ( b , c , g ) { if ( b . mobile === f ) { var k , h , l ; return ( h = e . findMatch ( e . mobileDetectRules . tablets , c ) ) ? ( b . mobile = b . tablet = h , void ( b . phone = null ) ) : ( k = e . findMatch ( e . mobileDetectRules . phones , c ) ) ? ( b . mobile = b . phone = k , void ( b . tablet = null ) ) : void ( e . isMobileFallback ( c ) ? ( l = a . isPhoneSized ( g ) , l === f ? ( b . mobile = e . FALLBACK _MOBILE , b . tablet = b . phone = null ) : l ? ( b . mobile = b . phone = e . FALLBACK _PHONE , b . tablet = null ) : ( b . mobile = b . tablet = e . FALLBACK _TABLET , b . phone = null ) ) : e . isTabletFallback ( c ) ? ( b . mobile = b . tablet = e . FALLBACK _TABLET ,
b . phone = null ) : b . mobile = b . tablet = b . phone = null ) } } , e . mobileGrade = function ( a ) { var b = null !== a . mobile ( ) ; return a . os ( "iOS" ) && 4.3 <= a . version ( "iPad" ) || a . os ( "iOS" ) && 3.1 <= a . version ( "iPhone" ) || a . os ( "iOS" ) && 3.1 <= a . version ( "iPod" ) || 2.1 < a . version ( "Android" ) && a . is ( "Webkit" ) || 7 <= a . version ( "Windows Phone OS" ) || a . is ( "BlackBerry" ) && 6 <= a . version ( "BlackBerry" ) || a . match ( "Playbook.*Tablet" ) || 1.4 <= a . version ( "webOS" ) && a . match ( "Palm|Pre|Pixi" ) || a . match ( "hp.*TouchPad" ) || a . is ( "Firefox" ) && 12 <= a . version ( "Firefox" ) || a . is ( "Chrome" ) &&
2017-04-11 07:10:36 +00:00
a . is ( "AndroidOS" ) && 4 <= a . version ( "Android" ) || a . is ( "Skyfire" ) && 4.1 <= a . version ( "Skyfire" ) && a . is ( "AndroidOS" ) && 2.3 <= a . version ( "Android" ) || a . is ( "Opera" ) && 11 < a . version ( "Opera Mobi" ) && a . is ( "AndroidOS" ) || a . is ( "MeeGoOS" ) || a . is ( "Tizen" ) || a . is ( "Dolfin" ) && 2 <= a . version ( "Bada" ) || ( a . is ( "UC Browser" ) || a . is ( "Dolfin" ) ) && 2.3 <= a . version ( "Android" ) || a . match ( "Kindle Fire" ) || a . is ( "Kindle" ) && 3 <= a . version ( "Kindle" ) || a . is ( "AndroidOS" ) && a . is ( "NookTablet" ) || 11 <= a . version ( "Chrome" ) && ! b || 5 <= a . version ( "Safari" ) && ! b || 4 <= a . version ( "Firefox" ) &&
! b || 7 <= a . version ( "MSIE" ) && ! b || 10 <= a . version ( "Opera" ) && ! b ? "A" : a . os ( "iOS" ) && 4.3 > a . version ( "iPad" ) || a . os ( "iOS" ) && 3.1 > a . version ( "iPhone" ) || a . os ( "iOS" ) && 3.1 > a . version ( "iPod" ) || a . is ( "Blackberry" ) && 5 <= a . version ( "BlackBerry" ) && 6 > a . version ( "BlackBerry" ) || 5 <= a . version ( "Opera Mini" ) && 6.5 >= a . version ( "Opera Mini" ) && ( 2.3 <= a . version ( "Android" ) || a . is ( "iOS" ) ) || a . match ( "NokiaN8|NokiaC7|N97.*Series60|Symbian/3" ) || 11 <= a . version ( "Opera Mobi" ) && a . is ( "SymbianOS" ) ? "B" : ( 5 > a . version ( "BlackBerry" ) || a . match ( "MSIEMobile|Windows CE.*Mobile" ) ||
2017-09-20 18:29:17 +00:00
5.2 >= a . version ( "Windows Mobile" ) , "C" ) } , e . detectOS = function ( a ) { return e . findMatch ( e . mobileDetectRules . oss0 , a ) || e . findMatch ( e . mobileDetectRules . oss , a ) } , e . getDeviceSmallerSide = function ( ) { return window . screen . width < window . screen . height ? window . screen . width : window . screen . height } , a . prototype = { constructor : a , mobile : function ( ) { return e . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . mobile } , phone : function ( ) { return e . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . phone } ,
2017-07-31 21:30:55 +00:00
tablet : function ( ) { return e . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . tablet } , userAgent : function ( ) { return this . _cache . userAgent === f && ( this . _cache . userAgent = e . findMatch ( e . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgent } , userAgents : function ( ) { return this . _cache . userAgents === f && ( this . _cache . userAgents = e . findMatches ( e . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgents } , os : function ( ) { return this . _cache . os === f && ( this . _cache . os = e . detectOS ( this . ua ) ) , this . _cache . os } ,
2017-09-20 18:29:17 +00:00
version : function ( a ) { return e . getVersion ( a , this . ua ) } , versionStr : function ( a ) { return e . getVersionStr ( a , this . ua ) } , is : function ( a ) { return l ( this . userAgents ( ) , a ) || b ( a , this . os ( ) ) || b ( a , this . phone ( ) ) || b ( a , this . tablet ( ) ) || l ( e . findMatches ( e . mobileDetectRules . utils , this . ua ) , a ) } , match : function ( a ) { return a instanceof RegExp || ( a = new RegExp ( a , "i" ) ) , a . test ( this . ua ) } , isPhoneSized : function ( b ) { return a . isPhoneSized ( b || this . maxPhoneWidth ) } , mobileGrade : function ( ) { return this . _cache . grade === f && ( this . _cache . grade = e . mobileGrade ( this ) ) ,
this . _cache . grade } } , "undefined" != typeof window && window . screen ? a . isPhoneSized = function ( a ) { return 0 > a ? f : e . getDeviceSmallerSide ( ) <= a } : a . isPhoneSized = function ( ) { } , a . _impl = e , a . version = "1.3.5 2016-11-14" , a } ) } ) ( function ( b ) { if ( "undefined" != typeof module && module . exports ) return function ( b ) { module . exports = b ( ) } ; if ( "function" == typeof define && define . amd ) return define ; if ( "undefined" != typeof window ) return function ( b ) { window . MobileDetect = b ( ) } ; throw Error ( "unknown environment" ) ; } ( ) ) ;
( function ( b ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = b ( ) : "function" == typeof define && define . amd ? define ( [ ] , b ) : ( "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ) . jsyaml = b ( ) } ) ( function ( ) { return function f ( h , l , c ) { function a ( g , k ) { if ( ! l [ g ] ) { if ( ! h [ g ] ) { var n = "function" == typeof require && require ; if ( ! k && n ) return n ( g , ! 0 ) ; if ( e ) return e ( g , ! 0 ) ; n = Error ( "Cannot find module '" + g + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = l [ g ] = { exports : { } } ;
h [ g ] [ 0 ] . call ( n . exports , function ( c ) { var e = h [ g ] [ 1 ] [ c ] ; return a ( e ? e : c ) } , n , n . exports , f , h , l , c ) } return l [ g ] . exports } for ( var e = "function" == typeof require && require , g = 0 ; g < c . length ; g ++ ) a ( c [ g ] ) ; return a } ( { 1 : [ function ( f , h , l ) { function c ( a ) { return function ( ) { throw Error ( "Function " + a + " is deprecated and cannot be used." ) ; } } l = f ( "./js-yaml/loader" ) ; var a = f ( "./js-yaml/dumper" ) ; h . exports . Type = f ( "./js-yaml/type" ) ; h . exports . Schema = f ( "./js-yaml/schema" ) ; h . exports . FAILSAFE _SCHEMA = f ( "./js-yaml/schema/failsafe" ) ; h . exports . JSON _SCHEMA =
f ( "./js-yaml/schema/json" ) ; h . exports . CORE _SCHEMA = f ( "./js-yaml/schema/core" ) ; h . exports . DEFAULT _SAFE _SCHEMA = f ( "./js-yaml/schema/default_safe" ) ; h . exports . DEFAULT _FULL _SCHEMA = f ( "./js-yaml/schema/default_full" ) ; h . exports . load = l . load ; h . exports . loadAll = l . loadAll ; h . exports . safeLoad = l . safeLoad ; h . exports . safeLoadAll = l . safeLoadAll ; h . exports . dump = a . dump ; h . exports . safeDump = a . safeDump ; h . exports . YAMLException = f ( "./js-yaml/exception" ) ; h . exports . MINIMAL _SCHEMA = f ( "./js-yaml/schema/failsafe" ) ; h . exports . SAFE _SCHEMA =
f ( "./js-yaml/schema/default_safe" ) ; h . exports . DEFAULT _SCHEMA = f ( "./js-yaml/schema/default_full" ) ; h . exports . scan = c ( "scan" ) ; h . exports . parse = c ( "parse" ) ; h . exports . compose = c ( "compose" ) ; h . exports . addConstructor = c ( "addConstructor" ) } , { "./js-yaml/dumper" : 3 , "./js-yaml/exception" : 4 , "./js-yaml/loader" : 5 , "./js-yaml/schema" : 7 , "./js-yaml/schema/core" : 8 , "./js-yaml/schema/default_full" : 9 , "./js-yaml/schema/default_safe" : 10 , "./js-yaml/schema/failsafe" : 11 , "./js-yaml/schema/json" : 12 , "./js-yaml/type" : 13 } ] , 2 : [ function ( f ,
h , l ) { function c ( a ) { return "undefined" == typeof a || null === a } h . exports . isNothing = c ; h . exports . isObject = function ( a ) { return "object" == typeof a && null !== a } ; h . exports . toArray = function ( a ) { return Array . isArray ( a ) ? a : c ( a ) ? [ ] : [ a ] } ; h . exports . repeat = function ( a , c ) { var e , f = "" ; for ( e = 0 ; e < c ; e += 1 ) f += a ; return f } ; h . exports . isNegativeZero = function ( a ) { return 0 === a && Number . NEGATIVE _INFINITY === 1 / a } ; h . exports . extend = function ( a , c ) { var e , f , k , h ; if ( c ) for ( h = Object . keys ( c ) , e = 0 , f = h . length ; e < f ; e += 1 ) k = h [ e ] , a [ k ] = c [ k ] ; return a } } , { } ] , 3 : [ function ( f ,
h , l ) { function c ( a ) { this . schema = a . schema || I ; this . indent = Math . max ( 1 , a . indent || 2 ) ; this . skipInvalid = a . skipInvalid || ! 1 ; this . flowLevel = q . isNothing ( a . flowLevel ) ? - 1 : a . flowLevel ; var c ; c = this . schema ; var e = a . styles || null , f , g , h , k , l , v , n ; if ( null === e ) c = { } ; else { f = { } ; g = Object . keys ( e ) ; h = 0 ; for ( k = g . length ; h < k ; h += 1 ) l = g [ h ] , v = String ( e [ l ] ) , "!!" === l . slice ( 0 , 2 ) && ( l = "tag:yaml.org,2002:" + l . slice ( 2 ) ) , ( n = c . compiledTypeMap [ l ] ) && G . call ( n . styleAliases , v ) && ( v = n . styleAliases [ v ] ) , f [ l ] = v ; c = f } this . styleMap = c ; this . sortKeys = a . sortKeys ||
! 1 ; this . lineWidth = a . lineWidth || 80 ; this . noRefs = a . noRefs || ! 1 ; this . noCompatMode = a . noCompatMode || ! 1 ; this . implicitTypes = this . schema . compiledImplicit ; this . explicitTypes = this . schema . compiledExplicit ; this . tag = null ; this . result = "" ; this . duplicates = [ ] ; this . usedDuplicates = null } function a ( a , c ) { for ( var e , f = q . repeat ( " " , c ) , g = 0 , h , k = "" , l = a . length ; g < l ; ) h = a . indexOf ( "\n" , g ) , - 1 === h ? ( e = a . slice ( g ) , g = l ) : ( e = a . slice ( g , h + 1 ) , g = h + 1 ) , e . length && "\n" !== e && ( k += f ) , k += e ; return k } function e ( a ) { return 32 <= a && 126 >= a || 161 <= a && 55295 >= a &&
8232 !== a && 8233 !== a || 57344 <= a && 65533 >= a && 65279 !== a || 65536 <= a && 1114111 >= a } function g ( a ) { return e ( a ) && 65279 !== a && a !== W && a !== V && a !== ma && a !== la && a !== sa && a !== da && a !== U } function t ( a , c , f , h , k ) { var l , v = ! 1 , n = ! 1 , t = - 1 !== h , q = - 1 , r = a . charCodeAt ( 0 ) ; if ( r = e ( r ) && 65279 !== r && ! ( r === X || r === N ) && r !== P && r !== qa && r !== da && r !== W && r !== V && r !== ma && r !== la && r !== sa && r !== U && r !== K && r !== ka && r !== H && r !== Da && r !== M && r !== S && r !== R && r !== ha && r !== ca && r !== ba ) r = a . charCodeAt ( a . length - 1 ) , r = ! ( r === X || r === N ) ; if ( c ) for ( c = 0 ; c < a . length ; c ++ ) { if ( l = a . charCodeAt ( c ) ,
! e ( l ) ) return Ia ; r = r && g ( l ) } else { for ( c = 0 ; c < a . length ; c ++ ) { if ( l = a . charCodeAt ( c ) , l === T ) v = ! 0 , t && ( n = n || c - q - 1 > h && " " !== a [ q + 1 ] , q = c ) ; else if ( ! e ( l ) ) return Ia ; r = r && g ( l ) } n = n || t && c - q - 1 > h && " " !== a [ q + 1 ] } return v || n ? " " === a [ 0 ] && 9 < f ? Ia : n ? Xa : Z : r && ! k ( a ) ? oa : Fa } function k ( c , e , f , g ) { c . dump = function ( ) { if ( 0 === e . length ) return "''" ; if ( ! c . noCompatMode && - 1 !== v . indexOf ( e ) ) return "'" + e + "'" ; var h = c . indent * Math . max ( 1 , f ) , k = - 1 === c . lineWidth ? - 1 : Math . max ( Math . min ( c . lineWidth , 40 ) , c . lineWidth - h ) ; switch ( t ( e , g || - 1 < c . flowLevel && f >= c . flowLevel ,
c . indent , k , function ( a ) { a : { var e , f , g ; e = 0 ; for ( f = c . implicitTypes . length ; e < f ; e += 1 ) if ( g = c . implicitTypes [ e ] , g . resolve ( a ) ) { a = ! 0 ; break a } a = ! 1 } return a } ) ) { case oa : return e ; case Fa : return "'" + e . replace ( /'/g , "''" ) + "'" ; case Z : return "|" + n ( e , c . indent ) + r ( a ( e , h ) ) ; case Xa : return ">" + n ( e , c . indent ) + r ( a ( y ( e , k ) , h ) ) ; case Ia : return '"' + w ( e , k ) + '"' ; default : throw new p ( "impossible error: invalid scalar style" ) ; } } ( ) } function n ( a , c ) { var e = "\n" === a [ a . length - 1 ] ; return ( " " === a [ 0 ] ? String ( c ) : "" ) + ( ! e || "\n" !== a [ a . length - 2 ] && "\n" !== a ?
e ? "" : "-" : "+" ) + "\n" } function r ( a ) { return "\n" === a [ a . length - 1 ] ? a . slice ( 0 , - 1 ) : a } function y ( a , c ) { var e , f = /(\n+)([^\n]*)/g , g , h = a . indexOf ( "\n" ) ; g = ( h = - 1 !== h ? h : a . length , f . lastIndex = h , u ( a . slice ( 0 , h ) , c ) ) ; for ( h = "\n" === a [ 0 ] || " " === a [ 0 ] ; e = f . exec ( a ) ; ) { var k = e [ 1 ] , l = e [ 2 ] ; e = " " === l [ 0 ] ; g += k + ( h || e || "" === l ? "" : "\n" ) + u ( l , c ) ; h = e } return g } function u ( a , c ) { if ( "" === a || " " === a [ 0 ] ) return a ; for ( var e , f , g = / [^ ]/g , h = 0 , k = 0 , l = "" ; e = g . exec ( a ) ; ) e = e . index , e - h > c && ( f = k > h ? k : e , l += "\n" + a . slice ( h , f ) , h = f + 1 ) , k = e ; return l += "\n" , l += a . length - h >
c && k > h ? a . slice ( h , k ) + "\n" + a . slice ( k + 1 ) : a . slice ( h ) , l . slice ( 1 ) } function w ( a ) { for ( var c , f , g = "" , h = 0 ; h < a . length ; h ++ ) { c = a . charCodeAt ( h ) ; f = ga [ c ] ; if ( ! f && e ( c ) ) c = a [ h ] ; else { if ( ! f ) { var k ; f = c ; if ( c = f . toString ( 16 ) . toUpperCase ( ) , 255 >= f ) k = "x" , f = 2 ; else if ( 65535 >= f ) k = "u" , f = 4 ; else { if ( ! ( 4294967295 >= f ) ) throw new p ( "code point within a string may not be greater than 0xFFFFFFFF" ) ; k = "U" ; f = 8 } f = "\\" + k + q . repeat ( "0" , f - c . length ) + c } c = f } g += c } return g } function A ( a , c , e ) { var f , g , h , k ; f = e ? a . explicitTypes : a . implicitTypes ; g = 0 ; for ( h = f . length ; g <
h ; g += 1 ) if ( k = f [ g ] , ( k . instanceOf || k . predicate ) && ( ! k . instanceOf || "object" == typeof c && c instanceof k . instanceOf ) && ( ! k . predicate || k . predicate ( c ) ) ) { if ( a . tag = e ? k . tag : "?" , k . represent ) { if ( e = a . styleMap [ k . tag ] || k . defaultStyle , "[object Function]" === J . call ( k . represent ) ) c = k . represent ( c , e ) ; else { if ( ! G . call ( k . represent , e ) ) throw new p ( "!<" + k . tag + '> tag resolver accepts not "' + e + '" style' ) ; c = k . represent [ e ] ( c , e ) } a . dump = c } return ! 0 } return ! 1 } function z ( a , c , e , f , g , h ) { a . tag = null ; a . dump = e ; A ( a , e , ! 1 ) || A ( a , e , ! 0 ) ; var l = J . call ( a . dump ) ;
f && ( f = 0 > a . flowLevel || a . flowLevel > c ) ; var v , n , t = "[object Object]" === l || "[object Array]" === l ; if ( t && ( v = a . duplicates . indexOf ( e ) , n = - 1 !== v ) , ( null !== a . tag && "?" !== a . tag || n || 2 !== a . indent && 0 < c ) && ( g = ! 1 ) , n && a . usedDuplicates [ v ] ) a . dump = "*ref_" + v ; else { if ( t && n && ! a . usedDuplicates [ v ] && ( a . usedDuplicates [ v ] = ! 0 ) , "[object Object]" === l ) if ( f && 0 !== Object . keys ( a . dump ) . length ) { e = a . dump ; var r , u , w = "" , y = a . tag , B = Object . keys ( e ) ; if ( ! 0 === a . sortKeys ) B . sort ( ) ; else if ( "function" == typeof a . sortKeys ) B . sort ( a . sortKeys ) ; else if ( a . sortKeys ) throw new p ( "sortKeys must be a boolean or a function" ) ;
f = 0 ; for ( h = B . length ; f < h ; f += 1 ) u = "" , g && 0 === f || ( u += "\n" + q . repeat ( " " , a . indent * c ) ) , l = B [ f ] , t = e [ l ] , z ( a , c + 1 , l , ! 0 , ! 0 , ! 0 ) && ( r = null !== a . tag && "?" !== a . tag || a . dump && 1024 < a . dump . length , r && ( u += a . dump && T === a . dump . charCodeAt ( 0 ) ? "?" : "? " ) , u += a . dump , r && ( u += "\n" + q . repeat ( " " , a . indent * c ) ) , z ( a , c + 1 , t , ! 0 , r ) && ( u += a . dump && T === a . dump . charCodeAt ( 0 ) ? ":" : ": " , u += a . dump , w += u ) ) ; a . tag = y ; a . dump = w || "{}" ; n && ( a . dump = "&ref_" + v + a . dump ) } else { r = a . dump ; t = "" ; u = a . tag ; w = Object . keys ( r ) ; e = 0 ; for ( g = w . length ; e < g ; e += 1 ) l = "" , 0 !== e && ( l += ", " ) , f = w [ e ] ,
h = r [ f ] , z ( a , c , f , ! 1 , ! 1 ) && ( 1024 < a . dump . length && ( l += "? " ) , l += a . dump + ": " , z ( a , c , h , ! 1 , ! 1 ) && ( l += a . dump , t += l ) ) ; a . tag = u ; a . dump = "{" + t + "}" ; n && ( a . dump = "&ref_" + v + " " + a . dump ) } else if ( "[object Array]" === l ) if ( f && 0 !== a . dump . length ) { r = a . dump ; e = g ; h = "" ; l = a . tag ; g = 0 ; for ( f = r . length ; g < f ; g += 1 ) z ( a , c + 1 , r [ g ] , ! 0 , ! 0 ) && ( e && 0 === g || ( h += "\n" + q . repeat ( " " , a . indent * c ) ) , h += "- " + a . dump ) ; a . tag = l ; a . dump = h || "[]" ; n && ( a . dump = "&ref_" + v + a . dump ) } else { r = a . dump ; f = "" ; h = a . tag ; e = 0 ; for ( g = r . length ; e < g ; e += 1 ) z ( a , c , r [ e ] , ! 1 , ! 1 ) && ( 0 !== e && ( f += ", " ) , f += a . dump ) ;
a . tag = h ; a . dump = "[" + f + "]" ; n && ( a . dump = "&ref_" + v + " " + a . dump ) } else { if ( "[object String]" !== l ) { if ( a . skipInvalid ) return ! 1 ; throw new p ( "unacceptable kind of an object to dump " + l ) ; } "?" !== a . tag && k ( a , a . dump , c , h ) } null !== a . tag && "?" !== a . tag && ( a . dump = "!<" + a . tag + "> " + a . dump ) } return ! 0 } function B ( a , c , e ) { var f , g , h ; if ( null !== a && "object" == typeof a ) if ( g = c . indexOf ( a ) , - 1 !== g ) - 1 === e . indexOf ( g ) && e . push ( g ) ; else if ( c . push ( a ) , Array . isArray ( a ) ) for ( g = 0 , h = a . length ; g < h ; g += 1 ) B ( a [ g ] , c , e ) ; else for ( f = Object . keys ( a ) , g = 0 , h = f . length ; g <
h ; g += 1 ) B ( a [ f [ g ] ] , c , e ) } function E ( a , e ) { e = e || { } ; var f = new c ( e ) ; if ( ! f . noRefs ) { var g , h , k = [ ] , l = [ ] ; B ( a , k , l ) ; g = 0 ; for ( h = l . length ; g < h ; g += 1 ) f . duplicates . push ( k [ l [ g ] ] ) ; f . usedDuplicates = Array ( h ) } return z ( f , 0 , a , ! 0 , ! 0 ) ? f . dump + "\n" : "" } var q = f ( "./common" ) , p = f ( "./exception" ) , I = f ( "./schema/default_full" ) , O = f ( "./schema/default_safe" ) , J = Object . prototype . toString , G = Object . prototype . hasOwnProperty , N = 9 , T = 10 , X = 32 , H = 33 , R = 34 , U = 35 , ha = 37 , K = 38 , S = 39 , ka = 42 , W = 44 , P = 45 , da = 58 , M = 62 , qa = 63 , ca = 64 , V = 91 , ma = 93 , ba = 96 , la = 123 , Da = 124 , sa = 125 ,
ga = { 0 : "\\0" , 7 : "\\a" , 8 : "\\b" , 9 : "\\t" , 10 : "\\n" , 11 : "\\v" , 12 : "\\f" , 13 : "\\r" , 27 : "\\e" , 34 : '\\"' , 92 : "\\\\" , 133 : "\\N" , 160 : "\\_" , 8232 : "\\L" , 8233 : "\\P" } , v = "y Y yes Yes YES on On ON n N no No NO off Off OFF" . split ( " " ) , oa = 1 , Fa = 2 , Z = 3 , Xa = 4 , Ia = 5 ; h . exports . dump = E ; h . exports . safeDump = function ( a , c ) { return E ( a , q . extend ( { schema : O } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 4 : [ function ( f , h , l ) { function c ( a , c ) { Error . call ( this ) ; Error . captureStackTrace ? Error . captureStackTrace ( this ,
this . constructor ) : this . stack = Error ( ) . stack || "" ; this . name = "YAMLException" ; this . reason = a ; this . mark = c ; this . message = ( this . reason || "(unknown reason)" ) + ( this . mark ? " " + this . mark . toString ( ) : "" ) } c . prototype = Object . create ( Error . prototype ) ; c . prototype . constructor = c ; c . prototype . toString = function ( a ) { var c = this . name + ": " ; return c += this . reason || "(unknown reason)" , ! a && this . mark && ( c += " " + this . mark . toString ( ) ) , c } ; h . exports = c } , { } ] , 5 : [ function ( f , h , l ) { function c ( a ) { return 10 === a || 13 === a } function a ( a ) { return 9 === a || 32 ===
a } function e ( a ) { return 9 === a || 32 === a || 10 === a || 13 === a } function g ( a ) { return 44 === a || 91 === a || 93 === a || 123 === a || 125 === a } function t ( a ) { return 48 === a ? "\x00" : 97 === a ? "\u0007" : 98 === a ? "\b" : 116 === a ? "\t" : 9 === a ? "\t" : 110 === a ? "\n" : 118 === a ? "\x0B" : 102 === a ? "\f" : 114 === a ? "\r" : 101 === a ? "\u001b" : 32 === a ? " " : 34 === a ? '"' : 47 === a ? "/" : 92 === a ? "\\" : 78 === a ? "\u0085" : 95 === a ? "\u00a0" : 76 === a ? "\u2028" : 80 === a ? "\u2029" : "" } function k ( a , c ) { this . input = a ; this . filename = c . filename || null ; this . schema = c . schema || ha ; this . onWarning = c . onWarning || null ;
this . legacy = c . legacy || ! 1 ; this . json = c . json || ! 1 ; this . listener = c . listener || null ; this . implicitTypes = this . schema . compiledImplicit ; this . typeMap = this . schema . compiledTypeMap ; this . length = a . length ; this . lineIndent = this . lineStart = this . line = this . position = 0 ; this . documents = [ ] } function n ( a , c ) { return new H ( c , new R ( a . filename , a . input , a . position , a . line , a . position - a . lineStart ) ) } function r ( a , c ) { throw n ( a , c ) ; } function y ( a , c ) { a . onWarning && a . onWarning . call ( null , n ( a , c ) ) } function u ( a , c , e , f ) { var g ; if ( c < e ) { if ( c = a . input . slice ( c ,
e ) , f ) for ( f = 0 , e = c . length ; f < e ; f += 1 ) g = c . charCodeAt ( f ) , 9 === g || 32 <= g && 1114111 >= g || r ( a , "expected valid JSON character" ) ; else ca . test ( c ) && r ( a , "the stream contains non-printable characters" ) ; a . result += c } } function w ( a , c , e , f ) { var g , h , k ; X . isObject ( e ) || r ( a , "cannot merge mappings; the provided source object is unacceptable" ) ; a = Object . keys ( e ) ; h = 0 ; for ( k = a . length ; h < k ; h += 1 ) g = a [ h ] , K . call ( c , g ) || ( c [ g ] = e [ g ] , f [ g ] = ! 0 ) } function A ( a , c , e , f , g , h ) { if ( g = String ( g ) , null === c && ( c = { } ) , "tag:yaml.org,2002:merge" === f ) if ( Array . isArray ( h ) ) for ( f =
0 , g = h . length ; f < g ; f += 1 ) w ( a , c , h [ f ] , e ) ; else w ( a , c , h , e ) ; else a . json || K . call ( e , g ) || ! K . call ( c , g ) || r ( a , "duplicated mapping key" ) , c [ g ] = h , delete e [ g ] ; return c } function z ( a ) { var c ; c = a . input . charCodeAt ( a . position ) ; 10 === c ? a . position ++ : 13 === c ? ( a . position ++ , 10 === a . input . charCodeAt ( a . position ) && a . position ++ ) : r ( a , "a line break is expected" ) ; a . line += 1 ; a . lineStart = a . position } function B ( e , f , g ) { for ( var h = 0 , k = e . input . charCodeAt ( e . position ) ; 0 !== k ; ) { for ( ; a ( k ) ; ) k = e . input . charCodeAt ( ++ e . position ) ; if ( f && 35 === k ) { do k = e . input . charCodeAt ( ++ e . position ) ;
while ( 10 !== k && 13 !== k && 0 !== k ) } if ( ! c ( k ) ) break ; z ( e ) ; k = e . input . charCodeAt ( e . position ) ; h ++ ; for ( e . lineIndent = 0 ; 32 === k ; ) e . lineIndent ++ , k = e . input . charCodeAt ( ++ e . position ) } return - 1 !== g && 0 !== h && e . lineIndent < g && y ( e , "deficient indentation" ) , h } function E ( a ) { var c , f = a . position ; return c = a . input . charCodeAt ( f ) , ! ( 45 !== c && 46 !== c || c !== a . input . charCodeAt ( f + 1 ) || c !== a . input . charCodeAt ( f + 2 ) || ( f += 3 , c = a . input . charCodeAt ( f ) , 0 !== c && ! e ( c ) ) ) } function q ( a , c ) { 1 === c ? a . result += " " : 1 < c && ( a . result += X . repeat ( "\n" , c - 1 ) ) } function p ( a ,
c ) { var f , g , h , k = a . tag , l = a . anchor , v = [ ] , n = ! 1 ; null !== a . anchor && ( a . anchorMap [ a . anchor ] = v ) ; for ( h = a . input . charCodeAt ( a . position ) ; 0 !== h && 45 === h && ( g = a . input . charCodeAt ( a . position + 1 ) , e ( g ) ) ; ) if ( n = ! 0 , a . position ++ , B ( a , ! 0 , - 1 ) && a . lineIndent <= c ) v . push ( null ) , h = a . input . charCodeAt ( a . position ) ; else if ( f = a . line , J ( a , c , W , ! 1 , ! 0 ) , v . push ( a . result ) , B ( a , ! 0 , - 1 ) , h = a . input . charCodeAt ( a . position ) , ( a . line === f || a . lineIndent > c ) && 0 !== h ) r ( a , "bad indentation of a sequence entry" ) ; else if ( a . lineIndent < c ) break ; return ! ! n && ( a . tag = k , a . anchor =
l , a . kind = "sequence" , a . result = v , ! 0 ) } function I ( a ) { var c , f , g , h , k = ! 1 , l = ! 1 ; if ( h = a . input . charCodeAt ( a . position ) , 33 !== h ) return ! 1 ; if ( null !== a . tag && r ( a , "duplication of a tag property" ) , h = a . input . charCodeAt ( ++ a . position ) , 60 === h ? ( k = ! 0 , h = a . input . charCodeAt ( ++ a . position ) ) : 33 === h ? ( l = ! 0 , f = "!!" , h = a . input . charCodeAt ( ++ a . position ) ) : f = "!" , c = a . position , k ) { do h = a . input . charCodeAt ( ++ a . position ) ; while ( 0 !== h && 62 !== h ) ; a . position < a . length ? ( g = a . input . slice ( c , a . position ) , a . input . charCodeAt ( ++ a . position ) ) : r ( a , "unexpected end of the stream within a verbatim tag" ) } else { for ( ; 0 !==
h && ! e ( h ) ; ) 33 === h && ( l ? r ( a , "tag suffix cannot contain exclamation marks" ) : ( f = a . input . slice ( c - 1 , a . position + 1 ) , ba . test ( f ) || r ( a , "named tag handle cannot contain such characters" ) , l = ! 0 , c = a . position + 1 ) ) , h = a . input . charCodeAt ( ++ a . position ) ; g = a . input . slice ( c , a . position ) ; ma . test ( g ) && r ( a , "tag suffix cannot contain flow indicator characters" ) } return g && ! la . test ( g ) && r ( a , "tag name cannot contain such characters: " + g ) , k ? a . tag = g : K . call ( a . tagMap , f ) ? a . tag = a . tagMap [ f ] + g : "!" === f ? a . tag = "!" + g : "!!" === f ? a . tag = "tag:yaml.org,2002:" +
g : r ( a , 'undeclared tag handle "' + f + '"' ) , ! 0 } function O ( a ) { var c , f ; if ( f = a . input . charCodeAt ( a . position ) , 38 !== f ) return ! 1 ; null !== a . anchor && r ( a , "duplication of an anchor property" ) ; f = a . input . charCodeAt ( ++ a . position ) ; for ( c = a . position ; 0 !== f && ! e ( f ) && ! g ( f ) ; ) f = a . input . charCodeAt ( ++ a . position ) ; return a . position === c && r ( a , "name of an anchor node must contain at least one character" ) , a . anchor = a . input . slice ( c , a . position ) , ! 0 } function J ( f , h , k , l , n ) { var t , v , w , y , R , H , G = 1 , U = ! 1 , Z = ! 1 ; if ( null !== f . listener && f . listener ( "open" ,
f ) , f . tag = null , f . anchor = null , f . kind = null , f . result = null , t = v = w = P === k || W === k , l && B ( f , ! 0 , - 1 ) && ( U = ! 0 , f . lineIndent > h ? G = 1 : f . lineIndent === h ? G = 0 : f . lineIndent < h && ( G = - 1 ) ) , 1 === G ) for ( ; I ( f ) || O ( f ) ; ) B ( f , ! 0 , - 1 ) ? ( U = ! 0 , w = t , f . lineIndent > h ? G = 1 : f . lineIndent === h ? G = 0 : f . lineIndent < h && ( G = - 1 ) ) : w = ! 1 ; w && ( w = U || n ) ; if ( 1 === G || P === k ) if ( h = S === k || ka === k ? h : h + 1 , l = f . position - f . lineStart , 1 === G ) { var N ; if ( w && ! ( w = p ( f , l ) ) ) a : { var V ; n = f . tag ; t = f . anchor ; var U = { } , T = { } , ha = null , ca = null , Fa = null , oa = ! 1 , la = ! 1 ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = U ) ;
for ( G = f . input . charCodeAt ( f . position ) ; 0 !== G ; ) { if ( N = f . input . charCodeAt ( f . position + 1 ) , w = f . line , 63 !== G && 58 !== G || ! e ( N ) ) { if ( ! J ( f , h , ka , ! 1 , ! 0 ) ) break ; if ( f . line === w ) { for ( G = f . input . charCodeAt ( f . position ) ; a ( G ) ; ) G = f . input . charCodeAt ( ++ f . position ) ; if ( 58 === G ) G = f . input . charCodeAt ( ++ f . position ) , e ( G ) || r ( f , "a whitespace character is expected after the key-value separator within a block mapping" ) , oa && ( A ( f , U , T , ha , ca , null ) , Fa = null ) , la = ! 0 , V = oa = ! 1 , ha = f . tag , ca = f . result ; else { if ( ! la ) { w = ( f . tag = n , f . anchor = t , ! 0 ) ; break a } r ( f , "can not read an implicit mapping pair; a colon is missed" ) } } else { if ( ! la ) { w =
( f . tag = n , f . anchor = t , ! 0 ) ; break a } r ( f , "can not read a block mapping entry; a multiline key may not be an implicit key" ) } } else 63 === G ? ( oa && ( A ( f , U , T , ha , ca , null ) , ha = ca = Fa = null ) , la = ! 0 , oa = ! 0 , V = ! 0 ) : oa ? ( oa = ! 1 , V = ! 0 ) : r ( f , "incomplete explicit mapping pair; a key node is missed" ) , f . position += 1 , G = N ; if ( ( f . line === w || f . lineIndent > l ) && ( J ( f , l , P , ! 0 , V ) && ( oa ? ca = f . result : Fa = f . result ) , oa || ( A ( f , U , T , ha , ca , Fa ) , ha = ca = Fa = null ) , B ( f , ! 0 , - 1 ) , G = f . input . charCodeAt ( f . position ) ) , f . lineIndent > l && 0 !== G ) r ( f , "bad indentation of a mapping entry" ) ;
else if ( f . lineIndent < l ) break } w = ( oa && A ( f , U , T , ha , ca , null ) , la && ( f . tag = n , f . anchor = t , f . kind = "mapping" , f . result = U ) , la ) } if ( ! ( N = w ) ) a : { var ma , ga , ha = ! 0 , ca = f . tag , Fa = f . anchor , oa = { } ; if ( ga = f . input . charCodeAt ( f . position ) , 91 === ga ) l = 93 , n = ! 1 , V = [ ] ; else { if ( 123 !== ga ) { N = ! 1 ; break a } l = 125 ; n = ! 0 ; V = { } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = V ) ; for ( ga = f . input . charCodeAt ( ++ f . position ) ; 0 !== ga ; ) { if ( B ( f , ! 0 , h ) , ga = f . input . charCodeAt ( f . position ) , ga === l ) { N = ( f . position ++ , f . tag = ca , f . anchor = Fa , f . kind = n ? "mapping" : "sequence" , f . result = V ,
! 0 ) ; break a } ha || r ( f , "missed comma between flow collection entries" ) ; T = null ; w = G = ! 1 ; 63 === ga && ( ma = f . input . charCodeAt ( f . position + 1 ) , e ( ma ) && ( w = G = ! 0 , f . position ++ , B ( f , ! 0 , h ) ) ) ; N = f . line ; J ( f , h , S , ! 1 , ! 0 ) ; U = f . tag ; t = f . result ; B ( f , ! 0 , h ) ; ga = f . input . charCodeAt ( f . position ) ; ! G && f . line !== N || 58 !== ga || ( w = ! 0 , f . input . charCodeAt ( ++ f . position ) , B ( f , ! 0 , h ) , J ( f , h , S , ! 1 , ! 0 ) , T = f . result ) ; n ? A ( f , V , oa , U , t , T ) : w ? V . push ( A ( f , null , oa , U , t , T ) ) : V . push ( t ) ; B ( f , ! 0 , h ) ; ga = f . input . charCodeAt ( f . position ) ; 44 === ga ? ( ha = ! 0 , ga = f . input . charCodeAt ( ++ f . position ) ) :
ha = ! 1 } r ( f , "unexpected end of the stream within a flow collection" ) ; N = void 0 } if ( N ) Z = ! 0 ; else { var ea ; if ( v ) a : { ma = da ; N = ga = ! 1 ; V = h ; l = 0 ; w = ! 1 ; if ( ea = f . input . charCodeAt ( f . position ) , 124 === ea ) v = ! 1 ; else { if ( 62 !== ea ) { v = ! 1 ; break a } v = ! 0 } f . kind = "scalar" ; for ( f . result = "" ; 0 !== ea ; ) if ( ea = f . input . charCodeAt ( ++ f . position ) , 43 === ea || 45 === ea ) da === ma ? ma = 43 === ea ? qa : M : r ( f , "repeat of a chomping mode identifier" ) ; else { if ( ! ( 0 <= ( G = 48 <= ea && 57 >= ea ? ea - 48 : - 1 ) ) ) break ; 0 === G ? r ( f , "bad explicit indentation width of a block scalar; it cannot be less than one" ) :
N ? r ( f , "repeat of an indentation width identifier" ) : ( V = h + G - 1 , N = ! 0 ) } if ( a ( ea ) ) { do ea = f . input . charCodeAt ( ++ f . position ) ; while ( a ( ea ) ) ; if ( 35 === ea ) { do ea = f . input . charCodeAt ( ++ f . position ) ; while ( ! c ( ea ) && 0 !== ea ) } } for ( ; 0 !== ea ; ) { z ( f ) ; f . lineIndent = 0 ; for ( ea = f . input . charCodeAt ( f . position ) ; ( ! N || f . lineIndent < V ) && 32 === ea ; ) f . lineIndent ++ , ea = f . input . charCodeAt ( ++ f . position ) ; if ( ! N && f . lineIndent > V && ( V = f . lineIndent ) , c ( ea ) ) l ++ ; else { if ( f . lineIndent < V ) { ma === qa ? f . result += X . repeat ( "\n" , ga ? 1 + l : l ) : ma === da && ga && ( f . result += "\n" ) ;
break } v ? a ( ea ) ? ( w = ! 0 , f . result += X . repeat ( "\n" , ga ? 1 + l : l ) ) : w ? ( w = ! 1 , f . result += X . repeat ( "\n" , l + 1 ) ) : 0 === l ? ga && ( f . result += " " ) : f . result += X . repeat ( "\n" , l ) : f . result += X . repeat ( "\n" , ga ? 1 + l : l ) ; N = ga = ! 0 ; l = 0 ; for ( G = f . position ; ! c ( ea ) && 0 !== ea ; ) ea = f . input . charCodeAt ( ++ f . position ) ; u ( f , G , f . position , ! 1 ) } } v = ! 0 } if ( ! ( ea = v ) ) a : { var va ; if ( va = f . input . charCodeAt ( f . position ) , 39 !== va ) ea = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( ea = v = f . position ; 0 !== ( va = f . input . charCodeAt ( f . position ) ) ; ) if ( 39 === va ) { if ( u ( f , ea , f . position , ! 0 ) ,
va = f . input . charCodeAt ( ++ f . position ) , 39 !== va ) { ea = ! 0 ; break a } ea = v = f . position ; f . position ++ } else c ( va ) ? ( u ( f , ea , v , ! 0 ) , q ( f , B ( f , ! 1 , h ) ) , ea = v = f . position ) : f . position === f . lineStart && E ( f ) ? r ( f , "unexpected end of the document within a single quoted scalar" ) : ( f . position ++ , v = f . position ) ; r ( f , "unexpected end of the stream within a single quoted scalar" ) ; ea = void 0 } } if ( ! ( va = ea ) ) a : { var ba ; if ( ba = f . input . charCodeAt ( f . position ) , 34 !== ba ) va = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( va = ea = f . position ; 0 !== ( ba = f . input . charCodeAt ( f . position ) ) ; ) { if ( 34 ===
ba ) { va = ( u ( f , va , f . position , ! 0 ) , f . position ++ , ! 0 ) ; break a } if ( 92 === ba ) { if ( u ( f , va , f . position , ! 0 ) , ba = f . input . charCodeAt ( ++ f . position ) , c ( ba ) ) B ( f , ! 1 , h ) ; else if ( 256 > ba && Da [ ba ] ) f . result += sa [ ba ] , f . position ++ ; else if ( 0 < ( v = 120 === ba ? 2 : 117 === ba ? 4 : 85 === ba ? 8 : 0 ) ) { ea = v ; for ( va = 0 ; 0 < ea ; ea -- ) ba = f . input . charCodeAt ( ++ f . position ) , ma = void 0 , 0 <= ( v = 48 <= ba && 57 >= ba ? ba - 48 : ( ma = 32 | ba , 97 <= ma && 102 >= ma ? ma - 97 + 10 : - 1 ) ) ? va = ( va << 4 ) + v : r ( f , "expected hexadecimal character" ) ; ba = f . result ; va = 65535 >= va ? String . fromCharCode ( va ) : String . fromCharCode ( ( va -
65536 >> 10 ) + 55296 , ( va - 65536 & 1023 ) + 56320 ) ; f . result = ba + va ; f . position ++ } else r ( f , "unknown escape sequence" ) ; va = ea = f . position } else c ( ba ) ? ( u ( f , va , ea , ! 0 ) , q ( f , B ( f , ! 1 , h ) ) , va = ea = f . position ) : f . position === f . lineStart && E ( f ) ? r ( f , "unexpected end of the document within a double quoted scalar" ) : ( f . position ++ , ea = f . position ) } r ( f , "unexpected end of the stream within a double quoted scalar" ) ; va = void 0 } } if ( va ) Z = ! 0 ; else { var Pa ; var Va ; if ( Pa = f . input . charCodeAt ( f . position ) , 42 !== Pa ) Pa = ! 1 ; else { Pa = f . input . charCodeAt ( ++ f . position ) ;
for ( ba = f . position ; 0 !== Pa && ! e ( Pa ) && ! g ( Pa ) ; ) Pa = f . input . charCodeAt ( ++ f . position ) ; Pa = ( f . position === ba && r ( f , "name of an alias node must contain at least one character" ) , Va = f . input . slice ( ba , f . position ) , f . anchorMap . hasOwnProperty ( Va ) || r ( f , 'unidentified alias "' + Va + '"' ) , f . result = f . anchorMap [ Va ] , B ( f , ! 0 , - 1 ) , ! 0 ) } if ( Pa ) Z = ! 0 , null === f . tag && null === f . anchor || r ( f , "alias node should not have any properties" ) ; else { k = S === k ; var Xa , ua ; ba = f . kind ; va = f . result ; if ( ua = f . input . charCodeAt ( f . position ) , e ( ua ) || g ( ua ) || 35 === ua || 38 ===
ua || 42 === ua || 33 === ua || 124 === ua || 62 === ua || 39 === ua || 34 === ua || 37 === ua || 64 === ua || 96 === ua ) y = ! 1 ; else if ( ( 63 === ua || 45 === ua ) && ( R = f . input . charCodeAt ( f . position + 1 ) , e ( R ) || k && g ( R ) ) ) y = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; Va = Pa = f . position ; for ( ea = ! 1 ; 0 !== ua ; ) { if ( 58 === ua ) { if ( R = f . input . charCodeAt ( f . position + 1 ) , e ( R ) || k && g ( R ) ) break } else if ( 35 === ua ) { if ( y = f . input . charCodeAt ( f . position - 1 ) , e ( y ) ) break } else { if ( f . position === f . lineStart && E ( f ) || k && g ( ua ) ) break ; if ( c ( ua ) ) { if ( Xa = f . line , ua = f . lineStart , ea = f . lineIndent , B ( f , ! 1 , - 1 ) , f . lineIndent >=
h ) { ea = ! 0 ; ua = f . input . charCodeAt ( f . position ) ; continue } f . position = Pa ; f . line = Xa ; f . lineStart = ua ; f . lineIndent = ea ; break } } ea && ( u ( f , Va , Pa , ! 1 ) , q ( f , f . line - Xa ) , Va = Pa = f . position , ea = ! 1 ) ; a ( ua ) || ( Pa = f . position + 1 ) ; ua = f . input . charCodeAt ( ++ f . position ) } y = ( u ( f , Va , Pa , ! 1 ) , ! ! f . result || ( f . kind = ba , f . result = va , ! 1 ) ) } y && ( Z = ! 0 , null === f . tag && ( f . tag = "?" ) ) } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) } } else 0 === G && ( Z = w && p ( f , l ) ) ; if ( null !== f . tag && "!" !== f . tag ) if ( "?" === f . tag ) for ( y = 0 , R = f . implicitTypes . length ; y < R ; y += 1 ) { if ( H = f . implicitTypes [ y ] ,
H . resolve ( f . result ) ) { f . result = H . construct ( f . result ) ; f . tag = H . tag ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) ; break } } else K . call ( f . typeMap , f . tag ) ? ( H = f . typeMap [ f . tag ] , null !== f . result && H . kind !== f . kind && r ( f , "unacceptable node kind for !<" + f . tag + '> tag; it should be "' + H . kind + '", not "' + f . kind + '"' ) , H . resolve ( f . result ) ? ( f . result = H . construct ( f . result ) , null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) ) : r ( f , "cannot resolve a node with !<" + f . tag + "> explicit tag" ) ) : r ( f , "unknown tag !<" + f . tag + ">" ) ; return null !==
f . listener && f . listener ( "close" , f ) , null !== f . tag || null !== f . anchor || Z } function G ( f , g ) { f = String ( f ) ; g = g || { } ; 0 !== f . length && ( 10 !== f . charCodeAt ( f . length - 1 ) && 13 !== f . charCodeAt ( f . length - 1 ) && ( f += "\n" ) , 65279 === f . charCodeAt ( 0 ) && ( f = f . slice ( 1 ) ) ) ; var h = new k ( f , g ) ; for ( h . input += "\x00" ; 32 === h . input . charCodeAt ( h . position ) ; ) h . lineIndent += 1 , h . position += 1 ; for ( ; h . position < h . length - 1 ; ) { var l = void 0 , n , t , q , p = h , u = p . position , v = ! 1 ; p . version = null ; p . checkLineBreaks = p . legacy ; p . tagMap = { } ; for ( p . anchorMap = { } ; 0 !== p . input . charCodeAt ( p . position ) &&
( B ( p , ! 0 , - 1 ) , l = p . input . charCodeAt ( p . position ) , ! ( 0 < p . lineIndent || 37 !== l ) ) ; ) { v = ! 0 ; l = p . input . charCodeAt ( ++ p . position ) ; for ( q = p . position ; 0 !== l && ! e ( l ) ; ) l = p . input . charCodeAt ( ++ p . position ) ; t = p . input . slice ( q , p . position ) ; n = [ ] ; for ( 1 > t . length && r ( p , "directive name must not be less than one character in length" ) ; 0 !== l ; ) { for ( ; a ( l ) ; ) l = p . input . charCodeAt ( ++ p . position ) ; if ( 35 === l ) { do l = p . input . charCodeAt ( ++ p . position ) ; while ( 0 !== l && ! c ( l ) ) ; break } if ( c ( l ) ) break ; for ( q = p . position ; 0 !== l && ! e ( l ) ; ) l = p . input . charCodeAt ( ++ p . position ) ;
n . push ( p . input . slice ( q , p . position ) ) } 0 !== l && z ( p ) ; K . call ( ga , t ) ? ga [ t ] ( p , t , n ) : y ( p , 'unknown document directive "' + t + '"' ) } B ( p , ! 0 , - 1 ) ; 0 === p . lineIndent && 45 === p . input . charCodeAt ( p . position ) && 45 === p . input . charCodeAt ( p . position + 1 ) && 45 === p . input . charCodeAt ( p . position + 2 ) ? ( p . position += 3 , B ( p , ! 0 , - 1 ) ) : v && r ( p , "directives end mark is expected" ) ; J ( p , p . lineIndent - 1 , P , ! 1 , ! 0 ) ; B ( p , ! 0 , - 1 ) ; p . checkLineBreaks && V . test ( p . input . slice ( u , p . position ) ) && y ( p , "non-ASCII line breaks are interpreted as content" ) ; p . documents . push ( p . result ) ;
p . position === p . lineStart && E ( p ) ? 46 === p . input . charCodeAt ( p . position ) && ( p . position += 3 , B ( p , ! 0 , - 1 ) ) : p . position < p . length - 1 && r ( p , "end of the stream or a document separator is expected" ) } return h . documents } function N ( a , c , e ) { var f = G ( a , e ) ; a = 0 ; for ( e = f . length ; a < e ; a += 1 ) c ( f [ a ] ) } function T ( a , c ) { var e = G ( a , c ) ; if ( 0 !== e . length ) { if ( 1 === e . length ) return e [ 0 ] ; throw new H ( "expected a single document in the stream, but found more" ) ; } } var X = f ( "./common" ) , H = f ( "./exception" ) , R = f ( "./mark" ) , U = f ( "./schema/default_safe" ) , ha = f ( "./schema/default_full" ) ,
K = Object . prototype . hasOwnProperty , S = 1 , ka = 2 , W = 3 , P = 4 , da = 1 , M = 2 , qa = 3 , ca = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/ , V = /[\x85\u2028\u2029]/ , ma = /[,\[\]\{\}]/ , ba = /^(?:!|!!|![a-z\-]+!)$/i , la = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i , Da = Array ( 256 ) , sa = Array ( 256 ) ; for ( f = 0 ; 256 > f ; f ++ ) Da [ f ] = t ( f ) ? 1 : 0 , sa [ f ] = t ( f ) ; var ga = { YAML : function ( a , c , e ) { var f ; null !== a . version && r ( a , "duplication of %YAML directive" ) ;
1 !== e . length && r ( a , "YAML directive accepts exactly one argument" ) ; f = /^([0-9]+)\.([0-9]+)$/ . exec ( e [ 0 ] ) ; null === f && r ( a , "ill-formed argument of the YAML directive" ) ; c = parseInt ( f [ 1 ] , 10 ) ; f = parseInt ( f [ 2 ] , 10 ) ; 1 !== c && r ( a , "unacceptable YAML version of the document" ) ; a . version = e [ 0 ] ; a . checkLineBreaks = 2 > f ; 1 !== f && 2 !== f && y ( a , "unsupported YAML version of the document" ) } , TAG : function ( a , c , e ) { 2 !== e . length && r ( a , "TAG directive accepts exactly two arguments" ) ; c = e [ 0 ] ; e = e [ 1 ] ; ba . test ( c ) || r ( a , "ill-formed tag handle (first argument) of the TAG directive" ) ;
K . call ( a . tagMap , c ) && r ( a , 'there is a previously declared suffix for "' + c + '" tag handle' ) ; la . test ( e ) || r ( a , "ill-formed tag prefix (second argument) of the TAG directive" ) ; a . tagMap [ c ] = e } } ; h . exports . loadAll = N ; h . exports . load = T ; h . exports . safeLoadAll = function ( a , c , e ) { N ( a , c , X . extend ( { schema : U } , e ) ) } ; h . exports . safeLoad = function ( a , c ) { return T ( a , X . extend ( { schema : U } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./mark" : 6 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 6 : [ function ( f , h , l ) { function c ( a , c , f , h , l ) { this . name =
a ; this . buffer = c ; this . position = f ; this . line = h ; this . column = l } var a = f ( "./common" ) ; c . prototype . getSnippet = function ( c , f ) { var e , g , h , l , y ; if ( ! this . buffer ) return null ; c = c || 4 ; f = f || 75 ; e = "" ; for ( g = this . position ; 0 < g && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( g - 1 ) ) ; ) if ( -- g , this . position - g > f / 2 - 1 ) { e = " ... " ; g += 5 ; break } h = "" ; for ( l = this . position ; l < this . buffer . length && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( l ) ) ; ) if ( l += 1 , l - this . position > f / 2 - 1 ) { h = " ... " ; l -= 5 ; break } return y = this . buffer . slice ( g ,
l ) , a . repeat ( " " , c ) + e + y + h + "\n" + a . repeat ( " " , c + this . position - g + e . length ) + "^" } ; c . prototype . toString = function ( a ) { var c , e = "" ; return this . name && ( e += 'in "' + this . name + '" ' ) , e += "at line " + ( this . line + 1 ) + ", column " + ( this . column + 1 ) , a || ( c = this . getSnippet ( ) , c && ( e += ":\n" + c ) ) , e } ; h . exports = c } , { "./common" : 2 } ] , 7 : [ function ( f , h , l ) { function c ( a , e , f ) { var g = [ ] ; return a . include . forEach ( function ( a ) { f = c ( a , e , f ) } ) , a [ e ] . forEach ( function ( a ) { f . forEach ( function ( c , e ) { c . tag === a . tag && g . push ( e ) } ) ; f . push ( a ) } ) , f . filter ( function ( a , c ) { return - 1 ===
g . indexOf ( c ) } ) } function a ( ) { function a ( a ) { f [ a . tag ] = a } var c , e , f = { } ; c = 0 ; for ( e = arguments . length ; c < e ; c += 1 ) arguments [ c ] . forEach ( a ) ; return f } function e ( e ) { this . include = e . include || [ ] ; this . implicit = e . implicit || [ ] ; this . explicit = e . explicit || [ ] ; this . implicit . forEach ( function ( a ) { if ( a . loadKind && "scalar" !== a . loadKind ) throw new t ( "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported." ) ; } ) ; this . compiledImplicit = c ( this , "implicit" , [ ] ) ; this . compiledExplicit =
c ( this , "explicit" , [ ] ) ; this . compiledTypeMap = a ( this . compiledImplicit , this . compiledExplicit ) } var g = f ( "./common" ) , t = f ( "./exception" ) , k = f ( "./type" ) ; e . DEFAULT = null ; e . create = function ( ) { var a , c ; switch ( arguments . length ) { case 1 : a = e . DEFAULT ; c = arguments [ 0 ] ; break ; case 2 : a = arguments [ 0 ] ; c = arguments [ 1 ] ; break ; default : throw new t ( "Wrong number of arguments for Schema.create function" ) ; } if ( a = g . toArray ( a ) , c = g . toArray ( c ) , ! a . every ( function ( a ) { return a instanceof e } ) ) throw new t ( "Specified list of super schemas (or a single Schema object) contains a non-Schema object." ) ;
if ( ! c . every ( function ( a ) { return a instanceof k } ) ) throw new t ( "Specified list of YAML types (or a single Type object) contains a non-Type object." ) ; return new e ( { include : a , explicit : c } ) } ; h . exports = e } , { "./common" : 2 , "./exception" : 4 , "./type" : 13 } ] , 8 : [ function ( f , h , l ) { l = f ( "../schema" ) ; h . exports = new l ( { include : [ f ( "./json" ) ] } ) } , { "../schema" : 7 , "./json" : 12 } ] , 9 : [ function ( f , h , l ) { l = f ( "../schema" ) ; h . exports = l . DEFAULT = new l ( { include : [ f ( "./default_safe" ) ] , explicit : [ f ( "../type/js/undefined" ) , f ( "../type/js/regexp" ) , f ( "../type/js/function" ) ] } ) } ,
{ "../schema" : 7 , "../type/js/function" : 18 , "../type/js/regexp" : 19 , "../type/js/undefined" : 20 , "./default_safe" : 10 } ] , 10 : [ function ( f , h , l ) { l = f ( "../schema" ) ; h . exports = new l ( { include : [ f ( "./core" ) ] , implicit : [ f ( "../type/timestamp" ) , f ( "../type/merge" ) ] , explicit : [ f ( "../type/binary" ) , f ( "../type/omap" ) , f ( "../type/pairs" ) , f ( "../type/set" ) ] } ) } , { "../schema" : 7 , "../type/binary" : 14 , "../type/merge" : 22 , "../type/omap" : 24 , "../type/pairs" : 25 , "../type/set" : 27 , "../type/timestamp" : 29 , "./core" : 8 } ] , 11 : [ function ( f , h , l ) { l = f ( "../schema" ) ;
h . exports = new l ( { explicit : [ f ( "../type/str" ) , f ( "../type/seq" ) , f ( "../type/map" ) ] } ) } , { "../schema" : 7 , "../type/map" : 21 , "../type/seq" : 26 , "../type/str" : 28 } ] , 12 : [ function ( f , h , l ) { l = f ( "../schema" ) ; h . exports = new l ( { include : [ f ( "./failsafe" ) ] , implicit : [ f ( "../type/null" ) , f ( "../type/bool" ) , f ( "../type/int" ) , f ( "../type/float" ) ] } ) } , { "../schema" : 7 , "../type/bool" : 15 , "../type/float" : 16 , "../type/int" : 17 , "../type/null" : 23 , "./failsafe" : 11 } ] , 13 : [ function ( f , h , l ) { function c ( a ) { var c = { } ; return null !== a && Object . keys ( a ) . forEach ( function ( e ) { a [ e ] . forEach ( function ( a ) { c [ String ( a ) ] =
e } ) } ) , c } var a = f ( "./exception" ) , e = "kind resolve construct instanceOf predicate represent defaultStyle styleAliases" . split ( " " ) , g = [ "scalar" , "sequence" , "mapping" ] ; h . exports = function ( f , h ) { if ( h = h || { } , Object . keys ( h ) . forEach ( function ( c ) { if ( - 1 === e . indexOf ( c ) ) throw new a ( 'Unknown option "' + c + '" is met in definition of "' + f + '" YAML type.' ) ; } ) , this . tag = f , this . kind = h . kind || null , this . resolve = h . resolve || function ( ) { return ! 0 } , this . construct = h . construct || function ( a ) { return a } , this . instanceOf = h . instanceOf || null , this . predicate =
h . predicate || null , this . represent = h . represent || null , this . defaultStyle = h . defaultStyle || null , this . styleAliases = c ( h . styleAliases || null ) , - 1 === g . indexOf ( this . kind ) ) throw new a ( 'Unknown kind "' + this . kind + '" is specified for "' + f + '" YAML type.' ) ; } } , { "./exception" : 4 } ] , 14 : [ function ( f , h , l ) { var c ; try { c = f ( "buffer" ) . Buffer } catch ( a ) { } f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:binary" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; var c , f , h = 0 , k = a . length ; for ( f = 0 ; f < k ; f ++ ) if ( c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( a . charAt ( f ) ) ,
! ( 64 < c ) ) { if ( 0 > c ) return ! 1 ; h += 6 } return 0 === h % 8 } , construct : function ( a ) { var e , f = a . replace ( /[\r\n=]/g , "" ) , h = f . length , k = 0 , l = [ ] ; for ( a = 0 ; a < h ; a ++ ) 0 === a % 4 && a && ( l . push ( k >> 16 & 255 ) , l . push ( k >> 8 & 255 ) , l . push ( 255 & k ) ) , k = k << 6 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( f . charAt ( a ) ) ; return e = h % 4 * 6 , 0 === e ? ( l . push ( k >> 16 & 255 ) , l . push ( k >> 8 & 255 ) , l . push ( 255 & k ) ) : 18 === e ? ( l . push ( k >> 10 & 255 ) , l . push ( k >> 2 & 255 ) ) : 12 === e && l . push ( k >> 4 & 255 ) , c ? new c ( l ) : l } , predicate : function ( a ) { return c && c . isBuffer ( a ) } ,
represent : function ( a ) { var c , f , h = "" , k = 0 , l = a . length ; for ( c = 0 ; c < l ; c ++ ) 0 === c % 3 && c && ( h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 18 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 12 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 6 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & k ] ) , k = ( k << 8 ) + a [ c ] ; return f = l % 3 , 0 === f ? ( h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >>
2017-07-31 21:30:55 +00:00
18 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 12 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 6 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & k ] ) : 2 === f ? ( h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 10 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 4 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k <<
2017-09-20 18:29:17 +00:00
2 & 63 ] , h += "=" ) : 1 === f && ( h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k >> 2 & 63 ] , h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ k << 4 & 63 ] , h += "=" , h += "=" ) , h } } ) } , { "../type" : 13 } ] , 15 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:bool" , { kind : "scalar" , resolve : function ( c ) { if ( null === c ) return ! 1 ; var a = c . length ; return 4 === a && ( "true" === c || "True" === c || "TRUE" === c ) || 5 === a && ( "false" === c || "False" === c || "FALSE" === c ) } , construct : function ( c ) { return "true" ===
c || "True" === c || "TRUE" === c } , predicate : function ( c ) { return "[object Boolean]" === Object . prototype . toString . call ( c ) } , represent : { lowercase : function ( c ) { return c ? "true" : "false" } , uppercase : function ( c ) { return c ? "TRUE" : "FALSE" } , camelcase : function ( c ) { return c ? "True" : "False" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 16 : [ function ( f , h , l ) { var c = f ( "../common" ) ; f = f ( "../type" ) ; var a = /^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)?|\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/ ,
e = /^[-+]?[0-9]+e/ ; h . exports = new f ( "tag:yaml.org,2002:float" , { kind : "scalar" , resolve : function ( c ) { return null !== c && ! ! a . test ( c ) } , construct : function ( a ) { var c , e , f , g ; return c = a . replace ( /_/g , "" ) . toLowerCase ( ) , e = "-" === c [ 0 ] ? - 1 : 1 , g = [ ] , 0 <= "+-" . indexOf ( c [ 0 ] ) && ( c = c . slice ( 1 ) ) , ".inf" === c ? 1 === e ? Number . POSITIVE _INFINITY : Number . NEGATIVE _INFINITY : ".nan" === c ? NaN : 0 <= c . indexOf ( ":" ) ? ( c . split ( ":" ) . forEach ( function ( a ) { g . unshift ( parseFloat ( a , 10 ) ) } ) , c = 0 , f = 1 , g . forEach ( function ( a ) { c += a * f ; f *= 60 } ) , e * c ) : e * parseFloat ( c , 10 ) } , predicate : function ( a ) { return "[object Number]" ===
Object . prototype . toString . call ( a ) && ( 0 !== a % 1 || c . isNegativeZero ( a ) ) } , represent : function ( a , f ) { var g ; if ( isNaN ( a ) ) switch ( f ) { case "lowercase" : return ".nan" ; case "uppercase" : return ".NAN" ; case "camelcase" : return ".NaN" } else if ( Number . POSITIVE _INFINITY === a ) switch ( f ) { case "lowercase" : return ".inf" ; case "uppercase" : return ".INF" ; case "camelcase" : return ".Inf" } else if ( Number . NEGATIVE _INFINITY === a ) switch ( f ) { case "lowercase" : return "-.inf" ; case "uppercase" : return "-.INF" ; case "camelcase" : return "-.Inf" } else if ( c . isNegativeZero ( a ) ) return "-0.0" ;
return g = a . toString ( 10 ) , e . test ( g ) ? g . replace ( "e" , ".e" ) : g } , defaultStyle : "lowercase" } ) } , { "../common" : 2 , "../type" : 13 } ] , 17 : [ function ( f , h , l ) { var c = f ( "../common" ) ; f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:int" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; var c , f = a . length , h = 0 , k = ! 1 ; if ( ! f ) return ! 1 ; if ( c = a [ h ] , "-" !== c && "+" !== c || ( c = a [ ++ h ] ) , "0" === c ) { if ( h + 1 === f ) return ! 0 ; if ( c = a [ ++ h ] , "b" === c ) { for ( h ++ ; h < f ; h ++ ) if ( c = a [ h ] , "_" !== c ) { if ( "0" !== c && "1" !== c ) return ! 1 ; k = ! 0 } return k } if ( "x" === c ) { for ( h ++ ; h < f ; h ++ ) if ( c =
a [ h ] , "_" !== c ) { k = a . charCodeAt ( h ) ; if ( ! ( 48 <= k && 57 >= k || 65 <= k && 70 >= k || 97 <= k && 102 >= k ) ) return ! 1 ; k = ! 0 } return k } for ( ; h < f ; h ++ ) if ( c = a [ h ] , "_" !== c ) { k = a . charCodeAt ( h ) ; if ( ! ( 48 <= k && 55 >= k ) ) return ! 1 ; k = ! 0 } return k } for ( ; h < f ; h ++ ) if ( c = a [ h ] , "_" !== c ) { if ( ":" === c ) break ; k = a . charCodeAt ( h ) ; if ( ! ( 48 <= k && 57 >= k ) ) return ! 1 ; k = ! 0 } return ! ! k && ( ":" !== c || /^(:[0-5]?[0-9])+$/ . test ( a . slice ( h ) ) ) } , construct : function ( a ) { var c , f , h = a ; a = 1 ; var k = [ ] ; return - 1 !== h . indexOf ( "_" ) && ( h = h . replace ( /_/g , "" ) ) , c = h [ 0 ] , "-" !== c && "+" !== c || ( "-" === c && ( a = - 1 ) , h = h . slice ( 1 ) ,
c = h [ 0 ] ) , "0" === h ? 0 : "0" === c ? "b" === h [ 1 ] ? a * parseInt ( h . slice ( 2 ) , 2 ) : "x" === h [ 1 ] ? a * parseInt ( h , 16 ) : a * parseInt ( h , 8 ) : - 1 !== h . indexOf ( ":" ) ? ( h . split ( ":" ) . forEach ( function ( a ) { k . unshift ( parseInt ( a , 10 ) ) } ) , h = 0 , f = 1 , k . forEach ( function ( a ) { h += a * f ; f *= 60 } ) , a * h ) : a * parseInt ( h , 10 ) } , predicate : function ( a ) { return "[object Number]" === Object . prototype . toString . call ( a ) && 0 === a % 1 && ! c . isNegativeZero ( a ) } , represent : { binary : function ( a ) { return "0b" + a . toString ( 2 ) } , octal : function ( a ) { return "0" + a . toString ( 8 ) } , decimal : function ( a ) { return a . toString ( 10 ) } ,
hexadecimal : function ( a ) { return "0x" + a . toString ( 16 ) . toUpperCase ( ) } } , defaultStyle : "decimal" , styleAliases : { binary : [ 2 , "bin" ] , octal : [ 8 , "oct" ] , decimal : [ 10 , "dec" ] , hexadecimal : [ 16 , "hex" ] } } ) } , { "../common" : 2 , "../type" : 13 } ] , 18 : [ function ( f , h , l ) { var c ; try { c = f ( "esprima" ) } catch ( a ) { "undefined" != typeof window && ( c = window . esprima ) } f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/function" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; try { var e = c . parse ( "(" + a + ")" , { range : ! 0 } ) ; return "Program" === e . type &&
1 === e . body . length && "ExpressionStatement" === e . body [ 0 ] . type && "FunctionExpression" === e . body [ 0 ] . expression . type } catch ( g ) { return ! 1 } } , construct : function ( a ) { var e ; a = "(" + a + ")" ; var f = c . parse ( a , { range : ! 0 } ) , h = [ ] ; if ( "Program" !== f . type || 1 !== f . body . length || "ExpressionStatement" !== f . body [ 0 ] . type || "FunctionExpression" !== f . body [ 0 ] . expression . type ) throw Error ( "Failed to resolve function" ) ; return f . body [ 0 ] . expression . params . forEach ( function ( a ) { h . push ( a . name ) } ) , e = f . body [ 0 ] . expression . body . range , new Function ( h , a . slice ( e [ 0 ] +
1 , e [ 1 ] - 1 ) ) } , predicate : function ( a ) { return "[object Function]" === Object . prototype . toString . call ( a ) } , represent : function ( a ) { return a . toString ( ) } } ) } , { "../../type" : 13 } ] , 19 : [ function ( f , h , l ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/regexp" , { kind : "scalar" , resolve : function ( c ) { if ( null === c || 0 === c . length ) return ! 1 ; var a = /\/([gim]*)$/ . exec ( c ) , e = "" ; return "/" === c [ 0 ] && ( ( a && ( e = a [ 1 ] ) , 3 < e . length ) || "/" !== c [ c . length - e . length - 1 ] ) ? ! 1 : ! 0 } , construct : function ( c ) { var a = c ; c = /\/([gim]*)$/ . exec ( c ) ; var e = "" ; return "/" ===
a [ 0 ] && ( c && ( e = c [ 1 ] ) , a = a . slice ( 1 , a . length - e . length - 1 ) ) , new RegExp ( a , e ) } , predicate : function ( c ) { return "[object RegExp]" === Object . prototype . toString . call ( c ) } , represent : function ( c ) { var a = "/" + c . source + "/" ; return c . global && ( a += "g" ) , c . multiline && ( a += "m" ) , c . ignoreCase && ( a += "i" ) , a } } ) } , { "../../type" : 13 } ] , 20 : [ function ( f , h , l ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/undefined" , { kind : "scalar" , resolve : function ( ) { return ! 0 } , construct : function ( ) { } , predicate : function ( c ) { return "undefined" == typeof c } , represent : function ( ) { return "" } } ) } ,
{ "../../type" : 13 } ] , 21 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:map" , { kind : "mapping" , construct : function ( c ) { return null !== c ? c : { } } } ) } , { "../type" : 13 } ] , 22 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:merge" , { kind : "scalar" , resolve : function ( c ) { return "<<" === c || null === c } } ) } , { "../type" : 13 } ] , 23 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:null" , { kind : "scalar" , resolve : function ( c ) { if ( null === c ) return ! 0 ; var a = c . length ; return 1 === a && "~" === c || 4 ===
a && ( "null" === c || "Null" === c || "NULL" === c ) } , construct : function ( ) { return null } , predicate : function ( c ) { return null === c } , represent : { canonical : function ( ) { return "~" } , lowercase : function ( ) { return "null" } , uppercase : function ( ) { return "NULL" } , camelcase : function ( ) { return "Null" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 24 : [ function ( f , h , l ) { f = f ( "../type" ) ; var c = Object . prototype . hasOwnProperty , a = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:omap" , { kind : "sequence" , resolve : function ( e ) { if ( null === e ) return ! 0 ;
var f , h , k , l , r , y = [ ] ; f = 0 ; for ( h = e . length ; f < h ; f += 1 ) { if ( k = e [ f ] , r = ! 1 , "[object Object]" !== a . call ( k ) ) return ! 1 ; for ( l in k ) if ( c . call ( k , l ) ) { if ( r ) return ! 1 ; r = ! 0 } if ( ! r || - 1 !== y . indexOf ( l ) ) return ! 1 ; y . push ( l ) } return ! 0 } , construct : function ( a ) { return null !== a ? a : [ ] } } ) } , { "../type" : 13 } ] , 25 : [ function ( f , h , l ) { f = f ( "../type" ) ; var c = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:pairs" , { kind : "sequence" , resolve : function ( a ) { if ( null === a ) return ! 0 ; var e , f , h , k , l ; l = Array ( a . length ) ; e = 0 ; for ( f = a . length ; e < f ; e += 1 ) { if ( ( h = a [ e ] ,
"[object Object]" !== c . call ( h ) ) || ( k = Object . keys ( h ) , 1 !== k . length ) ) return ! 1 ; l [ e ] = [ k [ 0 ] , h [ k [ 0 ] ] ] } return ! 0 } , construct : function ( a ) { if ( null === a ) return [ ] ; var c , f , h , k , l ; l = Array ( a . length ) ; c = 0 ; for ( f = a . length ; c < f ; c += 1 ) h = a [ c ] , k = Object . keys ( h ) , l [ c ] = [ k [ 0 ] , h [ k [ 0 ] ] ] ; return l } } ) } , { "../type" : 13 } ] , 26 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:seq" , { kind : "sequence" , construct : function ( c ) { return null !== c ? c : [ ] } } ) } , { "../type" : 13 } ] , 27 : [ function ( f , h , l ) { f = f ( "../type" ) ; var c = Object . prototype . hasOwnProperty ;
h . exports = new f ( "tag:yaml.org,2002:set" , { kind : "mapping" , resolve : function ( a ) { if ( null === a ) return ! 0 ; for ( var e in a ) if ( c . call ( a , e ) && null !== a [ e ] ) return ! 1 ; return ! 0 } , construct : function ( a ) { return null !== a ? a : { } } } ) } , { "../type" : 13 } ] , 28 : [ function ( f , h , l ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:str" , { kind : "scalar" , construct : function ( c ) { return null !== c ? c : "" } } ) } , { "../type" : 13 } ] , 29 : [ function ( f , h , l ) { f = f ( "../type" ) ; var c = /^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$/ , a = /^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\.([0-9]*))?(?:[ \t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$/ ;
h . exports = new f ( "tag:yaml.org,2002:timestamp" , { kind : "scalar" , resolve : function ( e ) { return null !== e && ( null !== c . exec ( e ) || null !== a . exec ( e ) ) } , construct : function ( e ) { var f , h , k , l , r , y , u , w , A , z = 0 , B = null ; if ( f = c . exec ( e ) , null === f && ( f = a . exec ( e ) ) , null === f ) throw Error ( "Date resolve error" ) ; if ( e = + f [ 1 ] , h = + f [ 2 ] - 1 , k = + f [ 3 ] , ! f [ 4 ] ) return new Date ( Date . UTC ( e , h , k ) ) ; if ( l = + f [ 4 ] , r = + f [ 5 ] , y = + f [ 6 ] , f [ 7 ] ) { for ( z = f [ 7 ] . slice ( 0 , 3 ) ; 3 > z . length ; ) z += "0" ; z = + z } return f [ 9 ] && ( u = + f [ 10 ] , w = + ( f [ 11 ] || 0 ) , B = 6E4 * ( 60 * u + w ) , "-" === f [ 9 ] && ( B = - B ) ) , A = new Date ( Date . UTC ( e ,
h , k , l , r , y , z ) ) , B && A . setTime ( A . getTime ( ) - B ) , A } , instanceOf : Date , represent : function ( a ) { return a . toISOString ( ) } } ) } , { "../type" : 13 } ] , "/" : [ function ( f , h , l ) { f = f ( "./lib/js-yaml.js" ) ; h . exports = f } , { "./lib/js-yaml.js" : 1 } ] } , { } , [ ] ) ( "/" ) } ) ;
( function ( b , f , h ) { function l ( a ) { var b = [ ] ; return t ( b , f . noop ) . chars ( a ) , b . join ( "" ) } function c ( a , b ) { var c , e = { } , g = a . split ( "," ) ; for ( c = 0 ; c < g . length ; c ++ ) e [ b ? f . lowercase ( g [ c ] ) : g [ c ] ] = ! 0 ; return e } function a ( a , b ) { function c ( a , c , h , k ) { if ( c = f . lowercase ( c ) , O [ c ] ) for ( ; t . last ( ) && J [ t . last ( ) ] ; ) g ( "" , t . last ( ) ) ; I [ c ] && t . last ( ) == c && g ( "" , c ) ; ( k = p [ c ] || ! ! k ) || t . push ( c ) ; var l = { } ; h . replace ( y , function ( a , b , c , f , g ) { l [ b ] = e ( c || f || g || "" ) } ) ; b . start && b . start ( c , l , k ) } function g ( a , c ) { var e , g = 0 ; if ( c = f . lowercase ( c ) ) for ( g = t . length - 1 ; 0 <= g && t [ g ] !=
c ; g -- ) ; if ( 0 <= g ) { for ( e = t . length - 1 ; e >= g ; e -- ) b . end && b . end ( t [ e ] ) ; t . length = g } } "string" != typeof a && ( a = null === a || "undefined" == typeof a ? "" : "" + a ) ; var h , l , q , t = [ ] , E = a ; for ( t . last = function ( ) { return t [ t . length - 1 ] } ; a ; ) { if ( q = "" , l = ! 0 , t . last ( ) && G [ t . last ( ) ] ? ( a = a . replace ( new RegExp ( "([\\W\\w]*)<\\s*\\/\\s*" + t . last ( ) + "[^>]*>" , "i" ) , function ( a , c ) { return c = c . replace ( A , "$1" ) . replace ( B , "$1" ) , b . chars && b . chars ( e ( c ) ) , "" } ) , g ( "" , t . last ( ) ) ) : ( 0 === a . indexOf ( "\x3c!--" ) ? ( h = a . indexOf ( "--" , 4 ) , 0 <= h && a . lastIndexOf ( "--\x3e" , h ) === h && ( b . comment &&
b . comment ( a . substring ( 4 , h ) ) , a = a . substring ( h + 3 ) , l = ! 1 ) ) : z . test ( a ) ? ( h = a . match ( z ) ) && ( a = a . replace ( h [ 0 ] , "" ) , l = ! 1 ) : w . test ( a ) ? ( h = a . match ( r ) ) && ( a = a . substring ( h [ 0 ] . length ) , h [ 0 ] . replace ( r , g ) , l = ! 1 ) : u . test ( a ) && ( ( h = a . match ( n ) ) ? ( h [ 4 ] && ( a = a . substring ( h [ 0 ] . length ) , h [ 0 ] . replace ( n , c ) ) , l = ! 1 ) : ( q += "<" , a = a . substring ( 1 ) ) ) , l && ( h = a . indexOf ( "<" ) , q += 0 > h ? a : a . substring ( 0 , h ) , a = 0 > h ? "" : a . substring ( h ) , b . chars && b . chars ( e ( q ) ) ) ) , a == E ) throw k ( "badparse" , a ) ; E = a } g ( ) } function e ( a ) { return a ? ( H . innerHTML = a . replace ( /</g , "<" ) , H . textContent ) :
"" } function g ( a ) { return a . replace ( /&/g , "&" ) . replace ( E , function ( a ) { var b = a . charCodeAt ( 0 ) ; return a = a . charCodeAt ( 1 ) , "&#" + ( 1024 * ( b - 55296 ) + ( a - 56320 ) + 65536 ) + ";" } ) . replace ( q , function ( a ) { return "&#" + a . charCodeAt ( 0 ) + ";" } ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) } function t ( a , b ) { var c = ! 1 , e = f . bind ( a , a . push ) ; return { start : function ( a , h , k ) { a = f . lowercase ( a ) ; ! c && G [ a ] && ( c = a ) ; c || ! 0 !== N [ a ] || ( e ( "<" ) , e ( a ) , f . forEach ( h , function ( c , h ) { var k = f . lowercase ( h ) , l = "img" === a && "src" === k || "background" === k ; ! 0 !== X [ k ] || ! 0 === T [ k ] &&
! b ( c , l ) || ( e ( " " ) , e ( h ) , e ( '="' ) , e ( g ( c ) ) , e ( '"' ) ) } ) , e ( k ? "/>" : ">" ) ) } , end : function ( a ) { a = f . lowercase ( a ) ; c || ! 0 !== N [ a ] || ( e ( "</" ) , e ( a ) , e ( ">" ) ) ; a == c && ( c = ! 1 ) } , chars : function ( a ) { c || e ( g ( a ) ) } } } var k = f . $$minErr ( "$sanitize" ) , n = /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/ , r = /^<\/\s*([\w:-]+)[^>]*>/ , y = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g , u = /^</ , w = /^<\// , A = /\x3c!--(.*?)--\x3e/g , z = /<!DOCTYPE([^>]*?)>/i , B = /<!\[CDATA\[(.*?)]]\x3e/g ,
E = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g , q = /([^\#-~| |!])/g , p = c ( "area,br,col,hr,img,wbr" ) ; b = c ( "colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr" ) ; h = c ( "rp,rt" ) ; var I = f . extend ( { } , h , b ) , O = f . extend ( { } , b , c ( "address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul" ) ) , J = f . extend ( { } , h , c ( "a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var" ) ) ;
b = c ( "circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use" ) ; var G = c ( "script,style" ) , N = f . extend ( { } , p , O , J , I , b ) , T = c ( "background,cite,href,longdesc,src,usemap,xlink:href" ) ; b = c ( "abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width" ) ;
h = c ( "accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan" ,
! 0 ) ; var X = f . extend ( { } , T , h , b ) , H = document . createElement ( "pre" ) ; f . module ( "ngSanitize" , [ ] ) . provider ( "$sanitize" , function ( ) { this . $get = [ "$$sanitizeUri" , function ( b ) { return function ( c ) { var e = [ ] ; return a ( c , t ( e , function ( a , c ) { return ! /^unsafe/ . test ( b ( a , c ) ) } ) ) , e . join ( "" ) } } ] } ) ; f . module ( "ngSanitize" ) . filter ( "linky" , [ "$sanitize" , function ( a ) { var b = /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i , c = /^mailto:/i ; return function ( e , g ) { function h ( a ) { a && t . push ( l ( a ) ) } function k ( a ,
b ) { t . push ( "<a " ) ; f . isDefined ( g ) && t . push ( 'target="' , g , '" ' ) ; t . push ( 'href="' , a . replace ( /"/g , """ ) , '">' ) ; h ( b ) ; t . push ( "</a>" ) } if ( ! e ) return e ; for ( var n , p , q , r = e , t = [ ] ; n = r . match ( b ) ; ) p = n [ 0 ] , n [ 2 ] || n [ 4 ] || ( p = ( n [ 3 ] ? "http://" : "mailto:" ) + p ) , q = n . index , h ( r . substr ( 0 , q ) ) , k ( p , n [ 0 ] . replace ( c , "" ) ) , r = r . substring ( q + n [ 0 ] . length ) ; return h ( r ) , a ( t . join ( "" ) ) } } ] ) } ) ( window , window . angular ) ;