2017-07-28 21:47:09 +00:00
! function ( b , f , h ) { function k ( 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 , e = 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 += e ( b ) } return Error ( m ) } } function e ( d ) { if ( null == d || O ( d ) ) return ! 1 ; if ( ma ( d ) || u ( d ) || ha && d instanceof ha ) return ! 0 ; var m =
"length" in Object ( d ) && d . length ; return J ( m ) && ( 0 <= m && ( m - 1 in d || d instanceof Array ) || "function" == typeof d . item ) } function a ( d , m , b ) { var G , Z ; if ( d ) if ( H ( d ) ) for ( G in d ) "prototype" == G || "length" == G || "name" == G || d . hasOwnProperty && ! d . hasOwnProperty ( G ) || m . call ( b , d [ G ] , G , d ) ; else if ( ma ( d ) || e ( d ) ) { var c = "object" != typeof d ; G = 0 ; for ( Z = d . length ; G < Z ; G ++ ) ( c || G in d ) && m . call ( b , d [ G ] , G , d ) } else if ( d . forEach && d . forEach !== a ) d . forEach ( m , b , d ) ; else if ( null === d || "object" != typeof d || vc ( d ) ) if ( "function" == typeof d . hasOwnProperty ) for ( G in d ) d . hasOwnProperty ( G ) &&
m . call ( b , d [ G ] , G , d ) ; else for ( G in d ) rb . call ( d , G ) && m . call ( b , d [ G ] , G , d ) ; else for ( G in d ) m . call ( b , d [ G ] , G , d ) ; return d } function g ( d , m , a ) { for ( var b = Object . keys ( d ) . sort ( ) , e = 0 ; e < b . length ; e ++ ) m . call ( a , d [ b [ e ] ] , b [ e ] ) ; return b } function c ( d ) { return function ( m , a ) { d ( a , m ) } } function t ( ) { return ++ wc } function l ( d , m , a ) { for ( var b = d . $$hashKey , e = 0 , Z = m . length ; e < Z ; ++ e ) { var c = m [ e ] ; if ( p ( c ) || H ( c ) ) for ( var g = Object . keys ( c ) , h = 0 , f = g . length ; h < f ; h ++ ) { var k = g [ h ] , v = c [ k ] ; a && p ( v ) ? M ( v ) ? d [ k ] = new Date ( v . valueOf ( ) ) : I ( v ) ? d [ k ] = new RegExp ( v ) : v . nodeName ?
d [ k ] = v . cloneNode ( ! 0 ) : N ( v ) ? d [ k ] = v . clone ( ) : ( p ( d [ k ] ) || ( d [ k ] = ma ( v ) ? [ ] : { } ) , l ( d [ k ] , [ v ] , ! 0 ) ) : d [ k ] = v } } return b ? d . $$hashKey = b : delete d . $$hashKey , d } function n ( d ) { return l ( d , Bb . call ( arguments , 1 ) , ! 1 ) } function r ( d ) { return l ( d , Bb . call ( arguments , 1 ) , ! 0 ) } function w ( d , m ) { return n ( Object . create ( d ) , m ) } function q ( ) { } function z ( d ) { return d } function y ( d ) { return function ( ) { return d } } function D ( d ) { return H ( d . toString ) && d . toString !== sb } function A ( d ) { return "undefined" == typeof d } function F ( d ) { return "undefined" != typeof d } function p ( d ) { return null !==
d && "object" == typeof d } function u ( d ) { return "string" == typeof d } function J ( d ) { return "number" == typeof d } function M ( d ) { return "[object Date]" === sb . call ( d ) } function H ( d ) { return "function" == typeof d } function I ( d ) { return "[object RegExp]" === sb . call ( d ) } function O ( d ) { return d && d . window === d } function T ( d ) { return d && d . $evalAsync && d . $watch } function Y ( d ) { return "boolean" == typeof d } function K ( d ) { return d && J ( d . length ) && xe . test ( sb . call ( d ) ) } function N ( d ) { return ! ( ! d || ! ( d . nodeName || d . prop && d . attr && d . find ) ) } function S ( d ) { var m =
{ } ; d = d . split ( "," ) ; var a ; for ( a = 0 ; a < d . length ; a ++ ) m [ d [ a ] ] = ! 0 ; return m } function ia ( d ) { return wa ( d . nodeName || d [ 0 ] && d [ 0 ] . nodeName ) } function ua ( d , m ) { var a = d . indexOf ( m ) ; return 0 <= a && d . splice ( a , 1 ) , a } function B ( d , m ) { function b ( d , m ) { var a , b = m . $$hashKey ; if ( ma ( d ) ) { a = 0 ; for ( var G = d . length ; a < G ; a ++ ) m . push ( e ( d [ a ] ) ) } else if ( null === d || "object" != typeof d || vc ( d ) ) if ( d && "function" == typeof d . hasOwnProperty ) for ( a in d ) d . hasOwnProperty ( a ) && ( m [ a ] = e ( d [ a ] ) ) ; else for ( a in d ) rb . call ( d , a ) && ( m [ a ] = e ( d [ a ] ) ) ; else for ( a in d ) m [ a ] = e ( d [ a ] ) ;
return b ? m . $$hashKey = b : delete m . $$hashKey , m } function e ( d ) { if ( ! p ( d ) ) return d ; var a = c . indexOf ( d ) ; if ( - 1 !== a ) return g [ a ] ; if ( O ( d ) || T ( d ) ) throw Wa ( "cpws" ) ; var m , a = ! 1 ; return ma ( d ) ? ( m = [ ] , a = ! 0 ) : K ( d ) ? m = new d . constructor ( d ) : M ( d ) ? m = new Date ( d . getTime ( ) ) : I ( d ) ? ( m = new RegExp ( d . source , d . toString ( ) . match ( /[^\/]*$/ ) [ 0 ] ) , m . lastIndex = d . lastIndex ) : "[object Blob]" === sb . call ( d ) ? m = new d . constructor ( [ d ] , { type : d . type } ) : H ( d . cloneNode ) ? m = d . cloneNode ( ! 0 ) : ( m = Object . create ( vc ( d ) ) , a = ! 0 ) , c . push ( d ) , g . push ( m ) , a ? b ( d , m ) : m } var c = [ ] , g =
[ ] ; if ( m ) { if ( K ( m ) ) throw Wa ( "cpta" ) ; if ( d === m ) throw Wa ( "cpi" ) ; return ma ( m ) ? m . length = 0 : a ( m , function ( d , a ) { "$$hashKey" !== a && delete m [ a ] } ) , c . push ( d ) , g . push ( m ) , b ( d , m ) } return e ( d ) } function U ( d , a ) { if ( ma ( d ) ) { a = a || [ ] ; for ( var m = 0 , b = d . length ; m < b ; m ++ ) a [ m ] = d [ m ] } else if ( p ( d ) ) for ( m in a = a || { } , d ) "$" === m . charAt ( 0 ) && "$" === m . charAt ( 1 ) || ( a [ m ] = d [ m ] ) ; return a || d } function X ( 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 ( ! ma ( d ) ) { if ( M ( d ) ) return ! ! M ( a ) &&
X ( d . getTime ( ) , a . getTime ( ) ) ; if ( I ( d ) ) return ! ! I ( a ) && d . toString ( ) == a . toString ( ) ; if ( T ( d ) || T ( a ) || O ( d ) || O ( a ) || ma ( a ) || M ( a ) || I ( a ) ) return ! 1 ; b = Na ( ) ; for ( m in d ) if ( "$" !== m . charAt ( 0 ) && ! H ( d [ m ] ) ) { if ( ! X ( d [ m ] , a [ m ] ) ) return ! 1 ; b [ m ] = ! 0 } for ( m in a ) if ( ! ( m in b ) && "$" !== m . charAt ( 0 ) && F ( a [ m ] ) && ! H ( a [ m ] ) ) return ! 1 ; return ! 0 } if ( ! ma ( a ) ) return ! 1 ; if ( ( b = d . length ) == a . length ) { for ( m = 0 ; m < b ; m ++ ) if ( ! X ( d [ m ] , a [ m ] ) ) return ! 1 ; return ! 0 } } return ! 1 } function L ( d , a , b ) { return d . concat ( Bb . call ( a , b ) ) } function ba ( d , a ) { var m = 2 < arguments . length ? Bb . call ( arguments ,
2 ) : [ ] ; return ! H ( a ) || a instanceof RegExp ? a : m . length ? function ( ) { return arguments . length ? a . apply ( d , L ( m , arguments , 0 ) ) : a . apply ( d , m ) } : function ( ) { return arguments . length ? a . apply ( d , arguments ) : a . call ( d ) } } function P ( d , a ) { var m = a ; return "string" == typeof d && "$" === d . charAt ( 0 ) && "$" === d . charAt ( 1 ) ? m = h : O ( a ) ? m = "$WINDOW" : a && f === a ? m = "$DOCUMENT" : T ( a ) && ( m = "$SCOPE" ) , m } function na ( d , a ) { return A ( d ) ? h : ( J ( a ) || ( a = a ? 2 : null ) , JSON . stringify ( d , P , a ) ) } function da ( d ) { return u ( d ) ? JSON . parse ( d ) : d } function V ( d , a ) { d = d . replace ( Ad , "" ) ; var m =
Date . parse ( "Jan 01, 1970 00:00:00 " + d ) / 6E4 ; return isNaN ( m ) ? a : m } function ja ( 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 ca ( d ) { d = ha ( d ) . clone ( ) ; try { d . empty ( ) } catch ( Z ) { } var a = ha ( "<div>" ) . append ( d ) . html ( ) ; try { return d [ 0 ] . nodeType === Qb ? wa ( a ) : a . match ( /^(<[^>]+>)/ ) [ 1 ] . replace ( /^<([\w\-]+)/ , function ( d , a ) { return "<" + wa ( a ) } ) } catch ( Z ) { return wa ( a ) } } function la ( d ) { try { return decodeURIComponent ( d ) } catch ( m ) { } } function Ga ( d ) { var m =
{ } ; return a ( ( d || "" ) . split ( "&" ) , function ( d ) { var a , b , e ; d && ( b = d = d . replace ( /\+/g , "%20" ) , a = d . indexOf ( "=" ) , - 1 !== a && ( b = d . substring ( 0 , a ) , e = d . substring ( a + 1 ) ) , b = la ( b ) , F ( b ) && ( e = ! F ( e ) || la ( e ) , rb . call ( m , b ) ? ma ( m [ b ] ) ? m [ b ] . push ( e ) : m [ b ] = [ m [ b ] , e ] : m [ b ] = e ) ) } ) , m } function xa ( d ) { var m = [ ] ; return a ( d , function ( d , b ) { ma ( 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 fa ( 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 b , m , e = ec . length ; for ( m = 0 ; m < e ; ++ m ) if ( b = ec [ m ] + a , u ( b = d . getAttribute ( b ) ) ) return b ; return null } function Da ( d , b ) { var m , e , c = { } ; a ( ec , function ( a ) { a += "app" ; ! m && d . hasAttribute && d . hasAttribute ( a ) && ( m = d , e = d . getAttribute ( a ) ) } ) ; a ( ec , function ( a ) { a += "app" ; var b ; ! m && ( b = d . querySelector ( "[" + a . replace ( ":" , "\\:" ) + "]" ) ) &&
( m = b , e = b . getAttribute ( a ) ) } ) ; m && ( c . strictDi = null !== oa ( m , "strict-di" ) , b ( m , e ? [ e ] : [ ] , c ) ) } function W ( d , m , e ) { p ( e ) || ( e = { } ) ; e = n ( { strictDi : ! 1 } , e ) ; var c = function ( ) { if ( d = ha ( d ) , d . injector ( ) ) { var a = d [ 0 ] === f ? "document" : ca ( d ) ; throw Wa ( "btstrpd" , a . replace ( /</ , "<" ) . replace ( />/ , ">" ) ) ; } return m = m || [ ] , m . unshift ( [ "$provide" , function ( a ) { a . value ( "$rootElement" , d ) } ] ) , e . debugInfoEnabled && m . push ( [ "$compileProvider" , function ( d ) { d . debugInfoEnabled ( ! 0 ) } ] ) , m . unshift ( "ng" ) , a = fb ( m , e . strictDi ) , a . invoke ( [ "$rootScope" , "$rootElement" ,
"$compile" , "$injector" , function ( d , a , b , m ) { d . $apply ( function ( ) { a . data ( "$injector" , m ) ; b ( a ) ( d ) } ) } ] ) , a } , g = /^NG_ENABLE_DEBUG_INFO!/ , h = /^NG_DEFER_BOOTSTRAP!/ ; return b && g . test ( b . name ) && ( e . debugInfoEnabled = ! 0 , b . name = b . name . replace ( g , "" ) ) , b && ! h . test ( b . name ) ? c ( ) : ( b . name = b . name . replace ( h , "" ) , Oa . resumeBootstrap = function ( d ) { return a ( d , function ( d ) { m . push ( d ) } ) , c ( ) } , void ( H ( Oa . resumeDeferredBootstrap ) && Oa . resumeDeferredBootstrap ( ) ) ) } function Ma ( ) { b . name = "NG_ENABLE_DEBUG_INFO!" + b . name ; b . location . reload ( ) } function Ea ( d ) { if ( d =
Oa . element ( d ) . injector ( ) , ! d ) throw Wa ( "test" ) ; return d . get ( "$$testability" ) } function ga ( d , a ) { return a = a || "_" , d . replace ( ye , function ( d , b ) { return ( b ? a : "" ) + d . toLowerCase ( ) } ) } function qa ( ) { var d ; if ( ! Bd ) { var a = xc ( ) ; ( Fa = A ( a ) ? b . jQuery : a ? b [ a ] : h ) && Fa . fn . on ? ( ha = Fa , n ( Fa . fn , { scope : Rb . scope , isolateScope : Rb . isolateScope , controller : Rb . controller , injector : Rb . injector , inheritedData : Rb . inheritedData } ) , d = Fa . cleanData , Fa . cleanData = function ( a ) { var b ; if ( $c ) $c = ! 1 ; else for ( var m , e = 0 ; null != ( m = a [ e ] ) ; e ++ ) ( b = Fa . _data ( m , "events" ) ) &&
b . $destroy && Fa ( m ) . triggerHandler ( "$destroy" ) ; d ( a ) } ) : ha = Pa ; Oa . element = ha ; Bd = ! 0 } } function Ta ( d , a , b ) { if ( ! d ) throw Wa ( "areq" , a || "?" , b || "required" ) ; return d } function tb ( d , a , b ) { return b && ma ( d ) && ( d = d [ d . length - 1 ] ) , Ta ( H ( 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 ub ( d , a , b ) { if ( ! a ) return d ; a = a . split ( "." ) ; for ( var m , e = d , c = a . length , g = 0 ; g < c ; g ++ ) m = a [ g ] , d && ( d = ( e = d ) [ m ] ) ; return ! b && H ( d ) ? ba ( e , d ) : d }
function fc ( d ) { for ( var a , b = d [ 0 ] , e = d [ d . length - 1 ] , c = 1 ; b !== e && ( b = b . nextSibling ) ; c ++ ) ( a || d [ c ] !== b ) && ( a || ( a = ha ( Bb . call ( d , 0 , c ) ) ) , a . push ( b ) ) ; return a || d } function Na ( ) { return Object . create ( null ) } function Of ( d ) { function a ( d , a , b ) { return d [ a ] || ( d [ a ] = b ( ) ) } var b = k ( "$injector" ) , e = k ( "ng" ) ; return d = a ( d , "angular" , Object ) , d . $$minErr = d . $$minErr || k , a ( d , "module" , function ( ) { var d = { } ; return function ( m , c , G ) { if ( "hasOwnProperty" === m ) throw e ( "badname" , "module" ) ; return c && d . hasOwnProperty ( m ) && ( d [ m ] = null ) , a ( d , m , function ( ) { function d ( d ,
a , b , m ) { return m || ( m = e ) , function ( ) { return m [ b || "push" ] ( [ d , a , arguments ] ) , f } } function a ( d , a ) { return function ( b , c ) { return c && H ( c ) && ( c . $$moduleName = m ) , e . push ( [ d , a , arguments ] ) , f } } if ( ! c ) throw b ( "nomod" , m ) ; var e = [ ] , g = [ ] , h = [ ] , k = d ( "$injector" , "invoke" , "push" , g ) , f = { _invokeQueue : e , _configBlocks : g , _runBlocks : h , requires : c , 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 : k , run : function ( d ) { return h . push ( d ) , this } } ; return G && k ( G ) , f } ) } } ) } function ze ( d ) { n ( d , { bootstrap : W , copy : B , extend : n , merge : r , equals : X , element : ha , forEach : a , injector : fb , noop : q , bind : ba , toJson : na , fromJson : da , identity : z , isUndefined : A , isDefined : F , isString : u , isFunction : H , isObject : p , isNumber : J , isElement : N , isArray : ma , version : Ae ,
isDate : M , lowercase : wa , uppercase : kb , callbacks : { counter : 0 } , getTestability : Ea , $$minErr : k , $$csp : Tb , reloadWithDebugInfo : Ma } ) ; ( Hb = Of ( b ) ) ( "ng" , [ "ngLocale" ] , [ "$provide" , function ( d ) { d . provider ( { $$sanitizeUri : bd } ) ; d . provider ( "$compile" , Ib ) . directive ( { a : cd , input : oc , textarea : oc , form : Be , script : Pf , select : Qf , style : Rf , option : Sf , ngBind : Cd , ngBindHtml : Ce , ngBindTemplate : De , ngClass : Bc , ngClassEven : Tf , ngClassOdd : Ee , ngCloak : Uf , ngController : Vf , ngForm : Xa , 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 : Dd , pattern : dd , ngPattern : dd , required : pa , ngRequired : pa , minlength : Je , ngMinlength : Je , maxlength : ed , ngMaxlength : ed , ngValue : Ed , ngModelOptions : gg } ) . directive ( { ngInclude : hg } ) . directive ( Cb ) . directive ( Ke ) ; d . provider ( { $anchorScroll : Fd , $animate : Ub , $animateCss : Le , $$animateJs : Me , $$animateQueue : Gd , $$AnimateRunner : fd , $$animateAsyncRun : Ne , $browser : Dc , $cacheFactory : Hd , $controller : vb ,
$document : ya , $exceptionHandler : Ag , $filter : Ec , $$forceReflow : gc , $interpolate : Id , $interval : Fc , $http : Bg , $httpParamSerializer : Cg , $httpParamSerializerJQLike : cb , $httpBackend : Oe , $xhrFactory : Dg , $location : Pe , $log : Jb , $parse : Eg , $rootScope : Jd , $q : Qe , $$q : Re , $sce : lb , $sceDelegate : Se , $sniffer : Te , $templateCache : Db , $templateRequest : Ue , $$testability : Ve , $timeout : gd , $window : We , $$rAF : Kd , $$jqLite : Ja , $$HashMap : Xe , $$cookieReader : hd } ) } ] ) } function pc ( d ) { return d . replace ( Ld , function ( d , a , b , e ) { return e ? b . toUpperCase ( ) : b } ) . replace ( id ,
"Moz$1" ) } function Ye ( d ) { return d = d . nodeType , 1 === d || ! d || 9 === d } function Ze ( d , b ) { var m , e , c = b . createDocumentFragment ( ) , g = [ ] ; if ( Gc . test ( d ) ) { m = m || c . appendChild ( b . createElement ( "div" ) ) ; e = ( Aa . exec ( d ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ; e = Ua [ e ] || Ua . _default ; m . innerHTML = e [ 1 ] + d . replace ( $e , "<$1></$2>" ) + e [ 2 ] ; for ( e = e [ 0 ] ; e -- ; ) m = m . lastChild ; g = L ( g , m . childNodes ) ; m = c . firstChild ; m . textContent = "" } else g . push ( b . createTextNode ( d ) ) ; return c . textContent = "" , c . innerHTML = "" , a ( g , function ( d ) { c . appendChild ( d ) } ) , c } function af ( d , a ) { var b =
d . parentNode ; b && b . replaceChild ( a , d ) ; a . appendChild ( d ) } function Pa ( d ) { if ( d instanceof Pa ) return d ; var a ; if ( u ( d ) && ( d = Ha ( d ) , a = ! 0 ) , ! ( this instanceof Pa ) ) { if ( a && "<" != d . charAt ( 0 ) ) throw jd ( "nosel" ) ; return new Pa ( d ) } if ( a ) { a = f ; var b ; d = ( b = bf . exec ( d ) ) ? [ a . createElement ( b [ 1 ] ) ] : ( b = Ze ( d , a ) ) ? b . childNodes : [ ] } ra ( this , d ) } function kd ( d ) { return d . cloneNode ( ! 0 ) } function ld ( d , a ) { if ( a || ea ( d ) , d . querySelectorAll ) for ( var b = d . querySelectorAll ( "*" ) , m = 0 , e = b . length ; m < e ; m ++ ) ea ( b [ m ] ) } function cf ( d , b , e , c ) { if ( F ( c ) ) throw jd ( "offargs" ) ;
var m = ( c = sa ( d ) ) && c . events , g = c && c . handle ; if ( g ) if ( b ) { var G = function ( a ) { var b = m [ a ] ; F ( e ) && ua ( b || [ ] , e ) ; F ( e ) && b && 0 < b . length || ( d . removeEventListener ( a , g , ! 1 ) , delete m [ a ] ) } ; a ( b . split ( " " ) , function ( d ) { G ( d ) ; Hc [ d ] && G ( 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 sa ( d , a ) { var b = d . ng339 , b = b && hc [ b ] ; return a && ! b && ( d . ng339 =
b = ++ Md , b = hc [ b ] = { events : { } , data : { } , handle : h } ) , b } function Nd ( d , a , b ) { if ( Ye ( d ) ) { var m = F ( b ) , e = ! m && a && ! p ( a ) , c = ! a ; if ( d = ( d = sa ( d , ! e ) ) && d . data , m ) d [ a ] = b ; else { if ( c ) return d ; if ( e ) return d && d [ a ] ; n ( d , a ) } } } function Qa ( d , a ) { return ! ! d . getAttribute && - 1 < ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . indexOf ( " " + a + " " ) } function Kb ( d , b ) { b && d . setAttribute && a ( b . split ( " " ) , function ( a ) { d . setAttribute ( "class" , Ha ( ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . replace ( " " + Ha ( a ) + " " , " " ) ) ) } ) } function wb ( d ,
b ) { if ( b && d . setAttribute ) { var m = ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) ; a ( b . split ( " " ) , function ( d ) { d = Ha ( d ) ; - 1 === m . indexOf ( " " + d + " " ) && ( m += d + " " ) } ) ; d . setAttribute ( "class" , Ha ( m ) ) } } function ra ( 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 =
ma ( a ) ? a : [ a ] ; d ; ) { for ( var m = 0 , e = a . length ; m < e ; m ++ ) if ( F ( b = ha . data ( d , a [ m ] ) ) ) return b ; d = d . parentNode || 11 === d . nodeType && d . host } } function qc ( d ) { for ( ld ( d , ! 0 ) ; d . firstChild ; ) d . removeChild ( d . firstChild ) } function Jc ( d , a ) { a || ld ( d ) ; var b = d . parentNode ; b && b . removeChild ( d ) } function Vb ( d , a ) { a = a || b ; "complete" === a . document . readyState ? a . setTimeout ( d ) : ha ( a ) . on ( "load" , d ) } function df ( d , a ) { var b = Eb [ a . toLowerCase ( ) ] ; return b && Ia [ ia ( d ) ] && b } function ig ( d , a ) { var b = function ( b , m ) { b . isDefaultPrevented = function ( ) { return b . defaultPrevented } ;
var e = a [ m || b . type ] , c = e ? e . length : 0 ; if ( c ) { if ( A ( 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 = e . specialHandlerWrapper || jg ; 1 < c && ( e = U ( e ) ) ; for ( var G = 0 ; G < c ; G ++ ) b . isImmediatePropagationStopped ( ) || h ( d , b , e [ G ] ) } } ; 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 ( Pa , { hasClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Qa ( d , a ) } , addClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , wb ( d , a ) } , removeClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Kb ( d , a ) } } ) } } function nb ( 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 Od ( d ) { return ( d = d . toString ( ) . replace ( ic , "" ) . match ( Kc ) ) ? "function(" + ( d [ 1 ] || "" ) . replace ( /[\s\r\n]+/ , " " ) + ")" : "fn" } function fb ( d , b ) { function m ( d ) { return function ( b , m ) { return p ( b ) ? void a ( b , c ( d ) ) : d ( b , m ) } } function e ( d , a ) { if ( Sb ( d , "service" ) , ( H ( a ) || ma ( a ) ) && ( a = q . instantiate ( a ) ) , ! a . $get ) throw Wb ( "pget" , d ) ; return r [ d + "Provider" ] = a } function g ( d , a ) { return function ( ) { var b = z . invoke ( a , this ) ; if ( A ( b ) ) throw Wb ( "undef" , d ) ; return b } } function k ( d , a , b ) { return e ( d , { $get : ! 1 !==
b ? g ( d , a ) : a } ) } function f ( d ) { Ta ( A ( d ) || ma ( 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 ] , e = q . get ( m [ 0 ] ) ; e [ m [ 1 ] ] . apply ( e , m [ 2 ] ) } } if ( ! t . get ( d ) ) { t . put ( d , ! 0 ) ; try { u ( d ) ? ( b = Hb ( d ) , m = m . concat ( f ( b . requires ) ) . concat ( b . _runBlocks ) , a ( b . _invokeQueue ) , a ( b . _configBlocks ) ) : H ( d ) ? m . push ( q . invoke ( d ) ) : ma ( d ) ? m . push ( q . invoke ( d ) ) : tb ( d , "module" ) } catch ( ob ) { throw ma ( d ) && ( d = d [ d . length - 1 ] ) , ob . message && ob . stack && - 1 == ob . stack . indexOf ( ob . message ) && ( ob =
ob . message + "\n" + ob . stack ) , Wb ( "modulerr" , d , ob . stack || ob . message || ob ) ; } } } ) , m } function l ( d , a ) { function m ( b , m ) { if ( d . hasOwnProperty ( b ) ) { if ( d [ b ] === v ) throw Wb ( "cdep" , b + " <- " + n . join ( " <- " ) ) ; return d [ b ] } try { return n . unshift ( b ) , d [ b ] = v , d [ b ] = a ( b , m ) } catch ( Pd ) { throw d [ b ] === v && delete d [ b ] , Pd ; } finally { n . shift ( ) } } function e ( d , a , e , c ) { "string" == typeof e && ( c = e , e = null ) ; var g , h , k , x = [ ] , E = fb . $$annotate ( d , b , c ) ; h = 0 ; for ( g = E . length ; h < g ; h ++ ) { if ( k = E [ h ] , "string" != typeof k ) throw Wb ( "itkn" , k ) ; x . push ( e && e . hasOwnProperty ( k ) ? e [ k ] :
m ( k , c ) ) } return ma ( d ) && ( d = d [ g ] ) , d . apply ( a , x ) } return { invoke : e , instantiate : function ( d , a , b ) { var m = Object . create ( ( ma ( d ) ? d [ d . length - 1 ] : d ) . prototype || null ) ; return d = e ( d , m , a , b ) , p ( d ) || H ( d ) ? d : m } , get : m , annotate : fb . $$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 ( e ) , factory : m ( k ) , service : m ( function ( d , a ) { return k ( d , [ "$injector" , function ( d ) { return d . instantiate ( a ) } ] ) } ) , value : m ( function ( d , a ) { return k ( d , y ( a ) , ! 1 ) } ) ,
constant : m ( function ( d , a ) { Sb ( d , "constant" ) ; r [ d ] = a ; w [ d ] = a } ) , decorator : function ( d , a ) { var b = q . get ( d + "Provider" ) , m = b . $get ; b . $get = function ( ) { var d = z . invoke ( m , b ) ; return z . invoke ( a , null , { $delegate : d } ) } } } } , q = r . $injector = l ( r , function ( d , a ) { throw Oa . isString ( a ) && n . push ( a ) , Wb ( "unpr" , n . join ( " <- " ) ) ; } ) , w = { } , z = w . $injector = l ( w , function ( d , a ) { var b = q . get ( d + "Provider" , a ) ; return z . invoke ( b . $get , b , h , d ) } ) ; return a ( f ( d ) , function ( d ) { d && z . invoke ( d ) } ) , z } function Fd ( ) { var d = ! 0 ; this . disableAutoScrolling = function ( ) { d = ! 1 } ; this . $get =
[ "$window" , "$location" , "$rootScope" , function ( a , b , e ) { function m ( d ) { var a = null ; return Array . prototype . some . call ( d , function ( d ) { if ( "a" === ia ( d ) ) return a = d , ! 0 } ) , a } function c ( d ) { if ( d ) { d . scrollIntoView ( ) ; var b ; b = g . yOffset ; H ( b ) ? b = b ( ) : N ( b ) ? ( b = b [ 0 ] , b = "fixed" !== a . getComputedStyle ( b ) . position ? 0 : b . getBoundingClientRect ( ) . bottom ) : J ( b ) || ( b = 0 ) ; b && ( d = d . getBoundingClientRect ( ) . top , a . scrollBy ( 0 , d - b ) ) } else a . scrollTo ( 0 , 0 ) } function g ( d ) { d = u ( d ) ? d : b . hash ( ) ; var a ; d ? ( a = h . getElementById ( d ) ) ? c ( a ) : ( a = m ( h . getElementsByName ( d ) ) ) ?
c ( a ) : "top" === d && c ( null ) : c ( null ) } var h = a . document ; return d && e . $watch ( function ( ) { return b . hash ( ) } , function ( d , a ) { d === a && "" === d || Vb ( function ( ) { e . $evalAsync ( g ) } ) } ) , g } ] } function Fb ( d , a ) { return d || a ? d ? a ? ( ma ( d ) && ( d = d . join ( " " ) ) , ma ( a ) && ( a = a . join ( " " ) ) , d + " " + a ) : d : a : "" } function xb ( d ) { u ( d ) && ( d = d . split ( " " ) ) ; var b = Na ( ) ; return a ( d , function ( d ) { d . length && ( b [ d ] = ! 0 ) } ) , b } function Za ( d ) { return p ( d ) ? d : { } } function Rd ( d , b , e , c ) { function m ( d ) { try { d . apply ( null , Bb . call ( arguments , 1 ) ) } finally { if ( Z -- , 0 === Z ) for ( ; r . length ; ) try { r . pop ( ) ( ) } catch ( lg ) { e . error ( lg ) } } }
function g ( ) { B = null ; h ( ) ; k ( ) } function h ( ) { a : { try { p = l . state ; break a } catch ( tg ) { } p = void 0 } p = A ( p ) ? null : p ; X ( p , F ) && ( p = F ) ; F = p } function k ( ) { u === f . url ( ) && w === p || ( u = f . url ( ) , w = p , a ( y , function ( d ) { d ( f . url ( ) , p ) } ) ) } var f = this , G = d . location , l = d . history , v = d . setTimeout , n = d . clearTimeout , t = { } ; f . isMock = ! 1 ; var Z = 0 , r = [ ] ; f . $$completeOutstandingRequest = m ; f . $$incOutstandingRequestCount = function ( ) { Z ++ } ; f . notifyWhenNoOutstandingRequests = function ( d ) { 0 === Z ? d ( ) : r . push ( d ) } ; var p , w , u = G . href , z = b . find ( "base" ) , B = null ; h ( ) ; w = p ; f . url = function ( a ,
b , x ) { if ( A ( x ) && ( x = null ) , G !== d . location && ( G = d . location ) , l !== d . history && ( l = d . history ) , a ) { var E = w === x ; if ( u === a && ( ! c . history || E ) ) return f ; var m = u && Xb ( u ) === Xb ( a ) ; return u = a , w = x , ! c . history || m && E ? ( m && ! B || ( B = a ) , b ? G . replace ( a ) : m ? ( b = G , x = a . indexOf ( "#" ) , x = - 1 === x ? "" : a . substr ( x ) , b . hash = x ) : G . href = a , G . href !== a && ( B = a ) ) : ( l [ b ? "replaceState" : "pushState" ] ( x , "" , a ) , h ( ) , w = p ) , f } return B || G . href . replace ( /%27/g , "'" ) } ; f . state = function ( ) { return p } ; var y = [ ] , D = ! 1 , F = null ; f . onUrlChange = function ( a ) { return D || ( c . history && ha ( d ) . on ( "popstate" ,
g ) , ha ( d ) . on ( "hashchange" , g ) , D = ! 0 ) , y . push ( a ) , a } ; f . $$applicationDestroyed = function ( ) { ha ( d ) . off ( "hashchange popstate" , g ) } ; f . $$checkUrlChange = k ; f . baseHref = function ( ) { var d = z . attr ( "href" ) ; return d ? d . replace ( /^(https?\:)?\/\/[^\/]*/ , "" ) : "" } ; f . defer = function ( d , a ) { var x ; return Z ++ , x = v ( function ( ) { delete t [ x ] ; m ( d ) } , a || 0 ) , t [ x ] = ! 0 , x } ; f . defer . cancel = function ( d ) { return ! ! t [ d ] && ( delete t [ d ] , n ( d ) , m ( q ) , ! 0 ) } } function Dc ( ) { this . $get = [ "$window" , "$log" , "$sniffer" , "$document" , function ( d , a , b , e ) { return new Rd ( d , e , a , b ) } ] }
function Hd ( ) { this . $get = function ( ) { function d ( d , a ) { function m ( d ) { d != l && ( v ? v == d && ( v = d . n ) : v = d , e ( d . n , d . p ) , e ( d , l ) , l = d , l . n = null ) } function e ( d , a ) { d != a && ( d && ( d . p = a ) , a && ( a . n = d ) ) } if ( d in b ) throw k ( "$cacheFactory" ) ( "iid" , d ) ; var c = 0 , g = n ( { } , a , { id : d } ) , h = Na ( ) , f = a && a . capacity || Number . MAX _VALUE , G = Na ( ) , l = null , v = null ; return b [ d ] = { put : function ( d , a ) { if ( ! A ( a ) ) { if ( f < Number . MAX _VALUE ) { var b = G [ d ] || ( G [ d ] = { key : d } ) ; m ( b ) } return d in h || c ++ , h [ d ] = a , c > f && this . remove ( v . key ) , a } } , get : function ( d ) { if ( f < Number . MAX _VALUE ) { var a = G [ d ] ;
if ( ! a ) return ; m ( a ) } return h [ d ] } , remove : function ( d ) { if ( f < Number . MAX _VALUE ) { var a = G [ d ] ; if ( ! a ) return ; a == l && ( l = a . p ) ; a == v && ( v = a . n ) ; e ( a . n , a . p ) ; delete G [ d ] } d in h && ( delete h [ d ] , c -- ) } , removeAll : function ( ) { h = Na ( ) ; c = 0 ; G = Na ( ) ; l = v = null } , destroy : function ( ) { G = g = h = null ; delete b [ d ] } , info : function ( ) { return n ( { } , g , { size : c } ) } } } 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 Db ( ) { this . $get = [ "$cacheFactory" , function ( d ) { return d ( "templates" ) } ] }
function Ib ( d , b ) { function m ( d , b , m ) { var e = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/ , c = Na ( ) ; return a ( d , function ( d , a ) { if ( d in B ) c [ a ] = B [ d ] ; else { var g = d . match ( e ) ; if ( ! g ) throw $a ( "iscp" , b , a , d , m ? "controller bindings definition" : "isolate scope definition" ) ; c [ a ] = { mode : g [ 1 ] [ 0 ] , collection : "*" === g [ 2 ] , optional : "?" === g [ 3 ] , attrName : g [ 4 ] || a } ; g [ 4 ] && ( B [ d ] = c [ a ] ) } } ) , c } function e ( d ) { var a = d . charAt ( 0 ) ; if ( ! a || a !== wa ( a ) ) throw $a ( "baddir" , d ) ; if ( d !== d . trim ( ) ) throw $a ( "baddir" , d ) ; } var g = { } , k = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/ ,
l = /(([\w\-]+)(?:\:([^;]+))?;?)/ , v = S ( "ngSrc,ngSrcset,src,srcset" ) , t = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/ , r = /^(on[a-z]+|formaction)$/ , B = Na ( ) ; this . directive = function ad ( b , m ) { return Sb ( b , "directive" ) , u ( b ) ? ( e ( b ) , Ta ( m , "directiveFactory" ) , g . hasOwnProperty ( b ) || ( g [ b ] = [ ] , d . factory ( b + "Directive" , [ "$injector" , "$exceptionHandler" , function ( d , m ) { var e = [ ] ; return a ( g [ b ] , function ( a , c ) { try { var g = d . invoke ( a ) ; H ( g ) ? g = { compile : y ( g ) } : ! g . compile && g . link && ( g . compile = y ( g . link ) ) ; g . priority = g . priority || 0 ; g . index = c ; g . name = g . name || b ;
g . require = g . require || g . controller && g . name ; g . restrict = g . restrict || "EA" ; g . $$moduleName = a . $$moduleName ; e . push ( g ) } catch ( Qd ) { m ( Qd ) } } ) , e } ] ) ) , g [ b ] . push ( m ) ) : a ( b , c ( ad ) ) , this } ; this . aHrefSanitizationWhitelist = function ( d ) { return F ( d ) ? ( b . aHrefSanitizationWhitelist ( d ) , this ) : b . aHrefSanitizationWhitelist ( ) } ; this . imgSrcSanitizationWhitelist = function ( d ) { return F ( d ) ? ( b . imgSrcSanitizationWhitelist ( d ) , this ) : b . imgSrcSanitizationWhitelist ( ) } ; var D = ! 0 ; this . debugInfoEnabled = function ( d ) { return F ( d ) ? ( D = d , this ) : D } ; this . $get =
[ "$injector" , "$interpolate" , "$exceptionHandler" , "$templateRequest" , "$parse" , "$controller" , "$rootScope" , "$sce" , "$animate" , "$$sanitizeUri" , function ( d , b , e , c , G , Z , aa , ka , ta , za ) { function B ( d , a ) { try { d . addClass ( a ) } catch ( Ng ) { } } function y ( d , a , x , b , E ) { d instanceof ha || ( d = ha ( d ) ) ; for ( var m = /\S+/ , e = 0 , c = d . length ; e < c ; e ++ ) { var g = d [ e ] ; g . nodeType === Qb && g . nodeValue . match ( m ) && af ( g , d [ e ] = f . createElement ( "span" ) ) } var Q = Pb ( d , a , d , x , b , E ) ; y . $$addScopeClass ( d ) ; var h = null ; return function ( a , x , b ) { Ta ( a , "scope" ) ; E && E . needsNewScope &&
( a = a . $parent . $new ( ) ) ; b = b || { } ; var m = b . parentBoundTranscludeFn , e = b . transcludeControllers ; if ( b = b . futureParentElement , m && m . $$boundTransclude && ( m = m . $$boundTransclude ) , h || ( h = ( b = b && b [ 0 ] ) && "foreignobject" !== ia ( b ) && b . toString ( ) . match ( /SVG/ ) ? "svg" : "html" ) , b = "html" !== h ? ha ( qa ( h , ha ( "<div>" ) . append ( d ) . html ( ) ) ) : x ? Rb . clone . call ( d ) : d , e ) for ( var c in e ) b . data ( "$" + c + "Controller" , e [ c ] . instance ) ; return y . $$addScopeInfo ( b , a ) , x && x ( b , a ) , Q && Q ( a , b , b , m ) , b } } function Pb ( d , a , b , m , e , c ) { function g ( d , b , E , m ) { var e , c , Q , g , f , k , G ; if ( l ) for ( G =
Array ( b . length ) , g = 0 ; g < v . length ; g += 3 ) e = v [ g ] , G [ e ] = b [ e ] ; else G = b ; g = 0 ; for ( f = v . length ; g < f ; ) c = G [ v [ g ++ ] ] , b = v [ g ++ ] , e = v [ g ++ ] , b ? ( b . scope ? ( Q = d . $new ( ) , y . $$addScopeInfo ( ha ( c ) , Q ) ) : Q = d , k = b . transcludeOnThisElement ? x ( d , b . transclude , m ) : ! b . templateOnThisElement && m ? m : ! m && a ? x ( d , a ) : null , b ( e , Q , c , E , k ) ) : e && e ( d , c . childNodes , h , m ) } for ( var Q , f , k , G , l , v = [ ] , n = 0 ; n < d . length ; n ++ ) Q = new zc , f = E ( d [ n ] , [ ] , Q , 0 === n ? m : h , e ) , ( c = f . length ? yb ( f , d [ n ] , Q , a , b , null , [ ] , [ ] , c ) : null ) && c . scope && y . $$addScopeClass ( Q . $$element ) , Q = c && c . terminal || ! ( k = d [ n ] . childNodes ) ||
! k . length ? null : Pb ( k , c ? ( c . transcludeOnThisElement || ! c . templateOnThisElement ) && c . transclude : a ) , ( c || Q ) && ( v . push ( n , c , Q ) , G = ! 0 , l = l || c ) , c = null ; return G ? g : null } function x ( d , a , x ) { return function ( b , E , m , e , c ) { return b || ( b = d . $new ( ! 1 , c ) , b . $$transcluded = ! 0 ) , a ( b , E , { parentBoundTranscludeFn : x , transcludeControllers : m , futureParentElement : e } ) } } function E ( d , a , x , b , E ) { var m , e = x . $attr ; switch ( d . nodeType ) { case 1 : m = ia ( d ) ; U ( a , pb ( m ) , "E" , b , E ) ; for ( var c , g , Q , h , f = d . attributes , G = 0 , v = f && f . length ; G < v ; G ++ ) { var n = ! 1 , t = ! 1 ; c = f [ G ] ; g = c . name ;
Q = Ha ( c . value ) ; c = pb ( g ) ; ( h = O . test ( c ) ) && ( g = g . replace ( Sd , "" ) . substr ( 8 ) . replace ( /_(.)/g , function ( d , a ) { return a . toUpperCase ( ) } ) ) ; ( c = c . match ( P ) ) && dc ( c [ 1 ] ) && ( n = g , t = g . substr ( 0 , g . length - 5 ) + "end" , g = g . substr ( 0 , g . length - 6 ) ) ; c = pb ( g . toLowerCase ( ) ) ; e [ c ] = g ; ! h && x . hasOwnProperty ( c ) || ( x [ c ] = Q , df ( d , c ) && ( x [ c ] = ! 0 ) ) ; L ( d , a , Q , c , h ) ; U ( a , c , "A" , b , E , n , t ) } if ( "input" === m && "hidden" === d . getAttribute ( "type" ) && d . setAttribute ( "autocomplete" , "off" ) , d = d . className , p ( d ) && ( d = d . animVal ) , u ( d ) && "" !== d ) for ( ; m = l . exec ( d ) ; ) c = pb ( m [ 2 ] ) , U ( a , c , "C" , b ,
E ) && ( x [ c ] = Ha ( m [ 3 ] ) ) , d = d . substr ( m . index + m [ 0 ] . length ) ; break ; case Qb : if ( 11 === jc ) for ( ; d . parentNode && d . nextSibling && d . nextSibling . nodeType === Qb ; ) d . nodeValue += d . nextSibling . nodeValue , d . parentNode . removeChild ( d . nextSibling ) ; I ( a , d . nodeValue ) ; break ; case 8 : try { ( m = k . exec ( d . nodeValue ) ) && ( c = pb ( m [ 1 ] ) , U ( a , c , "M" , b , E ) && ( x [ c ] = Ha ( m [ 2 ] ) ) ) } catch ( Og ) { } } return a . sort ( S ) , a } function Q ( d , a , x ) { var b = [ ] , E = 0 ; if ( a && d . hasAttribute && d . hasAttribute ( a ) ) { do { if ( ! d ) throw $a ( "uterdir" , a , x ) ; 1 == d . nodeType && ( d . hasAttribute ( a ) && E ++ , d . hasAttribute ( x ) &&
E -- ) ; b . push ( d ) ; d = d . nextSibling } while ( 0 < E ) } else b . push ( d ) ; return ha ( b ) } function Ba ( d , a , x ) { return function ( b , E , m , e , c ) { return E = Q ( E [ 0 ] , a , x ) , d ( b , E , m , e , c ) } } function yb ( d , a , x , b , m , c , g , k , G ) { function l ( d , a , x , b ) { d && ( x && ( d = Ba ( d , x , b ) ) , d . require = q . require , d . directiveName = aa , ( B === q || q . $$isolateScope ) && ( d = W ( d , { isolateScope : ! 0 } ) ) , g . push ( d ) ) ; a && ( x && ( a = Ba ( a , x , b ) ) , a . require = q . require , a . directiveName = aa , ( B === q || q . $$isolateScope ) && ( a = W ( a , { isolateScope : ! 0 } ) ) , k . push ( a ) ) } function v ( d , a , x , b ) { var E ; if ( u ( a ) ) { var m = a . match ( t ) ;
a = a . substring ( m [ 0 ] . length ) ; var e = m [ 1 ] || m [ 3 ] , m = "?" === m [ 2 ] ; if ( "^^" === e ? x = x . parent ( ) : E = ( E = b && b [ a ] ) && E . instance , E || ( b = "$" + a + "Controller" , E = e ? x . inheritedData ( b ) : x . data ( b ) ) , ! E && ! m ) throw $a ( "ctreq" , a , d ) ; } else if ( ma ( a ) ) for ( E = [ ] , e = 0 , m = a . length ; e < m ; e ++ ) E [ e ] = v ( d , a [ e ] , x , b ) ; return E || null } function n ( d , a , x , b , E , m ) { var e , c = Na ( ) ; for ( e in b ) { var g = b [ e ] , Q = { $scope : g === B || g . $$isolateScope ? E : m , $element : d , $attrs : a , $transclude : x } , h = g . controller ; "@" == h && ( h = a [ g . name ] ) ; Q = Z ( h , Q , ! 0 , g . controllerAs ) ; c [ g . name ] = Q ; d . data ( "$" + g . name +
"Controller" , Q . instance ) } return c } function r ( d , b , E , m , e ) { function c ( d , a , x ) { var b ; return T ( d ) || ( x = a , a = d , d = h ) , F && ( b = l ) , x || ( x = F ? Z . parent ( ) : Z ) , e ( d , a , b , x , ka ) } var Q , f , G , l , t , Z , q ; a === E ? ( m = x , Z = x . $$element ) : ( Z = ha ( E ) , m = new zc ( Z , x ) ) ; G = b ; B ? f = b . $new ( ! 0 ) : za && ( G = b . $parent ) ; e && ( t = c , t . $$boundTransclude = e ) ; yb && ( l = n ( Z , m , t , yb , f , b ) ) ; B && ( y . $$addScopeInfo ( Z , f , ! 0 , ! ( z && ( z === B || z === B . $$originalDirective ) ) ) , y . $$addScopeClass ( Z , ! 0 ) , f . $$isolateBindings = B . $$isolateBindings , ( q = Da ( b , m , f , f . $$isolateBindings , B ) ) && f . $on ( "$destroy" , q ) ) ;
for ( var r in l ) { q = yb [ r ] ; var Ba = l [ r ] , p = q . $$bindings . bindToController ; Ba . identifier && p && ( Q = Da ( G , m , Ba . instance , p , q ) ) ; var aa = Ba ( ) ; aa !== Ba . instance && ( Ba . instance = aa , Z . data ( "$" + q . name + "Controller" , aa ) , Q && Q ( ) , Q = Da ( G , m , Ba . instance , p , q ) ) } ga = 0 ; for ( S = g . length ; ga < S ; ga ++ ) Q = g [ ga ] , K ( Q , Q . isolateScope ? f : b , Z , m , Q . require && v ( Q . directiveName , Q . require , Z , l ) , t ) ; var ka = b ; B && ( B . template || null === B . templateUrl ) && ( ka = f ) ; d && d ( ka , E . childNodes , h , e ) ; for ( ga = k . length - 1 ; 0 <= ga ; ga -- ) Q = k [ ga ] , K ( Q , Q . isolateScope ? f : b , Z , m , Q . require && v ( Q . directiveName ,
Q . require , Z , l ) , t ) } G = G || { } ; for ( var q , aa , ka , ta , w = - Number . MAX _VALUE , za = G . newScopeDirective , yb = G . controllerDirectives , B = G . newIsolateScopeDirective , z = G . templateDirective , A = G . nonTlbTranscludeDirective , D = ! 1 , Pb = ! 1 , F = G . hasElementTranscludeDirective , U = x . $$element = ha ( a ) , dc = b , ga = 0 , S = d . length ; ga < S ; ga ++ ) { q = d [ ga ] ; var I = q . $$start , mg = q . $$end ; if ( I && ( U = Q ( a , I , mg ) ) , ka = h , w > q . priority ) break ; if ( ( ka = q . scope ) && ( q . templateUrl || ( p ( ka ) ? ( ub ( "new/isolated scope" , B || za , q , U ) , B = q ) : ub ( "new/isolated scope" , B , q , U ) ) , za = za || q ) , aa = q . name ,
! q . templateUrl && q . controller && ( ka = q . controller , yb = yb || Na ( ) , ub ( "'" + aa + "' controller" , yb [ aa ] , q , U ) , yb [ aa ] = q ) , ( ka = q . transclude ) && ( D = ! 0 , q . $$tlb || ( ub ( "transclusion" , A , q , U ) , A = q ) , "element" == ka ? ( F = ! 0 , w = q . priority , ka = U , U = x . $$element = ha ( f . createComment ( " " + aa + ": " + x [ aa ] + " " ) ) , a = U [ 0 ] , Ea ( m , Bb . call ( ka , 0 ) , a ) , dc = y ( ka , b , w , c && c . name , { nonTlbTranscludeDirective : A } ) ) : ( ka = ha ( kd ( a ) ) . contents ( ) , U . empty ( ) , dc = y ( ka , b , h , h , { needsNewScope : q . $$isolateScope || q . $$newScope } ) ) ) , q . template ) if ( Pb = ! 0 , ub ( "template" , z , q , U ) , z = q , ka = H ( q . template ) ?
q . template ( U , x ) : q . template , ka = J ( ka ) , q . replace ) { if ( c = q , ka = Gc . test ( ka ) ? ug ( qa ( q . templateNamespace , Ha ( ka ) ) ) : [ ] , a = ka [ 0 ] , 1 != ka . length || 1 !== a . nodeType ) throw $a ( "tplrt" , aa , "" ) ; Ea ( m , U , a ) ; ka = { $attr : { } } ; var C = E ( a , [ ] , ka ) , Y = d . splice ( ga + 1 , d . length - ( ga + 1 ) ) ; ( B || za ) && N ( C , B , za ) ; d = d . concat ( C ) . concat ( Y ) ; ve ( x , ka ) ; S = d . length } else U . html ( ka ) ; if ( q . templateUrl ) Pb = ! 0 , ub ( "template" , z , q , U ) , z = q , q . replace && ( c = q ) , r = M ( d . splice ( ga , d . length - ga ) , U , x , m , D && dc , g , k , { controllerDirectives : yb , newScopeDirective : za !== q && za , newIsolateScopeDirective : B ,
templateDirective : z , nonTlbTranscludeDirective : A } ) , S = d . length ; else if ( q . compile ) try { ta = q . compile ( U , x , dc ) , H ( ta ) ? l ( null , ta , I , mg ) : ta && l ( ta . pre , ta . post , I , mg ) } catch ( Jg ) { e ( Jg , ca ( U ) ) } q . terminal && ( r . terminal = ! 0 , w = Math . max ( w , q . priority ) ) } return r . scope = za && ! 0 === za . scope , r . transcludeOnThisElement = D , r . templateOnThisElement = Pb , r . transclude = dc , G . hasElementTranscludeDirective = F , r } function N ( d , a , x ) { for ( var b = 0 , E = d . length ; b < E ; b ++ ) d [ b ] = w ( d [ b ] , { $$isolateScope : a , $$newScope : x } ) } function U ( a , x , b , E , c , Q , h ) { if ( x === c ) return null ;
if ( c = null , g . hasOwnProperty ( x ) ) { var f ; x = d . get ( x + "Directive" ) ; for ( var G = 0 , k = x . length ; G < k ; G ++ ) try { if ( f = x [ G ] , ( A ( E ) || E > f . priority ) && - 1 != f . restrict . indexOf ( b ) ) { if ( Q && ( f = w ( f , { $$start : Q , $$end : h } ) ) , ! f . $$bindings ) { var l = f , v = f , n = f . name , t = { isolateScope : null , bindToController : null } ; if ( p ( v . scope ) && ( ! 0 === v . bindToController ? ( t . bindToController = m ( v . scope , n , ! 0 ) , t . isolateScope = { } ) : t . isolateScope = m ( v . scope , n , ! 1 ) ) , p ( v . bindToController ) && ( t . bindToController = m ( v . bindToController , n , ! 0 ) ) , p ( t . bindToController ) ) { var Z = v . controller ,
q = v . controllerAs ; if ( ! Z ) throw $a ( "noctrl" , n ) ; var r ; a : { var v = Z , Ba = q ; if ( Ba && u ( Ba ) ) r = Ba ; else { if ( u ( v ) ) { var aa = Lc . exec ( v ) ; if ( aa ) { r = aa [ 3 ] ; break a } } r = void 0 } } if ( ! r ) throw $a ( "noident" , n ) ; } var ka = l . $$bindings = t ; p ( ka . isolateScope ) && ( f . $$isolateBindings = ka . isolateScope ) } a . push ( f ) ; c = f } } catch ( Hg ) { e ( Hg ) } } return c } function dc ( a ) { if ( g . hasOwnProperty ( a ) ) for ( var x = d . get ( a + "Directive" ) , b = 0 , E = x . length ; b < E ; b ++ ) if ( a = x [ b ] , a . multiElement ) return ! 0 ; return ! 1 } function ve ( d , x ) { var b = x . $attr , E = d . $attr , m = d . $$element ; a ( d , function ( a ,
E ) { "$" != E . charAt ( 0 ) && ( x [ E ] && x [ E ] !== a && ( a += ( "style" === E ? ";" : " " ) + x [ E ] ) , d . $set ( E , a , ! 0 , b [ E ] ) ) } ) ; a ( x , function ( a , x ) { "class" == x ? ( B ( 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 , E [ x ] = b [ x ] ) } ) } function M ( d , b , m , e , Q , g , h , f ) { var G , k , l = [ ] , v = b [ 0 ] , n = d . shift ( ) , t = w ( n , { templateUrl : null , transclude : null , replace : null , $$originalDirective : n } ) , Z = H ( n . templateUrl ) ? n . templateUrl ( b , m ) : n . templateUrl ,
q = n . templateNamespace ; return b . empty ( ) , c ( Z ) . then ( function ( c ) { var r , Ba ; if ( c = J ( c ) , n . replace ) { if ( c = Gc . test ( c ) ? ug ( qa ( q , Ha ( c ) ) ) : [ ] , r = c [ 0 ] , 1 != c . length || 1 !== r . nodeType ) throw $a ( "tplrt" , n . name , Z ) ; c = { $attr : { } } ; Ea ( e , b , r ) ; var aa = E ( r , [ ] , c ) ; p ( n . scope ) && N ( aa , ! 0 ) ; d = aa . concat ( d ) ; ve ( m , c ) } else r = v , b . html ( c ) ; d . unshift ( t ) ; G = yb ( d , r , m , Q , b , n , g , h , f ) ; a ( e , function ( d , a ) { d == r && ( e [ a ] = b [ 0 ] ) } ) ; for ( k = Pb ( b [ 0 ] . childNodes , Q ) ; l . length ; ) { c = l . shift ( ) ; Ba = l . shift ( ) ; var ka = l . shift ( ) , ta = l . shift ( ) , aa = b [ 0 ] ; if ( ! c . $$destroyed ) { if ( Ba !== v ) { var w =
Ba . className ; f . hasElementTranscludeDirective && n . replace || ( aa = kd ( r ) ) ; Ea ( ka , ha ( Ba ) , aa ) ; B ( ha ( aa ) , w ) } Ba = G . transcludeOnThisElement ? x ( c , G . transclude , ta ) : ta ; G ( k , c , aa , e , Ba ) } } l = null } ) , function ( d , a , b , E , m ) { d = m ; a . $$destroyed || ( l ? l . push ( a , b , E , d ) : ( G . transcludeOnThisElement && ( d = x ( a , G . transclude , m ) ) , G ( k , a , b , E , d ) ) ) } } function S ( 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 ub ( d , a , x , b ) { function E ( d ) { return d ? " (module: " + d + ")" : "" } if ( a ) throw $a ( "multidir" ,
a . name , E ( a . $$moduleName ) , x . name , E ( x . $$moduleName ) , d , ca ( b ) ) ; } function I ( d , a ) { var x = b ( a , ! 0 ) ; x && d . push ( { priority : 0 , compile : function ( d ) { d = d . parent ( ) ; var a = ! ! d . length ; return a && y . $$addBindingClass ( d ) , function ( d , b ) { var E = b . parent ( ) ; a || y . $$addBindingClass ( E ) ; y . $$addBindingInfo ( E , x . expressions ) ; d . $watch ( x , function ( d ) { b [ 0 ] . nodeValue = d } ) } } } ) } function qa ( d , a ) { switch ( d = wa ( 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 oa ( d , a ) { if ( "srcdoc" == a ) return ka . HTML ; var x = ia ( d ) ; return "xlinkHref" == a || "form" == x && "action" == a || "img" != x && ( "src" == a || "ngSrc" == a ) ? ka . RESOURCE _URL : void 0 } function L ( d , a , x , E , m ) { var e = oa ( d , E ) ; m = v [ E ] || m ; var c = b ( x , ! 0 , e , m ) ; if ( c ) { if ( "multiple" === E && "select" === ia ( d ) ) throw $a ( "selmulti" , ca ( d ) ) ; a . push ( { priority : 100 , compile : function ( ) { return { pre : function ( d , a , Q ) { if ( a = Q . $$observers || ( Q . $$observers = Na ( ) ) , r . test ( E ) ) throw $a ( "nodomevents" ) ; var g = Q [ E ] ; g !== x && ( c = g && b ( g , ! 0 , e , m ) , x = g ) ; c && ( Q [ E ] = c ( d ) , ( a [ E ] || ( a [ E ] =
[ ] ) ) . $$inter = ! 0 , ( Q . $$observers && Q . $$observers [ E ] . $$scope || d ) . $watch ( c , function ( d , a ) { "class" === E && d != a ? Q . $updateClass ( d , a ) : Q . $set ( E , d ) } ) ) } } } } ) } } function Ea ( d , a , x ) { var b , E , m = a [ 0 ] , e = a . length , c = m . parentNode ; if ( d ) for ( b = 0 , E = d . length ; b < E ; b ++ ) if ( d [ b ] == m ) { d [ b ++ ] = x ; E = b + e - 1 ; for ( var Q = d . length ; b < Q ; b ++ , E ++ ) E < Q ? d [ b ] = d [ E ] : delete d [ b ] ; d . length -= e - 1 ; d . context === m && ( d . context = x ) ; break } c && c . replaceChild ( x , m ) ; d = f . createDocumentFragment ( ) ; d . appendChild ( m ) ; ha . hasData ( m ) && ( ha . data ( x , ha . data ( m ) ) , Fa ? ( $c = ! 0 , Fa . cleanData ( [ m ] ) ) :
delete ha . cache [ m [ ha . expando ] ] ) ; m = 1 ; for ( e = a . length ; m < e ; m ++ ) c = a [ m ] , ha ( c ) . remove ( ) , d . appendChild ( c ) , delete a [ m ] ; a [ 0 ] = x ; a . length = 1 } function W ( d , a ) { return n ( function ( ) { return d . apply ( null , arguments ) } , d , a ) } function K ( d , a , x , b , E , m ) { try { d ( a , x , b , E , m ) } catch ( Fg ) { e ( Fg , ca ( x ) ) } } function Da ( d , x , E , m , e ) { var c = [ ] ; return a ( m , function ( a , m ) { var Q , g , h , f , k = a . attrName , l = a . optional ; switch ( a . mode ) { case "@" : l || rb . call ( x , k ) || ( E [ m ] = x [ k ] = void 0 ) ; x . $observe ( k , function ( d ) { u ( d ) && ( E [ m ] = d ) } ) ; x . $$observers [ k ] . $$scope = d ; Q = x [ k ] ; u ( Q ) ?
E [ m ] = b ( Q ) ( d ) : Y ( Q ) && ( E [ m ] = Q ) ; break ; case "=" : if ( ! rb . call ( x , k ) ) { if ( l ) break ; x [ k ] = void 0 } if ( l && ! x [ k ] ) break ; g = G ( x [ k ] ) ; f = g . literal ? X : function ( d , a ) { return d === a || d !== d && a !== a } ; h = g . assign || function ( ) { throw Q = E [ m ] = g ( d ) , $a ( "nonassign" , x [ k ] , k , e . name ) ; } ; Q = E [ m ] = g ( d ) ; l = function ( a ) { return f ( a , E [ m ] ) || ( f ( a , Q ) ? h ( d , a = E [ m ] ) : E [ m ] = a ) , Q = a } ; l . $stateful = ! 0 ; l = a . collection ? d . $watchCollection ( x [ k ] , l ) : d . $watch ( G ( x [ k ] , l ) , null , g . literal ) ; c . push ( l ) ; break ; case "&" : ( g = x . hasOwnProperty ( k ) ? G ( x [ k ] ) : q , g === q && l ) || ( E [ m ] = function ( a ) { return g ( d ,
a ) } ) } } ) , c . length && function ( ) { for ( var d = 0 , a = c . length ; d < a ; ++ d ) c [ d ] ( ) } } var zc = function ( d , a ) { if ( a ) { var x , b , E , m = Object . keys ( a ) ; x = 0 ; for ( b = m . length ; x < b ; x ++ ) E = m [ x ] , this [ E ] = a [ E ] } else this . $attr = { } ; this . $$element = d } ; zc . prototype = { $normalize : pb , $addClass : function ( d ) { d && 0 < d . length && ta . addClass ( this . $$element , d ) } , $removeClass : function ( d ) { d && 0 < d . length && ta . removeClass ( this . $$element , d ) } , $updateClass : function ( d , a ) { var x = C ( d , a ) ; x && x . length && ta . addClass ( this . $$element , x ) ; ( x = C ( a , d ) ) && x . length && ta . removeClass ( this . $$element ,
x ) } , $set : function ( d , x , b , E ) { var m = df ( this . $$element [ 0 ] , d ) , c = Ud [ d ] , Q = d ; if ( m ? ( this . $$element . prop ( d , x ) , E = m ) : c && ( this [ c ] = x , Q = c ) , this [ d ] = x , E ? this . $attr [ d ] = E : ( E = this . $attr [ d ] ) || ( this . $attr [ d ] = E = ga ( d , "-" ) ) , m = ia ( this . $$element ) , "a" === m && "href" === d || "img" === m && "src" === d ) this [ d ] = x = za ( x , "src" === d ) ; else if ( "img" === m && "srcset" === d && F ( x ) ) { for ( var m = "" , c = Ha ( x ) , g = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/ , g = /\s/ . test ( c ) ? g : /(,)/ , c = c . split ( g ) , g = Math . floor ( c . length / 2 ) , h = 0 ; h < g ; h ++ ) var f = 2 * h , m = m + za ( Ha ( c [ f ] ) , ! 0 ) , m = m + ( " " + Ha ( c [ f +
1 ] ) ) ; c = Ha ( c [ 2 * h ] ) . split ( /\s/ ) ; m += za ( Ha ( c [ 0 ] ) , ! 0 ) ; 2 === c . length && ( m += " " + Ha ( c [ 1 ] ) ) ; this [ d ] = x = m } ! 1 !== b && ( null === x || A ( x ) ? this . $$element . removeAttr ( E ) : this . $$element . attr ( E , x ) ) ; ( d = this . $$observers ) && a ( d [ Q ] , function ( d ) { try { d ( x ) } catch ( Gg ) { e ( Gg ) } } ) } , $observe : function ( d , a ) { var x = this , b = x . $$observers || ( x . $$observers = Na ( ) ) , E = b [ d ] || ( b [ d ] = [ ] ) ; return E . push ( a ) , aa . $evalAsync ( function ( ) { E . $$inter || ! x . hasOwnProperty ( d ) || A ( x [ d ] ) || a ( x [ d ] ) } ) , function ( ) { ua ( E , a ) } } } ; var fc = b . startSymbol ( ) , we = b . endSymbol ( ) , J = "{{" == fc && "}}" ==
we ? z : function ( d ) { return d . replace ( /\{\{/g , fc ) . replace ( /}}/g , we ) } , O = /^ngAttr[A-Z]/ , P = /^(.+)Start$/ ; return y . $$addBindingInfo = D ? function ( d , a ) { var x = d . data ( "$binding" ) || [ ] ; ma ( a ) ? x = x . concat ( a ) : x . push ( a ) ; d . data ( "$binding" , x ) } : q , y . $$addBindingClass = D ? function ( d ) { B ( d , "ng-binding" ) } : q , y . $$addScopeInfo = D ? function ( d , a , x , b ) { d . data ( x ? b ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope" , a ) } : q , y . $$addScopeClass = D ? function ( d , a ) { B ( d , a ? "ng-isolate-scope" : "ng-scope" ) } : q , y } ] } function pb ( d ) { return pc ( d . replace ( Sd , "" ) ) }
function C ( d , a ) { var b = "" , m = d . split ( /\s+/ ) , e = a . split ( /\s+/ ) , c = 0 ; a : for ( ; c < m . length ; c ++ ) { for ( var g = m [ c ] , h = 0 ; h < e . length ; h ++ ) if ( g == e [ h ] ) continue a ; b += ( 0 < b . length ? " " : "" ) + g } return b } function ug ( d ) { d = ha ( d ) ; var a = d . length ; if ( 1 >= a ) return d ; for ( ; a -- ; ) 8 === d [ a ] . nodeType && ff . call ( d , a , 1 ) ; return d } function vb ( ) { var d = { } , a = ! 1 ; this . register = function ( a , b ) { Sb ( a , "controller" ) ; p ( a ) ? n ( d , a ) : d [ a ] = b } ; this . allowGlobals = function ( ) { a = ! 0 } ; this . $get = [ "$injector" , "$window" , function ( b , m ) { function e ( d , a , b , m ) { if ( ! d || ! p ( d . $scope ) ) throw k ( "$controller" ) ( "noscp" ,
m , a ) ; d . $scope [ a ] = b } return function ( c , g , f , k ) { var G , l , v ; if ( f = ! 0 === f , k && u ( k ) && ( v = k ) , u ( c ) ) { if ( k = c . match ( Lc ) , ! k ) throw gf ( "ctrlfmt" , c ) ; l = k [ 1 ] ; v = v || k [ 3 ] ; c = d . hasOwnProperty ( l ) ? d [ l ] : ub ( g . $scope , l , ! 0 ) || ( a ? ub ( m , l , ! 0 ) : h ) ; tb ( c , l , ! 0 ) } return f ? ( f = ( ma ( c ) ? c [ c . length - 1 ] : c ) . prototype , G = Object . create ( f || null ) , v && e ( g , v , G , l || c . name ) , n ( function ( ) { var d = b . invoke ( c , G , g , l ) ; return d !== G && ( p ( d ) || H ( d ) ) && ( G = d , v && e ( g , v , G , l || c . name ) ) , G } , { instance : G , identifier : v } ) ) : ( G = b . instantiate ( c , g , l ) , v && e ( g , v , G , l || c . name ) , G ) } } ] } function ya ( ) { this . $get =
[ "$window" , function ( d ) { return ha ( d . document ) } ] } function Ag ( ) { this . $get = [ "$log" , function ( d ) { return function ( a , b ) { d . error . apply ( d , arguments ) } } ] } function ng ( d ) { return p ( d ) ? M ( d ) ? d . toISOString ( ) : na ( d ) : d } function Cg ( ) { this . $get = function ( ) { return function ( d ) { if ( ! d ) return "" ; var b = [ ] ; return g ( d , function ( d , m ) { null === d || A ( d ) || ( ma ( d ) ? a ( d , function ( d , a ) { b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) } ) : b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } ) , b . join ( "&" ) } } } function cb ( ) { this . $get = function ( ) { return function ( d ) { function b ( d , m , c ) { null === d || A ( d ) ||
( ma ( d ) ? a ( d , function ( d , a ) { b ( d , m + "[" + ( p ( d ) ? a : "" ) + "]" ) } ) : p ( d ) && ! M ( d ) ? g ( d , function ( d , a ) { b ( d , m + ( c ? "" : "[" ) + a + ( c ? "" : "]" ) ) } ) : e . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } if ( ! d ) return "" ; var e = [ ] ; return b ( d , "" , ! 0 ) , e . join ( "&" ) } } } function mb ( d , a ) { if ( u ( d ) ) { var b = d . replace ( La , "" ) . trim ( ) ; if ( b ) { var m = a ( "Content-Type" ) ; ( m = m && 0 === m . indexOf ( Vd ) ) || ( m = ( m = b . match ( hf ) ) && nd [ m [ 0 ] ] . test ( b ) ) ; m && ( d = da ( b ) ) } } return d } function vg ( d ) { var b , e = Na ( ) ; return u ( d ) ? a ( d . split ( "\n" ) , function ( d ) { b = d . indexOf ( ":" ) ; var a = wa ( Ha ( d . substr ( 0 , b ) ) ) ; d = Ha ( d . substr ( b +
1 ) ) ; a && ( e [ a ] = e [ a ] ? e [ a ] + ", " + d : d ) } ) : p ( d ) && a ( d , function ( d , a ) { var b = wa ( a ) , m = Ha ( d ) ; b && ( e [ b ] = e [ b ] ? e [ b ] + ", " + m : m ) } ) , e } function wg ( d ) { var a ; return function ( b ) { return a || ( a = vg ( d ) ) , b ? ( b = a [ wa ( b ) ] , void 0 === b && ( b = null ) , b ) : a } } function kc ( d , b , e , c ) { return H ( c ) ? c ( d , b , e ) : ( a ( c , function ( a ) { d = a ( d , b , e ) } ) , d ) } function Bg ( ) { var d = this . defaults = { transformResponse : [ mb ] , transformRequest : [ function ( d ) { return p ( d ) && "[object File]" !== sb . call ( d ) && "[object Blob]" !== sb . call ( d ) && "[object FormData]" !== sb . call ( d ) ? na ( d ) : d } ] , headers : { common : { Accept : "application/json, text/plain, */*" } ,
post : U ( Mc ) , put : U ( Mc ) , patch : U ( Mc ) } , xsrfCookieName : "XSRF-TOKEN" , xsrfHeaderName : "X-XSRF-TOKEN" , paramSerializer : "$httpParamSerializer" } , b = ! 1 ; this . useApplyAsync = function ( d ) { return F ( d ) ? ( b = ! ! d , this ) : b } ; var e = ! 0 ; this . useLegacyPromiseExtensions = function ( d ) { return F ( d ) ? ( e = ! ! d , this ) : e } ; var c = this . interceptors = [ ] ; this . $get = [ "$httpBackend" , "$$cookieReader" , "$cacheFactory" , "$rootScope" , "$q" , "$injector" , function ( m , g , f , l , G , v ) { function t ( b ) { function m ( d ) { var a = n ( { } , d ) ; return a . data = kc ( d . data , d . headers , d . status , g . transformResponse ) ,
d = d . status , 200 <= d && 300 > d ? a : G . reject ( a ) } function c ( d , b ) { var m , e = { } ; return a ( d , function ( d , a ) { H ( d ) ? ( m = d ( b ) , null != m && ( e [ a ] = m ) ) : e [ a ] = d } ) , e } if ( ! Oa . isObject ( b ) ) throw k ( "$http" ) ( "badreq" , b ) ; if ( ! u ( b . url ) ) throw k ( "$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 , e , x = d . headers , E = n ( { } , a . headers ) , x = n ( { } , x . common , x [ wa ( a . method ) ] ) ; a : for ( b in x ) { m = wa ( b ) ; for ( e in E ) if ( wa ( e ) ===
m ) continue a ; E [ b ] = x [ b ] } return c ( E , U ( a ) ) } ( b ) ; g . method = kb ( g . method ) ; g . paramSerializer = u ( g . paramSerializer ) ? v . get ( g . paramSerializer ) : g . paramSerializer ; var f = [ function ( b ) { var e = b . headers , c = kc ( b . data , wg ( e ) , h , b . transformRequest ) ; return A ( c ) && a ( e , function ( d , a ) { "content-type" === wa ( a ) && delete e [ a ] } ) , A ( b . withCredentials ) && ! A ( d . withCredentials ) && ( b . withCredentials = d . withCredentials ) , q ( b , c ) . then ( m , m ) } , h ] , l = G . when ( g ) ; for ( a ( aa , 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 ( ) , l = l . then ( b , t ) } return e ? ( l . success = function ( d ) { return tb ( d , "fn" ) , l . then ( function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , l } , l . error = function ( d ) { return tb ( d , "fn" ) , l . then ( null , function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , l } ) : ( l . success = jf ( "success" ) , l . error = jf ( "error" ) ) , l } function q ( a , e ) { function c ( d , a , m , e ) { function E ( ) { f ( a , d , m , e ) } n && ( 200 <= d && 300 > d ? n . put ( x , [ d , a , vg ( m ) , e ] ) : n . remove ( x ) ) ; b ? l . $applyAsync ( E ) : ( E ( ) , l . $$phase ||
l . $apply ( ) ) } function f ( d , x , b , m ) { x = - 1 <= x ? x : 0 ; ( 200 <= x && 300 > x ? aa . resolve : aa . reject ) ( { data : d , status : x , headers : wg ( b ) , config : a , statusText : m } ) } function k ( d ) { f ( d . data , d . status , U ( d . headers ( ) ) , d . statusText ) } function v ( ) { var d = t . pendingRequests . indexOf ( a ) ; - 1 !== d && t . pendingRequests . splice ( d , 1 ) } var n , q , aa = G . defer ( ) , ka = aa . promise , ta = a . headers , x = r ( a . url , a . paramSerializer ( a . params ) ) ; return t . pendingRequests . push ( a ) , ka . then ( v , v ) , ! a . cache && ! d . cache || ! 1 === a . cache || "GET" !== a . method && "JSONP" !== a . method || ( n = p ( a . cache ) ?
a . cache : p ( d . cache ) ? d . cache : Z ) , n && ( q = n . get ( x ) , F ( q ) ? q && H ( q . then ) ? q . then ( k , k ) : ma ( q ) ? f ( q [ 1 ] , q [ 0 ] , U ( q [ 2 ] ) , q [ 3 ] ) : f ( q , 200 , { } , "OK" ) : n . put ( x , ka ) ) , A ( q ) && ( ( q = Wd ( a . url ) ? g ( ) [ a . xsrfCookieName || d . xsrfCookieName ] : h ) && ( ta [ a . xsrfHeaderName || d . xsrfHeaderName ] = q ) , m ( a . method , x , e , c , ta , a . timeout , a . withCredentials , a . responseType ) ) , ka } function r ( d , a ) { return 0 < a . length && ( d += ( - 1 == d . indexOf ( "?" ) ? "?" : "&" ) + a ) , d } var Z = f ( "$http" ) ; d . paramSerializer = u ( d . paramSerializer ) ? v . get ( d . paramSerializer ) : d . paramSerializer ; var aa = [ ] ; return a ( c ,
function ( d ) { aa . unshift ( u ( 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 , e ) { return kf ( d , e , d . defer , a . angular . callbacks , b [ 0 ] ) } ] } function kf ( d , b , e , c , g ) { function m ( d , a , b ) { var m = g . createElement ( "script" ) , e = null ; return m . type = "text/javascript" , m . src = d , m . async = ! 0 , e = function ( d ) { m . removeEventListener ( "load" , e , ! 1 ) ; m . removeEventListener ( "error" , e , ! 1 ) ; g . body . removeChild ( m ) ; m = null ; var f = - 1 , h = "unknown" ; d && ( "load" !== d . type || c [ a ] . called || ( d = { type : "error" } ) , h = d . type , f = "error" === d . type ? 404 : 200 ) ; b && b ( f , h ) } , m . addEventListener ( "load" , e , ! 1 ) , m . addEventListener ( "error" , e , ! 1 ) , g . body . appendChild ( m ) ,
e } return function ( g , f , h , l , k , G , v , n ) { function t ( ) { p && p ( ) ; aa && aa . abort ( ) } function r ( a , b , m , c , g ) { F ( ka ) && e . cancel ( ka ) ; p = aa = null ; a ( b , m , c , g ) ; d . $$completeOutstandingRequest ( q ) } if ( d . $$incOutstandingRequestCount ( ) , f = f || d . url ( ) , "jsonp" == wa ( g ) ) { var Z = "_" + ( c . counter ++ ) . toString ( 36 ) ; c [ Z ] = function ( d ) { c [ Z ] . data = d ; c [ Z ] . called = ! 0 } ; var p = m ( f . replace ( "JSON_CALLBACK" , "angular.callbacks." + Z ) , Z , function ( d , a ) { r ( l , d , c [ Z ] . data , "" , a ) ; c [ Z ] = q } ) } else { var aa = b ( g , f ) ; if ( aa . open ( g , f , ! 0 ) , a ( k , function ( d , a ) { F ( d ) && aa . setRequestHeader ( a ,
d ) } ) , aa . onload = function ( ) { var d = aa . statusText || "" , a = "response" in aa ? aa . response : aa . responseText , b = 1223 === aa . status ? 204 : aa . status ; 0 === b && ( b = a ? 200 : "file" == Nb ( f ) . protocol ? 404 : 0 ) ; r ( l , b , a , aa . getAllResponseHeaders ( ) , d ) } , g = function ( ) { r ( l , - 1 , null , null , "" ) } , aa . onerror = g , aa . onabort = g , v && ( aa . withCredentials = ! 0 ) , n ) try { aa . responseType = n } catch ( ob ) { if ( "json" !== n ) throw ob ; } aa . send ( A ( h ) ? null : h ) } if ( 0 < G ) var ka = e ( t , G ) ; else G && H ( G . then ) && G . then ( t ) } } function Id ( ) { 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 , e ) { function c ( d ) { return "\\\\\\" + d } function g ( c , g , G , v ) { function t ( d ) { try { var a = d ; d = G ? e . getTrusted ( G , a ) : e . valueOf ( a ) ; var b ; if ( v && ! F ( d ) ) b = d ; else if ( null == d ) b = "" ; else { switch ( typeof d ) { case "string" : break ; case "number" : d = "" + d ; break ; default : d = na ( d ) } b = d } return b } catch ( Q ) { m ( Yb . interr ( c , Q ) ) } } v = ! ! v ; for ( var q , r , Z = 0 , p = [ ] , aa = [ ] , ka = c . length , ta = [ ] , w = [ ] ; Z < ka ; ) { if ( - 1 == ( q = c . indexOf ( d , Z ) ) || - 1 ==
( r = c . indexOf ( a , q + f ) ) ) { Z !== ka && ta . push ( c . substring ( Z ) . replace ( l , d ) . replace ( k , a ) ) ; break } Z !== q && ta . push ( c . substring ( Z , q ) . replace ( l , d ) . replace ( k , a ) ) ; Z = c . substring ( q + f , r ) ; p . push ( Z ) ; aa . push ( b ( Z , t ) ) ; Z = r + h ; w . push ( ta . length ) ; ta . push ( "" ) } if ( G && 1 < ta . length && Yb . throwNoconcat ( c ) , ! g || p . length ) { var u = function ( d ) { for ( var a = 0 , b = p . length ; a < b ; a ++ ) { if ( v && A ( d [ a ] ) ) return ; ta [ w [ a ] ] = d [ a ] } return ta . join ( "" ) } ; return n ( function ( d ) { var a = 0 , b = p . length , e = Array ( b ) ; try { for ( ; a < b ; a ++ ) e [ a ] = aa [ a ] ( d ) ; return u ( e ) } catch ( Ba ) { m ( Yb . interr ( c ,
Ba ) ) } } , { exp : c , expressions : p , $$watchDelegate : function ( d , a ) { var x ; return d . $watchGroup ( aa , function ( b , E ) { var m = u ( b ) ; H ( a ) && a . call ( this , m , b !== E ? x : m , d ) ; x = m } ) } } ) } } var f = d . length , h = a . length , l = new RegExp ( d . replace ( /./g , c ) , "g" ) , k = new RegExp ( a . replace ( /./g , c ) , "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 , e ) { function m ( m , g , f , h ) { var l = 4 < arguments . length , k = l ? Bb . call ( arguments , 4 ) : [ ] , G = a . setInterval , v =
a . clearInterval , n = 0 , t = F ( h ) && ! h , q = ( t ? e : b ) . defer ( ) , r = q . promise ; return f = F ( f ) ? f : 0 , r . then ( null , null , l ? function ( ) { m . apply ( null , k ) } : m ) , r . $$intervalId = G ( function ( ) { q . notify ( n ++ ) ; 0 < f && n >= f && ( q . resolve ( n ) , v ( r . $$intervalId ) , delete c [ r . $$intervalId ] ) ; t || d . $apply ( ) } , g ) , c [ r . $$intervalId ] = q , r } var c = { } ; return m . cancel = function ( d ) { return ! ! ( d && d . $$intervalId in c ) && ( c [ d . $$intervalId ] . reject ( "canceled" ) , a . clearInterval ( d . $$intervalId ) , delete c [ d . $$intervalId ] , ! 0 ) } , m } ] } function od ( d ) { d = d . split ( "/" ) ; for ( var a = d . length ; a -- ; ) d [ a ] =
fa ( d [ a ] ) ; return d . join ( "/" ) } function Xd ( 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 Nc ( 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 = Ga ( m . search ) ; a . $$hash = decodeURIComponent ( m . hash ) ; a . $$path && "/" != a . $$path . charAt ( 0 ) && ( a . $$path = "/" + a . $$path ) } function ab ( d , a ) { if ( 0 === a . indexOf ( d ) ) return a . substr ( d . length ) } function Xb ( d ) { var a =
d . indexOf ( "#" ) ; return - 1 == a ? d : d . substr ( 0 , a ) } function Ob ( d ) { return d . replace ( /(#.+)|#$/ , "$1" ) } function Yd ( d , a , b ) { this . $$html5 = ! 0 ; b = b || "" ; Xd ( d , this ) ; this . $$parse = function ( d ) { var b = ab ( a , d ) ; if ( ! u ( b ) ) throw Gb ( "ipthprfx" , d , a ) ; Nc ( b , this ) ; this . $$path || ( this . $$path = "/" ) ; this . $$compose ( ) } ; this . $$compose = function ( ) { var d = xa ( this . $$search ) , b = this . $$hash ? "#" + fa ( this . $$hash ) : "" ; this . $$url = od ( this . $$path ) + ( d ? "?" + d : "" ) + b ; this . $$absUrl = a + this . $$url . substr ( 1 ) } ; this . $$parseLinkUrl = function ( m , e ) { if ( e && "#" === e [ 0 ] ) return this . hash ( e . slice ( 1 ) ) ,
! 0 ; var c , g ; return F ( c = ab ( d , m ) ) ? ( g = c , g = F ( c = ab ( b , c ) ) ? a + ( ab ( "/" , c ) || c ) : d + g ) : F ( c = ab ( a , m ) ) ? g = a + c : a == m + "/" && ( g = a ) , g && this . $$parse ( g ) , ! ! g } } function Zd ( d , a , b ) { Xd ( d , this ) ; this . $$parse = function ( m ) { var e , c = ab ( d , m ) || ab ( a , m ) ; A ( c ) || "#" !== c . charAt ( 0 ) ? this . $$html5 ? e = c : ( e = "" , A ( c ) && ( d = m , this . replace ( ) ) ) : ( e = ab ( b , c ) , A ( e ) && ( e = c ) ) ; Nc ( e , this ) ; m = this . $$path ; var c = d , g = /^\/[A-Z]:(\/.*)/ ; 0 === e . indexOf ( c ) && ( e = e . replace ( c , "" ) ) ; g . exec ( e ) || ( m = ( e = g . exec ( m ) ) ? e [ 1 ] : m ) ; this . $$path = m ; this . $$compose ( ) } ; this . $$compose = function ( ) { var a =
xa ( this . $$search ) , m = this . $$hash ? "#" + fa ( this . $$hash ) : "" ; this . $$url = od ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + ( this . $$url ? b + this . $$url : "" ) } ; this . $$parseLinkUrl = function ( a , b ) { return Xb ( d ) == Xb ( a ) && ( this . $$parse ( a ) , ! 0 ) } } function $d ( d , a , b ) { this . $$html5 = ! 0 ; Zd . apply ( this , arguments ) ; this . $$parseLinkUrl = function ( m , e ) { if ( e && "#" === e [ 0 ] ) return this . hash ( e . slice ( 1 ) ) , ! 0 ; var c , g ; return d == Xb ( m ) ? c = m : ( g = ab ( a , m ) ) ? c = d + b + g : a === m + "/" && ( c = a ) , c && this . $$parse ( c ) , ! ! c } ; this . $$compose = function ( ) { var a = xa ( this . $$search ) ,
m = this . $$hash ? "#" + fa ( this . $$hash ) : "" ; this . $$url = od ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + b + this . $$url } } function Oc ( d ) { return function ( ) { return this [ d ] } } function db ( d , a ) { return function ( b ) { return A ( 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 F ( a ) ? ( d = a , this ) : d } ; this . html5Mode = function ( d ) { return Y ( d ) ? ( a . enabled = d , this ) : p ( d ) ? ( Y ( d . enabled ) && ( a . enabled = d . enabled ) , Y ( d . requireBase ) && ( a . requireBase =
d . requireBase ) , Y ( d . rewriteLinks ) && ( a . rewriteLinks = d . rewriteLinks ) , this ) : a } ; this . $get = [ "$rootScope" , "$browser" , "$sniffer" , "$rootElement" , "$window" , function ( b , m , e , c , g ) { function f ( d , a , b ) { var e = l . url ( ) , c = l . $$state ; try { m . url ( d , a , b ) , l . $$state = m . state ( ) } catch ( Pd ) { throw l . url ( e ) , l . $$state = c , Pd ; } } function h ( d , a ) { b . $broadcast ( "$locationChangeSuccess" , l . absUrl ( ) , d , l . $$state , a ) } var l , k ; k = m . baseHref ( ) ; var v , G = m . url ( ) ; if ( a . enabled ) { if ( ! k && a . requireBase ) throw Gb ( "nobase" ) ; v = G . substring ( 0 , G . indexOf ( "/" , G . indexOf ( "//" ) +
2 ) ) + ( k || "/" ) ; k = e . history ? Yd : $d } else v = Xb ( G ) , k = Zd ; var n = v . substr ( 0 , Xb ( v ) . lastIndexOf ( "/" ) + 1 ) ; l = new k ( v , n , "#" + d ) ; l . $$parseLinkUrl ( G , G ) ; l . $$state = m . state ( ) ; var t = /^\s*(javascript|mailto):/i ; c . on ( "click" , function ( d ) { if ( a . rewriteLinks && ! d . ctrlKey && ! d . metaKey && ! d . shiftKey && 2 != d . which && 2 != d . button ) { for ( var e = ha ( d . target ) ; "a" !== ia ( e [ 0 ] ) ; ) if ( e [ 0 ] === c [ 0 ] || ! ( e = e . parent ( ) ) [ 0 ] ) return ; var f = e . prop ( "href" ) , h = e . attr ( "href" ) || e . attr ( "xlink:href" ) ; p ( f ) && "[object SVGAnimatedString]" === f . toString ( ) && ( f = Nb ( f . animVal ) . href ) ;
t . test ( f ) || ! f || e . attr ( "target" ) || d . isDefaultPrevented ( ) || ! l . $$parseLinkUrl ( f , h ) || ( d . preventDefault ( ) , l . absUrl ( ) != m . url ( ) && ( b . $apply ( ) , g . angular [ "ff-684208-preventDefault" ] = ! 0 ) ) } } ) ; Ob ( l . absUrl ( ) ) != Ob ( G ) && m . url ( l . absUrl ( ) , ! 0 ) ; var q = ! 0 ; return m . onUrlChange ( function ( d , a ) { A ( ab ( n , d ) ) ? g . location . href = d : ( b . $evalAsync ( function ( ) { var m , e = l . absUrl ( ) , c = l . $$state ; d = Ob ( d ) ; l . $$parse ( d ) ; l . $$state = a ; m = b . $broadcast ( "$locationChangeStart" , d , e , a , c ) . defaultPrevented ; l . absUrl ( ) === d && ( m ? ( l . $$parse ( e ) , l . $$state = c , f ( e , ! 1 ,
c ) ) : ( q = ! 1 , h ( e , c ) ) ) } ) , b . $$phase || b . $digest ( ) ) } ) , b . $watch ( function ( ) { var d = Ob ( m . url ( ) ) , a = Ob ( l . absUrl ( ) ) , c = m . state ( ) , g = l . $$replace , k = d !== a || l . $$html5 && e . history && c !== l . $$state ; ( q || k ) && ( q = ! 1 , b . $evalAsync ( function ( ) { var a = l . absUrl ( ) , m = b . $broadcast ( "$locationChangeStart" , a , d , l . $$state , c ) . defaultPrevented ; l . absUrl ( ) === a && ( m ? ( l . $$parse ( d ) , l . $$state = c ) : ( k && f ( a , g , c === l . $$state ? null : l . $$state ) , h ( d , c ) ) ) } ) ) ; l . $$replace = ! 1 } ) , l } ] } function Jb ( ) { var d = ! 0 , b = this ; this . debugEnabled = function ( a ) { return F ( a ) ? ( d = a , this ) :
d } ; this . $get = [ "$window" , function ( m ) { function e ( 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 c ( d ) { var b = m . console || { } , c = b [ d ] || b . log || q ; d = ! 1 ; try { d = ! ! c . apply } catch ( Pb ) { } return d ? function ( ) { var d = [ ] ; return a ( arguments , function ( a ) { d . push ( e ( a ) ) } ) , c . apply ( b , d ) } : function ( d , a ) { c ( d , null == a ? "" : a ) } } return { log : c ( "log" ) , info : c ( "info" ) , warn : c ( "warn" ) , error : c ( "error" ) ,
debug : function ( ) { var a = c ( "debug" ) ; return function ( ) { d && a . apply ( b , arguments ) } } ( ) } } ] } function Zb ( d , a ) { if ( "__defineGetter__" === d || "__defineSetter__" === d || "__lookupGetter__" === d || "__lookupSetter__" === d || "__proto__" === d ) throw bb ( "isecfld" , a ) ; return d } function pd ( d , a ) { if ( d += "" , ! u ( d ) ) throw bb ( "iseccst" , a ) ; return d } function gb ( d , a ) { if ( d ) { if ( d . constructor === d ) throw bb ( "isecfn" , a ) ; if ( d . window === d ) throw bb ( "isecwindow" , a ) ; if ( d . children && ( d . nodeName || d . prop && d . attr && d . find ) ) throw bb ( "isecdom" , a ) ; if ( d === Object ) throw bb ( "isecobj" ,
a ) ; } return d } function Pc ( d , a ) { if ( d ) { if ( d . constructor === d ) throw bb ( "isecfn" , a ) ; if ( d === qb || d === mf || d === ae ) throw bb ( "isecff" , a ) ; } } function Qc ( d , a ) { if ( d && ( d === ( 0 ) . constructor || d === ( ! 1 ) . constructor || d === "" . constructor || d === { } . constructor || d === [ ] . constructor || d === Function . constructor ) ) throw bb ( "isecaf" , a ) ; } function be ( d , a ) { return "undefined" != typeof d ? d : a } function rc ( d , a ) { return "undefined" == typeof d ? a : "undefined" == typeof a ? d : d + a } function Va ( d , b ) { var e , c ; switch ( d . type ) { case R . Program : e = ! 0 ; a ( d . body , function ( d ) { Va ( d . expression ,
b ) ; e = e && d . expression . constant } ) ; d . constant = e ; break ; case R . Literal : d . constant = ! 0 ; d . toWatch = [ ] ; break ; case R . UnaryExpression : Va ( d . argument , b ) ; d . constant = d . argument . constant ; d . toWatch = d . argument . toWatch ; break ; case R . BinaryExpression : Va ( d . left , b ) ; Va ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . left . toWatch . concat ( d . right . toWatch ) ; break ; case R . LogicalExpression : Va ( d . left , b ) ; Va ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case R . ConditionalExpression : Va ( d . test ,
b ) ; Va ( d . alternate , b ) ; Va ( d . consequent , b ) ; d . constant = d . test . constant && d . alternate . constant && d . consequent . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case R . Identifier : d . constant = ! 1 ; d . toWatch = [ d ] ; break ; case R . MemberExpression : Va ( d . object , b ) ; d . computed && Va ( d . property , b ) ; d . constant = d . object . constant && ( ! d . computed || d . property . constant ) ; d . toWatch = [ d ] ; break ; case R . CallExpression : e = ! ! d . filter && ! b ( d . callee . name ) . $stateful ; c = [ ] ; a ( d . arguments , function ( d ) { Va ( d , b ) ; e = e && d . constant ; d . constant || c . push . apply ( c , d . toWatch ) } ) ;
d . constant = e ; d . toWatch = d . filter && ! b ( d . callee . name ) . $stateful ? c : [ d ] ; break ; case R . AssignmentExpression : Va ( d . left , b ) ; Va ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = [ d ] ; break ; case R . ArrayExpression : e = ! 0 ; c = [ ] ; a ( d . elements , function ( d ) { Va ( d , b ) ; e = e && d . constant ; d . constant || c . push . apply ( c , d . toWatch ) } ) ; d . constant = e ; d . toWatch = c ; break ; case R . ObjectExpression : e = ! 0 ; c = [ ] ; a ( d . properties , function ( d ) { Va ( d . value , b ) ; e = e && d . value . constant ; d . value . constant || c . push . apply ( c , d . value . toWatch ) } ) ; d . constant =
e ; d . toWatch = c ; break ; case R . ThisExpression : d . constant = ! 1 , d . toWatch = [ ] } } function ce ( d ) { if ( 1 == d . length ) { d = d [ 0 ] . expression ; var a = d . toWatch ; return 1 !== a . length ? a : a [ 0 ] !== d ? a : h } } function qd ( d ) { return d . type === R . Identifier || d . type === R . MemberExpression } function nf ( d ) { if ( 1 === d . body . length && qd ( d . body [ 0 ] . expression ) ) return { type : R . AssignmentExpression , left : d . body [ 0 ] . expression , right : { type : R . NGValueParameter } , operator : "=" } } function de ( d ) { return 0 === d . body . length || 1 === d . body . length && ( d . body [ 0 ] . expression . type ===
R . Literal || d . body [ 0 ] . expression . type === R . ArrayExpression || d . body [ 0 ] . expression . type === R . ObjectExpression ) } function rd ( d , a ) { this . astBuilder = d ; this . $filter = a } function of ( d , a ) { this . astBuilder = d ; this . $filter = a } function hb ( d ) { return H ( d . valueOf ) ? d . valueOf ( ) : Kg . call ( d ) } function Eg ( ) { var d = Na ( ) , b = Na ( ) ; this . $get = [ "$filter" , function ( e ) { function c ( a , c , g ) { var h , G , t ; switch ( g = g || Z , typeof a ) { case "string" : t = a = a . trim ( ) ; var aa = g ? b : d ; if ( h = aa [ t ] , ! h ) { ":" === a . charAt ( 0 ) && ":" === a . charAt ( 1 ) && ( G = ! 0 , a = a . substring ( 2 ) ) ; h = g ?
p : r ; var w = new Ra ( h ) ; h = ( new eb ( w , e , h ) ) . parse ( a ) ; h . constant ? h . $$watchDelegate = v : G ? h . $$watchDelegate = h . literal ? k : l : h . inputs && ( h . $$watchDelegate = f ) ; g && ( h = m ( h ) ) ; aa [ t ] = h } return n ( h , c ) ; case "function" : return n ( a , c ) ; default : return n ( q , c ) } } function m ( d ) { function a ( a , b , e , c ) { var m = Z ; Z = ! 0 ; try { return d ( a , b , e , c ) } finally { Z = m } } if ( ! d ) return d ; a . $$watchDelegate = d . $$watchDelegate ; a . assign = m ( d . assign ) ; a . constant = d . constant ; a . literal = d . literal ; for ( var b = 0 ; d . inputs && b < d . inputs . length ; ++ b ) d . inputs [ b ] = m ( d . inputs [ b ] ) ; return a . inputs =
d . inputs , a } function g ( d , a ) { return null == d || null == a ? d === a : ( "object" != typeof d || ( d = hb ( d ) , "object" != typeof d ) ) && ( d === a || d !== d && a !== a ) } function f ( d , a , b , e , c ) { var m , f = e . inputs ; if ( 1 === f . length ) { var l = g , f = f [ 0 ] ; return d . $watch ( function ( d ) { var a = f ( d ) ; return g ( a , l ) || ( m = e ( d , h , h , [ a ] ) , l = a && hb ( a ) ) , m } , a , b , c ) } for ( var k = [ ] , v = [ ] , G = 0 , x = f . length ; G < x ; G ++ ) k [ G ] = g , v [ G ] = null ; return d . $watch ( function ( d ) { for ( var a = ! 1 , b = 0 , x = f . length ; b < x ; b ++ ) { var E = f [ b ] ( d ) ; ( a || ( a = ! g ( E , k [ b ] ) ) ) && ( v [ b ] = E , k [ b ] = E && hb ( E ) ) } return a && ( m = e ( d , h , h , v ) ) , m } ,
a , b , c ) } function l ( d , a , b , e ) { var c , m ; return c = d . $watch ( function ( d ) { return e ( d ) } , function ( d , b , e ) { m = d ; H ( a ) && a . apply ( this , arguments ) ; F ( d ) && e . $$postDigest ( function ( ) { F ( m ) && c ( ) } ) } , b ) } function k ( d , b , e , c ) { function m ( d ) { var b = ! 0 ; return a ( d , function ( d ) { F ( d ) || ( b = ! 1 ) } ) , b } var g , f ; return g = d . $watch ( function ( d ) { return c ( d ) } , function ( d , a , e ) { f = d ; H ( b ) && b . call ( this , d , a , e ) ; m ( d ) && e . $$postDigest ( function ( ) { m ( f ) && g ( ) } ) } , e ) } function v ( d , a , b , e ) { var c ; return c = d . $watch ( function ( d ) { return e ( d ) } , function ( d , b , e ) { H ( a ) && a . apply ( this ,
arguments ) ; c ( ) } , b ) } function n ( d , a ) { if ( ! a ) return d ; var b = d . $$watchDelegate , e = ! 1 , b = b !== k && b !== l ? function ( b , c , m , g ) { return m = e && g ? g [ 0 ] : d ( b , c , m , g ) , a ( m , b , c ) } : function ( b , e , c , m ) { return c = d ( b , e , c , m ) , b = a ( c , b , e ) , F ( c ) ? b : c } ; return d . $$watchDelegate && d . $$watchDelegate !== f ? b . $$watchDelegate = d . $$watchDelegate : a . $stateful || ( b . $$watchDelegate = f , e = ! d . inputs , b . inputs = d . inputs ? d . inputs : [ d ] ) , b } var t = Tb ( ) . noUnsafeEval , r = { csp : t , expensiveChecks : ! 1 } , p = { csp : t , expensiveChecks : ! 0 } , Z = ! 1 ; return c . $$runningExpensiveChecks = function ( ) { return Z } ,
c } ] } 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 e ( d , a , b ) { function e ( a ) { return function ( b ) { c || ( c = ! 0 , a . call ( d , b ) ) } } var c = ! 1 ; return [ e ( a ) , e ( b ) ] } function c ( ) { this . $$state = { status : 0 } } function m ( d , a ) { return function ( b ) { a . call ( d , b ) } } function g ( a ) { ! a . processScheduled && a . pending && ( a . processScheduled = ! 0 ,
d ( function ( ) { var d , e , c ; c = a . pending ; a . processScheduled = ! 1 ; a . pending = h ; for ( var m = 0 , g = c . length ; m < g ; ++ m ) { e = c [ m ] [ 0 ] ; d = c [ m ] [ a . status ] ; try { H ( d ) ? e . resolve ( d ( a . value ) ) : 1 === a . status ? e . resolve ( a . value ) : e . reject ( a . value ) } catch ( Ac ) { e . reject ( Ac ) , b ( Ac ) } } } ) ) } function f ( ) { this . promise = new c ; this . resolve = m ( this , this . resolve ) ; this . reject = m ( this , this . reject ) ; this . notify = m ( this , this . notify ) } var l = k ( "$q" , TypeError ) ; n ( c . prototype , { then : function ( d , a , b ) { if ( A ( d ) && A ( a ) && A ( b ) ) return this ; var e = new f ; return this . $$state . pending =
this . $$state . pending || [ ] , this . $$state . pending . push ( [ e , d , a , b ] ) , 0 < this . $$state . status && g ( this . $$state ) , e . 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 ( f . prototype , { resolve : function ( d ) { this . promise . $$state . status || ( d === this . promise ? this . $$reject ( l ( "qcycle" , d ) ) : this . $$resolve ( d ) ) } , $$resolve : function ( d ) { var a , c ; c = e ( this , this . $$resolve , this . $$reject ) ; try { ( p ( d ) || H ( d ) ) && ( a = d && d . then ) , H ( a ) ?
( this . promise . $$state . status = - 1 , a . call ( d , c [ 0 ] , c [ 1 ] , this . notify ) ) : ( this . promise . $$state . value = d , this . promise . $$state . status = 1 , g ( this . promise . $$state ) ) } catch ( yc ) { c [ 1 ] ( yc ) , b ( yc ) } } , 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 e = this . promise . $$state . pending ; 0 >= this . promise . $$state . status && e && e . length && d ( function ( ) { for ( var d , c , m = 0 , g = e . length ; m < g ; m ++ ) { c = e [ m ] [ 0 ] ;
d = e [ m ] [ 3 ] ; try { c . notify ( H ( d ) ? d ( a ) : a ) } catch ( Ac ) { b ( Ac ) } } } ) } } ) ; var v = function ( d , a ) { var b = new f ; return a ? b . resolve ( d ) : b . reject ( d ) , b . promise } , t = function ( d , a , b ) { var e = null ; try { H ( b ) && ( e = b ( ) ) } catch ( zc ) { return v ( zc , ! 1 ) } return e && H ( e . then ) ? e . then ( function ( ) { return v ( d , a ) } , function ( d ) { return v ( d , ! 1 ) } ) : v ( d , a ) } , q = function ( d , a , b , e ) { var c = new f ; return c . resolve ( d ) , c . promise . then ( a , b , e ) } , r = function ad ( d ) { if ( ! H ( d ) ) throw l ( "norslvr" , d ) ; if ( ! ( this instanceof ad ) ) return new ad ( d ) ; var a = new f ; return d ( function ( d ) { a . resolve ( d ) } ,
function ( d ) { a . reject ( d ) } ) , a . promise } ; return r . defer = function ( ) { return new f } , r . reject = function ( d ) { var a = new f ; return a . reject ( d ) , a . promise } , r . when = q , r . resolve = q , r . all = function ( d ) { var b = new f , e = 0 , c = ma ( d ) ? [ ] : { } ; return a ( d , function ( d , a ) { e ++ ; q ( d ) . then ( function ( d ) { c . hasOwnProperty ( a ) || ( c [ a ] = d , -- e || b . resolve ( c ) ) } , function ( d ) { c . hasOwnProperty ( a ) || b . reject ( d ) } ) } ) , 0 === e && b . resolve ( c ) , b . promise } , r } function Kd ( ) { this . $get = [ "$window" , "$timeout" , function ( d , a ) { var b = d . requestAnimationFrame || d . webkitRequestAnimationFrame ,
e = d . cancelAnimationFrame || d . webkitCancelAnimationFrame || d . webkitCancelRequestAnimationFrame , c = ! ! b , m = c ? function ( d ) { var a = b ( d ) ; return function ( ) { e ( a ) } } : function ( d ) { var b = a ( d , 16.66 , ! 1 ) ; return function ( ) { a . cancel ( b ) } } ; return m . supported = c , m } ] } function Jd ( ) { function d ( d ) { function a ( ) { this . $$watchers = this . $$nextSibling = this . $$childHead = this . $$childTail = null ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $$watchersCount = 0 ; this . $id = ++ wc ; this . $$ChildScope = null } return a . prototype = d , a } var b = 10 , c = k ( "$rootScope" ) ,
g = null , f = null ; this . digestTtl = function ( d ) { return arguments . length && ( b = d ) , b } ; this . $get = [ "$injector" , "$exceptionHandler" , "$parse" , "$browser" , function ( m , l , h , k ) { function v ( d ) { d . currentScope . $$destroyed = ! 0 } function G ( d ) { 9 === jc && ( d . $$childHead && G ( d . $$childHead ) , d . $$nextSibling && G ( d . $$nextSibling ) ) ; d . $parent = d . $$nextSibling = d . $$prevSibling = d . $$childHead = d . $$childTail = d . $root = d . $$watchers = null } function n ( ) { this . $id = ++ wc ; 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 ( u . $$phase ) throw c ( "inprog" , u . $$phase ) ; u . $$phase = d } function r ( d , a ) { do d . $$watchersCount += a ; while ( d = d . $parent ) } function Z ( d , a , b ) { do d . $$listenerCount [ b ] -= a , 0 === d . $$listenerCount [ b ] && delete d . $$listenerCount [ b ] ; while ( d = d . $parent ) } function w ( ) { } function aa ( ) { for ( ; y . length ; ) try { y . shift ( ) ( ) } catch ( Qd ) { l ( Qd ) } f = null } function ka ( ) { null === f &&
( f = k . defer ( function ( ) { u . $apply ( aa ) } ) ) } n . prototype = { constructor : n , $new : function ( a , b ) { var e ; return b = b || this , a ? ( e = new n , e . $root = this . $root ) : ( this . $$ChildScope || ( this . $$ChildScope = d ( this ) ) , e = new this . $$ChildScope ) , e . $parent = b , e . $$prevSibling = b . $$childTail , b . $$childHead ? ( b . $$childTail . $$nextSibling = e , b . $$childTail = e ) : b . $$childHead = b . $$childTail = e , ( a || b != this ) && e . $on ( "$destroy" , v ) , e } , $watch : function ( d , a , b , e ) { var x = h ( d ) ; if ( x . $$watchDelegate ) return x . $$watchDelegate ( this , a , b , x , d ) ; var E = this , c = E . $$watchers ,
m = { fn : a , last : w , get : x , exp : e || d , eq : ! ! b } ; return g = null , H ( a ) || ( m . fn = q ) , c || ( c = E . $$watchers = [ ] ) , c . unshift ( m ) , r ( this , 1 ) , function ( ) { 0 <= ua ( c , m ) && r ( E , - 1 ) ; g = null } } , $watchGroup : function ( d , b ) { function e ( ) { g = ! 1 ; f ? ( f = ! 1 , b ( x , x , m ) ) : b ( x , c , m ) } var c = Array ( d . length ) , x = Array ( d . length ) , E = [ ] , m = this , g = ! 1 , f = ! 0 ; if ( ! d . length ) { var l = ! 0 ; return m . $evalAsync ( function ( ) { l && b ( x , x , m ) } ) , function ( ) { l = ! 1 } } return 1 === d . length ? this . $watch ( d [ 0 ] , function ( d , a , e ) { x [ 0 ] = d ; c [ 0 ] = a ; b ( x , d === a ? x : c , e ) } ) : ( a ( d , function ( d , a ) { var b = m . $watch ( d , function ( d ,
b ) { x [ a ] = d ; c [ a ] = b ; g || ( g = ! 0 , m . $evalAsync ( e ) ) } ) ; E . push ( b ) } ) , function ( ) { for ( ; E . length ; ) E . shift ( ) ( ) } ) } , $watchCollection : function ( d , a ) { function b ( d ) { c = d ; var a , b , E , m ; if ( ! A ( c ) ) { if ( p ( c ) ) if ( e ( c ) ) for ( x !== k && ( x = k , n = x . length = 0 , f ++ ) , d = c . length , n !== d && ( f ++ , x . length = n = d ) , a = 0 ; a < d ; a ++ ) m = x [ a ] , E = c [ a ] , ( b = m !== m && E !== E ) || m === E || ( f ++ , x [ a ] = E ) ; else { x !== v && ( x = v = { } , n = 0 , f ++ ) ; d = 0 ; for ( a in c ) rb . call ( c , a ) && ( d ++ , E = c [ a ] , m = x [ a ] , a in x ? ( b = m !== m && E !== E , b || m === E || ( f ++ , x [ a ] = E ) ) : ( n ++ , x [ a ] = E , f ++ ) ) ; if ( n > d ) for ( a in f ++ , x ) rb . call ( c , a ) || ( n -- ,
delete x [ a ] ) } else x !== c && ( x = c , f ++ ) ; return f } } b . $stateful = ! 0 ; var c , x , E , m = this , g = 1 < a . length , f = 0 , l = h ( d , b ) , k = [ ] , v = { } , G = ! 0 , n = 0 ; return this . $watch ( l , function ( ) { if ( G ? ( G = ! 1 , a ( c , c , m ) ) : a ( c , E , m ) , g ) if ( p ( c ) ) if ( e ( c ) ) { E = Array ( c . length ) ; for ( var d = 0 ; d < c . length ; d ++ ) E [ d ] = c [ d ] } else for ( d in E = { } , c ) rb . call ( c , d ) && ( E [ d ] = c [ d ] ) ; else E = c } ) } , $digest : function ( ) { var d , a , e , m , x , E , Q , h , v , G , n , q = b , r = [ ] ; t ( "$digest" ) ; k . $$checkUrlChange ( ) ; this === u && null !== f && ( k . defer . cancel ( f ) , aa ( ) ) ; g = null ; do { h = ! 1 ; for ( v = this ; ta . length ; ) { try { n = ta . shift ( ) ,
n . scope . $eval ( n . expression , n . locals ) } catch ( Td ) { l ( Td ) } g = null } a : do { if ( E = v . $$watchers ) for ( Q = E . length ; Q -- ; ) try { if ( d = E [ Q ] ) if ( x = d . get , ( a = x ( v ) ) === ( e = d . last ) || ( d . eq ? X ( a , e ) : "number" == typeof a && "number" == typeof e && isNaN ( a ) && isNaN ( e ) ) ) { if ( d === g ) { h = ! 1 ; break a } } else h = ! 0 , g = d , d . last = d . eq ? B ( a , null ) : a , m = d . fn , m ( a , e === w ? a : e , v ) , 5 > q && ( G = 4 - q , r [ G ] || ( r [ G ] = [ ] ) , r [ G ] . push ( { msg : H ( d . exp ) ? "fn: " + ( d . exp . name || d . exp . toString ( ) ) : d . exp , newVal : a , oldVal : e } ) ) } catch ( Td ) { l ( Td ) } if ( ! ( E = v . $$watchersCount && v . $$childHead || v !== this && v . $$nextSibling ) ) for ( ; v !==
this && ! ( E = v . $$nextSibling ) ; ) v = v . $parent } while ( v = E ) ; if ( ( h || ta . length ) && ! q -- ) throw u . $$phase = null , c ( "infdig" , b , r ) ; } while ( h || ta . length ) ; for ( u . $$phase = null ; z . length ; ) try { z . shift ( ) ( ) } catch ( Td ) { l ( Td ) } } , $destroy : function ( ) { if ( ! this . $$destroyed ) { var d = this . $parent ; this . $broadcast ( "$destroy" ) ; this . $$destroyed = ! 0 ; this === u && k . $$applicationDestroyed ( ) ; r ( this , - this . $$watchersCount ) ; for ( var a in this . $$listenerCount ) Z ( 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 = q ; this . $on = this . $watch = this . $watchGroup = function ( ) { return q } ; this . $$listeners = { } ; this . $$nextSibling = null ; G ( this ) } } , $eval : function ( d , a ) { return h ( d ) ( this , a ) } , $evalAsync : function ( d , a ) { u . $$phase || ta . length || k . defer ( function ( ) { ta . length &&
u . $digest ( ) } ) ; ta . push ( { scope : this , expression : h ( d ) , locals : a } ) } , $$postDigest : function ( d ) { z . push ( d ) } , $apply : function ( d ) { try { t ( "$apply" ) ; try { return this . $eval ( d ) } finally { u . $$phase = null } } catch ( md ) { l ( md ) } finally { try { u . $digest ( ) } catch ( md ) { throw l ( md ) , md ; } } } , $applyAsync : function ( d ) { function a ( ) { b . $eval ( d ) } var b = this ; d && y . push ( a ) ; d = h ( d ) ; ka ( ) } , $on : function ( d , a ) { var b = this . $$listeners [ d ] ; b || ( this . $$listeners [ d ] = b = [ ] ) ; b . push ( a ) ; var e = this ; do e . $$listenerCount [ d ] || ( e . $$listenerCount [ d ] = 0 ) , e . $$listenerCount [ d ] ++ ;
while ( e = e . $parent ) ; var x = this ; return function ( ) { var e = b . indexOf ( a ) ; - 1 !== e && ( b [ e ] = null , Z ( x , 1 , d ) ) } } , $emit : function ( d , a ) { var b , e , x , c = [ ] , m = this , g = ! 1 , f = { name : d , targetScope : m , stopPropagation : function ( ) { g = ! 0 } , preventDefault : function ( ) { f . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } , h = L ( [ f ] , arguments , 1 ) ; do { b = m . $$listeners [ d ] || c ; f . currentScope = m ; e = 0 ; for ( x = b . length ; e < x ; e ++ ) if ( b [ e ] ) try { b [ e ] . apply ( null , h ) } catch ( Ig ) { l ( Ig ) } else b . splice ( e , 1 ) , e -- , x -- ; if ( g ) break ; m = m . $parent } while ( m ) ; return f . currentScope = null , f } , $broadcast : function ( d ,
a ) { var b = this , e = this , x = { name : d , targetScope : this , preventDefault : function ( ) { x . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } ; if ( ! this . $$listenerCount [ d ] ) return x ; for ( var c , m , g = L ( [ x ] , arguments , 1 ) ; b = e ; ) { x . currentScope = b ; e = b . $$listeners [ d ] || [ ] ; c = 0 ; for ( m = e . length ; c < m ; c ++ ) if ( e [ c ] ) try { e [ c ] . apply ( null , g ) } catch ( yb ) { l ( yb ) } else e . splice ( c , 1 ) , c -- , m -- ; if ( ! ( e = b . $$listenerCount [ d ] && b . $$childHead || b !== this && b . $$nextSibling ) ) for ( ; b !== this && ! ( e = b . $$nextSibling ) ; ) b = b . $parent } return x . currentScope = null , x } } ; var u = new n , ta =
u . $$asyncQueue = [ ] , z = u . $$postDigestQueue = [ ] , y = u . $$applyAsyncQueue = [ ] ; return u } ] } function bd ( ) { var d = /^\s*(https?|ftp|mailto|tel|file):/ , a = /^\s*((https?|ftp|file|blob):|data:image\/)/ ; this . aHrefSanitizationWhitelist = function ( a ) { return F ( a ) ? ( d = a , this ) : d } ; this . imgSrcSanitizationWhitelist = function ( d ) { return F ( d ) ? ( a = d , this ) : a } ; this . $get = function ( ) { return function ( b , e ) { var c , m = e ? a : d ; return c = Nb ( b ) . href , "" === c || c . match ( m ) ? b : "unsafe:" + c } } } function qf ( d ) { if ( "self" === d ) return d ; if ( u ( d ) ) { if ( - 1 < d . indexOf ( "***" ) ) throw $b ( "iwcard" ,
d ) ; return d = sc ( d ) . replace ( "\\*\\*" , ".*" ) . replace ( "\\*" , "[^:/.?&;]*" ) , new RegExp ( "^" + d + "$" ) } if ( I ( d ) ) return new RegExp ( "^" + d . source + "$" ) ; throw $b ( "imatcher" ) ; } function sd ( d ) { var b = [ ] ; return F ( 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 = sd ( a ) ) , d } ; this . resourceUrlBlacklist = function ( d ) { return arguments . length && ( a = sd ( d ) ) , a } ; this . $get = [ "$injector" , function ( b ) { function e ( d , a ) { return "self" ===
d ? Wd ( a ) : ! ! d . exec ( a . href ) } function c ( 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 m = function ( d ) { throw $b ( "unsafe" ) ; } ; b . has ( "$sanitize" ) && ( m = b . get ( "$sanitize" ) ) ; var g = c ( ) , f = { } ; return f [ zb . HTML ] = c ( g ) , f [ zb . CSS ] = c ( g ) , f [ zb . URL ] = c ( g ) , f [ zb . JS ] = c ( g ) , f [ zb . RESOURCE _URL ] = c ( f [ zb . URL ] ) , { trustAs : function ( d , a ) { var b =
f . hasOwnProperty ( d ) ? f [ d ] : null ; if ( ! b ) throw $b ( "icontext" , d , a ) ; if ( null === a || A ( a ) || "" === a ) return a ; if ( "string" != typeof a ) throw $b ( "itype" , d ) ; return new b ( a ) } , getTrusted : function ( b , c ) { if ( null === c || A ( c ) || "" === c ) return c ; var g = f . hasOwnProperty ( b ) ? f [ b ] : null ; if ( g && c instanceof g ) return c . $$unwrapTrustedValue ( ) ; if ( b === zb . RESOURCE _URL ) { var l , h , g = Nb ( c . toString ( ) ) , k = ! 1 ; l = 0 ; for ( h = d . length ; l < h ; l ++ ) if ( e ( d [ l ] , g ) ) { k = ! 0 ; break } if ( k ) for ( l = 0 , h = a . length ; l < h ; l ++ ) if ( e ( a [ l ] , g ) ) { k = ! 1 ; break } if ( k ) return c ; throw $b ( "insecurl" ,
c . toString ( ) ) ; } if ( b === zb . HTML ) return m ( c ) ; throw $b ( "unsafe" ) ; } , valueOf : function ( d ) { return d instanceof g ? d . $$unwrapTrustedValue ( ) : d } } } ] } function lb ( ) { var d = ! 0 ; this . enabled = function ( a ) { return arguments . length && ( d = ! ! a ) , d } ; this . $get = [ "$parse" , "$sceDelegate" , function ( b , e ) { if ( d && 8 > jc ) throw $b ( "iequirks" ) ; var c = U ( zb ) ; c . isEnabled = function ( ) { return d } ; c . trustAs = e . trustAs ; c . getTrusted = e . getTrusted ; c . valueOf = e . valueOf ; d || ( c . trustAs = c . getTrusted = function ( d , a ) { return a } , c . valueOf = z ) ; c . parseAs = function ( d , a ) { var e =
b ( a ) ; return e . literal && e . constant ? e : b ( a , function ( a ) { return c . getTrusted ( d , a ) } ) } ; var m = c . parseAs , g = c . getTrusted , f = c . trustAs ; return a ( zb , function ( d , a ) { var b = wa ( a ) ; c [ pc ( "parse_as_" + b ) ] = function ( a ) { return m ( d , a ) } ; c [ pc ( "get_trusted_" + b ) ] = function ( a ) { return g ( d , a ) } ; c [ pc ( "trust_as_" + b ) ] = function ( a ) { return f ( d , a ) } } ) , c } ] } function Te ( ) { this . $get = [ "$window" , "$document" , function ( d , a ) { var b , c = { } , e = parseInt ( ( /android (\d+)/ . exec ( wa ( ( d . navigator || { } ) . userAgent ) ) || [ ] ) [ 1 ] , 10 ) , m = /Boxee/i . test ( ( d . navigator || { } ) . userAgent ) ,
g = a [ 0 ] || { } , f = /^(Moz|webkit|ms)(?=[A-Z])/ , l = g . body && g . body . style , h = ! 1 , k = ! 1 ; if ( l ) { for ( var v in l ) if ( h = f . exec ( v ) ) { b = h [ 0 ] ; b = b . substr ( 0 , 1 ) . toUpperCase ( ) + b . substr ( 1 ) ; break } b || ( b = "WebkitOpacity" in l && "webkit" ) ; h = ! ! ( "transition" in l || b + "Transition" in l ) ; k = ! ! ( "animation" in l || b + "Animation" in l ) ; ! e || h && k || ( h = u ( l . webkitTransition ) , k = u ( l . webkitAnimation ) ) } return { history : ! ( ! d . history || ! d . history . pushState || 4 > e || m ) , hasEvent : function ( d ) { if ( "input" === d && 11 >= jc ) return ! 1 ; if ( A ( c [ d ] ) ) { var a = g . createElement ( "div" ) ; c [ d ] =
"on" + d in a } return c [ d ] } , csp : Tb ( ) , vendorPrefix : b , transitions : h , animations : k , android : e } } ] } function Ue ( ) { this . $get = [ "$templateCache" , "$http" , "$q" , "$sce" , function ( d , a , b , c ) { function e ( m , g ) { e . totalPendingRequests ++ ; u ( m ) && ! A ( d . get ( m ) ) || ( m = c . getTrustedResourceUrl ( m ) ) ; var f = a . defaults && a . defaults . transformResponse ; return ma ( f ) ? f = f . filter ( function ( d ) { return d !== mb } ) : f === mb && ( f = null ) , a . get ( m , { cache : d , transformResponse : f } ) [ "finally" ] ( function ( ) { e . totalPendingRequests -- } ) . then ( function ( a ) { return d . put ( m , a . data ) ,
a . data } , function ( d ) { if ( ! g ) throw $a ( "tpload" , m , d . status , d . statusText ) ; return b . reject ( d ) } ) } return e . totalPendingRequests = 0 , e } ] } function Ve ( ) { this . $get = [ "$rootScope" , "$browser" , "$location" , function ( d , b , c ) { return { findBindings : function ( d , b , c ) { d = d . getElementsByClassName ( "ng-binding" ) ; var e = [ ] ; return a ( d , function ( d ) { var m = Oa . element ( d ) . data ( "$binding" ) ; m && a ( m , function ( a ) { c ? ( new RegExp ( "(^|\\s)" + sc ( b ) + "(\\s|\\||$)" ) ) . test ( a ) && e . push ( d ) : - 1 != a . indexOf ( b ) && e . push ( d ) } ) } ) , e } , findModels : function ( d , a , b ) { for ( var c =
[ "ng-" , "data-ng-" , "ng\\:" ] , e = 0 ; e < c . length ; ++ e ) { var m = d . querySelectorAll ( "[" + c [ e ] + "model" + ( b ? "=" : "*=" ) + '"' + a + '"]' ) ; if ( m . length ) return m } } , getLocation : function ( ) { return c . url ( ) } , setLocation : function ( a ) { a !== c . url ( ) && ( c . url ( a ) , d . $digest ( ) ) } , whenStable : function ( d ) { b . notifyWhenNoOutstandingRequests ( d ) } } } ] } function gd ( ) { this . $get = [ "$rootScope" , "$browser" , "$q" , "$$q" , "$exceptionHandler" , function ( d , a , b , c , e ) { function m ( m , f , l ) { H ( m ) || ( l = f , f = m , m = q ) ; var h , k = Bb . call ( arguments , 3 ) , v = F ( l ) && ! l , n = ( v ? c : b ) . defer ( ) , t = n . promise ;
return h = a . defer ( function ( ) { try { n . resolve ( m . apply ( null , k ) ) } catch ( yc ) { n . reject ( yc ) , e ( yc ) } finally { delete g [ t . $$timeoutId ] } v || d . $apply ( ) } , f ) , 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 jc && ( Sa . setAttribute ( "href" , d ) , d = Sa . href ) , Sa . setAttribute ( "href" , d ) , { href : Sa . href , protocol : Sa . protocol ? Sa . protocol . replace ( /:$/ , "" ) : "" , host : Sa . host , search : Sa . search ?
Sa . search . replace ( /^\?/ , "" ) : "" , hash : Sa . hash ? Sa . hash . replace ( /^#/ , "" ) : "" , hostname : Sa . hostname , port : Sa . port , pathname : "/" === Sa . pathname . charAt ( 0 ) ? Sa . pathname : "/" + Sa . pathname } } function Wd ( d ) { return d = u ( d ) ? Nb ( d ) : d , d . protocol === rf . protocol && d . host === rf . host } function We ( ) { this . $get = y ( b ) } function sf ( d ) { function a ( d ) { try { return decodeURIComponent ( d ) } catch ( ta ) { return d } } var b = d [ 0 ] || { } , c = { } , e = "" ; return function ( ) { var d , m , g , f , l ; if ( d = b . cookie || "" , d !== e ) for ( e = d , d = e . split ( "; " ) , c = { } , g = 0 ; g < d . length ; g ++ ) m = d [ g ] , f =
m . indexOf ( "=" ) , 0 < f && ( l = a ( m . substring ( 0 , f ) ) , A ( c [ l ] ) && ( c [ l ] = a ( m . substring ( f + 1 ) ) ) ) ; return c } } function hd ( ) { this . $get = sf } function Ec ( d ) { function b ( c , e ) { if ( p ( c ) ) { var m = { } ; return a ( c , function ( d , a ) { m [ a ] = b ( a , d ) } ) , m } return d . factory ( c + "Filter" , e ) } this . register = b ; this . $get = [ "$injector" , function ( d ) { return function ( a ) { return d . get ( a + "Filter" ) } } ] ; b ( "currency" , ee ) ; b ( "date" , fe ) ; b ( "filter" , tf ) ; b ( "json" , Lg ) ; b ( "limitTo" , ge ) ; b ( "lowercase" , uf ) ; b ( "number" , he ) ; b ( "orderBy" , ie ) ; b ( "uppercase" , td ) } function tf ( ) { return function ( d ,
a , b ) { if ( ! e ( d ) ) { if ( null == d ) return d ; throw k ( "filter" ) ( "notarray" , d ) ; } var c ; switch ( ud ( a ) ) { case "function" : break ; case "boolean" : case "null" : case "number" : case "string" : c = ! 0 ; case "object" : a = vf ( a , b , c ) ; break ; default : return d } return Array . prototype . filter . call ( d , a ) } } function vf ( d , a , b ) { var c = p ( d ) && "$" in d ; return ! 0 === a ? a = X : H ( a ) || ( a = function ( d , a ) { return ! A ( d ) && ( null === d || null === a ? d === a : ! ( p ( a ) || p ( d ) && ! D ( d ) ) && ( d = wa ( "" + d ) , a = wa ( "" + a ) , - 1 !== d . indexOf ( a ) ) ) } ) , function ( e ) { return c && ! p ( e ) ? ac ( e , d . $ , a , ! 1 ) : ac ( e , d , a , b ) } }
function ac ( d , a , b , c , e ) { var m = ud ( d ) , g = ud ( a ) ; if ( "string" === g && "!" === a . charAt ( 0 ) ) return ! ac ( d , a . substring ( 1 ) , b , c ) ; if ( ma ( d ) ) return d . some ( function ( d ) { return ac ( d , a , b , c ) } ) ; switch ( m ) { case "object" : var f ; if ( c ) { for ( f in d ) if ( "$" !== f . charAt ( 0 ) && ac ( d [ f ] , a , b , ! 0 ) ) return ! 0 ; return ! e && ac ( d , a , b , ! 1 ) } if ( "object" === g ) { for ( f in a ) if ( e = a [ f ] , ! H ( e ) && ! A ( e ) && ( m = "$" === f , ! ac ( m ? d : d [ f ] , e , b , m , m ) ) ) return ! 1 ; return ! 0 } return b ( d , a ) ; case "function" : return ! 1 ; default : return b ( d , a ) } } function ud ( d ) { return null === d ? "null" : typeof d } function ee ( d ) { var a =
d . NUMBER _FORMATS ; return function ( d , b , c ) { return A ( b ) && ( b = a . CURRENCY _SYM ) , A ( c ) && ( c = a . PATTERNS [ 1 ] . maxFrac ) , null == d ? d : je ( d , a . PATTERNS [ 1 ] , a . GROUP _SEP , a . DECIMAL _SEP , c ) . replace ( /\u00A4/g , b ) } } function he ( d ) { var a = d . NUMBER _FORMATS ; return function ( d , b ) { return null == d ? d : je ( d , a . PATTERNS [ 0 ] , a . GROUP _SEP , a . DECIMAL _SEP , b ) } } function wf ( d ) { var a , b , c , e , g , f = 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 ) == tc ; c ++ ) ;
if ( c == ( g = d . length ) ) a = [ 0 ] , b = 1 ; else { for ( g -- ; d . charAt ( g ) == tc ; ) 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 ) , f = b - 1 , b = 1 ) , { d : a , e : f , i : b } } function zf ( d , a , b , c ) { var e = d . d , m = e . length - d . i ; if ( a = A ( 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 je ( d , a , b , c , e ) { if ( ! u ( d ) &&
! J ( d ) || isNaN ( d ) ) return "" ; var m = ! isFinite ( d ) , g = ! 1 , f = Math . abs ( d ) + "" , l = "" ; if ( m ) l = "\u221e" ; else { g = wf ( f ) ; zf ( g , e , a . minFrac , a . maxFrac ) ; l = g . d ; f = g . i ; e = g . e ; m = [ ] ; for ( g = l . reduce ( function ( d , a ) { return d && ! a } , ! 0 ) ; 0 > f ; ) l . unshift ( 0 ) , f ++ ; 0 < f ? m = l . splice ( f , l . length ) : ( m = l , l = [ 0 ] ) ; f = [ ] ; for ( l . length >= a . lgSize && f . unshift ( l . splice ( - a . lgSize , l . length ) . join ( "" ) ) ; l . length > a . gSize ; ) f . unshift ( l . splice ( - a . gSize , l . length ) . join ( "" ) ) ; l . length && f . unshift ( l . join ( "" ) ) ; l = f . join ( b ) ; m . length && ( l += c + m . join ( "" ) ) ; e && ( l += "e+" + e ) } return 0 > d &&
! g ? a . negPre + l + a . negSuf : a . posPre + l + a . posSuf } function Rc ( d , a , b ) { var c = "" ; 0 > d && ( c = "-" , d = - d ) ; for ( d = "" + d ; d . length < a ; ) d = tc + d ; return b && ( d = d . substr ( d . length - a ) ) , c + d } function Ya ( 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 ) , Rc ( e , a , c ) } } function Sc ( d , a ) { return function ( b , c ) { var e = b [ "get" + d ] ( ) , m = kb ( a ? "SHORT" + d : d ) ; return c [ m ] [ e ] } } function ke ( d ) { var a = ( new Date ( d , 0 , 1 ) ) . getDay ( ) ; return new Date ( d , 0 , ( 4 >= a ? 5 : 12 ) - a ) } function le ( d ) { return function ( a ) { var b = ke ( a . getFullYear ( ) ) ;
return a = + new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) + ( 4 - a . getDay ( ) ) ) - + b , a = 1 + Math . round ( a / 6048E5 ) , Rc ( a , d ) } } function Tc ( d , a ) { return 0 >= d . getFullYear ( ) ? a . ERAS [ 0 ] : a . ERAS [ 1 ] } function fe ( d ) { function b ( d ) { var a ; if ( a = d . match ( c ) ) { d = new Date ( 0 ) ; var b = 0 , e = 0 , g = a [ 8 ] ? d . setUTCFullYear : d . setFullYear , m = a [ 8 ] ? d . setUTCHours : d . setHours ; a [ 9 ] && ( b = parseInt ( a [ 9 ] + a [ 10 ] , 10 ) , e = parseInt ( a [ 9 ] + a [ 11 ] , 10 ) ) ; g . 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 ; g =
parseInt ( a [ 6 ] || 0 , 10 ) ; a = Math . round ( 1E3 * parseFloat ( "0." + ( a [ 7 ] || 0 ) ) ) ; m . call ( d , b , e , g , 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 , g ) { var m , f , l = "" , h = [ ] ; if ( e = e || "mediumDate" , e = d . DATETIME _FORMATS [ e ] || e , u ( c ) && ( c = Af . test ( c ) ? parseInt ( c , 10 ) : b ( c ) ) , J ( c ) && ( c = new Date ( c ) ) , ! M ( c ) || ! isFinite ( c . getTime ( ) ) ) return c ; for ( ; e ; ) ( f = Bf . exec ( e ) ) ? ( h = L ( h , f , 1 ) , e = h . pop ( ) ) : ( h . push ( e ) , e = null ) ; var k = c . getTimezoneOffset ( ) ; return g && ( k = V ( g ,
k ) , c = ja ( c , g , ! 0 ) ) , a ( h , function ( a ) { m = vd [ a ] ; l += m ? m ( c , d . DATETIME _FORMATS , k ) : "''" === a ? "'" : a . replace ( /(^'|'$)/g , "" ) . replace ( /''/g , "'" ) } ) , l } } function Lg ( ) { return function ( d , a ) { return A ( a ) && ( a = 2 ) , na ( d , a ) } } function ge ( ) { return function ( d , a , b ) { return a = 1 / 0 === Math . abs ( Number ( a ) ) ? Number ( a ) : parseInt ( a , 10 ) , isNaN ( a ) ? d : ( J ( d ) && ( d = d . toString ( ) ) , ma ( d ) || u ( 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 ie ( d ) { function a ( a ,
b ) { return b = b ? - 1 : 1 , a . map ( function ( a ) { var c = 1 , e = z ; if ( H ( a ) ) e = a ; else if ( u ( a ) && ( "+" != a . charAt ( 0 ) && "-" != a . charAt ( 0 ) || ( c = "-" == a . charAt ( 0 ) ? - 1 : 1 , a = a . substring ( 1 ) ) , "" !== a && ( e = d ( a ) , e . constant ) ) ) var g = e ( ) , e = function ( d ) { return d [ g ] } ; 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 , c , g ) { if ( ! e ( d ) ) return d ; ma ( c ) || ( c = [ c ] ) ; 0 === c . length && ( c = [ "+" ] ) ; var m = a ( c , g ) ; return m . push ( { get : function ( ) { return { } } , descending : g ? - 1 :
1 } ) , d = Array . prototype . map . call ( d , function ( d , a ) { return { value : d , predicateValues : m . 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 ) ) || D ( e ) && ( e = e . toString ( ) , b ( e ) ) || ( e = a ) ) , { value : e , type : c } } ) } } ) , d . sort ( function ( d , a ) { for ( var b = 0 , c = 0 , e = m . length ; c < e ; ++ c ) { var b = d . predicateValues [ c ] , g = a . predicateValues [ c ] , f = 0 ; if ( b . type === g . type ? b . value !== g . value && ( f = b . value < g . value ? - 1 : 1 ) : f = b . type < g . type ?
- 1 : 1 , b = f * m [ c ] . descending ) break } return b } ) , d = d . map ( function ( d ) { return d . value } ) } } function ib ( d ) { return H ( d ) && ( d = { link : d } ) , d . restrict = d . restrict || "AC" , y ( d ) } function Cf ( d , b , c , e , g ) { var m = this , f = [ ] ; 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 = wd ; m . $rollbackViewValue = function ( ) { a ( f , function ( d ) { d . $rollbackViewValue ( ) } ) } ; m . $commitViewValue = function ( ) { a ( f , function ( d ) { d . $commitViewValue ( ) } ) } ; m . $addControl =
function ( d ) { Sb ( d . $name , "input" ) ; f . 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 ) } ) ; ua ( f , d ) ; d . $$parentForm = wd } ; 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 && ( ua ( c , b ) , 0 === c . length && delete d [ a ] ) } , $animate : e } ) ; m . $setDirty = function ( ) { e . removeClass ( d , uc ) ; e . addClass ( d , xd ) ; m . $dirty = ! 0 ; m . $pristine = ! 1 ; m . $$parentForm . $setDirty ( ) } ; m . $setPristine = function ( ) { e . setClass ( d , uc , xd + " ng-submitted" ) ; m . $dirty = ! 1 ; m . $pristine = ! 0 ; m . $submitted = ! 1 ; a ( f , function ( d ) { d . $setPristine ( ) } ) } ; m . $setUntouched = function ( ) { a ( f , function ( d ) { d . $setUntouched ( ) } ) } ; m . $setSubmitted = function ( ) { e . addClass ( d , "ng-submitted" ) ; m . $submitted = ! 0 ; m . $$parentForm . $setSubmitted ( ) } }
function me ( d ) { d . $formatters . push ( function ( a ) { return d . $isEmpty ( a ) ? a : a . toString ( ) } ) } function Uc ( d , a , b , c , e , g ) { var m = wa ( a [ 0 ] . type ) ; if ( ! e . android ) { var f = ! 1 ; a . on ( "compositionstart" , function ( d ) { f = ! 0 } ) ; a . on ( "compositionend" , function ( ) { f = ! 1 ; h ( ) } ) } var l , h = function ( d ) { if ( l && ( g . defer . cancel ( l ) , l = null ) , ! f ) { var e = a . val ( ) ; d = d && d . type ; "password" === m || b . ngTrim && "false" === b . ngTrim || ( e = Ha ( e ) ) ; ( c . $viewValue !== e || "" === e && c . $$hasNativeValidators ) && c . $setViewValue ( e , d ) } } ; if ( e . hasEvent ( "input" ) ) a . on ( "input" , h ) ; else { var k =
function ( d , a , b ) { l || ( l = g . defer ( function ( ) { l = 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 || k ( d , this , this . value ) } ) ; e . hasEvent ( "paste" ) && a . on ( "paste cut" , k ) } a . on ( "change" , h ) ; Vc [ m ] && c . $$hasNativeValidators && m === b . type && a . on ( "keydown wheel mousedown" , function ( d ) { if ( ! l ) { var a = this . validity , b = a . badInput , c = a . typeMismatch ; l = g . defer ( function ( ) { l = 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 g , m ; if ( M ( c ) ) return c ; if ( u ( c ) ) { if ( '"' == c . charAt ( 0 ) && '"' == c . charAt ( c . length - 1 ) && ( c = c . substring ( 1 , c . length - 1 ) ) , jb . test ( c ) ) return new Date ( c ) ; if ( d . lastIndex = 0 , g = d . exec ( c ) ) return g . shift ( ) , m = 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 ( g , function ( d , a ) { a < b . length && ( m [ b [ a ] ] = + d ) } ) , new Date ( m . yyyy ,
m . MM - 1 , m . dd , m . HH , m . mm , m . ss || 0 , 1E3 * m . sss || 0 ) } return NaN } } function bc ( d , a , b , c ) { return function ( e , g , m , f , l , k , v ) { function n ( d ) { return d && ! ( d . getTime && d . getTime ( ) !== d . getTime ( ) ) } function t ( d ) { return F ( d ) && ! M ( d ) ? b ( d ) || h : d } lc ( e , g , m , f ) ; Uc ( e , g , m , f , l , k ) ; var q , r = f && f . $options && f . $options . timezone ; if ( f . $$parserName = d , f . $parsers . push ( function ( d ) { return f . $isEmpty ( d ) ? null : a . test ( d ) ? ( d = b ( d , q ) , r && ( d = ja ( d , r ) ) , d ) : h } ) , f . $formatters . push ( function ( d ) { if ( d && ! M ( d ) ) throw Wc ( "datefmt" , d ) ; return n ( d ) ? ( ( q = d ) && r && ( q = ja ( q , r , ! 0 ) ) ,
v ( "date" ) ( d , c , r ) ) : ( q = null , "" ) } ) , F ( m . min ) || m . ngMin ) { var p ; f . $validators . min = function ( d ) { return ! n ( d ) || A ( p ) || b ( d ) >= p } ; m . $observe ( "min" , function ( d ) { p = t ( d ) ; f . $validate ( ) } ) } if ( F ( m . max ) || m . ngMax ) { var G ; f . $validators . max = function ( d ) { return ! n ( d ) || A ( G ) || b ( d ) <= G } ; m . $observe ( "max" , function ( d ) { G = t ( d ) ; f . $validate ( ) } ) } } } function lc ( d , a , b , c ) { ( c . $$hasNativeValidators = p ( a [ 0 ] . validity ) ) && c . $parsers . push ( function ( d ) { var b = a . prop ( "validity" ) || { } ; return b . badInput && ! b . typeMismatch ? h : d } ) } function ne ( d , a , b , c , e ) { if ( F ( c ) ) { if ( d =
d ( c ) , ! d . constant ) throw Wc ( "constexpr" , b , c ) ; return d ( a ) } return e } function cc ( 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 ] , g = 0 ; g < a . length ; g ++ ) if ( e == a [ g ] ) continue a ; b . push ( e ) } return b } function g ( d ) { var b = [ ] ; return ma ( d ) ? ( a ( d , function ( d ) { b = b . concat ( g ( d ) ) } ) , b ) : u ( d ) ? d . split ( " " ) : p ( d ) ? ( a ( d , function ( d , a ) { d && ( b = b . concat ( a . split ( " " ) ) ) } ) , b ) : d } return { restrict : "AC" , link : function ( m , f , l ) { function h ( d ) { d = k ( d , 1 ) ; l . $addClass ( d ) } function k ( d , b ) { var c =
f . data ( "$classCounts" ) || Na ( ) , e = [ ] ; return a ( d , function ( d ) { ( 0 < b || c [ d ] ) && ( c [ d ] = ( c [ d ] || 0 ) + b , c [ d ] === + ( 0 < b ) && e . push ( d ) ) } ) , f . data ( "$classCounts" , c ) , e . join ( " " ) } function v ( d , a ) { var b = e ( a , d ) , g = e ( d , a ) , b = k ( b , 1 ) , g = k ( g , - 1 ) ; b && b . length && c . addClass ( f , b ) ; g && g . length && c . removeClass ( f , g ) } function n ( d ) { if ( ! 0 === b || m . $index % 2 === b ) { var a = g ( d || [ ] ) ; if ( t ) { if ( ! X ( d , t ) ) { var c = g ( t ) ; v ( c , a ) } } else h ( a ) } t = ma ( d ) ? d . map ( function ( d ) { return U ( d ) } ) : U ( d ) } var t ; m . $watch ( l [ d ] , n , ! 0 ) ; l . $observe ( "class" , function ( a ) { n ( m . $eval ( l [ d ] ) ) } ) ; "ngClass" !==
d && m . $watch ( "$index" , function ( a , c ) { var e = 1 & a ; if ( e !== ( 1 & c ) ) { var f = g ( m . $eval ( l [ d ] ) ) ; e === b ? h ( f ) : ( e = k ( f , - 1 ) , l . $removeClass ( e ) ) } } ) } } } ] } function Df ( d ) { function a ( d , a ) { a && ! g [ d ] ? ( k . addClass ( e , d ) , g [ d ] = ! 0 ) : ! a && g [ d ] && ( k . removeClass ( e , d ) , g [ d ] = ! 1 ) } function b ( d , b ) { d = d ? "-" + ga ( d , "-" ) : "" ; a ( Xc + d , ! 0 === b ) ; a ( Ef + d , ! 1 === b ) } var c = d . ctrl , e = d . $element , g = { } , f = d . set , l = d . unset , k = d . $animate ; g [ Ef ] = ! ( g [ Xc ] = e . hasClass ( Xc ) ) ; c . $setValidity = function ( d , e , g ) { A ( e ) ? ( c . $pending || ( c . $pending = { } ) , f ( c . $pending , d , g ) ) : ( c . $pending && l ( c . $pending ,
d , g ) , Ff ( c . $pending ) && ( c . $pending = h ) ) ; Y ( e ) ? e ? ( l ( c . $error , d , g ) , f ( c . $$success , d , g ) ) : ( f ( c . $error , d , g ) , l ( c . $$success , d , g ) ) : ( l ( c . $error , d , g ) , l ( c . $$success , d , g ) ) ; c . $pending ? ( a ( yd , ! 0 ) , c . $valid = c . $invalid = h , b ( "" , null ) ) : ( a ( yd , ! 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 jc , ha , Fa , Hb , va = /^\/(.+)\/([a-z]*)$/ ,
wa = function ( d ) { return u ( d ) ? d . toLowerCase ( ) : d } , rb = Object . prototype . hasOwnProperty , kb = function ( d ) { return u ( d ) ? d . toUpperCase ( ) : d } , Bb = [ ] . slice , ff = [ ] . splice , Gf = [ ] . push , sb = Object . prototype . toString , vc = Object . getPrototypeOf , Wa = k ( "ng" ) , Oa = b . angular || ( b . angular = { } ) , wc = 0 ; jc = f . documentMode ; q . $inject = [ ] ; z . $inject = [ ] ; var $c , ma = Array . isArray , xe = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/ , Ha = function ( d ) { return u ( d ) ? d . trim ( ) : d } , sc = function ( d ) { return d . replace ( /([-()\[\]{}+?*.$\^|,:#<!\\])/g ,
"\\$1" ) . replace ( /\x08/g , "\\x08" ) } , Tb = function ( ) { if ( ! F ( Tb . 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" ) ; Tb . rules = { noUnsafeEval : ! a || - 1 !== a . indexOf ( "no-unsafe-eval" ) , noInlineStyle : ! a || - 1 !== a . indexOf ( "no-inline-style" ) } } else { d = Tb ; try { new Function ( "" ) , a = ! 1 } catch ( Z ) { a = ! 0 } d . rules = { noUnsafeEval : a , noInlineStyle : ! 1 } } } return Tb . rules } , xc = function ( ) { if ( F ( xc . name _ ) ) return xc . name _ ; var d , a , b , c , e = ec . length ; for ( a = 0 ; a <
e ; ++ a ) if ( b = ec [ a ] , d = f . querySelector ( "[" + b . replace ( ":" , "\\:" ) + "jq]" ) ) { c = d . getAttribute ( b + "jq" ) ; break } return xc . name _ = c } , Ad = /:/g , ec = [ "ng-" , "data-ng-" , "ng:" , "x-ng-" ] , ye = /[A-Z]/g , Bd = ! 1 , Qb = 3 , Ae = { full : "1.4.14" , major : 1 , minor : 4 , dot : 14 , codeName : "material-distinction" } ; Pa . expando = "ng339" ; var hc = Pa . cache = { } , Md = 1 ; Pa . _data = function ( d ) { return this . cache [ d [ this . expando ] ] || { } } ; var Ld = /([\:\-\_]+(.))/g , id = /^moz([A-Z])/ , Hc = { mouseleave : "mouseout" , mouseenter : "mouseover" } , jd = k ( "jqLite" ) , bf = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ,
Gc = /<|&#?\w+;/ , Aa = /<([\w:-]+)/ , $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi , Ua = { 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 , "" , "" ] } ; Ua . optgroup = Ua . option ; Ua . tbody = Ua . tfoot = Ua . colgroup = Ua . caption = Ua . thead ; Ua . th = Ua . td ; var ef = Node . prototype . contains || function ( d ) { return ! ! ( 16 &
this . compareDocumentPosition ( d ) ) } , Rb = Pa . prototype = { ready : function ( d ) { function a ( ) { c || ( c = ! 0 , d ( ) ) } var c = ! 1 ; "complete" === f . readyState ? setTimeout ( a ) : ( this . on ( "DOMContentLoaded" , a ) , Pa ( b ) . on ( "load" , a ) ) } , toString : function ( ) { var d = [ ] ; return a ( this , function ( a ) { d . push ( "" + a ) } ) , "[" + d . join ( ", " ) + "]" } , eq : function ( d ) { return ha ( 0 <= d ? this [ d ] : this [ this . length + d ] ) } , length : 0 , push : Gf , sort : [ ] . sort , splice : [ ] . splice } , Eb = { } ; a ( "multiple selected checked disabled readOnly required open" . split ( " " ) , function ( d ) { Eb [ wa ( d ) ] = d } ) ;
var Ia = { } ; a ( "input select option textarea button form details" . split ( " " ) , function ( d ) { Ia [ d ] = ! 0 } ) ; var Ud = { ngMinlength : "minlength" , ngMaxlength : "maxlength" , ngMin : "min" , ngMax : "max" , ngPattern : "pattern" } ; a ( { data : Nd , removeData : ea , hasData : function ( d ) { for ( var a in hc [ d . ng339 ] ) return ! 0 ; return ! 1 } } , function ( d , a ) { Pa [ a ] = d } ) ; a ( { data : Nd , inheritedData : Lb , scope : function ( d ) { return ha . data ( d , "$scope" ) || Lb ( d . parentNode || d , [ "$isolateScope" , "$scope" ] ) } , isolateScope : function ( d ) { return ha . data ( d , "$isolateScope" ) || ha . data ( d ,
"$isolateScopeNoTemplate" ) } , controller : Ic , injector : function ( d ) { return Lb ( d , "$injector" ) } , removeAttr : function ( d , a ) { d . removeAttribute ( a ) } , hasClass : Qa , css : function ( d , a , b ) { return a = pc ( a ) , F ( 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 = wa ( a ) , Eb [ c ] ) { if ( ! F ( b ) ) return d [ a ] || ( d . attributes . getNamedItem ( a ) || q ) . specified ? c : h ; b ? ( d [ a ] = ! 0 , d . setAttribute ( a , c ) ) : ( d [ a ] = ! 1 , d . removeAttribute ( c ) ) } else if ( F ( 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 F ( b ) ? void ( d [ a ] = b ) : d [ a ] } , text : function ( ) { function d ( d , a ) { if ( A ( a ) ) { var b = d . nodeType ; return 1 === b || b === Qb ? d . textContent : "" } d . textContent = a } return d . $dv = "" , d } ( ) , val : function ( d , b ) { if ( A ( b ) ) { if ( d . multiple && "select" === ia ( 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 A ( a ) ? d . innerHTML : ( ld ( d , ! 0 ) , void ( d . innerHTML = a ) ) } , empty : qc } , function ( d , a ) { Pa . prototype [ a ] =
function ( a , b ) { var c , e , g = this . length ; if ( d !== qc && A ( 2 == d . length && d !== Qa && d !== Ic ? a : b ) ) { if ( p ( a ) ) { for ( c = 0 ; c < g ; c ++ ) if ( d === Nd ) d ( this [ c ] , a ) ; else for ( e in a ) d ( this [ c ] , e , a [ e ] ) ; return this } c = d . $dv ; g = A ( c ) ? Math . min ( g , 1 ) : g ; for ( e = 0 ; e < g ; e ++ ) { var m = d ( this [ e ] , a , b ) ; c = c ? c + m : m } return c } for ( c = 0 ; c < g ; c ++ ) d ( this [ c ] , a , b ) ; return this } } ) ; a ( { removeData : ea , on : function ( d , a , b , c ) { if ( F ( c ) ) throw jd ( "onargs" ) ; if ( Ye ( d ) ) { c = sa ( d , ! 0 ) ; var e = c . events , g = c . handle ; g || ( g = c . handle = ig ( d , e ) ) ; c = 0 <= a . indexOf ( " " ) ? a . split ( " " ) : [ a ] ; for ( var m = c . length ,
f = function ( a , c , m ) { var f = e [ a ] ; f || ( f = e [ a ] = [ ] , f . specialHandlerWrapper = c , "$destroy" === a || m || d . addEventListener ( a , g , ! 1 ) ) ; f . push ( b ) } ; m -- ; ) a = c [ m ] , Hc [ a ] ? ( f ( Hc [ a ] , Ka ) , f ( a , h , ! 0 ) ) : f ( a ) } } , off : cf , one : function ( d , a , b ) { d = ha ( d ) ; d . on ( a , function aa ( ) { d . off ( a , b ) ; d . off ( a , aa ) } ) ; d . on ( a , b ) } , replaceWith : function ( d , b ) { var c , e = d . parentNode ; ld ( d ) ; a ( new Pa ( 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 Pa ( 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 Pa ( b ) , function ( a ) { d . insertBefore ( a , c ) } ) } } , wrap : function ( d , a ) { af ( d , ha ( 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 Pa ( a ) ; for ( var e = 0 , g = a . length ; e < g ; e ++ ) { var m = a [ e ] ; c . insertBefore ( m , b . nextSibling ) ;
b = m } } , addClass : wb , removeClass : Kb , toggleClass : function ( d , b , c ) { b && a ( b . split ( " " ) , function ( a ) { var b = c ; A ( b ) && ( b = ! Qa ( d , a ) ) ; ( b ? wb : Kb ) ( 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 : kd , triggerHandler : function ( d , b , c ) { var e , g , m = b . type || b , f = sa ( d ) ; ( f = ( f = f && f . events ) && f [ 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 : q , type : m , target : d } , b . type && ( e = n ( e , b ) ) , b = U ( f ) , g = c ? [ e ] . concat ( c ) : [ e ] , a ( b , function ( a ) { e . isImmediatePropagationStopped ( ) || a . apply ( d , g ) } ) ) } } , function ( d , a ) { Pa . prototype [ a ] = function ( a , b , c ) { for ( var e , g = 0 , m = this . length ; g < m ; g ++ ) A ( e ) ? ( e = d ( this [ g ] , a , b , c ) , F ( e ) && ( e = ha ( e ) ) ) : ra ( e , d ( this [ g ] , a , b , c ) ) ; return F ( e ) ? e : this } ;
Pa . prototype . bind = Pa . prototype . on ; Pa . prototype . unbind = Pa . prototype . off } ) ; Mb . prototype = { put : function ( d , a ) { this [ nb ( d , this . nextUid ) ] = a } , get : function ( d ) { return this [ nb ( d , this . nextUid ) ] } , remove : function ( d ) { var a = this [ d = nb ( d , this . nextUid ) ] ; return delete this [ d ] , a } } ; var Xe = [ function ( ) { this . $get = [ function ( ) { return Mb } ] } ] , Kc = /^[^\(]*\(\s*([^\)]*)\)/m , Hf = /,/ , oe = /^\s*(_?)(\S+?)\1\s*$/ , ic = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm , Wb = k ( "$injector" ) ; fb . $$annotate = function ( d , b , c ) { var e ; if ( "function" == typeof d ) { if ( ! ( e =
d . $inject ) ) { if ( e = [ ] , d . length ) { if ( b ) throw u ( c ) && c || ( c = d . name || Od ( d ) ) , Wb ( "strictdi" , c ) ; b = d . toString ( ) . replace ( ic , "" ) ; b = b . match ( Kc ) ; a ( b [ 1 ] . split ( Hf ) , function ( d ) { d . replace ( oe , function ( d , a , b ) { e . push ( b ) } ) } ) } d . $inject = e } } else ma ( d ) ? ( b = d . length - 1 , tb ( d [ b ] , "fn" ) , e = d . slice ( 0 , b ) ) : tb ( d , "fn" , ! 0 ) ; return e } ; var pe = k ( "$animate" ) , Me = function ( ) { this . $get = function ( ) { } } , Gd = function ( ) { var d = new Mb , b = [ ] ; this . $get = [ "$$AnimateRunner" , "$rootScope" , function ( c , e ) { function g ( d , b , c ) { var e = ! 1 ; return b && ( b = u ( b ) ? b . split ( " " ) : ma ( b ) ?
b : [ ] , a ( b , function ( a ) { a && ( e = ! 0 , d [ a ] = c ) } ) ) , e } function f ( ) { a ( b , function ( b ) { var c = d . get ( b ) ; if ( c ) { var e = xb ( b . attr ( "class" ) ) , g = "" , f = "" ; a ( c , function ( d , a ) { d !== ! ! e [ a ] && ( d ? g += ( g . length ? " " : "" ) + a : f += ( f . length ? " " : "" ) + a ) } ) ; a ( b , function ( d ) { g && wb ( d , g ) ; f && Kb ( d , f ) } ) ; d . remove ( b ) } } ) ; b . length = 0 } return { enabled : q , on : q , off : q , pin : q , push : function ( a , m , l , h ) { return h && h ( ) , l = l || { } , l . from && a . css ( l . from ) , l . to && a . css ( l . to ) , ( l . addClass || l . removeClass ) && ( m = l . addClass , h = l . removeClass , l = d . get ( a ) || { } , m = g ( l , m , ! 0 ) , h = g ( l , h , ! 1 ) , ( m || h ) &&
( d . put ( a , l ) , b . push ( a ) , 1 === b . length && e . $$postDigest ( f ) ) ) , a = new c , a . complete ( ) , a } } } ] } , Ub = [ "$provide" , function ( d ) { var a = this ; this . $$registeredAnimations = Object . create ( null ) ; this . register = function ( b , c ) { if ( b && "." !== b . charAt ( 0 ) ) throw pe ( "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 pe ( "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 && ha ( c ) , e = e && ha ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "enter" , Za ( g ) ) } , move : function ( b , c , e , g ) { return c = c && ha ( c ) ,
e = e && ha ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "move" , Za ( g ) ) } , leave : function ( a , b ) { return d . push ( a , "leave" , Za ( b ) , function ( ) { a . remove ( ) } ) } , addClass : function ( a , b , c ) { return c = Za ( c ) , c . addClass = Fb ( c . addclass , b ) , d . push ( a , "addClass" , c ) } , removeClass : function ( a , b , c ) { return c = Za ( c ) , c . removeClass = Fb ( c . removeClass , b ) , d . push ( a , "removeClass" , c ) } , setClass : function ( a , b , c , e ) { return e = Za ( e ) , e . addClass = Fb ( e . addClass , b ) , e . removeClass = Fb ( e . removeClass , c ) , d . push ( a , "setClass" , e ) } , animate : function ( a , b , c , e , g ) { return g = Za ( g ) ,
g . from = g . from ? n ( g . from , b ) : b , g . to = g . to ? n ( g . to , c ) : c , g . tempClasses = Fb ( 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 ) } } } ] } , fd = function ( ) { this . $get = [ "$q" , "$sniffer" , "$$animateAsyncRun" , "$document" , "$timeout" , function ( d , b , c , e , g ) { function f ( 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 f . 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 ( ) } , f . 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 ) } ) } , f . prototype = { setHost : function ( d ) { this . host = d || { } } , done : function ( d ) { 2 === this . _state ? d ( ) : this . _doneCallbacks . push ( d ) } , progress : q , 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 ) } } , f } ] } , 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 ) ; f || m . complete ( ) ; f = ! 0 } ) , m } var g =
c || { } ; g . $$prepared || ( g = B ( g ) ) ; g . cleanupStyles && ( g . from = g . to = null ) ; g . from && ( a . css ( g . from ) , g . from = null ) ; var f , m = new b ; return { start : e , end : e } } } ] } , $a = k ( "$compile" ) ; Ib . $inject = [ "$provide" , "$$sanitizeUriProvider" ] ; var Sd = /^((?:x|data)[\:\-_])/i , gf = k ( "$controller" ) , Lc = /^(\S+)(\s+as\s+([\w$]+))?$/ , gc = function ( ) { this . $get = [ "$document" , function ( d ) { return function ( a ) { return a ? ! a . nodeType && a instanceof ha && ( a = a [ 0 ] ) : a = d [ 0 ] . body , a . offsetWidth + 1 } } ] } , Vd = "application/json" , Mc = { "Content-Type" : Vd + ";charset=utf-8" } , hf =
/^\[|^\{(?!\{)/ , nd = { "[" : /]$/ , "{" : /}$/ } , La = /^\)\]\}',?\n/ , If = k ( "$http" ) , jf = function ( d ) { return function ( ) { throw If ( "legacy" , d ) ; } } , Yb = Oa . $interpolateMinErr = k ( "$interpolate" ) ; Yb . throwNoconcat = function ( d ) { throw Yb ( "noconcat" , d ) ; } ; Yb . interr = function ( d , a ) { return Yb ( "interr" , d , a . toString ( ) ) } ; var mc = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/ , lf = { http : 80 , https : 443 , ftp : 21 } , Gb = k ( "$location" ) , qe = { $$html5 : ! 1 , $$replace : ! 1 , absUrl : Oc ( "$$absUrl" ) , url : function ( d ) { if ( A ( d ) ) return this . $$url ; var a = mc . 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 : Oc ( "$$protocol" ) , host : Oc ( "$$host" ) , port : Oc ( "$$port" ) , path : db ( "$$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 ( u ( d ) || J ( d ) ) d = d . toString ( ) , this . $$search = Ga ( d ) ; else { if ( ! p ( d ) ) throw Gb ( "isrcharg" ) ; d = B ( d , { } ) ; a ( d , function ( a , b ) { null == a && delete d [ b ] } ) ; this . $$search = d } break ; default : A ( b ) ||
null === b ? delete this . $$search [ d ] : this . $$search [ d ] = b } return this . $$compose ( ) , this } , hash : db ( "$$hash" , function ( d ) { return null !== d ? d . toString ( ) : "" } ) , replace : function ( ) { return this . $$replace = ! 0 , this } } ; a ( [ $d , Zd , Yd ] , function ( d ) { d . prototype = Object . create ( qe ) ; d . prototype . state = function ( a ) { if ( ! arguments . length ) return this . $$state ; if ( d !== Yd || ! this . $$html5 ) throw Gb ( "nostate" ) ; return this . $$state = A ( a ) ? null : a , this } } ) ; var bb = k ( "$parse" ) , qb = Function . prototype . call , mf = Function . prototype . apply , ae = Function . prototype . bind ,
zd = Na ( ) ; a ( "+ - * / % === !== == != < > <= >= && || ! = |" . split ( " " ) , function ( d ) { zd [ d ] = ! 0 } ) ; var Jf = { n : "\n" , f : "\f" , r : "\r" , t : "\t" , v : "\x0B" , "'" : "'" , '"' : '"' } , Ra = function ( d ) { this . options = d } ; Ra . prototype = { constructor : Ra , 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 = zd [ a ] , e = zd [ b ] ; zd [ 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 = F ( a ) ? "s " + a + "-" + this . index + " [" + this . text . substring ( a , b ) + "]" : " " + b , bb ( "lexerr" , d , a , this . text ) ; } , readNumber : function ( ) { for ( var d = "" , a = this . index ; this . index <
this . text . length ; ) { var b = wa ( 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 R = function ( d , a ) { this . lexer = d ; this . options = a } ; R . Program = "Program" ; R . ExpressionStatement = "ExpressionStatement" ; R . AssignmentExpression = "AssignmentExpression" ; R . ConditionalExpression = "ConditionalExpression" ; R . LogicalExpression = "LogicalExpression" ; R . BinaryExpression = "BinaryExpression" ; R . UnaryExpression = "UnaryExpression" ;
R . CallExpression = "CallExpression" ; R . MemberExpression = "MemberExpression" ; R . Identifier = "Identifier" ; R . Literal = "Literal" ; R . ArrayExpression = "ArrayExpression" ; R . Property = "Property" ; R . ObjectExpression = "ObjectExpression" ; R . ThisExpression = "ThisExpression" ; R . NGValueParameter = "NGValueParameter" ; R . 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 : R . Program , body : d } } , expressionStatement : function ( ) { return { type : R . 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 : R . 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 : R . ConditionalExpression , test : b , alternate : d , consequent : a } ) : b } , logicalOR : function ( ) { for ( var d = this . logicalAND ( ) ; this . expect ( "||" ) ; ) d = { type : R . LogicalExpression , operator : "||" , left : d , right : this . logicalAND ( ) } ; return d } , logicalAND : function ( ) { for ( var d = this . equality ( ) ; this . expect ( "&&" ) ; ) d = { type : R . LogicalExpression , operator : "&&" , left : d , right : this . equality ( ) } ;
return d } , equality : function ( ) { for ( var d , a = this . relational ( ) ; d = this . expect ( "==" , "!=" , "===" , "!==" ) ; ) a = { type : R . BinaryExpression , operator : d . text , left : a , right : this . relational ( ) } ; return a } , relational : function ( ) { for ( var d , a = this . additive ( ) ; d = this . expect ( "<" , ">" , "<=" , ">=" ) ; ) a = { type : R . BinaryExpression , operator : d . text , left : a , right : this . additive ( ) } ; return a } , additive : function ( ) { for ( var d , a = this . multiplicative ( ) ; d = this . expect ( "+" , "-" ) ; ) a = { type : R . BinaryExpression , operator : d . text , left : a , right : this . multiplicative ( ) } ;
return a } , multiplicative : function ( ) { for ( var d , a = this . unary ( ) ; d = this . expect ( "*" , "/" , "%" ) ; ) a = { type : R . BinaryExpression , operator : d . text , left : a , right : this . unary ( ) } ; return a } , unary : function ( ) { var d ; return ( d = this . expect ( "+" , "-" , "!" ) ) ? { type : R . 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 = B ( 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 : R . CallExpression , callee : d , arguments : this . parseArguments ( ) } , this . consume ( ")" ) ) : "[" === a . text ? ( d = { type : R . MemberExpression , object : d , property : this . expression ( ) , computed : ! 0 } , this . consume ( "]" ) ) : "." === a . text ? d = { type : R . MemberExpression , object : d , property : this . identifier ( ) ,
computed : ! 1 } : this . throwError ( "IMPOSSIBLE" ) ; return d } , filter : function ( d ) { d = [ d ] ; for ( var a = { type : R . 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 : R . Identifier , name : d . text } } , constant : function ( ) { return { type : R . 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 : R . ArrayExpression , elements : d } } , object : function ( ) { var d , a = [ ] ; if ( "}" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "}" ) ) break ; d = { type : R . 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 : R . ObjectExpression , properties : a } } , throwError : function ( d , a ) { throw bb ( "syntax" , a . text , d , a . index + 1 , this . text , this . text . substring ( a . index ) ) ; } , consume : function ( d ) { if ( 0 === this . tokens . length ) throw bb ( "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 bb ( "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 : R . Literal , value : ! 0 } , "false" : { type : R . Literal , value : ! 1 } , "null" : { type : R . Literal , value : null } , undefined : { type : R . Literal , value : h } , "this" : { type : R . ThisExpression } } } ; rd . 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 : [ ] } ; Va ( e , c . $filter ) ; var g , f = "" ; return this . stage = "assign" , ( g = nf ( e ) ) && ( this . state . computing = "assign" , f = this . nextId ( ) , this . recurse ( g , f ) , this . return _ ( f ) , f = "fn.assign=" + this . generateFunction ( "assign" , "s,v,l" ) ) , g = ce ( 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 ) , f = '"' + this . USE + " " + this . STRICT + '";\n' + this . filterPrefix ( ) + "var fn=" + this . generateFunction ( "fn" , "s,l,a,i" ) + f + this . watchFns ( ) + "return fn;" , f = ( new Function ( "$filter" , "ensureSafeMemberName" , "ensureSafeObject" , "ensureSafeFunction" , "getStringValue" , "ensureSafeAssignContext" , "ifDefined" , "plus" , "text" , f ) ) ( this . $filter , Zb , gb , Pc , pd , Qc , be , rc , d ) , this . state = this . stage = h , f . literal = de ( e ) , f . constant = e . constant , f } , 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 , f ) { var l , k , m , v , n = this ; if ( e = e || q , ! f && F ( 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 R . Program : a ( d . body , function ( a , b ) { n . recurse ( a . expression , h , h , function ( d ) { k = d } ) ; b !== d . body . length - 1 ? n . current ( ) . body . push ( k , ";" ) : n . return _ ( k ) } ) ; break ; case R . Literal : v = this . escape ( d . value ) ;
this . assign ( b , v ) ; e ( v ) ; break ; case R . UnaryExpression : this . recurse ( d . argument , h , h , function ( d ) { k = d } ) ; v = d . operator + "(" + this . ifDefined ( k , 0 ) + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case R . BinaryExpression : this . recurse ( d . left , h , h , function ( d ) { l = d } ) ; this . recurse ( d . right , h , h , function ( d ) { k = d } ) ; v = "+" === d . operator ? this . plus ( l , k ) : "-" === d . operator ? this . ifDefined ( l , 0 ) + d . operator + this . ifDefined ( k , 0 ) : "(" + l + ")" + d . operator + "(" + k + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case R . 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 R . 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 R . 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 ) ; Zb ( 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 R . MemberExpression : l = c && ( c . context = this . nextId ( ) ) || this . nextId ( ) ; b = b || this . nextId ( ) ; n . recurse ( d . object , l , h , function ( ) { n . if _ ( n . notNull ( l ) , function ( ) { g && 1 !== g && n . addEnsureSafeAssignContext ( l ) ; d . computed ? ( k = n . nextId ( ) ,
n . recurse ( d . property , k ) , n . getStringValue ( k ) , n . addEnsureSafeMemberName ( k ) , g && 1 !== g && n . if _ ( n . not ( n . computedMember ( l , k ) ) , n . lazyAssign ( n . computedMember ( l , k ) , "{}" ) ) , v = n . ensureSafeObject ( n . computedMember ( l , k ) ) , n . assign ( b , v ) , c && ( c . computed = ! 0 , c . name = k ) ) : ( Zb ( d . property . name ) , g && 1 !== g && n . if _ ( n . not ( n . nonComputedMember ( l , d . property . name ) ) , n . lazyAssign ( n . nonComputedMember ( l , d . property . name ) , "{}" ) ) , v = n . nonComputedMember ( l , 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 R . CallExpression : b = b || this . nextId ( ) ; d . filter ? ( k = n . filter ( d . callee . name ) , m = [ ] , a ( d . arguments , function ( d ) { var a = n . nextId ( ) ; n . recurse ( d , a ) ; m . push ( a ) } ) , v = k + "(" + m . join ( "," ) + ")" , n . assign ( b , v ) , e ( b ) ) : ( k = n . nextId ( ) , l = { } , m = [ ] , n . recurse ( d . callee , k , l , function ( ) { n . if _ ( n . notNull ( k ) , function ( ) { n . addEnsureSafeFunction ( k ) ; a ( d . arguments , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { m . push ( n . ensureSafeObject ( d ) ) } ) } ) ;
l . name ? ( n . state . expensiveChecks || n . addEnsureSafeObject ( l . context ) , v = n . member ( l . context , l . name , l . computed ) + "(" + m . join ( "," ) + ")" ) : v = k + "(" + m . join ( "," ) + ")" ; v = n . ensureSafeObject ( v ) ; n . assign ( b , v ) } , function ( ) { n . assign ( b , "undefined" ) } ) ; e ( b ) } ) ) ; break ; case R . AssignmentExpression : if ( k = this . nextId ( ) , l = { } , ! qd ( d . left ) ) throw bb ( "lval" ) ; this . recurse ( d . left , h , l , function ( ) { n . if _ ( n . notNull ( l . context ) , function ( ) { n . recurse ( d . right , k ) ; n . addEnsureSafeObject ( n . member ( l . context , l . name , l . computed ) ) ; n . addEnsureSafeAssignContext ( l . context ) ;
v = n . member ( l . context , l . name , l . computed ) + d . operator + k ; n . assign ( b , v ) ; e ( b || v ) } ) } , 1 ) ; break ; case R . ArrayExpression : m = [ ] ; a ( d . elements , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { m . push ( d ) } ) } ) ; v = "[" + m . join ( "," ) + "]" ; this . assign ( b , v ) ; e ( v ) ; break ; case R . ObjectExpression : m = [ ] ; a ( d . properties , function ( d ) { n . recurse ( d . value , n . nextId ( ) , h , function ( a ) { m . push ( n . escape ( d . key . type === R . Identifier ? d . key . name : "" + d . key . value ) + ":" + a ) } ) } ) ; v = "{" + m . join ( "," ) + "}" ; this . assign ( b , v ) ; e ( v ) ; break ; case R . ThisExpression : this . assign ( b ,
"s" ) ; e ( "s" ) ; break ; case R . 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 f = this ; return function ( ) { f . 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 ( u ( d ) ) return "'" + d . replace ( this . stringEscapeRegex ,
this . stringEscapeFn ) + "'" ; if ( J ( 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 bb ( "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 ; Va ( e , c . $filter ) ; var g , f ; ( g = nf ( e ) ) && ( f =
this . recurse ( g ) ) ; g = ce ( e . body ) ; var l ; g && ( l = [ ] , a ( g , function ( d , a ) { var b = c . recurse ( d ) ; d . input = b ; l . push ( b ) ; d . watchId = a } ) ) ; var h = [ ] ; return a ( e . body , function ( d ) { h . push ( c . recurse ( d . expression ) ) } ) , g = 0 === e . body . length ? function ( ) { } : 1 === e . body . length ? h [ 0 ] : function ( d , b ) { var c ; return a ( h , function ( a ) { c = a ( d , b ) } ) , c } , f && ( g . assign = function ( d , a , b ) { return f ( d , b , a ) } ) , l && ( g . inputs = l ) , g . literal = de ( e ) , g . constant = e . constant , g } , recurse : function ( d , b , c ) { var e , g , f , l = this ; if ( d . input ) return this . inputs ( d . input , d . watchId ) ; switch ( d . type ) { case R . Literal : return this . value ( d . value ,
b ) ; case R . UnaryExpression : return g = this . recurse ( d . argument ) , this [ "unary" + d . operator ] ( g , b ) ; case R . BinaryExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e , g , b ) ; case R . LogicalExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e , g , b ) ; case R . ConditionalExpression : return this [ "ternary?:" ] ( this . recurse ( d . test ) , this . recurse ( d . alternate ) , this . recurse ( d . consequent ) , b ) ; case R . Identifier : return Zb ( d . name , l . expression ) , l . identifier ( d . name ,
l . expensiveChecks || "constructor" == d . name , b , c , l . expression ) ; case R . MemberExpression : return e = this . recurse ( d . object , ! 1 , ! ! c ) , d . computed || ( Zb ( d . property . name , l . expression ) , g = d . property . name ) , d . computed && ( g = this . recurse ( d . property ) ) , d . computed ? this . computedMember ( e , g , b , c , l . expression ) : this . nonComputedMember ( e , g , l . expensiveChecks , b , c , l . expression ) ; case R . CallExpression : return f = [ ] , a ( d . arguments , function ( d ) { f . push ( l . 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 l = [ ] , k = 0 ; k < f . length ; ++ k ) l . push ( f [ k ] ( d , a , c , e ) ) ; return d = g . apply ( h , l , e ) , b ? { context : h , name : h , value : d } : d } : function ( d , a , c , e ) { var h , k = g ( d , a , c , e ) ; if ( null != k . value ) { gb ( k . context , l . expression ) ; Pc ( k . value , l . expression ) ; h = [ ] ; for ( var m = 0 ; m < f . length ; ++ m ) h . push ( gb ( f [ m ] ( d , a , c , e ) , l . expression ) ) ; h = gb ( k . value . apply ( k . context , h ) , l . expression ) } return b ? { value : h } : h } ; case R . AssignmentExpression : return e = this . recurse ( d . left , ! 0 , 1 ) , g = this . recurse ( d . right ) , function ( d , a , c , f ) { var h = e ( d ,
a , c , f ) ; return d = g ( d , a , c , f ) , gb ( h . value , l . expression ) , Qc ( h . context ) , h . context [ h . name ] = d , b ? { value : d } : d } ; case R . ArrayExpression : return f = [ ] , a ( d . elements , function ( d ) { f . push ( l . recurse ( d ) ) } ) , function ( d , a , c , e ) { for ( var g = [ ] , l = 0 ; l < f . length ; ++ l ) g . push ( f [ l ] ( d , a , c , e ) ) ; return b ? { value : g } : g } ; case R . ObjectExpression : return f = [ ] , a ( d . properties , function ( d ) { f . push ( { key : d . key . type === R . Identifier ? d . key . name : "" + d . key . value , value : l . recurse ( d . value ) } ) } ) , function ( d , a , c , e ) { for ( var g = { } , l = 0 ; l < f . length ; ++ l ) g [ f [ l ] . key ] = f [ l ] . value ( d ,
a , c , e ) ; return b ? { value : g } : g } ; case R . ThisExpression : return function ( d ) { return b ? { value : d } : d } ; case R . 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 = F ( 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 = F ( 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 , f ) { var l = d ( c ,
e , g , f ) ; return c = a ( c , e , g , f ) , l = rc ( l , c ) , b ? { value : l } : l } } , "binary-" : function ( d , a , b ) { return function ( c , e , g , f ) { var l = d ( c , e , g , f ) ; return c = a ( c , e , g , f ) , l = ( F ( l ) ? l : 0 ) - ( F ( c ) ? c : 0 ) , b ? { value : l } : l } } , "binary*" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) * a ( c , e , g , f ) , b ? { value : c } : c } } , "binary/" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) / a ( c , e , g , f ) , b ? { value : c } : c } } , "binary%" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) % a ( c , e , g , f ) , b ? { value : c } : c } } , "binary===" : function ( d , a , b ) { return function ( c ,
e , g , f ) { return c = d ( c , e , g , f ) === a ( c , e , g , f ) , b ? { value : c } : c } } , "binary!==" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) !== a ( c , e , g , f ) , b ? { value : c } : c } } , "binary==" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) == a ( c , e , g , f ) , b ? { value : c } : c } } , "binary!=" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) != a ( c , e , g , f ) , b ? { value : c } : c } } , "binary<" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) < a ( c , e , g , f ) , b ? { value : c } : c } } , "binary>" : function ( d , a , b ) { return function ( c , e ,
g , f ) { return c = d ( c , e , g , f ) > a ( c , e , g , f ) , b ? { value : c } : c } } , "binary<=" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) <= a ( c , e , g , f ) , b ? { value : c } : c } } , "binary>=" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) >= a ( c , e , g , f ) , b ? { value : c } : c } } , "binary&&" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) && a ( c , e , g , f ) , b ? { value : c } : c } } , "binary||" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) || a ( c , e , g , f ) , b ? { value : c } : c } } , "ternary?:" : function ( d , a , b , c ) { return function ( e , g ,
f , l ) { return e = d ( e , g , f , l ) ? a ( e , g , f , l ) : b ( e , g , f , l ) , 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 , f , l , k ) { return g = f && d in f ? f : g , c && 1 !== c && g && ! g [ d ] && ( g [ d ] = { } ) , f = g ? g [ d ] : h , a && gb ( f , e ) , b ? { context : g , name : d , value : f } : f } } , computedMember : function ( d , a , b , c , e ) { return function ( g , f , l , h ) { var k , v , n = d ( g , f , l , h ) ; return null != n && ( k = a ( g , f , l , h ) , k = pd ( k ) , Zb ( k , e ) , c && 1 !== c && ( Qc ( n ) , n && ! n [ k ] && ( n [ k ] = { } ) ) , v = n [ k ] , gb ( v , e ) ) , b ? { context : n , name : k ,
value : v } : v } } , nonComputedMember : function ( d , a , b , c , e , g ) { return function ( f , l , k , v ) { return f = d ( f , l , k , v ) , e && 1 !== e && ( Qc ( f ) , f && ! f [ a ] && ( f [ a ] = { } ) ) , l = null != f ? f [ a ] : h , ( b || "constructor" == a ) && gb ( l , g ) , c ? { context : f , name : a , value : l } : l } } , inputs : function ( d , a ) { return function ( b , c , e , g ) { return g ? g [ a ] : d ( b , c , e ) } } } ; var eb = function ( d , a , b ) { this . lexer = d ; this . $filter = a ; this . options = b ; this . ast = new R ( this . lexer ) ; this . astCompiler = b . csp ? new of ( this . ast , a ) : new rd ( this . ast , a ) } ; eb . prototype = { constructor : eb , parse : function ( d ) { return this . astCompiler . compile ( d ,
this . options . expensiveChecks ) } } ; var Kg = Object . prototype . valueOf , $b = k ( "$sce" ) , zb = { HTML : "html" , CSS : "css" , URL : "url" , RESOURCE _URL : "resourceUrl" , JS : "js" } , $a = k ( "$compile" ) , Sa = f . createElement ( "a" ) , rf = Nb ( b . location . href ) ; sf . $inject = [ "$document" ] ; Ec . $inject = [ "$provide" ] ; var yf = 22 , xf = "." , tc = "0" ; ee . $inject = [ "$locale" ] ; he . $inject = [ "$locale" ] ; var vd = { yyyy : Ya ( "FullYear" , 4 ) , yy : Ya ( "FullYear" , 2 , 0 , ! 0 ) , y : Ya ( "FullYear" , 1 ) , MMMM : Sc ( "Month" ) , MMM : Sc ( "Month" , ! 0 ) , MM : Ya ( "Month" , 2 , 1 ) , M : Ya ( "Month" , 1 , 1 ) , dd : Ya ( "Date" , 2 ) , d : Ya ( "Date" ,
1 ) , HH : Ya ( "Hours" , 2 ) , H : Ya ( "Hours" , 1 ) , hh : Ya ( "Hours" , 2 , - 12 ) , h : Ya ( "Hours" , 1 , - 12 ) , mm : Ya ( "Minutes" , 2 ) , m : Ya ( "Minutes" , 1 ) , ss : Ya ( "Seconds" , 2 ) , s : Ya ( "Seconds" , 1 ) , sss : Ya ( "Milliseconds" , 3 ) , EEEE : Sc ( "Day" ) , EEE : Sc ( "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 ? "+" : "" ) + ( Rc ( Math [ 0 < d ? "floor" : "ceil" ] ( d / 60 ) , 2 ) + Rc ( Math . abs ( d % 60 ) , 2 ) ) } , ww : le ( 2 ) , w : le ( 1 ) , G : Tc , GG : Tc , GGG : Tc , 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+$/ ; fe . $inject = [ "$locale" ] ; var uf = y ( wa ) , td = y ( kb ) ; ie . $inject = [ "$parse" ] ; var cd = y ( { 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]" === sb . call ( a . prop ( "href" ) ) ? "xlink:href" : "href" ; a . on ( "click" , function ( d ) { a . attr ( b ) || d . preventDefault ( ) } ) } } } } ) , Cb = { } ; a ( Eb , function ( d , a ) { function b ( d , b , e ) { d . $watch ( e [ c ] , function ( d ) { e . $set ( a , ! ! d ) } ) } if ( "multiple" != d ) { var c = pb ( "ng-" + a ) , e = b ; "checked" === d && ( e = function ( d ,
a , e ) { e . ngModel !== e [ c ] && b ( d , a , e ) } ) ; Cb [ c ] = function ( ) { return { restrict : "A" , priority : 100 , link : e } } } } ) ; a ( Ud , function ( d , a ) { Cb [ a ] = function ( ) { return { priority : 100 , link : function ( d , b , c ) { return "ngPattern" === a && "/" == c . ngPattern . charAt ( 0 ) && ( b = c . ngPattern . match ( va ) ) ? 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 = pb ( "ng-" + d ) ; Cb [ a ] = function ( ) { return { priority : 99 , link : function ( b , c , e ) { var g = d , f = d ; "href" === d && "[object SVGAnimatedString]" ===
sb . call ( c . prop ( "href" ) ) && ( f = "xlinkHref" , e . $attr [ f ] = "xlink:href" , g = null ) ; e . $observe ( a , function ( a ) { a ? ( e . $set ( f , a ) , jc && g && c . prop ( g , e [ f ] ) ) : "href" === d && e . $set ( f , null ) } ) } } } } ) ; var wd = { $addControl : q , $$renameControl : function ( d , a ) { d . $name = a } , $removeControl : q , $setValidity : q , $setDirty : q , $setPristine : q , $setSubmitted : q } ; Cf . $inject = [ "$element" , "$attrs" , "$scope" , "$animate" , "$interpolate" ] ; var nc = function ( d ) { return [ "$timeout" , "$parse" , function ( a , b ) { function c ( d ) { return "" === d ? b ( 'this[""]' ) . assign : b ( d ) . assign || q } return { name : "form" ,
restrict : d ? "EAC" : "E" , require : [ "form" , "^^?form" ] , controller : Cf , compile : function ( b , e ) { b . addClass ( uc ) . addClass ( Xc ) ; var g = e . name ? "name" : ! ( ! d || ! e . ngForm ) && "ngForm" ; return { pre : function ( d , b , e , f ) { var l = f [ 0 ] ; if ( ! ( "action" in e ) ) { var k = function ( a ) { d . $apply ( function ( ) { l . $commitViewValue ( ) ; l . $setSubmitted ( ) } ) ; a . preventDefault ( ) } ; b [ 0 ] . addEventListener ( "submit" , k , ! 1 ) ; b . on ( "$destroy" , function ( ) { a ( function ( ) { b [ 0 ] . removeEventListener ( "submit" , k , ! 1 ) } , 0 , ! 1 ) } ) } ( f [ 1 ] || l . $$parentForm ) . $addControl ( l ) ; var v = g ? c ( l . $name ) :
q ; g && ( v ( d , l ) , e . $observe ( g , function ( a ) { l . $name !== a && ( v ( d , h ) , l . $$parentForm . $$renameControl ( l , a ) , ( v = c ( l . $name ) ) ( d , l ) ) } ) ) ; b . on ( "$destroy" , function ( ) { l . $$parentForm . $removeControl ( l ) ; v ( d , h ) ; n ( l , wd ) } ) } } } } } ] } , Be = nc ( ) , Xa = nc ( ! 0 ) , jb = /\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})$/ , Yc = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , re = /^(\d{4})-W(\d\d)$/ , Mf = /^(\d{4})-(\d\d)$/ , se = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , Vc = Na ( ) ; a ( [ "date" , "datetime-local" , "month" , "time" , "week" ] , function ( d ) { Vc [ d ] = ! 0 } ) ; var Zc = { text : function ( d , a , b , c , e , g ) { Uc ( d , a , b , c , e , g ) ; me ( c ) } , date : bc ( "date" , Lf , Ca ( Lf , [ "yyyy" , "MM" , "dd" ] ) , "yyyy-MM-dd" ) , "datetime-local" : bc ( "datetimelocal" , Yc , Ca ( Yc , "yyyy MM dd HH mm ss sss" . split ( " " ) ) ,
"yyyy-MM-ddTHH:mm:ss.sss" ) , time : bc ( "time" , se , Ca ( se , [ "HH" , "mm" , "ss" , "sss" ] ) , "HH:mm:ss.sss" ) , week : bc ( "week" , re , function ( d , a ) { if ( M ( d ) ) return d ; if ( u ( d ) ) { re . lastIndex = 0 ; var b = re . exec ( d ) ; if ( b ) { var c = + b [ 1 ] , e = + b [ 2 ] , g = b = 0 , f = 0 , l = 0 , k = ke ( c ) , e = 7 * ( e - 1 ) ; return a && ( b = a . getHours ( ) , g = a . getMinutes ( ) , f = a . getSeconds ( ) , l = a . getMilliseconds ( ) ) , new Date ( c , 0 , k . getDate ( ) + e , b , g , f , l ) } } return NaN } , "yyyy-Www" ) , month : bc ( "month" , Mf , Ca ( Mf , [ "yyyy" , "MM" ] ) , "yyyy-MM" ) , number : function ( d , a , b , c , e , g ) { if ( lc ( d , a , b , c ) , Uc ( 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 ( ! J ( d ) ) throw Wc ( "numfmt" , d ) ; d = d . toString ( ) } return d } ) , F ( b . min ) || b . ngMin ) { var f ; c . $validators . min = function ( d ) { return c . $isEmpty ( d ) || A ( f ) || d >= f } ; b . $observe ( "min" , function ( d ) { F ( d ) && ! J ( d ) && ( d = parseFloat ( d , 10 ) ) ; f = J ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } if ( F ( b . max ) || b . ngMax ) { var l ; c . $validators . max = function ( d ) { return c . $isEmpty ( d ) || A ( l ) || d <= l } ; b . $observe ( "max" , function ( d ) { F ( d ) &&
! J ( d ) && ( d = parseFloat ( d , 10 ) ) ; l = J ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } } , url : function ( d , a , b , c , e , g ) { Uc ( d , a , b , c , e , g ) ; me ( 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 ) { Uc ( d , a , b , c , e , g ) ; me ( 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 ) { A ( b . name ) && a . attr ( "name" , ++ wc ) ; 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 , f , l ) { var k = ne ( l , d , "ngTrueValue" , b . ngTrueValue , ! 0 ) , h = ne ( l , 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 X ( d , k ) } ) ; c . $parsers . push ( function ( d ) { return d ? k : h } ) } , hidden : q , button : q , submit : q , reset : q , file : q } , oc = [ "$browser" ,
"$sniffer" , "$filter" , "$parse" , function ( d , a , b , c ) { return { restrict : "E" , require : [ "?ngModel" ] , link : { pre : function ( e , g , f , l ) { l [ 0 ] && ( Zc [ wa ( f . type ) ] || Zc . text ) ( e , g , f , l [ 0 ] , a , d , b , c ) } } } } ] , Ab = /^(true|false|\d+)$/ , Ed = 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 ) } ) } } } } , Cd = [ "$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 = A ( 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 = A ( d ) ? "" : d } ) } } } } ] , Ce = [ "$sce" , "$parse" , "$compile" , function ( d , a , b ) { return { restrict : "A" , compile : function ( c , e ) { var g = a ( e . ngBindHtml ) , f = a ( e . ngBindHtml ,
function ( a ) { return d . valueOf ( a ) } ) ; return b . $$addBindingClass ( c ) , function ( a , c , e ) { b . $$addBindingInfo ( c , e . ngBindHtml ) ; a . $watch ( f , function ( ) { var b = g ( a ) ; c . html ( d . getTrustedHtml ( b ) || "" ) } ) } } } } ] , Dd = y ( { restrict : "A" , require : "ngModel" , link : function ( d , a , b , c ) { c . $viewChangeListeners . push ( function ( ) { d . $eval ( b . ngChange ) } ) } } ) , Bc = cc ( "" , ! 0 ) , Ee = cc ( "Odd" , 0 ) , Tf = cc ( "Even" , 1 ) , Uf = ib ( { 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 = pb ( "ng-" + d ) ; Ke [ a ] = [ "$parse" , "$rootScope" , function ( b , c ) { return { restrict : "A" , compile : function ( e , g ) { var f = b ( g [ a ] , null , ! 0 ) ; return function ( a , b ) { b . on ( d , function ( b ) { var e = function ( ) { f ( 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 l , k , h ; a . $watch ( c . ngIf , function ( a ) { a ? k || g ( function ( a , e ) { k = e ; a [ a . length ++ ] = f . createComment ( " end ngIf: " + c . ngIf + " " ) ; l = { clone : a } ; d . enter ( a , b . parent ( ) , b ) } ) : ( h && ( h . remove ( ) , h = null ) , k && ( k . $destroy ( ) , k = null ) , l && ( h = fc ( l . clone ) , d . leave ( h ) . then ( function ( ) { h = null } ) , l = null ) ) } ) } } } ] , Yf = [ "$templateRequest" , "$anchorScroll" , "$animate" , function ( d , a , b ) { return { restrict : "ECA" , priority : 400 , terminal : ! 0 , transclude : "element" ,
controller : Oa . noop , compile : function ( c , e ) { var g = e . ngInclude || e . src , f = e . onload || "" , l = e . autoscroll ; return function ( c , e , k , h , v ) { var n , m , t , q = 0 , r = function ( ) { m && ( m . remove ( ) , m = null ) ; n && ( n . $destroy ( ) , n = null ) ; t && ( b . leave ( t ) . then ( function ( ) { m = null } ) , m = t , t = null ) } ; c . $watch ( g , function ( g ) { var k = function ( ) { ! F ( l ) || l && ! c . $eval ( l ) || a ( ) } , m = ++ q ; g ? ( d ( g , ! 0 ) . then ( function ( d ) { if ( ! c . $$destroyed && m === q ) { var a = c . $new ( ) ; h . template = d ; d = v ( a , function ( d ) { r ( ) ; b . enter ( d , null , e ) . then ( k ) } ) ; n = a ; t = d ; n . $emit ( "$includeContentLoaded" , g ) ; c . $eval ( f ) } } ,
function ( ) { c . $$destroyed || m !== q || ( r ( ) , c . $emit ( "$includeContentError" , g ) ) } ) , c . $emit ( "$includeContentRequested" , g ) ) : ( r ( ) , h . 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 = ib ( { 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 ) || ", " , f = "false" !== c . ngTrim , l = f ? Ha ( g ) : g ; e . $parsers . push ( function ( d ) { if ( ! A ( d ) ) { var b = [ ] ; return d && a ( d . split ( l ) , function ( d ) { d && b . push ( f ? Ha ( d ) : d ) } ) , b } } ) ; e . $formatters . push ( function ( d ) { return ma ( d ) ? d . join ( g ) : h } ) ; e . $isEmpty = function ( d ) { return ! d || ! d . length } } } } , Xc = "ng-valid" , Ef = "ng-invalid" , uc = "ng-pristine" , xd = "ng-dirty" , yd = "ng-pending" , Wc = k ( "ngModel" ) , Nf = [ "$scope" , "$exceptionHandler" , "$attrs" ,
"$element" , "$parse" , "$animate" , "$timeout" , "$rootScope" , "$q" , "$interpolate" , function ( d , b , c , e , g , f , l , k , v , n ) { 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 = n ( c . name || "" , ! 1 ) ( d ) ; this . $$parentForm = wd ; var m , t = g ( c . ngModel ) ,
r = t . assign , p = t , w = r , u = null , B = this ; this . $$setOptions = function ( d ) { if ( ( B . $options = d ) && d . getterSetter ) { var a = g ( c . ngModel + "()" ) , b = g ( c . ngModel + "($$$p)" ) ; p = function ( d ) { var b = t ( d ) ; return H ( b ) && ( b = a ( d ) ) , b } ; w = function ( d , a ) { H ( t ( d ) ) ? b ( d , { $$$p : B . $modelValue } ) : r ( d , B . $modelValue ) } } else if ( ! t . assign ) throw Wc ( "nonassign" , c . ngModel , ca ( e ) ) ; } ; this . $render = q ; this . $isEmpty = function ( d ) { return A ( d ) || "" === d || null === d || d !== d } ; var z = 0 ; Df ( { ctrl : this , $element : e , set : function ( d , a ) { d [ a ] = ! 0 } , unset : function ( d , a ) { delete d [ a ] } , $animate : f } ) ;
this . $setPristine = function ( ) { B . $dirty = ! 1 ; B . $pristine = ! 0 ; f . removeClass ( e , xd ) ; f . addClass ( e , uc ) } ; this . $setDirty = function ( ) { B . $dirty = ! 0 ; B . $pristine = ! 1 ; f . removeClass ( e , uc ) ; f . addClass ( e , xd ) ; B . $$parentForm . $setDirty ( ) } ; this . $setUntouched = function ( ) { B . $touched = ! 1 ; B . $untouched = ! 0 ; f . setClass ( e , "ng-untouched" , "ng-touched" ) } ; this . $setTouched = function ( ) { B . $touched = ! 0 ; B . $untouched = ! 1 ; f . setClass ( e , "ng-touched" , "ng-untouched" ) } ; this . $rollbackViewValue = function ( ) { l . cancel ( u ) ; B . $viewValue = B . $$lastCommittedViewValue ;
B . $render ( ) } ; this . $validate = function ( ) { if ( ! J ( B . $modelValue ) || ! isNaN ( B . $modelValue ) ) { var d = B . $$rawModelValue , a = B . $valid , b = B . $modelValue , c = B . $options && B . $options . allowInvalid ; B . $$runValidators ( d , B . $$lastCommittedViewValue , function ( e ) { c || a === e || ( B . $modelValue = e ? d : h , B . $modelValue !== b && B . $$writeModelToScope ( ) ) } ) } } ; this . $$runValidators = function ( d , b , c ) { function e ( ) { var c = ! 0 ; return a ( B . $validators , function ( a , e ) { var x = a ( d , b ) ; c = c && x ; f ( e , x ) } ) , ! ! c || ( a ( B . $asyncValidators , function ( d , a ) { f ( a , null ) } ) , ! 1 ) } function g ( ) { var e =
[ ] , x = ! 0 ; a ( B . $asyncValidators , function ( a , c ) { var g = a ( d , b ) ; if ( ! g || ! H ( g . then ) ) throw Wc ( "nopromise" , g ) ; f ( c , h ) ; e . push ( g . then ( function ( ) { f ( c , ! 0 ) } , function ( d ) { x = ! 1 ; f ( c , ! 1 ) } ) ) } ) ; e . length ? v . all ( e ) . then ( function ( ) { l === z && c ( x ) } , q ) : l === z && c ( ! 0 ) } function f ( d , a ) { l === z && B . $setValidity ( d , a ) } z ++ ; var l = z ; ( function ( ) { var d = B . $$parserName || "parse" ; return A ( m ) ? ( f ( d , null ) , ! 0 ) : ( m || ( a ( B . $validators , function ( d , a ) { f ( a , null ) } ) , a ( B . $asyncValidators , function ( d , a ) { f ( a , null ) } ) ) , f ( d , m ) , m ) } ) ( ) && e ( ) ? g ( ) : l === z && c ( ! 1 ) } ; this . $commitViewValue =
function ( ) { var d = B . $viewValue ; l . cancel ( u ) ; ( B . $$lastCommittedViewValue !== d || "" === d && B . $$hasNativeValidators ) && ( B . $$lastCommittedViewValue = d , B . $pristine && this . $setDirty ( ) , this . $$parseAndValidate ( ) ) } ; this . $$parseAndValidate = function ( ) { var a = B . $$lastCommittedViewValue ; if ( m = ! A ( a ) || h ) for ( var b = 0 ; b < B . $parsers . length ; b ++ ) if ( a = B . $parsers [ b ] ( a ) , A ( a ) ) { m = ! 1 ; break } J ( B . $modelValue ) && isNaN ( B . $modelValue ) && ( B . $modelValue = p ( d ) ) ; var c = B . $modelValue , e = B . $options && B . $options . allowInvalid ; B . $$rawModelValue = a ; e && ( B . $modelValue =
a , B . $modelValue !== c && B . $$writeModelToScope ( ) ) ; B . $$runValidators ( a , B . $$lastCommittedViewValue , function ( d ) { e || ( B . $modelValue = d ? a : h , B . $modelValue !== c && B . $$writeModelToScope ( ) ) } ) } ; this . $$writeModelToScope = function ( ) { w ( d , B . $modelValue ) ; a ( B . $viewChangeListeners , function ( d ) { try { d ( ) } catch ( kg ) { b ( kg ) } } ) } ; this . $setViewValue = function ( d , a ) { B . $viewValue = d ; B . $options && ! B . $options . updateOnDefault || B . $$debounceViewValueCommit ( a ) } ; this . $$debounceViewValueCommit = function ( a ) { var b = 0 , c = B . $options ; c && F ( c . debounce ) && ( c =
c . debounce , J ( c ) ? b = c : J ( c [ a ] ) ? b = c [ a ] : J ( c [ "default" ] ) && ( b = c [ "default" ] ) ) ; l . cancel ( u ) ; b ? u = l ( function ( ) { B . $commitViewValue ( ) } , b ) : k . $$phase ? B . $commitViewValue ( ) : d . $apply ( function ( ) { B . $commitViewValue ( ) } ) } ; d . $watch ( function ( ) { var a = p ( d ) ; if ( a !== B . $modelValue && ( B . $modelValue === B . $modelValue || a === a ) ) { B . $modelValue = B . $$rawModelValue = a ; m = h ; for ( var b = B . $formatters , c = b . length , e = a ; c -- ; ) e = b [ c ] ( e ) ; B . $viewValue !== e && ( B . $viewValue = B . $$lastCommittedViewValue = e , B . $render ( ) , B . $$runValidators ( a , e , q ) ) } return a } ) } ] , Ie = [ "$rootScope" ,
function ( d ) { return { restrict : "A" , require : [ "ngModel" , "^?form" , "^?ngModelOptions" ] , controller : Nf , priority : 1 , compile : function ( a ) { return a . addClass ( uc ) . addClass ( "ng-untouched" ) . addClass ( Xc ) , { 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 = B ( d . $eval ( a . ngModelOptions ) ) ; F ( this . $options . updateOn ) ? ( this . $options . updateOnDefault = ! 1 , this . $options . updateOn = Ha ( this . $options . updateOn . replace ( qg , function ( ) { return b . $options . updateOnDefault =
! 0 , " " } ) ) ) : this . $options . updateOnDefault = ! 0 } ] } } , $f = ib ( { terminal : ! 0 , priority : 1E3 } ) , rg = k ( "ngOptions" ) , te = /^\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 c ( d , a , c ) { function g ( d , a , b , c , e ) { this . selectValue = d ; this . viewValue = a ; this . label = b ; this . group = c ; this . disabled = e } function f ( d ) { var a ;
if ( ! h && e ( d ) ) a = d ; else { a = [ ] ; for ( var b in d ) d . hasOwnProperty ( b ) && "$" !== b . charAt ( 0 ) && a . push ( b ) } return a } var l = d . match ( te ) ; if ( ! l ) throw rg ( "iexp" , d , ca ( a ) ) ; var k = l [ 5 ] || l [ 7 ] , h = l [ 6 ] ; d = / as / . test ( l [ 0 ] ) && l [ 1 ] ; var v = l [ 9 ] ; a = b ( l [ 2 ] ? l [ 1 ] : k ) ; var n = d && b ( d ) || a , m = v && b ( v ) , t = v ? function ( d , a ) { return m ( c , a ) } : function ( d ) { return nb ( d ) } , q = function ( d , a ) { return t ( d , z ( d , a ) ) } , r = b ( l [ 2 ] || l [ 1 ] ) , p = b ( l [ 3 ] || "" ) , B = b ( l [ 4 ] || "" ) , w = b ( l [ 8 ] ) , u = { } , z = h ? function ( d , a ) { return u [ h ] = a , u [ k ] = d , u } : function ( d ) { return u [ k ] = d , u } ; return { trackBy : v , getTrackByValue : q ,
getWatchables : b ( w , function ( d ) { var a = [ ] ; d = d || [ ] ; for ( var b = f ( d ) , e = b . length , g = 0 ; g < e ; g ++ ) { var k = d === b ? g : b [ g ] , h = z ( d [ k ] , k ) , k = t ( d [ k ] , h ) ; a . push ( k ) ; ( l [ 2 ] || l [ 1 ] ) && ( k = r ( c , h ) , a . push ( k ) ) ; l [ 4 ] && ( h = B ( c , h ) , a . push ( h ) ) } return a } ) , getOptions : function ( ) { for ( var d = [ ] , a = { } , b = w ( c ) || [ ] , e = f ( b ) , l = e . length , k = 0 ; k < l ; k ++ ) { var h = b === e ? k : e [ k ] , m = z ( b [ h ] , h ) , u = n ( c , m ) , h = t ( u , m ) , y = r ( c , m ) , A = p ( c , m ) , m = B ( c , m ) , u = new g ( h , u , y , A , m ) ; d . push ( u ) ; a [ h ] = u } return { items : d , selectValueMap : a , getOptionFromViewValue : function ( d ) { return a [ q ( d ) ] } , getViewValueFromOption : function ( d ) { return v ?
Oa . copy ( d . viewValue ) : d . viewValue } } } } } var g = f . createElement ( "option" ) , l = f . createElement ( "optgroup" ) ; return { restrict : "A" , terminal : ! 0 , require : [ "select" , "?ngModel" ] , link : { pre : function ( d , a , b , c ) { c [ 0 ] . registerOption = q } , post : function ( b , e , f , k ) { function h ( 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 v ( d , a , b , c ) { return a && wa ( 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 m ( d ) { var a = r && r [ 0 ] , b = y && y [ 0 ] ; if ( a || b ) for ( ; d && ( d === a || d === b || 8 === d . nodeType || "option" === ia ( d ) && "" === d . value ) ; ) d = d . nextSibling ; return d } function t ( ) { var d = A && p . readValue ( ) ; A = D . getOptions ( ) ; var a = { } , b = e [ 0 ] . firstChild ; if ( z && e . prepend ( r ) , b = m ( b ) , A . items . forEach ( function ( d ) { var c , x ; d . group ? ( c = a [ d . group ] , c || ( c = v ( e [ 0 ] , b , "optgroup" , l ) , b = c . nextSibling , c . label = d . group , c = a [ d . group ] = { groupElement : c , currentOptionElement : c . firstChild } ) , x = v ( c . groupElement ,
c . currentOptionElement , "option" , g ) , h ( d , x ) , c . currentOptionElement = x . nextSibling ) : ( x = v ( e [ 0 ] , b , "option" , g ) , h ( d , x ) , b = x . nextSibling ) } ) , Object . keys ( a ) . forEach ( function ( d ) { n ( a [ d ] . currentOptionElement ) } ) , n ( b ) , q . $render ( ) , ! q . $isEmpty ( d ) ) { var c = p . readValue ( ) ; ( D . trackBy || B ? X ( d , c ) : d === c ) || ( q . $setViewValue ( c ) , q . $render ( ) ) } } var q = k [ 1 ] ; if ( q ) { var r , p = k [ 0 ] , B = f . multiple ; k = 0 ; for ( var w = e . children ( ) , u = w . length ; k < u ; k ++ ) if ( "" === w [ k ] . value ) { r = w . eq ( k ) ; break } var z = ! ! r , y = ha ( g . cloneNode ( ! 1 ) ) ; y . val ( "?" ) ; var A , D = c ( f . ngOptions ,
e , b ) ; B ? ( q . $isEmpty = function ( d ) { return ! d || 0 === d . length } , p . 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 ) } ) } , p . readValue = function ( ) { var d = e . val ( ) || [ ] , b = [ ] ; return a ( d , function ( d ) { ( d = A . selectValueMap [ d ] ) && ! d . disabled && b . push ( A . getViewValueFromOption ( d ) ) } ) , b } , D . trackBy && b . $watchCollection ( function ( ) { if ( ma ( q . $viewValue ) ) return q . $viewValue . map ( function ( d ) { return D . getTrackByValue ( d ) } ) } ,
function ( ) { q . $render ( ) } ) ) : ( p . writeValue = function ( d ) { var a = A . getOptionFromViewValue ( d ) ; a && ! a . disabled ? ( e [ 0 ] . value !== a . selectValue && ( y . remove ( ) , z || r . remove ( ) , e [ 0 ] . value = a . selectValue , a . element . selected = ! 0 ) , a . element . setAttribute ( "selected" , "selected" ) ) : null === d || z ? ( y . remove ( ) , z || e . prepend ( r ) , e . val ( "" ) , r . prop ( "selected" , ! 0 ) , r . attr ( "selected" , ! 0 ) ) : ( z || r . remove ( ) , e . prepend ( y ) , e . val ( "?" ) , y . prop ( "selected" , ! 0 ) , y . attr ( "selected" , ! 0 ) ) } , p . readValue = function ( ) { var d = A . selectValueMap [ e . val ( ) ] ; return d && ! d . disabled ?
( z || r . remove ( ) , y . remove ( ) , A . getViewValueFromOption ( d ) ) : null } , D . trackBy && b . $watch ( function ( ) { return D . getTrackByValue ( q . $viewValue ) } , function ( ) { q . $render ( ) } ) ) ; z ? ( r . remove ( ) , d ( r ) ( b ) , r . removeClass ( "ng-scope" ) ) : r = ha ( g . cloneNode ( ! 1 ) ) ; t ( ) ; b . $watchCollection ( D . getWatchables , t ) } } } } } ] , ag = [ "$locale" , "$interpolate" , "$log" , function ( d , b , c ) { var e = /{}/g , g = /^when(Minus)?(.+)$/ ; return { link : function ( f , l , k ) { function h ( d ) { l . text ( d || "" ) } var v , n = k . count , m = k . $attr . when && l . attr ( k . $attr . when ) , t = k . offset || 0 , r = f . $eval ( m ) ||
{ } , p = { } , B = b . startSymbol ( ) , w = b . endSymbol ( ) , u = B + n + "-" + t + w , z = Oa . noop ; a ( k , function ( d , a ) { var b = g . exec ( a ) ; b && ( b = ( b [ 1 ] ? "-" : "" ) + wa ( b [ 2 ] ) , r [ b ] = l . attr ( k . $attr [ a ] ) ) } ) ; a ( r , function ( d , a ) { p [ a ] = b ( d . replace ( e , u ) ) } ) ; f . $watch ( n , function ( a ) { var b = parseFloat ( a ) , e = isNaN ( b ) ; e || b in r || ( b = d . pluralCat ( b - t ) ) ; b === v || e && J ( v ) && isNaN ( v ) || ( z ( ) , e = p [ b ] , A ( e ) ? ( null != a && c . debug ( "ngPluralize: no rule defined for '" + b + "' in " + m ) , z = q , h ( ) ) : z = f . $watch ( e , h ) , v = b ) } ) } } } ] , Cc = [ "$parse" , "$animate" , function ( d , b ) { var c = k ( "ngRepeat" ) , g = function ( d ,
a , b , c , e , g , f ) { d [ b ] = c ; e && ( d [ e ] = g ) ; d . $index = a ; d . $first = 0 === a ; d . $last = a === f - 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 ( l , k ) { var v = k . ngRepeat , n = f . createComment ( " end ngRepeat: " + v + " " ) , m = v . match ( /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ) ; if ( ! m ) throw c ( "iexp" , v ) ; var t = m [ 1 ] , r = m [ 2 ] , q = m [ 3 ] , p = m [ 4 ] , m = t . match ( /^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/ ) ;
if ( ! m ) throw c ( "iidexp" , t ) ; var B = m [ 3 ] || m [ 1 ] , w = m [ 2 ] ; if ( q && ( ! /^[$a-zA-Z_][$a-zA-Z0-9_]*$/ . test ( q ) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/ . test ( q ) ) ) throw c ( "badident" , q ) ; var u , z , y , A , D = { $id : nb } ; return p ? u = d ( p ) : ( y = function ( d , a ) { return nb ( a ) } , A = function ( d ) { return d } ) , function ( d , f , l , k , m ) { u && ( z = function ( a , b , c ) { return w && ( D [ w ] = a ) , D [ B ] = b , D . $index = c , u ( d , D ) } ) ; var t = Na ( ) ; d . $watchCollection ( r , function ( x ) { var E , l , k , r , p , u , D , U , F , N , ga = f [ 0 ] , M = Na ( ) ; if ( q && ( d [ q ] = x ) , e ( x ) ) U =
x , l = z || y ; else for ( N in l = z || A , U = [ ] , x ) rb . call ( x , N ) && "$" !== N . charAt ( 0 ) && U . push ( N ) ; r = U . length ; N = Array ( r ) ; for ( E = 0 ; E < r ; E ++ ) if ( p = x === U ? E : U [ E ] , u = x [ p ] , D = l ( p , u , E ) , t [ D ] ) F = t [ D ] , delete t [ D ] , M [ D ] = F , N [ E ] = F ; else { if ( M [ D ] ) throw a ( N , function ( d ) { d && d . scope && ( t [ d . id ] = d ) } ) , c ( "dupes" , v , D , u ) ; N [ E ] = { id : D , scope : h , clone : h } ; M [ D ] = ! 0 } for ( k in t ) { if ( F = t [ k ] , D = fc ( F . clone ) , b . leave ( D ) , D [ 0 ] . parentNode ) for ( E = 0 , l = D . length ; E < l ; E ++ ) D [ E ] . $$NG _REMOVED = ! 0 ; F . scope . $destroy ( ) } for ( E = 0 ; E < r ; E ++ ) if ( p = x === U ? E : U [ E ] , u = x [ p ] , F = N [ E ] , F . scope ) { k = ga ; do k =
k . nextSibling ; while ( k && k . $$NG _REMOVED ) ; F . clone [ 0 ] != k && b . move ( fc ( F . clone ) , null , ga ) ; ga = F . clone [ F . clone . length - 1 ] ; g ( F . scope , E , B , u , w , p , r ) } else m ( function ( d , a ) { F . scope = a ; var c = n . cloneNode ( ! 1 ) ; d [ d . length ++ ] = c ; b . enter ( d , null , ga ) ; ga = c ; F . clone = d ; M [ F . id ] = F ; g ( F . scope , E , B , u , w , p , r ) } ) ; t = M } ) } } } } ] , 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 = ib ( 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 l = [ ] , k = [ ] , h = [ ] , v = [ ] , n = function ( d , a ) { return function ( ) { d . splice ( a , 1 ) } } ; b . $watch ( e . ngSwitch || e . on , function ( b ) { var c ,
e ; c = 0 ; for ( e = h . length ; c < e ; ++ c ) d . cancel ( h [ c ] ) ; c = h . length = 0 ; for ( e = v . length ; c < e ; ++ c ) { var t = fc ( k [ c ] . clone ) ; v [ c ] . $destroy ( ) ; ( h [ c ] = d . leave ( t ) ) . then ( n ( h , c ) ) } k . length = 0 ; v . length = 0 ; ( l = g . cases [ "!" + b ] || g . cases [ "?" ] ) && a ( l , function ( a ) { a . transclude ( function ( b , c ) { v . push ( c ) ; var e = a . element ; b [ b . length ++ ] = f . createComment ( " end ngSwitchWhen: " ) ; k . push ( { clone : b } ) ; d . enter ( b , e . parent ( ) , e ) } ) } ) } ) } } } ] , cg = ib ( { 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 = ib ( { 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 = ib ( { restrict : "EAC" , link : function ( d , a , b , c , e ) { if ( ! e ) throw k ( "ngTransclude" ) ( "orphan" , ca ( 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 ) } } } ] , ue = { $setViewValue : q , $render : q } , sg = [ "$element" , "$scope" , "$attrs" , function ( d , a , b ) { var c = this , e = new Mb ; c . ngModelCtrl = ue ; c . unknownOption = ha ( f . createElement ( "option" ) ) ; c . renderUnknownOption = function ( a ) { a = "? " + nb ( a ) + " ?" ; c . unknownOption . val ( a ) ; d . prepend ( c . unknownOption ) ; d . val ( a ) } ; a . $on ( "$destroy" , function ( ) { c . renderUnknownOption = q } ) ; 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 f ; b . $observe ( "value" , function ( d ) { F ( f ) && c . removeOption ( f ) ; f = 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 f = e [ 0 ] ; if ( f . ngModelCtrl = g , b . on ( "change" , function ( ) { d . $apply ( function ( ) { g . $setViewValue ( f . readValue ( ) ) } ) } ) , c . multiple ) { f . readValue = function ( ) { var d = [ ] ; return a ( b . find ( "option" ) , function ( a ) { a . selected && d . push ( a . value ) } ) , d } ; f . writeValue = function ( d ) { var c = new Mb ( d ) ; a ( b . find ( "option" ) , function ( d ) { d . selected = F ( c . get ( d . value ) ) } ) } ; var l , k = NaN ; d . $watch ( function ( ) { k !== g . $viewValue || X ( l , g . $viewValue ) || ( l = U ( g . $viewValue ) , g . $render ( ) ) ; k = 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 ( F ( 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 = y ( { restrict : "E" , terminal : ! 1 } ) , pa = 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 ( ) } ) ) } } } , dd = 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 ( u ( d ) && 0 < d . length && ( d = new RegExp ( "^" + d + "$" ) ) , d && ! d . test ) throw k ( "ngPattern" ) ( "noregexp" , g , d , ca ( a ) ) ; e = d || h ; c . $validate ( ) } ) ; c . $validators . pattern = function ( d , a ) { return c . $isEmpty ( a ) || A ( e ) || e . test ( a ) } } } } } ,
ed = 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." ) : ( qa ( ) , ze ( Oa ) , Oa . 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" } } ) } ] ) , ha ( f ) . ready ( function ( ) { Da ( f , W ) } ) ) } ( 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 ( "duScrollSpyRefreshInterval" , 0 ) . 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-07-28 21:47:09 +00:00
angular . module ( "duScroll.scrollHelpers" , [ "duScroll.requestAnimation" ] ) . run ( [ "$window" , "$q" , "cancelAnimation" , "requestAnimation" , "duScrollEasing" , "duScrollDuration" , "duScrollOffset" , "duScrollCancelOnEvents" , function ( b , f , h , k , e , a , g , c ) { var t = { } , l = 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 ) ||
l ( 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 l ( f ) ? b . scrollTo ( a , c ) : ( f . scrollLeft = a , void ( f . scrollTop = c ) ) } ; var w , q ; t . duScrollToAnimated = function ( a , b , g , l ) { g && ! l && ( l = e ) ; var n = this . duScrollLeft ( ) , t = this . duScrollTop ( ) , r = Math . round ( a - n ) , z = Math . round ( b - t ) , y = null , D = 0 , A = this , O = function ( a ) { ( ! a || D && 0 < a . which ) && ( c && A . unbind ( c , O ) , h ( w ) , q . reject ( ) , w = null ) } ; if ( w &&
O ( ) , q = f . defer ( ) , 0 === g || ! r && ! z ) return 0 === g && A . duScrollTo ( a , b ) , q . resolve ( ) , q . promise ; var T = function ( a ) { null === y && ( y = a ) ; D = a - y ; a = D >= g ? 1 : l ( D / g ) ; A . scrollTo ( n + Math . ceil ( r * a ) , t + Math . ceil ( z * a ) ) ; 1 > a ? w = k ( T ) : ( c && A . unbind ( c , O ) , w = null , q . resolve ( ) ) } ; return A . duScrollTo ( n , t ) , c && A . bind ( c , O ) , w = k ( T ) , q . promise } ; t . duScrollToElement = function ( a , b , c , e ) { var f = r ( this ) ; angular . isNumber ( b ) && ! isNaN ( b ) || ( b = g ) ; a = this . duScrollTop ( ) + r ( a ) . getBoundingClientRect ( ) . top - b ; return n ( f ) && ( a -= f . getBoundingClientRect ( ) . top ) , this . duScrollTo ( 0 ,
a , c , e ) } ; t . duScrollLeft = function ( a , c , e ) { if ( angular . isNumber ( a ) ) return this . duScrollTo ( a , this . duScrollTop ( ) , c , e ) ; a = r ( this ) ; return l ( 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 l ( 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 , k ) { if ( b [ h ] ) return b [ h ] ; for ( var e , a = h . substr ( 0 , 1 ) . toUpperCase ( ) + h . substr ( 1 ) , g = 0 ; g < f . length ; g ++ ) if ( e = f [ g ] + a , b [ e ] ) return b [ e ] ; return k } } ] ) ;
angular . module ( "duScroll.requestAnimation" , [ "duScroll.polyfill" ] ) . factory ( "requestAnimation" , [ "polyfill" , "$timeout" , function ( b , f ) { var h = 0 ; return b ( "requestAnimationFrame" , function ( b , e ) { var a = ( new Date ) . getTime ( ) , g = Math . max ( 0 , 16 - ( a - h ) ) , c = f ( function ( ) { b ( a + g ) } , g ) ; return h = a + g , c } ) } ] ) . 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" , "$interval" , "$window" , "$document" , "scrollContainerAPI" , "duScrollGreedy" , "duScrollSpyWait" , "duScrollSpyRefreshInterval" , "duScrollBottomSpy" , "duScrollActiveClass" , function ( b , f , h , k , e , a , g , c , t , l , n ) { var r = function ( a ) { var h = ! 1 , t = ! 1 , r = function ( ) { t = ! 1 ; var c ; c = a . container [ 0 ] ; var f = 0 ; "undefined" != typeof HTMLElement && c instanceof HTMLElement || c . nodeType && c . nodeType === c . ELEMENT _NODE ? ( f = c . getBoundingClientRect ( ) . top ,
c = Math . round ( c . scrollTop + c . clientHeight ) >= c . scrollHeight ) : c = Math . round ( k . pageYOffset + k . innerHeight ) >= ( e [ 0 ] . body . scrollHeight || e [ 0 ] . documentElement . scrollHeight ) ; var h , r , q , p , w , u , z = l && c ? "bottom" : "top" ; p = a . spies ; r = a . currentlyActive ; q = void 0 ; for ( h = 0 ; h < p . length ; h ++ ) w = p [ h ] , ( u = w . getTargetPosition ( ) ) && w . $element && ( l && c || 20 > u . top + w . offset - f && ( g || - 1 * u . top + f ) < u . height ) && ( ! q || q [ z ] < u [ z ] ) && ( q = { spy : w } , q [ z ] = u [ z ] ) ; q && ( q = q . spy ) ; r === q || g && ! q || ( r && r . $element && ( r . $element . removeClass ( n ) , b . $broadcast ( "duScrollspy:becameInactive" ,
r . $element , angular . element ( r . getTargetElement ( ) ) ) ) , q && ( q . $element . addClass ( n ) , b . $broadcast ( "duScrollspy:becameActive" , q . $element , angular . element ( q . getTargetElement ( ) ) ) ) , a . currentlyActive = q ) } ; return c ? function ( ) { h ? t = ! 0 : ( r ( ) , h = f ( function ( ) { h = ! 1 ; t && r ( ) } , c , ! 1 ) ) } : r } , w = { } , q = function ( a ) { var b = a . $id , c = { spies : [ ] } ; return c . handler = r ( c ) , w [ b ] = c , a . $on ( "$destroy" , function ( ) { z ( a ) } ) , b } , z = function ( a ) { a = a . $id ; var b = w [ a ] , c = b . container ; b . intervalPromise && h . cancel ( b . intervalPromise ) ; c && c . off ( "scroll" , b . handler ) ; delete w [ a ] } ,
y = q ( b ) , D = function ( a ) { return w [ a . $id ] ? w [ a . $id ] : a . $parent ? D ( a . $parent ) : w [ y ] } , A = function ( a ) { var b , c , e = a . $scope ; if ( e ) return D ( e ) ; for ( c in w ) if ( b = w [ c ] , - 1 !== b . spies . indexOf ( a ) ) return b } ; return { addSpy : function ( b ) { var c = A ( b ) ; if ( c ) { c . spies . push ( b ) ; var e ; if ( e = c . container ) a : { for ( e = c . container ; e . parentNode ; ) if ( e = e . parentNode , e === document ) { e = ! 0 ; break a } e = ! 1 } e || ( c . container && c . container . off ( "scroll" , c . handler ) , c . container = a . getContainer ( b . $scope ) , t && ! c . intervalPromise && ( c . intervalPromise = h ( c . handler , t , 0 , ! 1 ) ) , c . container . on ( "scroll" ,
c . 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 : q , destroyContext : z , getContextForScope : D } } ] ) ;
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 ( k ) { return ( k = h ( k ) ) ? f [ k ] : b } , setContainer : function ( b , e ) { var a = b . $id ; return f [ a ] = e , 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 ( k , e , a ) { e . on ( "click" , function ( e ) { if ( a . href && - 1 !== a . href . indexOf ( "#" ) || "" !== a . duSmoothScroll ) { var c = a . href ? a . href . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : a . duSmoothScroll ; if ( ( c = document . getElementById ( c ) || document . getElementsByName ( c ) [ 0 ] ) && c . getBoundingClientRect ) { e . stopPropagation &&
e . stopPropagation ( ) ; e . preventDefault && e . preventDefault ( ) ; e = a . offset ? parseInt ( a . offset , 10 ) : f ; var g = a . duration ? parseInt ( a . duration , 10 ) : b ; h . getContainer ( k ) . duScrollToElement ( angular . element ( c ) , isNaN ( e ) ? 0 : e , isNaN ( g ) ? 0 : g ) } } } ) } } } ] ) ; angular . module ( "duScroll.spyContext" , [ "duScroll.spyAPI" ] ) . directive ( "duSpyContext" , [ "spyAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , k ) { return { pre : function ( e , a , g , c ) { b . createContext ( e ) } } } } } ] ) ;
angular . module ( "duScroll.scrollContainer" , [ "duScroll.scrollContainerAPI" ] ) . directive ( "duScrollContainer" , [ "scrollContainerAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , k ) { return { pre : function ( e , a , g , c ) { g . $observe ( "duScrollContainer" , function ( c ) { angular . isString ( c ) && ( c = document . getElementById ( c ) ) ; c = angular . isElement ( c ) ? angular . element ( c ) : a ; b . setContainer ( e , c ) ; e . $on ( "$destroy" , function ( ) { b . removeContainer ( e ) } ) } ) } } } } } ] ) ;
angular . module ( "duScroll.scrollspy" , [ "duScroll.spyAPI" ] ) . directive ( "duScrollspy" , [ "spyAPI" , "duScrollOffset" , "$timeout" , "$rootScope" , function ( b , f , h , k ) { var e = function ( a , b , c , e ) { angular . isElement ( a ) ? this . target = a : angular . isString ( a ) && ( this . targetId = a ) ; this . $scope = b ; this . $element = c ; this . offset = e } ; return e . prototype . getTargetElement = function ( ) { return ! this . target && this . targetId && ( this . target = document . getElementById ( this . targetId ) || document . getElementsByName ( this . targetId ) [ 0 ] ) , this . target } , e . prototype . getTargetPosition =
function ( ) { var a = this . getTargetElement ( ) ; if ( a ) return a . getBoundingClientRect ( ) } , e . prototype . flushTargetCache = function ( ) { this . targetId && ( this . target = void 0 ) } , { link : function ( a , g , c ) { var t , l = c . ngHref || c . href ; if ( l && - 1 !== l . indexOf ( "#" ) ? t = l . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : c . duScrollspy ? t = c . duScrollspy : c . duSmoothScroll && ( t = c . duSmoothScroll ) , t ) { var n = h ( function ( ) { var l = new e ( t , a , g , - ( c . offset ? parseInt ( c . offset , 10 ) : f ) ) ; b . addSpy ( l ) ; a . $on ( "$locationChangeSuccess" , l . flushTargetCache . bind ( l ) ) ; var h = k . $on ( "$stateChangeSuccess" ,
l . flushTargetCache . bind ( l ) ) ; a . $on ( "$destroy" , function ( ) { b . removeSpy ( l ) ; 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-07-28 21:47:09 +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 e = { ENTER : "\n" , TAB : "\t" , SPACE : " " } [ f ] ; return e ? e : 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 e = this [ 0 ] , a = e . matches || e . webkitMatchesSelector || e . mozMatchesSelector || e . msMatchesSelector ; e ; ) { if ( a . bind ( e ) ( b ) ) return e ; e = e . 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 e = b . apply ( this , arguments ) . message . replace ( /\nhttp:\/\/errors.angularjs.org\/.*/ , "" ) ; return Error ( e ) } } ) . directive ( "uisTranscludeAppend" , function ( ) { return { link : function ( b , e , a , g , c ) { c ( b , function ( a ) { e . append ( a ) } ) } } } ) . filter ( "highlight" , function ( ) { return function ( b ,
e ) { return e && b ? ( "" + b ) . replace ( new RegExp ( ( "" + e ) . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , '<span class="ui-select-highlight">$&</span>' ) : b } } ) . factory ( "uisOffset" , [ "$document" , "$window" , function ( b , e ) { return function ( a ) { var g = a [ 0 ] . getBoundingClientRect ( ) ; return { width : g . width || a . prop ( "offsetWidth" ) , height : g . height || a . prop ( "offsetHeight" ) , top : g . top + ( e . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : g . left + ( e . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } } ] ) ; h . directive ( "uiSelectChoices" , [ "uiSelectConfig" ,
"uisRepeatParser" , "uiSelectMinErr" , "$compile" , "$window" , function ( b , e , a , g , c ) { 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 ( g , f ) { if ( ! f . repeat ) throw a ( "repeat" , "Expected 'repeat' expression." ) ; var l = f . groupBy , h = f . groupFilter ; if ( l ) { var k = g . querySelectorAll ( ".ui-select-choices-group" ) ; if ( 1 !== k . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-group but got '{0}'." ,
k . length ) ; k . attr ( "ng-repeat" , e . getGroupNgRepeatExpression ( ) ) } var k = e . parse ( f . repeat ) , t = g . 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" , k . repeatExpression ( l ) ) . attr ( "ng-if" , "$select.open" ) ; var z = g . querySelectorAll ( ".ui-select-choices-row-inner" ) ; if ( 1 !== z . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-row-inner but got '{0}'." , z . length ) ; z . attr ( "uis-transclude-append" , "" ) ; return ( c . document . addEventListener ?
t : z ) . attr ( "ng-click" , "$select.select(" + k . itemName + ",$select.skipFocusser,$event)" ) , function ( a , c , e , g ) { g . parseRepeatAttr ( e . repeat , l , 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 , e , a , g , c , h , l , n , r , w , q ) { function k ( a , b , c ) { if ( a . findIndex ) return a . findIndex ( b , c ) ; var e ; a = Object ( a ) ; for ( var g = a . length >>> 0 , f = 0 ; g > f ; f ++ ) if ( e = a [ f ] , b . call ( c , e , f , a ) ) return f ; return - 1 }
function t ( ) { ( p . resetSearchInput || void 0 === p . resetSearchInput && n . resetSearchInput ) && ( p . search = u , p . selected && p . items . length && ! p . multiple && ( p . activeIndex = k ( p . items , function ( a ) { return angular . equals ( this , a ) } , p . selected ) ) ) } function D ( 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 A ( a ) { var c = ! 0 ; switch ( a ) { case b . DOWN : ! p . open && p . multiple ? p . activate ( ! 1 , ! 0 ) : p . activeIndex < p . items . length - 1 && p . activeIndex ++ ; break ; case b . UP : ! p . open && p . multiple ?
p . activate ( ! 1 , ! 0 ) : ( 0 < p . activeIndex || 0 === p . search . length && p . tagging . isActivated && - 1 < p . activeIndex ) && p . activeIndex -- ; break ; case b . TAB : p . multiple && ! p . open || p . select ( p . items [ p . activeIndex ] , ! 0 ) ; break ; case b . ENTER : p . open && ( p . tagging . isActivated || 0 <= p . activeIndex ) ? p . select ( p . items [ p . activeIndex ] , p . skipFocusser ) : p . activate ( ! 1 , ! 0 ) ; break ; case b . ESC : p . close ( ) ; break ; default : c = ! 1 } return c } function F ( ) { var a = e . querySelectorAll ( ".ui-select-choices-content" ) , b = a . querySelectorAll ( ".ui-select-choices-row" ) ; if ( 1 > b . length ) throw l ( "choices" ,
"Expected multiple .ui-select-choices-row but got '{0}'." , b . length ) ; if ( ! ( 0 > p . activeIndex ) ) { var b = b [ p . activeIndex ] , c = b . offsetTop + b . clientHeight - a [ 0 ] . scrollTop , g = a [ 0 ] . offsetHeight ; c > g ? a [ 0 ] . scrollTop += c - g : c < b . clientHeight && ( p . isGrouped && 0 === p . activeIndex ? a [ 0 ] . scrollTop = 0 : a [ 0 ] . scrollTop -= b . clientHeight - c ) } } var p = this , u = "" ; p . placeholder = n . placeholder ; p . searchEnabled = n . searchEnabled ; p . sortable = n . sortable ; p . refreshDelay = n . refreshDelay ; p . paste = n . paste ; p . removeSelected = n . removeSelected ; p . closeOnSelect = ! 0 ;
p . skipFocusser = ! 1 ; p . search = u ; p . activeIndex = 0 ; p . items = [ ] ; p . open = ! 1 ; p . focus = ! 1 ; p . disabled = ! 1 ; p . selected = void 0 ; p . dropdownPosition = "auto" ; p . focusser = void 0 ; p . resetSearchInput = ! 0 ; p . setSearchToAnswer = ! 1 ; p . searchBy = void 0 ; p . multiple = void 0 ; p . disableChoiceExpression = void 0 ; p . tagging = { isActivated : ! 1 , fct : void 0 } ; p . taggingTokens = { isActivated : ! 1 , tokens : void 0 } ; p . lockChoiceExpression = void 0 ; p . clickTriggeredSelect = ! 1 ; p . $filter = g ; p . $element = e ; g = p ; var J ; try { J = w . get ( "$animate" ) } catch ( Y ) { J = null } if ( g . $animate = J , p . searchInput =
e . querySelectorAll ( "input.ui-select-search" ) , 1 !== p . searchInput . length ) throw l ( "searchInput" , "Expected 1 input.ui-select-search but got '{0}'." , p . searchInput . length ) ; p . isEmpty = function ( ) { return angular . isUndefined ( p . selected ) || null === p . selected || "" === p . selected || p . multiple && 0 === p . selected . length } ; p . activate = function ( b , c ) { if ( ! p . disabled && ! p . open ) { c || t ( ) ; f . $broadcast ( "uis:activate" ) ; p . open = ! 0 ; p . activeIndex = p . activeIndex >= p . items . length ? 0 : p . activeIndex ; - 1 === p . activeIndex && ! 1 !== p . taggingLabel && ( p . activeIndex =
0 ) ; var g = e . querySelectorAll ( ".ui-select-choices-content" ) , l = e . querySelectorAll ( ".ui-select-search" ) ; if ( p . $animate && p . $animate . on && p . $animate . enabled ( g [ 0 ] ) ) { var h = function ( c , e ) { "start" === e && 0 === p . items . length ? ( p . $animate . off ( "removeClass" , l [ 0 ] , h ) , a ( function ( ) { p . focusSearchInput ( b ) } ) ) : "close" === e && ( p . $animate . off ( "enter" , g [ 0 ] , h ) , a ( function ( ) { p . focusSearchInput ( b ) } ) ) } ; 0 < p . items . length ? p . $animate . on ( "enter" , g [ 0 ] , h ) : p . $animate . on ( "removeClass" , l [ 0 ] , h ) } else a ( function ( ) { p . focusSearchInput ( b ) ; ! p . tagging . isActivated &&
2017-07-20 23:09:21 +00:00
1 < p . items . length && F ( ) } ) } } ; p . focusSearchInput = function ( a ) { p . search = a || p . search ; p . searchInput [ 0 ] . focus ( ) } ; p . findGroupByName = function ( a ) { return p . groups && p . groups . filter ( function ( b ) { return b . name === a } ) [ 0 ] } ; p . parseRepeatAttr = function ( a , b , c ) { function e ( a ) { var e = f . $eval ( b ) ; if ( p . groups = [ ] , angular . forEach ( a , function ( a ) { var b = angular . isFunction ( e ) ? e ( a ) : a [ e ] , c = p . findGroupByName ( b ) ; c ? c . items . push ( a ) : p . groups . push ( { name : b , items : [ a ] } ) } ) , c ) a = f . $eval ( c ) , angular . isFunction ( a ) ? p . groups = a ( p . groups ) : angular . isArray ( a ) &&
2017-07-28 21:47:09 +00:00
( p . groups = D ( p . groups , a ) ) ; p . items = [ ] ; p . groups . forEach ( function ( a ) { p . items = p . items . concat ( a . items ) } ) } function g ( a ) { p . items = a } p . setItemsFn = b ? e : g ; p . parserResult = h . parse ( a ) ; p . isGrouped = ! ! b ; p . itemProperty = p . parserResult . itemName ; var k = p . parserResult . source , n = function ( ) { var a = k ( f ) ; f . $uisSource = Object . keys ( a ) . map ( function ( b ) { var c = { } ; return c [ p . parserResult . keyName ] = b , c . value = a [ b ] , c } ) } ; p . parserResult . keyName && ( n ( ) , p . parserResult . source = r ( "$uisSource" + p . parserResult . filters ) , f . $watch ( k , function ( a , b ) { a !== b &&
2017-04-11 11:04:48 +00:00
n ( ) } , ! 0 ) ) ; p . refreshItems = function ( a ) { a = a || p . parserResult . source ( f ) ; var b = p . selected ; p . isEmpty ( ) || angular . isArray ( b ) && ! b . length || ! p . removeSelected ? p . 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 ) } ) , p . setItemsFn ( a ) ) ; "auto" !== p . dropdownPosition && "up" !== p . dropdownPosition || f . calculateDropdownPos ( ) ; f . $broadcast ( "uis:refresh" ) } ; f . $watchCollection ( p . parserResult . source , function ( a ) { if ( void 0 === a || null === a ) p . items =
2017-07-28 21:47:09 +00:00
[ ] ; else { if ( ! angular . isArray ( a ) ) throw l ( "items" , "Expected an array but got '{0}'." , a ) ; p . refreshItems ( a ) ; angular . isDefined ( p . ngModel . $modelValue ) && ( p . ngModel . $modelValue = null ) } } ) } ; var M ; p . refresh = function ( b ) { void 0 !== b && ( M && a . cancel ( M ) , M = a ( function ( ) { f . $eval ( b ) } , p . refreshDelay ) ) } ; p . isActive = function ( a ) { if ( ! p . open ) return ! 1 ; var b = p . items . indexOf ( a [ p . itemProperty ] ) , c = b == p . activeIndex ; return ! ( ! c || 0 > b ) && ( c && ! angular . isUndefined ( p . onHighlightCallback ) && a . $eval ( p . onHighlightCallback ) , c ) } ; var H = function ( a ) { return p . selected &&
angular . isArray ( p . selected ) && 0 < p . selected . filter ( function ( b ) { return angular . equals ( b , a ) } ) . length } ; p . isDisabled = function ( a ) { if ( p . open ) { var b , c = p . items . indexOf ( a [ p . itemProperty ] ) , e = ! 1 ; return 0 <= c && ( ! angular . isUndefined ( p . disableChoiceExpression ) || p . multiple ) && ( b = p . items [ c ] , e = ! ! a . $eval ( p . disableChoiceExpression ) || H ( b ) , b . _uiSelectChoiceDisabled = e ) , e } } ; p . select = function ( b , c , e ) { if ( ! ( void 0 !== b && b . _uiSelectChoiceDisabled || ! ( p . items || p . search || p . tagging . isActivated ) || b && b . _uiSelectChoiceDisabled ) ) { if ( p . tagging . isActivated ) { if ( ! 1 ===
p . taggingLabel ) if ( 0 > p . activeIndex ) { if ( b = void 0 !== p . tagging . fct ? p . tagging . fct ( p . search ) : p . search , ! b || angular . equals ( p . items [ 0 ] , b ) ) return } else b = p . items [ p . activeIndex ] ; else if ( 0 === p . activeIndex ) { if ( void 0 === b ) return ; if ( void 0 !== p . tagging . fct && "string" == typeof b ) { if ( b = p . tagging . fct ( b ) , ! b ) return } else "string" == typeof b && ( b = b . replace ( p . taggingLabel , "" ) . trim ( ) ) } if ( H ( b ) ) return void p . close ( c ) } f . $broadcast ( "uis:select" , b ) ; var g = { } ; g [ p . parserResult . itemName ] = b ; a ( function ( ) { p . onSelectCallback ( f , { $item : b , $model : p . parserResult . modelMapper ( f ,
g ) } ) } ) ; p . closeOnSelect && p . close ( c ) ; e && "click" === e . type && ( p . clickTriggeredSelect = ! 0 ) } } ; p . close = function ( a ) { p . open && ( p . ngModel && p . ngModel . $setTouched && p . ngModel . $setTouched ( ) , t ( ) , ( p . setSearchToAnswer || void 0 === p . setSearchToAnswer && n . setSearchToAnswer ) && ( console . log ( "searchBy: " + p . searchBy ) , p . searchBy && ( console . log ( "_setSearchToAnswer" ) , p . resetSearchInput = ! 1 , p . search = p . selected [ p . searchBy ] ) ) , p . open = ! 1 , f . $broadcast ( "uis:close" , a ) ) } ; p . setFocus = function ( ) { p . focus || p . focusInput [ 0 ] . focus ( ) } ; p . clear = function ( b ) { p . select ( void 0 ) ;
b . stopPropagation ( ) ; a ( function ( ) { p . focusser [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; p . toggle = function ( a ) { p . open ? ( p . close ( ) , a . preventDefault ( ) , a . stopPropagation ( ) ) : p . activate ( ) } ; p . isLocked = function ( a , b ) { var c , e = p . selected [ b ] ; return e && ! angular . isUndefined ( p . lockChoiceExpression ) && ( c = ! ! a . $eval ( p . lockChoiceExpression ) , e . _uiSelectChoiceLocked = c ) , c } ; var I = null , O = ! 1 ; p . sizeSearchInput = function ( ) { var b = p . searchInput [ 0 ] , c = p . searchInput . parent ( ) . parent ( ) [ 0 ] , e = function ( a ) { if ( 0 === a ) return ! 1 ; var c = a - b . offsetLeft - 10 ; return 50 > c && ( c =
a ) , p . searchInput . css ( "width" , c + "px" ) , ! 0 } ; p . searchInput . css ( "width" , "10px" ) ; a ( function ( ) { null !== I || e ( c . clientWidth * ! ! b . offsetParent ) || ( I = f . $watch ( function ( ) { O || ( O = ! 0 , f . $$postDigest ( function ( ) { O = ! 1 ; e ( c . clientWidth * ! ! b . offsetParent ) && ( I ( ) , I = null ) } ) ) } , angular . noop ) ) } ) } ; p . 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 < p . items . length || p . tagging . isActivated ) && ( A ( e ) , p . taggingTokens . isActivated ) ) { for ( var f =
0 ; f < p . taggingTokens . tokens . length ; f ++ ) p . taggingTokens . tokens [ f ] === b . MAP [ c . keyCode ] && 0 < p . search . length && ( g = ! 0 ) ; g && a ( function ( ) { p . searchInput . triggerHandler ( "tagged" ) ; var a = p . search . replace ( b . MAP [ c . keyCode ] , "" ) . trim ( ) ; p . tagging . fct && ( a = p . tagging . fct ( a ) ) ; a && p . select ( a , ! 0 ) } ) } } ) ; b . isVerticalMovement ( e ) && 0 < p . items . length && F ( ) ; e !== b . ENTER && e !== b . ESC || ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) ; p . 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 = p . search + c , c && 0 < c . length ) if ( p . taggingTokens . isActivated ) { for ( var e = [ ] , g = 0 ; g < p . taggingTokens . tokens . length ; g ++ ) { var f = b . toSeparator ( p . taggingTokens . tokens [ g ] ) || p . taggingTokens . tokens [ g ] ; if ( - 1 < c . indexOf ( f ) ) { e = c . split ( f ) ; break } } if ( 0 === e . length && ( e = [ c ] ) , 0 < e . length ) c = p . search , angular . forEach ( e , function ( a ) { ( a = p . tagging . fct ? p . tagging . fct ( a ) : a ) && p . select ( a , ! 0 ) } ) , p . search = c || u , a . preventDefault ( ) , a . stopPropagation ( ) } else p . paste && ( p . paste ( c ) , p . search =
u , a . preventDefault ( ) , a . stopPropagation ( ) ) } ) ; p . searchInput . on ( "tagged" , function ( ) { a ( function ( ) { t ( ) } ) } ) ; var T = c ( function ( ) { p . sizeSearchInput ( ) } , 50 ) ; angular . element ( q ) . bind ( "resize" , T ) ; f . $on ( "$destroy" , function ( ) { p . searchInput . off ( "keyup keydown tagged blur paste" ) ; angular . element ( q ) . off ( "resize" , T ) } ) } ] ) ; h . directive ( "uiSelect" , [ "$document" , "uiSelectConfig" , "uiSelectMinErr" , "uisOffset" , "$compile" , "$parse" , "$timeout" , function ( b , e , a , g , c , f , l ) { return { restrict : "EA" , templateUrl : function ( a , b ) { return ( b . theme ||
e . 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 ( c , h ) { var k = /{(.*)}\s*{(.*)}/ . exec ( h . ngClass ) ; k && ( k = "{" + k [ 1 ] + ", " + k [ 2 ] + "}" , h . ngClass = k , c . attr ( "ng-class" , k ) ) ; return angular . isDefined ( h . multiple ) ? c . append ( "<ui-select-multiple/>" ) . removeAttr ( "multiple" ) : c . append ( "<ui-select-single/>" ) , h . inputId && ( c . querySelectorAll ( "input.ui-select-search" ) [ 0 ] . id =
h . inputId ) , function ( c , h , k , n , t ) { function r ( a ) { if ( w . open ) { var b = ! 1 ; if ( b = window . jQuery ? window . jQuery . contains ( h [ 0 ] , a . target ) : h [ 0 ] . contains ( a . target ) , ! b && ! w . clickTriggeredSelect ) { var e ; w . skipFocusser ? e = ! 0 : ( b = [ "input" , "button" , "textarea" , "select" ] , ( e = ( e = angular . element ( a . target ) . controller ( "uiSelect" ) ) && e !== w ) || ( e = ~ b . indexOf ( a . target . tagName . toLowerCase ( ) ) ) ) ; w . close ( e ) ; c . $digest ( ) } w . clickTriggeredSelect = ! 1 } } function q ( ) { null !== z && ( z . replaceWith ( h ) , z = null , h [ 0 ] . style . position = "" , h [ 0 ] . style . left = "" , h [ 0 ] . style . top =
"" , h [ 0 ] . style . width = D , w . setFocus ( ) ) } var w = n [ 0 ] ; n = n [ 1 ] ; w . generatedId = e . generateId ( ) ; w . baseTitle = k . title || "Select box" ; w . focusserTitle = w . baseTitle + " focus" ; w . focusserId = "focusser-" + w . generatedId ; w . closeOnSelect = angular . isDefined ( k . closeOnSelect ) ? f ( k . closeOnSelect ) ( ) : e . closeOnSelect ; c . $watch ( "skipFocusser" , function ( ) { var a = c . $eval ( k . skipFocusser ) ; w . skipFocusser = void 0 !== a ? a : e . skipFocusser } ) ; w . onSelectCallback = f ( k . onSelect ) ; w . onRemoveCallback = f ( k . onRemove ) ; w . ngModel = n ; w . choiceGrouped = function ( a ) { return w . isGrouped &&
a && a . name } ; k . tabindex && k . $observe ( "tabindex" , function ( a ) { w . focusInput . attr ( "tabindex" , a ) ; h . removeAttr ( "tabindex" ) } ) ; c . $watch ( "searchEnabled" , function ( ) { var a = c . $eval ( k . searchEnabled ) ; w . searchEnabled = void 0 !== a ? a : e . searchEnabled } ) ; c . $watch ( "sortable" , function ( ) { var a = c . $eval ( k . sortable ) ; w . sortable = void 0 !== a ? a : e . sortable } ) ; k . $observe ( "limit" , function ( ) { w . limit = angular . isDefined ( k . limit ) ? parseInt ( k . limit , 10 ) : void 0 } ) ; c . $watch ( "removeSelected" , function ( ) { var a = c . $eval ( k . removeSelected ) ; w . removeSelected =
void 0 !== a ? a : e . removeSelected } ) ; k . $observe ( "disabled" , function ( ) { w . disabled = void 0 !== k . disabled && k . disabled } ) ; k . $observe ( "resetSearchInput" , function ( ) { var a = c . $eval ( k . resetSearchInput ) ; w . resetSearchInput = void 0 === a || a } ) ; k . $observe ( "setSearchToAnswer" , function ( ) { var a = c . $eval ( k . setSearchToAnswer ) ; w . setSearchToAnswer = void 0 === a || a } ) ; k . $observe ( "searchBy" , function ( ) { w . searchBy = k . searchBy } ) ; k . $observe ( "paste" , function ( ) { w . paste = c . $eval ( k . paste ) } ) ; k . $observe ( "tagging" , function ( ) { if ( void 0 !== k . tagging ) { var a =
c . $eval ( k . tagging ) ; w . tagging = { isActivated : ! 0 , fct : ! 0 !== a ? a : void 0 } } else w . tagging = { isActivated : ! 1 , fct : void 0 } } ) ; k . $observe ( "taggingLabel" , function ( ) { void 0 !== k . tagging && ( "false" === k . taggingLabel ? w . taggingLabel = ! 1 : w . taggingLabel = void 0 !== k . taggingLabel ? k . taggingLabel : "(new)" ) } ) ; k . $observe ( "taggingTokens" , function ( ) { if ( void 0 !== k . tagging ) { var a = void 0 !== k . taggingTokens ? k . taggingTokens . split ( "|" ) : [ "," , "ENTER" ] ; w . taggingTokens = { isActivated : ! 0 , tokens : a } } } ) ; angular . isDefined ( k . autofocus ) && l ( function ( ) { w . setFocus ( ) } ) ;
angular . isDefined ( k . focusOn ) && c . $on ( k . focusOn , function ( ) { l ( function ( ) { w . setFocus ( ) } ) } ) ; b . on ( "click" , r ) ; c . $on ( "$destroy" , function ( ) { b . off ( "click" , r ) } ) ; t ( c , 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 = c . $eval ( k . appendToBody ) ; ( void 0 !== t ? t : e . appendToBody ) && ( c . $watch ( "$select.open" ,
function ( a ) { a ? ( a = g ( h ) , z = angular . element ( '<div class="ui-select-placeholder"></div>' ) , z [ 0 ] . style . width = a . width + "px" , z [ 0 ] . style . height = a . height + "px" , h . after ( z ) , D = 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" ) : q ( ) } ) , c . $on ( "$destroy" , function ( ) { q ( ) } ) ) ; var z = null , D = "" , A = null ; c . $watch ( "$select.open" , function ( ) { "auto" !== w . dropdownPosition && "up" !== w . dropdownPosition || c . calculateDropdownPos ( ) } ) ; var y =
function ( a , b ) { a || g ( h ) ; b = b || g ( A ) ; A [ 0 ] . style . position = "absolute" ; A [ 0 ] . style . top = - 1 * b . height + "px" ; h . addClass ( "direction-up" ) } , O = function ( ) { l ( function ( ) { if ( "up" === w . dropdownPosition ) y ( ) ; else { h . removeClass ( "direction-up" ) ; var a = g ( h ) , c = g ( A ) ; a . top + a . height + c . height > ( b [ 0 ] . documentElement . scrollTop || b [ 0 ] . body . scrollTop ) + b [ 0 ] . documentElement . clientHeight ? y ( a , c ) : ( h . removeClass ( "direction-up" ) , a || g ( h ) , c || g ( A ) , A [ 0 ] . style . position = "" , A [ 0 ] . style . top = "" ) } A [ 0 ] . style . opacity = 1 } ) } ; c . calculateDropdownPos = function ( ) { if ( w . open ) { if ( A =
angular . element ( h ) . querySelectorAll ( ".ui-select-dropdown" ) , 0 !== A . length ) if ( A [ 0 ] . style . opacity = 0 , ! g ( A ) . height && w . $animate && w . $animate . on && w . $animate . enabled ( A ) ) { var a = ! 0 ; w . $animate . on ( "enter" , A , function ( b , c ) { "close" === c && a && ( O ( ) , a = ! 1 ) } ) } else O ( ) } else null !== A && 0 !== A . length && ( A [ 0 ] . style . opacity = 0 , A [ 0 ] . style . position = "" , A [ 0 ] . style . top = "" , h . removeClass ( "direction-up" ) ) } } } } } ] ) ; h . directive ( "uiSelectMatch" , [ "uiSelectConfig" , function ( b ) { function e ( 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 g = a . parent ( ) ; a = e ( g , "theme" ) || b . theme ; g = angular . isDefined ( e ( g , "multiple" ) ) ; return a + ( g ? "/match-multiple.tpl.html" : "/match.tpl.html" ) } , link : function ( a , e , c , f ) { function g ( a ) { f . allowClear = ! ! angular . isDefined ( a ) && ( "" === a || "true" === a . toLowerCase ( ) ) } f . lockChoiceExpression = c . uiLockChoice ; c . $observe ( "placeholder" , function ( a ) { f . placeholder =
void 0 !== a ? a : b . placeholder } ) ; c . $observe ( "allowClear" , g ) ; g ( c . allowClear ) ; f . multiple && f . sizeSearchInput ( ) } } } ] ) ; h . directive ( "uiSelectMultiple" , [ "uiSelectMinErr" , "$timeout" , function ( f , e ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , controller : [ "$scope" , "$timeout" , function ( a , b ) { var c , e = this , g = a . $select ; angular . isUndefined ( g . selected ) && ( g . selected = [ ] ) ; a . $evalAsync ( function ( ) { c = a . ngModel } ) ; e . activeMatchIndex = - 1 ; e . updateModel = function ( ) { c . $setViewValue ( Date . now ( ) ) ; e . refreshComponent ( ) } ; e . refreshComponent =
function ( ) { g . refreshItems ( ) ; g . sizeSearchInput ( ) } ; e . removeChoice = function ( c ) { var f = g . selected [ c ] ; if ( ! f . _uiSelectChoiceLocked ) { var l = { } ; l [ g . parserResult . itemName ] = f ; g . selected . splice ( c , 1 ) ; e . activeMatchIndex = - 1 ; g . sizeSearchInput ( ) ; b ( function ( ) { g . onRemoveCallback ( a , { $item : f , $model : g . parserResult . modelMapper ( a , l ) } ) } ) ; e . updateModel ( ) } } ; e . getPlaceholder = function ( ) { return g . selected && g . selected . length ? void 0 : g . placeholder } } ] , controllerAs : "$selectMultiple" , link : function ( a , g , c , h ) { function l ( a ) { return angular . isNumber ( a . selectionStart ) ?
a . selectionStart : a . value . length } function k ( a ) { function c ( ) { switch ( a ) { case b . LEFT : return ~ y . activeMatchIndex ? k : g ; case b . RIGHT : return ~ y . activeMatchIndex && f !== g ? h : ( q . activate ( ) , ! 1 ) ; case b . BACKSPACE : return ~ y . activeMatchIndex ? ( y . removeChoice ( f ) , k ) : g ; case b . DELETE : return ! ! ~ y . activeMatchIndex && ( y . removeChoice ( y . activeMatchIndex ) , f ) } } var e = l ( q . searchInput [ 0 ] ) , g = q . selected . length - 1 , f = y . activeMatchIndex , h = y . activeMatchIndex + 1 , k = y . activeMatchIndex - 1 , n = f ; return ! ( 0 < e || q . search . length && a == b . RIGHT ) && ( q . close ( ) , n =
c ( ) , q . selected . length && ! 1 !== n ? y . activeMatchIndex = Math . min ( g , Math . max ( 0 , n ) ) : y . activeMatchIndex = - 1 , ! 0 ) } function t ( a ) { return void 0 === a || void 0 === q . search ? ! 1 : 0 < a . filter ( function ( a ) { return void 0 !== q . search . toUpperCase ( ) && void 0 !== a && a . toUpperCase ( ) === q . search . toUpperCase ( ) } ) . length } function w ( a , b ) { var c = - 1 ; if ( angular . isArray ( a ) ) for ( var e = angular . copy ( a ) , g = 0 ; g < e . length ; g ++ ) if ( void 0 === q . tagging . fct ) e [ g ] + " " + q . taggingLabel === b && ( c = g ) ; else { var f = e [ g ] ; angular . isObject ( f ) && ( f . isTag = ! 0 ) ; angular . equals ( f , b ) &&
( c = g ) } return c } var q = h [ 0 ] , z = a . ngModel = h [ 1 ] , y = a . $selectMultiple ; q . multiple = ! 0 ; q . focusInput = q . searchInput ; z . $isEmpty = function ( a ) { return ! a || 0 === a . length } ; z . $parsers . unshift ( function ( ) { for ( var b , c = [ ] , e = q . selected . length - 1 ; 0 <= e ; e -- ) b = { } , b [ q . parserResult . itemName ] = q . selected [ e ] , b = q . parserResult . modelMapper ( a , b ) , c . unshift ( b ) ; return c } ) ; z . $formatters . unshift ( function ( b ) { var c , e = q . parserResult && q . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( ! e ) return b ; var f = [ ] , l = function ( b , e ) { if ( b && b . length ) { for ( var l =
b . length - 1 ; 0 <= l ; l -- ) { if ( g [ q . parserResult . itemName ] = b [ l ] , c = q . parserResult . modelMapper ( a , g ) , q . parserResult . trackByExp ) { var h = /(\w*)\./ . exec ( q . parserResult . trackByExp ) , k = /\.([^\s]+)/ . exec ( q . parserResult . trackByExp ) ; if ( h && 0 < h . length && h [ 1 ] == q . parserResult . itemName && k && 0 < k . length && c [ k [ 1 ] ] == e [ k [ 1 ] ] ) return f . unshift ( b [ l ] ) , ! 0 } if ( angular . equals ( c , e ) ) return f . unshift ( b [ l ] ) , ! 0 } return ! 1 } } ; if ( ! b ) return f ; for ( var h = b . length - 1 ; 0 <= h ; h -- ) l ( q . selected , b [ h ] ) || l ( e , b [ h ] ) || f . unshift ( b [ h ] ) ; return f } ) ; a . $watchCollection ( function ( ) { return z . $modelValue } ,
function ( a , b ) { b != a && ( angular . isDefined ( z . $modelValue ) && ( z . $modelValue = null ) , y . refreshComponent ( ) ) } ) ; z . $render = function ( ) { if ( ! angular . isArray ( z . $viewValue ) ) { if ( ! angular . isUndefined ( z . $viewValue ) && null !== z . $viewValue ) throw f ( "multiarr" , "Expected model value to be array but got '{0}'" , z . $viewValue ) ; q . selected = [ ] } q . selected = z . $viewValue ; y . refreshComponent ( ) ; a . $evalAsync ( ) } ; a . $on ( "uis:select" , function ( a , b ) { q . selected . length >= q . limit || ( q . selected . push ( b ) , y . updateModel ( ) ) } ) ; a . $on ( "uis:activate" , function ( ) { y . activeMatchIndex =
- 1 } ) ; a . $watch ( "$select.disabled" , function ( a , b ) { b && ! a && q . sizeSearchInput ( ) } ) ; q . searchInput . on ( "keydown" , function ( c ) { var e = c . which ; a . $apply ( function ( ) { var a = ! 1 ; b . isHorizontalMovement ( e ) && ( a = k ( e ) ) ; a && e != b . TAB && ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) } ) ; q . searchInput . on ( "keyup" , function ( c ) { if ( ( b . isVerticalMovement ( c . which ) || a . $evalAsync ( function ( ) { q . activeIndex = ! 1 === q . taggingLabel ? - 1 : 0 } ) , q . tagging . isActivated && 0 < q . search . length ) && ! ( c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC ||
b . isVerticalMovement ( c . which ) || ( q . activeIndex = ! 1 === q . taggingLabel ? - 1 : 0 , ! 1 === q . taggingLabel ) ) ) { var e , g , f , l , h = angular . copy ( q . items ) ; c = angular . copy ( q . items ) ; var k = ! 1 , n = - 1 ; if ( void 0 !== q . tagging . fct ) { if ( f = q . $filter ( "filter" ) ( h , { isTag : ! 0 } ) , 0 < f . length && ( l = f [ 0 ] ) , 0 < h . length && l && ( k = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = q . tagging . fct ( q . search ) , c . some ( function ( a ) { return angular . equals ( a , e ) } ) || q . selected . some ( function ( a ) { return angular . equals ( a , e ) } ) ) return void a . $evalAsync ( function ( ) { q . activeIndex =
0 ; q . items = h } ) ; e && ( e . isTag = ! 0 ) } else { if ( f = q . $filter ( "filter" ) ( h , function ( a ) { return a . match ( q . taggingLabel ) } ) , 0 < f . length && ( l = f [ 0 ] ) , g = h [ 0 ] , void 0 !== g && 0 < h . length && l && ( k = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = q . search + " " + q . taggingLabel , - 1 < w ( q . selected , q . search ) ) return ; if ( t ( c . concat ( q . selected ) ) ) return void ( k && ( h = c , a . $evalAsync ( function ( ) { q . activeIndex = 0 ; q . items = h } ) ) ) ; if ( t ( c ) ) return void ( k && ( q . items = c . slice ( 1 , c . length ) ) ) } k && ( n = w ( q . 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 ( q . activeIndex = 0 , q . items = h , q . isGrouped ) { var a = e ? h . slice ( 1 ) : h ; q . setItemsFn ( a ) ; e && ( q . items . unshift ( e ) , q . groups . unshift ( { name : "" , items : [ e ] , tagging : ! 0 } ) ) } } ) } } ) ; q . searchInput . on ( "blur" , function ( ) { e ( function ( ) { y . activeMatchIndex = - 1 } ) } ) } } } ] ) ; h . directive ( "uiSelectNoChoice" , [ "uiSelectConfig" , function ( b ) { return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( e ) { e . addClass ( "ui-select-no-choice" ) ; return ( e . parent ( ) . attr ( "theme" ) || b . theme ) +
"/no-choice.tpl.html" } } } ] ) ; h . directive ( "uiSelectSingle" , [ "$timeout" , "$compile" , function ( f , e ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , link : function ( a , g , c , h ) { var l = h [ 0 ] , k = h [ 1 ] ; k . $parsers . unshift ( function ( b ) { var c = { } ; return c [ l . parserResult . itemName ] = b , l . parserResult . modelMapper ( a , c ) } ) ; k . $formatters . unshift ( function ( b ) { var c , e = l . parserResult && l . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( e ) { var f = function ( e ) { return g [ l . parserResult . itemName ] = e , c = l . parserResult . modelMapper ( a , g ) ,
c === b } ; if ( l . selected && f ( l . selected ) ) return l . 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 ) { k . $viewValue !== a && k . $setViewValue ( a ) } ) ; k . $render = function ( ) { l . selected = k . $viewValue } ; a . $on ( "uis:select" , function ( a , b ) { l . selected = b } ) ; a . $on ( "uis:close" , function ( a , b ) { f ( function ( ) { l . focusser . prop ( "disabled" , ! 1 ) ; b || l . 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' />" ) ;
e ( t ) ( a ) ; l . focusser = t ; l . focusInput = t ; g . parent ( ) . append ( t ) ; t . bind ( "focus" , function ( ) { a . $evalAsync ( function ( ) { l . focus = ! 0 } ) } ) ; t . bind ( "blur" , function ( ) { a . $evalAsync ( function ( ) { l . focus = ! 1 } ) } ) ; t . bind ( "keydown" , function ( c ) { return c . which === b . BACKSPACE ? ( c . preventDefault ( ) , c . stopPropagation ( ) , l . 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 ( ) ,
l . 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 || ( l . activate ( t . val ( ) ) , t . val ( "" ) , a . $digest ( ) ) } ) } } } ] ) ; h . directive ( "uiSelectSort" , [ "$timeout" , "uiSelectConfig" , "uiSelectMinErr" , function ( b , e , a ) { return { require : [ "^^uiSelect" , "^ngModel" ] , link : function ( e , c , f , l ) { if ( null === e [ f . uiSelectSort ] ) throw a ( "sort" , "Expected a list to sort" ) ; var g = l [ 0 ] , h = l [ 1 ] , k = angular . extend ( { axis : "horizontal" } ,
e . $eval ( f . uiSelectSortOptions ) ) . axis ; e . $watch ( function ( ) { return g . sortable } , function ( a ) { a ? c . attr ( "draggable" , ! 0 ) : c . removeAttr ( "draggable" ) } ) ; c . on ( "dragstart" , function ( a ) { c . addClass ( "dragging" ) ; ( a . dataTransfer || a . originalEvent . dataTransfer ) . setData ( "text" , e . $index . toString ( ) ) } ) ; c . on ( "dragend" , function ( ) { y ( "dragging" ) } ) ; var t , z = function ( a , b ) { this . splice ( b , 0 , this . splice ( a , 1 ) [ 0 ] ) } , y = function ( a ) { angular . forEach ( g . $element . querySelectorAll ( "." + a ) , function ( b ) { angular . element ( b ) . removeClass ( a ) } ) } , D = function ( a ) { a . preventDefault ( ) ;
( "vertical" === k ? a . offsetY || a . layerY || ( a . originalEvent ? a . originalEvent . offsetY : 0 ) : a . offsetX || a . layerX || ( a . originalEvent ? a . originalEvent . offsetX : 0 ) ) < this [ "vertical" === k ? "offsetHeight" : "offsetWidth" ] / 2 ? ( y ( "dropping-after" ) , c . addClass ( "dropping-before" ) ) : ( y ( "dropping-before" ) , c . addClass ( "dropping-after" ) ) } , A = function ( a ) { a . preventDefault ( ) ; var c = parseInt ( ( a . dataTransfer || a . originalEvent . dataTransfer ) . getData ( "text" ) , 10 ) ; b . cancel ( t ) ; t = b ( function ( ) { F ( c ) } , 20 ) } , F = function ( a ) { var b = e . $eval ( f . uiSelectSort ) ,
g = b [ a ] , l = null , l = c . hasClass ( "dropping-before" ) ? a < e . $index ? e . $index - 1 : e . $index : a < e . $index ? e . $index : e . $index + 1 ; z . apply ( b , [ a , l ] ) ; h . $setViewValue ( Date . now ( ) ) ; e . $apply ( function ( ) { e . $emit ( "uiSelectSort:change" , { array : b , item : g , from : a , to : l } ) } ) ; y ( "dropping" ) ; y ( "dropping-before" ) ; y ( "dropping-after" ) ; c . off ( "drop" , A ) } ; c . on ( "dragenter" , function ( ) { c . hasClass ( "dragging" ) || ( c . addClass ( "dropping" ) , c . on ( "dragover" , D ) , c . on ( "drop" , A ) ) } ) ; c . on ( "dragleave" , function ( a ) { a . target == c && ( y ( "dropping" ) , y ( "dropping-before" ) , y ( "dropping-after" ) ,
c . off ( "dragover" , D ) , c . off ( "drop" , A ) ) } ) } } } ] ) ; h . factory ( "$$uisDebounce" , [ "$timeout" , function ( b ) { return function ( e , a ) { var g ; return function ( ) { var c = this , f = Array . prototype . slice . call ( arguments ) ; g && b . cancel ( g ) ; g = b ( function ( ) { e . apply ( c , f ) } , a ) } } } ] ) ; h . service ( "uisRepeatParser" , [ "uiSelectMinErr" , "$parse" , function ( b , e ) { this . parse = function ( a ) { var g ; if ( g = 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*$/ ) ,
! g ) throw b ( "iexp" , "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'." , a ) ; a = g [ 5 ] ; var c = "" ; if ( g [ 3 ] ) { a = g [ 5 ] . replace ( /(^\()|(\)$)/g , "" ) ; var f = g [ 5 ] . match ( /^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/ ) ; f && f [ 1 ] . trim ( ) && ( c = f [ 1 ] , a = a . replace ( c , "" ) ) } return { itemName : g [ 4 ] || g [ 2 ] , keyName : g [ 3 ] , source : e ( a ) , filters : c , trackByExp : g [ 6 ] , modelMapper : e ( g [ 1 ] || g [ 4 ] || g [ 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-07-28 21:47:09 +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-07-28 21:47:09 +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 , e ) { return { restrict : "A" , scope : { isBusy : "=vBusy" , busyLabel : "@vBusyLabel" , busyText : "@vBusyText" } , compile : function ( a , g ) { var c = b . element ( a . find ( "span" ) ) ; return c [ 0 ] || ( a . html ( "<span>" + a . html ( ) + "</span>" ) , c = b . element ( a . find ( "span" ) ) ) , function ( a , b ) { var f = c . html ( ) , l = a . busyLabel || e . busyLabel , h = a . busyText ; a . $watch ( "isBusy" , function ( a ) { a ? ( b . addClass ( e . states . busy ) , c . html ( l ) ) : ( b . removeClass ( e . states . busy ) , c . html ( h || f ) ) } ) ; g . $observe ( "vBusyLabel" , function ( a ) { l = a } ) ; g . $observe ( "vBusyText" ,
function ( a ) { h = a } ) } } } } function h ( f , e ) { return { restrict : "A" , link : function ( a , g ) { function c ( ) { g . removeClass ( e . states . pressed ) ; r . unbind ( k , c ) } var h = "undefined" != typeof f [ 0 ] . documentElement . ontouchstart , l = h ? "touchstart" : "mousedown" , k = h ? "touchend" : "mouseup" , r = b . element ( f [ 0 ] . body ) ; g . bind ( l , function ( a ) { var l = a . pageX , h = a . pageY , n = g [ 0 ] . getBoundingClientRect ( ) ; a = g [ 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" ; g . append ( a ) ;
l = l - n . left - a . offsetWidth / 2 - r [ 0 ] . scrollLeft ; h = h - n . top - a . offsetHeight / 2 - r [ 0 ] . scrollTop ; a . style . left = l + "px" ; a . style . top = h + "px" ; g . addClass ( e . states . pressed ) ; r . bind ( k , c ) } ) } } } 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 k ( 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 e = f . $$minErr ( "$resource" ) , a = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/ ; f . module ( "ngResource" , [ "ng" ] ) . provider ( "$resource" , function ( ) { var b = /^https?:\/\/[^\/]*/ , c = 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 ( g , l , n ) { function t ( a , b ) { this . template = a ; this . defaults = y ( { } , c . defaults , b ) ; this . urlParams = { } } function w ( b , r , u , J ) { function p ( b , c ) { var g = { } ; return c = y ( { } , r , c ) , z ( c , function ( c , l ) { A ( c ) && ( c = c ( ) ) ; var k ; if ( c && c . charAt && "@" == c . charAt ( 0 ) ) { k = b ; var n = c . substr ( 1 ) ; if ( null == n || "" === n || "hasOwnProperty" === n || ! a . test ( "." + n ) ) throw e ( "badmember" , n ) ; for ( var n = n . split ( "." ) , t = 0 , r = n . length ; t < r && f . isDefined ( k ) ; t ++ ) { var q = n [ t ] ; k = null !== k ? k [ q ] : h } } else k = c ; g [ l ] = k } ) , g } function F ( a ) { return a . resource }
function I ( a ) { k ( a || { } , this ) } var O = new t ( b , J ) ; return u = y ( { } , c . defaults . actions , u ) , I . prototype . toJSON = function ( ) { var a = y ( { } , this ) ; return delete a . $promise , delete a . $resolved , a } , z ( u , function ( a , b ) { var c = /^(POST|PUT|PATCH)$/i . test ( a . method ) ; I [ b ] = function ( t , r , w , u ) { var B , U , N , M = { } ; switch ( arguments . length ) { case 4 : N = u , U = w ; case 3 : case 2 : if ( ! A ( r ) ) { M = t ; B = r ; U = w ; break } if ( A ( t ) ) { U = t ; N = r ; break } U = r ; N = w ; case 1 : A ( t ) ? U = t : c ? B = t : M = t ; break ; case 0 : break ; default : throw e ( "badargs" , arguments . length ) ; } var S = this instanceof I ,
H = S ? B : a . isArray ? [ ] : new I ( B ) , J = { } , ia = a . interceptor && a . interceptor . response || F , K = a . interceptor && a . interceptor . responseError || h ; return z ( a , function ( a , b ) { switch ( b ) { default : J [ b ] = D ( a ) ; break ; case "params" : case "isArray" : case "interceptor" : break ; case "timeout" : a && ! f . isNumber ( a ) && l . 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." ) } } ) ,
c && ( J . data = B ) , O . setUrlParams ( J , y ( { } , p ( B , a . params || { } ) , M ) , a . url ) , M = g ( J ) . then ( function ( c ) { var g = c . data , l = H . $promise ; if ( g ) { if ( f . isArray ( g ) !== ! ! a . isArray ) throw e ( "badcfg" , b , a . isArray ? "array" : "object" , f . isArray ( g ) ? "array" : "object" , J . method , J . url ) ; a . isArray ? ( H . length = 0 , z ( g , function ( a ) { "object" == typeof a ? H . push ( new I ( a ) ) : H . push ( a ) } ) ) : ( k ( g , H ) , H . $promise = l ) } return H . $resolved = ! 0 , c . resource = H , c } , function ( a ) { return H . $resolved = ! 0 , ( N || q ) ( a ) , n . reject ( a ) } ) , M = M . then ( function ( a ) { var b = ia ( a ) ; return ( U || q ) ( b , a . headers ) ,
b } , K ) , S ? M : ( H . $promise = M , H . $resolved = ! 1 , H ) } ; I . prototype [ "$" + b ] = function ( a , c , e ) { return A ( a ) && ( e = c , c = a , a = { } ) , a = I [ b ] . call ( this , a , this , c , e ) , a . $promise || a } } ) , I . bind = function ( a ) { return w ( b , y ( { } , r , a ) , u ) } , I } var q = f . noop , z = f . forEach , y = f . extend , D = f . copy , A = f . isFunction ; return t . prototype = { setUrlParams : function ( a , c , g ) { var l , h , k = this , n = g || k . template , t = "" , r = k . urlParams = { } ; z ( n . split ( /\W/ ) , function ( a ) { if ( "hasOwnProperty" === a ) throw e ( "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 , "" } ) ; c = c || { } ; z ( k . urlParams , function ( a , b ) { l = c . hasOwnProperty ( b ) ? c [ b ] : k . defaults [ b ] ; f . isDefined ( l ) && null !== l ? ( h = encodeURIComponent ( l ) . 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 } ) } ) ; k . defaults . stripTrailingSlashes && ( n = n . replace ( /\/+$/ , "" ) || "/" ) ; n = n . replace ( /\/\.(?=\w+($|\?))/ , "." ) ; a . url = t + n . replace ( /\/\\\./ , "/." ) ; z ( c , function ( b , c ) { k . urlParams [ c ] || ( a . params = a . params || { } , a . params [ c ] = b ) } ) } } , w } ] } ) } ) ( window , window . angular ) ; "undefined" != typeof module && "undefined" != typeof exports && module . exports === exports && ( module . exports = "ui.router" ) ;
( function ( b , f , h ) { function k ( a , b ) { return V ( new ( V ( function ( ) { } , { prototype : a } ) ) , b ) } function e ( a ) { return da ( arguments , function ( b ) { b !== a && da ( b , function ( b , c ) { a . hasOwnProperty ( c ) || ( a [ c ] = b ) } ) } ) , a } function a ( a ) { if ( Object . keys ) return Object . keys ( a ) ; var b = [ ] ; return da ( a , function ( a , c ) { b . push ( c ) } ) , b } function g ( 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 c ( b ,
c , e , f ) { var l , h = [ ] , k ; for ( k in e . path ) { if ( e . path [ k ] !== f . path [ k ] ) break ; h . push ( e . path [ k ] ) } e = { } ; f = [ ] ; for ( var n in h ) if ( h [ n ] && h [ n ] . params && ( l = a ( h [ n ] . params ) , l . length ) ) for ( var v in l ) 0 <= g ( f , l [ v ] ) || ( f . push ( l [ v ] ) , e [ l [ v ] ] = b [ l [ v ] ] ) ; return V ( { } , e , 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 l ( a , b ) { var c = { } ; return da ( 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 da ( 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 ) ) , e ; for ( e in a ) - 1 == g ( c , e ) && ( b [ e ] = a [ e ] ) ; return b } function w ( a , b ) { var c = na ( a ) , e = c ? [ ] : { } ; return da ( a , function ( a , g ) { b ( a , g ) && ( e [ c ? e . length : g ] = a ) } ) , e } function q ( a , b ) { var c = na ( a ) ? [ ] : { } ; return da ( a , function ( a , e ) { c [ e ] = b ( a , e ) } ) , c } function z ( b , c ) { var f = { } , l = [ ] , k = V ( b . when ( f ) , { $$promises : f , $$values : f } ) ; this . study = function ( n ) { function v ( a , b ) { if ( 2 !== w [ b ] ) { if ( B . push ( b ) ,
1 === w [ b ] ) throw B . splice ( 0 , g ( B , b ) ) , Error ( "Cyclic dependency: " + B . join ( " -> " ) ) ; if ( w [ b ] = 1 , ba ( a ) ) p . push ( b , [ function ( ) { return c . get ( a ) } ] , l ) ; else { var e = c . annotate ( a ) ; da ( e , function ( a ) { a !== b && n . hasOwnProperty ( a ) && v ( n [ a ] , a ) } ) ; p . push ( b , a , e ) } B . pop ( ) ; w [ b ] = 2 } } function t ( a ) { return P ( a ) && a . then && a . $$promises } if ( ! P ( n ) ) throw Error ( "'invocables' must be an object" ) ; var q = a ( n || { } ) , p = [ ] , B = [ ] , w = { } ; return da ( n , v ) , n = B = w = null , function ( a , g , l ) { function n ( ) { -- A || ( D || e ( y , g . $$values ) , u . $$values = y , u . $$promises = u . $$promises ||
! 0 , delete u . $$inheritedValues , w . resolve ( y ) ) } function v ( a ) { u . $$failure = a ; w . reject ( a ) } function B ( e , g , f ) { function h ( a ) { t . reject ( a ) ; v ( a ) } function k ( ) { if ( ! X ( u . $$failure ) ) try { t . resolve ( c . invoke ( g , l , y ) ) , t . promise . then ( function ( a ) { y [ e ] = a ; n ( ) } , h ) } catch ( Lb ) { h ( Lb ) } } var t = b . defer ( ) , r = 0 ; da ( f , function ( b ) { z . hasOwnProperty ( b ) && ! a . hasOwnProperty ( b ) && ( r ++ , z [ b ] . then ( function ( a ) { y [ b ] = a ; -- r || k ( ) } , h ) ) } ) ; r || k ( ) ; z [ e ] = t . promise } if ( t ( a ) && l === h && ( l = g , g = a , a = null ) , a ) { if ( ! P ( a ) ) throw Error ( "'locals' must be an object" ) ; } else a =
f ; if ( g ) { if ( ! t ( g ) ) throw Error ( "'parent' must be a promise returned by $resolve.resolve()" ) ; } else g = k ; var w = b . defer ( ) , u = w . promise , z = u . $$promises = { } , y = V ( { } , a ) , A = 1 + p . length / 3 , D = ! 1 ; if ( X ( g . $$failure ) ) return v ( g . $$failure ) , u ; g . $$inheritedValues && e ( y , r ( g . $$inheritedValues , q ) ) ; V ( z , g . $$promises ) ; g . $$values ? ( D = e ( y , r ( g . $$values , q ) ) , u . $$inheritedValues = r ( g . $$values , q ) , n ( ) ) : ( g . $$inheritedValues && ( u . $$inheritedValues = r ( g . $$inheritedValues , q ) ) , g . then ( n , v ) ) ; for ( var ga = 0 , U = p . length ; U > ga ; ga += 3 ) a . hasOwnProperty ( p [ ga ] ) ?
n ( ) : B ( p [ ga ] , p [ ga + 1 ] , p [ ga + 2 ] ) ; return u } } ; this . resolve = function ( a , b , c , e ) { return this . study ( a ) ( b , c , e ) } } function y ( a , b , c ) { this . fromConfig = function ( a , b , c ) { return X ( a . template ) ? this . fromString ( a . template , b ) : X ( a . templateUrl ) ? this . fromUrl ( a . templateUrl , b ) : X ( a . templateProvider ) ? this . fromProvider ( a . templateProvider , b , c ) : null } ; this . fromString = function ( a , b ) { return L ( a ) ? a ( b ) : a } ; this . fromUrl = function ( c , e ) { return L ( 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 D ( a , b , c ) { function e ( b , c , e , g ) { if ( w . push ( b ) , p [ b ] ) return p [ b ] ; if ( ! /^\w+([-.]+\w+)*(?:\[\])?$/ . test ( b ) ) throw Error ( "Invalid parameter name '" + b + "' in pattern '" + a + "'" ) ; if ( B [ b ] ) throw Error ( "Duplicate parameter name '" + b + "' in pattern '" + a + "'" ) ; return B [ b ] = new la . Param ( b , c , e , g ) , B [ 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 f ( c , e ) { var g , f , l , n , v ; return g = c [ 2 ] || c [ 3 ] , v = b . params [ g ] , l = a . substring ( r , c . index ) , f = e ? c [ 4 ] : c [ 4 ] || ( "*" == c [ 1 ] ? ".*" : null ) , f && ( n = la . type ( f ) || k ( la . type ( "string" ) , { pattern : new RegExp ( f , b . caseInsensitive ? "i" : h ) } ) ) , { id : g , regexp : f , segment : l , type : n , cfg : v } } b = V ( { params : { } } , P ( b ) ? b : { } ) ; var l , n = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g , v = /([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g ,
t = "^" , r = 0 , q = this . segments = [ ] , p = c ? c . params : { } , B = this . params = c ? c . params . $$new ( ) : new la . ParamSet , w = [ ] ; this . source = a ; for ( var u , z ; ( l = n . exec ( a ) ) && ( u = f ( l , ! 1 ) , ! ( 0 <= u . segment . indexOf ( "?" ) ) ) ; ) z = e ( u . id , u . type , u . cfg , "path" ) , t += g ( u . segment , z . type . pattern . source , z . squash , z . isOptional ) , q . push ( u . segment ) , r = n . lastIndex ; c = a . substring ( r ) ; l = c . indexOf ( "?" ) ; if ( 0 <= l ) { var y = this . sourceSearch = c . substring ( l ) ; if ( c = c . substring ( 0 , l ) , this . sourcePath = a . substring ( 0 , r + l ) , 0 < y . length ) for ( r = 0 ; l = v . exec ( y ) ; ) u = f ( l , ! 0 ) , z = e ( u . id , u . type ,
u . cfg , "search" ) , r = n . lastIndex } else this . sourcePath = a , this . sourceSearch = "" ; t += g ( c ) + ( ! 1 === b . strict ? "/?" : "" ) + "$" ; q . push ( c ) ; this . regexp = new RegExp ( t , b . caseInsensitive ? "i" : h ) ; this . prefix = q [ 0 ] ; this . $$paramNames = w } function A ( a ) { V ( this , a ) } function F ( ) { function b ( a ) { return null != a ? a . toString ( ) . replace ( /~/g , "~~" ) . replace ( /\//g , "~2F" ) : a } function c ( a ) { return L ( a ) || na ( a ) && L ( a [ a . length - 1 ] ) } function e ( ) { for ( ; z . length ; ) { var a = z . shift ( ) ; if ( a . pattern ) throw Error ( "You cannot override a type's .pattern at runtime." ) ;
f . extend ( B [ a . name ] , n . invoke ( a . def ) ) } } function l ( a ) { V ( this , a || { } ) } la = this ; var n , t = ! 1 , r = ! 0 , p = ! 1 , B = { } , u = ! 0 , z = [ ] , y = { string : { encode : b , decode : function ( a ) { return null != a ? a . toString ( ) . replace ( /~2F/g , "/" ) . replace ( /~~/g , "~" ) : a } , is : function ( a ) { return null == a || ! X ( a ) || "string" == typeof a } , pattern : /[^\/]*/ } , "int" : { encode : b , decode : function ( a ) { return parseInt ( a , 10 ) } , is : function ( a ) { return X ( 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 : /.*/ } } ; F . $$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 X ( a ) && ( t = a ) , t } ; this . strictMode = function ( a ) { return X ( a ) && ( r = a ) , r } ; this . defaultSquashPolicy =
function ( a ) { if ( ! X ( a ) ) return p ; if ( ! 0 !== a && ! 1 !== a && ! ba ( a ) ) throw Error ( "Invalid squash policy: " + a + ". Valid policies: false, true, arbitrary-string" ) ; return p = a , a } ; this . compile = function ( a , b ) { return new D ( a , V ( { strict : r , caseInsensitive : t } , b ) ) } ; this . isMatcher = function ( a ) { if ( ! P ( a ) ) return ! 1 ; var b = ! 0 ; return da ( D . prototype , function ( c , e ) { L ( c ) && ( b = b && X ( a [ e ] ) && L ( a [ e ] ) ) } ) , b } ; this . type = function ( a , b , c ) { if ( ! X ( b ) ) return B [ a ] ; if ( B . hasOwnProperty ( a ) ) throw Error ( "A type named '" + a + "' has already been defined." ) ; return B [ a ] =
new A ( V ( { name : a } , b ) ) , c && ( z . push ( { name : a , def : c } ) , u || e ( ) ) , this } ; da ( y , function ( a , b ) { B [ b ] = new A ( V ( { name : b } , a ) ) } ) ; B = k ( B , { } ) ; this . $get = [ "$injector" , function ( a ) { return n = a , u = ! 1 , e ( ) , da ( y , function ( a , b ) { B [ b ] || ( B [ b ] = new A ( a ) ) } ) , this } ] ; this . Param = function ( b , e , l , k ) { function v ( ) { if ( ! n ) throw Error ( "Injectable functions cannot be called at configuration time" ) ; var a = n . invoke ( l . $$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 ; l = function ( b ) { var e = P ( b ) ? a ( b ) : [ ] ; return - 1 === g ( e , "value" ) && - 1 === g ( e , "type" ) && - 1 === g ( e , "squash" ) && - 1 === g ( e , "array" ) && ( b = { value : b } ) , b . $$fn = c ( b . value ) ? b . value : function ( ) { return b . value } , b } ( l ) ; e = 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 ) ? B [ a . type ] : a . type instanceof A ? a . type : new A ( a . type ) : "config" === e ? B . any : B . string } ( l , e , k ) ; var r = function ( ) { var a = { array : "search" === k && "auto" } , c = b . match ( /\[\]$/ ) ? { array : ! 0 } :
{ } ; return V ( a , c , l ) . array } ( ) ; e = r ? e . $asArray ( r , "search" === k ) : e ; "string" !== e . name || r || "path" !== k || l . value !== h || ( l . value = "" ) ; var u = l . value !== h , z = function ( a , b ) { var c = a . squash ; if ( ! b || ! 1 === c ) return ! 1 ; if ( ! X ( c ) || null == c ) return p ; if ( ! 0 === c || ba ( c ) ) return c ; throw Error ( "Invalid squash policy: '" + c + "'. Valid policies: false, true, or arbitrary string" ) ; } ( l , u ) , y = function ( a , b , c , e ) { var f , l ; b = [ { from : "" , to : c || b ? h : "" } , { from : null , to : c || b ? h : "" } ] ; return f = na ( a . replace ) ? a . replace : [ ] , ba ( e ) && f . push ( { from : e , to : h } ) , l = q ( f , function ( a ) { return a . from } ) ,
w ( b , function ( a ) { return - 1 === g ( l , a . from ) } ) . concat ( f ) } ( l , r , u , z ) ; V ( this , { id : b , type : e , location : k , array : r , squash : z , replace : y , isOptional : u , value : function ( a ) { function b ( a ) { return function ( b ) { return b . from === a } } return a = function ( a ) { var c = q ( w ( t . replace , b ( a ) ) , function ( a ) { return a . to } ) ; return c . length ? c [ 0 ] : a } ( a ) , X ( a ) ? t . type . $normalize ( a ) : v ( ) } , dynamic : h , config : l , toString : function ( ) { return "{Param:" + b + " " + e + " squash: '" + z + "' optional: " + u + "}" } } ) } ; l . prototype = { $$new : function ( ) { return k ( this , V ( new l , { $$parent : this } ) ) } ,
$$keys : function ( ) { for ( var b = [ ] , c = [ ] , e = this , f = a ( l . prototype ) ; e ; ) c . push ( e ) , e = e . $$parent ; return c . reverse ( ) , da ( c , function ( c ) { da ( a ( c ) , function ( a ) { - 1 === g ( b , a ) && - 1 === g ( f , a ) && b . push ( a ) } ) } ) , b } , $$values : function ( a ) { var b = { } , c = this ; return da ( c . $$keys ( ) , function ( e ) { b [ e ] = c [ e ] . value ( a && a [ e ] ) } ) , b } , $$equals : function ( a , b ) { var c = ! 0 , e = this ; return da ( 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 , l , k = this . $$keys ( ) ; for ( b = 0 ; b < k . length && ( c = this [ k [ b ] ] , e = a [ k [ b ] ] ,
e !== h && null !== e || ! c . isOptional ) ; b ++ ) if ( ( g = c . type . $normalize ( e ) , ! c . type . is ( g ) ) || ( l = c . type . encode ( g ) , f . isString ( l ) && ! c . type . pattern . exec ( l ) ) ) return ! 1 ; return ! 0 } , $$parent : h } ; this . ParamSet = l } function p ( 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 ! X ( a ) || a } function l ( b ,
c , e , g , l ) { function r ( a ) { function c ( a ) { a = a ( e , b ) ; return ! ! a && ( ba ( a ) && b . replace ( ) . url ( a ) , ! 0 ) } if ( ! a || ! a . defaultPrevented ) { B && b . url ( ) === B ; B = h ; var g = n . length ; for ( a = 0 ; g > a ; a ++ ) if ( c ( n [ a ] ) ) return ; v && c ( v ) } } function q ( ) { return k = k || c . $on ( "$locationChangeSuccess" , r ) } var B , p = g . baseHref ( ) , w = b . url ( ) ; return t || q ( ) , { sync : function ( ) { r ( ) } , listen : function ( ) { return q ( ) } , update : function ( a ) { return a ? void ( w = b . url ( ) ) : void ( b . url ( ) !== w && ( b . url ( w ) , b . replace ( ) ) ) } , push : function ( a , c , e ) { a = a . format ( c || { } ) ; null !== a && c && c [ "#" ] && ( a += "#" +
c [ "#" ] ) ; b . url ( a ) ; B = 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 && l . history ; c = c . format ( e ) ; g = g || { } ; h || null === c || ( c = "#" + a . hashPrefix ( ) + c ) ; null !== c && e && e [ "#" ] && ( c += "#" + e [ "#" ] ) ; e = c ; var k = g . absolute ; if ( c = "/" === p ? e : h ? p . slice ( 0 , - 1 ) + e : k ? 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 k , n = [ ] ,
v = null , t = ! 1 ; this . rule = function ( a ) { if ( ! L ( a ) ) throw Error ( "'rule' must be a function" ) ; return n . push ( a ) , this } ; this . otherwise = function ( a ) { if ( ba ( a ) ) { var b = a ; a = function ( ) { return b } } else if ( ! L ( a ) ) throw Error ( "'rule' must be a function" ) ; return v = a , this } ; this . when = function ( a , f ) { var l , h = ba ( f ) ; if ( ba ( a ) && ( a = b . compile ( a ) ) , ! h && ! L ( f ) && ! na ( f ) ) throw Error ( "invalid 'handler' in when()" ) ; var k = { matcher : function ( a , c ) { return h && ( l = b . compile ( c ) , c = [ "$match" , function ( a ) { return l . format ( a ) } ] ) , V ( function ( b , e ) { return g ( b ,
c , a . exec ( e . path ( ) , e . search ( ) ) ) } , { prefix : ba ( 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 && ( l = b , b = [ "$match" , function ( a ) { return e ( l , 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 ( k [ v ] ( a , f ) ) ; throw Error ( "invalid 'what' in when()" ) ; } ; this . deferIntercept = function ( a ) { a === h && ( a = ! 0 ) ; t = a } ; this . $get = l ; l . $inject =
[ "$location" , "$rootScope" , "$injector" , "$browser" , "$sniffer" ] } function u ( b , e ) { function v ( a , b ) { if ( ! a ) return h ; var c = ba ( 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 ( "." ) , f = 0 , l = g . length , k = b ; l > f ; f ++ ) if ( "" !== g [ f ] || 0 !== f ) { if ( "^" !== g [ f ] ) break ; if ( ! k . parent ) throw Error ( "Path '" + e + "' not valid for state '" + b . name + "'" ) ; k = k . parent } else k = b ; g = g . slice ( f ) . join ( "." ) ; e = k . name + ( k . name && g ? "." : "" ) + g } e = A [ e ] ; return ! e ||
! c && ( c || e !== a && e . self !== a ) ? h : e } function r ( a , b ) { D [ a ] || ( D [ a ] = [ ] ) ; D [ a ] . push ( b ) } function B ( a ) { for ( a = D [ a ] || [ ] ; a . length ; ) p ( a . shift ( ) ) } function p ( a ) { a = k ( a , { self : a , resolve : a . resolve || { } , toString : function ( ) { return this . name } } ) ; var c = a . name ; if ( ! ba ( 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 ( "." ) ) : ba ( a . parent ) ? a . parent : P ( a . parent ) && ba ( a . parent . name ) ? a . parent . name :
"" ; if ( e && ! A [ e ] ) return r ( e , a . self ) ; for ( var g in N ) L ( N [ g ] ) && ( a [ g ] = N [ g ] ( a , N . $delegates [ g ] ) ) ; return A [ c ] = a , ! a [ U ] && a . url && b . when ( a . url , [ "$match" , "$stateParams" , function ( b , c ) { y . $current . navigable == a && t ( b , c ) || y . transitionTo ( a , b , { inherit : ! 0 , location : ! 1 } ) } ] ) , B ( c ) , a } function w ( b , e , n , r , B , p , w , D , ga ) { function N ( a , c , g , f ) { c = b . $broadcast ( "$stateNotFound" , a , c , g ) ; if ( c . defaultPrevented ) return w . update ( ) , qa ; if ( ! c . retry ) return null ; if ( f . $retry ) return w . update ( ) , S ; var l = y . transition = e . when ( c . retry ) ; return l . then ( function ( ) { return l !==
y . transition ? M : ( a . options . $retry = ! 0 , y . transitionTo ( a . to , a . toParams , a . options ) ) } , function ( ) { return qa } ) , w . update ( ) , l } function F ( a , b , c , g , h , k ) { var v = c ? b : l ( a . params . $$keys ( ) , b ) ; h . resolve = B . resolve ( a . resolve , { $stateParams : v } , h . resolve , a ) ; b = [ h . resolve . then ( function ( a ) { h . globals = a } ) ] ; return g && b . push ( g ) , e . all ( b ) . then ( function ( ) { var b = [ ] ; return da ( 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 : k . notify } ) ||
"" } ] ; b . push ( B . resolve ( g , h . globals , h . resolve , a ) . then ( function ( b ) { if ( L ( c . controllerProvider ) || na ( c . controllerProvider ) ) { var l = f . extend ( { } , g , h . globals ) ; b . $$controller = r . invoke ( c . controllerProvider , null , l ) } else b . $$controller = c . controller ; b . $$state = a ; b . $$controllerAs = c . controllerAs ; h [ e ] = b } ) ) } ) , e . all ( b ) . then ( function ( ) { return h . globals } ) } ) . then ( function ( a ) { return h } ) } var M = e . reject ( Error ( "transition superseded" ) ) , I = e . reject ( Error ( "transition prevented" ) ) , qa = e . reject ( Error ( "transition aborted" ) ) , S = e . reject ( Error ( "transition failed" ) ) ;
return z . locals = { resolve : null , globals : { $stateParams : { } } } , y = { params : { } , current : z . self , $current : z , transition : null } , y . reload = function ( a ) { return y . transitionTo ( y . current , p , { reload : a || ! 0 , inherit : ! 1 , notify : ! 0 } ) } , y . go = function ( a , b , c ) { return y . transitionTo ( a , b , V ( { inherit : ! 0 , relative : y . $current } , c ) ) } , y . transitionTo = function ( a , g , f ) { g = g || { } ; f = V ( { location : ! 0 , inherit : ! 1 , relative : null , notify : ! 0 , reload : ! 1 , $retry : ! 1 } , f || { } ) ; var h , n = y . $current , t = y . params , q = n . path , B = v ( a , f . relative ) , A = g [ "#" ] ; if ( ! X ( B ) ) { var D = { to : a , toParams : g ,
options : f } , ga = N ( D , n . self , t , f ) ; if ( ga ) return ga ; if ( a = D . to , g = D . toParams , f = D . options , B = v ( a , f . relative ) , ! X ( B ) ) { if ( ! f . relative ) throw Error ( "No such state '" + a + "'" ) ; throw Error ( "Could not resolve '" + a + "' from state '" + f . relative + "'" ) ; } } if ( B [ U ] ) throw Error ( "Cannot transition to abstract state '" + a + "'" ) ; if ( f . inherit && ( g = c ( p , g || { } , y . $current , B ) ) , ! B . params . $$validates ( g ) ) return S ; g = B . params . $$values ( g ) ; a = B ; var qa = a . path , L = 0 , B = qa [ L ] , D = z . locals , H = [ ] ; if ( f . reload ) { if ( ba ( f . reload ) || P ( f . reload ) ) { if ( P ( f . reload ) && ! f . reload . name ) throw Error ( "Invalid reload state object" ) ;
ga = ! 0 === f . reload ? q [ 0 ] : v ( f . reload ) ; if ( f . reload && ! ga ) throw Error ( "No such reload state '" + ( ba ( f . reload ) ? f . reload : f . reload . name ) + "'" ) ; for ( ; B && B === q [ L ] && B !== ga ; ) D = H [ L ] = B . locals , L ++ , B = qa [ L ] } } else for ( ; B && B === q [ L ] && B . ownParams . $$equals ( g , t ) ; ) D = H [ L ] = B . locals , L ++ , B = qa [ L ] ; if ( u ( a , g , n , t , D , f ) ) return A && ( g [ "#" ] = A ) , y . params = g , ja ( y . params , p ) , ja ( l ( a . params . $$keys ( ) , p ) , a . locals . globals . $stateParams ) , f . location && a . navigable && a . navigable . url && ( w . push ( a . navigable . url , g , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) ,
w . update ( ! 0 ) ) , y . transition = null , e . when ( y . current ) ; if ( g = l ( a . params . $$keys ( ) , g || { } ) , A && ( g [ "#" ] = A ) , f . notify && b . $broadcast ( "$stateChangeStart" , a . self , g , n . self , t , f ) . defaultPrevented ) return b . $broadcast ( "$stateChangeCancel" , a . self , g , n . self , t ) , null == y . transition && w . update ( ) , I ; A = e . when ( D ) ; for ( ga = L ; ga < qa . length ; ga ++ , B = qa [ ga ] ) D = H [ ga ] = k ( D ) , A = F ( B , g , B === a , A , D , f ) ; var Ea = y . transition = A . then ( function ( ) { var c , e ; if ( y . transition !== Ea ) return M ; for ( c = q . length - 1 ; c >= L ; c -- ) e = q [ c ] , e . self . onExit && r . invoke ( e . self . onExit , e . self ,
e . locals . globals ) , e . locals = null ; for ( c = L ; c < qa . length ; c ++ ) e = qa [ c ] , e . locals = H [ c ] , e . self . onEnter && r . invoke ( e . self . onEnter , e . self , e . locals . globals ) ; return y . transition !== Ea ? M : ( y . $current = a , y . current = a . self , y . params = g , ja ( y . params , p ) , y . transition = null , f . location && a . navigable && w . push ( a . navigable . url , a . navigable . locals . globals . $stateParams , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) , f . notify && b . $broadcast ( "$stateChangeSuccess" , a . self , g , n . self , t ) , w . update ( ! 0 ) , y . current ) } , function ( c ) { return y . transition !==
Ea ? M : ( y . transition = null , h = b . $broadcast ( "$stateChangeError" , a . self , g , n . self , t , c ) , h . defaultPrevented || w . update ( ) , e . reject ( c ) ) } ) ; return Ea } , y . is = function ( a , b , c ) { c = V ( { relative : y . $current } , c || { } ) ; a = v ( a , c . relative ) ; return X ( a ) ? y . $current === a && ( ! b || t ( a . params . $$values ( b ) , p ) ) : h } , y . includes = function ( b , c , e ) { if ( e = V ( { relative : y . $current } , e || { } ) , ba ( b ) && - 1 < b . indexOf ( "*" ) ) { b = b . split ( "." ) ; for ( var f = y . $current . name . split ( "." ) , l = 0 , k = b . length ; k > l ; l ++ ) "*" === b [ l ] && ( f [ l ] = "*" ) ; if ( "**" === b [ 0 ] && ( f = f . slice ( g ( f , b [ 1 ] ) ) , f . unshift ( "**" ) ) ,
"**" === b [ b . length - 1 ] && ( f . splice ( g ( f , b [ b . length - 2 ] ) + 1 , Number . MAX _VALUE ) , f . push ( "**" ) ) , b . length != f . length || f . join ( "" ) !== b . join ( "" ) ) return ! 1 ; b = y . $current . name } e = v ( b , e . relative ) ; return X ( e ) ? ! ! X ( y . $current . includes [ e . name ] ) && ( ! c || t ( e . params . $$values ( c ) , p , a ( c ) ) ) : h } , y . href = function ( a , b , e ) { e = V ( { lossy : ! 0 , inherit : ! 0 , absolute : ! 1 , relative : y . $current } , e || { } ) ; a = v ( a , e . relative ) ; if ( ! X ( a ) ) return null ; e . inherit && ( b = c ( p , b || { } , y . $current , a ) ) ; var g = a && e . lossy ? a . navigable : a ; return g && g . url !== h && null !== g . url ? w . href ( g . url ,
l ( a . params . $$keys ( ) . concat ( "#" ) , b || { } ) , { absolute : e . absolute } ) : null } , y . get = function ( b , c ) { if ( 0 === arguments . length ) return q ( a ( A ) , function ( a ) { return A [ a ] . self } ) ; var e = v ( b , c || y . $current ) ; return e && e . self ? e . self : null } , y } function u ( a , b , c , e , g , f ) { function l ( 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 ! ( f . reload || a !== c || ! ( g === c . locals || ! 1 === a . self . reloadOnSearch && l ( c , e , b ) ) ) || void 0 }
var z , y , A = { } , D = { } , U = "abstract" , N = { parent : function ( a ) { return X ( a . parent ) && a . parent ? v ( a . parent ) : ( a = /^(.+)\.[^.]+$/ . exec ( a . name ) ) ? v ( a [ 1 ] ) : z } , data : function ( a ) { return a . parent && a . parent . data && ( a . data = a . self . data = k ( a . parent . data , a . data ) ) , a . data } , url : function ( a ) { var b = a . url , c = { params : a . params || { } } ; if ( ba ( b ) ) return "^" == b . charAt ( 0 ) ? e . compile ( b . substring ( 1 ) , c ) : ( a . parent . navigable || z ) . url . concat ( b , c ) ; if ( ! b || e . 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 da ( 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 da ( X ( 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 : { } } ; z = p ( { name : "" , url : "^" , views : null , "abstract" : ! 0 } ) ; z . navigable = null ; this . decorator = function ( a , b ) { return ba ( a ) && ! X ( b ) ? N [ a ] : L ( b ) && ba ( a ) ? ( N [ a ] && ! N . $delegates [ a ] && ( N . $delegates [ a ] = N [ a ] ) , N [ a ] = b , this ) : this } ; this . state = function ( a , b ) { return P ( a ) ? b = a : b . name = a , p ( b ) , this } ; this . $get = w ; w . $inject = "$rootScope $q $view $injector $resolve $stateParams $urlRouter $location $urlMatcherFactory" . split ( " " ) } function J ( ) { 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 M ( a , b , c , e ) { function g ( a , b ) { function c ( a ) { return 1 === Ga && 4 <= xa ? ! ! k . enabled ( a ) : 1 === Ga && 2 <= xa ? ! ! k . 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 ( k ) return { enter : function ( a , b , g ) { c ( a ) ?
2 < f . version . minor ? k . enter ( a , null , b ) . then ( g ) : k . enter ( a , null , b , g ) : e . enter ( a , b , g ) } , leave : function ( a , b ) { c ( a ) ? 2 < f . version . minor ? k . leave ( a ) . then ( b ) : k . 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 l = function ( ) { return b . has ? function ( a ) { return b . has ( a ) ? b . get ( a ) : null } : function ( a ) { try { return b . get ( a ) } catch ( Ta ) { return null } } } ( ) , h = l ( "$animator" ) , k = l ( "$animate" ) ; return { restrict : "ECA" , terminal : ! 0 , priority : 400 ,
transclude : "element" , compile : function ( b , l , h ) { return function ( b , l , k ) { function n ( ) { var a = t , b = q ; b && ( b . _willBeDestroyed = ! 0 ) ; r ? ( u . leave ( r , function ( ) { a && a . remove ( ) ; b && b . $destroy ( ) ; t = null } ) , t = r ) : ( a && a . remove ( ) , b && b . $destroy ( ) , t = null ) ; q = r = null } function v ( g ) { var v = I ( b , k , l , e ) , t = v && a . $current && a . $current . locals [ v ] ; ! g && t === B || b . _willBeDestroyed || ( g = b . $new ( ) , B = a . $current . locals [ v ] , g . $emit ( "$viewContentLoading" , v ) , r = h ( g , function ( a ) { u . enter ( a , l , function ( ) { q && q . $emit ( "$viewContentAnimationEnded" ) ; ( f . isDefined ( w ) &&
! w || b . $eval ( w ) ) && c ( a ) } ) ; n ( ) } ) , q = g , q . $emit ( "$viewContentLoaded" , v ) , q . $eval ( p ) ) } var t , r , q , B , p = k . onload || "" , w = k . autoscroll , u = g ( k , b ) ; b . $on ( "$stateChangeSuccess" , function ( ) { v ( ! 1 ) } ) ; v ( ! 0 ) } } } } function H ( a , b , c , e ) { return { restrict : "ECA" , priority : - 400 , compile : function ( g ) { var f = g . html ( ) ; return function ( g , l , h ) { var k = c . $current ; h = I ( g , h , l , e ) ; if ( k = k && k . locals [ h ] ) { l . data ( "$uiView" , { name : h , state : k . $$state } ) ; l . html ( k . $template ? k . $template : f ) ; h = a ( l . contents ( ) ) ; if ( k . $$controller ) { k . $scope = g ; k . $element = l ; var n = b ( k . $$controller ,
k ) ; k . $$controllerAs && ( g [ k . $$controllerAs ] = n ) ; l . data ( "$ngControllerController" , n ) ; l . children ( ) . data ( "$ngControllerController" , n ) } h ( g ) } } } } } function I ( 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 O ( 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 Y ( 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 K ( a , b , c , e , g ) { return function ( f ) { var l = f . which || f . button , h = g ( ) ; if ( ! ( 1 < l || f . ctrlKey || f . metaKey || f . shiftKey || a . attr ( "target" ) ) ) { var k = c ( function ( ) { b . go ( h . state , h . params ,
h . options ) } ) ; f . preventDefault ( ) ; var n = e . isAnchor && ! h . href ? 1 : 0 ; f . preventDefault = function ( ) { 0 >= n -- && c . cancel ( k ) } } } } function N ( a , b ) { return { relative : T ( a ) || b . $current , inherit : ! 0 } } function S ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , l ) { var h = O ( g . uiSref , a . current . name ) , k = { state : h . state , href : null , params : null } , n = Y ( e ) , v = l [ 1 ] || l [ 0 ] ; k . options = V ( N ( e , a ) , g . uiSrefOpts ? c . $eval ( g . uiSrefOpts ) : { } ) ; var t = function ( b ) { b && ( k . params = f . copy ( b ) ) ; k . href = a . href ( h . state , k . params ,
k . options ) ; v && v . $$addStateInfo ( h . state , k . params ) ; null !== k . href && g . $set ( n . attr , k . href ) } ; h . paramExpr && ( c . $watch ( h . paramExpr , function ( a ) { a !== k . params && t ( a ) } , ! 0 ) , k . params = f . copy ( c . $eval ( h . paramExpr ) ) ) ; t ( ) ; n . clickable && e . bind ( "click" , K ( e , a , b , n , function ( ) { return k } ) ) } } } function ia ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , f ) { function l ( b ) { n . state = b [ 0 ] ; n . params = b [ 1 ] ; n . options = b [ 2 ] ; n . href = a . href ( n . state , n . params , n . options ) ; k && k . $$addStateInfo ( n . state , n . params ) ;
n . href && g . $set ( h . attr , n . href ) } var h = Y ( e ) , k = f [ 1 ] || f [ 0 ] ; f = "[" + [ 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 ( f , l , ! 0 ) ; l ( c . $eval ( f ) ) ; h . clickable && e . bind ( "click" , K ( e , a , b , h , function ( ) { return n } ) ) } } } function ua ( a , b , c ) { return { restrict : "A" , controller : [ "$scope" , "$element" , "$attrs" , "$timeout" , function ( b , e , g , f ) { function l ( c , g , f ) { var l = a . get ( c , T ( e ) ) , h , k = g ; if ( ! ba ( c ) ) throw Error ( "state should be a string" ) ;
h = P ( k ) ? c + ca ( k ) : ( k = b . $eval ( k ) , P ( k ) ? c + ca ( k ) : c ) ; t . push ( { state : l || { name : c } , params : g , hash : h } ) ; r [ h ] = f } function h ( ) { for ( var b = 0 ; b < t . length ; b ++ ) a . includes ( t [ b ] . state . name , t [ b ] . params ) ? k ( e , r [ t [ b ] . hash ] ) : e . removeClass ( r [ t [ b ] . hash ] ) , a . is ( t [ b ] . state . name , t [ b ] . params ) ? k ( e , n ) : e . removeClass ( n ) } function k ( a , b ) { f ( function ( ) { a . addClass ( b ) } ) } var n , v , t = [ ] , r = { } ; n = c ( g . uiSrefActiveEq || "" , ! 1 ) ( b ) ; try { v = b . $eval ( g . uiSrefActive ) } catch ( Na ) { } v = v || c ( g . uiSrefActive || "" , ! 1 ) ( b ) ; P ( v ) && da ( v , function ( c , e ) { if ( ba ( c ) ) { var g = O ( c , a . current . name ) ;
l ( g . state , b . $eval ( g . paramExpr ) , e ) } } ) ; this . $$addStateInfo = function ( a , b ) { P ( v ) && 0 < t . length || ( l ( a , b , v ) , h ( ) ) } ; b . $on ( "$stateChangeSuccess" , h ) ; h ( ) } ] } } function B ( a ) { var b = function ( b , c ) { return a . is ( b , c ) } ; return b . $stateful = ! 0 , b } function U ( a ) { var b = function ( b , c , e ) { return a . includes ( b , c , e ) } ; return b . $stateful = ! 0 , b } var X = f . isDefined , L = f . isFunction , ba = f . isString , P = f . isObject , na = f . isArray , da = f . forEach , V = f . extend , ja = f . copy , ca = 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" ] ) ; z . $inject = [ "$q" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$resolve" , z ) ; y . $inject = [ "$http" , "$templateCache" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$templateFactory" , y ) ; var la ; D . prototype . concat = function ( a , b ) { var c = { caseInsensitive : la . caseInsensitive ( ) , strict : la . strictMode ( ) , squash : la . defaultSquashPolicy ( ) } ; return new D ( this . sourcePath +
a + this . sourceSearch , V ( c , b ) , this ) } ; D . prototype . toString = function ( ) { return this . source } ; D . prototype . exec = function ( a , b ) { function c ( a ) { function b ( a ) { return a . split ( "" ) . reverse ( ) . join ( "" ) } a = b ( a ) . split ( /-(?!\\)/ ) ; a = q ( a , b ) ; return q ( a , function ( a ) { return a . replace ( /\\-/g , "-" ) } ) . reverse ( ) } var e = this . regexp . exec ( a ) ; if ( ! e ) return null ; b = b || { } ; var g , f , l , h = this . parameters ( ) , k = 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 ++ ) { l = h [ g ] ; t = this . params [ l ] ; r = e [ g + 1 ] ; for ( f = 0 ; f < t . replace . length ; f ++ ) t . replace [ f ] . from === r && ( r = t . replace [ f ] . to ) ; r && ! 0 === t . array && ( r = c ( r ) ) ; X ( r ) && ( r = t . type . decode ( r ) ) ; v [ l ] = t . value ( r ) } for ( ; k > g ; g ++ ) { l = h [ g ] ; v [ l ] = this . params [ l ] . value ( b [ l ] ) ; t = this . params [ l ] ; r = b [ l ] ; for ( f = 0 ; f < t . replace . length ; f ++ ) t . replace [ f ] . from === r && ( r = t . replace [ f ] . to ) ; X ( r ) && ( r = t . type . decode ( r ) ) ; v [ l ] = t . value ( r ) } return v } ; D . prototype . parameters = function ( a ) { return X ( a ) ? this . params [ a ] || null : this . $$paramNames } ; D . prototype . validates = function ( a ) { return this . params . $$validates ( a ) } ;
D . 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 f , l = ! 1 , h = c . length - 1 , k = e . length , n = c [ 0 ] ; for ( f = 0 ; k > f ; f ++ ) { var t = h > f , r = e [ f ] , B = g [ r ] , p = B . value ( a [ r ] ) , w = B . isOptional && B . type . equals ( B . value ( ) , p ) , u = ! ! w && B . squash , p = B . type . encode ( p ) ; t ? ( t = c [ f + 1 ] , r = f + 1 === h , ! 1 === u ? ( null != p && ( n += na ( p ) ? q ( p , b ) . join ( "-" ) : encodeURIComponent ( p ) ) ,
n += t ) : ! 0 === u ? ( u = n . match ( /\/$/ ) ? /\/?(.*)/ : /(.*)/ , n += t . match ( u ) [ 1 ] ) : ba ( u ) && ( n += u + t ) , r && ! 0 === B . squash && "/" === n . slice ( - 1 ) && ( n = n . slice ( 0 , - 1 ) ) ) : null == p || w && ! 1 !== u || ( na ( p ) || ( p = [ p ] ) , 0 === p . length ) || ( p = q ( p , encodeURIComponent ) . join ( "&" + r + "=" ) , n += ( l ? "&" : "?" ) + ( r + "=" + p ) , l = ! 0 ) } return n } ; A . prototype . is = function ( a , b ) { return ! 0 } ; A . prototype . encode = function ( a , b ) { return a } ; A . prototype . decode = function ( a , b ) { return a } ; A . prototype . equals = function ( a , b ) { return a == b } ; A . prototype . $subPattern = function ( ) { var a = this . pattern . toString ( ) ;
return a . substr ( 1 , a . length - 2 ) } ; A . prototype . pattern = /.*/ ; A . prototype . toString = function ( ) { return "{Type:" + this . name + "}" } ; A . prototype . $normalize = function ( a ) { return this . is ( a ) ? a : this . decode ( a ) } ; A . 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 na ( a ) ? a : X ( a ) ? [ a ] : [ ] } function g ( a ) { return ! a } function f ( a , c ) { return function ( f ) { if ( na ( f ) &&
0 === f . length ) return f ; f = e ( f ) ; f = q ( f , a ) ; if ( ! 0 === c ) f = 0 === w ( f , g ) . length ; else a : switch ( f . length ) { case 0 : f = h ; break a ; case 1 : f = "auto" === b ? f [ 0 ] : f } return f } } this . encode = f ( c ( a , "encode" ) ) ; this . decode = f ( c ( a , "decode" ) ) ; this . is = f ( c ( a , "is" ) , ! 0 ) ; this . equals = function ( a ) { return function ( b , c ) { var g = e ( b ) , f = e ( c ) ; if ( g . length !== f . length ) return ! 1 ; for ( var l = 0 ; l < g . length ; l ++ ) if ( ! a ( g [ l ] , f [ l ] ) ) return ! 1 ; return ! 0 } } ( c ( a , "equals" ) ) ; this . pattern = a . pattern ; this . $normalize = f ( c ( a , "$normalize" ) ) ; this . name = a . name ; this . $arrayMode = b } ( this ,
a ) } ; f . module ( "ui.router.util" ) . provider ( "$urlMatcherFactory" , F ) ; f . module ( "ui.router.util" ) . run ( [ "$urlMatcherFactory" , function ( a ) { } ] ) ; p . $inject = [ "$locationProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.router" ) . provider ( "$urlRouter" , p ) ; u . $inject = [ "$urlRouterProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.state" ) . factory ( "$stateParams" , function ( ) { return { } } ) . provider ( "$state" , u ) ; J . $inject = [ ] ; f . module ( "ui.router.state" ) . provider ( "$view" , J ) ; 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 Ga = f . version . major , xa = f . version . minor ; M . $inject = [ "$state" , "$injector" , "$uiViewScroll" , "$interpolate" ] ; H . $inject = [ "$compile" , "$controller" , "$state" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiView" , M ) ; f . module ( "ui.router.state" ) . directive ( "uiView" , H ) ; S . $inject = [ "$state" , "$timeout" ] ; ia . $inject = [ "$state" ,
"$timeout" ] ; ua . $inject = [ "$state" , "$stateParams" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiSref" , S ) . directive ( "uiSrefActive" , ua ) . directive ( "uiSrefActiveEq" , ua ) . directive ( "uiState" , ia ) ; B . $inject = [ "$state" ] ; U . $inject = [ "$state" ] ; f . module ( "ui.router.state" ) . filter ( "isState" , B ) . filter ( "includedByState" , U ) } ) ( 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-07-28 21:47:09 +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 , e , a ) { function g ( ) { e . removeClass ( "collapsing" ) . addClass ( "collapse" ) . css ( { height : "auto" } ) } function c ( ) { e . css ( { height : "0" } ) ; e . removeClass ( "collapsing" ) . addClass ( "collapse" ) } f . $watch ( a . uibCollapse , function ( a ) { a ? e . hasClass ( "collapse" ) || e . hasClass ( "in" ) ? ( e . css ( { height : e [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" ,
! 1 ) . attr ( "aria-hidden" , ! 0 ) , h ? h ( e , { removeClass : "in" , to : { height : "0" } } ) . start ( ) [ "finally" ] ( c ) : b . removeClass ( e , "in" , { to : { height : "0" } } ) . then ( c ) ) : c ( ) : ( e . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , h ? h ( e , { addClass : "in" , easing : "ease" , to : { height : e [ 0 ] . scrollHeight + "px" } } ) . start ( ) [ "finally" ] ( g ) : b . addClass ( e , "in" , { to : { height : e [ 0 ] . scrollHeight + "px" } } ) . then ( g ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.collapse" ) . value ( "$collapseSuppressWarning" , ! 1 ) . directive ( "collapse" , [ "$animate" , "$injector" , "$log" , "$collapseSuppressWarning" , function ( b , f , h , k ) { var e = f . has ( "$animateCss" ) ? f . get ( "$animateCss" ) : null ; return { link : function ( a , g , c ) { function f ( ) { g . removeClass ( "collapsing" ) . addClass ( "collapse in" ) . css ( { height : "auto" } ) } function l ( ) { g . css ( { height : "0" } ) ; g . removeClass ( "collapsing" ) . addClass ( "collapse" ) } k || h . warn ( "collapse is now deprecated. Use uib-collapse instead." ) ; a . $watch ( c . collapse ,
function ( a ) { a ? g . hasClass ( "collapse" ) || g . hasClass ( "in" ) ? ( g . css ( { height : g [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse in" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 1 ) . attr ( "aria-hidden" , ! 0 ) , e ? e ( g , { to : { height : "0" } } ) . start ( ) . done ( l ) : b . animate ( g , { } , { height : "0" } ) . then ( l ) ) : l ( ) : ( g . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , e ? e ( g , { easing : "ease" , to : { height : g [ 0 ] . scrollHeight + "px" } } ) . start ( ) . done ( f ) : b . animate ( g , { } , { height : g [ 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 ( k ) { ( angular . isDefined ( f . closeOthers ) ? b . $eval ( f . closeOthers ) : h . closeOthers ) && angular . forEach ( this . groups , function ( b ) { b !== k && ( b . isOpen = ! 1 ) } ) } ; this . addGroup = function ( b ) { var e = this ; this . groups . push ( b ) ; b . $on ( "$destroy" , function ( a ) { e . 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 , k ) { k . addGroup ( b ) ; b . openClass = h . openClass || "panel-open" ; b . panelClass = h . panelClass ; b . $watch ( "isOpen" , function ( e ) { f . toggleClass ( b . openClass , ! ! e ) ; e && k . closeOthers ( b ) } ) ; b . toggleOpen = function ( e ) { b . isDisabled || e && 32 !== e . which || ( b . isOpen = ! b . isOpen ) } } } } ) . directive ( "uibAccordionHeading" , function ( ) { return { transclude : ! 0 , template : "" , replace : ! 0 , require : "^uibAccordionGroup" , link : function ( b , f , h , k , e ) { k . setHeading ( e ( b , angular . noop ) ) } } } ) . directive ( "uibAccordionTransclude" ,
function ( ) { return { require : [ "?^uibAccordionGroup" , "?^accordionGroup" ] , link : function ( b , f , h , k ) { k = k [ 0 ] ? k [ 0 ] : k [ 1 ] ; b . $watch ( function ( ) { return k [ 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 , k , e ) { e || k . 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 , k , e , a ) { f || b . warn ( "accordion-group is now deprecated. Use uib-accordion-group instead." ) ; a . addGroup ( h ) ; h . openClass = e . openClass || "panel-open" ; h . panelClass = e . panelClass ; h . $watch ( "isOpen" , function ( b ) { k . 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 , k , e , a , g ) { f || b . warn ( "accordion-heading is now deprecated. Use uib-accordion-heading instead." ) ; a . setHeading ( g ( h , angular . noop ) ) } } } ] ) . directive ( "accordionTransclude" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { require : "^accordionGroup" , link : function ( h , k , e , a ) { f || b . warn ( "accordion-transclude is now deprecated. Use uib-accordion-transclude instead." ) ; h . $watch ( function ( ) { return a [ e . accordionTransclude ] } , function ( a ) { a && ( k . find ( "span" ) . html ( "" ) ,
k . find ( "span" ) . append ( a ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.alert" , [ ] ) . controller ( "UibAlertController" , [ "$scope" , "$attrs" , "$interpolate" , "$timeout" , function ( b , f , h , k ) { b . closeable = ! ! f . close ; ( f = angular . isDefined ( f . dismissOnTimeout ) ? h ( f . dismissOnTimeout ) ( b . $parent ) : null ) && k ( 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 , k , e ) { e || k . 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 , k ) { var e = k [ 0 ] , a = k [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ; a . $render = function ( ) { f . toggleClass ( e . activeClass ,
angular . equals ( a . $modelValue , b . $eval ( h . uibBtnRadio ) ) ) } ; f . on ( e . toggleEvent , function ( ) { if ( ! h . disabled ) { var g = f . hasClass ( e . activeClass ) ; g && ! angular . isDefined ( h . uncheckable ) || b . $apply ( function ( ) { a . $setViewValue ( g ? null : b . $eval ( h . uibBtnRadio ) ) ; a . $render ( ) } ) } } ) } } } ) . directive ( "uibBtnCheckbox" , function ( ) { return { require : [ "uibBtnCheckbox" , "ngModel" ] , controller : "UibButtonsController" , controllerAs : "button" , link : function ( b , f , h , k ) { function e ( a , e ) { return angular . isDefined ( a ) ? b . $eval ( a ) : e } var a = k [ 0 ] , g = k [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ;
g . $render = function ( ) { f . toggleClass ( a . activeClass , angular . equals ( g . $modelValue , e ( h . btnCheckboxTrue , ! 0 ) ) ) } ; f . on ( a . toggleEvent , function ( ) { h . disabled || b . $apply ( function ( ) { g . $setViewValue ( f . hasClass ( a . activeClass ) ? e ( h . btnCheckboxFalse , ! 1 ) : e ( h . btnCheckboxTrue , ! 0 ) ) ; g . $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 , k , e , a ) { f || b . warn ( "btn-radio is now deprecated. Use uib-btn-radio instead." ) ;
var g = a [ 0 ] , c = a [ 1 ] ; k . find ( "input" ) . css ( { display : "none" } ) ; c . $render = function ( ) { k . toggleClass ( g . activeClass , angular . equals ( c . $modelValue , h . $eval ( e . btnRadio ) ) ) } ; k . bind ( g . toggleEvent , function ( ) { if ( ! e . disabled ) { var a = k . hasClass ( g . activeClass ) ; a && ! angular . isDefined ( e . uncheckable ) || h . $apply ( function ( ) { c . $setViewValue ( a ? null : h . $eval ( e . btnRadio ) ) ; c . $render ( ) } ) } } ) } } } ] ) . directive ( "btnCheckbox" , [ "$document" , "$log" , "$buttonsSuppressWarning" , function ( b , f , h ) { return { require : [ "btnCheckbox" , "ngModel" ] , controller : "ButtonsController" ,
controllerAs : "button" , link : function ( k , e , a , g ) { function c ( a , b ) { var c = k . $eval ( a ) ; return angular . isDefined ( c ) ? c : b } h || f . warn ( "btn-checkbox is now deprecated. Use uib-btn-checkbox instead." ) ; var t = g [ 0 ] , l = g [ 1 ] ; e . find ( "input" ) . css ( { display : "none" } ) ; l . $render = function ( ) { e . toggleClass ( t . activeClass , angular . equals ( l . $modelValue , c ( a . btnCheckboxTrue , ! 0 ) ) ) } ; e . bind ( t . toggleEvent , function ( ) { a . disabled || k . $apply ( function ( ) { l . $setViewValue ( e . hasClass ( t . activeClass ) ? c ( a . btnCheckboxFalse , ! 1 ) : c ( a . btnCheckboxTrue , ! 0 ) ) ;
l . $render ( ) } ) } ) ; e . on ( "keypress" , function ( g ) { a . disabled || 32 !== g . which || b [ 0 ] . activeElement !== e [ 0 ] || k . $apply ( function ( ) { l . $setViewValue ( e . hasClass ( t . activeClass ) ? c ( a . btnCheckboxFalse , ! 1 ) : c ( a . btnCheckboxTrue , ! 0 ) ) ; l . $render ( ) } ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" , [ ] ) . controller ( "UibCarouselController" , [ "$scope" , "$element" , "$interval" , "$animate" , function ( b , f , h , k ) { function e ( a , c , e ) { D || ( angular . extend ( a , { direction : e , active : ! 0 } ) , angular . extend ( r . currentSlide || { } , { direction : e , active : ! 1 } ) , k . enabled ( ) && ! b . noTransition && ! b . $currentTransition && a . $element && 1 < r . slides . length && ( a . $element . data ( z , a . direction ) , r . currentSlide && r . currentSlide . $element && r . currentSlide . $element . data ( z , a . direction ) , b . $currentTransition = ! 0 , q ? k . on ( "addClass" ,
a . $element , function ( a , c ) { "close" === c && ( b . $currentTransition = null , k . off ( "addClass" , a ) ) } ) : a . $element . one ( "$animate:close" , function ( ) { b . $currentTransition = null } ) ) , r . currentSlide = a , y = c , g ( ) ) } function a ( a ) { if ( angular . isUndefined ( w [ a ] . index ) ) return w [ a ] ; var b ; w . length ; for ( b = 0 ; b < w . length ; ++ b ) if ( w [ b ] . index == a ) return w [ b ] } function g ( ) { c ( ) ; var a = + b . interval ; ! isNaN ( a ) && 0 < a && ( l = h ( t , a ) ) } function c ( ) { l && ( h . cancel ( l ) , l = null ) } function t ( ) { var a = + b . interval ; n && ! isNaN ( a ) && 0 < a && w . length ? b . next ( ) : b . pause ( ) } var l , n , r =
this , w = r . slides = b . slides = [ ] , q = 4 <= angular . version . minor , z = "uib-slideDirection" , y = - 1 ; r . currentSlide = null ; var D = ! 1 ; r . select = b . select = function ( a , c ) { var g = b . indexOfSlide ( a ) ; void 0 === c && ( c = g > r . getCurrentIndex ( ) ? "next" : "prev" ) ; a && a !== r . currentSlide && ! b . $currentTransition && e ( a , g , c ) } ; b . $on ( "$destroy" , function ( ) { D = ! 0 } ) ; r . getCurrentIndex = function ( ) { return r . currentSlide && angular . isDefined ( r . currentSlide . index ) ? + r . currentSlide . index : y } ; b . indexOfSlide = function ( a ) { return angular . isDefined ( a . index ) ? + a . index : w . indexOf ( a ) } ;
b . next = function ( ) { var c = ( r . getCurrentIndex ( ) + 1 ) % w . length ; return 0 === c && b . noWrap ( ) ? void b . pause ( ) : r . select ( a ( c ) , "next" ) } ; b . prev = function ( ) { var c = 0 > r . getCurrentIndex ( ) - 1 ? w . length - 1 : r . getCurrentIndex ( ) - 1 ; return b . noWrap ( ) && c === w . length - 1 ? void b . pause ( ) : r . select ( a ( c ) , "prev" ) } ; b . isActive = function ( a ) { return r . currentSlide === a } ; b . $watch ( "interval" , g ) ; b . $watchCollection ( "slides" , function ( a ) { a . length || ( b . $currentTransition = null ) } ) ; b . $on ( "$destroy" , c ) ; b . play = function ( ) { n || ( n = ! 0 , g ( ) ) } ; b . pause = function ( ) { b . noPause ||
( n = ! 1 , c ( ) ) } ; r . addSlide = function ( a , c ) { a . $element = c ; w . push ( a ) ; 1 === w . length || a . active ? ( r . select ( w [ w . length - 1 ] ) , 1 === w . length && b . play ( ) ) : a . active = ! 1 } ; r . removeSlide = function ( a ) { angular . isDefined ( a . index ) && w . sort ( function ( a , b ) { return + a . index > + b . index } ) ; var b = w . indexOf ( a ) ; w . splice ( b , 1 ) ; 0 < w . length && a . active ? b >= w . length ? r . select ( w [ b - 1 ] ) : r . select ( w [ b ] ) : y > b && y -- ; 0 === w . 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 , k ) { k . addSlide ( b , f ) ; b . $on ( "$destroy" ,
function ( ) { k . removeSlide ( b ) } ) ; b . $watch ( "active" , function ( e ) { e && k . select ( b ) } ) } } } ) . animation ( ".item" , [ "$injector" , "$animate" , function ( b , f ) { function h ( b , a , g ) { b . removeClass ( a ) ; g && g ( ) } var k = null ; return b . has ( "$animateCss" ) && ( k = b . get ( "$animateCss" ) ) , { beforeAddClass : function ( b , a , g ) { if ( "active" == a && b . parent ( ) && b . parent ( ) . parent ( ) && ! b . parent ( ) . parent ( ) . data ( "uib-noTransition" ) ) { var c = ! 1 ; a = b . data ( "uib-slideDirection" ) ; var e = "next" == a ? "left" : "right" , l = h . bind ( this , b , e + " " + a , g ) ; return b . addClass ( a ) , k ? k ( b , { addClass : e } ) . start ( ) . done ( l ) :
f . addClass ( b , e ) . then ( function ( ) { c || l ( ) ; g ( ) } ) , function ( ) { c = ! 0 } } g ( ) } , beforeRemoveClass : function ( b , a , g ) { 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 e = h . bind ( this , b , a , g ) ; return k ? k ( b , { addClass : a } ) . start ( ) . done ( e ) : f . addClass ( b , a ) . then ( function ( ) { c || e ( ) ; g ( ) } ) , function ( ) { c = ! 0 } } g ( ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" ) . value ( "$carouselSuppressWarning" , ! 1 ) . controller ( "CarouselController" , [ "$scope" , "$element" , "$controller" , "$log" , "$carouselSuppressWarning" , function ( b , f , h , k , e ) { e || k . 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 ,
k , e , a ) { f || b . warn ( "slide is now deprecated. Use uib-slide instead." ) ; a . addSlide ( h , k ) ; 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 k ( b ) { var c = [ ] , e = b . split ( "" ) ; return angular . forEach ( a , function ( a , g ) { var f = b . indexOf ( g ) ; if ( - 1 < f ) { b = b . split ( "" ) ; e [ f ] = "(" + a . regex + ")" ; b [ f ] = "$" ; for ( var l = f + 1 , h = f + g . length ; l < h ; l ++ ) e [ l ] = "" , b [ l ] = "$" ; b = b . join ( "" ) ; c . push ( { index : f , apply : a . apply } ) } } ) , { regex : new RegExp ( "^" + e . join ( "" ) + "$" ) , map : h ( c , "index" ) } } var e , a , g = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g ; this . init = function ( ) { e = 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-07-28 21:47:09 +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 , l ) { if ( ! angular . isString ( a ) || ! h ) return a ; h = f . DATETIME _FORMATS [ h ] ||
h ; h = h . replace ( g , "\\$&" ) ; f . id !== e && this . init ( ) ; this . parsers [ h ] || ( this . parsers [ h ] = k ( h ) ) ; var c = this . parsers [ h ] ; h = c . map ; if ( ( a = a . match ( c . regex ) ) && a . length ) { var t , w ; angular . isDate ( l ) && ! isNaN ( l . getTime ( ) ) ? t = { year : l . getFullYear ( ) , month : l . getMonth ( ) , date : l . getDate ( ) , hours : l . getHours ( ) , minutes : l . getMinutes ( ) , seconds : l . getSeconds ( ) , milliseconds : l . getMilliseconds ( ) } : ( l && 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 c = 1 , q =
a . length ; c < q ; c ++ ) { var z = h [ c - 1 ] ; z . apply && z . apply . call ( t , a [ c ] ) } h = t . year ; a = t . month ; c = t . date ; return ! ( 1 > c ) && ( 1 === a && 28 < c ? 29 === c && ( 0 === h % 4 && 0 !== h % 100 || 0 === h % 400 ) : 3 !== a && 5 !== a && 8 !== a && 10 !== a || 31 > c ) && ( angular . isDate ( l ) && ! isNaN ( l . getTime ( ) ) ? ( w = new Date ( l ) , w . setFullYear ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) : w = new Date ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) , w } } } ] ) ;
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 , e ) { return b . currentStyle ? b . currentStyle [ e ] : f . getComputedStyle ? f . getComputedStyle ( b ) [ e ] : b . style [ e ] } return { position : function ( f ) { var e = this . offset ( f ) , a = { top : 0 , left : 0 } , g ; g = b [ 0 ] ; for ( var c = f [ 0 ] . offsetParent || g ; c && c !== g && "static" === ( h ( c , "position" ) || "static" ) ; ) c = c . offsetParent ; g = c || g ; g != b [ 0 ] && ( a = this . offset ( angular . element ( g ) ) , a . top += g . clientTop - g . scrollTop , a . left += g . clientLeft - g . scrollLeft ) ;
g = f [ 0 ] . getBoundingClientRect ( ) ; return { width : g . width || f . prop ( "offsetWidth" ) , height : g . height || f . prop ( "offsetHeight" ) , top : e . top - a . top , left : e . left - a . left } } , offset : function ( h ) { var e = h [ 0 ] . getBoundingClientRect ( ) ; return { width : e . width || h . prop ( "offsetWidth" ) , height : e . height || h . prop ( "offsetHeight" ) , top : e . top + ( f . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : e . left + ( f . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } , positionElements : function ( b , e , a , g ) { var c , f , l , h = a . split ( "-" ) ; a = h [ 0 ] ; h = h [ 1 ] || "center" ; c = g ? this . offset ( b ) :
this . position ( b ) ; f = e . prop ( "offsetWidth" ) ; l = e . prop ( "offsetHeight" ) ; b = { center : function ( ) { return c . left + c . width / 2 - f / 2 } , left : function ( ) { return c . left } , right : function ( ) { return c . left + c . width } } ; e = { center : function ( ) { return c . top + c . height / 2 - l / 2 } , top : function ( ) { return c . top } , bottom : function ( ) { return c . top + c . height } } ; switch ( a ) { case "right" : a = { top : e [ h ] ( ) , left : b [ a ] ( ) } ; break ; case "left" : a = { top : e [ h ] ( ) , left : c . left - f } ; break ; case "bottom" : a = { top : e [ a ] ( ) , left : b [ h ] ( ) } ; break ; default : a = { top : c . top - l , 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-07-28 21:47:09 +00:00
"$log" , "dateFilter" , "uibDatepickerConfig" , "$datepickerSuppressError" , function ( b , f , h , k , e , a , g , c ) { var t = this , l = { $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 ? k ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : g [ 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 ] = g [ a ] ? new Date ( g [ 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 ] = g [ a ] || null , b [ a ] = t [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || g . 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 && ( l . $isEmpty ( l . $modelValue ) || l . $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 ) { l = a ; l . $render = function ( ) { t . render ( ) } } ; this . render = function ( ) { if ( l . $viewValue ) { var a = new Date ( l . $viewValue ) ; isNaN ( a ) ? c || e . 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 = l . $viewValue ? new Date ( l . $viewValue ) : null ; l . $setValidity ( "dateDisabled" , ! a || this . element && ! this . isDisabled ( a ) ) } } ; this . createDateObject = function ( b , c ) { var e = l . $viewValue ? new Date ( l . $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 = l . $viewValue ? new Date ( l . $viewValue ) : new Date ( 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; c . setFullYear ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) ; l . $setViewValue ( c ) ;
l . $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 k ( b , c ) { return 1 !== c || 0 !== b % 4 || 0 === b % 100 && 0 !== b % 400 ? a [ c ] : 29 } function e ( 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 ( ) , c = this . activeDate . getMonth ( ) , f = new Date ( this . activeDate ) ; f . setFullYear ( a , c , 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 ( ) !== c , uid : b . uniqueId + "-" + a } ) ; b . labels = Array ( 7 ) ; for ( c = 0 ; 7 > c ; c ++ ) b . labels [ c ] = { abbr : h ( f [ c ] . date , this . formatDayHeader ) , full : h ( f [ c ] . date , "EEEE" ) } ;
if ( b . title = h ( this . activeDate , this . formatDayTitle ) , b . rows = this . split ( f , 7 ) , b . showWeeks ) for ( b . weekNumbers = [ ] , c = ( 11 - this . startingDay ) % 7 , f = b . rows . length , a = 0 ; a < f ; a ++ ) b . weekNumbers . push ( e ( b . rows [ a ] [ c ] . 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 ( k ( this . activeDate . getFullYear ( ) , this . activeDate . getMonth ( ) ) , c ) } else "home" === a ? c = 1 : "end" === a && ( c = k ( 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 , e = Array ( 12 ) , a = this . activeDate . getFullYear ( ) , g = 0 ; 12 > g ; g ++ ) f = new Date ( this . activeDate ) , f . setFullYear ( a , g , 1 ) , e [ g ] = angular . extend ( this . createDateObject ( f , this . formatMonth ) , { uid : b . uniqueId + "-" + g } ) ; b . title = h ( this . activeDate , this . formatMonthTitle ) ; b . rows = this . split ( e , 3 ) } ; this . compare = function ( b , e ) { return new Date ( b . getFullYear ( ) , b . getMonth ( ) ) - new Date ( e . getFullYear ( ) , e . getMonth ( ) ) } ; this . handleKeyDown = function ( b , e ) { 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 g = this . activeDate . getFullYear ( ) + ( "pageup" === b ? - 1 : 1 ) ; this . activeDate . setFullYear ( g ) } else "home" === b ? a = 0 : "end" === b && ( a = 11 ) ; this . activeDate . setMonth ( a ) } } ] ) . controller ( "UibYearpickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f , h ) { var k ; this . element = f ; this . yearpickerInit = function ( ) { k = this . yearRange ; this . step = { years : k } } ; this . _refreshView = function ( ) { for ( var e , a = Array ( k ) , g = 0 , c = parseInt ( ( this . activeDate . getFullYear ( ) -
1 ) / k , 10 ) * k + 1 ; g < k ; g ++ ) e = new Date ( this . activeDate ) , e . setFullYear ( c + g , 0 , 1 ) , a [ g ] = angular . extend ( this . createDateObject ( e , this . formatYear ) , { uid : b . uniqueId + "-" + g } ) ; b . title = [ a [ 0 ] . label , a [ k - 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 e = this . activeDate . getFullYear ( ) ; "left" === b ? -- e : "up" === b ? e -= 5 : "right" === b ? e += 1 : "down" === b ? e += 5 : "pageup" === b || "pagedown" === b ? e += ( "pageup" === b ? - 1 : 1 ) * this . step . years : "home" ===
b ? e = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / k , 10 ) * k + 1 : "end" === b && ( e = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / k , 10 ) * k + 1 + k - 1 ) ; this . activeDate . setFullYear ( e ) } } ] ) . 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 , k ) { k [ 0 ] . init ( k [ 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 , k ) { k [ 1 ] . init ( k [ 0 ] || k [ 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 , k ) { k [ 1 ] . init ( k [ 0 ] || k [ 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 , k ) { b = k [ 0 ] || k [ 2 ] ; angular . extend ( b , k [ 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 , k , e , a , g ,
c , t , l , n , r ) { function w ( a ) { return a . replace ( /([A-Z])/g , function ( a ) { return "-" + a . toLowerCase ( ) } ) } function q ( 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 = l . parse ( a , A , b . date ) , isNaN ( a ) ? void 0 : a } function z ( 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 = l . parse ( c , A ) , ! isNaN ( c ) ) : ! 1 : ! 0 : ! 0 } function y ( 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 D ( 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 A , F , p , u , J , M , H , I , O , T , Y = { } , K = ! 1 ; b . watchData = { } ; this . init = function ( c ) { if ( O = c , F = angular . isDefined ( h . closeOnDateSelection ) ? b . $parent . $eval ( h . closeOnDateSelection ) : n . closeOnDateSelection ,
p = angular . isDefined ( h . datepickerAppendToBody ) ? b . $parent . $eval ( h . datepickerAppendToBody ) : n . appendToBody , u = angular . isDefined ( h . onOpenFocus ) ? b . $parent . $eval ( h . onOpenFocus ) : n . onOpenFocus , J = angular . isDefined ( h . datepickerPopupTemplateUrl ) ? h . datepickerPopupTemplateUrl : n . datepickerPopupTemplateUrl , M = 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 ] ?
( A = n . html5Types [ h . type ] , K = ! 0 ) : ( A = h . datepickerPopup || h . uibDatepickerPopup || n . datepickerPopup , h . $observe ( "uibDatepickerPopup" , function ( a , b ) { var c = a || n . datepickerPopup ; if ( c !== A && ( A = c , O . $modelValue = null , ! A ) ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; } ) ) , ! A ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; if ( K && h . datepickerPopup ) throw Error ( "HTML5 date input types do not support custom formats." ) ; if ( H = angular . element ( "<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>" ) ,
H . attr ( { "ng-model" : "date" , "ng-change" : "dateSelection(date)" , "template-url" : J } ) , I = angular . element ( H . children ( ) [ 0 ] ) , I . attr ( "template-url" , M ) , K && "month" === h . type && ( I . attr ( "datepicker-mode" , '"month"' ) , I . attr ( "min-mode" , "month" ) ) , h . datepickerOptions ) ( c = b . $parent . $eval ( h . datepickerOptions ) ) && c . initDate && ( b . initDate = c . initDate , I . attr ( "init-date" , "initDate" ) , delete c . initDate ) , angular . forEach ( c , function ( a , b ) { I . attr ( w ( b ) , a ) } ) ; angular . forEach ( "minMode maxMode minDate maxDate datepickerMode initDate shortcutPropagation" . split ( " " ) ,
function ( a ) { if ( h [ a ] ) { var c = e ( h [ a ] ) ; if ( b . $parent . $watch ( c , function ( c ) { b . watchData [ a ] = c ; "minDate" !== a && "maxDate" !== a || ( Y [ a ] = new Date ( c ) ) } ) , I . attr ( w ( a ) , "watchData." + a ) , "datepickerMode" === a ) { var g = c . assign ; b . $watch ( "watchData." + a , function ( a , c ) { angular . isFunction ( g ) && a !== c && g ( b . $parent , a ) } ) } } } ) ; h . dateDisabled && I . attr ( "date-disabled" , "dateDisabled({ date: date, mode: mode })" ) ; h . showWeeks && I . attr ( "show-weeks" , h . showWeeks ) ; h . customClass && I . attr ( "custom-class" , "customClass({ date: date, mode: mode })" ) ; K ?
O . $formatters . push ( function ( a ) { return b . date = a , a } ) : ( O . $$parserName = "date" , O . $validators . date = z , O . $parsers . unshift ( q ) , O . $formatters . push ( function ( a ) { return b . date = a , O . $isEmpty ( a ) ? a : t ( a , A ) } ) ) ; O . $viewChangeListeners . push ( function ( ) { b . date = l . parse ( O . $viewValue , A , b . date ) } ) ; f . bind ( "keydown" , D ) ; T = k ( H ) ( b ) ; H . remove ( ) ; p ? a . find ( "body" ) . append ( T ) : f . after ( T ) ; b . $on ( "$destroy" , function ( ) { ! 0 === b . isOpen && ( g . $$phase || b . $apply ( function ( ) { b . isOpen = ! 1 } ) ) ; T . remove ( ) ; f . unbind ( "keydown" , D ) ; a . unbind ( "click" , y ) } ) } ; 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 , Y . minDate ) || b . watchData . maxDate && 0 < b . compare ( a , Y . 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 , A ) : null ; f . val ( a ) ; O . $setViewValue ( a ) ; F && ( 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 ( e ) { e ? ( b . position = p ? c . offset ( f ) : c . position ( f ) , b . position . top += f . prop ( "offsetHeight" ) , r ( function ( ) { u && b . $broadcast ( "uib:datepicker.focus" ) ; a . bind ( "click" , y ) } , 0 , ! 1 ) ) : a . unbind ( "click" , y ) } ) } ] ) . directive ( "uibDatepickerPopup" ,
function ( ) { return { require : [ "ngModel" , "uibDatepickerPopup" ] , controller : "UibDatepickerPopupController" , scope : { isOpen : "=?" , currentText : "@" , clearText : "@" , closeText : "@" , dateDisabled : "&" , customClass : "&" } , link : function ( b , f , h , k ) { k [ 1 ] . init ( k [ 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 , k , e , a , g , c , t ) { t || e . warn ( "DatepickerController is now deprecated. Use UibDatepickerController instead." ) ; var l = 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 ) { l [ a ] = angular . isDefined ( f [ a ] ) ? 6 > c ? k ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : g [ a ] } ) ; angular . forEach ( [ "minDate" , "maxDate" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( b ) { l [ a ] = b ? new Date ( b ) : null ; l . refreshView ( ) } ) : l [ a ] = g [ a ] ? new Date ( g [ a ] ) : null } ) ; angular . forEach ( [ "minMode" , "maxMode" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( c ) { l [ a ] = angular . isDefined ( c ) ? c : f [ a ] ; b [ a ] = l [ a ] ; ( "minMode" == a && l . modes . indexOf ( b . datepickerMode ) < l . modes . indexOf ( l [ a ] ) || "maxMode" == a && l . modes . indexOf ( b . datepickerMode ) >
l . modes . indexOf ( l [ a ] ) ) && ( b . datepickerMode = l [ a ] ) } ) : ( l [ a ] = g [ a ] || null , b [ a ] = l [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || g . 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 ) && ( l . activeDate = a , l . refreshView ( ) ) } ) ) : this . activeDate = new Date ; b . isActive = function ( a ) { return 0 === l . compare ( a . date , l . activeDate ) && ( b . activeDateId =
a . uid , ! 0 ) } ; this . init = function ( a ) { n = a ; n . $render = function ( ) { l . render ( ) } } ; this . render = function ( ) { if ( n . $viewValue ) { var a = new Date ( n . $viewValue ) ; isNaN ( a ) ? c || e . 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 === l . 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 l . activeDate = a , b . datepickerMode = l . modes [ l . modes . indexOf ( b . datepickerMode ) - 1 ] } ; b . move = function ( a ) { var b = l . activeDate . getFullYear ( ) +
a * ( l . step . years || 0 ) ; a = l . activeDate . getMonth ( ) + a * ( l . step . months || 0 ) ; l . activeDate . setFullYear ( b , a , 1 ) ; l . refreshView ( ) } ; b . toggleMode = function ( a ) { a = a || 1 ; b . datepickerMode === l . maxMode && 1 === a || b . datepickerMode === l . minMode && - 1 === a || ( b . datepickerMode = l . modes [ l . 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 ( ) { l . element [ 0 ] . focus ( ) } ) ; b . keydown = function ( a ) { var c = b . keys [ a . which ] ;
! c || a . shiftKey || a . altKey || ( ( a . preventDefault ( ) , l . shortcutPropagation || a . stopPropagation ( ) , "enter" === c || "space" === c ) ? l . isDisabled ( l . activeDate ) || b . select ( l . activeDate ) : ! a . ctrlKey || "up" !== c && "down" !== c ? ( l . handleKeyDown ( c , a ) , l . 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 , k , e , 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 , k , e , 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 , k , e , 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 , k , e , 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 , k , e , 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" , k ) , b . bind ( "keydown" , e ) ) ; h && h !== a && ( h . isOpen = ! 1 ) ; h = a } ; this . close = function ( a ) { h === a && ( h = null , b . unbind ( "click" , k ) , b . unbind ( "keydown" , e ) ) } ; var k = 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 ( ) ) ) } } , e = function ( a ) { 27 === a . which ? ( h . focusToggleElement ( ) , k ( ) ) : 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 , k , e , a , g , c , t ,
l , n ) { var r , w , q = this , z = b . $new ( ) , y = e . openClass , D = angular . noop , A = h . onToggle ? k ( h . onToggle ) : angular . noop , F = ! 1 , p = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( w = k ( h . isOpen ) , D = w . assign , b . $watch ( w , function ( a ) { z . isOpen = ! ! a } ) ) ; F = angular . isDefined ( h . dropdownAppendToBody ) ; p = angular . isDefined ( h . uibKeyboardNav ) ; F && q . dropdownMenu && ( t . find ( "body" ) . append ( q . dropdownMenu ) , f . on ( "$destroy" , function ( ) { q . dropdownMenu . remove ( ) } ) ) } ; this . toggle = function ( a ) { return z . isOpen = arguments . length ? ! ! a : ! z . isOpen } ; this . isOpen =
function ( ) { return z . isOpen } ; z . getToggleElement = function ( ) { return q . toggleElement } ; z . getAutoClose = function ( ) { return h . autoClose || "always" } ; z . getElement = function ( ) { return f } ; z . isKeynavEnabled = function ( ) { return p } ; z . focusDropdownEntry = function ( a ) { var b = q . dropdownMenu ? angular . element ( q . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( q . selectedOption ) ? q . selectedOption = q . selectedOption === b . length - 1 ? q . selectedOption : q . selectedOption + 1 : q . selectedOption =
0 ; break ; case 38 : angular . isNumber ( q . selectedOption ) ? q . selectedOption = 0 === q . selectedOption ? 0 : q . selectedOption - 1 : q . selectedOption = b . length - 1 } b [ q . selectedOption ] . focus ( ) } ; z . getDropdownElement = function ( ) { return q . dropdownMenu } ; z . focusToggleElement = function ( ) { q . toggleElement && q . toggleElement [ 0 ] . focus ( ) } ; z . $watch ( "isOpen" , function ( e , h ) { if ( F && q . dropdownMenu ) { var k = c . positionElements ( f , q . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : k . top + "px" , display : e ? "block" : "none" } ; q . dropdownMenu . hasClass ( "dropdown-menu-right" ) ?
( t . left = "auto" , t . right = window . innerWidth - ( k . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = k . left + "px" , t . right = "auto" ) ; q . dropdownMenu . css ( t ) } ( g [ e ? "addClass" : "removeClass" ] ( f , y ) . then ( function ( ) { angular . isDefined ( e ) && e !== h && A ( b , { open : ! ! e } ) } ) , e ) ? ( q . dropdownMenuTemplateUrl && n ( q . dropdownMenuTemplateUrl ) . then ( function ( a ) { r = z . $new ( ) ; l ( a . trim ( ) ) ( r , function ( a ) { q . dropdownMenu . replaceWith ( a ) ; q . dropdownMenu = a } ) } ) , z . focusToggleElement ( ) , a . open ( z ) ) : ( q . dropdownMenuTemplateUrl && ( r && r . $destroy ( ) , k = angular . element ( '<ul class="dropdown-menu"></ul>' ) ,
q . dropdownMenu . replaceWith ( k ) , q . dropdownMenu = k ) , a . close ( z ) , q . selectedOption = null ) ; angular . isFunction ( D ) && D ( b , e ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== z . getAutoClose ( ) && ( z . isOpen = ! 1 ) } ) ; e = b . $on ( "$destroy" , function ( ) { z . $destroy ( ) } ) ; z . $on ( "$destroy" , e ) } ] ) . directive ( "uibDropdown" , function ( ) { return { controller : "UibDropdownController" , link : function ( b , f , h , k ) { k . init ( ) } } } ) . directive ( "uibDropdownMenu" , function ( ) { return { restrict : "AC" , require : "?^uibDropdown" , link : function ( b , f , h , k ) { k && ! angular . isDefined ( h . dropdownNested ) &&
( f . addClass ( "dropdown-menu" ) , ( b = h . templateUrl ) && ( k . dropdownMenuTemplateUrl = b ) , k . dropdownMenu || ( k . dropdownMenu = f ) ) } } } ) . directive ( "uibKeyboardNav" , function ( ) { return { restrict : "A" , require : "?^uibDropdown" , link : function ( b , f , h , k ) { f . bind ( "keydown" , function ( b ) { if ( - 1 !== [ 38 , 40 ] . indexOf ( b . which ) ) { b . preventDefault ( ) ; b . stopPropagation ( ) ; var a = k . dropdownMenu . find ( "a" ) ; switch ( b . which ) { case 40 : angular . isNumber ( k . selectedOption ) ? k . selectedOption = k . selectedOption === a . length - 1 ? k . selectedOption : k . selectedOption + 1 : k . selectedOption =
0 ; break ; case 38 : angular . isNumber ( k . selectedOption ) ? k . selectedOption = 0 === k . selectedOption ? 0 : k . selectedOption - 1 : k . selectedOption = a . length - 1 } a [ k . selectedOption ] . focus ( ) } } ) } } } ) . directive ( "uibDropdownToggle" , function ( ) { return { require : "?^uibDropdown" , link : function ( b , f , h , k ) { if ( k ) { f . addClass ( "dropdown-toggle" ) ; k . toggleElement = f ; var e = function ( a ) { a . preventDefault ( ) ; f . hasClass ( "disabled" ) || h . disabled || b . $apply ( function ( ) { k . toggle ( ) } ) } ; f . bind ( "click" , e ) ; f . attr ( { "aria-haspopup" : ! 0 , "aria-expanded" : ! 1 } ) ; b . $watch ( k . isOpen ,
function ( a ) { f . attr ( "aria-expanded" , ! ! a ) } ) ; b . $on ( "$destroy" , function ( ) { f . unbind ( "click" , e ) } ) } } } } ) ;
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 , k , e , a , g , c , t , l , n , r , w ) { w || r . warn ( "DropdownController is now deprecated. Use UibDropdownController instead." ) ; var q , z , y = this , D = b . $new ( ) , A = e . openClass , F = angular . noop , p = h . onToggle ? k ( h . onToggle ) : angular . noop , u = ! 1 , J = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( z = k ( h . isOpen ) , F = z . assign , b . $watch ( z , function ( a ) { D . isOpen = ! ! a } ) ) ; u = angular . isDefined ( h . dropdownAppendToBody ) ; J = angular . isDefined ( h . uibKeyboardNav ) ; u && y . dropdownMenu && ( t . find ( "body" ) . append ( y . dropdownMenu ) , f . on ( "$destroy" , function ( ) { y . dropdownMenu . remove ( ) } ) ) } ;
this . toggle = function ( a ) { return D . isOpen = arguments . length ? ! ! a : ! D . isOpen } ; this . isOpen = function ( ) { return D . isOpen } ; D . getToggleElement = function ( ) { return y . toggleElement } ; D . getAutoClose = function ( ) { return h . autoClose || "always" } ; D . getElement = function ( ) { return f } ; D . isKeynavEnabled = function ( ) { return J } ; D . focusDropdownEntry = function ( a ) { var b = y . dropdownMenu ? angular . element ( y . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( y . selectedOption ) ? y . selectedOption =
y . selectedOption === b . length - 1 ? y . selectedOption : y . selectedOption + 1 : y . selectedOption = 0 ; break ; case 38 : angular . isNumber ( y . selectedOption ) ? y . selectedOption = 0 === y . selectedOption ? 0 : y . selectedOption - 1 : y . selectedOption = b . length - 1 } b [ y . selectedOption ] . focus ( ) } ; D . getDropdownElement = function ( ) { return y . dropdownMenu } ; D . focusToggleElement = function ( ) { y . toggleElement && y . toggleElement [ 0 ] . focus ( ) } ; D . $watch ( "isOpen" , function ( e , h ) { if ( u && y . dropdownMenu ) { var k = c . positionElements ( f , y . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : k . top +
"px" , display : e ? "block" : "none" } ; y . dropdownMenu . hasClass ( "dropdown-menu-right" ) ? ( t . left = "auto" , t . right = window . innerWidth - ( k . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = k . left + "px" , t . right = "auto" ) ; y . dropdownMenu . css ( t ) } ( g [ e ? "addClass" : "removeClass" ] ( f , A ) . then ( function ( ) { angular . isDefined ( e ) && e !== h && p ( b , { open : ! ! e } ) } ) , e ) ? ( y . dropdownMenuTemplateUrl && n ( y . dropdownMenuTemplateUrl ) . then ( function ( a ) { q = D . $new ( ) ; l ( a . trim ( ) ) ( q , function ( a ) { y . dropdownMenu . replaceWith ( a ) ; y . dropdownMenu = a } ) } ) , D . focusToggleElement ( ) ,
a . open ( D ) ) : ( y . dropdownMenuTemplateUrl && ( q && q . $destroy ( ) , k = angular . element ( '<ul class="dropdown-menu"></ul>' ) , y . dropdownMenu . replaceWith ( k ) , y . dropdownMenu = k ) , a . close ( D ) , y . selectedOption = null ) ; angular . isFunction ( F ) && F ( b , e ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== D . getAutoClose ( ) && ( D . isOpen = ! 1 ) } ) ; e = b . $on ( "$destroy" , function ( ) { D . $destroy ( ) } ) ; D . $on ( "$destroy" , e ) } ] ) . directive ( "dropdown" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { controller : "DropdownController" , link : function ( h ,
k , e , 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 , k , e , a ) { a && ! angular . isDefined ( e . dropdownNested ) && ( f || b . warn ( "dropdown-menu is now deprecated. Use uib-dropdown-menu instead." ) , k . addClass ( "dropdown-menu" ) , ( h = e . templateUrl ) && ( a . dropdownMenuTemplateUrl = h ) , a . dropdownMenu || ( a . dropdownMenu = k ) ) } } } ] ) . directive ( "keyboardNav" , [ "$log" , "$dropdownSuppressWarning" ,
function ( b , f ) { return { restrict : "A" , require : "?^dropdown" , link : function ( h , k , e , a ) { f || b . warn ( "keyboard-nav is now deprecated. Use uib-keyboard-nav instead." ) ; k . 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 , k , e , a ) { if ( f || b . warn ( "dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead." ) , a ) { k . addClass ( "dropdown-toggle" ) ; a . toggleElement = k ; var g = function ( b ) { b . preventDefault ( ) ; k . hasClass ( "disabled" ) || e . disabled || h . $apply ( function ( ) { a . toggle ( ) } ) } ; k . bind ( "click" , g ) ; k . attr ( { "aria-haspopup" : ! 0 ,
"aria-expanded" : ! 1 } ) ; h . $watch ( a . isOpen , function ( a ) { k . attr ( "aria-expanded" , ! ! a ) } ) ; h . $on ( "$destroy" , function ( ) { k . unbind ( "click" , g ) } ) } } } } ] ) ;
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 , k = 0 ; k < b . length ; k ++ ) if ( f == b [ k ] . key ) { h = k ; 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 k = b [ f ] ; if ( k ) { var e = k . indexOf ( h ) ; - 1 !== e && k . splice ( e , 1 ) ; k . length || delete b [ f ] } } } } } } ) . directive ( "uibModalBackdrop" ,
[ "$animate" , "$injector" , "$uibModalStack" , function ( b , f , h ) { function k ( a , g , c ) { g . addClass ( "modal-backdrop" ) ; c . modalInClass && ( e ? e ( g , { addClass : c . modalInClass } ) . start ( ) : b . addClass ( g , c . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , f ) { var l = f ( ) ; e ? e ( g , { removeClass : c . modalInClass } ) . start ( ) . then ( l ) : b . removeClass ( g , c . modalInClass ) . then ( l ) } ) ) } var e = null ; return f . has ( "$animateCss" ) && ( e = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( a , b ) { return a . addClass ( b . backdropClass ) ,
k } } } ] ) . directive ( "uibModalWindow" , [ "$uibModalStack" , "$q" , "$animate" , "$injector" , function ( b , f , h , k ) { var e = null ; return k . has ( "$animateCss" ) && ( e = k . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl || "template/modal/window.html" } , link : function ( a , g , c ) { g . addClass ( c . windowClass || "" ) ; g . addClass ( c . windowTopClass || "" ) ; a . size = c . 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" ) ) } ; g . on ( "click" , a . close ) ; a . $isRendered = ! 0 ; var k = f . defer ( ) ; c . $observe ( "modalRender" , function ( a ) { "true" == a && k . resolve ( ) } ) ; k . promise . then ( function ( ) { var l = null ; c . modalInClass && ( l = e ? e ( g , { addClass : c . modalInClass } ) . start ( ) : h . addClass ( g , c . modalInClass ) , a . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var f = b ( ) ; e ? e ( g , { removeClass : c . modalInClass } ) . start ( ) . then ( f ) : h . removeClass ( g , c . modalInClass ) . then ( f ) } ) ) ; f . when ( l ) . then ( function ( ) { var a = g [ 0 ] . querySelector ( "[autofocus]" ) ;
a ? a . focus ( ) : g [ 0 ] . focus ( ) } ) ; ( l = b . getTop ( ) ) && b . modalRendered ( l . key ) } ) } } } ] ) . directive ( "uibModalAnimationClass" , function ( ) { return { compile : function ( b , f ) { f . modalAnimation && b . addClass ( f . uibModalAnimationClass ) } } } ) . directive ( "uibModalTransclude" , function ( ) { return { link : function ( b , f , h , k , e ) { e ( b . $parent , function ( a ) { f . empty ( ) ; f . append ( a ) } ) } } } ) . factory ( "$uibModalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" , "$$stackedMap" , function ( b , f , h , k , e , a , g , c , t ) { function l ( ) { for ( var a =
- 1 , b = p . keys ( ) , c = 0 ; c < b . length ; c ++ ) p . get ( b [ c ] ) . value . backdrop && ( a = c ) ; return a } function n ( a , b ) { var c = h . find ( "body" ) . eq ( 0 ) , e = p . get ( a ) . value ; p . remove ( a ) ; q ( e . modalDomEl , e . modalScope , function ( ) { var b = e . openedClass || F ; u . remove ( b , a ) ; c . toggleClass ( b , u . hasKey ( b ) ) ; r ( ! 0 ) } ) ; w ( ) ; b && b . focus ? b . focus ( ) : c . focus ( ) } function r ( a ) { var b ; 0 < p . length ( ) && ( b = p . top ( ) . value , b . modalDomEl . toggleClass ( b . windowTopClass || "" , a ) ) } function w ( ) { y && - 1 == l ( ) && ( q ( y , D , function ( ) { } ) , D = y = void 0 ) } function q ( c , e , g ) { function f ( ) { f . done || ( f . done =
! 0 , z ? z ( c , { event : "leave" } ) . start ( ) . then ( function ( ) { c . remove ( ) } ) : b . leave ( c ) , e . $destroy ( ) , g && g ( ) ) } var l , h = null ; return e . $broadcast ( J . NOW _CLOSING _EVENT , function ( ) { return l || ( l = a . defer ( ) , h = l . promise ) , function ( ) { l . resolve ( ) } } ) , a . when ( h ) . then ( f ) } var z = null ; g . has ( "$animateCss" ) && ( z = g . get ( "$animateCss" ) ) ; var y , D , A , F = "modal-open" , p = t . createNew ( ) , u = c . createNew ( ) , J = { NOW _CLOSING _EVENT : "modal.stack.now-closing" } ; return e . $watch ( l , function ( a ) { D && ( D . index = a ) } ) , h . bind ( "keydown" , function ( a ) { if ( a . isDefaultPrevented ( ) ) return a ;
var b = p . top ( ) ; if ( b && b . value . keyboard ) switch ( a . which ) { case 27 : a . preventDefault ( ) ; e . $apply ( function ( ) { J . dismiss ( b . key , "escape key press" ) } ) ; break ; case 9 : J . loadFocusElementList ( b ) ; var c = ! 1 ; a . shiftKey ? J . isFocusInFirstItem ( a ) && ( c = J . focusLastFocusableElement ( ) ) : J . isFocusInLastItem ( a ) && ( c = J . focusFirstFocusableElement ( ) ) ; c && ( a . preventDefault ( ) , a . stopPropagation ( ) ) } } ) , J . open = function ( a , b ) { var c = h [ 0 ] . activeElement , g = b . openedClass || F ; r ( ! 1 ) ; p . add ( a , { deferred : b . deferred , renderDeferred : b . renderDeferred , modalScope : b . scope ,
backdrop : b . backdrop , keyboard : b . keyboard , openedClass : b . openedClass , windowTopClass : b . windowTopClass } ) ; u . put ( g , a ) ; var f = h . find ( "body" ) . eq ( 0 ) , n = l ( ) ; 0 <= n && ! y && ( D = e . $new ( ! 0 ) , D . 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" ) , y = k ( n ) ( D ) , f . append ( y ) ) ; 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 : p . length ( ) - 1 , animate : "animate" } ) . html ( b . content ) ; b . animation && n . attr ( "modal-animation" , "true" ) ; n = k ( n ) ( b . scope ) ; p . top ( ) . value . modalDomEl = n ; p . top ( ) . value . modalOpener = c ; f . append ( n ) ; f . addClass ( g ) ; J . clearFocusListCache ( ) } , J . close = function ( a , b ) { var c = p . 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 } , J . dismiss = function ( a , b ) { var c = p . 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 } , J . dismissAll = function ( a ) { for ( var b = this . getTop ( ) ; b && this . dismiss ( b . key , a ) ; ) b = this . getTop ( ) } , J . getTop = function ( ) { return p . top ( ) } , J . modalRendered = function ( a ) { ( a = p . get ( a ) ) && a . value . renderDeferred . resolve ( ) } , J . focusFirstFocusableElement = function ( ) { return 0 < A . length && ( A [ 0 ] . focus ( ) , ! 0 ) } , J . focusLastFocusableElement = function ( ) { return 0 <
A . length && ( A [ A . length - 1 ] . focus ( ) , ! 0 ) } , J . isFocusInFirstItem = function ( a ) { return 0 < A . length && ( a . target || a . srcElement ) == A [ 0 ] } , J . isFocusInLastItem = function ( a ) { return 0 < A . length && ( a . target || a . srcElement ) == A [ A . length - 1 ] } , J . clearFocusListCache = function ( ) { A = [ ] } , J . loadFocusElementList = function ( a ) { void 0 !== A && A . length || ! a || ( a = a . value . modalDomEl ) && a . length && ( A = 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]" ) ) } ,
J } ] ) . provider ( "$uibModal" , function ( ) { var b = { options : { animation : ! 0 , backdrop : ! 0 , keyboard : ! 0 } , $get : [ "$injector" , "$rootScope" , "$q" , "$templateRequest" , "$controller" , "$uibModalStack" , "$modalSuppressWarning" , "$log" , function ( f , h , k , e , a , g , c , t ) { function l ( a ) { return a . template ? k . when ( a . template ) : e ( 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 ( k . when ( f . invoke ( a ) ) ) : angular . isString ( a ) ?
b . push ( k . when ( f . get ( a ) ) ) : b . push ( k . when ( a ) ) } ) , b } var r = { } , w = null ; return r . getPromiseChain = function ( ) { return w } , r . open = function ( e ) { function f ( ) { return u } var q = k . defer ( ) , r = k . defer ( ) , A = k . defer ( ) , F = { result : q . promise , opened : r . promise , rendered : A . promise , close : function ( a ) { return g . close ( F , a ) } , dismiss : function ( a ) { return g . dismiss ( F , a ) } } ; if ( e = angular . extend ( { } , b . options , e ) , e . resolve = e . resolve || { } , ! e . template && ! e . templateUrl ) throw Error ( "One of template or templateUrl options is required." ) ; var p , u = k . all ( [ l ( e ) ] . concat ( n ( e . resolve ) ) ) ;
return p = w = k . all ( [ w ] ) . then ( f , f ) . then ( function ( b ) { var f = ( e . scope || h ) . $new ( ) ; f . $close = F . close ; f . $dismiss = F . dismiss ; f . $on ( "$destroy" , function ( ) { f . $$uibDestructionScheduled || f . $dismiss ( "$uibUnscheduledDestruction" ) } ) ; var l , k = { } , n = 1 ; e . controller && ( k . $scope = f , k . $uibModalInstance = F , Object . defineProperty ( k , "$modalInstance" , { get : function ( ) { return c || t . warn ( "$modalInstance is now deprecated. Use $uibModalInstance instead." ) , F } } ) , angular . forEach ( e . resolve , function ( a , c ) { k [ c ] = b [ n ++ ] } ) , l = a ( e . controller , k ) , e . controllerAs &&
( e . bindToController && angular . extend ( l , f ) , f [ e . controllerAs ] = l ) ) ; g . open ( F , { scope : f , deferred : q , renderDeferred : A , content : b [ 0 ] , animation : e . animation , backdrop : e . backdrop , keyboard : e . keyboard , backdropClass : e . backdropClass , windowTopClass : e . windowTopClass , windowClass : e . windowClass , windowTemplateUrl : e . windowTemplateUrl , size : e . size , openedClass : e . openedClass } ) ; r . resolve ( ! 0 ) } , function ( a ) { r . reject ( a ) ; q . reject ( a ) } ) [ "finally" ] ( function ( ) { w === p && ( w = null ) } ) , F } , r } ] } ; return b } ) ;
angular . module ( "ui.bootstrap.modal" ) . value ( "$modalSuppressWarning" , ! 1 ) . directive ( "modalBackdrop" , [ "$animate" , "$injector" , "$modalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , e ) { function a ( a , f , l ) { e || k . warn ( "modal-backdrop is now deprecated. Use uib-modal-backdrop instead." ) ; f . addClass ( "modal-backdrop" ) ; l . modalInClass && ( g ? g ( f , { addClass : l . modalInClass } ) . start ( ) : b . addClass ( f , l . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , c ) { var e = c ( ) ; g ? g ( f , { removeClass : l . modalInClass } ) . start ( ) . then ( e ) :
b . removeClass ( f , l . modalInClass ) . then ( e ) } ) ) } var g = null ; return f . has ( "$animateCss" ) && ( g = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( b , e ) { return b . addClass ( e . backdropClass ) , a } } } ] ) . directive ( "modalWindow" , [ "$modalStack" , "$q" , "$animate" , "$injector" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , e , a ) { var g = null ; return k . has ( "$animateCss" ) && ( g = k . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl ||
"template/modal/window.html" } , link : function ( c , k , l ) { a || e . warn ( "modal-window is now deprecated. Use uib-modal-window instead." ) ; k . addClass ( l . windowClass || "" ) ; k . addClass ( l . windowTopClass || "" ) ; c . size = l . size ; c . 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" ) ) } ; k . on ( "click" , c . close ) ; c . $isRendered = ! 0 ; var n = f . defer ( ) ; l . $observe ( "modalRender" , function ( a ) { "true" == a && n . resolve ( ) } ) ;
n . promise . then ( function ( ) { var a = null ; l . modalInClass && ( a = g ? g ( k , { addClass : l . modalInClass } ) . start ( ) : h . addClass ( k , l . modalInClass ) , c . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var c = b ( ) ; g ? g ( k , { removeClass : l . modalInClass } ) . start ( ) . then ( c ) : h . removeClass ( k , l . modalInClass ) . then ( c ) } ) ) ; f . when ( a ) . then ( function ( ) { var a = k [ 0 ] . querySelector ( "[autofocus]" ) ; a ? a . focus ( ) : k [ 0 ] . focus ( ) } ) ; ( a = b . getTop ( ) ) && b . modalRendered ( a . key ) } ) } } } ] ) . directive ( "modalAnimationClass" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { compile : function ( h ,
k ) { f || b . warn ( "modal-animation-class is now deprecated. Use uib-modal-animation-class instead." ) ; k . modalAnimation && h . addClass ( k . modalAnimationClass ) } } } ] ) . directive ( "modalTransclude" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { link : function ( h , k , e , a , g ) { f || b . warn ( "modal-transclude is now deprecated. Use uib-modal-transclude instead." ) ; g ( h . $parent , function ( a ) { k . empty ( ) ; k . append ( a ) } ) } } } ] ) . service ( "$modalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" ,
"$$stackedMap" , "$uibModalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , e , a , g , c , t , l , n , r ) { r || n . warn ( "$modalStack is now deprecated. Use $uibModalStack instead." ) ; angular . extend ( this , l ) } ] ) . provider ( "$modal" , [ "$uibModalProvider" , function ( b ) { angular . extend ( this , b ) ; this . $get = [ "$injector" , "$log" , "$modalSuppressWarning" , function ( f , h , k ) { return k || 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 k = this , e = { $setViewValue : angular . noop } , a = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( g , c ) { e = g ; this . config = c ; e . $render = function ( ) { k . render ( ) } ; f . itemsPerPage ? b . $parent . $watch ( h ( f . itemsPerPage ) , function ( a ) { k . itemsPerPage = parseInt ( a , 10 ) ; b . totalPages = k . calculateTotalPages ( ) } ) : this . itemsPerPage = c . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = k . calculateTotalPages ( ) } ) ;
b . $watch ( "totalPages" , function ( c ) { a ( b . $parent , c ) ; b . page > c ? b . selectPage ( c ) : 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 ( a ) { return b [ a + "Text" ] || k . 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 , k , e , a ) { var g = a [ 0 ] ; if ( k = a [ 1 ] ) { var c = angular . isDefined ( e . maxSize ) ? h . $parent . $eval ( e . maxSize ) : f . maxSize , t = angular . isDefined ( e . rotate ) ? h . $parent . $eval ( e . rotate ) : f . rotate ; h . boundaryLinks = angular . isDefined ( e . boundaryLinks ) ? h . $parent . $eval ( e . boundaryLinks ) : f . boundaryLinks ; h . directionLinks = angular . isDefined ( e . directionLinks ) ? h . $parent . $eval ( e . directionLinks ) : f . directionLinks ;
g . init ( k , f ) ; e . maxSize && h . $parent . $watch ( b ( e . maxSize ) , function ( a ) { c = parseInt ( a , 10 ) ; g . render ( ) } ) ; var l = g . render ; g . render = function ( ) { l ( ) ; if ( 0 < h . page && h . page <= h . totalPages ) { var a = h . page , b = h . totalPages , e = [ ] , g = 1 , f = b , k = angular . isDefined ( c ) && c < b ; k && ( t ? ( g = Math . max ( a - Math . floor ( c / 2 ) , 1 ) , f = g + c - 1 , f > b && ( f = b , g = f - c + 1 ) ) : ( g = ( Math . ceil ( a / c ) - 1 ) * c + 1 , f = Math . min ( g + c - 1 , b ) ) ) ; for ( var D = g ; D <= f ; D ++ ) e . push ( { number : D , text : D , active : D === a } ) ; k && ! t && ( 1 < g && e . unshift ( { number : g - 1 , text : "..." , active : ! 1 } ) , f < b && e . push ( { number : f + 1 , text : "..." ,
active : ! 1 } ) ) ; h . pages = e } } } } } } ] ) . 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 , k , e ) { h = e [ 0 ] ; ( e = e [ 1 ] ) &&
( f . align = angular . isDefined ( k . align ) ? f . $parent . $eval ( k . align ) : b . align , h . init ( e , b ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.pagination" ) . value ( "$paginationSuppressWarning" , ! 1 ) . controller ( "PaginationController" , [ "$scope" , "$attrs" , "$parse" , "$log" , "$paginationSuppressWarning" , function ( b , f , h , k , e ) { e || k . warn ( "PaginationController is now deprecated. Use UibPaginationController instead." ) ; var a = this , g = { $setViewValue : angular . noop } , c = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( e , l ) { g = e ; this . config = l ; g . $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 = l . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = a . calculateTotalPages ( ) } ) ; b . $watch ( "totalPages" , function ( a ) { c ( b . $parent , a ) ; b . page > a ? b . selectPage ( a ) : g . $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 ( g . $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 ( ) , g . $setViewValue ( a ) , g . $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 , k ) { 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 ( e , a , g , c ) { k || h . warn ( "pagination is now deprecated. Use uib-pagination instead." ) ; var t = c [ 0 ] ; if ( a = c [ 1 ] ) { var l = angular . isDefined ( g . maxSize ) ? e . $parent . $eval ( g . maxSize ) : f . maxSize , n = angular . isDefined ( g . rotate ) ? e . $parent . $eval ( g . rotate ) : f . rotate ; e . boundaryLinks = angular . isDefined ( g . boundaryLinks ) ? e . $parent . $eval ( g . boundaryLinks ) :
f . boundaryLinks ; e . directionLinks = angular . isDefined ( g . directionLinks ) ? e . $parent . $eval ( g . directionLinks ) : f . directionLinks ; t . init ( a , f ) ; g . maxSize && e . $parent . $watch ( b ( g . maxSize ) , function ( a ) { l = parseInt ( a , 10 ) ; t . render ( ) } ) ; var r = t . render ; t . render = function ( ) { r ( ) ; if ( 0 < e . page && e . page <= e . totalPages ) { var a = e . page , b = e . totalPages , c = [ ] , g = 1 , f = b , h = angular . isDefined ( l ) && l < b ; h && ( n ? ( g = Math . max ( a - Math . floor ( l / 2 ) , 1 ) , f = g + l - 1 , f > b && ( f = b , g = f - l + 1 ) ) : ( g = ( Math . ceil ( a / l ) - 1 ) * l + 1 , f = Math . min ( g + l - 1 , b ) ) ) ; for ( var k = g ; k <= f ; k ++ ) c . push ( { number : k ,
text : k , active : k === a } ) ; h && ! n && ( 1 < g && c . unshift ( { number : g - 1 , text : "..." , active : ! 1 } ) , f < b && c . push ( { number : f + 1 , text : "..." , active : ! 1 } ) ) ; e . pages = c } } } } } } ] ) . 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 , e ) { return e . templateUrl || "template/pagination/pager.html" } , replace : ! 0 ,
link : function ( k , e , a , g ) { h || f . warn ( "pager is now deprecated. Use uib-pager instead." ) ; e = g [ 0 ] ; ( g = g [ 1 ] ) && ( k . align = angular . isDefined ( a . align ) ? k . $parent . $eval ( a . align ) : b . align , e . init ( g , 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 : "" } , k = { } ; this . options = function ( b ) { angular . extend ( k , b ) } ; this . setTriggers = function ( b ) { angular . extend ( h , b ) } ; this . $get = [ "$window" , "$compile" , "$timeout" ,
"$document" , "$uibPosition" , "$interpolate" , "$rootScope" , "$parse" , "$$stackedMap" , function ( e , a , g , c , t , l , n , r , w ) { var q = w . createNew ( ) ; return c . on ( "keypress" , function ( a ) { 27 === a . which && ( a = q . top ( ) ) && ( a . value . close ( ) , q . removeTop ( ) ) } ) , function ( e , n , w , A ) { function y ( a ) { a = ( a || A . trigger || w ) . split ( " " ) ; var b = a . map ( function ( a ) { return h [ a ] || a } ) ; return { show : a , hide : b } } A = angular . extend ( { } , f , k , A ) ; var p = b ( e ) , u = l . startSymbol ( ) , z = l . endSymbol ( ) , D = "<div " + p + '-popup title="' + u + "title" + z + '" ' + ( A . useContentExp ? 'content-exp="contentExp()" ' :
'content="' + u + "content" + z + '" ' ) + 'placement="' + u + "placement" + z + '" popup-class="' + u + "popupClass" + z + '" animation="animation" is-open="isOpen"origin-scope="origScope" style="visibility: hidden; display: block; top: -9999px; left: -9999px;"></div>' ; return { compile : function ( b , f ) { var l = a ( D ) ; return function ( a , b , f , h ) { function k ( ) { W . isOpen ? w ( ) : p ( ) } function p ( ) { if ( ! Da || a . $eval ( f [ n + "Enable" ] ) ) { D ( ) ; W . title = f [ n + "Title" ] ; ga ? W . content = ga ( a ) : W . content = f [ e ] ; W . popupClass = f [ n + "Class" ] ; W . placement = angular . isDefined ( f [ n +
"Placement" ] ) ? f [ n + "Placement" ] : A . placement ; var b = parseInt ( f [ n + "PopupDelay" ] , 10 ) , c = parseInt ( f [ n + "PopupCloseDelay" ] , 10 ) ; W . popupDelay = isNaN ( b ) ? A . popupDelay : b ; W . popupCloseDelay = isNaN ( c ) ? A . popupCloseDelay : c ; W . popupDelay ? T || ( T = g ( B , W . popupDelay , ! 1 ) ) : B ( ) } } function w ( ) { u ( ) ; W . popupCloseDelay ? Y || ( Y = g ( z , W . popupCloseDelay , ! 1 ) ) : z ( ) } function B ( ) { return u ( ) , D ( ) , W . content ? ( F ( ) , void W . $evalAsync ( function ( ) { W . isOpen = ! 0 ; I ( ! 0 ) ; Ta ( ) } ) ) : angular . noop } function u ( ) { T && ( g . cancel ( T ) , T = null ) ; fa && ( g . cancel ( fa ) , fa = null ) } function z ( ) { u ( ) ;
D ( ) ; W && W . $evalAsync ( function ( ) { W . isOpen = ! 1 ; I ( ! 1 ) ; W . animation ? K || ( K = g ( N , 150 , ! 1 ) ) : N ( ) } ) } function D ( ) { Y && ( g . cancel ( Y ) , Y = null ) ; K && ( g . cancel ( K ) , K = null ) } function F ( ) { H || ( J = W . $new ( ) , H = l ( J , function ( a ) { v ? c . find ( "body" ) . append ( a ) : b . after ( a ) } ) , M ( ) ) } function N ( ) { O ( ) ; K = null ; H && ( H . remove ( ) , H = null ) ; J && ( J . $destroy ( ) , J = null ) } function I ( b ) { Ea && angular . isFunction ( Ea . assign ) && Ea . assign ( a , b ) } function M ( ) { qa . length = 0 ; ga ? ( qa . push ( a . $watch ( ga , function ( a ) { W . content = a ; ! a && W . isOpen && z ( ) } ) ) , qa . push ( J . $watch ( function ( ) { Ma || ( Ma =
! 0 , J . $$postDigest ( function ( ) { Ma = ! 1 ; W && W . isOpen && Ta ( ) } ) ) } ) ) ) : qa . push ( f . $observe ( e , function ( a ) { W . content = a ; ! a && W . isOpen ? z ( ) : Ta ( ) } ) ) ; qa . push ( f . $observe ( n + "Title" , function ( a ) { W . title = a ; W . isOpen && Ta ( ) } ) ) ; qa . push ( f . $observe ( n + "Placement" , function ( a ) { W . placement = a ? a : A . placement ; W . isOpen && Ta ( ) } ) ) } function O ( ) { qa . length && ( angular . forEach ( qa , function ( a ) { a ( ) } ) , qa . length = 0 ) } var H , J , K , T , Y , fa , v = ! ! angular . isDefined ( A . appendToBody ) && A . appendToBody , oa = y ( void 0 ) , Da = angular . isDefined ( f [ n + "Enable" ] ) , W = a . $new ( ! 0 ) , Ma =
! 1 , Ea = ! ! angular . isDefined ( f [ n + "IsOpen" ] ) && r ( f [ n + "IsOpen" ] ) , ga = ! ! A . useContentExp && r ( f [ e ] ) , qa = [ ] , Ta = function ( ) { H && H . html ( ) && ( fa || ( fa = g ( function ( ) { H . css ( { top : 0 , left : 0 } ) ; var a = t . positionElements ( b , H , W . placement , v ) ; a . top += "px" ; a . left += "px" ; a . visibility = "visible" ; H . css ( a ) ; fa = null } , 0 , ! 1 ) ) ) } ; W . origScope = a ; W . isOpen = ! 1 ; q . add ( W , { close : z } ) ; W . contentExp = function ( ) { return W . content } ; f . $observe ( "disabled" , function ( a ) { a && u ( ) ; a && W . isOpen && z ( ) } ) ; Ea && a . $watch ( Ea , function ( a ) { W && ! a === W . isOpen && k ( ) } ) ; var tb = function ( ) { oa . show . forEach ( function ( a ) { b . unbind ( a ,
p ) } ) ; oa . hide . forEach ( function ( a ) { a . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . removeEventListener ( a , w ) } ) } ) } ; ( function ( ) { var a = f [ n + "Trigger" ] ; tb ( ) ; oa = y ( a ) ; "none" !== oa . show && oa . show . forEach ( function ( a , c ) { a === oa . hide [ c ] ? b [ 0 ] . addEventListener ( a , k ) : a && ( b [ 0 ] . addEventListener ( a , p ) , oa . hide [ c ] . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . addEventListener ( a , w ) } ) ) ; b . on ( "keypress" , function ( a ) { 27 === a . which && w ( ) } ) } ) } ) ( ) ; h = a . $eval ( f [ n + "Animation" ] ) ; W . animation = angular . isDefined ( h ) ? ! ! h : A . animation ; h = a . $eval ( f [ n + "AppendToBody" ] ) ;
( v = angular . isDefined ( h ) ? h : v ) && a . $on ( "$locationChangeSuccess" , function ( ) { W . isOpen && z ( ) } ) ; a . $on ( "$destroy" , function ( ) { u ( ) ; D ( ) ; tb ( ) ; N ( ) ; q . remove ( W ) ; W = null } ) } } } } } ] } ) . directive ( "uibTooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , function ( b , f , h , k ) { return { link : function ( e , a , g ) { var c , t , l , n = e . $eval ( g . tooltipTemplateTranscludeScope ) , r = 0 , w = function ( ) { t && ( t . remove ( ) , t = null ) ; c && ( c . $destroy ( ) , c = null ) ; l && ( b . leave ( l ) . then ( function ( ) { t = null } ) , t = l , l = null ) } ; e . $watch ( f . parseAsResourceUrl ( g . uibTooltipTemplateTransclude ) ,
function ( g ) { var f = ++ r ; g ? ( k ( g , ! 0 ) . then ( function ( e ) { if ( f === r ) { var k = n . $new ( ) ; e = h ( e ) ( k , function ( c ) { w ( ) ; b . enter ( c , a ) } ) ; c = k ; l = e ; c . $emit ( "$includeContentLoaded" , g ) } } , function ( ) { f === r && ( w ( ) , e . $emit ( "$includeContentError" , g ) ) } ) , e . $emit ( "$includeContentRequested" , g ) ) : w ( ) } ) ; e . $on ( "$destroy" , w ) } } } ] ) . 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-07-28 21:47:09 +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 , k ) { return h || f . warn ( "$tooltip is now deprecated. Use $uibTooltip instead." ) , k . invoke ( b . $get ) } ] } ] ) . directive ( "tooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , "$log" , "$tooltipSuppressWarning" , function ( b , f , h , k , e , a ) { return { link : function ( g , c , t ) { a || e . warn ( "tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead." ) ;
var l , n , r , w = g . $eval ( t . tooltipTemplateTranscludeScope ) , q = 0 , z = function ( ) { n && ( n . remove ( ) , n = null ) ; l && ( l . $destroy ( ) , l = null ) ; r && ( b . leave ( r ) . then ( function ( ) { n = null } ) , n = r , r = null ) } ; g . $watch ( f . parseAsResourceUrl ( t . tooltipTemplateTransclude ) , function ( a ) { var e = ++ q ; a ? ( k ( a , ! 0 ) . then ( function ( g ) { if ( e === q ) { var f = w . $new ( ) ; g = h ( g ) ( f , function ( a ) { z ( ) ; b . enter ( a , c ) } ) ; l = f ; r = g ; l . $emit ( "$includeContentLoaded" , a ) } } , function ( ) { e === q && ( z ( ) , g . $emit ( "$includeContentError" , a ) ) } ) , g . $emit ( "$includeContentRequested" , a ) ) : z ( ) } ) ; g . $on ( "$destroy" ,
z ) } } } ] ) . directive ( "tooltipClasses" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { restrict : "A" , link : function ( h , k , e ) { f || b . warn ( "tooltip-classes is now deprecated. Use uib-tooltip-classes instead." ) ; h . placement && k . addClass ( h . placement ) ; h . popupClass && k . addClass ( h . popupClass ) ; h . animation ( ) && k . addClass ( e . 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 , k ) { f || b . warn ( "tooltip-popup is now deprecated. Use uib-tooltip-popup instead." ) ; k . 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 , k ) { f || b . warn ( "tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead." ) ; k . 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 ,
k ) { f || b . warn ( "tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead." ) ; k . 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 , k ) { f || b . warn ( "popover-template-popup is now deprecated. Use uib-popover-template-popup instead." ) ; k . 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 , k ) { f || b . warn ( "popover-html-popup is now deprecated. Use uib-popover-html-popup instead." ) ; k . 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 , k ) { f || b . warn ( "popover-popup is now deprecated. Use uib-popover-popup instead." ) ; k . 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 k = 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 ( a , g , c ) { e || g . css ( { transition : "none" } ) ; this . bars . push ( a ) ; a . max = b . max ; a . title = c && angular . isDefined ( c . title ) ? c . title : "progressbar" ; a . $watch ( "value" , function ( b ) { a . recalculatePercentage ( ) } ) ;
a . recalculatePercentage = function ( ) { var b = k . 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 ( ) { g = null ; k . 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 ) { k . 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 , k ) { k . 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 , k ) { k . 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 , k , e ) { e || k . warn ( "ProgressController is now deprecated. Use UibProgressController instead." ) ; var a = this , g = 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 , e , f ) { g || e . css ( { transition : "none" } ) ; this . bars . push ( c ) ;
c . max = b . max ; c . title = f && angular . isDefined ( f . title ) ? f . 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 ( ) { e = 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 ,
k , e , a ) { f || b . warn ( "bar is now deprecated. Use uib-bar instead." ) ; a . addBar ( h , k ) } } } ] ) . 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 , k , e , a ) { f || b . warn ( "progressbar is now deprecated. Use uib-progressbar instead." ) ; a . addBar ( h , angular . element ( k . children ( ) [ 0 ] ) , { title : e . 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 k = { $setViewValue : angular . noop } ; this . init = function ( e ) { k = e ; k . $render = this . render ; k . $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 ; e = angular . isDefined ( f . titles ) ? b . $parent . $eval ( f . titles ) : h . titles ; this . titles = angular . isArray ( e ) && 0 < e . length ? e : h . titles ; e = 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 ( e ) } ; this . buildTemplateObjects = function ( b ) { for ( var a = 0 , e = b . length ; a < e ; 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 ( e ) { ! b . readonly && 0 <= e && e <= b . range . length && ( k . $setViewValue ( k . $viewValue === e ? 0 : e ) , k . $render ( ) ) } ; b . enter = function ( e ) { b . readonly || ( b . value = e ) ; b . onHover ( { value : e } ) } ; b . reset = function ( ) { b . value = k . $viewValue ; b . onLeave ( ) } ; b . onKeydown = function ( e ) { /(37|38|39|40)/ . test ( e . which ) && ( e . preventDefault ( ) , e . stopPropagation ( ) , b . rate ( b . value + ( 38 === e . which || 39 === e . which ? 1 : - 1 ) ) ) } ; this . render = function ( ) { b . value = k . $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 , k ) { k [ 0 ] . init ( k [ 1 ] ) } } } ) ;
angular . module ( "ui.bootstrap.rating" ) . value ( "$ratingSuppressWarning" , ! 1 ) . controller ( "RatingController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$ratingSuppressWarning" , function ( b , f , h , k , e ) { e || k . 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 , k , e , 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 && ! k && f . select ( h [ a == h . length - 1 ?
a - 1 : a + 1 ] ) ; h . splice ( a , 1 ) } ; var k ; b . $on ( "$destroy" , function ( ) { k = ! 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 , k , e , a ) { f . $watch ( "active" , function ( a ) { a && e . select ( f ) } ) ; f . disabled = ! 1 ; k . disable && f . $parent . $watch ( b ( k . disable ) , function ( a ) { f . disabled = ! ! a } ) ; f . select = function ( ) { f . disabled || ( f . active = ! 0 ) } ; e . addTab ( f ) ; f . $on ( "$destroy" , function ( ) { e . 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 k = b . $eval ( h . uibTabContentTransclude ) ; k . $transcludeFn ( k . $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 ( ) ) ? k . headingElement = a : f . append ( a ) } ) } ) } } } ) ;
angular . module ( "ui.bootstrap.tabs" ) . value ( "$tabsSuppressWarning" , ! 1 ) . controller ( "TabsetController" , [ "$scope" , "$controller" , "$log" , "$tabsSuppressWarning" , function ( b , f , h , k ) { k || 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 , k , e ) { f || b . warn ( "tabset is now deprecated. Use uib-tabset instead." ) ; h . vertical = ! ! angular . isDefined ( e . vertical ) && h . $parent . $eval ( e . vertical ) ; h . justified = ! ! angular . isDefined ( e . justified ) && h . $parent . $eval ( e . 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 ( k , e , a , g , c ) { h || f . warn ( "tab is now deprecated. Use uib-tab instead." ) ; k . $watch ( "active" , function ( a ) { a && g . select ( k ) } ) ; k . disabled = ! 1 ; a . disable && k . $parent . $watch ( b ( a . disable ) , function ( a ) { k . disabled = ! ! a } ) ; k . select = function ( ) { k . disabled || ( k . active = ! 0 ) } ; g . addTab ( k ) ; k . $on ( "$destroy" , function ( ) { g . removeTab ( k ) } ) ; k . $transcludeFn = c } } } ] ) . directive ( "tabHeadingTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tab" , link : function ( h , k ) { f || b . warn ( "tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead." ) ;
h . $watch ( "headingElement" , function ( b ) { b && ( k . html ( "" ) , k . append ( b ) ) } ) } } } ] ) . directive ( "tabContentTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tabset" , link : function ( h , k , e ) { f || b . warn ( "tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead." ) ; var a = h . $eval ( e . 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 : k . 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 , k , e , a , g ) { function c ( ) { 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 === A [ 1 ] && ( a += 12 ) ) , a } function t ( ) { var a = parseInt ( b . minutes ,
10 ) ; return 0 <= a && 60 > a ? a : void 0 } function l ( a ) { return angular . isDefined ( a ) && 2 > a . toString ( ) . length ? "0" + a : a . toString ( ) } function n ( a ) { r ( ) ; D . $setViewValue ( new Date ( y ) ) ; w ( a ) } function r ( ) { D . $setValidity ( "time" , ! 0 ) ; b . invalidHours = ! 1 ; b . invalidMinutes = ! 1 } function w ( a ) { var c = y . getHours ( ) , e = y . getMinutes ( ) ; b . showMeridian && ( c = 0 === c || 12 === c ? 12 : c % 12 ) ; b . hours = "h" === a ? c : l ( c ) ; "m" !== a && ( b . minutes = l ( e ) ) ; b . meridian = 12 > y . getHours ( ) ? A [ 0 ] : A [ 1 ] } function q ( a , b ) { var c = new Date ( a . getTime ( ) + 6E4 * b ) , e = new Date ( a ) ; return e . setHours ( c . getHours ( ) ,
c . getMinutes ( ) ) , e } function z ( a ) { y = q ( y , a ) ; n ( ) } var y = new Date , D = { $setViewValue : angular . noop } , A = angular . isDefined ( h . meridians ) ? b . $parent . $eval ( h . meridians ) : g . meridians || a . DATETIME _FORMATS . AMPMS ; b . tabindex = angular . isDefined ( h . tabindex ) ? h . tabindex : 0 ; f . removeAttr ( "tabindex" ) ; this . init = function ( a , c ) { D = a ; D . $render = this . render ; D . $formatters . unshift ( function ( a ) { return a ? new Date ( a ) : null } ) ; var e = c . eq ( 0 ) , f = c . eq ( 1 ) ; ( angular . isDefined ( h . mousewheel ) ? b . $parent . $eval ( h . mousewheel ) : g . mousewheel ) && this . setupMousewheelEvents ( e ,
f ) ; ( angular . isDefined ( h . arrowkeys ) ? b . $parent . $eval ( h . arrowkeys ) : g . arrowkeys ) && this . setupArrowkeyEvents ( e , f ) ; b . readonlyInput = angular . isDefined ( h . readonlyInput ) ? b . $parent . $eval ( h . readonlyInput ) : g . readonlyInput ; this . setupInputEvents ( e , f ) } ; var F = g . hourStep ; h . hourStep && b . $parent . $watch ( k ( h . hourStep ) , function ( a ) { F = parseInt ( a , 10 ) } ) ; var p = g . minuteStep ; h . minuteStep && b . $parent . $watch ( k ( h . minuteStep ) , function ( a ) { p = parseInt ( a , 10 ) } ) ; var u ; b . $parent . $watch ( k ( h . min ) , function ( a ) { a = new Date ( a ) ; u = isNaN ( a ) ? void 0 : a } ) ;
var J ; b . $parent . $watch ( k ( h . max ) , function ( a ) { a = new Date ( a ) ; J = isNaN ( a ) ? void 0 : a } ) ; b . noIncrementHours = function ( ) { var a = q ( y , 60 * F ) ; return a > J || a < y && a < u } ; b . noDecrementHours = function ( ) { var a = q ( y , 60 * - F ) ; return a < u || a > y && a > J } ; b . noIncrementMinutes = function ( ) { var a = q ( y , p ) ; return a > J || a < y && a < u } ; b . noDecrementMinutes = function ( ) { var a = q ( y , - p ) ; return a < u || a > y && a > J } ; b . noToggleMeridian = function ( ) { return 13 > y . getHours ( ) ? q ( y , 720 ) > J : q ( y , - 720 ) < u } ; b . showMeridian = g . showMeridian ; h . showMeridian && b . $parent . $watch ( k ( h . showMeridian ) ,
function ( a ) { if ( b . showMeridian = ! ! a , D . $error . time ) { a = c ( ) ; var e = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( e ) && ( y . setHours ( a ) , n ( ) ) } else w ( ) } ) ; 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 , e ) { if ( b . readonlyInput ) return b . updateHours = angular . noop , void ( b . updateMinutes = angular . noop ) ;
var g = function ( a , c ) { D . $setViewValue ( null ) ; D . $setValidity ( "time" , ! 1 ) ; angular . isDefined ( a ) && ( b . invalidHours = a ) ; angular . isDefined ( c ) && ( b . invalidMinutes = c ) } ; b . updateHours = function ( ) { var a = c ( ) , b = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( y . setHours ( a ) , y < u || y > J ? g ( ! 0 ) : n ( "h" ) ) : g ( ! 0 ) } ; a . bind ( "blur" , function ( a ) { ! b . invalidHours && 10 > b . hours && b . $apply ( function ( ) { b . hours = l ( b . hours ) } ) } ) ; b . updateMinutes = function ( ) { var a = t ( ) , b = c ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( y . setMinutes ( a ) , y < u || y > J ? g ( void 0 ,
! 0 ) : n ( "m" ) ) : g ( void 0 , ! 0 ) } ; e . bind ( "blur" , function ( a ) { ! b . invalidMinutes && 10 > b . minutes && b . $apply ( function ( ) { b . minutes = l ( b . minutes ) } ) } ) } ; this . render = function ( ) { var a = D . $viewValue ; isNaN ( a ) ? ( D . $setValidity ( "time" , ! 1 ) , e . 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 && ( y = a ) , y < u || y > J ? ( D . $setValidity ( "time" , ! 1 ) , b . invalidHours = ! 0 , b . invalidMinutes = ! 0 ) : r ( ) , w ( ) ) } ; b . showSpinners = angular . isDefined ( h . showSpinners ) ?
b . $parent . $eval ( h . showSpinners ) : g . showSpinners ; b . incrementHours = function ( ) { b . noIncrementHours ( ) || z ( 60 * F ) } ; b . decrementHours = function ( ) { b . noDecrementHours ( ) || z ( 60 * - F ) } ; b . incrementMinutes = function ( ) { b . noIncrementMinutes ( ) || z ( p ) } ; b . decrementMinutes = function ( ) { b . noDecrementMinutes ( ) || z ( - p ) } ; b . toggleMeridian = function ( ) { b . noToggleMeridian ( ) || z ( 720 * ( 12 > y . 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 , k ) { b = k [ 0 ] ; ( k = k [ 1 ] ) && b . init ( k , f . find ( "input" ) ) } } } ) ;
angular . module ( "ui.bootstrap.timepicker" ) . value ( "$timepickerSuppressWarning" , ! 1 ) . controller ( "TimepickerController" , [ "$scope" , "$element" , "$attrs" , "$controller" , "$log" , "$timepickerSuppressWarning" , function ( b , f , h , k , e , a ) { a || e . warn ( "TimepickerController is now deprecated. Use UibTimepickerController instead." ) ; angular . extend ( this , k ( "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 , k , e , a ) { f || b . warn ( "timepicker is now deprecated. Use uib-timepicker instead." ) ; h = a [ 0 ] ; ( a = a [ 1 ] ) && h . init ( a , k . 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 k = h . match ( f ) ; if ( ! k ) throw Error ( 'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "' + h + '".' ) ; return { itemName : k [ 3 ] , source : b ( k [ 4 ] ) , viewMapper : b ( k [ 2 ] || k [ 1 ] ) , modelMapper : b ( k [ 1 ] ) } } } } ] ) . controller ( "UibTypeaheadController" ,
[ "$scope" , "$element" , "$attrs" , "$compile" , "$parse" , "$q" , "$timeout" , "$document" , "$window" , "$rootScope" , "$uibPosition" , "uibTypeaheadParser" , function ( b , f , h , k , e , a , g , c , t , l , n , r ) { function w ( ) { L . moveInProgress || ( L . moveInProgress = ! 0 , L . $digest ( ) ) ; V && g . cancel ( V ) ; V = g ( function ( ) { L . matches . length && q ( ) ; L . moveInProgress = ! 1 } , A ) } function q ( ) { L . position = K ? n . offset ( f ) : n . position ( f ) ; L . position . top += f . prop ( "offsetHeight" ) } var z , y , D = [ 9 , 13 , 27 , 38 , 40 ] , A = 200 , F = b . $eval ( h . typeaheadMinLength ) ; F || 0 === F || ( F = 1 ) ; var p , u , J = b . $eval ( h . typeaheadWaitMs ) ||
0 , M = ! 1 !== b . $eval ( h . typeaheadEditable ) , H = e ( h . typeaheadLoading ) . assign || angular . noop , I = e ( h . typeaheadOnSelect ) , O = ! ! angular . isDefined ( h . typeaheadSelectOnBlur ) && b . $eval ( h . typeaheadSelectOnBlur ) , T = e ( h . typeaheadNoResults ) . assign || angular . noop , Y = h . typeaheadInputFormatter ? e ( h . typeaheadInputFormatter ) : void 0 , K = ! ! h . typeaheadAppendToBody && b . $eval ( h . typeaheadAppendToBody ) , N = h . typeaheadAppendToElementId || ! 1 , S = ! 1 !== b . $eval ( h . typeaheadFocusFirst ) , ia = ! ! h . typeaheadSelectOnExact && b . $eval ( h . typeaheadSelectOnExact ) , ua =
e ( h . ngModel ) , B = e ( h . ngModel + "($$$p)" ) , U = function ( a , c ) { return angular . isFunction ( ua ( b ) ) && y && y . $options && y . $options . getterSetter ? B ( a , { $$$p : c } ) : ua . assign ( a , c ) } , X = r . parse ( h . uibTypeahead ) , L = b . $new ( ) ; e = b . $on ( "$destroy" , function ( ) { L . $destroy ( ) } ) ; L . $on ( "$destroy" , e ) ; var ba = "typeahead-" + L . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; f . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : ba } ) ; var P = angular . element ( "<div uib-typeahead-popup></div>" ) ; P . attr ( { id : ba , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" ,
"move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ; angular . isDefined ( h . typeaheadTemplateUrl ) && P . attr ( "template-url" , h . typeaheadTemplateUrl ) ; angular . isDefined ( h . typeaheadPopupTemplateUrl ) && P . attr ( "popup-template-url" , h . typeaheadPopupTemplateUrl ) ; var na = function ( ) { L . matches = [ ] ; L . activeIdx = - 1 ; f . attr ( "aria-expanded" , ! 1 ) } ; L . $watch ( "activeIdx" , function ( a ) { 0 > a ? f . removeAttr ( "aria-activedescendant" ) : f . attr ( "aria-activedescendant" , ba + "-option-" + a ) } ) ; var da = function ( c ) { var e = { $viewValue : c } ;
H ( b , ! 0 ) ; T ( b , ! 1 ) ; a . when ( X . source ( b , e ) ) . then ( function ( a ) { var g = c === z . $viewValue ; if ( g && p ) if ( a && 0 < a . length ) { L . activeIdx = S ? 0 : - 1 ; T ( b , ! 1 ) ; for ( var l = L . matches . length = 0 ; l < a . length ; l ++ ) e [ X . itemName ] = a [ l ] , L . matches . push ( { id : ba + "-option-" + l , label : X . viewMapper ( L , e ) , model : a [ l ] } ) ; L . query = c ; q ( ) ; f . attr ( "aria-expanded" , ! 0 ) ; ia && 1 === L . matches . length && 0 < L . matches . length && c && c . toUpperCase ( ) === L . matches [ 0 ] . label . toUpperCase ( ) && L . select ( 0 ) } else na ( ) , T ( b , ! 0 ) ; g && H ( b , ! 1 ) } , function ( ) { na ( ) ; H ( b , ! 1 ) ; T ( b , ! 0 ) } ) } ; K && ( angular . element ( t ) . bind ( "resize" ,
w ) , c . find ( "body" ) . bind ( "scroll" , w ) ) ; var V ; L . moveInProgress = ! 1 ; L . query = void 0 ; var ja , ca = function ( a ) { ja = g ( function ( ) { da ( a ) } , J ) } ; na ( ) ; L . select = function ( a ) { var c , e = { } ; u = ! 0 ; e [ X . itemName ] = c = L . matches [ a ] . model ; a = X . modelMapper ( b , e ) ; U ( b , a ) ; z . $setValidity ( "editable" , ! 0 ) ; z . $setValidity ( "parse" , ! 0 ) ; I ( b , { $item : c , $model : a , $label : X . viewMapper ( b , e ) } ) ; na ( ) ; ! 1 !== L . $eval ( h . typeaheadFocusOnSelect ) && g ( function ( ) { f [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; f . bind ( "keydown" , function ( a ) { if ( 0 !== L . matches . length && - 1 !== D . indexOf ( a . which ) ) { if ( - 1 ===
L . activeIdx && ( 9 === a . which || 13 === a . which ) ) return na ( ) , void L . $digest ( ) ; a . preventDefault ( ) ; 40 === a . which ? ( L . activeIdx = ( L . activeIdx + 1 ) % L . matches . length , L . $digest ( ) ) : 38 === a . which ? ( L . activeIdx = ( 0 < L . activeIdx ? L . activeIdx : L . matches . length ) - 1 , L . $digest ( ) ) : 13 === a . which || 9 === a . which ? L . $apply ( function ( ) { L . select ( L . activeIdx ) } ) : 27 === a . which && ( a . stopPropagation ( ) , na ( ) , L . $digest ( ) ) } } ) ; f . bind ( "blur" , function ( ) { O && L . matches . length && - 1 !== L . activeIdx && ! u && ( u = ! 0 , L . $apply ( function ( ) { L . select ( L . activeIdx ) } ) ) ; u = p = ! 1 } ) ;
var la = function ( a ) { f [ 0 ] !== a . target && 3 !== a . which && 0 !== L . matches . length && ( na ( ) , l . $$phase || L . $digest ( ) ) } ; c . bind ( "click" , la ) ; b . $on ( "$destroy" , function ( ) { c . unbind ( "click" , la ) ; ( K || N ) && Ga . remove ( ) ; K && ( angular . element ( t ) . unbind ( "resize" , w ) , c . find ( "body" ) . unbind ( "scroll" , w ) ) ; P . remove ( ) } ) ; var Ga = k ( P ) ( L ) ; K ? c . find ( "body" ) . append ( Ga ) : ! 1 !== N ? angular . element ( c [ 0 ] . getElementById ( N ) ) . append ( Ga ) : f . after ( Ga ) ; this . init = function ( a , c ) { z = a ; y = c ; z . $parsers . unshift ( function ( a ) { p = ! 0 ; 0 === F || a && a . length >= F ? 0 < J ? ( ja && g . cancel ( ja ) ,
ca ( a ) ) : da ( a ) : ( H ( b , ! 1 ) , ja && g . cancel ( ja ) , na ( ) ) ; return M ? a : a ? void z . $setValidity ( "editable" , ! 1 ) : ( z . $setValidity ( "editable" , ! 0 ) , null ) } ) ; z . $formatters . push ( function ( a ) { var c , e , g = { } ; return M || z . $setValidity ( "editable" , ! 0 ) , Y ? ( g . $model = a , Y ( b , g ) ) : ( g [ X . itemName ] = a , c = X . viewMapper ( b , g ) , g [ X . itemName ] = void 0 , e = X . viewMapper ( b , g ) , c !== e ? c : a ) } ) } } ] ) . directive ( "uibTypeahead" , function ( ) { return { controller : "UibTypeaheadController" , require : [ "ngModel" , "^?ngModelOptions" , "uibTypeahead" ] , link : function ( b , f , h , k ) { k [ 2 ] . init ( k [ 0 ] ,
k [ 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 ( k , e , a ) { a = h ( a . templateUrl ) ( k . $parent ) || "template/typeahead/typeahead-match.html" ; b ( a ) . then ( function ( a ) { f ( a . trim ( ) ) ( k , function ( a ) { e . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "uibTypeaheadHighlight" , [ "$sce" , "$injector" , "$log" , function ( b , f , h ) { var k ; return k = f . has ( "$sanitize" ) , function ( e , a ) { return ! k && /<.*>/g . test ( e ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) , e = a ? ( "" + e ) . replace ( new RegExp ( a . replace ( /([.?*+^$[\]\\(){}|-])/g ,
"\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : e , k || ( e = b . trustAsHtml ( e ) ) , e } } ] ) ;
angular . module ( "ui.bootstrap.typeahead" ) . value ( "$typeaheadSuppressWarning" , ! 1 ) . service ( "typeaheadParser" , [ "$parse" , "uibTypeaheadParser" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , k ) { return k || 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 , k , e , a , g , c , t , l , n ) { var r = [ 9 , 13 , 27 , 38 , 40 ] ; return { require : [ "ngModel" ,
"^?ngModelOptions" ] , link : function ( w , q , z , y ) { function D ( ) { P . moveInProgress || ( P . moveInProgress = ! 0 , P . $digest ( ) ) ; ca && k . cancel ( ca ) ; ca = k ( function ( ) { P . matches . length && A ( ) ; P . moveInProgress = ! 1 } , 200 ) } function A ( ) { P . position = S ? c . offset ( q ) : c . position ( q ) ; P . position . top += q . prop ( "offsetHeight" ) } n || l . warn ( "typeahead is now deprecated. Use uib-typeahead instead." ) ; var F = y [ 0 ] , p = y [ 1 ] , u = w . $eval ( z . typeaheadMinLength ) ; u || 0 === u || ( u = 1 ) ; var J , M , H = w . $eval ( z . typeaheadWaitMs ) || 0 , I = ! 1 !== w . $eval ( z . typeaheadEditable ) , O = f ( z . typeaheadLoading ) . assign ||
angular . noop , T = f ( z . typeaheadOnSelect ) , Y = ! ! angular . isDefined ( z . typeaheadSelectOnBlur ) && w . $eval ( z . typeaheadSelectOnBlur ) , K = f ( z . typeaheadNoResults ) . assign || angular . noop , N = z . typeaheadInputFormatter ? f ( z . typeaheadInputFormatter ) : void 0 , S = ! ! z . typeaheadAppendToBody && w . $eval ( z . typeaheadAppendToBody ) , ia = z . typeaheadAppendToElementId || ! 1 , ua = ! 1 !== w . $eval ( z . typeaheadFocusFirst ) , B = ! ! z . typeaheadSelectOnExact && w . $eval ( z . typeaheadSelectOnExact ) , U = f ( z . ngModel ) , X = f ( z . ngModel + "($$$p)" ) , L = function ( a , b ) { return angular . isFunction ( U ( w ) ) &&
p && p . $options && p . $options . getterSetter ? X ( a , { $$$p : b } ) : U . assign ( a , b ) } , ba = t . parse ( z . typeahead ) , P = w . $new ( ) ; y = w . $on ( "$destroy" , function ( ) { P . $destroy ( ) } ) ; P . $on ( "$destroy" , y ) ; var na = "typeahead-" + P . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; q . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : na } ) ; var da = angular . element ( "<div typeahead-popup></div>" ) ; da . attr ( { id : na , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" , "move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ;
angular . isDefined ( z . typeaheadTemplateUrl ) && da . attr ( "template-url" , z . typeaheadTemplateUrl ) ; angular . isDefined ( z . typeaheadPopupTemplateUrl ) && da . attr ( "popup-template-url" , z . typeaheadPopupTemplateUrl ) ; var V = function ( ) { P . matches = [ ] ; P . activeIdx = - 1 ; q . attr ( "aria-expanded" , ! 1 ) } ; P . $watch ( "activeIdx" , function ( a ) { 0 > a ? q . removeAttr ( "aria-activedescendant" ) : q . attr ( "aria-activedescendant" , na + "-option-" + a ) } ) ; var ja = function ( a ) { var b = { $viewValue : a } ; O ( w , ! 0 ) ; K ( w , ! 1 ) ; h . when ( ba . source ( w , b ) ) . then ( function ( c ) { var e = a === F . $viewValue ;
if ( e && J ) if ( c && 0 < c . length ) { P . activeIdx = ua ? 0 : - 1 ; K ( w , ! 1 ) ; for ( var g = P . matches . length = 0 ; g < c . length ; g ++ ) b [ ba . itemName ] = c [ g ] , P . matches . push ( { id : na + "-option-" + g , label : ba . viewMapper ( P , b ) , model : c [ g ] } ) ; P . query = a ; A ( ) ; q . attr ( "aria-expanded" , ! 0 ) ; B && 1 === P . matches . length && 0 < P . matches . length && a && a . toUpperCase ( ) === P . matches [ 0 ] . label . toUpperCase ( ) && P . select ( 0 ) } else V ( ) , K ( w , ! 0 ) ; e && O ( w , ! 1 ) } , function ( ) { V ( ) ; O ( w , ! 1 ) ; K ( w , ! 0 ) } ) } ; S && ( angular . element ( a ) . bind ( "resize" , D ) , e . find ( "body" ) . bind ( "scroll" , D ) ) ; var ca ; P . moveInProgress =
! 1 ; V ( ) ; P . query = void 0 ; var la , Ga = function ( a ) { la = k ( function ( ) { ja ( a ) } , H ) } ; F . $parsers . unshift ( function ( a ) { J = ! 0 ; 0 === u || a && a . length >= u ? 0 < H ? ( la && k . cancel ( la ) , Ga ( a ) ) : ja ( a ) : ( O ( w , ! 1 ) , la && k . cancel ( la ) , V ( ) ) ; return I ? a : a ? void F . $setValidity ( "editable" , ! 1 ) : ( F . $setValidity ( "editable" , ! 0 ) , null ) } ) ; F . $formatters . push ( function ( a ) { var b , c , e = { } ; return I || F . $setValidity ( "editable" , ! 0 ) , N ? ( e . $model = a , N ( w , e ) ) : ( e [ ba . itemName ] = a , b = ba . viewMapper ( w , e ) , e [ ba . itemName ] = void 0 , c = ba . viewMapper ( w , e ) , b !== c ? b : a ) } ) ; P . select = function ( a ) { var b ,
c = { } ; M = ! 0 ; c [ ba . itemName ] = b = P . matches [ a ] . model ; a = ba . modelMapper ( w , c ) ; L ( w , a ) ; F . $setValidity ( "editable" , ! 0 ) ; F . $setValidity ( "parse" , ! 0 ) ; T ( w , { $item : b , $model : a , $label : ba . viewMapper ( w , c ) } ) ; V ( ) ; ! 1 !== P . $eval ( z . typeaheadFocusOnSelect ) && k ( function ( ) { q [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; q . bind ( "keydown" , function ( a ) { if ( 0 !== P . matches . length && - 1 !== r . indexOf ( a . which ) ) { if ( - 1 === P . activeIdx && ( 9 === a . which || 13 === a . which ) ) return V ( ) , 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 ( ) , V ( ) , P . $digest ( ) ) } } ) ; q . bind ( "blur" , function ( ) { Y && P . matches . length && - 1 !== P . activeIdx && ! M && ( M = ! 0 , P . $apply ( function ( ) { P . select ( P . activeIdx ) } ) ) ; M = J = ! 1 } ) ; var xa = function ( a ) { q [ 0 ] !== a . target && 3 !== a . which && 0 !== P . matches . length && ( V ( ) , g . $$phase || P . $digest ( ) ) } ; e . bind ( "click" , xa ) ; w . $on ( "$destroy" , function ( ) { e . unbind ( "click" ,
xa ) ; ( S || ia ) && fa . remove ( ) ; S && ( angular . element ( a ) . unbind ( "resize" , D ) , e . find ( "body" ) . unbind ( "scroll" , D ) ) ; da . remove ( ) } ) ; var fa = b ( da ) ( P ) ; S ? e . find ( "body" ) . append ( fa ) : ! 1 !== ia ? angular . element ( e [ 0 ] . getElementById ( ia ) ) . append ( fa ) : q . after ( fa ) } } } ] ) . 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 , k , e ) { b || f . warn ( "typeahead-popup is now deprecated. Use uib-typeahead-popup instead." ) ; h . templateUrl = e . 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 , k , e ) { return { restrict : "EA" , scope : { index : "=" , match : "=" , query : "=" } , link : function ( a ,
g , c ) { k || e . warn ( "typeahead-match is now deprecated. Use uib-typeahead-match instead." ) ; c = h ( c . templateUrl ) ( a . $parent ) || "template/typeahead/typeahead-match.html" ; b ( c ) . then ( function ( b ) { f ( b . trim ( ) ) ( a , function ( a ) { g . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "typeaheadHighlight" , [ "$sce" , "$injector" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , k ) { var e ; return e = f . has ( "$sanitize" ) , function ( a , g ) { return k || h . warn ( "typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead." ) , ! e && /<.*>/g . test ( a ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) ,
a = g ? ( "" + a ) . replace ( new RegExp ( g . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : a , e || ( 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-07-28 21:47:09 +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 , l , h , k , n , t , q , r , w , I , O , T ,
Y , K , N , S = { } , ia = [ ] , ua = a , B = [ ] , U = "translate-cloak" , X = ! 1 , L = ! 1 , ba = "." , P = ! 1 , na = ! 1 , da = 0 , V = ! 0 , ja = "default" , ca = { "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 Ga = function ( ) { var a = la ( ) || "" ; return ca [ ja ] && ( a = ca [ ja ] ( a ) ) , a } ; Ga . displayName = "angular-translate/service: getLocale" ;
var xa = function ( a , b ) { for ( var c = 0 , e = a . length ; c < e ; c ++ ) if ( a [ c ] === b ) return c ; return - 1 } , fa = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } , v = function ( a ) { if ( a ) { for ( var b = [ ] , c = angular . lowercase ( a ) , e = 0 , g = ia . length ; e < g ; e ++ ) b . push ( angular . lowercase ( ia [ e ] ) ) ; if ( - 1 < xa ( b , c ) ) return a ; if ( f ) { var l , 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 ) && ( l = f [ h ] ,
- 1 < xa ( b , angular . lowercase ( l ) ) ) ) ) return l } a = a . split ( "_" ) ; return 1 < a . length && - 1 < xa ( b , angular . lowercase ( a [ 0 ] ) ) ? a [ 0 ] : void 0 } } , oa = function ( a , b ) { if ( ! a && ! b ) return S ; if ( a && ! b ) { if ( angular . isString ( a ) ) return S [ a ] } else angular . isObject ( S [ a ] ) || ( S [ a ] = { } ) , angular . extend ( S [ a ] , Da ( b ) ) ; return this } ; this . translations = oa ; this . cloakClassName = function ( a ) { return a ? ( U = a , this ) : U } ; this . nestedObjectDelimeter = function ( a ) { return a ? ( ba = a , this ) : ba } ; var Da = function ( a , b , c , e ) { var g , f , l , h ; b || ( b = [ ] ) ; c || ( c = { } ) ; for ( g in a ) Object . prototype . hasOwnProperty . call ( a ,
g ) && ( h = a [ g ] , angular . isObject ( h ) ? Da ( h , b . concat ( g ) , c , g ) : ( f = b . length ? "" + b . join ( ba ) + ba + g : g , b . length && g === e && ( l = "" + b . join ( ba ) , c [ l ] = "@:" + f ) , c [ f ] = h ) ) ; return c } ; Da . displayName = "flatObject" ; this . addInterpolation = function ( a ) { return B . push ( a ) , this } ; this . useMessageFormatInterpolation = function ( ) { return this . useInterpolation ( "$translateMessageFormatInterpolation" ) } ; this . useInterpolation = function ( a ) { return w = 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 ? ( Y = a , this ) : Y } ; this . fallbackLanguage = function ( a ) { return W ( a ) , this } ; var W = function ( a ) { return a ? ( angular . isString ( a ) ? ( h = ! 0 , l = [ a ] ) : angular . isArray ( a ) && ( h = ! 1 , l = a ) , angular . isString ( g ) && 0 > xa ( l , g ) && l . push ( g ) , this ) : h ?
l [ 0 ] : l } ; this . use = function ( a ) { if ( a ) { if ( ! S [ a ] && ! I ) throw Error ( "$translateProvider couldn't find translationTable for langKey: '" + a + "'" ) ; return k = a , this } return k } ; this . resolveClientLocale = function ( ) { return Ga ( ) } ; var Ma = function ( a ) { return a ? ( ua = a , this ) : q ? q + ua : ua } ; this . storageKey = Ma ; 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 I = a , O = 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 ? ( q = a , this ) : a } ; this . useMissingTranslationHandlerLog = function ( ) { return this . useMissingTranslationHandler ( "$translateMissingTranslationHandlerLog" ) } ; this . useMissingTranslationHandler = function ( a ) { return r = a , this } ; this . usePostCompiling =
function ( a ) { return X = ! ! a , this } ; this . forceAsyncReload = function ( a ) { return L = ! ! a , this } ; this . uniformLanguageTag = function ( a ) { return a ? angular . isString ( a ) && ( a = { standard : a } ) : a = { } , ja = a . standard , this } ; this . determinePreferredLanguage = function ( a ) { a = a && angular . isFunction ( a ) ? a ( ) : Ga ( ) ; return g = ia . length ? v ( a ) || a : a , this } ; this . registerAvailableLanguageKeys = function ( a , b ) { return a ? ( ia = a , b && ( f = b ) , this ) : ia } ; this . useLoaderCache = function ( a ) { return ! 1 === a ? K = void 0 : ! 0 === a ? K = ! 0 : "undefined" == typeof a ? K = "$translationCache" : a &&
( K = a ) , this } ; this . directivePriority = function ( a ) { return void 0 === a ? da : ( da = a , this ) } ; this . statefulFilter = function ( a ) { return void 0 === a ? V : ( V = a , this ) } ; this . postProcess = function ( a ) { return N = a ? a : void 0 , this } ; this . keepContent = function ( a ) { return na = ! ! a , this } ; this . $get = [ "$log" , "$injector" , "$rootScope" , "$q" , function ( a , b , c , e ) { var f , q , p , u = b . get ( w || "$translateDefaultInterpolation" ) , z = ! 1 , y = { } , A = { } , D = function ( a , b , c , h , n ) { ! k && g && ( k = g ) ; var r = n && n !== k ? v ( n ) || n : k ; if ( n && wb ( n ) , angular . isArray ( a ) ) return function ( a ) { for ( var g =
{ } , f = [ ] , l = function ( a ) { var f = e . defer ( ) , l = function ( b ) { g [ a ] = b ; f . resolve ( [ a , b ] ) } ; return D ( a , b , c , h , n ) . then ( l , l ) , f . promise } , k = 0 , v = a . length ; k < v ; k ++ ) f . push ( l ( a [ k ] ) ) ; return e . all ( f ) . then ( function ( ) { return g } ) } ( a ) ; var B = e . defer ( ) ; a && ( a = fa . apply ( a ) ) ; var p = function ( ) { var a = g ? A [ g ] : A [ r ] ; if ( q = 0 , t && ! a ) { var b = f . get ( ua ) ; if ( a = A [ b ] , l && l . length ) q = 0 === xa ( l , b ) ? 1 : 0 , 0 > xa ( l , g ) && l . push ( g ) } return a } ( ) ; if ( p ) { var w = function ( ) { n || ( r = k ) ; Ea ( a , b , c , h , r ) . then ( B . resolve , B . reject ) } ; w . displayName = "promiseResolved" ; p [ "finally" ] ( w ) } else Ea ( a ,
b , c , h , r ) . then ( B . resolve , B . reject ) ; return B . promise } , ga = function ( a ) { return T && ( a = [ T , a ] . join ( " " ) ) , Y && ( a = [ a , Y ] . join ( " " ) ) , a } , F = function ( a ) { k = a ; t && f . put ( D . storageKey ( ) , k ) ; c . $emit ( "$translateChangeSuccess" , { language : a } ) ; u . setLocale ( k ) ; var b = function ( a , b ) { y [ b ] . setLocale ( k ) } ; b . displayName = "eachInterpolatorLocaleSetter" ; angular . forEach ( y , b ) ; c . $emit ( "$translateChangeEnd" , { language : a } ) } , qa = function ( a ) { if ( ! a ) throw "No language key specified for loading." ; var g = e . defer ( ) ; c . $emit ( "$translateLoadingStart" , { language : a } ) ;
z = ! 0 ; var f = K ; "string" == typeof f && ( f = b . get ( f ) ) ; var f = angular . extend ( { } , O , { key : a , $http : angular . extend ( { } , { cache : f } , O . $http ) } ) , l = function ( b ) { var e = { } ; c . $emit ( "$translateLoadingSuccess" , { language : a } ) ; angular . isArray ( b ) ? angular . forEach ( b , function ( a ) { angular . extend ( e , Da ( a ) ) } ) : angular . extend ( e , Da ( b ) ) ; z = ! 1 ; g . resolve ( { key : a , table : e } ) ; c . $emit ( "$translateLoadingEnd" , { language : a } ) } ; l . 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 ( I ) ( f ) . then ( l , 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!" ) ; B . length && ( a = function ( a ) { a = b . get ( a ) ; a . setLocale ( g || k ) ; y [ a . getInterpolationIdentifier ( ) ] = a } , a . displayName = "interpolationFactoryAdder" , angular . forEach ( B , a ) ) ; var H = function ( a ) { var b = e . defer ( ) ; if ( Object . prototype . hasOwnProperty . call ( S , a ) ) b . resolve ( S [ 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 ( ) , l = function ( e ) { if ( Object . prototype . hasOwnProperty . call ( e , b ) ) { g . setLocale ( a ) ; var l = e [ b ] ; "@:" === l . substr ( 0 , 2 ) ? J ( a , l . substr ( 2 ) , c , g ) . then ( f . resolve , f . reject ) : ( l = g . interpolate ( e [ b ] , c ) , l = Kb ( b , e [ b ] , l , c , a ) , f . resolve ( l ) ) ; g . setLocale ( k ) } else f . reject ( ) } ; return l . displayName = "fallbackTranslationResolver" , H ( a ) . then ( l , f . reject ) , f . promise } , M = function ( a , b , c , e ) { var g , f = S [ a ] ; if ( f && Object . prototype . hasOwnProperty . call ( f ,
b ) ) { if ( e . setLocale ( a ) , g = e . interpolate ( f [ b ] , c ) , g = Kb ( b , f [ b ] , g , c , a ) , "@:" === g . substr ( 0 , 2 ) ) return M ( a , g . substr ( 2 ) , c , e ) ; e . setLocale ( k ) } return g } , Ta = function ( a , c , e ) { return r ? ( c = b . get ( r ) ( a , k , c , e ) , void 0 !== c ? c : a ) : a } , la = function ( a , b , c , g , f ) { var h = e . defer ( ) ; a < l . length ? J ( l [ a ] , b , c , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( ) { return la ( a + 1 , b , c , g , f ) . then ( h . resolve , h . reject ) } ) : f ? h . resolve ( f ) : r ? h . resolve ( Ta ( b , c ) ) : h . reject ( Ta ( b , c ) ) ; return h . promise } , ca = function ( a , b , c , e ) { var g ; a < l . length && ( ( g = M ( l [ a ] , b , c , e ) ) || ( g = ca ( a +
1 , b , c , e ) ) ) ; return g } , Ea = function ( a , b , c , g , f ) { var h = e . defer ( ) , k = f ? S [ f ] : S , n = c ? y [ c ] : u ; if ( k && Object . prototype . hasOwnProperty . call ( k , a ) ) k = k [ a ] , "@:" === k . substr ( 0 , 2 ) ? D ( k . substr ( 2 ) , b , c , g , f ) . then ( h . resolve , h . reject ) : ( c = n . interpolate ( k , b ) , c = Kb ( a , k , c , b , f ) , h . resolve ( c ) ) ; else { var v ; r && ! z && ( v = Ta ( a , b , g ) ) ; f && l && l . length ? la ( 0 < p ? p : q , a , b , n , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( a ) { h . reject ( ga ( a ) ) } ) : r && ! z && v ? g ? h . resolve ( g ) : h . resolve ( v ) : g ? h . resolve ( g ) : h . reject ( ga ( a ) ) } return h . promise } , ja = function ( a , b , c , e ) { var g , f =
e ? S [ e ] : S , h = u ; if ( y && Object . prototype . hasOwnProperty . call ( y , c ) && ( h = y [ c ] ) , f && Object . prototype . hasOwnProperty . call ( f , a ) ) f = f [ a ] , "@:" === f . substr ( 0 , 2 ) ? g = ja ( f . substr ( 2 ) , b , c , e ) : ( g = h . interpolate ( f , b ) , g = Kb ( a , f , g , b , e ) ) ; else { var k ; r && ! z && ( k = Ta ( a , b ) ) ; e && l && l . length ? ( q = 0 , g = ca ( 0 < p ? p : q , a , b , h ) ) : g = r && ! z && k ? k : ga ( a ) } return g } , Kb = function ( a , c , e , g , f ) { var l = N ; return l && ( "string" == typeof l && ( l = b . get ( l ) ) , l ) ? l ( a , c , e , g , f ) : e } , wb = function ( a ) { S [ a ] || ! I || A [ a ] || ( A [ a ] = qa ( a ) . then ( function ( a ) { return oa ( a . key , a . table ) , a } ) ) } ; D . preferredLanguage =
function ( a ) { return a && a && ( g = a ) , g } ; D . cloakClassName = function ( ) { return U } ; D . nestedObjectDelimeter = function ( ) { return ba } ; D . fallbackLanguage = function ( a ) { if ( void 0 !== a && null !== a ) { if ( W ( a ) , I && l && l . length ) { a = 0 ; for ( var b = l . length ; a < b ; a ++ ) A [ l [ a ] ] || ( A [ l [ a ] ] = qa ( l [ a ] ) ) } D . use ( D . use ( ) ) } return h ? l [ 0 ] : l } ; D . useFallbackLanguage = function ( a ) { void 0 !== a && null !== a && ( a ? ( a = xa ( l , a ) , - 1 < a && ( p = a ) ) : p = 0 ) } ; D . proposedLanguage = function ( ) { return n } ; D . storage = function ( ) { return f } ; D . negotiateLocale = v ; D . use = function ( a ) { if ( ! a ) return k ;
var b = e . defer ( ) ; c . $emit ( "$translateChangeStart" , { language : a } ) ; var g = v ( a ) ; return 0 < ia . length && ! g ? e . reject ( a ) : ( g && ( a = g ) , n = a , ! L && S [ a ] || ! I || A [ a ] ? A [ a ] ? A [ a ] . then ( function ( a ) { return n === a . key && F ( a . key ) , b . resolve ( a . key ) , a } , function ( a ) { return ! k && l && 0 < l . length ? D . use ( l [ 0 ] ) . then ( b . resolve , b . reject ) : b . reject ( a ) } ) : ( b . resolve ( a ) , F ( a ) ) : ( A [ a ] = qa ( a ) . then ( function ( c ) { return oa ( c . key , c . table ) , b . resolve ( c . key ) , n === a && F ( 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 ) } ; D . resolveClientLocale = function ( ) { return Ga ( ) } ; D . storageKey = function ( ) { return Ma ( ) } ; D . isPostCompilingEnabled = function ( ) { return X } ; D . isForceAsyncReloadEnabled = function ( ) { return L } ; D . isKeepContent = function ( ) { return na } ; D . refresh = function ( a ) { function b ( ) { f . resolve ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } function g ( ) { f . reject ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } if ( ! I ) throw Error ( "Couldn't refresh translation table, no loader registered!" ) ;
var f = e . defer ( ) ; if ( c . $emit ( "$translateRefreshStart" , { language : a } ) , a ) if ( S [ a ] ) { var h = function ( c ) { return oa ( c . key , c . table ) , a === k && F ( k ) , b ( ) , c } ; h . displayName = "refreshPostProcessor" ; qa ( a ) . then ( h , g ) } else g ( ) ; else { var h = [ ] , n = { } ; if ( l && l . length ) for ( var v = 0 , t = l . length ; v < t ; v ++ ) h . push ( qa ( l [ v ] ) ) , n [ l [ v ] ] = ! 0 ; k && ! n [ k ] && h . push ( qa ( k ) ) ; n = function ( a ) { S = { } ; angular . forEach ( a , function ( a ) { oa ( a . key , a . table ) } ) ; k && F ( k ) ; b ( ) } ; n . displayName = "refreshPostProcessor" ; e . all ( h ) . then ( n , g ) } return f . promise } ; D . instant = function ( a , b , c , e ) { var f =
e && e !== k ? v ( e ) || e : k ; if ( null === a || angular . isUndefined ( a ) ) return a ; if ( e && wb ( e ) , angular . isArray ( a ) ) { for ( var f = { } , h = 0 , n = a . length ; h < n ; h ++ ) f [ a [ h ] ] = D . instant ( a [ h ] , b , c , e ) ; return f } if ( angular . isString ( a ) && 1 > a . length ) return a ; a && ( a = fa . apply ( a ) ) ; e = [ ] ; g && e . push ( g ) ; f && e . push ( f ) ; l && l . length && ( e = e . concat ( l ) ) ; for ( var n = 0 , t = e . length ; n < t ; n ++ ) { var q = e [ n ] ; if ( S [ q ] && "undefined" != typeof S [ q ] [ a ] && ( h = ja ( a , b , c , f ) ) , "undefined" != typeof h ) break } return h || "" === h || ( T || Y ? h = ga ( a ) : ( h = u . interpolate ( a , b ) , r && ! z && ( h = Ta ( a , b ) ) ) ) , h } ; D . versionInfo =
function ( ) { return "2.11.1" } ; D . loaderCache = function ( ) { return K } ; D . directivePriority = function ( ) { return da } ; D . statefulFilter = function ( ) { return V } ; D . isReady = function ( ) { return P } ; var ra = e . defer ( ) ; ra . promise . then ( function ( ) { P = ! 0 } ) ; D . onReady = function ( a ) { var b = e . defer ( ) ; return angular . isFunction ( a ) && b . promise . then ( a ) , P ? b . resolve ( ) : ra . promise . then ( b . resolve ) , b . promise } ; D . getAvailableLanguageKeys = function ( ) { return 0 < ia . length ? ia : null } ; var Ic = c . $on ( "$translateReady" , function ( ) { ra . resolve ( ) ; Ic ( ) ; Ic = null } ) , Lb =
c . $on ( "$translateChangeEnd" , function ( ) { ra . resolve ( ) ; Lb ( ) ; Lb = null } ) ; if ( I ) { if ( angular . equals ( S , { } ) && D . use ( ) && D . use ( D . use ( ) ) , l && l . length ) { a = function ( a ) { return oa ( a . key , a . table ) , c . $emit ( "$translateChangeEnd" , { language : a . key } ) , a } ; for ( var qc = 0 , Jc = l . length ; qc < Jc ; qc ++ ) { var Vb = l [ qc ] ; ! L && S [ Vb ] || ( A [ Vb ] = qa ( Vb ) . then ( a ) ) } } } else c . $emit ( "$translateReady" , { language : D . use ( ) } ) ; return D } ] } 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 k ( a , b , c , g , f , l ) { var h = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } ; return { restrict : "AE" , scope : ! 0 , priority : a . directivePriority ( ) , compile : function ( b , k ) { var n = k . translateValues ? k . translateValues : void 0 , t = k . translateInterpolation ? k . translateInterpolation : void 0 , q = b [ 0 ] . outerHTML . match ( /translate-value-+/i ) ,
r = "^(.*)(" + c . startSymbol ( ) + ".*" + c . endSymbol ( ) + ")(.*)" , w = "^(.*)" + c . startSymbol ( ) + "(.*)" + c . endSymbol ( ) + "(.*)" ; return function ( b , p , u ) { b . interpolateParams = { } ; b . preText = "" ; b . postText = "" ; b . translateNamespace = e ( b ) ; var z = { } , y = function ( a ) { if ( angular . isFunction ( y . _unwatchOld ) && ( y . _unwatchOld ( ) , y . _unwatchOld = void 0 ) , angular . equals ( a , "" ) || ! angular . isDefined ( a ) ) { a = h . apply ( p . text ( ) ) ; var e = a . match ( r ) ; angular . isArray ( e ) ? ( b . preText = e [ 1 ] , b . postText = e [ 3 ] , z . translate = c ( e [ 2 ] ) ( b . $parent ) , a = a . match ( w ) , angular . isArray ( a ) &&
a [ 2 ] && a [ 2 ] . length && ( y . _unwatchOld = b . $watch ( a [ 2 ] , function ( a ) { z . translate = a ; B ( ) } ) ) ) : z . translate = a ? a : void 0 } else z . translate = a ; B ( ) } , A = function ( a ) { u . $observe ( a , function ( b ) { z [ a ] = b ; B ( ) } ) } ; ( function ( a , c , e ) { if ( c . translateValues && angular . extend ( a , f ( c . translateValues ) ( b . $parent ) ) , q ) for ( var g in e ) if ( Object . prototype . hasOwnProperty . call ( c , g ) && "translateValue" === g . substr ( 0 , 14 ) && "translateValues" !== g ) { var l = angular . lowercase ( g . substr ( 14 , 1 ) ) + g . substr ( 15 ) ; a [ l ] = e [ g ] } } ) ( b . interpolateParams , u , k ) ; var D = ! 0 ; u . $observe ( "translate" ,
function ( a ) { "undefined" == typeof a ? y ( "" ) : "" === a && D || ( z . translate = a , B ( ) ) ; D = ! 1 } ) ; for ( var F in u ) u . hasOwnProperty ( F ) && "translateAttr" === F . substr ( 0 , 13 ) && A ( F ) ; if ( u . $observe ( "translateDefault" , function ( a ) { b . defaultText = a ; B ( ) } ) , n && u . $observe ( "translateValues" , function ( a ) { a && b . $parent . $watch ( function ( ) { angular . extend ( b . interpolateParams , f ( a ) ( b . $parent ) ) } ) } ) , q ) { var A = function ( a ) { u . $observe ( a , function ( c ) { var e = angular . lowercase ( a . substr ( 14 , 1 ) ) + a . substr ( 15 ) ; b . interpolateParams [ e ] = c } ) } , I ; for ( I in u ) Object . prototype . hasOwnProperty . call ( u ,
I ) && "translateValue" === I . substr ( 0 , 14 ) && "translateValues" !== I && A ( I ) } var B = function ( ) { for ( var a in z ) z . hasOwnProperty ( a ) && void 0 !== z [ a ] && U ( a , z [ a ] , b , b . interpolateParams , b . defaultText , b . translateNamespace ) } , U = function ( b , c , e , g , f , l ) { c ? ( l && "." === c . charAt ( 0 ) && ( c = l + c ) , a ( c , g , t , f , e . translateLanguage ) . then ( function ( a ) { X ( a , e , ! 0 , b ) } , function ( a ) { X ( a , e , ! 1 , b ) } ) ) : X ( c , e , ! 1 , b ) } , X = function ( b , c , e , f ) { ( e || "undefined" != typeof c . defaultText && ( b = c . defaultText ) , "translate" === f ) ? ( ( e || ! e && ! a . isKeepContent ( ) && "undefined" == typeof u . translateKeepContent ) &&
p . empty ( ) . append ( c . preText + b + c . postText ) , b = a . isPostCompilingEnabled ( ) , f = ( e = "undefined" != typeof k . translateCompile ) && "false" !== k . translateCompile , ( b && ! e || f ) && g ( p . contents ( ) ) ( c ) ) : ( c = u . $attr [ f ] , "data-" === c . substr ( 0 , 5 ) && ( c = c . substr ( 5 ) ) , c = c . substr ( 15 ) , p . attr ( c , b ) ) } ; ( n || q || u . translateDefault ) && b . $watch ( "interpolateParams" , B , ! 0 ) ; var L = b . $on ( "translateLanguageChanged" , B ) , H = l . $on ( "$translateChangeSuccess" , B ) ; p . text ( ) . length ? y ( u . translate ? u . translate : "" ) : u . translate && y ( u . translate ) ; B ( ) ; b . $on ( "$destroy" , function ( ) { L ( ) ;
H ( ) } ) } } } } function e ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? e ( 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 , l ) { l . translateCloak && l . translateCloak . length && ( l . $observe ( "translateCloak" , function ( b ) { a ( b ) . then ( g , e ) } ) , b . $on ( "$translateChangeSuccess" , function ( ) { a ( l . translateCloak ) . then ( g , e ) } ) ) } } } } function g ( ) { return { restrict : "A" ,
scope : ! 0 , compile : function ( ) { return { pre : function ( a , b , c ) { a . translateNamespace = e ( a ) ; a . translateNamespace && "." === c . translateNamespace . charAt ( 0 ) ? a . translateNamespace += c . translateNamespace : a . translateNamespace = c . translateNamespace } } } } } function e ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? e ( a . $parent ) : void 0 } function c ( ) { 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 l ( a ) { return a ( "translations" ) } return b . $inject = [ "$translate" ] , f . $inject = [ "$STORAGE_KEY" , "$windowProvider" , "$translateSanitizationProvider" , "pascalprechtTranslateOverrider" ] , h . $inject = [ "$interpolate" , "$translateSanitization" ] , k . $inject = "$translate $q $interpolate $compile $parse $rootScope" . split ( " " ) ,
a . $inject = [ "$translate" , "$rootScope" ] , t . $inject = [ "$parse" , "$translate" ] , l . $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 = l ( a ) ) , a } , escape : function ( a , b ) { return "text" === b && ( a = f ( a ) ) , a } , sanitizeParameters : function ( a , b ) { return "params" === b && ( a = h ( a , l ) ) , 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 , l ) { var h = { } , k = 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 || ( l . 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 k ( a , b , h ) } } } ] ; var f = function ( a ) { var b = angular . element ( "<div></div>" ) ; return b . text ( a ) , b . html ( ) } , l = 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" , k ) , k . displayName = "translateDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateCloak" , a ) , a . displayName = "translateCloakDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateNamespace" , g ) , g . displayName = "translateNamespaceDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateLanguage" ,
c ) , c . displayName = "translateLanguageDirective" , angular . module ( "pascalprecht.translate" ) . filter ( "translate" , t ) , t . displayName = "translateFilterFactory" , angular . module ( "pascalprecht.translate" ) . factory ( "$translationCache" , l ) , l . displayName = "$translationCache" , "pascalprecht.translate" } ) ;
! function ( ) { function b ( b , e ) { window . XMLHttpRequest . prototype [ b ] = e ( window . XMLHttpRequest . prototype [ b ] ) } function f ( b , e , a ) { try { Object . defineProperty ( b , e , { get : a } ) } catch ( g ) { } } 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 e = b . upload . addEventListener ; b . upload . addEventListener =
function ( a , g ) { b . _ _listeners [ a ] = g ; e && e . apply ( this , arguments ) } } } ; b ( "open" , function ( b ) { return function ( e , a , g ) { h ( this ) ; this . _ _url = a ; try { b . apply ( this , [ e , a , g ] ) } catch ( c ) { - 1 < c . message . indexOf ( "Access is denied" ) && ( this . _ _origError = c , b . apply ( this , [ e , "_fix_for_ie_crossdomain__" , g ] ) ) } } } ) ; b ( "getResponseHeader" , function ( b ) { return function ( e ) { return this . _ _fileApiXHR && this . _ _fileApiXHR . getResponseHeader ? this . _ _fileApiXHR . getResponseHeader ( e ) : null == b ? null : b . apply ( this , [ e ] ) } } ) ; 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 ( e , a ) { if ( "__setXHR_" === e ) { h ( this ) ; var g = a ( this ) ; g instanceof Function && g ( this ) } else this . _ _requestHeaders = this . _ _requestHeaders || { } , this . _ _requestHeaders [ e ] = a , b . apply ( this , arguments ) } } ) ; b ( "send" ,
function ( b ) { return function ( ) { var e = this ; if ( arguments [ 0 ] && arguments [ 0 ] . _ _isFileAPIShim ) { for ( var a = arguments [ 0 ] , g = { url : e . _ _url , jsonp : ! 1 , cache : ! 0 , complete : function ( a , b ) { a && angular . isString ( a ) && - 1 !== a . indexOf ( "#2174" ) && ( a = null ) ; e . _ _completed = ! 0 ; ! a && e . _ _listeners . load && e . _ _listeners . load ( { type : "load" , loaded : e . _ _loaded , total : e . _ _total , target : e , lengthComputable : ! 0 } ) ; ! a && e . _ _listeners . loadend && e . _ _listeners . loadend ( { type : "loadend" , loaded : e . _ _loaded , total : e . _ _total , target : e , lengthComputable : ! 0 } ) ; "abort" ===
a && e . _ _listeners . abort && e . _ _listeners . abort ( { type : "abort" , loaded : e . _ _loaded , total : e . _ _total , target : e , lengthComputable : ! 0 } ) ; void 0 !== b . status && f ( e , "status" , function ( ) { return 0 === b . status && a && "abort" !== a ? 500 : b . status } ) ; void 0 !== b . statusText && f ( e , "statusText" , function ( ) { return b . statusText } ) ; f ( e , "readyState" , function ( ) { return 4 } ) ; void 0 !== b . response && f ( e , "response" , function ( ) { return b . response } ) ; var c = b . responseText || ( a && 0 === b . status && "abort" !== a ? a : void 0 ) ; f ( e , "responseText" , function ( ) { return c } ) ; f ( e ,
"response" , function ( ) { return c } ) ; a && f ( e , "err" , function ( ) { return a } ) ; e . _ _fileApiXHR = b ; e . onreadystatechange && e . onreadystatechange ( ) ; e . onload && e . onload ( ) } , progress : function ( a ) { if ( a . target = e , e . _ _listeners . progress && e . _ _listeners . progress ( a ) , e . _ _total = a . total , e . _ _loaded = a . loaded , a . total === a . loaded ) { var b = this ; setTimeout ( function ( ) { e . _ _completed || ( e . getAllResponseHeaders = function ( ) { } , b . complete ( null , { status : 204 , statusText : "No Content" } ) ) } , FileAPI . noContentTimeout || 1E4 ) } } , headers : e . _ _requestHeaders , data : { } ,
files : { } } , c = 0 ; c < a . data . length ; c ++ ) { var h = a . data [ c ] ; null != h . val && null != h . val . name && null != h . val . size && null != h . val . type ? g . files [ h . key ] = h . val : g . data [ h . key ] = h . val } setTimeout ( function ( ) { if ( ! FileAPI . hasFlash ) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"' ; e . _ _fileApiXHR = FileAPI . upload ( g ) } , 1 ) } else { if ( this . _ _origError ) throw this . _ _origError ; b . apply ( e , arguments ) } } } ) ; window . XMLHttpRequest . _ _isFileAPIShim = ! 0 ; window . FormData = FormData = function ( ) { return { append : function ( b , e ,
a ) { e . _ _isFileAPIBlobShim && ( e = e . data [ 0 ] ) ; this . data . push ( { key : b , val : e , 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 k , e , a , g , c , t = document . createElement ( "script" ) , l = document . getElementsByTagName ( "script" ) ; if ( window . FileAPI . jsUrl ) k = window . FileAPI . jsUrl ; else if ( window . FileAPI . jsPath ) e = window . FileAPI . jsPath ; else for ( a = 0 ; a < l . length ; a ++ ) if ( c = l [ a ] . src , g = c . search ( /\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/ ) , - 1 < g ) { e = c . substring ( 0 , g + 1 ) ; break } null == FileAPI . staticPath && ( FileAPI . staticPath = e ) ; t . setAttribute ( "src" , k || e + "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-07-28 21:47:09 +00:00
window . FileReader || ( window . FileReader = function ( ) { var b = this , f = ! 1 ; this . listeners = { } ; this . addEventListener = function ( e , a ) { b . listeners [ e ] = b . listeners [ e ] || [ ] ; b . listeners [ e ] . push ( a ) } ; this . removeEventListener = function ( e , a ) { b . listeners [ e ] && b . listeners [ e ] . splice ( b . listeners [ e ] . indexOf ( a ) , 1 ) } ; this . dispatchEvent = function ( e ) { var a = b . listeners [ e . type ] ; if ( a ) for ( var g = 0 ; g < a . length ; g ++ ) a [ g ] . call ( b , e ) } ; this . onabort = this . onerror = this . onload = this . onloadstart = this . onloadend = this . onprogress = null ; var h = function ( e , a ) { var g =
{ type : e , target : b , loaded : a . loaded , total : a . total , error : a . error } ; return null != a . result && ( g . target . result = a . result ) , g } , k = function ( e ) { f || ( f = ! 0 , b . onloadstart && b . onloadstart ( h ( "loadstart" , e ) ) ) ; var a ; "load" === e . type ? ( b . onloadend && b . onloadend ( h ( "loadend" , e ) ) , a = h ( "load" , e ) , b . onload && b . onload ( a ) , b . dispatchEvent ( a ) ) : "progress" === e . type ? ( a = h ( "progress" , e ) , b . onprogress && b . onprogress ( a ) , b . dispatchEvent ( a ) ) : ( a = h ( "error" , e ) , b . onerror && b . onerror ( a ) , b . dispatchEvent ( a ) ) } ; this . readAsDataURL = function ( b ) { FileAPI . readAsDataURL ( b ,
k ) } ; this . readAsText = function ( b ) { FileAPI . readAsText ( b , k ) } } ) ; ! window . XMLHttpRequest || window . FileAPI && FileAPI . shouldLoad || ( window . XMLHttpRequest . prototype . setRequestHeader = function ( b ) { return function ( f , h ) { if ( "__setXHR_" === f ) { var k = h ( this ) ; k instanceof Function && k ( 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 k ( c ) { function e ( a ) { r . notify && r . notify ( a ) ; w . progressFunc && h ( function ( ) { w . progressFunc ( a ) } ) } function l ( a ) { return null != c . _start && g ? { 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 k ( ) { b ( c ) . then ( function ( b ) { g && c . _chunkSize && ! c . _finished && c . _file ? ( b = c . _file && c . _file . size || 0 , e ( { 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 ( ) , w = 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 ; e ( l ( a ) ) } , ! 1 ) , a . upload . addEventListener ( "load" , function ( a ) { a . lengthComputable &&
( a . config = c , e ( l ( a ) ) ) } , ! 1 ) ) } } ) , g ? c . _chunkSize && c . _end && ! c . _finished ? ( c . _start = c . _end , c . _end += c . _chunkSize , k ( ) ) : 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 ) ; k ( ) } , function ( a ) { throw a ; } ) : c . resumeSize ? c . resumeSize ( ) . then ( function ( a ) { c . _start = a ; c . _chunkSize && ( c . _end = c . _start + c . _chunkSize ) ; k ( ) } , function ( a ) { throw a ; } ) : ( c . _chunkSize &&
( c . _start = 0 , c . _end = c . _start + c . _chunkSize ) , k ( ) ) : k ( ) , w . success = function ( a ) { return w . then ( function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , w } , w . error = function ( a ) { return w . then ( null , function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , w } , w . progress = function ( a ) { return w . progressFunc = a , w . then ( null , null , function ( b ) { a ( b ) } ) , w } , w . abort = w . pause = function ( ) { return c . _ _XHR && h ( function ( ) { c . _ _XHR . abort ( ) } ) , w } , w . xhr = function ( a ) { return c . xhrFn = function ( b ) { return function ( ) { b && b . apply ( w , arguments ) ; a . apply ( w , arguments ) } } ( c . xhrFn ) ,
w } , a . promisesCount ++ , w [ "finally" ] && w [ "finally" ] instanceof Function && w [ "finally" ] ( function ( ) { a . promisesCount -- } ) , w } function e ( 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 g = 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 c ( e , f , l ) { if ( void 0 !== f ) if ( angular . isDate ( f ) && ( f = f . toISOString ( ) ) , angular . isString ( f ) ) e . append ( l , f ) ; else if ( a . isFile ( f ) ) { if ( ! f . _ngfBlob && ( b . _file = b . _file || f , null != b . _start && g ) ) { 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 && ( e . append ( "_chunkSize" , b . _chunkSize ) , e . append ( "_currentChunkSize" , b . _end - b . _start ) , e . append ( "_chunkNumber" , Math . floor ( b . _start / b . _chunkSize ) ) , e . append ( "_totalSize" , b . _file . size ) ) , h ) } h = l . split ( "," ) ; h [ 1 ] && ( f . ngfName = h [ 1 ] . replace ( /^\s+|\s+$/g , "" ) , l = h [ 0 ] ) ; b . _fileKey = b . _fileKey || l ; e . append ( l , 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: " +
l ; f . $$ngfCircularDetection = ! 0 ; try { for ( h in f ) if ( f . hasOwnProperty ( h ) && "$$ngfCircularDetection" !== h ) { var k = null == b . objectKey ? "[i]" : b . objectKey ; f . length && - 1 < parseInt ( h ) && ( k = null == b . arrayKey ? k : b . arrayKey ) ; c ( e , f [ h ] , l + k . replace ( /[ik]/g , h ) ) } } finally { delete f . $$ngfCircularDetection } } else e . append ( l , 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 e , g = new window . FormData ; a = a || b . fields || { } ; b . file && ( a . file = b . file ) ; for ( e in a ) if ( a . hasOwnProperty ( e ) ) { var f = a [ e ] ; b . formDataAppender ? b . formDataAppender ( g , e , f ) : c ( g , f , e ) } return g } ) } return f || ( b = e ( b ) ) , b . _isDigested || ( b . _isDigested = ! 0 , h ( ) ) , k ( b ) } ; this . http = function ( c ) { return c = e ( c ) , c . transformRequest = c . transformRequest || function ( a ) { return window . ArrayBuffer && a instanceof window . ArrayBuffer ||
a instanceof window . Blob ? a : b . defaults . transformRequest [ 0 ] . apply ( this , arguments ) } , c . _chunkSize = a . translateScalars ( c . resumeChunkSize ) , c . _chunkSize = c . _chunkSize ? parseInt ( c . _chunkSize . toString ( ) ) : null , k ( c ) } ; 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 , k , e ) { function a ( a , b , c ) { var e = [ t . emptyPromise ( ) ] ; return angular . forEach ( a , function ( g , f ) { 0 === g . type . indexOf ( "image/jpeg" ) && t . attrGetter ( "ngfFixOrientation" , b , c , { $file : g } ) && e . push ( t . happyPromise ( t . applyExifRotation ( g ) , g ) . then ( function ( b ) { a . splice ( f , 1 , b ) } ) ) } ) , k . all ( e ) } function g ( a , b , e , g ) { var f = t . attrGetter ( "ngfResize" , b , e ) ; if ( ! f || ! t . isResizeSupported ( ) || ! a . length ) return t . emptyPromise ( ) ; if ( f instanceof Function ) { var l =
k . defer ( ) ; return f ( a ) . then ( function ( f ) { c ( f , a , b , e , g ) . then ( function ( a ) { l . resolve ( a ) } , function ( a ) { l . reject ( a ) } ) } , function ( a ) { l . reject ( a ) } ) } return c ( f , a , b , e , g ) } function c ( a , b , c , e , g ) { function f ( f , h ) { if ( 0 === f . type . indexOf ( "image" ) && ( ! a . pattern || t . validatePattern ( f , a . pattern ) ) ) { a . resizeIf = function ( a , b ) { return t . attrGetter ( "ngfResizeIf" , c , e , { $width : a , $height : b , $file : f } ) } ; var k = t . resize ( f , a ) ; l . push ( k ) ; k . then ( function ( a ) { b . splice ( h , 1 , a ) } , function ( a ) { f . $error = "resize" ; ( f . $errorMessages = f . $errorMessages || { } ) . resize =
! 0 ; f . $errorParam = ( a ? ( a . message ? a . message : a ) + ": " : "" ) + ( f && f . name ) ; g . $ngfValidations . push ( { name : "resize" , valid : ! 1 } ) ; t . applyModelValidation ( g , b ) } ) } } for ( var l = [ t . emptyPromise ( ) ] , h = 0 ; h < b . length ; h ++ ) f ( b [ h ] , h ) ; return k . all ( l ) } var t = e ; 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 ( q ) { if ( a . search ( /min|max|pattern/i ) ) return c ;
throw q ; } } , 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 = k . defer ( ) , b = arguments ; return f ( function ( ) { a . resolve . apply ( a , b ) } ) , a . promise } , t . rejectPromise = function ( ) { var a = k . defer ( ) , b = arguments ; return f ( function ( ) { a . reject . apply ( a , b ) } ) , a . promise } , t . happyPromise = function ( a , b ) { var c = k . defer ( ) ; return a . then ( function ( a ) { c . resolve ( a ) } , function ( a ) { f ( function ( ) { throw a ; } ) ; c . resolve ( b ) } ) , c . promise } ,
t . updateModel = function ( c , e , h , k , q , z , y ) { function l ( a , g , l , n , p ) { e . $$ngfPrevValidFiles = a ; e . $$ngfPrevInvalidFiles = g ; var B = a && a . length ? a [ 0 ] : null , q = g && g . length ? g [ 0 ] : null ; c && ( t . applyModelValidation ( c , a ) , c . $setViewValue ( p ? B : a ) ) ; k && b ( k ) ( h , { $files : a , $file : B , $newFiles : l , $duplicateFiles : n , $invalidFiles : g , $invalidFile : q , $event : z } ) ; var r = t . attrGetter ( "ngfModelInvalid" , e ) ; r && f ( function ( ) { b ( r ) . assign ( h , p ? q : g ) } ) ; 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 < w . length ; c ++ ) if ( a ( b , w [ c ] ) ) return ! 0 ; for ( c = 0 ; c < M . length ; c ++ ) if ( a ( b , M [ c ] ) ) return ! 0 ; return ! 1 } if ( q ) { u = [ ] ; H = [ ] ; for ( var c = 0 ; c < q . length ; c ++ ) b ( q [ c ] ) ? H . push ( q [ c ] ) : u . push ( q [ c ] ) } } function r ( a ) { return angular . isArray ( a ) ? a : [ a ] } function p ( ) { function a ( ) { f ( function ( ) { l ( T ? w . concat ( O ) : O , T ? M . concat ( I ) : I , q , H , Y ) } , N && N . debounce ? N . debounce . change || N . debounce : 0 ) } var b = K ? u : O ; g ( b , e , h , c ) . then ( function ( ) { K ? t . validate ( u , T ? w . length : 0 , c , e , h ) . then ( function ( b ) { O = b . validsFiles ;
I = b . invalidsFiles ; a ( ) } ) : a ( ) } , function ( ) { for ( var c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; if ( "resize" === e . $error ) { var f = O . indexOf ( e ) ; - 1 < f && ( O . splice ( f , 1 ) , I . push ( e ) ) ; a ( ) } } } ) } var u , w , M , H = [ ] , I = [ ] , O = [ ] ; w = e . $$ngfPrevValidFiles || [ ] ; M = e . $$ngfPrevInvalidFiles || [ ] ; c && c . $modelValue && ( w = r ( c . $modelValue ) ) ; var T = t . attrGetter ( "ngfKeep" , e , h ) ; u = ( q || [ ] ) . slice ( 0 ) ; "distinct" !== T && ! 0 !== t . attrGetter ( "ngfKeepDistinct" , e , h ) || n ( e , h ) ; var Y = ! T && ! t . attrGetter ( "ngfMultiple" , e , h ) && ! t . attrGetter ( "multiple" , e ) ; if ( ! T || u . length ) { t . attrGetter ( "ngfBeforeModelChange" ,
e , h , { $files : q , $file : q && q . length ? q [ 0 ] : null , $newFiles : u , $duplicateFiles : H , $event : z } ) ; var K = t . attrGetter ( "ngfValidateAfterResize" , e , h ) , N = t . attrGetter ( "ngfModelOptions" , e , h ) ; t . validate ( u , T ? w . length : 0 , c , e , h ) . then ( function ( b ) { y ? l ( u , [ ] , q , H , Y ) : ( N && N . allowInvalid || K ? O = u : ( O = b . validFiles , I = b . invalidFiles ) , t . attrGetter ( "ngfFixOrientation" , e , h ) && t . isExifSupported ( ) ? a ( O , e , h ) . then ( function ( ) { p ( ) } ) : p ( ) ) } ) } } , t } ] ) ;
ngFileUpload . directive ( "ngfSelect" , [ "$parse" , "$timeout" , "$compile" , "Upload" , function ( b , f , h , k ) { function e ( a ) { var b = a . match ( /Android[^\d]*(\d+)\.(\d+)/ ) ; return b && 2 < b . length ? ( a = k . 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 , k , w , q , z ) { function c ( ) { return "input" === b [ 0 ] . tagName . toLowerCase ( ) && f . type && "file" === f . type . toLowerCase ( ) } function l ( ) { return I ( "ngfChange" ) || I ( "ngfSelect" ) } function n ( b ) { if ( z . 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 ] ) ; z . updateModel ( h , f , a , l ( ) , 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 h = b [ 0 ] . attributes [ g ] ; "type" !== h . name && "class" !== h . name && "style" !== h . name && ( "id" === h . name ? ( e ( h . value ) , O . push ( f . $observe ( "id" , e ) ) ) : a . attr ( h . name , h . value || "required" !== h . name && "multiple" !== h . name ? h . value : h . name ) ) } } function p ( ) { if ( c ( ) ) return b ;
var a = angular . element ( '<input type="file">' ) , e = angular . element ( "<label>upload</label>" ) ; return e . 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 , e ) , g . push ( { el : b , ref : e } ) , document . body . appendChild ( e . append ( a ) [ 0 ] ) , a } function r ( f ) { if ( b . attr ( "disabled" ) ) return ! 1 ; if ( ! I ( "ngfSelectDisabled" , a ) ) { var h = J ( f ) ; if ( null != h ) return h ; M ( f ) ; try { c ( ) || document . body . contains ( K [ 0 ] ) ||
( g . push ( { el : b , ref : K . parent ( ) } ) , document . body . appendChild ( K . parent ( ) [ 0 ] ) , K . bind ( "change" , n ) ) } catch ( ia ) { } return e ( navigator . userAgent ) ? setTimeout ( function ( ) { K [ 0 ] . click ( ) } , 0 ) : K [ 0 ] . click ( ) , ! 1 } } function J ( a ) { var b = a . changedTouches || a . originalEvent && a . originalEvent . changedTouches ; if ( b ) { if ( "touchstart" === a . type ) return Y = b [ 0 ] . clientX , T = b [ 0 ] . clientY , ! 0 ; if ( "touchend" === a . type ) { var c = b [ 0 ] . clientY ; if ( 20 < Math . abs ( b [ 0 ] . clientX - Y ) || 20 < Math . abs ( c - T ) ) return a . stopPropagation ( ) , a . preventDefault ( ) , ! 1 } return ! 0 } } function M ( b ) { z . shouldUpdateOn ( "click" ,
f , a ) && K . val ( ) && ( K . val ( null ) , z . updateModel ( h , f , a , l ( ) , null , b , ! 0 ) ) } function H ( a ) { if ( K && ! K . attr ( "__ngf_ie10_Fix_" ) ) { if ( ! K [ 0 ] . parentNode ) return void ( K = null ) ; a . preventDefault ( ) ; a . stopPropagation ( ) ; K . unbind ( "click" ) ; a = K . clone ( ) ; return K . replaceWith ( a ) , K = a , K . attr ( "__ngf_ie10_Fix_" , "true" ) , K . bind ( "change" , n ) , K . bind ( "click" , H ) , K [ 0 ] . click ( ) , ! 1 } K . removeAttr ( "__ngf_ie10_Fix_" ) } var I = function ( a , b ) { return z . attrGetter ( a , f , b ) } ; z . registerModelChangeValidator ( h , f , a ) ; var O = [ ] ; I ( "ngfMultiple" ) && O . push ( a . $watch ( I ( "ngfMultiple" ) ,
function ( ) { K . attr ( "multiple" , I ( "ngfMultiple" , a ) ) } ) ) ; I ( "ngfCapture" ) && O . push ( a . $watch ( I ( "ngfCapture" ) , function ( ) { K . attr ( "capture" , I ( "ngfCapture" , a ) ) } ) ) ; I ( "ngfAccept" ) && O . push ( a . $watch ( I ( "ngfAccept" ) , function ( ) { K . attr ( "accept" , I ( "ngfAccept" , a ) ) } ) ) ; O . push ( f . $observe ( "accept" , function ( ) { K . attr ( "accept" , I ( "accept" ) ) } ) ) ; var T = 0 , Y = 0 , K = b ; c ( ) || ( K = p ( ) ) ; K . bind ( "change" , n ) ; c ( ) ? b . bind ( "click" , M ) : b . bind ( "click touchstart touchend" , r ) ; - 1 !== navigator . appVersion . indexOf ( "MSIE 10" ) && K . bind ( "click" , H ) ; h && h . $formatters . push ( function ( a ) { return ( null ==
a || 0 === a . length ) && K . val ( ) && K . val ( null ) , a } ) ; a . $on ( "$destroy" , function ( ) { c ( ) || K . parent ( ) . remove ( ) ; angular . forEach ( O , function ( a ) { a ( ) } ) } ) ; w ( function ( ) { for ( var a = 0 ; a < g . length ; a ++ ) { var b = g [ a ] ; document . body . contains ( b . el [ 0 ] ) || ( g . splice ( a , 1 ) , b . ref . remove ( ) ) } } ) ; window . FileAPI && window . FileAPI . ngfFixIE && window . FileAPI . ngfFixIE ( b , K , n ) } var g = [ ] ; return { restrict : "AEC" , require : "?ngModel" , link : function ( c , e , g , n ) { a ( c , e , g , n , b , f , h , k ) } } } ] ) ;
( function ( ) { function b ( b ) { return "img" === b . tagName . toLowerCase ( ) ? "image" : "audio" === b . tagName . toLowerCase ( ) ? "audio" : "video" === b . tagName . toLowerCase ( ) ? "video" : /./ } function f ( f , k , e , a , g , c , t , l ) { function h ( b ) { var c = f . attrGetter ( "ngfNoObjectUrl" , g , e ) ; f . dataUrl ( b , c ) [ "finally" ] ( function ( ) { k ( function ( ) { var e = ( c ? b . $ngfDataUrl : b . $ngfBlobUrl ) || b . $ngfDataUrl ; l ? a . css ( "background-image" , "url('" + ( e || "" ) + "')" ) : a . attr ( "src" , e ) ; e ? a . removeClass ( "ng-hide" ) : a . addClass ( "ng-hide" ) } ) } ) } k ( function ( ) { var k = e . $watch ( g [ c ] , function ( k ) { var n =
t ; if ( "ngfThumbnail" === c && ( 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 ( k ) ? ( a . removeClass ( "ng-hide" ) , l ? a . css ( "background-image" , "url('" + k + "')" ) : a . attr ( "src" , k ) ) : void ( ! k || ! k . type || 0 !== k . type . search ( b ( a [ 0 ] ) ) ||
l && 0 !== k . type . indexOf ( "image" ) ? a . addClass ( "ng-hide" ) : n && f . isResizeSupported ( ) ? ( n . resizeIf = function ( a , b ) { return f . attrGetter ( "ngfResizeIf" , g , e , { $width : a , $height : b , $file : k } ) } , f . resize ( k , n ) . then ( function ( a ) { h ( a ) } , function ( a ) { throw a ; } ) ) : h ( k ) ) } ) ; e . $on ( "$destroy" , function ( ) { k ( ) } ) } ) } ngFileUpload . service ( "UploadDataUrl" , [ "UploadBase" , "$timeout" , "$q" , function ( b , f , e ) { return b . base64DataUrl = function ( a ) { if ( angular . isArray ( a ) ) { var f = e . defer ( ) , c = 0 ; return angular . forEach ( a , function ( e ) { b . dataUrl ( e , ! 0 ) [ "finally" ] ( function ( ) { if ( c ++ ,
c === a . length ) { var b = [ ] ; angular . forEach ( a , function ( a ) { b . push ( a . $ngfDataUrl ) } ) ; f . resolve ( b , a ) } } ) } ) , f . promise } return b . dataUrl ( a , ! 0 ) } , b . dataUrl = function ( a , g ) { if ( ! a ) return b . emptyPromise ( a , a ) ; if ( g && null != a . $ngfDataUrl || ! g && null != a . $ngfBlobUrl ) return b . emptyPromise ( g ? a . $ngfDataUrl : a . $ngfBlobUrl , a ) ; var c = g ? a . $$ngfDataUrlPromise : a . $$ngfBlobUrlPromise ; if ( c ) return c ; var h = e . 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 && ! g ) { var e ; try { e = c . createObjectURL ( a ) } catch ( w ) { return void f ( function ( ) { a . $ngfBlobUrl = "" ; h . reject ( ) } ) } f ( function ( ) { if ( a . $ngfBlobUrl = e , e ) { h . resolve ( e , a ) ; b . blobUrls = b . blobUrls || [ ] ; b . blobUrlsTotalSize = b . blobUrlsTotalSize || 0 ; b . blobUrls . push ( { url : e , size : a . size } ) ; b . blobUrlsTotalSize += a . size || 0 ; for ( var f = b . defaults . blobUrlsMaxMemory || 268435456 , g = b . defaults . blobUrlsMaxQueueSize || 200 ; ( b . blobUrlsTotalSize >
f || b . blobUrls . length > g ) && 1 < b . blobUrls . length ; ) { var l = b . blobUrls . splice ( 0 , 1 ) [ 0 ] ; c . revokeObjectURL ( l . url ) ; b . blobUrlsTotalSize -= l . size } } } ) } else { var k = new FileReader ; k . onload = function ( b ) { f ( function ( ) { a . $ngfDataUrl = b . target . result ; h . resolve ( b . target . result , a ) ; f ( function ( ) { delete a . $ngfDataUrl } , 1E3 ) } ) } ; k . onerror = function ( ) { f ( function ( ) { a . $ngfDataUrl = "" ; h . reject ( ) } ) } ; k . readAsDataURL ( a ) } } else f ( function ( ) { a [ g ? "$ngfDataUrl" : "$ngfBlobUrl" ] = "" ; h . reject ( ) } ) } ) , c = g ? a . $$ngfDataUrlPromise = h . promise : a . $$ngfBlobUrlPromise =
h . promise , c [ "finally" ] ( function ( ) { delete a [ g ? "$$ngfDataUrlPromise" : "$$ngfBlobUrlPromise" ] } ) , c } , b } ] ) ; ngFileUpload . directive ( "ngfSrc" , [ "Upload" , "$timeout" , function ( b , k ) { return { restrict : "AE" , link : function ( e , a , g ) { f ( b , k , e , a , g , "ngfSrc" , b . attrGetter ( "ngfResize" , g , e ) , ! 1 ) } } } ] ) ; ngFileUpload . directive ( "ngfBackground" , [ "Upload" , "$timeout" , function ( b , k ) { return { restrict : "AE" , link : function ( e , a , g ) { f ( b , k , e , a , g , "ngfBackground" , b . attrGetter ( "ngfResize" , g , e ) , ! 0 ) } } } ] ) ; ngFileUpload . directive ( "ngfThumbnail" , [ "Upload" , "$timeout" ,
function ( b , k ) { return { restrict : "AE" , link : function ( e , a , g ) { var c = b . attrGetter ( "ngfSize" , g , e ) ; f ( b , k , e , a , g , "ngfThumbnail" , c , b . attrGetter ( "ngfAsBackground" , g , e ) ) } } } ] ) ; 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 ( e , a , g ) { if ( angular . isString ( e ) ) return f . trustAsResourceUrl ( e ) ; var c = e && ( ( a ? e . $ngfDataUrl : e . $ngfBlobUrl ) || e . $ngfDataUrl ) ; return e && ! c ? ( ! e . $ngfDataUrlFilterInProgress && angular . isObject ( e ) && ( e . $ngfDataUrlFilterInProgress = ! 0 , b . dataUrl ( e , a ) ) , "" ) : ( e && delete e . $ngfDataUrlFilterInProgress , ( e && c ? g ? f . trustAsResourceUrl ( c ) : c : e ) || "" ) } } ] ) } ) ( ) ;
ngFileUpload . service ( "UploadValidate" , [ "UploadDataUrl" , "$q" , "$timeout" , function ( b , f , h ) { function k ( a ) { var b = "" , c = [ ] ; if ( 2 < a . length && "/" === a [ 0 ] && "/" === a [ a . length - 1 ] ) b = a . substring ( 1 , a . length - 1 ) ; else { var e = a . split ( "," ) ; if ( 1 < e . length ) for ( a = 0 ; a < e . length ; a ++ ) { var f = k ( e [ a ] ) ; f . regexp ? ( b += "(" + f . regexp + ")" , a < e . length - 1 && ( b += "|" ) ) : c = c . concat ( f . excludes ) } else 0 === a . indexOf ( "!" ) ? c . push ( "^((?!" + k ( 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 e ( 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 = k ( 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 g = new RegExp ( c . excludes [ f ] , "i" ) , e = e && ( null == a . type || g . test ( a . type ) ) && ( null == a . name || g . 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 , e , c ) { a && a . $formatters . push ( function ( f ) { if ( a . $dirty ) { var g = f ; f && ! angular . isArray ( f ) && ( g = [ f ] ) ; b . validate ( g , 0 , a , e , c ) . then ( function ( ) { b . applyModelValidation ( a , g ) } ) } return f } ) } , b . applyModelValidation = function ( a , b ) { e ( a , b ) ; angular . forEach ( a . $ngfValidations , function ( b ) { a . $setValidity ( b . name , b . valid ) } ) } , b . getValidationAttr =
function ( a , e , c , f , h ) { var g = "ngf" + c [ 0 ] . toUpperCase ( ) + c . substr ( 1 ) , g = b . attrGetter ( g , a , e , { $file : h } ) ; null == g && ( g = b . attrGetter ( "ngfValidate" , a , e , { $file : h } ) ) && ( a = ( f || c ) . split ( "." ) , g = g [ a [ 0 ] ] , 1 < a . length && ( g = g && g [ a [ 1 ] ] ) ) ; return g } , b . validate = function ( a , e , c , h , l ) { function g ( e , f , g ) { if ( a ) { for ( var k = a . length , n = null ; k -- ; ) { var t = a [ k ] ; if ( t ) { var p = b . getValidationAttr ( h , l , e , f , t ) ; null != p && ( g ( t , p , k ) || ( - 1 === q . indexOf ( e ) ? ( t . $error = e , ( t . $errorMessages = t . $errorMessages || { } ) [ e ] = ! 0 , t . $errorParam = p , - 1 === y . indexOf ( t ) && y . push ( t ) ,
z || a . splice ( k , 1 ) , n = ! 1 ) : a . splice ( k , 1 ) ) ) } } null !== n && c . $ngfValidations . push ( { name : e , valid : n } ) } } function k ( e , g , k , n , r ) { function p ( b , c , f ) { function g ( g ) { g ( ) ? - 1 === q . indexOf ( e ) ? ( ( c . $error = e , ( c . $errorMessages = c . $errorMessages || { } ) [ e ] = ! 0 , c . $errorParam = f , - 1 === y . indexOf ( c ) && y . push ( c ) , z ) || ( g = a . indexOf ( c ) , - 1 < g && a . splice ( g , 1 ) ) , b . resolve ( ! 1 ) ) : ( g = a . indexOf ( c ) , - 1 < g && a . splice ( g , 1 ) , b . resolve ( ! 0 ) ) : b . resolve ( ! 0 ) } null != f ? n ( c , f ) . then ( function ( a ) { g ( function ( ) { return ! r ( a , f ) } ) } , function ( ) { g ( function ( ) { return t ( "ngfValidateForce" ,
{ $file : c } ) } ) } ) : b . resolve ( ! 0 ) } var u = [ b . emptyPromise ( ! 0 ) ] ; a && ( a = void 0 === a . length ? [ a ] : a , angular . forEach ( a , function ( a ) { var c = f . defer ( ) ; return u . push ( c . promise ) , ! k || null != a . type && 0 === a . type . search ( k ) ? void ( "dimensions" === e && null != b . attrGetter ( "ngfDimensions" , h ) ? b . imageDimensions ( a ) . then ( function ( b ) { p ( c , a , t ( "ngfDimensions" , { $file : a , $width : b . width , $height : b . height } ) ) } , function ( ) { c . resolve ( ! 1 ) } ) : "duration" === e && null != b . attrGetter ( "ngfDuration" , h ) ? b . mediaDuration ( a ) . then ( function ( b ) { p ( c , a , t ( "ngfDuration" ,
{ $file : a , $duration : b } ) ) } , function ( ) { c . resolve ( ! 1 ) } ) : p ( c , a , b . getValidationAttr ( h , l , e , g , a ) ) ) : void c . resolve ( ! 0 ) } ) ) ; var w = f . defer ( ) ; return f . all ( u ) . then ( function ( a ) { for ( var b = ! 0 , f = 0 ; f < a . length ; f ++ ) if ( ! a [ f ] ) { b = ! 1 ; break } c . $ngfValidations . push ( { name : e , valid : b } ) ; w . resolve ( b ) } ) , w . promise } c = c || { } ; c . $ngfValidations = c . $ngfValidations || [ ] ; angular . forEach ( c . $ngfValidations , function ( a ) { a . valid = ! 0 } ) ; var t = function ( a , c ) { return b . attrGetter ( a , h , l , c ) } , q = ( b . attrGetter ( "ngfIgnoreInvalid" , h , l ) || "" ) . split ( " " ) , z = b . attrGetter ( "ngfRunAllValidations" ,
h , l ) ; if ( null == a || 0 === a . length ) return b . emptyPromise ( { validFiles : a , invalidFiles : [ ] } ) ; a = void 0 === a . length ? [ a ] : a . slice ( 0 ) ; var y = [ ] ; g ( "pattern" , null , b . validatePattern ) ; g ( "minSize" , "size.min" , function ( a , c ) { return a . size + . 1 >= b . translateScalars ( c ) } ) ; g ( "maxSize" , "size.max" , function ( a , c ) { return a . size - . 1 <= b . translateScalars ( c ) } ) ; var D = 0 ; if ( g ( "maxTotalSize" , null , function ( c , e ) { return D += c . size , ! ( D > b . translateScalars ( e ) ) || ( a . splice ( 0 , a . length ) , ! 1 ) } ) , g ( "validateFn" , null , function ( a , b ) { return ! 0 === b || null === b || "" ===
b } ) , ! a . length ) return b . emptyPromise ( { validFiles : [ ] , invalidFiles : y } ) ; var A = f . defer ( ) , F = [ ] ; return F . push ( k ( "maxHeight" , "height.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . height <= b } ) ) , F . push ( k ( "minHeight" , "height.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . height >= b } ) ) , F . push ( k ( "maxWidth" , "width.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . width <= b } ) ) , F . push ( k ( "minWidth" , "width.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . width >= b } ) ) , F . push ( k ( "dimensions" ,
null , /image/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , F . push ( k ( "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 } ) ) , F . push ( k ( "maxRatio" , "ratio.max" , /image/ , this . imageDimensions , function ( a , c ) { return 1E-4 > a . width / a . height - b . ratioToFloat ( c ) } ) ) , F . push ( k ( "minRatio" , "ratio.min" , /image/ , this . imageDimensions , function ( a , c ) { return - 1E-4 < a . width / a . height -
b . ratioToFloat ( c ) } ) ) , F . push ( k ( "maxDuration" , "duration.max" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a <= b . translateScalars ( c ) } ) ) , F . push ( k ( "minDuration" , "duration.min" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a >= b . translateScalars ( c ) } ) ) , F . push ( k ( "duration" , null , /audio|video/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , F . push ( k ( "validateAsyncFn" , null , null , function ( a , b ) { return b } , function ( a ) { return ! 0 === a || null === a || "" === a } ) ) , f . all ( F ) . then ( function ( ) { if ( z ) for ( var b =
0 ; b < a . length ; b ++ ) a [ b ] . $error && a . splice ( b -- , 1 ) ; z = ! 1 ; g ( "maxFiles" , null , function ( a , b , c ) { return b > e + c } ) ; A . resolve ( { validFiles : a , invalidFiles : y } ) } ) , A . promise } , b . imageDimensions = function ( a ) { if ( a . $ngfWidth && a . $ngfHeight ) { var e = f . defer ( ) ; return h ( function ( ) { e . resolve ( { width : a . $ngfWidth , height : a . $ngfHeight } ) } ) , e . promise } if ( a . $ngfDimensionPromise ) return a . $ngfDimensionPromise ; var c = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "image" ) ? void c . reject ( "not image" ) : void b . dataUrl ( a ) . then ( function ( b ) { function e ( ) { var b =
k [ 0 ] . naturalWidth || k [ 0 ] . clientWidth , e = k [ 0 ] . naturalHeight || k [ 0 ] . clientHeight ; k . remove ( ) ; a . $ngfWidth = b ; a . $ngfHeight = e ; c . resolve ( { width : b , height : e } ) } function f ( ) { k . remove ( ) ; c . reject ( "load error" ) } function g ( ) { h ( function ( ) { k [ 0 ] . parentNode && ( k [ 0 ] . clientWidth ? e ( ) : 10 < t ++ ? f ( ) : g ( ) ) } , 1E3 ) } var k = angular . element ( "<img>" ) . attr ( "src" , b ) . css ( "visibility" , "hidden" ) . css ( "position" , "fixed" ) . css ( "max-width" , "none !important" ) . css ( "max-height" , "none !important" ) ; k . on ( "load" , e ) ; k . on ( "error" , f ) ; var t = 0 ; g ( ) ; angular . element ( document . getElementsByTagName ( "body" ) [ 0 ] ) . append ( k ) } ,
function ( ) { c . reject ( "load error" ) } ) } ) , a . $ngfDimensionPromise = c . promise , a . $ngfDimensionPromise [ "finally" ] ( function ( ) { delete a . $ngfDimensionPromise } ) , a . $ngfDimensionPromise } , b . mediaDuration = function ( a ) { if ( a . $ngfDuration ) { var e = f . defer ( ) ; return h ( function ( ) { e . resolve ( a . $ngfDuration ) } ) , e . promise } if ( a . $ngfDurationPromise ) return a . $ngfDurationPromise ; var c = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "audio" ) && 0 !== a . type . indexOf ( "video" ) ? void c . reject ( "not media" ) : void b . dataUrl ( a ) . then ( function ( b ) { function e ( ) { var b =
k [ 0 ] . duration ; a . $ngfDuration = b ; k . remove ( ) ; c . resolve ( b ) } function f ( ) { k . remove ( ) ; c . reject ( "load error" ) } function g ( ) { h ( function ( ) { k [ 0 ] . parentNode && ( k [ 0 ] . duration ? e ( ) : 10 < t ? f ( ) : g ( ) ) } , 1E3 ) } var k = angular . element ( 0 === a . type . indexOf ( "audio" ) ? "<audio>" : "<video>" ) . attr ( "src" , b ) . css ( "visibility" , "none" ) . css ( "position" , "fixed" ) ; k . on ( "loadedmetadata" , e ) ; k . on ( "error" , f ) ; var t = 0 ; g ( ) ; angular . element ( document . body ) . append ( k ) } , function ( ) { c . reject ( "load error" ) } ) } ) , a . $ngfDurationPromise = c . promise , a . $ngfDurationPromise [ "finally" ] ( function ( ) { delete a . $ngfDurationPromise } ) ,
a . $ngfDurationPromise } , b } ] ) ;
ngFileUpload . service ( "UploadResize" , [ "UploadValidate" , "$q" , function ( b , f ) { var h = function ( h , e , a , g , c , t , l , n ) { var k = f . defer ( ) , w = document . createElement ( "canvas" ) , q = document . createElement ( "img" ) ; return q . setAttribute ( "style" , "visibility:hidden;position:fixed;z-index:-100000" ) , document . body . appendChild ( q ) , q . onload = function ( ) { var f , h , r , A , F = q . width , p = q . height ; if ( q . parentNode . removeChild ( q ) , null != n && ! 1 === n ( F , p ) ) return void k . reject ( "resizeIf" ) ; try { if ( t ) { var u = b . ratioToFloat ( t ) ; u > F / p ? ( e = F , a = e / u ) : ( a = p , e = a * u ) } e ||
( e = F ) ; a || ( a = p ) ; var J = l ? Math . max ( e / F , a / p ) : Math . min ( e / F , a / p ) ; f = F * J ; h = p * J ; r = F * J - e ; A = p * J - a ; w . width = Math . min ( f , e ) ; w . height = Math . min ( h , a ) ; w . getContext ( "2d" ) . drawImage ( q , Math . min ( 0 , - r / 2 ) , Math . min ( 0 , - A / 2 ) , f , h ) ; k . resolve ( w . toDataURL ( c || "image/WebP" , g || . 934 ) ) } catch ( M ) { k . reject ( M ) } } , q . onerror = function ( ) { q . parentNode . removeChild ( q ) ; k . reject ( ) } , q . src = h , k . promise } ; return b . dataUrltoBlob = function ( b , e , a ) { var f = b . split ( "," ) ; b = f [ 0 ] . match ( /:(.*?);/ ) [ 1 ] ; for ( var f = atob ( f [ 1 ] ) , c = f . length , h = new Uint8Array ( c ) ; c -- ; ) h [ c ] = f . charCodeAt ( c ) ;
b = new window . Blob ( [ h ] , { type : b } ) ; return b . name = e , 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 ( k , e ) { if ( 0 !== k . type . indexOf ( "image" ) ) return b . emptyPromise ( k ) ; var a = f . defer ( ) ; return b . dataUrl ( k , ! 0 ) . then ( function ( f ) { h ( f ,
e . width , e . height , e . quality , e . type || k . type , e . ratio , e . centerCrop , e . resizeIf ) . then ( function ( c ) { if ( "image/jpeg" === k . type && ! 1 !== e . restoreExif ) try { c = b . restoreExif ( f , c ) } catch ( l ) { setTimeout ( function ( ) { throw l ; } , 1 ) } try { var g = b . dataUrltoBlob ( c , k . name , k . size ) ; a . resolve ( g ) } catch ( l ) { a . reject ( l ) } } , function ( b ) { "resizeIf" === b && a . resolve ( k ) ; a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b } ] ) ;
( function ( ) { function b ( b , k , e , a , g , c , t , l , n , r ) { function h ( ) { return k . attr ( "disabled" ) || p ( "ngfDropDisabled" , b ) } function q ( a , c , e ) { if ( a ) { var f ; try { f = a && a . getData && a . getData ( "text/html" ) } catch ( K ) { } A ( a . items , a . files , ! 1 !== p ( "ngfAllowDir" , b ) , p ( "multiple" ) || p ( "ngfMultiple" , b ) ) . then ( function ( a ) { a . length ? z ( a , c ) : y ( e , f ) . then ( function ( a ) { z ( a , c ) } ) } ) } } function z ( c , f ) { l . updateModel ( a , e , b , p ( "ngfChange" ) || p ( "ngfDrop" ) , c , f ) } function y ( a , c ) { if ( ! l . shouldUpdateOn ( a , e , b ) || "string" != typeof c ) return l . rejectPromise ( [ ] ) ; var f =
[ ] ; c . 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 ( l . urlToBlob ( a ) . then ( function ( a ) { h . push ( a ) } ) ) } ) ; var k = r . defer ( ) ; return r . all ( g ) . then ( function ( ) { k . resolve ( h ) } , function ( a ) { k . reject ( a ) } ) , k . promise } return l . emptyPromise ( ) } function D ( a , b , c , e ) { b = p ( "ngfDragOverClass" , a , { $event : c } ) ; var f = "dragover" ; if ( angular . isString ( b ) ) f = b ; else if ( b && ( b . delay && ( H = b . delay ) , b . accept || b . reject ) ) { var g = c . dataTransfer . items ; if ( null !=
g && g . length ) for ( a = b . pattern || p ( "ngfPattern" , a , { $event : c } ) , c = g . length ; c -- ; ) { if ( ! l . validatePattern ( g [ c ] , a ) ) { f = b . reject ; break } f = b . accept } else f = b . accept } e ( f ) } function A ( a , c , f , g ) { function h ( a , b ) { var c = r . defer ( ) ; if ( null != a ) if ( a . isDirectory ) { var e = [ l . emptyPromise ( ) ] ; if ( q ) { var f = { type : "directory" } ; f . name = f . path = ( b || "" ) + a . name ; u . push ( f ) } var g = a . createReader ( ) , t = [ ] , p = function ( ) { g . readEntries ( function ( f ) { try { f . length ? ( t = t . concat ( Array . prototype . slice . call ( f || [ ] , 0 ) ) , p ( ) ) : ( angular . forEach ( t . slice ( 0 ) , function ( c ) { u . length <=
k && n >= B && e . push ( h ( c , ( b ? b : "" ) + a . name + "/" ) ) } ) , r . all ( e ) . then ( function ( ) { c . resolve ( ) } , function ( a ) { c . reject ( a ) } ) ) } catch ( xa ) { c . reject ( xa ) } } , function ( a ) { c . reject ( a ) } ) } ; p ( ) } else a . file ( function ( a ) { try { a . path = ( b ? b : "" ) + a . name , q && ( a = l . rename ( a , a . path ) ) , u . push ( a ) , B += a . size , c . resolve ( ) } catch ( xa ) { c . reject ( xa ) } } , function ( a ) { c . reject ( a ) } ) ; return c . promise } var k = l . getValidationAttr ( e , b , "maxFiles" ) ; null == k && ( k = Number . MAX _VALUE ) ; var n = l . getValidationAttr ( e , b , "maxTotalSize" ) ; null == n && ( n = Number . MAX _VALUE ) ; var q = p ( "ngfIncludeDir" ,
b ) , u = [ ] , B = 0 , w = [ l . emptyPromise ( ) ] ; if ( a && 0 < a . length && "file:" !== t . location . protocol ) for ( c = 0 ; c < a . length ; c ++ ) { if ( a [ c ] . webkitGetAsEntry && a [ c ] . webkitGetAsEntry ( ) && a [ c ] . webkitGetAsEntry ( ) . isDirectory ) { var y = a [ c ] . webkitGetAsEntry ( ) ; if ( y . isDirectory && ! f ) continue ; null != y && w . push ( h ( y ) ) } else y = a [ c ] . getAsFile ( ) , null != y && ( u . push ( y ) , B += y . size ) ; if ( u . length > k || B > n || ! g && 0 < u . length ) break } else if ( null != c ) for ( a = 0 ; a < c . length && ! ( f = c . item ( a ) , ( f . type || 0 < f . size ) && ( u . push ( f ) , B += f . size ) , u . length > k || B > n || ! g && 0 < u . length ) ; a ++ ) ;
var A = r . defer ( ) ; return r . all ( w ) . then ( function ( ) { if ( g || q || ! u . length ) A . resolve ( u ) ; else { for ( var a = 0 ; u [ a ] && "directory" === u [ a ] . type ; ) a ++ ; A . resolve ( [ u [ a ] ] ) } } , function ( a ) { A . reject ( a ) } ) , A . promise } var F = f ( ) , p = function ( a , b , c ) { return l . attrGetter ( a , e , b , c ) } ; if ( p ( "dropAvailable" ) && c ( function ( ) { b [ p ( "dropAvailable" ) ] ? b [ p ( "dropAvailable" ) ] . value = F : b [ p ( "dropAvailable" ) ] = F } ) , ! F ) return void ( ! 0 === p ( "ngfHideOnDropNotAvailable" , b ) && k . css ( "display" , "none" ) ) ; null == p ( "ngfSelect" ) && l . registerModelChangeValidator ( a , e , b ) ; var u ,
J = null , M = g ( p ( "ngfStopPropagation" ) ) , H = 1 ; k [ 0 ] . addEventListener ( "dragover" , function ( a ) { if ( ! h ( ) && l . shouldUpdateOn ( "drop" , e , b ) ) { if ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , - 1 < navigator . userAgent . indexOf ( "Chrome" ) ) { var f = a . dataTransfer . effectAllowed ; a . dataTransfer . dropEffect = "move" === f || "linkMove" === f ? "move" : "copy" } c . cancel ( J ) ; u || ( u = "C" , D ( b , e , a , function ( c ) { u = c ; k . addClass ( u ) ; p ( "ngfDrag" , b , { $isDragging : ! 0 , $class : u , $event : a } ) } ) ) } } , ! 1 ) ; k [ 0 ] . addEventListener ( "dragenter" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" ,
e , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "dragleave" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" , e , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , J = c ( function ( ) { u && k . removeClass ( u ) ; u = null ; p ( "ngfDrag" , b , { $isDragging : ! 1 , $event : a } ) } , H || 100 ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "drop" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" , e , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , u && k . removeClass ( u ) , u = null , q ( a . dataTransfer , a , "dropUrl" ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "paste" , function ( a ) { - 1 <
navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && p ( "ngfEnableFirefoxPaste" , b ) && a . preventDefault ( ) ; ! h ( ) && l . shouldUpdateOn ( "paste" , e , b ) && q ( a . clipboardData || a . originalEvent . clipboardData , a , "pasteUrl" ) } , ! 1 ) ; - 1 < navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && p ( "ngfEnableFirefoxPaste" , b ) && ( k . attr ( "contenteditable" , ! 0 ) , k . 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 , k , e , a , g , c ) { return { restrict : "AEC" , require : "?ngModel" , link : function ( h , l , n , r ) { b ( h , l , n , r , f , k , e , a , g , c ) } } } ] ) ; ngFileUpload . directive ( "ngfNoFileDrop" , function ( ) { return function ( b , k ) { f ( ) && k . css ( "display" , "none" ) } } ) ; ngFileUpload . directive ( "ngfDropAvailable" , [ "$parse" , "$timeout" , "Upload" , function ( b , k , e ) { return function ( a , g , c ) { if ( f ( ) ) { var h = b ( e . attrGetter ( "ngfDropAvailable" , c ) ) ; k ( function ( ) { h ( a ) ; h . assign && h . assign ( a ,
! 0 ) } ) } } } ] ) } ) ( ) ;
ngFileUpload . service ( "UploadExif" , [ "UploadResize" , "$q" , function ( b , f ) { function h ( b , a , f , c ) { switch ( a ) { case 2 : return b . transform ( - 1 , 0 , 0 , 1 , f , 0 ) ; case 3 : return b . transform ( - 1 , 0 , 0 , - 1 , f , c ) ; case 4 : return b . transform ( 1 , 0 , 0 , - 1 , 0 , c ) ; case 5 : return b . transform ( 0 , 1 , 1 , 0 , 0 , 0 ) ; case 6 : return b . transform ( 0 , 1 , - 1 , 0 , c , 0 ) ; case 7 : return b . transform ( 0 , - 1 , - 1 , 0 , c , f ) ; case 8 : return b . transform ( 0 , - 1 , 1 , 0 , 0 , f ) } } function k ( b ) { var a = "" ; b = new Uint8Array ( b ) ; for ( var e = b . byteLength , c = 0 ; e > c ; c ++ ) a += String . fromCharCode ( b [ c ] ) ; return window . btoa ( a ) }
return b . isExifSupported = function ( ) { return window . FileReader && ( new FileReader ) . readAsArrayBuffer && b . isResizeSupported ( ) } , b . readOrientation = function ( b ) { var a = f . defer ( ) , e = new FileReader ; b = b . slice ? b . slice ( 0 , 65536 ) : b ; return e . readAsArrayBuffer ( b ) , e . onerror = function ( b ) { return a . reject ( b ) } , e . 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 ) , k = e . getUint16 ( g , h ) , g = g + 2 , z = 0 ; k > z ; z ++ ) if ( 274 === e . getUint16 ( g + 12 * z , h ) ) return f = e . getUint16 ( g + 12 * z + 8 , h ) , 2 <= f && 8 >= f && ( e . setUint16 ( g + 12 * z + 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 ( e ) { if ( 0 !== e . type . indexOf ( "image/jpeg" ) ) return b . emptyPromise ( e ) ; var a = f . defer ( ) ; return b . readOrientation ( e ) . then ( function ( f ) { return 2 >
f . orientation || 8 < f . orientation ? a . resolve ( e ) : void b . dataUrl ( e , ! 0 ) . then ( function ( c ) { var g = document . createElement ( "canvas" ) , l = document . createElement ( "img" ) ; l . onload = function ( ) { try { g . width = 4 < f . orientation ? l . height : l . width ; g . height = 4 < f . orientation ? l . width : l . height ; var c = g . getContext ( "2d" ) ; h ( c , f . orientation , l . width , l . height ) ; c . drawImage ( l , 0 , 0 ) ; var t = g . toDataURL ( e . type || "image/WebP" , . 934 ) , t = b . restoreExif ( k ( f . fixedArrayBuffer ) , t ) , w = b . dataUrltoBlob ( t , e . name ) ; a . resolve ( w ) } catch ( q ) { return a . reject ( q ) } } ; l . onerror =
function ( ) { a . reject ( ) } ; l . src = c } , function ( b ) { a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b . restoreExif = function ( b , a ) { var e = { } ; return e . KEY _STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" , e . encode64 = function ( a ) { var b , c , e , f , g = "" , h , k , y = 0 ; do b = a [ y ++ ] , c = a [ y ++ ] , h = a [ y ++ ] , e = b >> 2 , b = ( 3 & b ) << 4 | c >> 4 , f = ( 15 & c ) << 2 | h >> 6 , k = 63 & h , isNaN ( c ) ? f = k = 64 : isNaN ( h ) && ( k = 64 ) , g = g + this . KEY _STR . charAt ( e ) + this . KEY _STR . charAt ( b ) + this . KEY _STR . charAt ( f ) + this . KEY _STR . charAt ( k ) ; while ( y < a . length ) ; return g } , e . restore =
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 ) } , e . exifManipulation = function ( a , b ) { var c = this . getExifArray ( b ) , c = this . insertExif ( a , c ) ; return new Uint8Array ( c ) } , e . 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 [ ] } , e . insertExif = function ( a , b ) { var c = a . replace ( "data:image/jpeg;base64," ,
"" ) , 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 ) } , e . 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 } , e . decode64 = function ( a ) { var b , c , e , f , g , h = 0 , k = [ ] ; /[^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 , k . push ( b ) , 64 !== e && k . push ( c ) , 64 !== g && k . push ( f ) ; while ( h < a . length ) ; return k } , e . 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 , k ) { if ( h = h || f , b . isDate ( k ) && ! isNaN ( k ) ) return k ; if ( b . isString ( k ) ) { if ( h ) return jQuery . datepicker . parseDate ( h , k ) ; var e = new Date ( k ) ; return isNaN ( e . getTime ( ) ) ? null : e } return b . isNumber ( k ) ? new Date ( k ) : null } , dateToString : function ( b , k ) { if ( b = b || f , k ) { if ( b ) try { return jQuery . datepicker . formatDate ( b , k ) } catch ( e ) { return } if ( k . toISOString ) return k . toISOString ( ) } return null } } } ] ) . directive ( "uiDate" ,
[ "uiDateConfig" , "uiDateConverter" , function ( f , h ) { return { require : "?ngModel" , link : function ( k , e , a , g ) { var c = function ( ) { return b . extend ( { } , f , k . $eval ( a . uiDate ) ) } ; k . $watch ( c , function ( ) { function f ( ) { var a = [ "Hours" , "Minutes" , "Seconds" , "Milliseconds" ] , c = b . isDate ( g . $modelValue ) , f = { } ; c && g . $modelValue . toDateString ( ) === e . datepicker ( "getDate" ) . toDateString ( ) || ( c && b . forEach ( a , function ( a ) { f [ a ] = g . $modelValue [ "get" + a ] ( ) } ) , g . $setViewValue ( e . datepicker ( "getDate" ) ) , c && b . forEach ( a , function ( a ) { g . $viewValue [ "set" + a ] ( f [ a ] ) } ) ) }
var l = ! 1 , n = c ( ) ; if ( g ) { var r = n . onSelect || b . noop ; n . onSelect = function ( a , b ) { k . $apply ( function ( ) { l = ! 0 ; f ( ) ; r ( a , b ) ; e . blur ( ) } ) } ; var w = n . beforeShow || b . noop ; n . beforeShow = function ( a , b ) { l = ! 0 ; w ( a , b ) } ; var q = n . onClose || b . noop ; n . onClose = function ( a , b ) { l = ! 1 ; q ( a , b ) } ; e . off ( "blur.datepicker" ) . on ( "blur.datepicker" , function ( ) { l || k . $apply ( function ( ) { e . datepicker ( "setDate" , e . datepicker ( "getDate" ) ) ; f ( ) } ) } ) ; g . $validators . uiDateValidator = function ( c , e ) { return b . isDate ( h . stringToDate ( a . uiDateFormat , e ) ) } ; g . $parsers . push ( function ( b ) { return h . stringToDate ( a . uiDateFormat ,
b ) } ) ; g . $render = function ( ) { e . datepicker ( "setDate" , g . $modelValue ) } } e . data ( "datepicker" ) ? ( e . datepicker ( "option" , n ) , e . datepicker ( "refresh" ) ) : ( e . datepicker ( n ) , e . on ( "$destroy" , function ( ) { e . datepicker ( "hide" ) ; e . datepicker ( "destroy" ) } ) ) ; g && g . $render ( ) } , ! 0 ) } } } ] ) . directive ( "uiDateFormat" , [ "uiDateConverter" , function ( b ) { return { require : "ngModel" , link : function ( f , k , e , a ) { var g = e . uiDateFormat ; a . $formatters . unshift ( function ( a ) { return b . stringToDate ( g , a ) } ) ; a . $parsers . push ( function ( a ) { return b . dateToString ( g , 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 e = { iconMap : { } , iconList : [ ] , iconCategoryList : [ ] } ; b = jsyaml . load ( b . data ) . icons ; for ( var a = 0 ; a < b . length ; a ++ ) { e . iconMap [ b [ a ] . name ] = b [ a ] . id ; e . iconList . push ( b [ a ] . name ) ; for ( var f = 0 ; f < b [ a ] . categories . length ; f ++ ) e . iconCategoryList [ b [ a ] . categories [ f ] ] || ( e . iconCategoryList [ b [ a ] . categories [ f ] ] =
[ ] ) , e . iconCategoryList [ b [ a ] . categories [ f ] ] . push ( b [ a ] . name ) } h . resolve ( e ) } , function ( b ) { var e = "Could not fetch FontAwesome Github Repo" ; b || ( e = b . data || b ) ; h . reject ( e ) } ) , h . promise } } ] ) . filter ( "toFaIcon" , [ "FontAwesomeIcons" , "$timeout" , function ( b , f ) { return function ( b , f , e ) { var a = { full : "" , empty : "" } ; b = 0 <= _ _indexOf . call ( e . iconList , b ) ? ( a . full = "fa-" + e . iconMap [ b ] , a . empty = "fa-" + e . iconMap [ b ] + "-o" , "thumbs-up" == b || "thumbs-down" == b ? a . empty = "fa-" + e . iconMap [ b ] . split ( "-" ) [ 0 ] + "-o-" + e . 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 , k ) { 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 , g , c ) { var e , l , n , r ; ( function ( ) { var a = k . 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 ( + g . max ) ; e = f ( "toFaIcon" ) ( g . iconEmpty , ! 0 , h ) || g . iconEmpty || "fa-stars-o" ; l = g . iconHover || "angular-input-stars-hover" ; n = f ( "toFaIcon" ) ( g . iconFull , ! 1 , h ) || g . iconEmpty || "fa-stars" ; r = g . iconBase || "fa fa-fw" ; b . listClass = g . listClass || "angular-input-stars" ; b . readonly = void 0 !== g . readonly ;
! 0 ; g . $observe ( "max" , function ( a ) { b . items = Array ( + a ) } ) ; g . $observe ( "iconEmpty" , function ( a ) { e = f ( "toFaIcon" ) ( a , ! 0 , h ) || a || "fa-stars-o" } ) ; g . $observe ( "iconFull" , function ( a ) { n = f ( "toFaIcon" ) ( a , ! 1 , h ) || a || "fa-stars" } ) ; c . $render = function ( ) { b . last _value = c . $viewValue || 0 } ; b . getClass = function ( a ) { return a >= b . last _value ? r + " " + e : r + " " + n + " active " } ; b . unpaintStars = function ( a , c ) { b . paintStars ( b . last _value - 1 , c ) } ; b . paintStars = function ( c , f ) { if ( ! b . readonly ) { for ( var g = a . find ( "li" ) . find ( "i" ) , h = 0 ; h < g . length ; h ++ ) { var k = angular . element ( g [ h ] ) ;
c >= h ? ( k . removeClass ( e ) , k . addClass ( n ) , k . addClass ( "active" ) , k . addClass ( l ) ) : ( k . removeClass ( n ) , k . removeClass ( "active" ) , k . removeClass ( l ) , k . addClass ( e ) ) } ! f && g . removeClass ( l ) } } ; b . setValue = function ( a , e ) { b . readonly || ( e . target . getBoundingClientRect ( ) , b . last _value = a + 1 , c . $setViewValue ( b . last _value ) , g . onShapeClick && b . $eval ( g . 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 } , k = { "||" : 1 , "&&" : 2 , "|" : 3 , "^" : 4 , "&" : 5 , "==" : 6 , "!=" : 6 , "===" : 6 , "!==" : 6 , "<" : 7 , ">" : 7 , "<=" : 7 , ">=" : 7 , "<<" : 8 , ">>" : 8 , ">>>" : 8 , "+" : 9 , "-" : 9 , "*" : 10 , "/" : 10 , "%" : 10 } , e = function ( a ) { var b , c = 0 , e ; for ( e in a ) ( b = e . length ) > c && a . hasOwnProperty ( e ) && ( c = b ) ; return c } , a = e ( h ) , g = e ( k ) , c = { "true" : ! 0 , "false" : ! 1 , "null" : null } , t = function ( a , b , c ) { return { type : "||" === a || "&&" === a ? "LogicalExpression" : "BinaryExpression" ,
operator : a , left : b , right : c } } , l = 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 && ! k [ String . fromCharCode ( a ) ] } , r = function ( b ) { for ( var e , q , r = 0 , w = b . charAt , F = b . charCodeAt , p = function ( a ) { return w . call ( b , a ) } , u = function ( a ) { return F . call ( b , a ) } , J = b . length , M = function ( ) { for ( var a = u ( r ) ; 32 === a || 9 === a ; ) a = u ( ++ r ) } , H = function ( ) { var a , b , c ; var e , g , h , l , n ; if ( e = O ( ) , g = I ( ) , g ) { l = { value : g , prec : k [ g ] || 0 } ; ( n = O ( ) ) || f ( "Expected expression after " + g , r ) ; for ( c = [ e , l , n ] ; ( g = I ( ) ) &&
( h = k [ g ] || 0 , 0 !== h ) ; ) { for ( l = { value : g , prec : h } ; 2 < c . length && h <= c [ c . length - 2 ] . prec ; ) n = c . pop ( ) , g = c . pop ( ) . value , e = c . pop ( ) , e = t ( g , e , n ) , c . push ( e ) ; ( e = O ( ) ) || f ( "Expected expression after " + g , r ) ; c . push ( l , 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 M ( ) , 63 !== u ( r ) ? c : ( r ++ , a = H ( ) , a || f ( "Expected expression" , r ) , M ( ) , 58 === u ( r ) ? ( r ++ , b = H ( ) , b || f ( "Expected expression" , r ) , { type : "ConditionalExpression" , test : c , consequent : a , alternate : b } ) : void f ( "Expected :" , r ) ) } , I = function ( ) { M ( ) ; for ( var a = b . substr ( r ,
g ) , c = a . length ; 0 < c ; ) { if ( k . hasOwnProperty ( a ) ) return r += c , a ; a = a . substr ( 0 , -- c ) } return ! 1 } , O = function ( ) { var c , e , g ; if ( M ( ) , c = u ( r ) , l ( c ) || 46 === c ) { var k ; for ( e = "" ; l ( u ( r ) ) ; ) e += p ( r ++ ) ; if ( 46 === u ( r ) ) for ( e += p ( r ++ ) ; l ( u ( r ) ) ; ) e += p ( r ++ ) ; if ( g = p ( r ) , "e" === g || "E" === g ) { e += p ( r ++ ) ; g = p ( r ) ; for ( "+" !== g && "-" !== g || ( e += p ( r ++ ) ) ; l ( u ( r ) ) ; ) e += p ( r ++ ) ; l ( u ( r - 1 ) ) || f ( "Expected exponent (" + e + p ( r ) + ")" , r ) } return k = u ( r ) , n ( k ) ? f ( "Variable names cannot start with a number (" + e + p ( r ) + ")" , r ) : 46 === k && f ( "Unexpected period" , r ) , { type : "Literal" , value : parseFloat ( e ) ,
raw : e } } if ( 39 === c || 34 === c ) { g = "" ; k = p ( r ++ ) ; for ( c = ! 1 ; r < J ; ) { if ( e = p ( r ++ ) , e === k ) { c = ! 0 ; break } if ( "\\" === e ) switch ( e = p ( 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 : k + g + k } } if ( n ( c ) || 40 === c ) { e = u ( r ) ; 40 === e ? ( r ++ , e = H ( ) , e = ( M ( ) , 41 === u ( r ) ? ( r ++ , e ) : void f ( "Unclosed (" , r ) ) ) : e = T ( ) ; g = e ; M ( ) ; for ( e = u ( r ) ; 46 === e || 91 === e || 40 ===
e ; ) r ++ , 46 === e ? ( M ( ) , g = { type : "MemberExpression" , computed : ! 1 , object : g , property : T ( ) } ) : 91 === e ? ( g = { type : "MemberExpression" , computed : ! 0 , object : g , property : H ( ) } , M ( ) , e = u ( r ) , 93 !== e && f ( "Unclosed [" , r ) , r ++ ) : 40 === e && ( g = { type : "CallExpression" , arguments : Y ( 41 ) , callee : g } ) , M ( ) , e = u ( r ) ; return g } if ( 91 === c ) return r ++ , { type : "ArrayExpression" , elements : Y ( 93 ) } ; e = b . substr ( r , a ) ; for ( g = e . length ; 0 < g ; ) { if ( h . hasOwnProperty ( e ) ) return r += g , { type : "UnaryExpression" , operator : e , argument : O ( ) , prefix : ! 0 } ; e = e . substr ( 0 , -- g ) } return ! 1 } , T = function ( ) { var a ,
e = u ( r ) , g = r ; for ( n ( e ) ? r ++ : f ( "Unexpected " + p ( r ) , r ) ; r < J && ( e = u ( r ) , 36 === e || 95 === e || 65 <= e && 90 >= e || 97 <= e && 122 >= e || 48 <= e && 57 >= e || 128 <= e && ! k [ String . fromCharCode ( e ) ] ) ; ) r ++ ; return a = b . slice ( g , r ) , c . hasOwnProperty ( a ) ? { type : "Literal" , value : c [ a ] , raw : a } : "this" === a ? { type : "ThisExpression" } : { type : "Identifier" , name : a } } , Y = function ( a ) { for ( var b , c , e = [ ] , g = ! 1 ; r < J ; ) { if ( M ( ) , b = u ( r ) , b === a ) { g = ! 0 ; r ++ ; break } 44 === b ? r ++ : ( c = H ( ) , c && "Compound" !== c . type || f ( "Expected comma" , r ) , e . push ( c ) ) } return g || f ( "Expected " + String . fromCharCode ( a ) , r ) ,
e } , K = [ ] ; r < J ; ) e = u ( r ) , 59 === e || 44 === e ? r ++ : ( q = H ( ) ) ? K . push ( q ) : r < J && f ( 'Unexpected "' + p ( r ) + '"' , r ) ; return 1 === K . length ? K [ 0 ] : { type : "Compound" , body : K } } ; 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 g = Math . max ( a . length , g ) , k [ a ] = b , this } , r . addLiteral = function ( a , b ) { return c [ a ] = b , this } , r . removeUnaryOp = function ( b ) { return delete h [ b ] , b . length === a && ( a = e ( h ) ) , this } ,
r . removeBinaryOp = function ( a ) { return delete k [ a ] , a . length === g && ( g = e ( k ) ) , this } , r . removeLiteral = function ( a ) { return delete c [ a ] , this } , "undefined" == typeof exports ) { var w = b . jsep ; b . jsep = r ; r . noConflict = function ( ) { return b . jsep === r && ( b . jsep = w ) , 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 , k , e ) { function a ( c , l ) { if ( ! k [ c ] ) { if ( ! h [ c ] ) { var n = "function" == typeof require && require ; if ( ! l && n ) return n ( c , ! 0 ) ; if ( g ) return g ( c , ! 0 ) ; n = Error ( "Cannot find module '" + c + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = k [ c ] = { exports : { } } ;
h [ c ] [ 0 ] . call ( n . exports , function ( e ) { var f = h [ c ] [ 1 ] [ e ] ; return a ( f ? f : e ) } , n , n . exports , f , h , k , e ) } return k [ c ] . exports } for ( var g = "function" == typeof require && require , c = 0 ; c < e . length ; c ++ ) a ( e [ c ] ) ; return a } ( { 1 : [ function ( f , h , k ) { function e ( a ) { this . name = "RavenConfigError" ; this . message = a } e . prototype = Error ( ) ; e . prototype . constructor = e ; h . exports = e } , { } ] , 2 : [ function ( f , h , k ) { h . exports = { wrapMethod : function ( e , a , f ) { var c = e [ a ] ; if ( a in e ) { var g = "warn" === a ? "warning" : a ; e [ a ] = function ( ) { var a = [ ] . slice . call ( arguments ) , h = "" + a . join ( " " ) ,
k = { level : g , logger : "console" , extra : { arguments : a } } ; f && f ( h , k ) ; c && Function . prototype . apply . call ( c , e , a ) } } } } } , { } ] , 3 : [ function ( f , h , k ) { ( function ( e ) { function a ( a , e ) { return c ( e ) ? function ( c ) { return e ( c , a ) } : e } function g ( ) { this . a = ! ( "object" != typeof JSON || ! JSON . stringify ) ; this . b = void 0 !== S ; this . c = void 0 !== ia ; 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 ,
maxUrlLength : 250 , stackTraceLimit : 50 , autoBreadcrumbs : ! 0 , instrument : ! 0 , sampleRate : 1 } ; this . l = 0 ; this . m = ! 1 ; this . n = Error . stackTraceLimit ; this . o = N . console || { } ; this . p = { } ; this . q = [ ] ; this . r = + new Date ; this . s = [ ] ; this . t = [ ] ; this . u = null ; this . w = ( this . v = N . location ) && this . v . href ; this . x ( ) ; for ( var a in this . o ) this . p [ a ] = this . o [ a ] } function c ( a ) { return "function" == typeof a } function k ( a ) { return "[object String]" === ua . toString . call ( a ) } function l ( a ) { for ( var c in a ) return ! 1 ; return ! 0 } function n ( a , c ) { var e , f ; if ( void 0 === a . length ) for ( e in a ) ua . 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 r ( a , c ) { return c ? ( n ( c , function ( c , e ) { a [ c ] = e } ) , a ) : a } function w ( a , c ) { return ! c || a . length <= c ? a : a . substr ( 0 , c ) + "\u2026" } function q ( a ) { for ( var c , e = [ ] , f = 0 , g = a . length ; f < g ; f ++ ) c = a [ f ] , k ( c ) ? e . push ( c . replace ( /([.*+?^=!:${}()|\[\]\/\\])/g , "\\$1" ) ) : c && c . source && e . push ( c . source ) ; return new RegExp ( e . join ( "|" ) , "i" ) } function z ( a ) { var c = [ ] ; return n ( a , function ( a , e ) { c . push ( encodeURIComponent ( a ) + "=" + encodeURIComponent ( e ) ) } ) , c . join ( "&" ) }
function y ( a ) { return ( a = a . match ( /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/ ) ) ? { protocol : a [ 2 ] , host : a [ 4 ] , path : a [ 5 ] , relative : a [ 5 ] + ( a [ 6 ] || "" ) + ( a [ 8 ] || "" ) } : { } } function D ( ) { var a = N . crypto || N . 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 A ( a ) { var c , e , f , g = [ ] ; if ( ! a || ! a . tagName ) return "" ; if ( g . push ( a . tagName . toLowerCase ( ) ) , a . id && g . push ( "#" + a . id ) , c = a . className , c && k ( c ) ) for ( e = c . split ( /\s+/ ) , c = 0 ; c < e . length ; c ++ ) g . push ( "." + e [ c ] ) ; var h = [ "type" , "name" , "title" , "alt" ] ; for ( c = 0 ; c < h . length ; c ++ ) e = h [ c ] , ( f = a . getAttribute ( e ) ) && g . push ( "[" + e + '="' + f + '"]' ) ; return g . join ( "" ) } function F ( a , c ) { if ( ! ! a ^ ! ! c ) return ! 1 ; var e = a . frames , f = c . frames ; if ( e . length !== f . length ) return ! 1 ; for ( var g ,
h , l = 0 ; l < e . length ; l ++ ) if ( g = e [ l ] , h = f [ l ] , g . filename !== h . filename || g . lineno !== h . lineno || g . colno !== h . colno || g [ "function" ] !== h [ "function" ] ) return ! 1 ; return ! 0 } function p ( a , c , e , f ) { var g = a [ c ] ; a [ c ] = e ( g ) ; f && f . push ( [ a , c , g ] ) } var u = f ( 6 ) , J = f ( 7 ) , M = f ( 1 ) , H = f ( 5 ) , I = H . isError , O = H . isObject , T = f ( 2 ) . wrapMethod , Y = "source protocol user pass host port path" . split ( " " ) , K = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/ , N = "undefined" != typeof window ? window : "undefined" != typeof e ? e : "undefined" != typeof self ? self : { } ,
S = N . document , ia = N . navigator ; g . prototype = { VERSION : "3.17.0" , debug : ! 1 , TraceKit : u , 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 && n ( 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 = q ( f . ignoreErrors ) ; f . ignoreUrls = ! ! f . ignoreUrls . length && q ( f . ignoreUrls ) ; f . whitelistUrls =
! ! f . whitelistUrls . length && q ( f . whitelistUrls ) ; f . includePaths = q ( 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 ; "[object Object]" === { } . toString . call ( h ) ? h = r ( g , h ) : ! 1 !== h && ( h = g ) ; f . autoBreadcrumbs = h ; g = { tryCatch : ! 0 } ; h = f . instrument ; return "[object Object]" === { } . toString . call ( h ) ? h = r ( g , h ) : ! 1 !== h && ( h = g ) , f . instrument = h , u . collectWindowErrors = ! ! f . collectWindowErrors , e } , install : function ( ) { var a = this ; return a . isSetup ( ) &&
! a . m && ( u . report . subscribe ( function ( ) { a . z . apply ( a , arguments ) } ) , a . k . instrument && a . k . instrument . tryCatch && 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 , e , f ) { return c ( a ) && ( f = e || [ ] , e = a , a = void 0 ) , this . wrap ( a ,
e ) . apply ( this , f ) } , wrap : function ( a , e , f ) { function g ( ) { var g = [ ] , l = arguments . length , k = ! a || a && ! 1 !== a . deep ; for ( f && c ( f ) && f . apply ( this , arguments ) ; l -- ; ) g [ l ] = k ? h . wrap ( a , arguments [ l ] ) : arguments [ l ] ; try { return e . apply ( this , g ) } catch ( ja ) { throw h . I ( ) , h . captureException ( ja , a ) , ja ; } } var h = this ; if ( void 0 === e && ! c ( a ) ) return a ; if ( c ( a ) && ( e = a , a = void 0 ) , ! c ( e ) ) return e ; try { if ( e . J ) return e ; if ( e . K ) return e . K } catch ( na ) { return e } for ( var l in e ) ua . hasOwnProperty . call ( e , l ) && ( g [ l ] = e [ l ] ) ; return g . prototype = e . prototype , e . K = g , g . J = ! 0 ,
g . L = e , g } , uninstall : function ( ) { return u . report . uninstall ( ) , this . M ( ) , Error . stackTraceLimit = this . n , this . m = ! 1 , this } , captureException : function ( a , c ) { if ( ! I ( a ) ) return this . captureMessage ( a , r ( { trimHeadFrames : 1 , stacktrace : ! 0 } , c ) ) ; this . d = a ; try { var e = u . computeStackTrace ( a ) ; this . N ( e , c ) } catch ( L ) { if ( a !== L ) throw L ; } return this } , captureMessage : function ( a , c ) { if ( ! this . k . ignoreErrors . test || ! this . k . ignoreErrors . test ( a ) ) { c = c || { } ; var e = r ( { message : a + "" } , c ) ; if ( this . k . stacktrace || c && c . stacktrace ) { var f ; try { throw Error ( a ) ;
} catch ( ba ) { f = ba } f . name = null ; c = r ( { fingerprint : a , trimHeadFrames : ( c . trimHeadFrames || 0 ) + 1 } , c ) ; f = u . computeStackTrace ( f ) ; f = this . O ( f , c ) ; e . stacktrace = { frames : f . reverse ( ) } } return this . P ( e ) , this } } , captureBreadcrumb : function ( a ) { a = r ( { timestamp : + new Date / 1E3 } , a ) ; if ( c ( this . k . breadcrumbCallback ) ) { var e = this . k . breadcrumbCallback ( a ) ; if ( O ( e ) && ! l ( e ) ) a = e ; else if ( ! 1 === e ) 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 ( J ( this . j ) ) } , setEnvironment : function ( a ) { return this . k . environment = a , this } , setRelease : function ( a ) { return this . k . release = a , this } , setDataCallback : function ( c ) { return this . k . dataCallback = a ( this . k . dataCallback , c ) , this } , setBreadcrumbCallback : function ( c ) { return this . k . breadcrumbCallback =
a ( this . k . breadcrumbCallback , c ) , this } , setShouldSendCallback : function ( c ) { return this . k . shouldSendCallback = a ( this . k . shouldSendCallback , c ) , 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 = N . RavenConfig ; a && this . config ( a . dsn ,
a . config ) . install ( ) } , showReportDialog : function ( a ) { if ( S ) { a = a || { } ; var c = a . eventId || this . lastEventId ( ) ; if ( ! c ) throw new M ( "Missing eventId" ) ; var e = a . dsn || this . E ; if ( ! e ) throw new M ( "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 = S . createElement ( "script" ) ; f . async = ! 0 ; f . src = e + "/api/embed/error-page/" + c ; ( S . head || S . 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 ) ; S . createEvent ? ( e = S . createEvent ( "HTMLEvents" ) , e . initEvent ( a , ! 0 , ! 0 ) ) : ( e = S . createEventObject ( ) , e . eventType = a ) ; for ( f in c ) ua . hasOwnProperty . call ( c , f ) && ( e [ f ] = c [ f ] ) ; if ( S . createEvent ) S . dispatchEvent ( e ) ; else try { S . fireEvent ( "on" + e . eventType . toLowerCase ( ) , e ) } catch ( ba ) { } } } , 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 , h ; e = [ ] ; for ( var l =
0 , k = 0 ; g && 5 > l ++ && ( h = A ( g ) , ! ( "html" === h || 1 < l && 80 <= k + 3 * e . length + h . length ) ) ; ) e . push ( h ) , k += h . length , g = g . parentNode ; f = e . reverse ( ) . join ( " > " ) } catch ( V ) { f = "<unknown>" } c . captureBreadcrumb ( { category : "ui." + a , message : f } ) } } } , U : function ( ) { var a = this ; return function ( c ) { var e ; try { e = c . target } catch ( ba ) { 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 = y ( this . v . href ) , f = y ( c ) , g = y ( 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 ( e , g ) { for ( var h = Array ( arguments . length ) , l = 0 ; l < h . length ; ++ l ) h [ l ] = arguments [ l ] ; l = h [ 0 ] ; return c ( l ) && ( h [ 0 ] = f . wrap ( l ) ) , a . apply ? a . apply ( this , h ) : a ( h [ 0 ] , h [ 1 ] ) } } function e ( a ) { var c = N [ a ] && N [ a ] . prototype ; c && c . hasOwnProperty && c . hasOwnProperty ( "addEventListener" ) && ( p ( c , "addEventListener" ,
function ( c ) { return function ( e , g , l , k ) { try { g && g . handleEvent && ( g . handleEvent = f . wrap ( g . handleEvent ) ) } catch ( Da ) { } var n , v , t ; return h && h . dom && ( "EventTarget" === a || "Node" === a ) && ( v = f . S ( "click" ) , t = f . U ( ) , n = function ( a ) { if ( a ) { var c ; try { c = a . type } catch ( Ma ) { return } return "click" === c ? v ( a ) : "keypress" === c ? t ( a ) : void 0 } } ) , c . call ( this , e , f . wrap ( g , void 0 , n ) , l , k ) } } , g ) , p ( c , "removeEventListener" , function ( a ) { return function ( c , e , f , g ) { try { e = e && ( e . K ? e . K : e ) } catch ( fa ) { } return a . call ( this , c , e , f , g ) } } , g ) ) } var f = this , g = f . s , h = this . k . autoBreadcrumbs ;
p ( N , "setTimeout" , a , g ) ; p ( N , "setInterval" , a , g ) ; N . requestAnimationFrame && p ( N , "requestAnimationFrame" , function ( a ) { return function ( c ) { return a ( f . wrap ( c ) ) } } , g ) ; for ( var l = "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 ( " " ) ,
k = 0 ; k < l . length ; k ++ ) e ( l [ k ] ) } , B : function ( ) { function a ( a , f ) { a in f && c ( f [ a ] ) && p ( f , a , function ( a ) { return e . wrap ( a ) } ) } var e = this , f = this . k . autoBreadcrumbs , g = e . s ; if ( f . xhr && "XMLHttpRequest" in N ) { var h = XMLHttpRequest . prototype ; p ( h , "open" , function ( a ) { return function ( c , f ) { return k ( f ) && - 1 === f . indexOf ( e . h ) && ( this . W = { method : c , url : f , status _code : null } ) , a . apply ( this , arguments ) } } , g ) ; p ( h , "send" , function ( f ) { return function ( g ) { function h ( ) { if ( l . W && ( 1 === l . readyState || 4 === l . readyState ) ) { try { l . W . status _code = l . status } catch ( xa ) { } e . captureBreadcrumb ( { type : "http" ,
category : "xhr" , data : l . W } ) } } for ( var l = this , k = [ "onload" , "onerror" , "onprogress" ] , n = 0 ; n < k . length ; n ++ ) a ( k [ n ] , l ) ; return "onreadystatechange" in l && c ( l . onreadystatechange ) ? p ( l , "onreadystatechange" , function ( a ) { return e . wrap ( a , void 0 , h ) } ) : l . onreadystatechange = h , f . apply ( this , arguments ) } } , g ) } f . xhr && "fetch" in N && p ( N , "fetch" , function ( a ) { return function ( c , f ) { for ( var g = Array ( arguments . length ) , h = 0 ; h < g . length ; ++ h ) g [ h ] = arguments [ h ] ; var l , h = g [ 0 ] , k = "GET" ; "string" == typeof h ? l = h : ( l = h . url , h . method && ( k = h . method ) ) ; g [ 1 ] && g [ 1 ] . method &&
( k = g [ 1 ] . method ) ; var n = { method : k , url : l , status _code : null } ; return e . captureBreadcrumb ( { type : "http" , category : "fetch" , data : n } ) , a . apply ( this , g ) . then ( function ( a ) { return n . status _code = a . status , a } ) } } , g ) ; f . dom && this . b && ( S . addEventListener ? ( S . addEventListener ( "click" , e . S ( "click" ) , ! 1 ) , S . addEventListener ( "keypress" , e . U ( ) , ! 1 ) ) : ( S . attachEvent ( "onclick" , e . S ( "click" ) ) , S . attachEvent ( "onkeypress" , e . U ( ) ) ) ) ; h = N . chrome ; h = ! ( h && h . app && h . app . runtime ) && N . history && history . pushState ; if ( f . location && h ) { var l = N . onpopstate ; N . onpopstate =
function ( ) { if ( e . V ( e . w , e . v . href ) , l ) return l . apply ( this , arguments ) } ; p ( history , "pushState" , function ( a ) { return function ( ) { var c = 2 < arguments . length ? arguments [ 2 ] : void 0 ; return c && e . V ( e . w , c + "" ) , a . apply ( this , arguments ) } } , g ) } if ( f . console && "console" in N && console . log ) { var t = function ( a , c ) { e . captureBreadcrumb ( { message : a , level : c . level , category : "console" } ) } ; n ( [ "debug" , "info" , "warn" , "error" , "log" ] , function ( a , c ) { T ( 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 ; n ( this . q , function ( c , e ) { e [ 0 ] . apply ( a , [ a ] . concat ( e [ 1 ] ) ) } ) } , D : function ( a ) { var c = K . exec ( a ) , e = { } , f = 7 ; try { for ( ; f -- ; ) e [ Y [ f ] ] = c [ f ] || "" } catch ( ba ) { throw new M ( "Invalid DSN: " + a ) ; } if ( e . pass && ! this . k . allowSecretKey ) throw new M ( "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 && ( n ( 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 , h ) { var l ; this . k . ignoreErrors . test && this . k . ignoreErrors . test ( c ) || ( c += "" , g && g . length ? ( e = g [ 0 ] . filename || e , g . reverse ( ) , l = { frames : g } ) : e && ( l = { 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 = r ( { exception : { values : [ { type : a , value : c , stacktrace : l } ] } , culprit : e } , h ) , this . P ( a ) ) } , Z : function ( a ) { var c = this . k . maxMessageLength ; if ( a . message && ( a . message =
w ( a . message , c ) ) , a . exception ) { var e = a . exception . values [ 0 ] ; e . value = w ( e . value , c ) } c = a . request ; return c && ( c . url && ( c . url = w ( c . url , this . k . maxUrlLength ) ) , c . Referer && ( c . Referer = w ( c . Referer , this . k . maxUrlLength ) ) ) , a . breadcrumbs && a . breadcrumbs . values && this . $ ( a . breadcrumbs ) , a } , $ : function ( a ) { for ( var c , e , f , g = [ "to" , "from" , "url" ] , h = 0 ; h < a . values . length ; ++ h ) if ( e = a . values [ h ] , e . hasOwnProperty ( "data" ) && O ( e . data ) && ( ! Object . isFrozen || ! Object . isFrozen ( e . data ) ) ) { f = r ( { } , e . data ) ; for ( var l = 0 ; l < g . length ; ++ l ) c = g [ l ] , f . hasOwnProperty ( c ) &&
( f [ c ] = w ( f [ c ] , this . k . maxUrlLength ) ) ; a . values [ h ] . data = f } } , _ : function ( ) { if ( this . c || this . b ) { var a = { } ; return this . c && ia . userAgent && ( a . headers = { "User-Agent" : navigator . userAgent } ) , this . b && ( S . location && S . location . href && ( a . url = S . location . href ) , S . referrer && ( a . headers || ( a . headers = { } ) , a . headers . Referer = S . referrer ) ) , a } } , x : function ( ) { this . aa = 0 ; this . ba = null } , ca : function ( ) { return this . aa && + new Date - this . ba < this . aa } , da : function ( a ) { var c = this . e , e ; if ( e = ! ( ! c || a . message !== c . message || a . culprit !== c . culprit ) ) a . stacktrace ||
c . stacktrace ? c = F ( 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 && F ( a . stacktrace , c . stacktrace ) ) ) , c = e ) , e = c ; return e } , ea : function ( a ) { if ( ! this . ca ( ) ) { 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 ( L ) { } this . aa = e ? e : 2 * this . aa || 1E3 ; this . ba = + new Date } } } , P : function ( a ) { var e = this . k , f = { project : this . i , logger : e . logger , platform : "javascript" } ,
g = this . _ ( ) ; if ( g && ( f . request = g ) , a . trimHeadFrames && delete a . trimHeadFrames , a = r ( f , a ) , a . tags = r ( r ( { } , this . j . tags ) , a . tags ) , a . extra = r ( r ( { } , 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 ) , e . environment && ( a . environment = e . environment ) , e . release && ( a . release = e . release ) , e . serverName && ( a . server _name = e . serverName ) , c ( e . dataCallback ) && ( a = e . dataCallback ( a ) || a ) , a &&
! l ( a ) && ( ! c ( e . shouldSendCallback ) || e . shouldSendCallback ( a ) ) ) return this . ca ( ) ? void this . y ( "warn" , "Raven dropped error due to backoff: " , a ) : void ( "number" == typeof e . sampleRate ? Math . random ( ) < e . sampleRate && this . fa ( a ) : this . fa ( a ) ) } , ga : function ( ) { return D ( ) } , fa : function ( a , c ) { var e = this , f = this . k ; if ( this . isSetup ( ) ) { if ( this . f = a . event _id || ( a . event _id = this . ga ( ) ) , a = this . Z ( a ) , ! this . k . allowDuplicates && this . da ( 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 h = a . exception && a . exception . values [ 0 ] ; this . captureBreadcrumb ( { category : "sentry" , message : h ? ( h . type ? h . type + ": " : "" ) + h . value : a . message , event _id : a . event _id , level : a . level || "error" } ) ; var l = this . H ; ( f . transport || this . ha ) . call ( this , { url : l , auth : g , data : a , options : f , onSuccess : function ( ) { e . x ( ) ; e . R ( "success" , { data : a , src : l } ) ; c && c ( ) } , onError : function ( f ) { e . y ( "error" , "Raven transport failed to send: " ,
f ) ; f . request && e . ea ( f . request ) ; e . R ( "failure" , { data : a , src : l } ) ; f = f || Error ( "Raven send failed (no additional details provided)" ) ; c && c ( f ) } } ) } } , ha : 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 + "?" + z ( a . auth ) ) ; c . send ( J ( 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 ] = r ( this . j [ a ] || { } , c ) } } ; var ua = Object . prototype ; g . prototype . setUser = g . prototype . setUserContext ; g . prototype . setReleaseContext = g . prototype . setRelease ;
h . exports = g } ) . 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 , k ) { ( function ( e ) { var a = f ( 3 ) , g = "undefined" != typeof window ? window : "undefined" != typeof e ? e : "undefined" != typeof self ? self : { } , c = g . Raven , k = new a ; k . noConflict = function ( ) { return g . Raven = c , k } ; k . afterLoad ( ) ; h . exports = k } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 3 : 3 } ] , 5 : [ function ( f ,
h , k ) { h . exports = { isObject : function ( e ) { return "object" == typeof e && null !== e } , isError : function ( e ) { switch ( { } . toString . call ( e ) ) { case "[object Error]" : return ! 0 ; case "[object Exception]" : return ! 0 ; case "[object DOMException]" : return ! 0 ; default : return e instanceof Error } } , wrappedCallback : function ( e ) { return function ( a , f ) { var c = e ( a ) || a ; return f ? f ( c ) || c : c } } } } , { } ] , 6 : [ function ( f , h , k ) { ( function ( e ) { function a ( ) { return "undefined" == typeof document || "undefined" == typeof document . location ? "" : document . location . href } var g =
f ( 5 ) , c = { collectWindowErrors : ! 0 , debug : ! 1 } , k = "undefined" != typeof window ? window : "undefined" != typeof e ? e : "undefined" != typeof self ? self : { } , l = [ ] . slice , n = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/ ; c . report = function ( ) { function e ( a , e ) { var f = null ; if ( ! e || c . collectWindowErrors ) { for ( var g in A ) if ( A . hasOwnProperty ( g ) ) try { A [ g ] . apply ( null , [ a ] . concat ( l . call ( arguments , 2 ) ) ) } catch ( O ) { f = O } if ( f ) throw f ; } } function f ( f , l , k , t , r ) { var p ; if ( u ) c . computeStackTrace . augmentStackTraceWithInitialElement ( u ,
l , k , f ) , h ( ) ; else { if ( r && g . isError ( r ) ) p = c . computeStackTrace ( r ) ; else { var q = { url : l , line : k , column : t } , w = void 0 , A = f ; "[object String]" === { } . toString . call ( f ) && ( p = f . match ( n ) ) && ( w = p [ 1 ] , A = p [ 2 ] ) ; q . func = "?" ; p = { name : w , message : A , url : a ( ) , stack : [ q ] } } e ( p , ! 0 ) } return ! ! y && y . apply ( this , arguments ) } function h ( ) { var a = u , c = F ; p = u = F = null ; e . apply ( null , [ a , ! 1 ] . concat ( c ) ) } function t ( a , e ) { var f = l . call ( arguments , 1 ) ; if ( u ) { if ( p === a ) return ; h ( ) } var g = c . computeStackTrace ( a ) ; if ( u = g , p = a , F = f , setTimeout ( function ( ) { p === a && h ( ) } , g . incomplete ? 2E3 :
0 ) , ! 1 !== e ) throw a ; } var y , D , A = [ ] , F = null , p = null , u = null ; return t . subscribe = function ( a ) { D || ( y = k . onerror , k . onerror = f , D = ! 0 ) ; A . push ( a ) } , t . unsubscribe = function ( a ) { for ( var c = A . length - 1 ; 0 <= c ; -- c ) A [ c ] === a && A . splice ( c , 1 ) } , t . uninstall = function ( ) { D && ( k . onerror = y , D = ! 1 , y = void 0 ) ; A = [ ] } , t } ( ) ; c . computeStackTrace = function ( ) { function e ( c ) { if ( "undefined" != typeof c . stack && c . stack ) { for ( var e , f , g = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i ,
h = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i , l = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i , k = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i , n = /\((\S*)(?::(\d+))(?::(\d+))\)/ , t = c . stack . split ( "\n" ) , r = [ ] , q = ( /^(.*) is undefined$/ . exec ( c . message ) , 0 ) , w = t . length ; q < w ; ++ q ) { if ( f = g . exec ( t [ q ] ) ) { var y = f [ 2 ] && 0 === f [ 2 ] . indexOf ( "native" ) , z = f [ 2 ] && 0 === f [ 2 ] . indexOf ( "eval" ) ;
z && ( e = n . exec ( f [ 2 ] ) ) && ( f [ 2 ] = e [ 1 ] , f [ 3 ] = e [ 2 ] , f [ 4 ] = e [ 3 ] ) ; f = { url : y ? null : f [ 2 ] , func : f [ 1 ] || "?" , args : y ? [ f [ 2 ] ] : [ ] , line : f [ 3 ] ? + f [ 3 ] : null , column : f [ 4 ] ? + f [ 4 ] : null } } else if ( f = l . exec ( t [ q ] ) ) f = { url : f [ 2 ] , func : f [ 1 ] || "?" , args : [ ] , line : + f [ 3 ] , column : f [ 4 ] ? + f [ 4 ] : null } ; else { if ( ! ( f = h . exec ( t [ q ] ) ) ) continue ; ( z = f [ 3 ] && - 1 < f [ 3 ] . indexOf ( " > eval" ) ) && ( e = k . exec ( f [ 3 ] ) ) ? ( f [ 3 ] = e [ 1 ] , f [ 4 ] = e [ 2 ] , f [ 5 ] = null ) : 0 !== q || f [ 5 ] || "undefined" == typeof c . columnNumber || ( r [ 0 ] . column = c . columnNumber + 1 ) ; f = { url : f [ 3 ] , func : f [ 1 ] || "?" , args : f [ 2 ] ? f [ 2 ] . split ( "," ) : [ ] , line : f [ 4 ] ?
+ f [ 4 ] : null , column : f [ 5 ] ? + f [ 5 ] : null } } ! f . func && f . line && ( f . func = "?" ) ; r . push ( f ) } return r . length ? { name : c . name , message : c . message , url : a ( ) , stack : r } : null } } function f ( 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 g ( e , l ) { for ( var k , n , t = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i ,
r = [ ] , q = { } , w = ! 1 , y = g . caller ; y && ! w ; y = y . caller ) if ( y !== h && y !== c . report ) { if ( n = { url : null , func : "?" , line : null , column : null } , y . name ? n . func = y . name : ( k = t . exec ( y . toString ( ) ) ) && ( n . func = k [ 1 ] ) , "undefined" == typeof n . func ) try { n . func = k . input . substring ( 0 , k . input . indexOf ( "{" ) ) } catch ( I ) { } q [ "" + y ] ? w = ! 0 : q [ "" + y ] = ! 0 ; r . push ( n ) } l && r . splice ( 0 , l ) ; k = { name : e . name , message : e . message , url : a ( ) , stack : r } ; return f ( k , e . sourceURL || e . fileName , e . line || e . lineNumber , e . message || e . description ) , k } function h ( f , h ) { var l = null ; h = null == h ? 0 : + h ; try { if ( l =
e ( f ) ) return l } catch ( F ) { if ( c . debug ) throw F ; } try { if ( l = g ( f , h + 1 ) ) return l } catch ( F ) { if ( c . debug ) throw F ; } return { name : f . name , message : f . message , url : a ( ) } } return h . augmentStackTraceWithInitialElement = f , h . computeStackTraceFromStackProp = e , h } ( ) ; h . exports = c } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 5 : 5 } ] , 7 : [ function ( f , h , k ) { function e ( a , c ) { for ( var e = 0 ; e < a . length ; ++ e ) if ( a [ e ] === c ) return e ; return - 1 } function a ( a , c ) { var f = [ ] , g = [ ] ; return null ==
c && ( c = function ( a , c ) { return f [ 0 ] === c ? "[Circular ~]" : "[Circular ~." + g . slice ( 0 , e ( f , c ) ) . join ( "." ) + "]" } ) , function ( h , l ) { if ( 0 < f . length ) { var k = e ( f , this ) ; ~ k ? f . splice ( k + 1 ) : f . push ( this ) ; ~ k ? g . splice ( k , 1 / 0 , h ) : g . push ( h ) ; ~ e ( f , l ) && ( l = c . call ( this , h , l ) ) } else f . push ( l ) ; return null == a ? l : a . call ( this , h , l ) } } k = h . exports = function ( e , c , f , h ) { return JSON . stringify ( e , a ( c , h ) , f ) } ; k . getSerialize = a } , { } ] } , { } , [ 4 ] ) ( 4 ) } ) ;
( function ( ) { function b ( a , b ) { if ( a !== b ) { var c = null === a , e = a === u , f = a === a , g = null === b , h = b === u , l = b === b ; if ( a > b && ! g || ! f || c && ! h && l || e && l ) return 1 ; if ( a < b && ! c || ! l || g && ! e && f || h && 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 w ( a , c ) ; -- c ; for ( var e = a . length ; ++ c < e ; ) if ( a [ c ] === b ) return c ; return - 1 } function k ( a ) { return "function" == typeof a || ! 1 } function e ( 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 g ( a , b ) { for ( var c = a . length ; c -- && - 1 < b . indexOf ( a . charAt ( c ) ) ; ) ; return c } function c ( a , c ) { return b ( a . a , c . a ) || a . b - c . b } function t ( a ) { return nb [ a ] } function l ( a ) { return Mb [ a ] } function n ( a , b , c ) { return b ? a = Fd [ a ] : c && ( a = Fb [ a ] ) , "\\" + a } function r ( a ) { return "\\" + Fb [ a ] } function w ( 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 q ( a ) { return ! ! a && "object" == typeof a } function z ( 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 y ( a , b ) { for ( var c = - 1 , e = a . length , f = - 1 , g = [ ] ; ++ c < e ; ) a [ c ] === b && ( a [ c ] = na , g [ ++ f ] = c ) ; return g } function D ( a ) { for ( var b = - 1 , c = a . length ; ++ b < c && z ( a . charCodeAt ( b ) ) ; ) ; return b } function A ( a ) { for ( var b = a . length ; b -- && z ( a . charCodeAt ( b ) ) ; ) ; return b } function F ( a ) { return Od [ a ] } function p ( z ) { function C ( a ) { if ( q ( a ) && ! ( pa ( a ) || a instanceof ya ) ) { if ( a instanceof vb ) return a ; if ( Ra . call ( a , "__chain__" ) && Ra . call ( a , "__wrapped__" ) ) return wc ( a ) } return new vb ( a ) }
function Za ( ) { } function vb ( 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 _ _ = Yc ; this . _ _views _ _ = [ ] } function fb ( ) { this . _ _data _ _ = { } } function nb ( a ) { var b = a ? a . length : 0 ; for ( this . data = { hash : cd ( null ) , set : new tc } ; b -- ; ) this . push ( a [ b ] ) } function pb ( a , b ) { var c = a . data ; return ( "string" == typeof b || Ia ( b ) ? c . set . has ( b ) : c . hash [ b ] ) ? 0 : - 1 } function cb ( a , b ) { var c = - 1 , d = a . length ;
for ( b || ( b = La ( d ) ) ; ++ c < d ; ) b [ c ] = a [ c ] ; return b } function mb ( 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 Fb ( 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 kc ( 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 !== u && Ra . call ( d , c ) ? a : b } function Id ( a , b , c ) { for ( var d = - 1 , e = za ( b ) , f = e . length ; ++ d < f ; ) { var g = e [ d ] , x = a [ g ] , h = c ( x , b [ g ] , g , a , b ) ; ( h === h ? h === x : x !== x ) && ( x !== u || g in a ) || ( a [ g ] = h ) } return a } function Fc ( a , b ) { return null == b ? a : Xd ( b , za ( b ) , a ) } function od ( a , b ) { for ( var c = - 1 , d = null == a , e = ! d && Fa ( a ) , f = e ? a . length : 0 , g = b . length , x = La ( g ) ; ++ c < g ; ) { var h = b [ c ] ; x [ c ] = e ? Hb ( h ,
f ) ? a [ h ] : u : d ? u : a [ h ] } return x } function Xd ( 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 Nc ( a , b , c ) { var d = typeof a ; return "function" == d ? b === u ? a : lb ( a , b , c ) : null == a ? gc : "object" == d ? rc ( a ) : b === u ? nd ( a ) : Va ( a , b ) } function ab ( a , b , c , d , e , f , g ) { var h ; if ( c && ( h = e ? c ( a , d , e ) : c ( a ) ) , h !== u ) return h ; if ( ! Ia ( a ) ) return a ; if ( d = pa ( a ) ) { if ( h = Df ( a ) , ! b ) return cb ( a , h ) } else { var x = eb . call ( a ) , l = x == Ga ; if ( x != fa && x != da && ( ! l || e ) ) return Ja [ x ] ? jc ( a , x , b ) : e ? a : { } ; if ( h = Ff ( l ? { } : a ) , ! b ) return Fc ( h , a ) } f || ( f = [ ] ) ;
g || ( g = [ ] ) ; for ( e = f . length ; e -- ; ) if ( f [ e ] == a ) return g [ e ] ; return f . push ( a ) , g . push ( h ) , ( d ? mb : Jb ) ( a , function ( d , e ) { h [ e ] = ab ( d , b , c , e , a , f , g ) } ) , h } function Xb ( a , b , c ) { if ( "function" != typeof a ) throw new qb ( P ) ; return vd ( function ( ) { a . apply ( u , c ) } , b ) } function Ob ( a , b ) { var c = a ? a . length : 0 , d = [ ] ; if ( ! c ) return d ; var e = - 1 , f = lc ( ) , g = f === h , x = g && b . length >= X && cd && tc ? new nb ( b ) : null , l = b . length ; x && ( f = pb , g = ! 1 , b = x ) ; a : for ( ; ++ e < c ; ) if ( x = a [ e ] , g && x === x ) { for ( var k = l ; k -- ; ) if ( b [ k ] === x ) continue a ; d . push ( x ) } else 0 > f ( b , x , 0 ) && d . push ( x ) ; return d } function Yd ( a ,
b ) { var c = ! 0 ; return Ab ( a , function ( a , d , e ) { return c = ! ! b ( a , d , e ) } ) , c } function Zd ( a , b , c , d ) { var e = d , f = e ; return Ab ( a , function ( a , g , h ) { g = + b ( a , g , h ) ; ( c ( g , e ) || g === d && g === f ) && ( e = g , f = a ) } ) , f } function $d ( a , b ) { var c = [ ] ; return Ab ( a , function ( a , d , e ) { b ( a , d , e ) && c . push ( a ) } ) , c } function Oc ( 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 db ( a , b , c , d ) { d || ( d = [ ] ) ; for ( var e = - 1 , f = a . length ; ++ e < f ; ) { var g = a [ e ] ; q ( g ) && Fa ( g ) && ( c || pa ( g ) || Ua ( g ) ) ? b ? db ( g , b , c , d ) : xb ( d , g ) : c || ( d [ d . length ] = g ) } return d }
function Pe ( a , b ) { Cd ( a , b , Ub ) } function Jb ( a , b ) { return Cd ( a , b , za ) } function Zb ( a , b ) { return De ( a , b , za ) } function pd ( a , b ) { for ( var c = - 1 , d = b . length , e = - 1 , f = [ ] ; ++ c < d ; ) { var g = b [ c ] ; Eb ( a [ g ] ) && ( f [ ++ e ] = g ) } return f } function gb ( a , b , c ) { if ( null != a ) { c !== u && 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 : u } } function Pc ( a , b , c , d , e , f ) { if ( a === b ) a = ! 0 ; else if ( null == a || null == b || ! Ia ( a ) && ! q ( b ) ) a = a !== a && b !== b ; else a : { var g = Pc , h = pa ( a ) , x = pa ( b ) , l = V , k = V ; h || ( l = eb . call ( a ) , l == da ? l = fa : l != fa && ( h = ic ( a ) ) ) ;
x || ( k = eb . call ( b ) , k == da ? k = fa : k != fa && ic ( b ) ) ; var E = l == fa , x = k == fa , k = l == k ; if ( ! k || h || E ) if ( ! d && ( l = E && Ra . call ( a , "__wrapped__" ) , x = x && Ra . call ( b , "__wrapped__" ) , l || x ) ) a = g ( l ? a . value ( ) : a , x ? b . value ( ) : b , c , d , e , f ) ; else if ( k ) { e || ( e = [ ] ) ; f || ( f = [ ] ) ; for ( l = e . length ; l -- ; ) if ( e [ l ] == a ) { a = f [ l ] == b ; break a } e . push ( a ) ; f . push ( b ) ; a = ( h ? Cf : Uc ) ( a , b , g , c , d , e , f ) ; e . pop ( ) ; f . pop ( ) } else a = ! 1 ; else a = me ( a , b , l ) } return a } function Qc ( 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 ] , h = g [ 0 ] , x = a [ h ] , l = g [ 1 ] ; if ( f && g [ 2 ] ) { if ( x === u && ! ( h in a ) ) return ! 1 } else if ( g = c ? c ( x , l , h ) : u , g === u ? ! Pc ( l , x , c , ! 0 ) : ! g ) return ! 1 } return ! 0 } function be ( a , b ) { var c = - 1 , d = Fa ( a ) ? La ( a . length ) : [ ] ; return Ab ( a , function ( a , e , f ) { d [ ++ c ] = b ( a , e , f ) } ) , d } function rc ( a ) { var b = ne ( 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 !== u || c in Wa ( a ) ) } } return function ( a ) { return Qc ( a , b ) } } function Va ( a , b ) { var c = pa ( a ) , d = wa ( a ) && b === b && ! Ia ( b ) , e = a + "" ; return a =
Oa ( 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 : gb ( f , hb ( a , 0 , - 1 ) ) , null == f ) return ! 1 ; g = sc ( a ) ; f = Wa ( f ) } return f [ g ] === b ? b !== u || g in f : Pc ( b , f [ g ] , u , ! 0 ) } } function ce ( a , b , c , d , e ) { if ( ! Ia ( a ) ) return a ; var f = Fa ( b ) && ( pa ( b ) || ic ( b ) ) , g = f ? u : za ( b ) ; return mb ( g || b , function ( h , x ) { if ( g && ( x = h , h = b [ x ] ) , q ( h ) ) { d || ( d = [ ] ) ; e || ( e = [ ] ) ; a : { for ( var l = x , k = d , E = e , v = k . length , Q = b [ l ] ; v -- ; ) if ( k [ v ] == Q ) { a [ l ] = E [ v ] ; break a } var v = a [ l ] , m = c ? c ( v , Q , l , a , b ) : u , n = m === u ; n && ( m = Q , Fa ( Q ) && ( pa ( Q ) || ic ( Q ) ) ? m = pa ( v ) ? v :
Fa ( v ) ? cb ( v ) : [ ] : Kc ( Q ) || Ua ( Q ) ? m = Ua ( v ) ? Me ( v ) : Kc ( v ) ? v : { } : n = ! 1 ) ; k . push ( Q ) ; E . push ( m ) ; n ? a [ l ] = ce ( m , Q , c , k , E ) : ( m === m ? m !== v : v === v ) && ( a [ l ] = m ) } } else l = a [ x ] , k = c ? c ( l , h , x , a , b ) : u , ( E = k === u ) && ( k = h ) , k === u && ( ! f || x in a ) || ! E && ( k === k ? k === l : l !== l ) || ( a [ x ] = k ) } ) , a } function qd ( a ) { return function ( b ) { return null == b ? u : b [ a ] } } function nf ( a ) { var b = a + "" ; return a = Oa ( a ) , function ( c ) { return gb ( c , a , b ) } } function de ( a , b ) { for ( var c = a ? b . length : 0 ; c -- ; ) { var d = b [ c ] ; if ( d != e && Hb ( d ) ) { var e = d ; Bf . call ( a , d , 1 ) } } } function rd ( a , b ) { return a + Cb ( 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 hb ( 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 === u || 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 Fd ( 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 = kc ( c , function ( a ) { return e ( a ) } ) , a = be ( a , function ( a ) { return { a : kc ( 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 , h = c . a , l = g . length , x = d . length ; ++ f < l ; ) if ( e = b ( g [ f ] , h [ 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 Kd ( a , b ) { var c = - 1 , d = lc ( ) , e = a . length , f = d === h , g = f && e >= X , l = g && cd && tc ? new nb ( void 0 ) : null , x = [ ] ; l ? ( d = pb , f = ! 1 ) : ( g = ! 1 , l = b ? [ ] : x ) ; a : for ( ; ++ c < e ; ) { var k = a [ c ] , E = b ? b ( k , c , a ) : k ; if ( f && k === k ) { for ( var v = l . length ; v -- ; ) if ( l [ v ] ===
E ) continue a ; b && l . push ( E ) ; x . push ( k ) } else 0 > d ( l , E , 0 ) && ( ( b || g ) && l . push ( E ) , x . push ( k ) ) } return x } function Jd ( a , b ) { for ( var c = - 1 , d = b . length , e = La ( d ) ; ++ c < d ; ) e [ c ] = a [ b [ c ] ] ; return e } function bd ( a , b , c , d ) { for ( var e = a . length , f = d ? e : - 1 ; ( d ? f -- : ++ f < e ) && b ( a [ f ] , f , a ) ; ) ; return c ? hb ( a , d ? 0 : f , d ? f + 1 : e ) : hb ( 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 sd ( 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 , h = null === b , l = b === u ; e < f ; ) { var x = Cb ( ( e + f ) / 2 ) , k = c ( a [ x ] ) , E = k !== u , v = k === k ; ( g ? v || d : h ? v && E && ( d || null != k ) : l ? v && ( d || E ) : null == k ? 0 : d ? k <= b : k < b ) ? e = x + 1 : f = x } return jb ( f , re ) } function lb ( a , b , c ) { if ( "function" != typeof a ) return gc ; if ( b === u ) 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 = Xa ( a . length - d , 0 ) , g = - 1 , h = b . length , l = La ( h + f ) ; ++ g < h ; ) l [ g ] = b [ g ] ; for ( ; ++ e < d ; ) l [ c [ e ] ] = a [ e ] ; for ( ; f -- ; ) l [ g ++ ] = a [ e ++ ] ; return l } function Ve ( a , b , c ) { for ( var d = - 1 , e = c . length , f = - 1 , g = Xa ( a . length - e , 0 ) , h = - 1 , l = b . length , x = La ( g +
l ) ; ++ f < g ; ) x [ f ] = a [ f ] ; for ( g = f ; ++ h < l ; ) x [ g + h ] = b [ h ] ; for ( ; ++ d < e ; ) x [ g + c [ d ] ] = a [ f ++ ] ; return x } function gd ( a , b ) { return function ( c , d , e ) { var f = b ? b ( ) : { } ; if ( d = Ca ( d , e , 3 ) , pa ( c ) ) { e = - 1 ; for ( var g = c . length ; ++ e < g ; ) { var h = c [ e ] ; a ( f , h , d ( h , e , c ) , c ) } } else Ab ( c , function ( b , c , e ) { a ( f , b , d ( b , c , e ) , e ) } ) ; return f } } function Nb ( a ) { return Aa ( function ( b , c ) { var d = - 1 , e = null == b ? 0 : c . length , f = 2 < e ? c [ e - 2 ] : u , g = 2 < e ? c [ 2 ] : u , h = 1 < e ? c [ e - 1 ] : u ; "function" == typeof f ? ( f = lb ( f , h , 5 ) , e -= 2 ) : ( f = "function" == typeof h ? h : u , e -= f ? 1 : 0 ) ; for ( g && va ( c [ 0 ] , c [ 1 ] , g ) && ( f = 3 > e ?
u : f , e = 1 ) ; ++ d < e ; ) ( g = c [ d ] ) && a ( b , g , f ) ; return b } ) } function Wd ( a , b ) { return function ( c , d ) { var e = c ? Bc ( c ) : 0 ; if ( ! kb ( 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 h = d [ g ] ; if ( ! 1 === c ( e [ h ] , h , e ) ) break } return b } } function sf ( a , b ) { function c ( ) { return ( this && this !== Db && this instanceof c ? d : a ) . apply ( b , arguments ) } var d = Ec ( a ) ; return c } function hd ( 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 = oc ( a . prototype ) , b = a . apply ( c , b ) ; return Ia ( b ) ? b : c } } function tf ( a ) { function b ( c ,
d , e ) { return e && va ( c , d , e ) && ( d = u ) , c = ib ( c , a , u , u , u , u , u , d ) , c . placeholder = b . placeholder , c } return b } function vf ( a , b ) { return Aa ( function ( c ) { var d = c [ 0 ] ; return null == d ? d : ( c . push ( b ) , a . apply ( u , c ) ) } ) } function ac ( a , b ) { return function ( c , d , e ) { if ( e && va ( c , d , e ) && ( d = u ) , d = Ca ( d , e , 3 ) , 1 == d . length ) { e = c = pa ( c ) ? c : vc ( c ) ; for ( var f = d , g = - 1 , h = e . length , l = b , x = l ; ++ g < h ; ) { var k = e [ g ] , E = + f ( k ) ; a ( E , l ) && ( l = E , x = k ) } if ( e = x , ! c . length || e !== b ) return e } return Zd ( c , d , a , b ) } } function ud ( a , b ) { return function ( c , d , e ) { return d = Ca ( d , e , 3 ) , pa ( c ) ? ( d = f ( c , d ,
b ) , - 1 < d ? c [ d ] : u ) : Oc ( c , d , a ) } } function ee ( a ) { return function ( b , c , d ) { return b && b . length ? ( c = Ca ( c , d , 3 ) , f ( b , c , a ) ) : - 1 } } function he ( a ) { return function ( b , c , d ) { return c = Ca ( c , d , 3 ) , Oc ( 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 qb ( P ) ; ! b && vb . prototype . thru && "wrapper" == bc ( g ) && ( b = new vb ( [ ] , ! 0 ) ) } for ( d = b ? - 1 : c ; ++ d < c ; ) { var g = f [ d ] , e = bc ( g ) , h = "wrapper" == e ? Dd ( g ) : u ; b = h && rb ( h [ 0 ] ) && h [ 1 ] == ( N | O | Y | S ) && ! h [ 4 ] . length &&
1 == h [ 9 ] ? b [ bc ( h [ 0 ] ) ] . apply ( b , h [ 3 ] ) : 1 == g . length && rb ( g ) ? b [ e ] ( ) : b . thru ( g ) } return function ( ) { var a = arguments , d = a [ 0 ] ; if ( b && 1 == a . length && pa ( d ) && d . length >= X ) 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 === u && pa ( c ) ? a ( c , d ) : b ( c , lb ( d , e , 3 ) ) } } function je ( a ) { return function ( b , c , d ) { return ( "function" != typeof c || d !== u ) && ( c = lb ( c , d , 3 ) ) , a ( b , c , Ub ) } } function Rc ( a ) { return function ( b , c , d ) { return ( "function" !=
typeof c || d !== u ) && ( c = lb ( c , d , 3 ) ) , a ( b , c ) } } function Ya ( a ) { return function ( b , c , d ) { var e = { } ; return c = Ca ( c , d , 3 ) , Jb ( b , function ( b , d , f ) { f = c ( b , d , f ) ; d = a ? f : d ; b = a ? b : f ; e [ d ] = b } ) , e } } function Sc ( a ) { return function ( b , c , d ) { return b = e ( b ) , ( a ? b : "" ) + fe ( b , c , d ) + ( a ? "" : b ) } } function ke ( a ) { var b = Aa ( function ( c , d ) { var e = y ( d , b . placeholder ) ; return ib ( c , a , u , d , e ) } ) ; return b } function le ( a , b ) { return function ( c , d , e , f ) { var g = 3 > arguments . length ; return "function" == typeof d && f === u && pa ( c ) ? a ( c , d , e , g ) : of ( c , Ca ( d , f , 4 ) , e , g , b ) } } function Tc ( a , b , c ,
d , e , f , g , h , l , k ) { function x ( ) { for ( var p = arguments . length , q = p , w = La ( p ) ; q -- ; ) w [ q ] = arguments [ q ] ; if ( d && ( w = Ue ( w , d , e ) ) , f && ( w = Ve ( w , f , g ) ) , n || t ) { var q = x . placeholder , Ba = y ( w , q ) , p = p - Ba . length ; if ( p < k ) { var z = h ? cb ( h ) : u , p = Xa ( k - p , 0 ) , B = n ? Ba : u , Ba = n ? u : Ba , A = n ? w : u , w = n ? u : w ; return b |= n ? Y : K , b &= ~ ( n ? K : Y ) , Q || ( b &= ~ ( M | H ) ) , w = [ a , b , c , A , B , w , Ba , z , l , p ] , z = Tc . apply ( u , w ) , rb ( a ) && Ee ( z , w ) , z . placeholder = q , z } } if ( q = v ? c : this , z = m ? q [ a ] : a , h ) for ( p = w . length , B = jb ( h . length , p ) , Ba = cb ( w ) ; B -- ; ) A = h [ B ] , w [ B ] = Hb ( A , p ) ? Ba [ A ] : u ; return E && l < w . length && ( w . length = l ) ,
this && this !== Db && this instanceof x && ( z = r || Ec ( a ) ) , z . apply ( q , w ) } var E = b & N , v = b & M , m = b & H , n = b & O , Q = b & I , t = b & T , r = m ? u : Ec ( a ) ; return x } function fe ( a , b , c ) { return a = a . length , b = + b , a < b && nc ( b ) ? ( b -= a , c = null == c ? " " : c + "" , $a ( c , td ( b / c . length ) ) . slice ( 0 , b ) ) : "" } function Hd ( a , b , c , d ) { function e ( ) { for ( var b = - 1 , h = arguments . length , l = - 1 , k = d . length , x = La ( k + h ) ; ++ l < k ; ) x [ l ] = d [ l ] ; for ( ; h -- ; ) x [ l ++ ] = arguments [ ++ b ] ; return ( this && this !== Db && this instanceof e ? g : a ) . apply ( f ? c : this , x ) } var f = b & M , g = Ec ( a ) ; return e } function ge ( a ) { var b = mc [ a ] ; return function ( a ,
c ) { return ( c = c === u ? 0 : + c || 0 ) ? ( c = yf ( 10 , c ) , b ( a * c ) / c ) : b ( a ) } } function ie ( a ) { return function ( b , c , d , e ) { var f = Ca ( d ) ; return null == d && f === Nc ? sd ( b , c , a ) : Se ( b , c , f ( d , e , 1 ) , a ) } } function ib ( a , b , c , d , e , f , g , h ) { var l = b & H ; if ( ! l && "function" != typeof a ) throw new qb ( P ) ; var k = d ? d . length : 0 ; if ( k || ( b &= ~ ( Y | K ) , d = e = u ) , k -= e ? e . length : 0 , b & K ) { var x = d , E = e ; d = e = u } var v = l ? u : Dd ( a ) ; return c = [ a , b , c , d , e , x , E , f , g , h ] , v && ( d = c [ 1 ] , b = v [ 1 ] , h = d | b , e = b == N && d == O || b == N && d == S && c [ 7 ] . length <= v [ 8 ] || b == ( N | S ) && d == O , ( h < N || e ) && ( b & M && ( c [ 2 ] = v [ 2 ] , h |= d & M ? 0 : I ) , ( d = v [ 3 ] ) &&
( e = c [ 3 ] , c [ 3 ] = e ? Ue ( e , d , v [ 4 ] ) : cb ( d ) , c [ 4 ] = e ? y ( c [ 3 ] , na ) : cb ( v [ 4 ] ) ) , ( d = v [ 5 ] ) && ( e = c [ 5 ] , c [ 5 ] = e ? Ve ( e , d , v [ 6 ] ) : cb ( d ) , c [ 6 ] = e ? y ( c [ 5 ] , na ) : cb ( v [ 6 ] ) ) , ( d = v [ 7 ] ) && ( c [ 7 ] = cb ( d ) ) , b & N && ( c [ 8 ] = null == c [ 8 ] ? v [ 8 ] : jb ( c [ 8 ] , v [ 8 ] ) ) , null == c [ 9 ] && ( c [ 9 ] = v [ 9 ] ) , c [ 0 ] = v [ 0 ] , c [ 1 ] = h ) , b = c [ 1 ] , h = c [ 9 ] ) , c [ 9 ] = null == h ? l ? 0 : a . length : Xa ( h - k , 0 ) || 0 , ( v ? Ce : Ee ) ( b == M ? sf ( c [ 0 ] , c [ 2 ] ) : b != Y && b != ( M | Y ) || c [ 4 ] . length ? Tc . apply ( u , c ) : Hd . apply ( u , c ) , c ) } function Cf ( a , b , c , d , e , f , g ) { var h = - 1 , l = a . length , k = b . length ; if ( l != k && ( ! e || k <= l ) ) return ! 1 ; for ( ; ++ h < l ; ) { var x = a [ h ] , k = b [ h ] ,
E = d ? d ( e ? k : x , e ? x : k , h ) : u ; if ( E !== u ) { if ( E ) continue ; return ! 1 } if ( e ) { if ( ! Oe ( b , function ( a ) { return x === a || c ( x , a , d , e , f , g ) } ) ) return ! 1 } else if ( x !== k && ! c ( x , k , d , e , f , g ) ) return ! 1 } return ! 0 } function me ( a , b , c ) { switch ( c ) { case ja : case ca : return + a == + b ; case la : return a . name == b . name && a . message == b . message ; case xa : return a != + a ? b != + b : a == + b ; case v : case oa : return a == b + "" } return ! 1 } function Uc ( a , b , c , d , e , f , g ) { var h = za ( a ) , l = h . length , k = za ( b ) . length ; if ( l != k && ! e ) return ! 1 ; for ( k = l ; k -- ; ) { var x = h [ k ] ; if ( ! ( e ? x in b : Ra . call ( b , x ) ) ) return ! 1 } for ( var E =
e ; ++ k < l ; ) { var x = h [ k ] , v = a [ x ] , m = b [ x ] , n = d ? d ( e ? m : v , e ? v : m , x ) : u ; if ( n === u ? ! c ( v , m , d , e , f , g ) : ! n ) return ! 1 ; E || ( E = "constructor" == x ) } return ! ( ! E && ( 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 || Lc , d = d === Lc ? Nc : d ; return c ? d ( a , b , c ) : d } function bc ( a ) { for ( var b = a . name + "" , c = Zc [ 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 lc ( a , b ,
c ) { var d = C . indexOf || Ha , d = d === Ha ? h : d ; return a ? d ( a , b , c ) : d } function ne ( a ) { a = Ne ( a ) ; for ( var b = a . length ; b -- ; ) { var c = a [ b ] [ 1 ] ; a [ b ] [ 2 ] = c === c && ! Ia ( c ) } return a } function cc ( a , b ) { var c = null == a ? u : a [ b ] ; return Ud ( c ) ? c : u } function Df ( a ) { var b = a . length , c = new a . constructor ( b ) ; return b && "string" == typeof a [ 0 ] && Ra . 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 = Gb ) , new a } function jc ( a , b , c ) { var d = a . constructor ; switch ( b ) { case Da : return Te ( a ) ;
case ja : case ca : return new d ( + a ) ; case W : case Ma : case Ea : case ga : case qa : case Ta : case tb : case Sb : case ub : return b = a . buffer , new d ( c ? Te ( b ) : b , a . byteOffset , a . length ) ; case xa : case oa : return new d ( a ) ; case v : var e = new d ( a . source , ra . exec ( a ) ) ; e . lastIndex = a . lastIndex } return e } function ha ( a , b , c ) { return null == a || wa ( b , a ) || ( b = Oa ( b ) , a = 1 == b . length ? a : gb ( a , hb ( b , 0 , - 1 ) ) , b = sc ( b ) ) , b = null == a ? a : a [ b ] , null == b ? u : b . apply ( a , c ) } function Fa ( a ) { return null != a && kb ( Bc ( a ) ) } function Hb ( a , b ) { return a = "number" == typeof a || qc . test ( a ) ? + a :
- 1 , b = null == b ? se : b , - 1 < a && 0 == a % 1 && a < b } function va ( a , b , c ) { if ( ! Ia ( c ) ) return ! 1 ; var d = typeof b ; return ! ! ( "number" == d ? Fa ( c ) && Hb ( b , c . length ) : "string" == d && b in c ) && ( b = c [ b ] , a === a ? a === b : b !== b ) } function wa ( a , b ) { var c = typeof a ; return ! ! ( "string" == c && cf . test ( a ) || "number" == c ) || ! pa ( a ) && ( ! ld . test ( a ) || null != b && a in Wa ( b ) ) } function rb ( a ) { var b = bc ( a ) , c = C [ b ] ; return "function" == typeof c && b in ya . prototype && ( a === c || ( b = Dd ( c ) , ! ! b && a === b [ 0 ] ) ) } function kb ( a ) { return "number" == typeof a && - 1 < a && 0 == a % 1 && a <= se } function Bb ( a , b ) { return a ===
u ? b : dd ( a , b , Bb ) } 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 sb ( a ) { for ( var b = Ub ( a ) , c = b . length , d = c && a . length , e = ! ! d && kb ( d ) && ( pa ( a ) || Ua ( a ) ) , f = - 1 , g = [ ] ; ++ f < c ; ) { var h = b [ f ] ; ( e && Hb ( h , d ) || Ra . call ( a , h ) ) && g . push ( h ) } return g } function vc ( a ) { return null == a ? [ ] : Fa ( a ) ? Ia ( a ) ? a : Gb ( a ) : fd ( a ) } function Wa ( a ) { return Ia ( a ) ? a : Gb ( a ) } function Oa ( a ) { if ( pa ( a ) ) return a ; var b = [ ] ; return e ( a ) . replace ( ea ,
function ( a , c , d , e ) { b . push ( d ? e . replace ( Kb , "$1" ) : c || a ) } ) , b } function wc ( a ) { return a instanceof ya ? a . clone ( ) : new vb ( a . _ _wrapped _ _ , a . _ _chain _ _ , cb ( a . _ _actions _ _ ) ) } function $c ( a , b , c ) { return a && a . length ? ( ( c ? va ( a , b , c ) : null == b ) && ( b = 1 ) , hb ( a , 0 > b ? 0 : b ) ) : [ ] } function ma ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? va ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , hb ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } function xe ( a ) { return a ? a [ 0 ] : u } function Ha ( a , b , c ) { var d = a ? a . length : 0 ; if ( ! d ) return - 1 ; if ( "number" == typeof c ) c = 0 > c ? Xa ( d + c , 0 ) : c ; else if ( c ) return c = sd ( a , b ) ,
c < d && ( b === b ? b === a [ c ] : a [ c ] !== a [ c ] ) ? c : - 1 ; return h ( a , b , c || 0 ) } function sc ( a ) { var b = a ? a . length : 0 ; return b ? a [ b - 1 ] : u } function Tb ( a ) { return $c ( a , 1 ) } function xc ( a , b , c , d ) { if ( ! a || ! a . length ) return [ ] ; null != b && "boolean" != typeof b && ( d = c , c = va ( a , b , d ) ? u : b , b = ! 1 ) ; var e = Ca ( ) ; if ( ( null != c || e !== Nc ) && ( c = e ( c , d , 3 ) ) , b && lc ( ) === h ) { b = c ; var f ; c = - 1 ; d = a . length ; for ( var e = - 1 , g = [ ] ; ++ c < d ; ) { var l = a [ c ] , k = b ? b ( l , c , a ) : l ; c && f === k || ( f = k , g [ ++ e ] = l ) } a = g } else a = Kd ( a , c ) ; return a } function Ad ( a ) { if ( ! a || ! a . length ) return [ ] ; var b = - 1 , c = 0 ; a = Fb ( a , function ( a ) { return Fa ( a ) ?
( c = Xa ( a . length , c ) , ! 0 ) : void 0 } ) ; for ( var d = La ( c ) ; ++ b < c ; ) d [ b ] = kc ( a , qd ( b ) ) ; return d } function ec ( a , b , c ) { return a && a . length ? ( a = Ad ( a ) , null == b ? a : ( b = lb ( b , c , 4 ) , kc ( a , function ( a ) { return Dc ( a , b , u , ! 0 ) } ) ) ) : [ ] } function ye ( a , b ) { var c = - 1 , d = a ? a . length : 0 , e = { } ; for ( ! d || b || pa ( a [ 0 ] ) || ( b = [ ] ) ; ++ c < d ; ) { var f = a [ c ] ; b ? e [ f ] = b [ c ] : f && ( e [ f [ 0 ] ] = f [ 1 ] ) } return e } function Bd ( 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 = pa ( a ) ? Mb : Yd ; return c && va ( a , b , c ) && ( b = u ) , ( "function" != typeof b || c !==
u ) && ( b = Ca ( b , c , 3 ) ) , d ( a , b ) } function hc ( a , b , c ) { var d = pa ( a ) ? Fb : $d ; return b = Ca ( b , c , 3 ) , d ( a , b ) } function Md ( a , b , c , d ) { var e = a ? Bc ( a ) : 0 ; return kb ( e ) || ( a = fd ( a ) , e = a . length ) , c = "number" != typeof c || d && va ( b , c , d ) ? 0 : 0 > c ? Xa ( e + c , 0 ) : c || 0 , "string" == typeof a || ! pa ( a ) && oe ( a ) ? c <= e && - 1 < a . indexOf ( b , c ) : ! ! e && - 1 < lc ( a , b , c ) } function Ld ( a , b , c ) { var d = pa ( a ) ? kc : be ; return b = Ca ( b , c , 3 ) , d ( a , b ) } function id ( a , b , c ) { if ( c ? va ( a , b , c ) : null == b ) { a = vc ( a ) ; var d = a . length ; return 0 < d ? a [ rd ( 0 , d - 1 ) ] : u } c = - 1 ; a = pe ( a ) ; var d = a . length , e = d - 1 ; for ( b = jb ( 0 > b ? 0 : + b || 0 ,
d ) ; ++ c < b ; ) { var d = rd ( c , e ) , f = a [ d ] ; a [ d ] = a [ c ] ; a [ c ] = f } return a . length = b , a } function Hc ( a , b , c ) { var d = pa ( a ) ? Oe : Fd ; return c && va ( a , b , c ) && ( b = u ) , ( "function" != typeof b || c !== u ) && ( b = Ca ( b , c , 3 ) ) , d ( a , b ) } function jd ( a , b ) { var c ; if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new qb ( P ) ; b = a = b } return function ( ) { return 0 < -- a && ( c = b . apply ( this , arguments ) ) , 1 >= a && ( b = u ) , c } } function bf ( a , b , c ) { function d ( b , c ) { c && Sa ( c ) ; l = m = n = u ; b && ( E = Cc ( ) , k = a . apply ( v , h ) , m || l || ( h = v = u ) ) } function e ( ) { var a = b - ( Cc ( ) - x ) ; 0 >= a || a > b ? d ( n , l ) : m = vd ( e ,
a ) } function f ( ) { d ( r , m ) } function g ( ) { if ( h = arguments , x = Cc ( ) , v = this , n = r && ( m || ! p ) , ! 1 === t ) var c = p && ! m ; else { l || p || ( E = x ) ; var d = t - ( x - E ) , g = 0 >= d || d > t ; g ? ( l && ( l = Sa ( l ) ) , E = x , k = a . apply ( v , h ) ) : l || ( l = vd ( f , d ) ) } return g && m ? m = Sa ( m ) : m || b === t || ( m = vd ( e , b ) ) , c && ( g = ! 0 , k = a . apply ( v , h ) ) , ! g || m || l || ( h = v = u ) , k } var h , l , k , x , v , m , n , E = 0 , t = ! 1 , r = ! 0 ; if ( "function" != typeof a ) throw new qb ( P ) ; if ( b = 0 > b ? 0 : + b || 0 , ! 0 === c ) var p = ! 0 , r = ! 1 ; else Ia ( c ) && ( p = ! ! c . leading , t = "maxWait" in c && Xa ( + c . maxWait || 0 , b ) , r = "trailing" in c ? ! ! c . trailing : r ) ; return g . cancel =
function ( ) { m && Sa ( m ) ; l && Sa ( l ) ; E = 0 ; l = m = n = u } , 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 qb ( P ) ; return c . cache = new Gc . Cache , c } function Aa ( a , b ) { if ( "function" != typeof a ) throw new qb ( P ) ; return b = Xa ( b === u ? a . length - 1 : + b || 0 , 0 ) , function ( ) { for ( var c = arguments , d = - 1 , e = Xa ( 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 Ua ( a ) { return q ( a ) && Fa ( a ) && Ra . call ( a , "callee" ) && ! xf . call ( a , "callee" ) } function ef ( a , b , c , d ) { return d = ( c = "function" == typeof c ? lb ( c , d , 3 ) : u ) ? c ( a , b ) : u , d === u ? Pc ( a , b , c ) : ! ! d } function Rb ( a ) { return q ( a ) && "string" == typeof a . message && eb . call ( a ) == la } function Eb ( a ) { return Ia ( a ) && eb . call ( a ) == Ga } function Ia ( a ) { var b = typeof a ; return ! ! a && ( "object" ==
b || "function" == b ) } function Ud ( a ) { return null != a && ( Eb ( a ) ? $b . test ( Jf . call ( a ) ) : q ( a ) && Lb . test ( a ) ) } function Xe ( a ) { return "number" == typeof a || q ( a ) && eb . call ( a ) == xa } function Kc ( a ) { var b ; if ( ! q ( a ) || eb . call ( a ) != fa || Ua ( a ) || ! ( Ra . 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 === u || Ra . call ( a , c ) } function Hf ( a ) { return Ia ( a ) && eb . call ( a ) == v } function oe ( a ) { return "string" == typeof a || q ( a ) && eb . call ( a ) == oa } function ic ( a ) { return q ( a ) && kb ( a . length ) &&
! ! Ka [ eb . call ( a ) ] } function Wb ( a , b ) { return a < b } function pe ( a ) { var b = a ? Bc ( a ) : 0 ; return kb ( b ) ? b ? cb ( a ) : [ ] : fd ( a ) } function Me ( a ) { return Xd ( a , Ub ( a ) ) } function Gd ( a ) { return pd ( a , Ub ( a ) ) } function Ub ( a ) { if ( null == a ) return [ ] ; Ia ( a ) || ( a = Gb ( a ) ) ; for ( var b = a . length , b = b && kb ( b ) && ( pa ( a ) || Ua ( 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 && Hb ( g , b ) || "constructor" == g && ( c || ! Ra . call ( a , g ) ) || e . push ( g ) ; return e } function Ne ( a ) { a = Wa ( a ) ; for ( var b = - 1 , c = za ( a ) , d = c . length ,
e = La ( d ) ; ++ b < d ; ) { var f = c [ b ] ; e [ b ] = [ f , a [ f ] ] } return e } function fd ( a ) { return Jd ( a , za ( a ) ) } function Le ( a ) { return ( a = e ( a ) ) && a . replace ( Jc , t ) . replace ( Qa , "" ) } function $a ( a , b ) { var c = "" ; if ( a = e ( a ) , b = + b , 1 > b || ! a || ! nc ( b ) ) return c ; do b % 2 && ( c += a ) , b = Cb ( b / 2 ) , a += a ; while ( b ) ; return c } function Sd ( b , c , d ) { var f = b ; return ( b = e ( b ) ) ? ( d ? va ( f , c , d ) : null == c ) ? b . slice ( D ( b ) , A ( b ) + 1 ) : ( c += "" , b . slice ( a ( b , c ) , g ( b , c ) + 1 ) ) : b } function gf ( a , b , c ) { return c && va ( a , b , c ) && ( b = u ) , a = e ( a ) , a . match ( b || ig ) || [ ] } function Lc ( a , b , c ) { return c && va ( a , b , c ) && ( b = u ) , q ( a ) ?
Vd ( a ) : Nc ( a , b ) } function gc ( a ) { return a } function Vd ( a ) { return rc ( ab ( a , ! 0 ) ) } function Mc ( a , b , c ) { if ( null == c ) { var d = Ia ( b ) , e = d ? za ( b ) : u ; ( ( e = e && e . length ? pd ( b , e ) : u ) ? e . length : d ) || ( e = ! 1 , c = b , b = a , a = this ) } e || ( e = pd ( b , za ( b ) ) ) ; var f = ! 0 , d = - 1 , g = Eb ( a ) , h = e . length ; ! 1 === c ? f = ! 1 : Ia ( c ) && "chain" in c && ( f = c . chain ) ; for ( ; ++ d < h ; ) { c = e [ d ] ; var l = b [ c ] ; a [ c ] = l ; g && ( a . prototype [ c ] = function ( b ) { return function ( ) { var c = this . _ _chain _ _ ; if ( f || c ) { var d = a ( this . _ _wrapped _ _ ) ; return ( d . _ _actions _ _ = cb ( this . _ _actions _ _ ) ) . push ( { func : b , args : arguments , thisArg : a } ) ,
d . _ _chain _ _ = c , d } return b . apply ( a , xb ( [ this . value ( ) ] , arguments ) ) } } ( l ) ) } return a } function hf ( ) { } function nd ( a ) { return wa ( a ) ? qd ( a ) : nf ( a ) } z = z ? Ib . defaults ( Db . Object ( ) , z , Ib . pick ( Db , jg ) ) : Db ; var La = z . Array , If = z . Date , jf = z . Error , Yb = z . Function , mc = z . Math , lf = z . Number , Gb = z . Object , qe = z . RegExp , bb = z . String , qb = z . TypeError , mf = La . prototype , ae = Gb . prototype , zd = bb . prototype , Jf = Yb . prototype . toString , Ra = ae . hasOwnProperty , R = 0 , eb = ae . toString , Od = Db . _ , $b = qe ( "^" + Jf . call ( Ra ) . replace ( /[\\^$.*+?()[\]{}|]/g , "\\$&" ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g ,
"$1.*?" ) + "$" ) , zb = z . ArrayBuffer , Sa = z . clearTimeout , rf = z . parseFloat , yf = mc . pow , xf = ae . propertyIsEnumerable , tc = cc ( z , "Set" ) , vd = z . setTimeout , Bf = mf . splice , Af = z . Uint8Array , uf = cc ( z , "WeakMap" ) , td = mc . ceil , cd = cc ( Gb , "create" ) , Cb = mc . floor , wd = cc ( La , "isArray" ) , nc = z . isFinite , Be = cc ( Gb , "keys" ) , Xa = mc . max , jb = mc . min , Rd = cc ( If , "now" ) , og = z . parseInt , Kf = mc . random , Lf = lf . NEGATIVE _INFINITY , Yc = lf . POSITIVE _INFINITY , re = 4294967294 , Mf = 2147483647 , se = 9007199254740991 , Vc = uf && new uf , Zc = { } ; C . support = { } ; C . templateSettings = { escape : af , evaluate : Pa ,
interpolate : kd , variable : "" , imports : { _ : C } } ; var oc = function ( ) { function a ( ) { } return function ( b ) { if ( Ia ( b ) ) { a . prototype = b ; var c = new a ; a . prototype = u } return c || { } } } ( ) , Ab = Wd ( Jb ) , Ed = Wd ( Zb , ! 0 ) , Cd = We ( ) , De = We ( ! 0 ) , Ce = Vc ? function ( a , b ) { return Vc . set ( a , b ) , a } : gc , Dd = Vc ? function ( a ) { return Vc . get ( a ) } : hf , Bc = qd ( "length" ) , Ee = function ( ) { var a = 0 , b = 0 ; return function ( c , d ) { var e = Cc ( ) , f = U - ( e - b ) ; if ( b = e , 0 < f ) { if ( ++ a >= B ) return c } else a = 0 ; return Ce ( c , d ) } } ( ) , Tf = Aa ( function ( a , b ) { return q ( a ) && Fa ( a ) ? Ob ( a , db ( b , ! 1 , ! 0 ) ) : [ ] } ) , Uf = ee ( ) , Vf =
ee ( ! 0 ) , Ke = Aa ( function ( a ) { for ( var b = a . length , c = b , d = La ( x ) , e = lc ( ) , f = e === h , g = [ ] ; c -- ; ) { var l = a [ c ] = Fa ( l = a [ c ] ) ? l : [ ] ; d [ c ] = f && 120 <= l . length && cd && tc ? new nb ( c && l ) : null } var f = a [ 0 ] , k = - 1 , x = f ? f . length : 0 , v = d [ 0 ] ; a : for ( ; ++ k < x ; ) if ( l = f [ k ] , 0 > ( v ? pb ( v , l ) : e ( g , l , 0 ) ) ) { for ( c = b ; -- c ; ) { var m = d [ c ] ; if ( 0 > ( m ? pb ( m , l ) : e ( a [ c ] , l , 0 ) ) ) continue a } v && v . push ( l ) ; g . push ( l ) } return g } ) , pg = Aa ( function ( a , c ) { c = db ( c ) ; var d = od ( a , c ) ; return de ( a , c . sort ( b ) ) , d } ) , Xf = ie ( ) , Yf = ie ( ! 0 ) , hg = Aa ( function ( a ) { return Kd ( db ( a , ! 1 , ! 0 ) ) } ) , Zf = Aa ( function ( a , b ) { return Fa ( a ) ?
Ob ( a , b ) : [ ] } ) , fg = Aa ( Ad ) , Xc = Aa ( function ( a ) { var b = a . length , c = 2 < b ? a [ b - 2 ] : u , d = 1 < b ? a [ b - 1 ] : u ; return 2 < b && "function" == typeof c ? b -= 2 : ( c = 1 < b && "function" == typeof d ? ( -- b , d ) : u , d = u ) , a . length = b , ec ( a , c , d ) } ) , Ef = Aa ( function ( a ) { return a = db ( a ) , this . thru ( function ( b ) { b = pa ( b ) ? b : [ Wa ( b ) ] ; for ( var c = a , d = - 1 , e = b . length , f = - 1 , g = c . length , h = La ( e + g ) ; ++ d < e ; ) h [ d ] = b [ d ] ; for ( ; ++ f < g ; ) h [ d ++ ] = c [ f ] ; return h } ) } ) , uc = Aa ( function ( a , b ) { return od ( a , db ( b ) ) } ) , xd = gd ( function ( a , b , c ) { Ra . call ( a , c ) ? ++ a [ c ] : a [ c ] = 1 } ) , yd = ud ( Ab ) , Wc = ud ( Ed , ! 0 ) , Nf = zf ( mb , Ab ) , Ie =
zf ( function ( a , b ) { for ( var c = a . length ; c -- && ! 1 !== b ( a [ c ] , c , a ) ; ) ; return a } , Ed ) , qg = gd ( function ( a , b , c ) { Ra . call ( a , c ) ? a [ c ] . push ( b ) : a [ c ] = [ b ] } ) , gg = gd ( function ( a , b , c ) { a [ c ] = b } ) , $f = Aa ( function ( a , b , c ) { var d = - 1 , e = "function" == typeof b , f = wa ( b ) , g = Fa ( a ) ? La ( a . length ) : [ ] ; return Ab ( a , function ( a ) { var h = e ? b : f && null != a ? a [ b ] : u ; g [ ++ d ] = h ? h . apply ( a , c ) : ha ( a , b , c ) } ) , g } ) , rg = gd ( function ( a , b , c ) { a [ c ? 0 : 1 ] . push ( b ) } , function ( ) { return [ [ ] , [ ] ] } ) , te = le ( Dc , Ab ) , He = le ( 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 } , Ed ) , ag = Aa ( function ( a , b ) { if ( null == a ) return [ ] ; var c = b [ 2 ] ; return c && va ( b [ 0 ] , b [ 1 ] , c ) && ( b . length = 1 ) , Re ( a , db ( b ) , [ ] ) } ) , Cc = Rd || function ( ) { return ( new If ) . getTime ( ) } , Fe = Aa ( function ( a , b , c ) { var d = M ; if ( c . length ) var e = y ( c , Fe . placeholder ) , d = d | Y ; return ib ( a , d , b , c , e ) } ) , Wf = Aa ( function ( a , b ) { b = b . length ? db ( b ) : Gd ( a ) ; for ( var c = - 1 , d = b . length ; ++ c < d ; ) { var e = b [ c ] ; a [ e ] = ib ( a [ e ] , M , a ) } return a } ) , Ge = Aa ( function ( a , b , c ) { var d = M | H ; if ( c . length ) var e = y ( c , Ge . placeholder ) , d = d | Y ; return ib ( b , d , a , c , e ) } ) , bg = tf ( O ) , cg = tf ( T ) , dg = Aa ( function ( a ,
b ) { return Xb ( a , 1 , b ) } ) , eg = Aa ( function ( a , b , c ) { return Xb ( a , b , c ) } ) , Pf = wf ( ) , ue = wf ( ! 0 ) , sg = Aa ( function ( a , b ) { if ( b = db ( b ) , "function" != typeof a || ! Mb ( b , k ) ) throw new qb ( P ) ; var c = b . length ; return Aa ( function ( d ) { for ( var e = jb ( d . length , c ) ; e -- ; ) d [ e ] = b [ e ] ( d [ e ] ) ; return a . apply ( this , d ) } ) } ) , Qf = ke ( Y ) , Sf = ke ( K ) , Rf = Aa ( function ( a , b ) { return ib ( a , S , u , u , u , db ( b ) ) } ) , pa = wd || function ( a ) { return q ( a ) && kb ( a . length ) && eb . call ( a ) == V } , dd = Nb ( ce ) , ed = Nb ( function ( a , b , c ) { return c ? Id ( a , b , c ) : Fc ( a , b ) } ) , Je = vf ( ed , function ( a , b ) { return a === u ? b : a } ) , d =
vf ( dd , Bb ) , m = he ( Jb ) , Z = he ( Zb ) , G = je ( Cd ) , aa = je ( De ) , ka = Rc ( Jb ) , ta = Rc ( Zb ) , za = Be ? function ( a ) { var b = null == a ? u : a . constructor ; return "function" == typeof b && b . prototype === a || "function" != typeof a && Fa ( a ) ? sb ( a ) : Ia ( a ) ? Be ( a ) : [ ] } : sb , Pb = Ya ( ! 0 ) , dc = Ya ( ) , ve = Aa ( function ( a , b ) { if ( null == a ) return { } ; if ( "function" != typeof b [ 0 ] ) return b = kc ( db ( b ) , bb ) , ff ( a , Ob ( Ub ( a ) , b ) ) ; var c = lb ( b [ 0 ] , b [ 1 ] , 3 ) ; return Gf ( a , function ( a , b , d ) { return ! c ( a , b , d ) } ) } ) , we = Aa ( function ( a , b ) { return null == a ? { } : "function" == typeof b [ 0 ] ? Gf ( a , lb ( b [ 0 ] , b [ 1 ] , 3 ) ) : ff ( a , db ( b ) ) } ) ,
zg = hd ( function ( a , b , c ) { return b = b . toLowerCase ( ) , a + ( c ? b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) : b ) } ) , ad = hd ( function ( a , b , c ) { return a + ( c ? "-" : "" ) + b . toLowerCase ( ) } ) , yg = Sc ( ) , yc = Sc ( ! 0 ) , zc = hd ( function ( a , b , c ) { return a + ( c ? "_" : "" ) + b . toLowerCase ( ) } ) , xg = hd ( function ( a , b , c ) { return a + ( c ? " " : "" ) + ( b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) ) } ) , Ac = Aa ( function ( a , b ) { try { return a . apply ( u , b ) } catch ( Q ) { return Rb ( Q ) ? Q : new jf ( Q ) } } ) , kg = Aa ( function ( a , b ) { return function ( c ) { return ha ( c , a , b ) } } ) , ob = Aa ( function ( a , b ) { return function ( c ) { return ha ( a ,
c , b ) } } ) , Pd = ge ( "ceil" ) , Qd = ge ( "floor" ) , md = ac ( $e , Lf ) , tg = ac ( Wb , Yc ) , lg = ge ( "round" ) ; return C . prototype = Za . prototype , vb . prototype = oc ( Za . prototype ) , vb . prototype . constructor = vb , ya . prototype = oc ( Za . prototype ) , ya . prototype . constructor = ya , fb . prototype [ "delete" ] = function ( a ) { return this . has ( a ) && delete this . _ _data _ _ [ a ] } , fb . prototype . get = function ( a ) { return "__proto__" == a ? u : this . _ _data _ _ [ a ] } , fb . prototype . has = function ( a ) { return "__proto__" != a && Ra . call ( this . _ _data _ _ , a ) } , fb . prototype . set = function ( a , b ) { return "__proto__" !=
a && ( this . _ _data _ _ [ a ] = b ) , this } , nb . prototype . push = function ( a ) { var b = this . data ; "string" == typeof a || Ia ( a ) ? b . set . add ( a ) : b . hash [ a ] = ! 0 } , Gc . Cache = fb , C . after = function ( a , b ) { if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new qb ( P ) ; b = a = b } return a = nc ( a = + a ) ? a : 0 , function ( ) { return 1 > -- a ? b . apply ( this , arguments ) : void 0 } } , C . ary = function ( a , b , c ) { return c && va ( a , b , c ) && ( b = u ) , b = a && null == b ? a . length : Xa ( + b || 0 , 0 ) , ib ( a , N , u , u , u , u , b ) } , C . assign = ed , C . at = uc , C . before = jd , C . bind = Fe , C . bindAll = Wf , C . bindKey = Ge , C . callback = Lc , C . chain =
Bd , C . chunk = function ( a , b , c ) { b = ( c ? va ( a , b , c ) : null == b ) ? 1 : Xa ( Cb ( b ) || 1 , 1 ) ; c = 0 ; for ( var d = a ? a . length : 0 , e = - 1 , f = La ( td ( d / b ) ) ; c < d ; ) f [ ++ e ] = hb ( 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 = xd , C . create = function ( a , b , c ) { var d = oc ( a ) ; return c && va ( a , b , c ) && ( b = u ) , 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 = $c , C . dropRight = ma , C . dropRightWhile = function ( a , b , c ) { return a && a . length ? bd ( a , Ca ( b , c , 3 ) , ! 0 , ! 0 ) : [ ] } , C . dropWhile = function ( a , b , c ) { return a && a . length ? bd ( 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 && va ( 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 === u || 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 && va ( a , b , c ) && ( b = ! 1 ) , d ? db ( a ,
b ) : [ ] } , C . flattenDeep = function ( a ) { return a && a . length ? db ( a , ! 0 ) : [ ] } , C . flow = Pf , C . flowRight = ue , C . forEach = Nf , C . forEachRight = Ie , C . forIn = G , C . forInRight = aa , C . forOwn = ka , C . forOwnRight = ta , C . functions = Gd , C . groupBy = qg , C . indexBy = gg , C . initial = function ( a ) { return ma ( a , 1 ) } , C . intersection = Ke , C . invert = function ( a , b , c ) { c && va ( a , b , c ) && ( b = u ) ; c = - 1 ; for ( var d = za ( a ) , e = d . length , f = { } ; ++ c < e ; ) { var g = d [ c ] , h = a [ g ] ; b ? Ra . call ( f , h ) ? f [ h ] . push ( g ) : f [ h ] = [ g ] : f [ h ] = g } return f } , C . invoke = $f , C . keys = za , C . keysIn = Ub , C . map = Ld , C . mapKeys = Pb , C . mapValues =
dc , C . matches = Vd , C . matchesProperty = function ( a , b ) { return Va ( a , ab ( b , ! 0 ) ) } , C . memoize = Gc , C . merge = dd , C . method = kg , C . methodOf = ob , C . mixin = Mc , C . modArgs = sg , C . negate = function ( a ) { if ( "function" != typeof a ) throw new qb ( P ) ; return function ( ) { return ! a . apply ( this , arguments ) } } , C . omit = ve , C . once = function ( a ) { return jd ( 2 , a ) } , C . pairs = Ne , C . partial = Qf , C . partialRight = Sf , C . partition = rg , C . pick = we , C . pluck = function ( a , b ) { return Ld ( a , nd ( b ) ) } , C . property = nd , C . propertyOf = function ( a ) { return function ( b ) { return gb ( a , Oa ( b ) , b + "" ) } } , C . pull =
function ( ) { var a = arguments , b = a [ 0 ] ; if ( ! b || ! b . length ) return b ; for ( var c = 0 , d = lc ( ) , 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 && va ( a , b , c ) && ( b = c = u ) ; a = + a || 0 ; c = null == c ? 1 : + c || 0 ; null == b ? ( b = a , a = 0 ) : b = + b || 0 ; var d = - 1 ; b = Xa ( td ( ( 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 = pa ( a ) ? Fb : $d ; 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 de ( a , f ) , d } , C . rest = Tb , C . restParam = Aa , C . set = function ( a , b , c ) { if ( null == a ) return a ; var d = b + "" ; b = null != a [ d ] || wa ( b , a ) ? [ d ] : Oa ( b ) ; for ( var d = - 1 , e = b . length , f = e - 1 , g = a ; null != g && ++ d < e ; ) { var h = b [ d ] ; Ia ( g ) && ( d == f ? g [ h ] = c : null == g [ h ] && ( g [ h ] = Hb ( b [ d + 1 ] ) ? [ ] : { } ) ) ; g = g [ h ] } return a } , C . shuffle = function ( a ) { return id ( a , Yc ) } , C . slice = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( c && "number" != typeof c && va ( a , b , c ) && ( b = 0 , c = d ) , hb ( a , b , c ) ) : [ ] } ,
C . sortBy = function ( a , b , d ) { if ( null == a ) return [ ] ; d && va ( a , b , d ) && ( b = u ) ; var e = - 1 ; return b = Ca ( b , d , 3 ) , a = be ( a , function ( a , c , d ) { return { a : b ( a , c , d ) , b : ++ e , c : a } } ) , Qe ( a , c ) } , C . sortByAll = ag , C . sortByOrder = function ( a , b , c , d ) { return null == a ? [ ] : ( d && va ( b , c , d ) && ( c = u ) , pa ( b ) || ( b = null == b ? [ ] : [ b ] ) , pa ( c ) || ( c = null == c ? [ ] : [ c ] ) , Re ( a , b , c ) ) } , C . spread = function ( a ) { if ( "function" != typeof a ) throw new qb ( P ) ; return function ( b ) { return a . apply ( this , b ) } } , C . take = function ( a , b , c ) { return a && a . length ? ( ( c ? va ( a , b , c ) : null == b ) && ( b = 1 ) , hb ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } ,
C . takeRight = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? va ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , hb ( a , 0 > b ? 0 : b ) ) : [ ] } , C . takeRightWhile = function ( a , b , c ) { return a && a . length ? bd ( a , Ca ( b , c , 3 ) , ! 1 , ! 0 ) : [ ] } , C . takeWhile = function ( a , b , c ) { return a && a . length ? bd ( 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 qb ( P ) ; return ! 1 === c ? d = ! 1 : Ia ( 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 = Cb ( a ) , 1 > a || ! nc ( a ) ) return [ ] ; var d = - 1 , e = La ( jb ( a , 4294967295 ) ) ; for ( b = lb ( b , c , 1 ) ; ++ d < a ; ) 4294967295 > d ? e [ d ] = b ( d ) : b ( d ) ; return e } , C . toArray = pe , C . toPlainObject = Me , C . transform = function ( a , b , c , d ) { var e = pa ( a ) || ic ( a ) ; return b = Ca ( b , d , 4 ) , null == c && ( e || Ia ( a ) ? ( d = a . constructor , c = e ? pa ( a ) ? new d : [ ] : oc ( Eb ( d ) ? d . prototype : u ) ) : c = { } ) , ( e ? mb : Jb ) ( a , function ( a , d , e ) { return b ( c , a , d , e ) } ) , c } , C . union = hg , C . uniq = xc , C . unzip = Ad , C . unzipWith = ec , C . values = fd , C . valuesIn = function ( a ) { return Jd ( a ,
Ub ( a ) ) } , C . where = function ( a , b ) { return hc ( a , rc ( b ) ) } , C . without = Zf , C . wrap = function ( a , b ) { return b = null == b ? gc : b , ib ( b , Y , u , [ a ] , [ ] ) } , C . xor = function ( ) { for ( var a = - 1 , b = arguments . length ; ++ a < b ; ) { var c = arguments [ a ] ; if ( Fa ( c ) ) var d = d ? xb ( Ob ( d , c ) , Ob ( c , d ) ) : c } return d ? Kd ( d ) : [ ] } , C . zip = fg , C . zipObject = ye , C . zipWith = Xc , C . backflow = ue , C . collect = Ld , C . compose = ue , C . each = Nf , C . eachRight = Ie , C . extend = ed , C . iteratee = Lc , C . methods = Gd , C . object = ye , C . select = hc , C . tail = Tb , C . unique = xc , Mc ( C , C ) , C . add = function ( a , b ) { return ( + a || 0 ) + ( + b || 0 ) } , C . attempt =
Ac , C . camelCase = zg , C . capitalize = function ( a ) { return ( a = e ( a ) ) && a . charAt ( 0 ) . toUpperCase ( ) + a . slice ( 1 ) } , C . ceil = Pd , C . clone = function ( a , b , c , d ) { return b && "boolean" != typeof b && va ( a , b , c ) ? b = ! 1 : "function" == typeof b && ( d = c , c = b , b = ! 1 ) , "function" == typeof c ? ab ( a , b , lb ( c , d , 3 ) ) : ab ( a , b ) } , C . cloneDeep = function ( a , b , c ) { return "function" == typeof b ? ab ( a , ! 0 , lb ( b , c , 3 ) ) : ab ( a , ! 0 ) } , C . deburr = Le , C . endsWith = function ( a , b , c ) { a = e ( a ) ; b += "" ; var d = a . length ; return c = c === u ? d : jb ( 0 > c ? 0 : + c || 0 , d ) , c -= b . length , 0 <= c && a . indexOf ( b , c ) == c } , C . escape = function ( a ) { return ( a =
e ( a ) ) && Ze . test ( a ) ? a . replace ( pc , l ) : a } , C . escapeRegExp = function ( a ) { return ( a = e ( a ) ) && Nd . test ( a ) ? a . replace ( sa , n ) : a || "(?:)" } , C . every = Ae , C . find = yd , C . findIndex = Uf , C . findKey = m , C . findLast = Wc , C . findLastIndex = Vf , C . findLastKey = Z , C . findWhere = function ( a , b ) { return yd ( a , rc ( b ) ) } , C . first = xe , C . floor = Qd , C . get = function ( a , b , c ) { return a = null == a ? u : gb ( a , Oa ( b ) , b + "" ) , a === u ? 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 = Ra . call ( a , b ) ; if ( ! c && ! wa ( b ) ) { if ( b = Oa ( b ) , a = 1 == b . length ? a : gb ( a , hb ( b ,
0 , - 1 ) ) , null == a ) return ! 1 ; b = sc ( b ) ; c = Ra . call ( a , b ) } return c || kb ( a . length ) && Hb ( b , a . length ) && ( pa ( a ) || Ua ( a ) ) } , C . identity = gc , C . includes = Md , C . indexOf = Ha , C . inRange = function ( a , b , c ) { return b = + b || 0 , c === u ? ( c = b , b = 0 ) : c = + c || 0 , a >= jb ( b , c ) && a < Xa ( b , c ) } , C . isArguments = Ua , C . isArray = pa , C . isBoolean = function ( a ) { return ! 0 === a || ! 1 === a || q ( a ) && eb . call ( a ) == ja } , C . isDate = function ( a ) { return q ( a ) && eb . call ( a ) == ca } , C . isElement = function ( a ) { return ! ! a && 1 === a . nodeType && q ( a ) && ! Kc ( a ) } , C . isEmpty = function ( a ) { return null == a || ( Fa ( a ) && ( pa ( a ) || oe ( a ) ||
Ua ( a ) || q ( a ) && Eb ( a . splice ) ) ? ! a . length : ! za ( a ) . length ) } , C . isEqual = ef , C . isError = Rb , C . isFinite = function ( a ) { return "number" == typeof a && nc ( a ) } , C . isFunction = Eb , C . isMatch = function ( a , b , c , d ) { return c = "function" == typeof c ? lb ( c , d , 3 ) : u , Qc ( a , ne ( b ) , c ) } , C . isNaN = function ( a ) { return Xe ( a ) && a != + a } , C . isNative = Ud , C . isNull = function ( a ) { return null === a } , C . isNumber = Xe , C . isObject = Ia , C . isPlainObject = Kc , C . isRegExp = Hf , C . isString = oe , C . isTypedArray = ic , C . isUndefined = function ( a ) { return a === u } , C . kebabCase = ad , C . last = sc , 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 ? Xa ( d + c , 0 ) : jb ( c || 0 , d - 1 ) ) + 1 ; else if ( c ) return e = sd ( a , b , ! 0 ) - 1 , a = a [ e ] , ( b === b ? b === a : a !== a ) ? e : - 1 ; if ( b !== b ) return w ( a , e , ! 0 ) ; for ( ; e -- ; ) if ( a [ e ] === b ) return e ; return - 1 } , C . lt = Wb , C . lte = function ( a , b ) { return a <= b } , C . max = md , C . min = tg , C . noConflict = function ( ) { return Db . _ = Od , this } , C . noop = hf , C . now = Cc , C . pad = function ( a , b , c ) { a = e ( a ) ; b = + b ; var d = a . length ; return d < b && nc ( b ) ? ( d = ( b - d ) / 2 , b = Cb ( d ) , d = td ( d ) , c = fe ( "" , d , c ) , c . slice ( 0 , b ) + a + c ) : a } , C . padLeft =
yg , C . padRight = yc , C . parseInt = function ( a , b , c ) { return ( c ? va ( a , b , c ) : null == b ) ? b = 0 : b && ( b = + b ) , a = Sd ( a ) , og ( a , b || ( Ic . test ( a ) ? 16 : 10 ) ) } , C . random = function ( a , b , c ) { c && va ( a , b , c ) && ( b = c = u ) ; 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 ( ) , jb ( a + c * ( b - a + rf ( "1e-" + ( ( c + "" ) . length - 1 ) ) ) , b ) ) : rd ( a , b ) } , C . reduce = te , C . reduceRight = He , C . repeat = $a , C . result = function ( a , b , c ) { var d = null == a ? u : a [ b ] ; return d === u && ( null == a ||
wa ( b , a ) || ( b = Oa ( b ) , a = 1 == b . length ? a : gb ( a , hb ( b , 0 , - 1 ) ) , d = null == a ? u : a [ sc ( b ) ] ) , d = d === u ? c : d ) , Eb ( d ) ? d . call ( a ) : d } , C . round = lg , C . runInContext = p , C . size = function ( a ) { var b = a ? Bc ( a ) : 0 ; return kb ( b ) ? b : za ( a ) . length } , C . snakeCase = zc , C . some = Hc , C . sortedIndex = Xf , C . sortedLastIndex = Yf , C . startCase = xg , C . startsWith = function ( a , b , c ) { return a = e ( a ) , c = null == c ? 0 : jb ( 0 > c ? 0 : + c || 0 , a . length ) , a . lastIndexOf ( b , c ) == c } , C . sum = function ( a , b , c ) { if ( c && va ( a , b , c ) && ( b = u ) , b = Ca ( b , c , 3 ) , 1 == b . length ) { a = pa ( a ) ? a : vc ( 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 , c ) { var d = C . templateSettings ; c && va ( a , b , c ) && ( b = c = u ) ; a = e ( a ) ; b = Id ( Fc ( { } , c || b ) , d , kf ) ; c = Id ( Fc ( { } , b . imports ) , d . imports , kf ) ; var f , g , h = za ( c ) , l = Jd ( c , h ) , k = 0 ; c = b . interpolate || Vb ; var v = "__p+='" ; c = qe ( ( b . escape || Vb ) . source + "|" + c . source + "|" + ( c === kd ? wb : Vb ) . source + "|" + ( b . evaluate || Vb ) . source + "|$" , "g" ) ; var m = "sourceURL" in b ? "//# sourceURL=" + b . sourceURL + "\n" : "" ; if ( a . replace ( c , function ( b , c , d , e , h , l ) { return d || ( d = e ) , v += a . slice ( k , l ) . replace ( df , r ) , c && ( f = ! 0 , v += "'+__e(" +
c + ")+'" ) , h && ( g = ! 0 , v += "';" + h + ";\n__p+='" ) , d && ( v += "'+((__t=(" + d + "))==null?'':__t)+'" ) , k = l + b . length , b } ) , v += "';" , ( b = b . variable ) || ( v = "with(obj){" + v + "}" ) , v = ( g ? v . replace ( fc , "" ) : v ) . replace ( Na , "$1" ) . replace ( Of , "$1;" ) , v = "function(" + ( b || "obj" ) + "){" + ( b ? "" : "obj||(obj={});" ) + "var __t,__p=''" + ( f ? ",__e=_.escape" : "" ) + ( g ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";" ) + v + "return __p}" , b = Ac ( function ( ) { return Yb ( h , m + "return " + v ) . apply ( u , l ) } ) , b . source = v , Rb ( b ) ) throw b ; return b } , C . trim = Sd ,
C . trimLeft = function ( b , c , d ) { var f = b ; return ( b = e ( b ) ) ? b . slice ( ( d ? va ( f , c , d ) : null == c ) ? D ( b ) : a ( b , c + "" ) ) : b } , C . trimRight = function ( a , b , c ) { var d = a ; return ( a = e ( a ) ) ? ( c ? va ( d , b , c ) : null == b ) ? a . slice ( 0 , A ( a ) + 1 ) : a . slice ( 0 , g ( a , b + "" ) + 1 ) : a } , C . trunc = function ( a , b , c ) { c && va ( a , b , c ) && ( b = u ) ; var d = ia ; if ( c = ua , null != b ) if ( Ia ( b ) ) { var f = "separator" in b ? b . separator : f , d = "length" in b ? + b . length || 0 : d ; c = "omission" in b ? e ( b . omission ) : c } else d = + b || 0 ; if ( a = e ( a ) , d >= a . length ) return a ; if ( d -= c . length , 1 > d ) return c ; if ( b = a . slice ( 0 , d ) , null == f ) return b +
c ; if ( Hf ( f ) ) { if ( a . slice ( d ) . search ( f ) ) { var g , h = a . slice ( 0 , d ) ; f . global || ( f = qe ( f . source , ( ra . exec ( f ) || "" ) + "g" ) ) ; for ( f . lastIndex = 0 ; a = f . exec ( h ) ; ) g = a . index ; b = b . slice ( 0 , null == g ? d : g ) } } else a . indexOf ( f , d ) != d && ( f = b . lastIndexOf ( f ) , - 1 < f && ( b = b . slice ( 0 , f ) ) ) ; return b + c } , C . unescape = function ( a ) { return ( a = e ( a ) ) && Ye . test ( a ) ? a . replace ( ze , F ) : a } , C . uniqueId = function ( a ) { var b = ++ R ; return e ( a ) + b } , C . words = gf , C . all = Ae , C . any = Hc , C . contains = Md , C . eq = ef , C . detect = yd , C . foldl = te , C . foldr = He , C . head = xe , C . include = Md , C . inject = te , Mc ( C , function ( ) { var a =
{ } ; return Jb ( C , function ( b , c ) { C . prototype [ c ] || ( a [ c ] = b ) } ) , a } ( ) , ! 1 ) , C . sample = id , C . prototype . sample = function ( a ) { return this . _ _chain _ _ || null != a ? this . thru ( function ( b ) { return id ( b , a ) } ) : id ( this . value ( ) ) } , C . VERSION = J , mb ( "bind bindKey curry curryRight partial partialRight" . split ( " " ) , function ( a ) { C [ a ] . placeholder = C } ) , mb ( [ "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 : Xa ( Cb ( c ) || 0 , 0 ) ; var e = this . clone ( ) ; return d ? e . _ _takeCount _ _ = jb ( 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 ( ) } } ) , mb ( [ "filter" , "map" , "takeWhile" ] , function ( a , b ) { var c = b + 1 , d = c != ba ; 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 } } ) , mb ( [ "first" , "last" ] , function ( a , b ) { var c = "take" + ( b ? "Right" : "" ) ; ya . prototype [ a ] = function ( ) { return this [ c ] ( 1 ) . value ( ) [ 0 ] } } ) , mb ( [ "initial" , "rest" ] , function ( a ,
b ) { var c = "drop" + ( b ? "" : "Right" ) ; ya . prototype [ a ] = function ( ) { return this . _ _filtered _ _ ? new ya ( this ) : this [ c ] ( 1 ) } } ) , mb ( [ "pluck" , "where" ] , function ( a , b ) { var c = b ? "filter" : "map" , d = b ? rc : nd ; 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 !== u && ( 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 ( Yc ) } , Jb ( 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 ( u , xb ( [ a ] , f ) ) } var f = d ? [ 1 ] : arguments , g = this . _ _chain _ _ , h = this . _ _wrapped _ _ ,
l = ! ! this . _ _actions _ _ . length , k = h instanceof ya , v = f [ 0 ] , m = k || pa ( h ) ; return m && c && "function" == typeof v && 1 != v . length && ( k = m = ! 1 ) , v = { func : Qb , args : [ b ] , thisArg : u } , l = k && ! l , d && ! g ? l ? ( h = h . clone ( ) , h . _ _actions _ _ . push ( v ) , a . call ( h ) ) : e . call ( u , this . value ( ) ) [ 0 ] : ! d && m ? ( h = l ? h : new ya ( this ) , h = a . apply ( h , f ) , h . _ _actions _ _ . push ( v ) , new vb ( h , g ) ) : this . thru ( b ) } ) } ) , mb ( "join pop push replace shift sort splice split unshift" . split ( " " ) , function ( a ) { var b = ( /^(?:replace|split)$/ . test ( a ) ? zd : 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 ) } ) } } ) , Jb ( ya . prototype , function ( a , b ) { var c = C [ b ] ; if ( c ) { var d = c . name + "" ; ( Zc [ d ] || ( Zc [ d ] = [ ] ) ) . push ( { name : b , func : c } ) } } ) , Zc [ Tc ( u , H ) . name ] = [ { name : "wrapper" , func : u } ] , ya . prototype . clone = function ( ) { var a = new ya ( this . _ _wrapped _ _ ) ; return a . _ _actions _ _ = cb ( this . _ _actions _ _ ) , a . _ _dir _ _ = this . _ _dir _ _ , a . _ _filtered _ _ = this . _ _filtered _ _ , a . _ _iteratees _ _ =
cb ( this . _ _iteratees _ _ ) , a . _ _takeCount _ _ = this . _ _takeCount _ _ , a . _ _views _ _ = cb ( 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 = pa ( b ) , e = 0 > c , f = d ? b . length : 0 ; a = f ; for ( var g = this . _ _views _ _ , h = 0 , l = - 1 , k = g . length ; ++ l < k ; ) { var v = g [ l ] , m = v . size ; switch ( v . type ) { case "drop" : h += m ; break ; case "dropRight" : a -= m ; break ; case "take" : a =
jb ( a , h + m ) ; break ; case "takeRight" : h = Xa ( h , a - m ) } } if ( a = { start : h , end : a } , g = a . start , h = a . end , a = h - g , e = e ? h : g - 1 , g = this . _ _iteratees _ _ , h = g . length , l = 0 , k = jb ( a , this . _ _takeCount _ _ ) , ! d || f < X || f == a && k == a ) return qf ( b , this . _ _actions _ _ ) ; d = [ ] ; a : for ( ; a -- && l < k ; ) { e += c ; f = - 1 ; for ( v = b [ e ] ; ++ f < h ; ) { var n = g [ f ] , m = n . type , n = n . iteratee ( v ) ; if ( m == ba ) v = n ; else if ( ! n ) { if ( m == L ) continue a ; break a } } d [ l ++ ] = v } return d } , C . prototype . chain = function ( ) { return Bd ( this ) } , C . prototype . commit = function ( ) { return new vb ( this . value ( ) , this . _ _chain _ _ ) } , C . prototype . concat =
Ef , C . prototype . plant = function ( a ) { for ( var b , c = this ; c instanceof Za ; ) { var d = wc ( 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 : u } ) , new vb ( 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 u , J = "3.10.1" , M = 1 , H = 2 , I = 4 , O = 8 , T = 16 , Y = 32 , K = 64 , N = 128 , S = 256 , ia = 30 , ua = "..." , B = 150 , U = 16 , X = 200 , L = 1 , ba = 2 , P = "Expected a function" , na = "__lodash_placeholder__" , da = "[object Arguments]" , V = "[object Array]" , ja = "[object Boolean]" , ca = "[object Date]" , la = "[object Error]" , Ga = "[object Function]" , xa =
"[object Number]" , fa = "[object Object]" , v = "[object RegExp]" , oa = "[object String]" , Da = "[object ArrayBuffer]" , W = "[object Float32Array]" , Ma = "[object Float64Array]" , Ea = "[object Int8Array]" , ga = "[object Int16Array]" , qa = "[object Int32Array]" , Ta = "[object Uint8Array]" , tb = "[object Uint8ClampedArray]" , Sb = "[object Uint16Array]" , ub = "[object Uint32Array]" , fc = /\b__p\+='';/g , Na = /\b(__p\+=)''\+/g , Of = /(__e\(.*?\)|\b__t\))\+'';/g , ze = /&(?:amp|lt|gt|quot|#39|#96);/g , pc = /[&<>"'`]/g , Ye = RegExp ( ze . source ) , Ze = RegExp ( pc . source ) ,
af = /<%-([\s\S]+?)%>/g , Pa = /<%([\s\S]+?)%>/g , kd = /<%=([\s\S]+?)%>/g , ld = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/ , cf = /^\w*$/ , ea = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g , sa = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g , Nd = RegExp ( sa . source ) , Qa = /[\u0300-\u036f\ufe20-\ufe23]/g , Kb = /\\(\\)?/g , wb = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g , ra = /\w*$/ , Ic = /^0[xX]/ , Lb = /^\[object .+?Constructor\]$/ , qc = /^\d+$/ , Jc = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g ,
Vb = /($^)/ , 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 [ W ] = Ka [ Ma ] = Ka [ Ea ] = Ka [ ga ] = Ka [ qa ] = Ka [ Ta ] = Ka [ tb ] = Ka [ Sb ] = Ka [ ub ] = ! 0 ; Ka [ da ] = Ka [ V ] = Ka [ Da ] = Ka [ ja ] = Ka [ ca ] = Ka [ la ] = Ka [ Ga ] = Ka [ "[object Map]" ] = Ka [ xa ] = Ka [ fa ] = Ka [ v ] = Ka [ "[object Set]" ] = Ka [ oa ] = Ka [ "[object WeakMap]" ] = ! 1 ; var Ja = { } ; Ja [ da ] = Ja [ V ] = Ja [ Da ] = Ja [ ja ] = Ja [ ca ] = Ja [ W ] = Ja [ Ma ] = Ja [ Ea ] = Ja [ ga ] = Ja [ qa ] = Ja [ xa ] = Ja [ fa ] = Ja [ v ] = Ja [ oa ] = Ja [ Ta ] = Ja [ tb ] = Ja [ Sb ] = Ja [ ub ] = ! 0 ; Ja [ la ] = Ja [ Ga ] = Ja [ "[object Map]" ] = Ja [ "[object Set]" ] = Ja [ "[object WeakMap]" ] = ! 1 ; var nb = { "\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-07-28 21:47:09 +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 = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "`" : "`" } , Od = { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" , "`" : "`" } , fb = { "function" : ! 0 , object : ! 0 } , Fd = { 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" } , Fb = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , xb = fb [ typeof exports ] && exports && ! exports . nodeType && exports , Za = fb [ typeof module ] && module && ! module . nodeType && module , Rd = fb [ typeof self ] && self && self . Object && self , Dc = fb [ typeof window ] && window && Object && window , Hd = Za && Za . exports === xb && xb , Db = xb && Za && "object" == typeof global && global && global . Object && global ||
Dc !== ( this && this . window ) && Dc || Rd || this , Ib = p ( ) ; "function" == typeof define && "object" == typeof define . amd && define . amd ? ( Db . _ = Ib , define ( function ( ) { return Ib } ) ) : xb && Za ? Hd ? ( Za . exports = Ib ) . _ = Ib : xb . _ = Ib : Db . _ = Ib } ) . call ( this ) ;
( function ( b , f ) { b ( function ( ) { function b ( a , b ) { return null != a && null != b && a . toLowerCase ( ) === b . toLowerCase ( ) } function k ( 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 e ( 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 g = { 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-07-28 21:47:09 +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-07-28 21:47:09 +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|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587" ,
Kindle : "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)" , SurfaceTablet : "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)" , HPTablet : "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10" , AsusTablet : "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z" ,
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-07-28 21:47:09 +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|c|)(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-07-28 21:47:09 +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-07-28 21:47:09 +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-07-28 21:47:09 +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-07-28 21:47:09 +00:00
tabletPattern : /android|ipad|playbook|silk/i } } , c , t = Object . prototype . hasOwnProperty ; return g . FALLBACK _PHONE = "UnknownPhone" , g . FALLBACK _TABLET = "UnknownTablet" , g . FALLBACK _MOBILE = "UnknownMobile" , c = "isArray" in Array ? Array . isArray : function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } , function ( ) { var a , b , f , h , k , z , y = g . mobileDetectRules ; for ( a in y . props ) if ( t . call ( y . props , a ) ) { b = y . props [ a ] ; c ( b ) || ( b = [ b ] ) ; k = b . length ; for ( h = 0 ; h < k ; ++ h ) f = b [ h ] , z = f . indexOf ( "[VER]" ) , 0 <= z && ( f = f . substring ( 0 , z ) + "([\\w._\\+]+)" +
f . substring ( z + 5 ) ) , b [ h ] = new RegExp ( f , "i" ) ; y . props [ a ] = b } e ( y . oss ) ; e ( y . phones ) ; e ( y . tablets ) ; e ( y . uas ) ; e ( y . utils ) ; y . oss0 = { WindowsPhoneOS : y . oss . WindowsPhoneOS , WindowsMobileOS : y . oss . WindowsMobileOS } } ( ) , g . findMatch = function ( a , b ) { for ( var c in a ) if ( t . call ( a , c ) && a [ c ] . test ( b ) ) return c ; return null } , g . findMatches = function ( a , b ) { var c = [ ] , e ; for ( e in a ) t . call ( a , e ) && a [ e ] . test ( b ) && c . push ( e ) ; return c } , g . getVersionStr = function ( a , b ) { var c , e , f , h ; c = g . mobileDetectRules . props ; if ( t . call ( c , a ) ) for ( c = c [ a ] , f = c . length , e = 0 ; e < f ; ++ e ) if ( h =
c [ e ] . exec ( b ) , null !== h ) return h [ 1 ] ; return null } , g . getVersion = function ( a , b ) { var c = g . getVersionStr ( a , b ) ; return c ? g . prepareVersionNo ( c ) : NaN } , g . 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 ) } , g . isMobileFallback = function ( a ) { return g . detectMobileBrowsers . fullPattern . test ( a ) || g . detectMobileBrowsers . shortPattern . test ( a . substr ( 0 , 4 ) ) } , g . isTabletFallback = function ( a ) { return g . detectMobileBrowsers . tabletPattern . test ( a ) } ,
g . prepareDetectionCache = function ( b , c , e ) { if ( b . mobile === f ) { var h , l , k ; return ( l = g . findMatch ( g . mobileDetectRules . tablets , c ) ) ? ( b . mobile = b . tablet = l , void ( b . phone = null ) ) : ( h = g . findMatch ( g . mobileDetectRules . phones , c ) ) ? ( b . mobile = b . phone = h , void ( b . tablet = null ) ) : void ( g . isMobileFallback ( c ) ? ( k = a . isPhoneSized ( e ) , k === f ? ( b . mobile = g . FALLBACK _MOBILE , b . tablet = b . phone = null ) : k ? ( b . mobile = b . phone = g . FALLBACK _PHONE , b . tablet = null ) : ( b . mobile = b . tablet = g . FALLBACK _TABLET , b . phone = null ) ) : g . isTabletFallback ( c ) ? ( b . mobile = b . tablet = g . FALLBACK _TABLET ,
b . phone = null ) : b . mobile = b . tablet = b . phone = null ) } } , g . 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-07-28 21:47:09 +00:00
5.2 >= a . version ( "Windows Mobile" ) , "C" ) } , g . detectOS = function ( a ) { return g . findMatch ( g . mobileDetectRules . oss0 , a ) || g . findMatch ( g . mobileDetectRules . oss , a ) } , g . getDeviceSmallerSide = function ( ) { return window . screen . width < window . screen . height ? window . screen . width : window . screen . height } , a . prototype = { constructor : a , mobile : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . mobile } , phone : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . phone } ,
tablet : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . tablet } , userAgent : function ( ) { return this . _cache . userAgent === f && ( this . _cache . userAgent = g . findMatch ( g . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgent } , userAgents : function ( ) { return this . _cache . userAgents === f && ( this . _cache . userAgents = g . findMatches ( g . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgents } , os : function ( ) { return this . _cache . os === f && ( this . _cache . os = g . detectOS ( this . ua ) ) , this . _cache . os } ,
version : function ( a ) { return g . getVersion ( a , this . ua ) } , versionStr : function ( a ) { return g . getVersionStr ( a , this . ua ) } , is : function ( a ) { return k ( this . userAgents ( ) , a ) || b ( a , this . os ( ) ) || b ( a , this . phone ( ) ) || b ( a , this . tablet ( ) ) || k ( g . findMatches ( g . 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 = g . mobileGrade ( this ) ) ,
this . _cache . grade } } , "undefined" != typeof window && window . screen ? a . isPhoneSized = function ( a ) { return 0 > a ? f : g . getDeviceSmallerSide ( ) <= a } : a . isPhoneSized = function ( ) { } , a . _impl = g , a . version = "1.3.6 2017-04-05" , 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 , k , e ) { function a ( c , l ) { if ( ! k [ c ] ) { if ( ! h [ c ] ) { var n = "function" == typeof require && require ; if ( ! l && n ) return n ( c , ! 0 ) ; if ( g ) return g ( c , ! 0 ) ; n = Error ( "Cannot find module '" + c + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = k [ c ] = { exports : { } } ;
h [ c ] [ 0 ] . call ( n . exports , function ( e ) { var f = h [ c ] [ 1 ] [ e ] ; return a ( f ? f : e ) } , n , n . exports , f , h , k , e ) } return k [ c ] . exports } for ( var g = "function" == typeof require && require , c = 0 ; c < e . length ; c ++ ) a ( e [ c ] ) ; return a } ( { 1 : [ function ( f , h , k ) { function e ( a ) { return function ( ) { throw Error ( "Function " + a + " is deprecated and cannot be used." ) ; } } k = 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 = k . load ; h . exports . loadAll = k . loadAll ; h . exports . safeLoad = k . safeLoad ; h . exports . safeLoadAll = k . 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 = e ( "scan" ) ; h . exports . parse = e ( "parse" ) ; h . exports . compose = e ( "compose" ) ; h . exports . addConstructor = e ( "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 , k ) { function e ( a ) { return "undefined" == typeof a || null === a } h . exports . isNothing = e ; h . exports . isObject = function ( a ) { return "object" == typeof a && null !== a } ; h . exports . toArray = function ( a ) { return Array . isArray ( a ) ? a : e ( a ) ? [ ] : [ a ] } ; h . exports . repeat = function ( a , e ) { var c , f = "" ; for ( c = 0 ; c < e ; c += 1 ) f += a ; return f } ; h . exports . isNegativeZero = function ( a ) { return 0 === a && Number . NEGATIVE _INFINITY === 1 / a } ; h . exports . extend = function ( a , e ) { var c , f , g , h ; if ( e ) for ( h = Object . keys ( e ) , c = 0 , f = h . length ; c < f ; c += 1 ) g = h [ c ] , a [ g ] = e [ g ] ; return a } } , { } ] , 3 : [ function ( f ,
h , k ) { function e ( a ) { this . schema = a . schema || J ; this . indent = Math . max ( 1 , a . indent || 2 ) ; this . skipInvalid = a . skipInvalid || ! 1 ; this . flowLevel = p . 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 ] ) && I . 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 = p . 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 g ( 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 c ( a ) { return g ( a ) && 65279 !== a && a !== X && a !== V && a !== ja && a !== la && a !== xa && a !== ba && a !== S } function t ( a , e , f , h , k ) { var l , v = ! 1 , n = ! 1 , t = - 1 !== h , p = - 1 , r = a . charCodeAt ( 0 ) ; if ( r = g ( r ) && 65279 !== r && ! ( r === Y || r === O ) && r !== L && r !== na && r !== ba && r !== X && r !== V && r !== ja && r !== la && r !== xa && r !== S && r !== ua && r !== U && r !== K && r !== Ga && r !== P && r !== B && r !== N && r !== ia && r !== da && r !== ca ) r = a . charCodeAt ( a . length - 1 ) , r = ! ( r === Y || r === O ) ; if ( e ) for ( e = 0 ; e < a . length ; e ++ ) { if ( l = a . charCodeAt ( e ) ,
! g ( l ) ) return Ea ; r = r && c ( l ) } else { for ( e = 0 ; e < a . length ; e ++ ) { if ( l = a . charCodeAt ( e ) , l === T ) v = ! 0 , t && ( n = n || e - p - 1 > h && " " !== a [ p + 1 ] , p = e ) ; else if ( ! g ( l ) ) return Ea ; r = r && c ( l ) } n = n || t && e - p - 1 > h && " " !== a [ p + 1 ] } return v || n ? " " === a [ 0 ] && 9 < f ? Ea : n ? Ma : W : r && ! k ( a ) ? oa : Da } function l ( 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 Da : return "'" + e . replace ( /'/g , "''" ) + "'" ; case W : return "|" + n ( e , c . indent ) + r ( a ( e , h ) ) ; case Ma : return ">" + n ( e , c . indent ) + r ( a ( w ( e , k ) , h ) ) ; case Ea : return '"' + z ( e , k ) + '"' ; default : throw new u ( "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 w ( a , c ) { var e , f = /(\n+)([^\n]*)/g , g , h = a . indexOf ( "\n" ) ; g = ( h = - 1 !== h ? h : a . length , f . lastIndex = h , q ( 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" ) + q ( l , c ) ; h = e } return g } function q ( 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 z ( a ) { for ( var c , e , f = "" , h = 0 ; h < a . length ; h ++ ) { c = a . charCodeAt ( h ) ; e = fa [ c ] ; if ( ! e && g ( c ) ) c = a [ h ] ; else { if ( ! e ) { var k ; e = c ; if ( c = e . toString ( 16 ) . toUpperCase ( ) , 255 >= e ) k = "x" , e = 2 ; else if ( 65535 >= e ) k = "u" , e = 4 ; else { if ( ! ( 4294967295 >= e ) ) throw new u ( "code point within a string may not be greater than 0xFFFFFFFF" ) ; k = "U" ; e = 8 } e = "\\" + k + p . repeat ( "0" , e - c . length ) + c } c = e } f += c } return f } function y ( 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]" === H . call ( k . represent ) ) c = k . represent ( c , e ) ; else { if ( ! I . call ( k . represent , e ) ) throw new u ( "!<" + k . tag + '> tag resolver accepts not "' + e + '" style' ) ; c = k . represent [ e ] ( c , e ) } a . dump = c } return ! 0 } return ! 1 } function D ( a , c , e , f , g , h ) { a . tag = null ; a . dump = e ; y ( a , e , ! 1 ) || y ( a , e , ! 0 ) ; var k = H . call ( a . dump ) ;
f && ( f = 0 > a . flowLevel || a . flowLevel > c ) ; var v , n , t = "[object Object]" === k || "[object Array]" === k ; 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]" === k ) if ( f && 0 !== Object . keys ( a . dump ) . length ) { e = a . dump ; var r , q , w = "" , z = 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 u ( "sortKeys must be a boolean or a function" ) ;
f = 0 ; for ( h = B . length ; f < h ; f += 1 ) q = "" , g && 0 === f || ( q += "\n" + p . repeat ( " " , a . indent * c ) ) , k = B [ f ] , t = e [ k ] , D ( a , c + 1 , k , ! 0 , ! 0 , ! 0 ) && ( r = null !== a . tag && "?" !== a . tag || a . dump && 1024 < a . dump . length , r && ( q += a . dump && T === a . dump . charCodeAt ( 0 ) ? "?" : "? " ) , q += a . dump , r && ( q += "\n" + p . repeat ( " " , a . indent * c ) ) , D ( a , c + 1 , t , ! 0 , r ) && ( q += a . dump && T === a . dump . charCodeAt ( 0 ) ? ":" : ": " , q += a . dump , w += q ) ) ; a . tag = z ; a . dump = w || "{}" ; n && ( a . dump = "&ref_" + v + a . dump ) } else { r = a . dump ; t = "" ; q = a . tag ; w = Object . keys ( r ) ; e = 0 ; for ( g = w . length ; e < g ; e += 1 ) k = "" , 0 !== e && ( k += ", " ) , f = w [ e ] ,
h = r [ f ] , D ( a , c , f , ! 1 , ! 1 ) && ( 1024 < a . dump . length && ( k += "? " ) , k += a . dump + ": " , D ( a , c , h , ! 1 , ! 1 ) && ( k += a . dump , t += k ) ) ; a . tag = q ; a . dump = "{" + t + "}" ; n && ( a . dump = "&ref_" + v + " " + a . dump ) } else if ( "[object Array]" === k ) if ( f && 0 !== a . dump . length ) { r = a . dump ; e = g ; h = "" ; k = a . tag ; g = 0 ; for ( f = r . length ; g < f ; g += 1 ) D ( a , c + 1 , r [ g ] , ! 0 , ! 0 ) && ( e && 0 === g || ( h += "\n" + p . repeat ( " " , a . indent * c ) ) , h += "- " + a . dump ) ; a . tag = k ; 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 ) D ( 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]" !== k ) { if ( a . skipInvalid ) return ! 1 ; throw new u ( "unacceptable kind of an object to dump " + k ) ; } "?" !== a . tag && l ( a , a . dump , c , h ) } null !== a . tag && "?" !== a . tag && ( a . dump = "!<" + a . tag + "> " + a . dump ) } return ! 0 } function A ( 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 ) A ( a [ g ] , c , e ) ; else for ( f = Object . keys ( a ) , g = 0 , h = f . length ; g <
h ; g += 1 ) A ( a [ f [ g ] ] , c , e ) } function F ( a , c ) { c = c || { } ; var f = new e ( c ) ; if ( ! f . noRefs ) { var g , h , k = [ ] , l = [ ] ; A ( a , k , l ) ; g = 0 ; for ( h = l . length ; g < h ; g += 1 ) f . duplicates . push ( k [ l [ g ] ] ) ; f . usedDuplicates = Array ( h ) } return D ( f , 0 , a , ! 0 , ! 0 ) ? f . dump + "\n" : "" } var p = f ( "./common" ) , u = f ( "./exception" ) , J = f ( "./schema/default_full" ) , M = f ( "./schema/default_safe" ) , H = Object . prototype . toString , I = Object . prototype . hasOwnProperty , O = 9 , T = 10 , Y = 32 , K = 33 , N = 34 , S = 35 , ia = 37 , ua = 38 , B = 39 , U = 42 , X = 44 , L = 45 , ba = 58 , P = 62 , na = 63 , da = 64 , V = 91 , ja = 93 , ca = 96 , la = 123 , Ga = 124 , xa = 125 ,
fa = { 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 , Da = 2 , W = 3 , Ma = 4 , Ea = 5 ; h . exports . dump = F ; h . exports . safeDump = function ( a , c ) { return F ( a , p . extend ( { schema : M } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 4 : [ function ( f , h , k ) { function e ( a , e ) { Error . call ( this ) ; Error . captureStackTrace ? Error . captureStackTrace ( this ,
this . constructor ) : this . stack = Error ( ) . stack || "" ; this . name = "YAMLException" ; this . reason = a ; this . mark = e ; this . message = ( this . reason || "(unknown reason)" ) + ( this . mark ? " " + this . mark . toString ( ) : "" ) } e . prototype = Object . create ( Error . prototype ) ; e . prototype . constructor = e ; e . prototype . toString = function ( a ) { var e = this . name + ": " ; return e += this . reason || "(unknown reason)" , ! a && this . mark && ( e += " " + this . mark . toString ( ) ) , e } ; h . exports = e } , { } ] , 5 : [ function ( f , h , k ) { function e ( a ) { return 10 === a || 13 === a } function a ( a ) { return 9 === a || 32 ===
a } function g ( a ) { return 9 === a || 32 === a || 10 === a || 13 === a } function c ( 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 l ( a , c ) { this . input = a ; this . filename = c . filename || null ; this . schema = c . schema || ia ; 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 K ( c , new N ( a . filename , a . input , a . position , a . line , a . position - a . lineStart ) ) } function r ( a , c ) { throw n ( a , c ) ; } function w ( a , c ) { a . onWarning && a . onWarning . call ( null , n ( a , c ) ) } function q ( 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 da . test ( c ) && r ( a , "the stream contains non-printable characters" ) ; a . result += c } } function z ( a , c , e , f ) { var g , h , k ; Y . 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 ] , ua . call ( c , g ) || ( c [ g ] = e [ g ] , f [ g ] = ! 0 ) } function y ( 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 ) z ( a , c , h [ f ] , e ) ; else z ( a , c , h , e ) ; else a . json || ua . call ( e , g ) || ! ua . call ( c , g ) || r ( a , "duplicated mapping key" ) , c [ g ] = h , delete e [ g ] ; return c } function D ( 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 A ( c , f , g ) { for ( var h = 0 , k = c . input . charCodeAt ( c . position ) ; 0 !== k ; ) { for ( ; a ( k ) ; ) k = c . input . charCodeAt ( ++ c . position ) ; if ( f && 35 === k ) { do k = c . input . charCodeAt ( ++ c . position ) ;
while ( 10 !== k && 13 !== k && 0 !== k ) } if ( ! e ( k ) ) break ; D ( c ) ; k = c . input . charCodeAt ( c . position ) ; h ++ ; for ( c . lineIndent = 0 ; 32 === k ; ) c . lineIndent ++ , k = c . input . charCodeAt ( ++ c . position ) } return - 1 !== g && 0 !== h && c . lineIndent < g && w ( c , "deficient indentation" ) , h } function F ( a ) { var c , e = a . position ; return c = a . input . charCodeAt ( e ) , ! ( 45 !== c && 46 !== c || c !== a . input . charCodeAt ( e + 1 ) || c !== a . input . charCodeAt ( e + 2 ) || ( e += 3 , c = a . input . charCodeAt ( e ) , 0 !== c && ! g ( c ) ) ) } function p ( a , c ) { 1 === c ? a . result += " " : 1 < c && ( a . result += Y . repeat ( "\n" , c - 1 ) ) } function u ( a ,
c ) { var e , f , 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 && ( f = a . input . charCodeAt ( a . position + 1 ) , g ( f ) ) ; ) if ( n = ! 0 , a . position ++ , A ( a , ! 0 , - 1 ) && a . lineIndent <= c ) v . push ( null ) , h = a . input . charCodeAt ( a . position ) ; else if ( e = a . line , H ( a , c , X , ! 1 , ! 0 ) , v . push ( a . result ) , A ( a , ! 0 , - 1 ) , h = a . input . charCodeAt ( a . position ) , ( a . line === e || 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 J ( a ) { var c , e , f , 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 , e = "!!" , h = a . input . charCodeAt ( ++ a . position ) ) : e = "!" , c = a . position , k ) { do h = a . input . charCodeAt ( ++ a . position ) ; while ( 0 !== h && 62 !== h ) ; a . position < a . length ? ( f = 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 && ! g ( h ) ; ) 33 === h && ( l ? r ( a , "tag suffix cannot contain exclamation marks" ) : ( e = a . input . slice ( c - 1 , a . position + 1 ) , ca . test ( e ) || r ( a , "named tag handle cannot contain such characters" ) , l = ! 0 , c = a . position + 1 ) ) , h = a . input . charCodeAt ( ++ a . position ) ; f = a . input . slice ( c , a . position ) ; ja . test ( f ) && r ( a , "tag suffix cannot contain flow indicator characters" ) } return f && ! la . test ( f ) && r ( a , "tag name cannot contain such characters: " + f ) , k ? a . tag = f : ua . call ( a . tagMap , e ) ? a . tag = a . tagMap [ e ] + f : "!" === e ? a . tag = "!" + f : "!!" === e ? a . tag = "tag:yaml.org,2002:" +
f : r ( a , 'undeclared tag handle "' + e + '"' ) , ! 0 } function M ( a ) { var e , 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 ( e = a . position ; 0 !== f && ! g ( f ) && ! c ( f ) ; ) f = a . input . charCodeAt ( ++ a . position ) ; return a . position === e && r ( a , "name of an anchor node must contain at least one character" ) , a . anchor = a . input . slice ( e , a . position ) , ! 0 } function H ( f , h , k , l , n ) { var t , v , w , z , N , S , I = 1 , K = ! 1 , O = ! 1 ; if ( null !== f . listener && f . listener ( "open" ,
f ) , f . tag = null , f . anchor = null , f . kind = null , f . result = null , t = v = w = L === k || X === k , l && A ( f , ! 0 , - 1 ) && ( K = ! 0 , f . lineIndent > h ? I = 1 : f . lineIndent === h ? I = 0 : f . lineIndent < h && ( I = - 1 ) ) , 1 === I ) for ( ; J ( f ) || M ( f ) ; ) A ( f , ! 0 , - 1 ) ? ( K = ! 0 , w = t , f . lineIndent > h ? I = 1 : f . lineIndent === h ? I = 0 : f . lineIndent < h && ( I = - 1 ) ) : w = ! 1 ; w && ( w = K || n ) ; if ( 1 === I || L === k ) if ( h = B === k || U === k ? h : h + 1 , l = f . position - f . lineStart , 1 === I ) { var W ; if ( w && ! ( w = u ( f , l ) ) ) a : { var V ; n = f . tag ; t = f . anchor ; var K = { } , T = { } , ia = null , da = null , Da = null , oa = ! 1 , la = ! 1 ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = K ) ; for ( I =
f . input . charCodeAt ( f . position ) ; 0 !== I ; ) { if ( W = f . input . charCodeAt ( f . position + 1 ) , w = f . line , 63 !== I && 58 !== I || ! g ( W ) ) { if ( ! H ( f , h , U , ! 1 , ! 0 ) ) break ; if ( f . line === w ) { for ( I = f . input . charCodeAt ( f . position ) ; a ( I ) ; ) I = f . input . charCodeAt ( ++ f . position ) ; if ( 58 === I ) I = f . input . charCodeAt ( ++ f . position ) , g ( I ) || r ( f , "a whitespace character is expected after the key-value separator within a block mapping" ) , oa && ( y ( f , K , T , ia , da , null ) , Da = null ) , la = ! 0 , V = oa = ! 1 , ia = f . tag , da = 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 === I ? ( oa && ( y ( f , K , T , ia , da , null ) , ia = da = Da = 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 , I = W ; if ( ( f . line === w || f . lineIndent > l ) && ( H ( f , l , L , ! 0 , V ) && ( oa ? da = f . result : Da = f . result ) , oa || ( y ( f , K , T , ia , da , Da ) , ia = da = Da = null ) , A ( f , ! 0 , - 1 ) , I = f . input . charCodeAt ( f . position ) ) , f . lineIndent > l && 0 !== I ) r ( f , "bad indentation of a mapping entry" ) ;
else if ( f . lineIndent < l ) break } w = ( oa && y ( f , K , T , ia , da , null ) , la && ( f . tag = n , f . anchor = t , f . kind = "mapping" , f . result = K ) , la ) } if ( ! ( W = w ) ) a : { var ja , fa , ia = ! 0 , da = f . tag , Da = f . anchor , oa = { } ; if ( fa = f . input . charCodeAt ( f . position ) , 91 === fa ) l = 93 , n = ! 1 , V = [ ] ; else { if ( 123 !== fa ) { W = ! 1 ; break a } l = 125 ; n = ! 0 ; V = { } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = V ) ; for ( fa = f . input . charCodeAt ( ++ f . position ) ; 0 !== fa ; ) { if ( A ( f , ! 0 , h ) , fa = f . input . charCodeAt ( f . position ) , fa === l ) { W = ( f . position ++ , f . tag = da , f . anchor = Da , f . kind = n ? "mapping" : "sequence" , f . result = V ,
! 0 ) ; break a } ia || r ( f , "missed comma between flow collection entries" ) ; T = null ; w = I = ! 1 ; 63 === fa && ( ja = f . input . charCodeAt ( f . position + 1 ) , g ( ja ) && ( w = I = ! 0 , f . position ++ , A ( f , ! 0 , h ) ) ) ; W = f . line ; H ( f , h , B , ! 1 , ! 0 ) ; K = f . tag ; t = f . result ; A ( f , ! 0 , h ) ; fa = f . input . charCodeAt ( f . position ) ; ! I && f . line !== W || 58 !== fa || ( w = ! 0 , f . input . charCodeAt ( ++ f . position ) , A ( f , ! 0 , h ) , H ( f , h , B , ! 1 , ! 0 ) , T = f . result ) ; n ? y ( f , V , oa , K , t , T ) : w ? V . push ( y ( f , null , oa , K , t , T ) ) : V . push ( t ) ; A ( f , ! 0 , h ) ; fa = f . input . charCodeAt ( f . position ) ; 44 === fa ? ( ia = ! 0 , fa = f . input . charCodeAt ( ++ f . position ) ) :
ia = ! 1 } r ( f , "unexpected end of the stream within a flow collection" ) ; W = void 0 } if ( W ) O = ! 0 ; else { var ea ; if ( v ) a : { ja = ba ; W = fa = ! 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 ) ba === ja ? ja = 43 === ea ? na : P : r ( f , "repeat of a chomping mode identifier" ) ; else { if ( ! ( 0 <= ( I = 48 <= ea && 57 >= ea ? ea - 48 : - 1 ) ) ) break ; 0 === I ? r ( f , "bad explicit indentation width of a block scalar; it cannot be less than one" ) :
W ? r ( f , "repeat of an indentation width identifier" ) : ( V = h + I - 1 , W = ! 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 ( ! e ( ea ) && 0 !== ea ) } } for ( ; 0 !== ea ; ) { D ( f ) ; f . lineIndent = 0 ; for ( ea = f . input . charCodeAt ( f . position ) ; ( ! W || f . lineIndent < V ) && 32 === ea ; ) f . lineIndent ++ , ea = f . input . charCodeAt ( ++ f . position ) ; if ( ! W && f . lineIndent > V && ( V = f . lineIndent ) , e ( ea ) ) l ++ ; else { if ( f . lineIndent < V ) { ja === na ? f . result += Y . repeat ( "\n" , fa ? 1 + l : l ) : ja === ba && fa && ( f . result += "\n" ) ;
break } v ? a ( ea ) ? ( w = ! 0 , f . result += Y . repeat ( "\n" , fa ? 1 + l : l ) ) : w ? ( w = ! 1 , f . result += Y . repeat ( "\n" , l + 1 ) ) : 0 === l ? fa && ( f . result += " " ) : f . result += Y . repeat ( "\n" , l ) : f . result += Y . repeat ( "\n" , fa ? 1 + l : l ) ; W = fa = ! 0 ; l = 0 ; for ( I = f . position ; ! e ( ea ) && 0 !== ea ; ) ea = f . input . charCodeAt ( ++ f . position ) ; q ( f , I , f . position , ! 1 ) } } v = ! 0 } if ( ! ( ea = v ) ) a : { var sa ; if ( sa = f . input . charCodeAt ( f . position ) , 39 !== sa ) ea = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( ea = v = f . position ; 0 !== ( sa = f . input . charCodeAt ( f . position ) ) ; ) if ( 39 === sa ) { if ( q ( f , ea , f . position , ! 0 ) ,
sa = f . input . charCodeAt ( ++ f . position ) , 39 !== sa ) { ea = ! 0 ; break a } ea = v = f . position ; f . position ++ } else e ( sa ) ? ( q ( f , ea , v , ! 0 ) , p ( f , A ( f , ! 1 , h ) ) , ea = v = f . position ) : f . position === f . lineStart && F ( 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 ( ! ( sa = ea ) ) a : { var ca ; if ( ca = f . input . charCodeAt ( f . position ) , 34 !== ca ) sa = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( sa = ea = f . position ; 0 !== ( ca = f . input . charCodeAt ( f . position ) ) ; ) { if ( 34 ===
ca ) { sa = ( q ( f , sa , f . position , ! 0 ) , f . position ++ , ! 0 ) ; break a } if ( 92 === ca ) { if ( q ( f , sa , f . position , ! 0 ) , ca = f . input . charCodeAt ( ++ f . position ) , e ( ca ) ) A ( f , ! 1 , h ) ; else if ( 256 > ca && Ga [ ca ] ) f . result += xa [ ca ] , f . position ++ ; else if ( 0 < ( v = 120 === ca ? 2 : 117 === ca ? 4 : 85 === ca ? 8 : 0 ) ) { ea = v ; for ( sa = 0 ; 0 < ea ; ea -- ) ca = f . input . charCodeAt ( ++ f . position ) , ja = void 0 , 0 <= ( v = 48 <= ca && 57 >= ca ? ca - 48 : ( ja = 32 | ca , 97 <= ja && 102 >= ja ? ja - 97 + 10 : - 1 ) ) ? sa = ( sa << 4 ) + v : r ( f , "expected hexadecimal character" ) ; ca = f . result ; sa = 65535 >= sa ? String . fromCharCode ( sa ) : String . fromCharCode ( ( sa -
65536 >> 10 ) + 55296 , ( sa - 65536 & 1023 ) + 56320 ) ; f . result = ca + sa ; f . position ++ } else r ( f , "unknown escape sequence" ) ; sa = ea = f . position } else e ( ca ) ? ( q ( f , sa , ea , ! 0 ) , p ( f , A ( f , ! 1 , h ) ) , sa = ea = f . position ) : f . position === f . lineStart && F ( 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" ) ; sa = void 0 } } if ( sa ) O = ! 0 ; else { var Qa ; var Ma ; if ( Qa = f . input . charCodeAt ( f . position ) , 42 !== Qa ) Qa = ! 1 ; else { Qa = f . input . charCodeAt ( ++ f . position ) ;
for ( ca = f . position ; 0 !== Qa && ! g ( Qa ) && ! c ( Qa ) ; ) Qa = f . input . charCodeAt ( ++ f . position ) ; Qa = ( f . position === ca && r ( f , "name of an alias node must contain at least one character" ) , Ma = f . input . slice ( ca , f . position ) , f . anchorMap . hasOwnProperty ( Ma ) || r ( f , 'unidentified alias "' + Ma + '"' ) , f . result = f . anchorMap [ Ma ] , A ( f , ! 0 , - 1 ) , ! 0 ) } if ( Qa ) O = ! 0 , null === f . tag && null === f . anchor || r ( f , "alias node should not have any properties" ) ; else { k = B === k ; var wb , ra ; ca = f . kind ; sa = f . result ; if ( ra = f . input . charCodeAt ( f . position ) , g ( ra ) || c ( ra ) || 35 === ra || 38 ===
ra || 42 === ra || 33 === ra || 124 === ra || 62 === ra || 39 === ra || 34 === ra || 37 === ra || 64 === ra || 96 === ra ) z = ! 1 ; else if ( ( 63 === ra || 45 === ra ) && ( N = f . input . charCodeAt ( f . position + 1 ) , g ( N ) || k && c ( N ) ) ) z = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; Ma = Qa = f . position ; for ( ea = ! 1 ; 0 !== ra ; ) { if ( 58 === ra ) { if ( N = f . input . charCodeAt ( f . position + 1 ) , g ( N ) || k && c ( N ) ) break } else if ( 35 === ra ) { if ( z = f . input . charCodeAt ( f . position - 1 ) , g ( z ) ) break } else { if ( f . position === f . lineStart && F ( f ) || k && c ( ra ) ) break ; if ( e ( ra ) ) { if ( wb = f . line , ra = f . lineStart , ea = f . lineIndent , A ( f , ! 1 , - 1 ) , f . lineIndent >=
h ) { ea = ! 0 ; ra = f . input . charCodeAt ( f . position ) ; continue } f . position = Qa ; f . line = wb ; f . lineStart = ra ; f . lineIndent = ea ; break } } ea && ( q ( f , Ma , Qa , ! 1 ) , p ( f , f . line - wb ) , Ma = Qa = f . position , ea = ! 1 ) ; a ( ra ) || ( Qa = f . position + 1 ) ; ra = f . input . charCodeAt ( ++ f . position ) } z = ( q ( f , Ma , Qa , ! 1 ) , ! ! f . result || ( f . kind = ca , f . result = sa , ! 1 ) ) } z && ( O = ! 0 , null === f . tag && ( f . tag = "?" ) ) } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) } } else 0 === I && ( O = w && u ( f , l ) ) ; if ( null !== f . tag && "!" !== f . tag ) if ( "?" === f . tag ) for ( z = 0 , N = f . implicitTypes . length ; z < N ; z += 1 ) { if ( S = f . implicitTypes [ z ] ,
S . resolve ( f . result ) ) { f . result = S . construct ( f . result ) ; f . tag = S . tag ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) ; break } } else ua . call ( f . typeMap , f . tag ) ? ( S = f . typeMap [ f . tag ] , null !== f . result && S . kind !== f . kind && r ( f , "unacceptable node kind for !<" + f . tag + '> tag; it should be "' + S . kind + '", not "' + f . kind + '"' ) , S . resolve ( f . result ) ? ( f . result = S . 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 || O } function I ( c , f ) { c = String ( c ) ; f = f || { } ; 0 !== c . length && ( 10 !== c . charCodeAt ( c . length - 1 ) && 13 !== c . charCodeAt ( c . length - 1 ) && ( c += "\n" ) , 65279 === c . charCodeAt ( 0 ) && ( c = c . slice ( 1 ) ) ) ; var h = new l ( c , f ) ; for ( h . input += "\x00" ; 32 === h . input . charCodeAt ( h . position ) ; ) h . lineIndent += 1 , h . position += 1 ; for ( ; h . position < h . length - 1 ; ) { var k = void 0 , n , t , p , q = h , u = q . position , v = ! 1 ; q . version = null ; q . checkLineBreaks = q . legacy ; q . tagMap = { } ; for ( q . anchorMap = { } ; 0 !== q . input . charCodeAt ( q . position ) &&
( A ( q , ! 0 , - 1 ) , k = q . input . charCodeAt ( q . position ) , ! ( 0 < q . lineIndent || 37 !== k ) ) ; ) { v = ! 0 ; k = q . input . charCodeAt ( ++ q . position ) ; for ( p = q . position ; 0 !== k && ! g ( k ) ; ) k = q . input . charCodeAt ( ++ q . position ) ; t = q . input . slice ( p , q . position ) ; n = [ ] ; for ( 1 > t . length && r ( q , "directive name must not be less than one character in length" ) ; 0 !== k ; ) { for ( ; a ( k ) ; ) k = q . input . charCodeAt ( ++ q . position ) ; if ( 35 === k ) { do k = q . input . charCodeAt ( ++ q . position ) ; while ( 0 !== k && ! e ( k ) ) ; break } if ( e ( k ) ) break ; for ( p = q . position ; 0 !== k && ! g ( k ) ; ) k = q . input . charCodeAt ( ++ q . position ) ;
n . push ( q . input . slice ( p , q . position ) ) } 0 !== k && D ( q ) ; ua . call ( fa , t ) ? fa [ t ] ( q , t , n ) : w ( q , 'unknown document directive "' + t + '"' ) } A ( q , ! 0 , - 1 ) ; 0 === q . lineIndent && 45 === q . input . charCodeAt ( q . position ) && 45 === q . input . charCodeAt ( q . position + 1 ) && 45 === q . input . charCodeAt ( q . position + 2 ) ? ( q . position += 3 , A ( q , ! 0 , - 1 ) ) : v && r ( q , "directives end mark is expected" ) ; H ( q , q . lineIndent - 1 , L , ! 1 , ! 0 ) ; A ( q , ! 0 , - 1 ) ; q . checkLineBreaks && V . test ( q . input . slice ( u , q . position ) ) && w ( q , "non-ASCII line breaks are interpreted as content" ) ; q . documents . push ( q . result ) ;
q . position === q . lineStart && F ( q ) ? 46 === q . input . charCodeAt ( q . position ) && ( q . position += 3 , A ( q , ! 0 , - 1 ) ) : q . position < q . length - 1 && r ( q , "end of the stream or a document separator is expected" ) } return h . documents } function O ( a , c , e ) { var f = I ( a , e ) ; a = 0 ; for ( e = f . length ; a < e ; a += 1 ) c ( f [ a ] ) } function T ( a , c ) { var e = I ( a , c ) ; if ( 0 !== e . length ) { if ( 1 === e . length ) return e [ 0 ] ; throw new K ( "expected a single document in the stream, but found more" ) ; } } var Y = f ( "./common" ) , K = f ( "./exception" ) , N = f ( "./mark" ) , S = f ( "./schema/default_safe" ) , ia = f ( "./schema/default_full" ) ,
ua = Object . prototype . hasOwnProperty , B = 1 , U = 2 , X = 3 , L = 4 , ba = 1 , P = 2 , na = 3 , da = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/ , V = /[\x85\u2028\u2029]/ , ja = /[,\[\]\{\}]/ , ca = /^(?:!|!!|![a-z\-]+!)$/i , la = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i , Ga = Array ( 256 ) , xa = Array ( 256 ) ; for ( f = 0 ; 256 > f ; f ++ ) Ga [ f ] = t ( f ) ? 1 : 0 , xa [ f ] = t ( f ) ; var fa = { 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 && w ( 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 ] ; ca . test ( c ) || r ( a , "ill-formed tag handle (first argument) of the TAG directive" ) ;
ua . 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 = O ; h . exports . load = T ; h . exports . safeLoadAll = function ( a , c , e ) { O ( a , c , Y . extend ( { schema : S } , e ) ) } ; h . exports . safeLoad = function ( a , c ) { return T ( a , Y . extend ( { schema : S } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./mark" : 6 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 6 : [ function ( f , h , k ) { function e ( a , c , e , f , h ) { this . name =
a ; this . buffer = c ; this . position = e ; this . line = f ; this . column = h } var a = f ( "./common" ) ; e . prototype . getSnippet = function ( e , c ) { var f , g , h , k , w ; if ( ! this . buffer ) return null ; e = e || 4 ; c = c || 75 ; f = "" ; for ( g = this . position ; 0 < g && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( g - 1 ) ) ; ) if ( -- g , this . position - g > c / 2 - 1 ) { f = " ... " ; g += 5 ; break } h = "" ; for ( k = this . position ; k < this . buffer . length && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( k ) ) ; ) if ( k += 1 , k - this . position > c / 2 - 1 ) { h = " ... " ; k -= 5 ; break } return w = this . buffer . slice ( g ,
k ) , a . repeat ( " " , e ) + f + w + h + "\n" + a . repeat ( " " , e + this . position - g + f . length ) + "^" } ; e . 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 = e } , { "./common" : 2 } ] , 7 : [ function ( f , h , k ) { function e ( a , c , f ) { var g = [ ] ; return a . include . forEach ( function ( a ) { f = e ( a , c , f ) } ) , a [ c ] . 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 g ( c ) { this . include = c . include || [ ] ; this . implicit = c . implicit || [ ] ; this . explicit = c . 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 = e ( this , "implicit" , [ ] ) ; this . compiledExplicit =
e ( this , "explicit" , [ ] ) ; this . compiledTypeMap = a ( this . compiledImplicit , this . compiledExplicit ) } var c = f ( "./common" ) , t = f ( "./exception" ) , l = f ( "./type" ) ; g . DEFAULT = null ; g . create = function ( ) { var a , e ; switch ( arguments . length ) { case 1 : a = g . DEFAULT ; e = arguments [ 0 ] ; break ; case 2 : a = arguments [ 0 ] ; e = arguments [ 1 ] ; break ; default : throw new t ( "Wrong number of arguments for Schema.create function" ) ; } if ( a = c . toArray ( a ) , e = c . toArray ( e ) , ! a . every ( function ( a ) { return a instanceof g } ) ) throw new t ( "Specified list of super schemas (or a single Schema object) contains a non-Schema object." ) ;
if ( ! e . every ( function ( a ) { return a instanceof l } ) ) throw new t ( "Specified list of YAML types (or a single Type object) contains a non-Type object." ) ; return new g ( { include : a , explicit : e } ) } ; h . exports = g } , { "./common" : 2 , "./exception" : 4 , "./type" : 13 } ] , 8 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = new k ( { include : [ f ( "./json" ) ] } ) } , { "../schema" : 7 , "./json" : 12 } ] , 9 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = k . DEFAULT = new k ( { 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 , k ) { k = f ( "../schema" ) ; h . exports = new k ( { 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 , k ) { k = f ( "../schema" ) ;
h . exports = new k ( { 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 , k ) { k = f ( "../schema" ) ; h . exports = new k ( { 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 , k ) { function e ( 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" ) , g = "kind resolve construct instanceOf predicate represent defaultStyle styleAliases" . split ( " " ) , c = [ "scalar" , "sequence" , "mapping" ] ; h . exports = function ( f , h ) { if ( h = h || { } , Object . keys ( h ) . forEach ( function ( c ) { if ( - 1 === g . 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 = e ( h . styleAliases || null ) , - 1 === c . indexOf ( this . kind ) ) throw new a ( 'Unknown kind "' + this . kind + '" is specified for "' + f + '" YAML type.' ) ; } } , { "./exception" : 4 } ] , 14 : [ function ( f , h , k ) { var e ; try { e = 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 e , c , f = 0 , h = a . length ; for ( c = 0 ; c < h ; c ++ ) if ( e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( a . charAt ( c ) ) ,
! ( 64 < e ) ) { if ( 0 > e ) return ! 1 ; f += 6 } return 0 === f % 8 } , construct : function ( a ) { var f , c = a . replace ( /[\r\n=]/g , "" ) , h = c . length , k = 0 , n = [ ] ; for ( a = 0 ; a < h ; a ++ ) 0 === a % 4 && a && ( n . push ( k >> 16 & 255 ) , n . push ( k >> 8 & 255 ) , n . push ( 255 & k ) ) , k = k << 6 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( c . charAt ( a ) ) ; return f = h % 4 * 6 , 0 === f ? ( n . push ( k >> 16 & 255 ) , n . push ( k >> 8 & 255 ) , n . push ( 255 & k ) ) : 18 === f ? ( n . push ( k >> 10 & 255 ) , n . push ( k >> 2 & 255 ) ) : 12 === f && n . push ( k >> 4 & 255 ) , e ? new e ( n ) : n } , predicate : function ( a ) { return e && e . isBuffer ( a ) } ,
represent : function ( a ) { var e , c , f = "" , h = 0 , k = a . length ; for ( e = 0 ; e < k ; e ++ ) 0 === e % 3 && e && ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 18 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 12 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 6 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & h ] ) , h = ( h << 8 ) + a [ e ] ; return c = k % 3 , 0 === c ? ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >>
18 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 12 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 6 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & h ] ) : 2 === c ? ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 10 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 4 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h <<
2 & 63 ] , f += "=" ) : 1 === c && ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 2 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h << 4 & 63 ] , f += "=" , f += "=" ) , f } } ) } , { "../type" : 13 } ] , 15 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:bool" , { kind : "scalar" , resolve : function ( e ) { if ( null === e ) return ! 1 ; var a = e . length ; return 4 === a && ( "true" === e || "True" === e || "TRUE" === e ) || 5 === a && ( "false" === e || "False" === e || "FALSE" === e ) } , construct : function ( e ) { return "true" ===
e || "True" === e || "TRUE" === e } , predicate : function ( e ) { return "[object Boolean]" === Object . prototype . toString . call ( e ) } , represent : { lowercase : function ( e ) { return e ? "true" : "false" } , uppercase : function ( e ) { return e ? "TRUE" : "FALSE" } , camelcase : function ( e ) { return e ? "True" : "False" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 16 : [ function ( f , h , k ) { var e = 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))$/ ,
g = /^[-+]?[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 || e . isNegativeZero ( a ) ) } , represent : function ( a , f ) { var c ; 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 ( e . isNegativeZero ( a ) ) return "-0.0" ;
return c = a . toString ( 10 ) , g . test ( c ) ? c . replace ( "e" , ".e" ) : c } , defaultStyle : "lowercase" } ) } , { "../common" : 2 , "../type" : 13 } ] , 17 : [ function ( f , h , k ) { var e = 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 e , c = a . length , f = 0 , h = ! 1 ; if ( ! c ) return ! 1 ; if ( e = a [ f ] , "-" !== e && "+" !== e || ( e = a [ ++ f ] ) , "0" === e ) { if ( f + 1 === c ) return ! 0 ; if ( e = a [ ++ f ] , "b" === e ) { for ( f ++ ; f < c ; f ++ ) if ( e = a [ f ] , "_" !== e ) { if ( "0" !== e && "1" !== e ) return ! 1 ; h = ! 0 } return h } if ( "x" === e ) { for ( f ++ ; f < c ; f ++ ) if ( e =
a [ f ] , "_" !== e ) { h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 57 >= h || 65 <= h && 70 >= h || 97 <= h && 102 >= h ) ) return ! 1 ; h = ! 0 } return h } for ( ; f < c ; f ++ ) if ( e = a [ f ] , "_" !== e ) { h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 55 >= h ) ) return ! 1 ; h = ! 0 } return h } for ( ; f < c ; f ++ ) if ( e = a [ f ] , "_" !== e ) { if ( ":" === e ) break ; h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 57 >= h ) ) return ! 1 ; h = ! 0 } return ! ! h && ( ":" !== e || /^(:[0-5]?[0-9])+$/ . test ( a . slice ( f ) ) ) } , construct : function ( a ) { var e , c , f = a ; a = 1 ; var h = [ ] ; return - 1 !== f . indexOf ( "_" ) && ( f = f . replace ( /_/g , "" ) ) , e = f [ 0 ] , "-" !== e && "+" !== e || ( "-" === e && ( a = - 1 ) , f = f . slice ( 1 ) ,
e = f [ 0 ] ) , "0" === f ? 0 : "0" === e ? "b" === f [ 1 ] ? a * parseInt ( f . slice ( 2 ) , 2 ) : "x" === f [ 1 ] ? a * parseInt ( f , 16 ) : a * parseInt ( f , 8 ) : - 1 !== f . indexOf ( ":" ) ? ( f . split ( ":" ) . forEach ( function ( a ) { h . unshift ( parseInt ( a , 10 ) ) } ) , f = 0 , c = 1 , h . forEach ( function ( a ) { f += a * c ; c *= 60 } ) , a * f ) : a * parseInt ( f , 10 ) } , predicate : function ( a ) { return "[object Number]" === Object . prototype . toString . call ( a ) && 0 === a % 1 && ! e . 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 , k ) { var e ; try { e = f ( "esprima" ) } catch ( a ) { "undefined" != typeof window && ( e = 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 f = e . parse ( "(" + a + ")" , { range : ! 0 } ) ; return "Program" === f . type &&
1 === f . body . length && "ExpressionStatement" === f . body [ 0 ] . type && "FunctionExpression" === f . body [ 0 ] . expression . type } catch ( c ) { return ! 1 } } , construct : function ( a ) { var f ; a = "(" + a + ")" ; var c = e . parse ( a , { range : ! 0 } ) , h = [ ] ; if ( "Program" !== c . type || 1 !== c . body . length || "ExpressionStatement" !== c . body [ 0 ] . type || "FunctionExpression" !== c . body [ 0 ] . expression . type ) throw Error ( "Failed to resolve function" ) ; return c . body [ 0 ] . expression . params . forEach ( function ( a ) { h . push ( a . name ) } ) , f = c . body [ 0 ] . expression . body . range , new Function ( h , a . slice ( f [ 0 ] +
1 , f [ 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 , k ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/regexp" , { kind : "scalar" , resolve : function ( e ) { if ( null === e || 0 === e . length ) return ! 1 ; var a = /\/([gim]*)$/ . exec ( e ) , f = "" ; return "/" === e [ 0 ] && ( ( a && ( f = a [ 1 ] ) , 3 < f . length ) || "/" !== e [ e . length - f . length - 1 ] ) ? ! 1 : ! 0 } , construct : function ( e ) { var a = e ; e = /\/([gim]*)$/ . exec ( e ) ; var f = "" ; return "/" ===
a [ 0 ] && ( e && ( f = e [ 1 ] ) , a = a . slice ( 1 , a . length - f . length - 1 ) ) , new RegExp ( a , f ) } , predicate : function ( e ) { return "[object RegExp]" === Object . prototype . toString . call ( e ) } , represent : function ( e ) { var a = "/" + e . source + "/" ; return e . global && ( a += "g" ) , e . multiline && ( a += "m" ) , e . ignoreCase && ( a += "i" ) , a } } ) } , { "../../type" : 13 } ] , 20 : [ function ( f , h , k ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/undefined" , { kind : "scalar" , resolve : function ( ) { return ! 0 } , construct : function ( ) { } , predicate : function ( e ) { return "undefined" == typeof e } , represent : function ( ) { return "" } } ) } ,
{ "../../type" : 13 } ] , 21 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:map" , { kind : "mapping" , construct : function ( e ) { return null !== e ? e : { } } } ) } , { "../type" : 13 } ] , 22 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:merge" , { kind : "scalar" , resolve : function ( e ) { return "<<" === e || null === e } } ) } , { "../type" : 13 } ] , 23 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:null" , { kind : "scalar" , resolve : function ( e ) { if ( null === e ) return ! 0 ; var a = e . length ; return 1 === a && "~" === e || 4 ===
a && ( "null" === e || "Null" === e || "NULL" === e ) } , construct : function ( ) { return null } , predicate : function ( e ) { return null === e } , represent : { canonical : function ( ) { return "~" } , lowercase : function ( ) { return "null" } , uppercase : function ( ) { return "NULL" } , camelcase : function ( ) { return "Null" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 24 : [ function ( f , h , k ) { f = f ( "../type" ) ; var e = Object . prototype . hasOwnProperty , a = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:omap" , { kind : "sequence" , resolve : function ( f ) { if ( null === f ) return ! 0 ;
var c , g , h , k , r , w = [ ] ; c = 0 ; for ( g = f . length ; c < g ; c += 1 ) { if ( h = f [ c ] , r = ! 1 , "[object Object]" !== a . call ( h ) ) return ! 1 ; for ( k in h ) if ( e . call ( h , k ) ) { if ( r ) return ! 1 ; r = ! 0 } if ( ! r || - 1 !== w . indexOf ( k ) ) return ! 1 ; w . push ( k ) } return ! 0 } , construct : function ( a ) { return null !== a ? a : [ ] } } ) } , { "../type" : 13 } ] , 25 : [ function ( f , h , k ) { f = f ( "../type" ) ; var e = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:pairs" , { kind : "sequence" , resolve : function ( a ) { if ( null === a ) return ! 0 ; var f , c , h , k , n ; n = Array ( a . length ) ; f = 0 ; for ( c = a . length ; f < c ; f += 1 ) { if ( ( h = a [ f ] ,
"[object Object]" !== e . call ( h ) ) || ( k = Object . keys ( h ) , 1 !== k . length ) ) return ! 1 ; n [ f ] = [ k [ 0 ] , h [ k [ 0 ] ] ] } return ! 0 } , construct : function ( a ) { if ( null === a ) return [ ] ; var e , c , f , h , k ; k = Array ( a . length ) ; e = 0 ; for ( c = a . length ; e < c ; e += 1 ) f = a [ e ] , h = Object . keys ( f ) , k [ e ] = [ h [ 0 ] , f [ h [ 0 ] ] ] ; return k } } ) } , { "../type" : 13 } ] , 26 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:seq" , { kind : "sequence" , construct : function ( e ) { return null !== e ? e : [ ] } } ) } , { "../type" : 13 } ] , 27 : [ function ( f , h , k ) { f = f ( "../type" ) ; var e = Object . prototype . hasOwnProperty ;
h . exports = new f ( "tag:yaml.org,2002:set" , { kind : "mapping" , resolve : function ( a ) { if ( null === a ) return ! 0 ; for ( var f in a ) if ( e . call ( a , f ) && null !== a [ f ] ) return ! 1 ; return ! 0 } , construct : function ( a ) { return null !== a ? a : { } } } ) } , { "../type" : 13 } ] , 28 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:str" , { kind : "scalar" , construct : function ( e ) { return null !== e ? e : "" } } ) } , { "../type" : 13 } ] , 29 : [ function ( f , h , k ) { f = f ( "../type" ) ; var e = /^([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 ( f ) { return null !== f && ( null !== e . exec ( f ) || null !== a . exec ( f ) ) } , construct : function ( f ) { var c , g , h , k , r , w , q , z , y , D = 0 , A = null ; if ( c = e . exec ( f ) , null === c && ( c = a . exec ( f ) ) , null === c ) throw Error ( "Date resolve error" ) ; if ( f = + c [ 1 ] , g = + c [ 2 ] - 1 , h = + c [ 3 ] , ! c [ 4 ] ) return new Date ( Date . UTC ( f , g , h ) ) ; if ( k = + c [ 4 ] , r = + c [ 5 ] , w = + c [ 6 ] , c [ 7 ] ) { for ( D = c [ 7 ] . slice ( 0 , 3 ) ; 3 > D . length ; ) D += "0" ; D = + D } return c [ 9 ] && ( q = + c [ 10 ] , z = + ( c [ 11 ] || 0 ) , A = 6E4 * ( 60 * q + z ) , "-" === c [ 9 ] && ( A = - A ) ) , y = new Date ( Date . UTC ( f ,
g , h , k , r , w , D ) ) , A && y . setTime ( y . getTime ( ) - A ) , y } , instanceOf : Date , represent : function ( a ) { return a . toISOString ( ) } } ) } , { "../type" : 13 } ] , "/" : [ function ( f , h , k ) { f = f ( "./lib/js-yaml.js" ) ; h . exports = f } , { "./lib/js-yaml.js" : 1 } ] } , { } , [ ] ) ( "/" ) } ) ;
( function ( b , f , h ) { function k ( a ) { var b = [ ] ; return t ( b , f . noop ) . chars ( a ) , b . join ( "" ) } function e ( 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 ) , M [ c ] ) for ( ; t . last ( ) && H [ t . last ( ) ] ; ) e ( "" , t . last ( ) ) ; J [ c ] && t . last ( ) == c && e ( "" , c ) ; ( k = u [ c ] || ! ! k ) || t . push ( c ) ; var l = { } ; h . replace ( w , function ( a , b , c , e , f ) { l [ b ] = g ( c || e || f || "" ) } ) ; b . start && b . start ( c , l , k ) } function e ( 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 , k , p , t = [ ] , F = a ; for ( t . last = function ( ) { return t [ t . length - 1 ] } ; a ; ) { if ( p = "" , k = ! 0 , t . last ( ) && I [ t . last ( ) ] ? ( a = a . replace ( new RegExp ( "([\\W\\w]*)<\\s*\\/\\s*" + t . last ( ) + "[^>]*>" , "i" ) , function ( a , c ) { return c = c . replace ( y , "$1" ) . replace ( A , "$1" ) , b . chars && b . chars ( g ( c ) ) , "" } ) , e ( "" , 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 ) , k = ! 1 ) ) : D . test ( a ) ? ( h = a . match ( D ) ) && ( a = a . replace ( h [ 0 ] , "" ) , k = ! 1 ) : z . test ( a ) ? ( h = a . match ( r ) ) && ( a = a . substring ( h [ 0 ] . length ) , h [ 0 ] . replace ( r , e ) , k = ! 1 ) : q . test ( a ) && ( ( h = a . match ( n ) ) ? ( h [ 4 ] && ( a = a . substring ( h [ 0 ] . length ) , h [ 0 ] . replace ( n , c ) ) , k = ! 1 ) : ( p += "<" , a = a . substring ( 1 ) ) ) , k && ( h = a . indexOf ( "<" ) , p += 0 > h ? a : a . substring ( 0 , h ) , a = 0 > h ? "" : a . substring ( h ) , b . chars && b . chars ( g ( p ) ) ) ) , a == F ) throw l ( "badparse" , a ) ; F = a } e ( ) } function g ( a ) { return a ? ( K . innerHTML = a . replace ( /</g , "<" ) , K . textContent ) :
"" } function c ( a ) { return a . replace ( /&/g , "&" ) . replace ( F , function ( a ) { var b = a . charCodeAt ( 0 ) ; return a = a . charCodeAt ( 1 ) , "&#" + ( 1024 * ( b - 55296 ) + ( a - 56320 ) + 65536 ) + ";" } ) . replace ( p , function ( a ) { return "&#" + a . charCodeAt ( 0 ) + ";" } ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) } function t ( a , b ) { var e = ! 1 , g = f . bind ( a , a . push ) ; return { start : function ( a , h , k ) { a = f . lowercase ( a ) ; ! e && I [ a ] && ( e = a ) ; e || ! 0 !== O [ a ] || ( g ( "<" ) , g ( a ) , f . forEach ( h , function ( e , h ) { var k = f . lowercase ( h ) , l = "img" === a && "src" === k || "background" === k ; ! 0 !== Y [ k ] || ! 0 === T [ k ] &&
! b ( e , l ) || ( g ( " " ) , g ( h ) , g ( '="' ) , g ( c ( e ) ) , g ( '"' ) ) } ) , g ( k ? "/>" : ">" ) ) } , end : function ( a ) { a = f . lowercase ( a ) ; e || ! 0 !== O [ a ] || ( g ( "</" ) , g ( a ) , g ( ">" ) ) ; a == e && ( e = ! 1 ) } , chars : function ( a ) { e || g ( c ( a ) ) } } } var l = f . $$minErr ( "$sanitize" ) , n = /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/ , r = /^<\/\s*([\w:-]+)[^>]*>/ , w = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g , q = /^</ , z = /^<\// , y = /\x3c!--(.*?)--\x3e/g , D = /<!DOCTYPE([^>]*?)>/i , A = /<!\[CDATA\[(.*?)]]\x3e/g ,
F = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g , p = /([^\#-~| |!])/g , u = e ( "area,br,col,hr,img,wbr" ) ; b = e ( "colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr" ) ; h = e ( "rp,rt" ) ; var J = f . extend ( { } , h , b ) , M = f . extend ( { } , b , e ( "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" ) ) , H = f . extend ( { } , h , e ( "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 = e ( "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 I = e ( "script,style" ) , O = f . extend ( { } , u , M , H , J , b ) , T = e ( "background,cite,href,longdesc,src,usemap,xlink:href" ) ; b = e ( "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 = e ( "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 Y = f . extend ( { } , T , h , b ) , K = 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 ( k ( a ) ) } function l ( 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 ) ) , l ( p , n [ 0 ] . replace ( c , "" ) ) , r = r . substring ( q + n [ 0 ] . length ) ; return h ( r ) , a ( t . join ( "" ) ) } } ] ) } ) ( window , window . angular ) ;