2016-02-22 16:27:45 +03:00
/*eslint no-unused-vars: 0*/
/*eslint strict: 0*/
var $buoop = { vs : { i : 9 , f : 25 , o : 12.1 , s : 7 } , c : 2 } ;
function $buo _f ( ) {
var e = document . createElement ( 'script' ) ;
e . src = '//browser-update.org/update.min.js' ;
document . body . appendChild ( e ) ;
}
try { document . addEventListener ( 'DOMContentLoaded' , $buo _f , false ) ; }
catch ( e ) { window . attachEvent ( 'onload' , $buo _f ) ; }
! function ( t ) { function e ( r ) { if ( n [ r ] ) return n [ r ] . exports ; var o = n [ r ] = { exports : { } , id : r , loaded : ! 1 } ; return t [ r ] . call ( o . exports , o , o . exports , e ) , o . loaded = ! 0 , o . exports } var n = { } ; return e . m = t , e . c = n , e . p = "" , e ( 0 ) } ( [ function ( t , exports , e ) { ( function ( t ) { "use strict" ; var n = e ( 1 ) , r = e ( 2 ) , o = e ( 6 ) , i = e ( 10 ) ; o . Zone . prototype . scheduleMicrotask ? console . warn ( "Zone-microtasks already exported on window the object!" ) : ( n . addMicrotaskSupport ( o . Zone ) , t . Zone = o . Zone , t . zone = new t . Zone , t . Promise = r . Promise , i . apply ( ) ) } ) . call ( exports , function ( ) { return this } ( ) ) } , function ( t , exports , e ) { ( function ( t ) { function n ( t ) { u . _asap ( this . bind ( t ) ) } function r ( t ) { return t . prototype . scheduleMicrotask = n , t } var o , i = "undefined" != typeof Promise && - 1 !== Promise . toString ( ) . indexOf ( "[native code]" ) , a = t . navigator && t . navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) > - 1 ; i && ! a && ( o = Promise . resolve ( ) ) ; var u = e ( 2 ) . Promise ; o && u . _setScheduler ( function ( t ) { o . then ( t ) } ) , u . _setAsap ( function ( e , n ) { t . zone . scheduleMicrotask ( function ( ) { e ( n ) } ) } ) , exports . addMicrotaskSupport = r } ) . call ( exports , function ( ) { return this } ( ) ) } , function ( t , exports , e ) { var n ; ( function ( t , r ) { / * !
* @ overview es6 - promise - a tiny implementation of Promises / A + .
* @ copyright Copyright ( c ) 2014 Yehuda Katz , Tom Dale , Stefan Penner and contributors ( Conversion to ES6 API by Jake Archibald )
* @ license Licensed under MIT license
* See https : //raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
* @ version 3.0 . 2
* /
( function ( ) { "use strict" ; function o ( t ) { return "function" == typeof t || "object" == typeof t && null !== t } function i ( t ) { return "function" == typeof t } function a ( t ) { return "object" == typeof t && null !== t } function u ( t ) { U = t } function c ( t ) { J = t } function s ( ) { return function ( ) { process . nextTick ( h ) } } function p ( ) { return function ( ) { X ( h ) } } function f ( ) { var t = 0 , e = new Q ( h ) , n = document . createTextNode ( "" ) ; return e . observe ( n , { characterData : ! 0 } ) , function ( ) { n . data = t = ++ t % 2 } } function l ( ) { var t = new MessageChannel ; return t . port1 . onmessage = h , function ( ) { t . port2 . postMessage ( 0 ) } } function d ( ) { return function ( ) { setTimeout ( h , 1 ) } } function h ( ) { for ( var t = 0 ; Y > t ; t += 2 ) { var e = nt [ t ] , n = nt [ t + 1 ] ; e ( n ) , nt [ t ] = void 0 , nt [ t + 1 ] = void 0 } Y = 0 } function v ( ) { try { var t = e ( 4 ) ; return X = t . runOnLoop || t . runOnContext , p ( ) } catch ( n ) { return d ( ) } } function y ( ) { } function m ( ) { return new TypeError ( "You cannot resolve a promise with itself" ) } function g ( ) { return new TypeError ( "A promises callback cannot return that same promise." ) } function b ( t ) { try { return t . then } catch ( e ) { return at . error = e , at } } function w ( t , e , n , r ) { try { t . call ( e , n , r ) } catch ( o ) { return o } } function k ( t , e , n ) { J ( function ( t ) { var r = ! 1 , o = w ( n , e , function ( n ) { r || ( r = ! 0 , e !== n ? T ( t , n ) : O ( t , n ) ) } , function ( e ) { r || ( r = ! 0 , j ( t , e ) ) } , "Settle: " + ( t . _label || " unknown promise" ) ) ; ! r && o && ( r = ! 0 , j ( t , o ) ) } , t ) } function E ( t , e ) { e . _state === ot ? O ( t , e . _result ) : e . _state === it ? j ( t , e . _result ) : S ( e , void 0 , function ( e ) { T ( t , e ) } , function ( e ) { j ( t , e ) } ) } function _ ( t , e ) { if ( e . constructor === t . constructor ) E ( t , e ) ; else { var n = b ( e ) ; n === at ? j ( t , at . error ) : void 0 === n ? O ( t , e ) : i ( n ) ? k ( t , e , n ) : O ( t , e ) } } function T ( t , e ) { t === e ? j ( t , m ( ) ) : o ( e ) ? _ ( t , e ) : O ( t , e ) } function P ( t ) { t . _onerror && t . _onerror ( t . _result ) , L ( t ) } function O ( t , e ) { t . _state === rt && ( t . _result = e , t . _state = ot , 0 !== t . _subscribers . length && J ( L , t ) ) } function j ( t , e ) { t . _state === rt && ( t . _state = it , t . _result = e , J ( P , t ) ) } function S ( t , e , n , r ) { var o = t . _subscribers , i = o . length ; t . _onerror = null , o [ i ] = e , o [ i + ot ] = n , o [ i + it ] = r , 0 === i && t . _state && J ( L , t ) } function L ( t ) { var e = t . _subscribers , n = t . _state ; if ( 0 !== e . length ) { for ( var r , o , i = t . _result , a = 0 ; a < e . length ; a += 3 ) r = e [ a ] , o = e [ a + n ] , r ? A ( n , r , o , i ) : o ( i ) ; t . _subscribers . length = 0 } } function M ( ) { this . error = null } function z ( t , e ) { try { return t ( e ) } catch ( n ) { return ut . error = n , ut } } function A ( t , e , n , r ) { var o , a , u , c , s = i ( n ) ; if ( s ) { if ( o = z ( n , r ) , o === ut ? ( c = ! 0 , a = o . error , o = null ) : u = ! 0 , e === o ) return void j ( e , g ( ) ) } else o = r , u = ! 0 ; e . _state !== rt || ( s && u ? T ( e , o ) : c ? j ( e , a ) : t === ot ? O ( e , o ) : t === it && j ( e , o ) ) } function x ( t , e ) { try { e ( function ( e ) { T ( t , e ) } , function ( e ) { j ( t , e ) } ) } catch ( n ) { j ( t , n ) } } function C ( t , e ) { var n = this ; n . _instanceConstructor = t , n . promise = new t ( y ) , n . _validateInput ( e ) ? ( n . _input = e , n . length = e . length , n . _remaining = e . length , n . _init ( ) , 0 === n . length ? O ( n . promise , n . _result ) : ( n . length = n . length || 0 , n . _enumerate ( ) , 0 === n . _remaining && O ( n . promise , n . _result ) ) ) : j ( n . promise , n . _validationError ( ) ) } function R ( t ) { return new ct ( this , t ) . promise } function q ( t ) { function e ( t ) { T ( o , t ) } function n ( t ) { j ( o , t ) } var r = this , o = new r ( y ) ; if ( ! K ( t ) ) return j ( o , new TypeError ( "You must pass an array to race." ) ) , o ; for ( var i = t . length , a = 0 ; o . _state === rt && i > a ; a ++ ) S ( r . resolve ( t [ a ] ) , void 0 , e , n ) ; return o } function F ( t ) { var e = this ; if ( t && "object" == typeof t && t . constructor === e ) return t ; var n = new e ( y ) ; return T ( n , t ) , n } function W ( t ) { var e = this , n = new e ( y ) ; return j ( n , t ) , n } function Z ( ) { throw new TypeError ( "You must pass a resolver function as the first argument to the promise constructor" ) } function I ( ) { throw new TypeError ( "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function." ) } function N ( t ) { this . _id = dt ++ , this . _state = void 0 , this . _result = void 0 , this . _subscribers = [ ] , y !== t && ( i ( t ) || Z ( ) , this instanceof N || I ( ) , x ( this , t ) ) } function H ( ) { var e ; if ( "undefined" != typeof t ) e = t ; else if ( "undefined" != typeof self ) e = self ; else try { e = Function ( "return this" ) ( ) } catch ( n ) { throw new Error ( "polyfill failed because global object is unavailable in this environment" ) } var r = e . Promise ; ( ! r || "[object Promise]" !== Object . prototype . toString . call ( r . resolve ( ) ) || r . cast ) && ( e . Promise = ht ) } var D ; D = Array . isArray ? Array . isArray : function ( t ) { return "[object Array]" === Object . prototype . toString . call ( t ) } ; var X , U , G , K = D , Y = 0 , J = ( { } . toString , function ( t , e ) { nt [ Y ] = t , n
2016-01-25 00:27:39 +03:00
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Copyright ( C ) Microsoft . All rights reserved .
Licensed under the Apache License , Version 2.0 ( the "License" ) ; you may not use
this file except in compliance with the License . You may obtain a copy of the
License at http : //www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN * AS IS * BASIS , WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND , EITHER EXPRESS OR IMPLIED , INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE , FITNESS FOR A PARTICULAR PURPOSE ,
MERCHANTABLITY OR NON - INFRINGEMENT .
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
var Reflect ;
( function ( Reflect ) {
2016-03-15 00:33:50 +03:00
"use strict" ;
2016-01-25 00:27:39 +03:00
// Load global or shim versions of Map, Set, and WeakMap
var functionPrototype = Object . getPrototypeOf ( Function ) ;
var _Map = typeof Map === "function" ? Map : CreateMapPolyfill ( ) ;
var _Set = typeof Set === "function" ? Set : CreateSetPolyfill ( ) ;
var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill ( ) ;
// [[Metadata]] internal slot
var _ _Metadata _ _ = new _WeakMap ( ) ;
/ * *
* Applies a set of decorators to a property of a target object .
* @ param decorators An array of decorators .
* @ param target The target object .
* @ param targetKey ( Optional ) The property key to decorate .
* @ param targetDescriptor ( Optional ) The property descriptor for the target key
* @ remarks Decorators are applied in reverse order .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* C = Reflect . decorate ( decoratorsArray , C ) ;
*
* // property (on constructor)
* Reflect . decorate ( decoratorsArray , C , "staticProperty" ) ;
*
* // property (on prototype)
* Reflect . decorate ( decoratorsArray , C . prototype , "property" ) ;
*
* // method (on constructor)
* Object . defineProperty ( C , "staticMethod" ,
* Reflect . decorate ( decoratorsArray , C , "staticMethod" ,
* Object . getOwnPropertyDescriptor ( C , "staticMethod" ) ) ) ;
*
* // method (on prototype)
* Object . defineProperty ( C . prototype , "method" ,
* Reflect . decorate ( decoratorsArray , C . prototype , "method" ,
* Object . getOwnPropertyDescriptor ( C . prototype , "method" ) ) ) ;
*
* /
function decorate ( decorators , target , targetKey , targetDescriptor ) {
if ( ! IsUndefined ( targetDescriptor ) ) {
if ( ! IsArray ( decorators ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( IsUndefined ( targetKey ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsObject ( targetDescriptor ) ) {
throw new TypeError ( ) ;
}
targetKey = ToPropertyKey ( targetKey ) ;
return DecoratePropertyWithDescriptor ( decorators , target , targetKey , targetDescriptor ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
if ( ! IsArray ( decorators ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
targetKey = ToPropertyKey ( targetKey ) ;
return DecoratePropertyWithoutDescriptor ( decorators , target , targetKey ) ;
}
else {
if ( ! IsArray ( decorators ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsConstructor ( target ) ) {
throw new TypeError ( ) ;
}
return DecorateConstructor ( decorators , target ) ;
}
}
Reflect . decorate = decorate ;
/ * *
* A default metadata decorator factory that can be used on a class , class member , or parameter .
* @ param metadataKey The key for the metadata entry .
* @ param metadataValue The value for the metadata entry .
* @ returns A decorator function .
* @ remarks
* If ` metadataKey ` is already defined for the target and target key , the
* metadataValue for that key will be overwritten .
* @ example
*
* // constructor
* @ Reflect . metadata ( key , value )
* class C {
* }
*
* // property (on constructor, TypeScript only)
* class C {
* @ Reflect . metadata ( key , value )
* static staticProperty ;
* }
*
* // property (on prototype, TypeScript only)
* class C {
* @ Reflect . metadata ( key , value )
* property ;
* }
*
* // method (on constructor)
* class C {
* @ Reflect . metadata ( key , value )
* static staticMethod ( ) { }
* }
*
* // method (on prototype)
* class C {
* @ Reflect . metadata ( key , value )
* method ( ) { }
* }
*
* /
function metadata ( metadataKey , metadataValue ) {
function decorator ( target , targetKey ) {
if ( ! IsUndefined ( targetKey ) ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
targetKey = ToPropertyKey ( targetKey ) ;
OrdinaryDefineOwnMetadata ( metadataKey , metadataValue , target , targetKey ) ;
}
else {
if ( ! IsConstructor ( target ) ) {
throw new TypeError ( ) ;
}
2016-03-15 00:33:50 +03:00
OrdinaryDefineOwnMetadata ( metadataKey , metadataValue , target , /*targetKey*/ undefined ) ;
2016-01-25 00:27:39 +03:00
}
}
return decorator ;
}
Reflect . metadata = metadata ;
/ * *
* Define a unique metadata entry on the target .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param metadataValue A value that contains attached metadata .
* @ param target The target object on which to define metadata .
* @ param targetKey ( Optional ) The property key for the target .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* Reflect . defineMetadata ( "custom:annotation" , options , C ) ;
*
* // property (on constructor)
* Reflect . defineMetadata ( "custom:annotation" , options , C , "staticProperty" ) ;
*
* // property (on prototype)
* Reflect . defineMetadata ( "custom:annotation" , options , C . prototype , "property" ) ;
*
* // method (on constructor)
* Reflect . defineMetadata ( "custom:annotation" , options , C , "staticMethod" ) ;
*
* // method (on prototype)
* Reflect . defineMetadata ( "custom:annotation" , options , C . prototype , "method" ) ;
*
* // decorator factory as metadata-producing annotation.
* function MyAnnotation ( options ) : Decorator {
* return ( target , key ? ) => Reflect . defineMetadata ( "custom:annotation" , options , target , key ) ;
* }
*
* /
function defineMetadata ( metadataKey , metadataValue , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryDefineOwnMetadata ( metadataKey , metadataValue , target , targetKey ) ;
}
Reflect . defineMetadata = defineMetadata ;
/ * *
* Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns ` true ` if the metadata key was defined on the target object or its prototype chain ; otherwise , ` false ` .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . hasMetadata ( "custom:annotation" , C ) ;
*
* // property (on constructor)
* result = Reflect . hasMetadata ( "custom:annotation" , C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . hasMetadata ( "custom:annotation" , C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . hasMetadata ( "custom:annotation" , C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . hasMetadata ( "custom:annotation" , C . prototype , "method" ) ;
*
* /
function hasMetadata ( metadataKey , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryHasMetadata ( metadataKey , target , targetKey ) ;
}
Reflect . hasMetadata = hasMetadata ;
/ * *
* Gets a value indicating whether the target object has the provided metadata key defined .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns ` true ` if the metadata key was defined on the target object ; otherwise , ` false ` .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . hasOwnMetadata ( "custom:annotation" , C ) ;
*
* // property (on constructor)
* result = Reflect . hasOwnMetadata ( "custom:annotation" , C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . hasOwnMetadata ( "custom:annotation" , C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . hasOwnMetadata ( "custom:annotation" , C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . hasOwnMetadata ( "custom:annotation" , C . prototype , "method" ) ;
*
* /
function hasOwnMetadata ( metadataKey , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryHasOwnMetadata ( metadataKey , target , targetKey ) ;
}
Reflect . hasOwnMetadata = hasOwnMetadata ;
/ * *
* Gets the metadata value for the provided metadata key on the target object or its prototype chain .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns The metadata value for the metadata key if found ; otherwise , ` undefined ` .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . getMetadata ( "custom:annotation" , C ) ;
*
* // property (on constructor)
* result = Reflect . getMetadata ( "custom:annotation" , C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . getMetadata ( "custom:annotation" , C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . getMetadata ( "custom:annotation" , C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . getMetadata ( "custom:annotation" , C . prototype , "method" ) ;
*
* /
function getMetadata ( metadataKey , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryGetMetadata ( metadataKey , target , targetKey ) ;
}
Reflect . getMetadata = getMetadata ;
/ * *
* Gets the metadata value for the provided metadata key on the target object .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns The metadata value for the metadata key if found ; otherwise , ` undefined ` .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . getOwnMetadata ( "custom:annotation" , C ) ;
*
* // property (on constructor)
* result = Reflect . getOwnMetadata ( "custom:annotation" , C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . getOwnMetadata ( "custom:annotation" , C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . getOwnMetadata ( "custom:annotation" , C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . getOwnMetadata ( "custom:annotation" , C . prototype , "method" ) ;
*
* /
function getOwnMetadata ( metadataKey , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryGetOwnMetadata ( metadataKey , target , targetKey ) ;
}
Reflect . getOwnMetadata = getOwnMetadata ;
/ * *
* Gets the metadata keys defined on the target object or its prototype chain .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns An array of unique metadata keys .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . getMetadataKeys ( C ) ;
*
* // property (on constructor)
* result = Reflect . getMetadataKeys ( C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . getMetadataKeys ( C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . getMetadataKeys ( C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . getMetadataKeys ( C . prototype , "method" ) ;
*
* /
function getMetadataKeys ( target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryMetadataKeys ( target , targetKey ) ;
}
Reflect . getMetadataKeys = getMetadataKeys ;
/ * *
* Gets the unique metadata keys defined on the target object .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns An array of unique metadata keys .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . getOwnMetadataKeys ( C ) ;
*
* // property (on constructor)
* result = Reflect . getOwnMetadataKeys ( C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . getOwnMetadataKeys ( C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . getOwnMetadataKeys ( C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . getOwnMetadataKeys ( C . prototype , "method" ) ;
*
* /
function getOwnMetadataKeys ( target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
return OrdinaryOwnMetadataKeys ( target , targetKey ) ;
}
Reflect . getOwnMetadataKeys = getOwnMetadataKeys ;
/ * *
* Deletes the metadata entry from the target object with the provided key .
* @ param metadataKey A key used to store and retrieve metadata .
* @ param target The target object on which the metadata is defined .
* @ param targetKey ( Optional ) The property key for the target .
* @ returns ` true ` if the metadata entry was found and deleted ; otherwise , false .
* @ example
*
* class C {
* // property declarations are not part of ES6, though they are valid in TypeScript:
* // static staticProperty;
* // property;
*
* constructor ( p ) { }
* static staticMethod ( p ) { }
* method ( p ) { }
* }
*
* // constructor
* result = Reflect . deleteMetadata ( "custom:annotation" , C ) ;
*
* // property (on constructor)
* result = Reflect . deleteMetadata ( "custom:annotation" , C , "staticProperty" ) ;
*
* // property (on prototype)
* result = Reflect . deleteMetadata ( "custom:annotation" , C . prototype , "property" ) ;
*
* // method (on constructor)
* result = Reflect . deleteMetadata ( "custom:annotation" , C , "staticMethod" ) ;
*
* // method (on prototype)
* result = Reflect . deleteMetadata ( "custom:annotation" , C . prototype , "method" ) ;
*
* /
function deleteMetadata ( metadataKey , target , targetKey ) {
if ( ! IsObject ( target ) ) {
throw new TypeError ( ) ;
}
else if ( ! IsUndefined ( targetKey ) ) {
targetKey = ToPropertyKey ( targetKey ) ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#deletemetadata-metadatakey-p-
2016-03-15 00:33:50 +03:00
var metadataMap = GetOrCreateMetadataMap ( target , targetKey , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( IsUndefined ( metadataMap ) ) {
return false ;
}
if ( ! metadataMap . delete ( metadataKey ) ) {
return false ;
}
if ( metadataMap . size > 0 ) {
return true ;
}
var targetMetadata = _ _Metadata _ _ . get ( target ) ;
targetMetadata . delete ( targetKey ) ;
if ( targetMetadata . size > 0 ) {
return true ;
}
_ _Metadata _ _ . delete ( target ) ;
return true ;
}
Reflect . deleteMetadata = deleteMetadata ;
function DecorateConstructor ( decorators , target ) {
for ( var i = decorators . length - 1 ; i >= 0 ; -- i ) {
var decorator = decorators [ i ] ;
var decorated = decorator ( target ) ;
if ( ! IsUndefined ( decorated ) ) {
if ( ! IsConstructor ( decorated ) ) {
throw new TypeError ( ) ;
}
target = decorated ;
}
}
return target ;
}
function DecoratePropertyWithDescriptor ( decorators , target , propertyKey , descriptor ) {
for ( var i = decorators . length - 1 ; i >= 0 ; -- i ) {
var decorator = decorators [ i ] ;
var decorated = decorator ( target , propertyKey , descriptor ) ;
if ( ! IsUndefined ( decorated ) ) {
if ( ! IsObject ( decorated ) ) {
throw new TypeError ( ) ;
}
descriptor = decorated ;
}
}
return descriptor ;
}
function DecoratePropertyWithoutDescriptor ( decorators , target , propertyKey ) {
for ( var i = decorators . length - 1 ; i >= 0 ; -- i ) {
var decorator = decorators [ i ] ;
decorator ( target , propertyKey ) ;
}
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#getorcreatemetadatamap--o-p-create-
function GetOrCreateMetadataMap ( target , targetKey , create ) {
var targetMetadata = _ _Metadata _ _ . get ( target ) ;
if ( ! targetMetadata ) {
if ( ! create ) {
return undefined ;
}
targetMetadata = new _Map ( ) ;
_ _Metadata _ _ . set ( target , targetMetadata ) ;
}
var keyMetadata = targetMetadata . get ( targetKey ) ;
if ( ! keyMetadata ) {
if ( ! create ) {
return undefined ;
}
keyMetadata = new _Map ( ) ;
targetMetadata . set ( targetKey , keyMetadata ) ;
}
return keyMetadata ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinaryhasmetadata--metadatakey-o-p-
function OrdinaryHasMetadata ( MetadataKey , O , P ) {
var hasOwn = OrdinaryHasOwnMetadata ( MetadataKey , O , P ) ;
if ( hasOwn ) {
return true ;
}
var parent = GetPrototypeOf ( O ) ;
if ( parent !== null ) {
return OrdinaryHasMetadata ( MetadataKey , parent , P ) ;
}
return false ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinaryhasownmetadata--metadatakey-o-p-
function OrdinaryHasOwnMetadata ( MetadataKey , O , P ) {
2016-03-15 00:33:50 +03:00
var metadataMap = GetOrCreateMetadataMap ( O , P , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( metadataMap === undefined ) {
return false ;
}
return Boolean ( metadataMap . has ( MetadataKey ) ) ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinarygetmetadata--metadatakey-o-p-
function OrdinaryGetMetadata ( MetadataKey , O , P ) {
var hasOwn = OrdinaryHasOwnMetadata ( MetadataKey , O , P ) ;
if ( hasOwn ) {
return OrdinaryGetOwnMetadata ( MetadataKey , O , P ) ;
}
var parent = GetPrototypeOf ( O ) ;
if ( parent !== null ) {
return OrdinaryGetMetadata ( MetadataKey , parent , P ) ;
}
return undefined ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinarygetownmetadata--metadatakey-o-p-
function OrdinaryGetOwnMetadata ( MetadataKey , O , P ) {
2016-03-15 00:33:50 +03:00
var metadataMap = GetOrCreateMetadataMap ( O , P , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( metadataMap === undefined ) {
return undefined ;
}
return metadataMap . get ( MetadataKey ) ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinarydefineownmetadata--metadatakey-metadatavalue-o-p-
function OrdinaryDefineOwnMetadata ( MetadataKey , MetadataValue , O , P ) {
2016-03-15 00:33:50 +03:00
var metadataMap = GetOrCreateMetadataMap ( O , P , /*create*/ true ) ;
2016-01-25 00:27:39 +03:00
metadataMap . set ( MetadataKey , MetadataValue ) ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinarymetadatakeys--o-p-
function OrdinaryMetadataKeys ( O , P ) {
var ownKeys = OrdinaryOwnMetadataKeys ( O , P ) ;
var parent = GetPrototypeOf ( O ) ;
if ( parent === null ) {
return ownKeys ;
}
var parentKeys = OrdinaryMetadataKeys ( parent , P ) ;
if ( parentKeys . length <= 0 ) {
return ownKeys ;
}
if ( ownKeys . length <= 0 ) {
return parentKeys ;
}
var set = new _Set ( ) ;
var keys = [ ] ;
for ( var _i = 0 ; _i < ownKeys . length ; _i ++ ) {
var key = ownKeys [ _i ] ;
var hasKey = set . has ( key ) ;
if ( ! hasKey ) {
set . add ( key ) ;
keys . push ( key ) ;
}
}
for ( var _a = 0 ; _a < parentKeys . length ; _a ++ ) {
var key = parentKeys [ _a ] ;
var hasKey = set . has ( key ) ;
if ( ! hasKey ) {
set . add ( key ) ;
keys . push ( key ) ;
}
}
return keys ;
}
// https://github.com/jonathandturner/decorators/blob/master/specs/metadata.md#ordinaryownmetadatakeys--o-p-
function OrdinaryOwnMetadataKeys ( target , targetKey ) {
2016-03-15 00:33:50 +03:00
var metadataMap = GetOrCreateMetadataMap ( target , targetKey , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
var keys = [ ] ;
if ( metadataMap ) {
metadataMap . forEach ( function ( _ , key ) { return keys . push ( key ) ; } ) ;
}
return keys ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-language-types-undefined-type
function IsUndefined ( x ) {
return x === undefined ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
function IsArray ( x ) {
return Array . isArray ( x ) ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-type
function IsObject ( x ) {
return typeof x === "object" ? x !== null : typeof x === "function" ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
function IsConstructor ( x ) {
return typeof x === "function" ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-language-types-symbol-type
function IsSymbol ( x ) {
return typeof x === "symbol" ;
}
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
function ToPropertyKey ( value ) {
if ( IsSymbol ( value ) ) {
return value ;
}
return String ( value ) ;
}
function GetPrototypeOf ( O ) {
var proto = Object . getPrototypeOf ( O ) ;
if ( typeof O !== "function" || O === functionPrototype ) {
return proto ;
}
// TypeScript doesn't set __proto__ in ES5, as it's non-standard.
// Try to determine the superclass constructor. Compatible implementations
// must either set __proto__ on a subclass constructor to the superclass constructor,
// or ensure each class has a valid `constructor` property on its prototype that
// points back to the constructor.
// If this is not the same as Function.[[Prototype]], then this is definately inherited.
// This is the case when in ES6 or when using __proto__ in a compatible browser.
if ( proto !== functionPrototype ) {
return proto ;
}
// If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.
var prototype = O . prototype ;
var prototypeProto = Object . getPrototypeOf ( prototype ) ;
if ( prototypeProto == null || prototypeProto === Object . prototype ) {
return proto ;
}
// if the constructor was not a function, then we cannot determine the heritage.
var constructor = prototypeProto . constructor ;
if ( typeof constructor !== "function" ) {
return proto ;
}
// if we have some kind of self-reference, then we cannot determine the heritage.
if ( constructor === O ) {
return proto ;
}
// we have a pretty good guess at the heritage.
return constructor ;
}
// naive Map shim
function CreateMapPolyfill ( ) {
var cacheSentinel = { } ;
function Map ( ) {
this . _keys = [ ] ;
this . _values = [ ] ;
this . _cache = cacheSentinel ;
}
Map . prototype = {
get size ( ) {
return this . _keys . length ;
} ,
has : function ( key ) {
if ( key === this . _cache ) {
return true ;
}
if ( this . _find ( key ) >= 0 ) {
this . _cache = key ;
return true ;
}
return false ;
} ,
get : function ( key ) {
var index = this . _find ( key ) ;
if ( index >= 0 ) {
this . _cache = key ;
return this . _values [ index ] ;
}
return undefined ;
} ,
set : function ( key , value ) {
this . delete ( key ) ;
this . _keys . push ( key ) ;
this . _values . push ( value ) ;
this . _cache = key ;
return this ;
} ,
delete : function ( key ) {
var index = this . _find ( key ) ;
if ( index >= 0 ) {
this . _keys . splice ( index , 1 ) ;
this . _values . splice ( index , 1 ) ;
this . _cache = cacheSentinel ;
return true ;
}
return false ;
} ,
clear : function ( ) {
this . _keys . length = 0 ;
this . _values . length = 0 ;
this . _cache = cacheSentinel ;
} ,
forEach : function ( callback , thisArg ) {
var size = this . size ;
for ( var i = 0 ; i < size ; ++ i ) {
var key = this . _keys [ i ] ;
var value = this . _values [ i ] ;
this . _cache = key ;
callback . call ( this , value , key , this ) ;
}
} ,
_find : function ( key ) {
var keys = this . _keys ;
var size = keys . length ;
for ( var i = 0 ; i < size ; ++ i ) {
if ( keys [ i ] === key ) {
return i ;
}
}
return - 1 ;
}
} ;
return Map ;
}
// naive Set shim
function CreateSetPolyfill ( ) {
var cacheSentinel = { } ;
function Set ( ) {
this . _map = new _Map ( ) ;
}
Set . prototype = {
get size ( ) {
return this . _map . length ;
} ,
has : function ( value ) {
return this . _map . has ( value ) ;
} ,
add : function ( value ) {
this . _map . set ( value , value ) ;
return this ;
} ,
delete : function ( value ) {
return this . _map . delete ( value ) ;
} ,
clear : function ( ) {
this . _map . clear ( ) ;
} ,
forEach : function ( callback , thisArg ) {
this . _map . forEach ( callback , thisArg ) ;
}
} ;
return Set ;
}
// naive WeakMap shim
function CreateWeakMapPolyfill ( ) {
var UUID _SIZE = 16 ;
var isNode = typeof global !== "undefined" && Object . prototype . toString . call ( global . process ) === '[object process]' ;
var nodeCrypto = isNode && require ( "crypto" ) ;
var hasOwn = Object . prototype . hasOwnProperty ;
var keys = { } ;
var rootKey = CreateUniqueKey ( ) ;
function WeakMap ( ) {
this . _key = CreateUniqueKey ( ) ;
}
WeakMap . prototype = {
has : function ( target ) {
2016-03-15 00:33:50 +03:00
var table = GetOrCreateWeakMapTable ( target , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( table ) {
return this . _key in table ;
}
return false ;
} ,
get : function ( target ) {
2016-03-15 00:33:50 +03:00
var table = GetOrCreateWeakMapTable ( target , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( table ) {
return table [ this . _key ] ;
}
return undefined ;
} ,
set : function ( target , value ) {
2016-03-15 00:33:50 +03:00
var table = GetOrCreateWeakMapTable ( target , /*create*/ true ) ;
2016-01-25 00:27:39 +03:00
table [ this . _key ] = value ;
return this ;
} ,
delete : function ( target ) {
2016-03-15 00:33:50 +03:00
var table = GetOrCreateWeakMapTable ( target , /*create*/ false ) ;
2016-01-25 00:27:39 +03:00
if ( table && this . _key in table ) {
return delete table [ this . _key ] ;
}
return false ;
} ,
clear : function ( ) {
// NOTE: not a real clear, just makes the previous data unreachable
this . _key = CreateUniqueKey ( ) ;
}
} ;
function FillRandomBytes ( buffer , size ) {
for ( var i = 0 ; i < size ; ++ i ) {
buffer [ i ] = Math . random ( ) * 255 | 0 ;
}
}
function GenRandomBytes ( size ) {
if ( nodeCrypto ) {
var data = nodeCrypto . randomBytes ( size ) ;
return data ;
}
else if ( typeof Uint8Array === "function" ) {
var data = new Uint8Array ( size ) ;
if ( typeof crypto !== "undefined" ) {
crypto . getRandomValues ( data ) ;
}
else if ( typeof msCrypto !== "undefined" ) {
msCrypto . getRandomValues ( data ) ;
}
else {
FillRandomBytes ( data , size ) ;
}
return data ;
}
else {
var data = new Array ( size ) ;
FillRandomBytes ( data , size ) ;
return data ;
}
}
function CreateUUID ( ) {
var data = GenRandomBytes ( UUID _SIZE ) ;
// mark as random - RFC 4122 § 4.4
data [ 6 ] = data [ 6 ] & 0x4f | 0x40 ;
data [ 8 ] = data [ 8 ] & 0xbf | 0x80 ;
var result = "" ;
for ( var offset = 0 ; offset < UUID _SIZE ; ++ offset ) {
var byte = data [ offset ] ;
if ( offset === 4 || offset === 6 || offset === 8 ) {
result += "-" ;
}
if ( byte < 16 ) {
result += "0" ;
}
result += byte . toString ( 16 ) . toLowerCase ( ) ;
}
return result ;
}
function CreateUniqueKey ( ) {
var key ;
do {
key = "@@WeakMap@@" + CreateUUID ( ) ;
} while ( hasOwn . call ( keys , key ) ) ;
keys [ key ] = true ;
return key ;
}
function GetOrCreateWeakMapTable ( target , create ) {
if ( ! hasOwn . call ( target , rootKey ) ) {
if ( ! create ) {
return undefined ;
}
Object . defineProperty ( target , rootKey , { value : Object . create ( null ) } ) ;
}
return target [ rootKey ] ;
}
return WeakMap ;
}
// hook global Reflect
( function ( _ _global ) {
if ( typeof _ _global . Reflect !== "undefined" ) {
if ( _ _global . Reflect !== Reflect ) {
for ( var p in Reflect ) {
_ _global . Reflect [ p ] = Reflect [ p ] ;
}
}
}
else {
_ _global . Reflect = Reflect ;
}
} ) ( typeof window !== "undefined" ? window :
typeof WorkerGlobalScope !== "undefined" ? self :
typeof global !== "undefined" ? global :
Function ( "return this;" ) ( ) ) ;
} ) ( Reflect || ( Reflect = { } ) ) ;
2016-03-15 00:33:50 +03:00
! function e ( t , n , r ) { function s ( i , u ) { if ( ! n [ i ] ) { if ( ! t [ i ] ) { var c = "function" == typeof require && require ; if ( ! u && c ) return c ( i , ! 0 ) ; if ( o ) return o ( i , ! 0 ) ; var a = new Error ( "Cannot find module '" + i + "'" ) ; throw a . code = "MODULE_NOT_FOUND" , a } var f = n [ i ] = { exports : { } } ; t [ i ] [ 0 ] . call ( f . exports , function ( n ) { var e = t [ i ] [ 1 ] [ n ] ; return s ( e ? e : n ) } , f , f . exports , e , t , n , r ) } return n [ i ] . exports } for ( var o = "function" == typeof require && require , i = 0 ; i < r . length ; i ++ ) s ( r [ i ] ) ; return s } ( { 1 : [ function ( t , n , e ) { ( function ( n ) { "use strict" ; if ( t ( 189 ) , t ( 2 ) , n . _babelPolyfill ) throw new Error ( "only one instance of babel-polyfill is allowed" ) ; n . _babelPolyfill = ! 0 } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 189 : 189 , 2 : 2 } ] , 2 : [ function ( t , n , e ) { n . exports = t ( 190 ) } , { 190 : 190 } ] , 3 : [ function ( t , n , e ) { n . exports = function ( t ) { if ( "function" != typeof t ) throw TypeError ( t + " is not a function!" ) ; return t } } , { } ] , 4 : [ function ( t , n , e ) { var r = t ( 84 ) ( "unscopables" ) , o = Array . prototype ; void 0 == o [ r ] && t ( 32 ) ( o , r , { } ) , n . exports = function ( t ) { o [ r ] [ t ] = ! 0 } } , { 32 : 32 , 84 : 84 } ] , 5 : [ function ( t , n , e ) { var r = t ( 39 ) ; n . exports = function ( t ) { if ( ! r ( t ) ) throw TypeError ( t + " is not an object!" ) ; return t } } , { 39 : 39 } ] , 6 : [ function ( t , n , e ) { "use strict" ; var r = t ( 81 ) , o = t ( 77 ) , i = t ( 80 ) ; n . exports = [ ] . copyWithin || function copyWithin ( t , n ) { var e = r ( this ) , u = i ( e . length ) , c = o ( t , u ) , a = o ( n , u ) , s = arguments , f = s . length > 2 ? s [ 2 ] : void 0 , l = Math . min ( ( void 0 === f ? u : o ( f , u ) ) - a , u - c ) , h = 1 ; for ( c > a && a + l > c && ( h = - 1 , a += l - 1 , c += l - 1 ) ; l -- > 0 ; ) a in e ? e [ c ] = e [ a ] : delete e [ c ] , c += h , a += h ; return e } } , { 77 : 77 , 80 : 80 , 81 : 81 } ] , 7 : [ function ( t , n , e ) { "use strict" ; var r = t ( 81 ) , o = t ( 77 ) , i = t ( 80 ) ; n . exports = [ ] . fill || function fill ( t ) { for ( var n = r ( this ) , e = i ( n . length ) , u = arguments , c = u . length , a = o ( c > 1 ? u [ 1 ] : void 0 , e ) , s = c > 2 ? u [ 2 ] : void 0 , f = void 0 === s ? e : o ( s , e ) ; f > a ; ) n [ a ++ ] = t ; return n } } , { 77 : 77 , 80 : 80 , 81 : 81 } ] , 8 : [ function ( t , n , e ) { var r = t ( 79 ) , o = t ( 80 ) , i = t ( 77 ) ; n . exports = function ( t ) { return function ( n , e , u ) { var c , a = r ( n ) , s = o ( a . length ) , f = i ( u , s ) ; if ( t && e != e ) { for ( ; s > f ; ) if ( c = a [ f ++ ] , c != c ) return ! 0 } else for ( ; s > f ; f ++ ) if ( ( t || f in a ) && a [ f ] === e ) return t || f ; return ! t && - 1 } } } , { 77 : 77 , 79 : 79 , 80 : 80 } ] , 9 : [ function ( t , n , e ) { var r = t ( 18 ) , o = t ( 35 ) , i = t ( 81 ) , u = t ( 80 ) , c = t ( 10 ) ; n . exports = function ( t ) { var n = 1 == t , e = 2 == t , a = 3 == t , s = 4 == t , f = 6 == t , l = 5 == t || f ; return function ( h , p , v ) { for ( var g , y , d = i ( h ) , m = o ( d ) , x = r ( p , v , 3 ) , S = u ( m . length ) , w = 0 , b = n ? c ( h , S ) : e ? c ( h , 0 ) : void 0 ; S > w ; w ++ ) if ( ( l || w in m ) && ( g = m [ w ] , y = x ( g , w , d ) , t ) ) if ( n ) b [ w ] = y ; else if ( y ) switch ( t ) { case 3 : return ! 0 ; case 5 : return g ; case 6 : return w ; case 2 : b . push ( g ) } else if ( s ) return ! 1 ; return f ? - 1 : a || s ? s : b } } } , { 10 : 10 , 18 : 18 , 35 : 35 , 80 : 80 , 81 : 81 } ] , 10 : [ function ( t , n , e ) { var r = t ( 39 ) , o = t ( 37 ) , i = t ( 84 ) ( "species" ) ; n . exports = function ( t , n ) { var e ; return o ( t ) && ( e = t . constructor , "function" != typeof e || e !== Array && ! o ( e . prototype ) || ( e = void 0 ) , r ( e ) && ( e = e [ i ] , null === e && ( e = void 0 ) ) ) , new ( void 0 === e ? Array : e ) ( n ) } } , { 37 : 37 , 39 : 39 , 84 : 84 } ] , 11 : [ function ( t , n , e ) { var r = t ( 12 ) , o = t ( 84 ) ( "toStringTag" ) , i = "Arguments" == r ( function ( ) { return arguments } ( ) ) ; n . exports = function ( t ) { var n , e , u ; return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof ( e = ( n = Object ( t ) ) [ o ] ) ? e : i ? r ( n ) : "Object" == ( u = r ( n ) ) && "function" == typeof n . callee ? "Arguments" : u } } , { 12 : 12 , 84 : 84 } ] , 12 : [ function ( t , n , e ) { var r = { } . toString ; n . exports = function ( t ) { return r . call ( t ) . slice ( 8 , - 1 ) } } , { } ] , 13 : [ function ( t , n , e ) { "use strict" ; var r = t ( 47 ) , o = t ( 32 ) , i = t ( 61 ) , u = t ( 18 ) , c = t ( 70 ) , a = t ( 19 ) , s = t ( 28 ) , f = t ( 43 ) , l = t ( 45 ) , h = t ( 83 ) ( "id" ) , p = t ( 31 ) , v = t ( 39 ) , g = t ( 66 ) , y = t ( 20 ) , d = Object . isExtensible || v , m = y ? "_s" : "size" , x = 0 , S = function ( t , n ) { if ( ! v ( t ) ) return "symbol" == typeof t ? t : ( "string" == typeof t ? "S" : "P" ) + t ; if ( ! p ( t , h ) ) { if ( ! d ( t ) ) return "F" ; if ( ! n ) return "E" ; o ( t , h , ++ x ) } return "O" + t [ h ] } , w = function ( t , n ) { var e , r = S ( n ) ; if ( "F" !== r ) return t . _i [ r ] ; for ( e = t . _f ; e ; e = e . n ) if ( e . k == n ) return e } ; n . exports = { getConstructor : function ( t , n , e , o ) { var f = t ( function ( t , i ) { c ( t , f , n ) , t . _i = r . create ( null ) , t . _f = void 0 , t . _l = void 0 , t [ m ] = 0 , void 0 != i && s ( i , e , t [ o ] , t ) } ) ; return i ( f . prototype , { clear : function clear ( ) { for ( var t = this , n = t . _i , e = t . _f ; e ; e = e . n ) e . r = ! 0 , e . p && ( e . p = e . p . n = void 0 ) , delete n [ e . i ] ; t . _f = t . _l = void 0 , t [ m ] = 0 } , "delete" : function ( t ) { var n = this , e = w ( n , t ) ; if ( e ) { var r = e . n , o = e . p ; delete n . _i [ e . i ] , e . r = ! 0 , o && ( o . n = r ) , r && ( r . p = o ) , n . _f == e && ( n . _f = r ) , n . _l == e && ( n . _l = o ) , n [ m ] -- } return ! ! e } , for
tanh : function tanh ( t ) { var n = o ( t = + t ) , e = o ( - t ) ; return n == 1 / 0 ? 1 : e == 1 / 0 ? - 1 : ( n - e ) / ( i ( t ) + i ( - t ) ) } } ) } , { 23 : 23 , 50 : 50 } ] , 114 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Math" , { trunc : function trunc ( t ) { return ( t > 0 ? Math . floor : Math . ceil ) ( t ) } } ) } , { 23 : 23 } ] , 115 : [ function ( t , n , e ) { "use strict" ; var r = t ( 47 ) , o = t ( 30 ) , i = t ( 31 ) , u = t ( 12 ) , c = t ( 82 ) , a = t ( 25 ) , s = t ( 75 ) . trim , f = "Number" , l = o [ f ] , h = l , p = l . prototype , v = u ( r . create ( p ) ) == f , g = "trim" in String . prototype , y = function ( t ) { var n = c ( t , ! 1 ) ; if ( "string" == typeof n && n . length > 2 ) { n = g ? n . trim ( ) : s ( n , 3 ) ; var e , r , o , i = n . charCodeAt ( 0 ) ; if ( 43 === i || 45 === i ) { if ( e = n . charCodeAt ( 2 ) , 88 === e || 120 === e ) return NaN } else if ( 48 === i ) { switch ( n . charCodeAt ( 1 ) ) { case 66 : case 98 : r = 2 , o = 49 ; break ; case 79 : case 111 : r = 8 , o = 55 ; break ; default : return + n } for ( var u , a = n . slice ( 2 ) , f = 0 , l = a . length ; l > f ; f ++ ) if ( u = a . charCodeAt ( f ) , 48 > u || u > o ) return NaN ; return parseInt ( a , r ) } } return + n } ; l ( " 0o1" ) && l ( "0b1" ) && ! l ( "+0x1" ) || ( l = function Number ( t ) { var n = arguments . length < 1 ? 0 : t , e = this ; return e instanceof l && ( v ? a ( function ( ) { p . valueOf . call ( e ) } ) : u ( e ) != f ) ? new h ( y ( n ) ) : y ( n ) } , r . each . call ( t ( 20 ) ? r . getNames ( h ) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger" . split ( "," ) , function ( t ) { i ( h , t ) && ! i ( l , t ) && r . setDesc ( l , t , r . getDesc ( h , t ) ) } ) , l . prototype = p , p . constructor = l , t ( 62 ) ( o , f , l ) ) } , { 12 : 12 , 20 : 20 , 25 : 25 , 30 : 30 , 31 : 31 , 47 : 47 , 62 : 62 , 75 : 75 , 82 : 82 } ] , 116 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { EPSILON : Math . pow ( 2 , - 52 ) } ) } , { 23 : 23 } ] , 117 : [ function ( t , n , e ) { var r = t ( 23 ) , o = t ( 30 ) . isFinite ; r ( r . S , "Number" , { isFinite : function isFinite ( t ) { return "number" == typeof t && o ( t ) } } ) } , { 23 : 23 , 30 : 30 } ] , 118 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { isInteger : t ( 38 ) } ) } , { 23 : 23 , 38 : 38 } ] , 119 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { isNaN : function isNaN ( t ) { return t != t } } ) } , { 23 : 23 } ] , 120 : [ function ( t , n , e ) { var r = t ( 23 ) , o = t ( 38 ) , i = Math . abs ; r ( r . S , "Number" , { isSafeInteger : function isSafeInteger ( t ) { return o ( t ) && i ( t ) <= 9007199254740991 } } ) } , { 23 : 23 , 38 : 38 } ] , 121 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { MAX _SAFE _INTEGER : 9007199254740991 } ) } , { 23 : 23 } ] , 122 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { MIN _SAFE _INTEGER : - 9007199254740991 } ) } , { 23 : 23 } ] , 123 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { parseFloat : parseFloat } ) } , { 23 : 23 } ] , 124 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Number" , { parseInt : parseInt } ) } , { 23 : 23 } ] , 125 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S + r . F , "Object" , { assign : t ( 54 ) } ) } , { 23 : 23 , 54 : 54 } ] , 126 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "freeze" , function ( t ) { return function freeze ( n ) { return t && r ( n ) ? t ( n ) : n } } ) } , { 39 : 39 , 55 : 55 } ] , 127 : [ function ( t , n , e ) { var r = t ( 79 ) ; t ( 55 ) ( "getOwnPropertyDescriptor" , function ( t ) { return function getOwnPropertyDescriptor ( n , e ) { return t ( r ( n ) , e ) } } ) } , { 55 : 55 , 79 : 79 } ] , 128 : [ function ( t , n , e ) { t ( 55 ) ( "getOwnPropertyNames" , function ( ) { return t ( 29 ) . get } ) } , { 29 : 29 , 55 : 55 } ] , 129 : [ function ( t , n , e ) { var r = t ( 81 ) ; t ( 55 ) ( "getPrototypeOf" , function ( t ) { return function getPrototypeOf ( n ) { return t ( r ( n ) ) } } ) } , { 55 : 55 , 81 : 81 } ] , 130 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "isExtensible" , function ( t ) { return function isExtensible ( n ) { return r ( n ) ? t ? t ( n ) : ! 0 : ! 1 } } ) } , { 39 : 39 , 55 : 55 } ] , 131 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "isFrozen" , function ( t ) { return function isFrozen ( n ) { return r ( n ) ? t ? t ( n ) : ! 1 : ! 0 } } ) } , { 39 : 39 , 55 : 55 } ] , 132 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "isSealed" , function ( t ) { return function isSealed ( n ) { return r ( n ) ? t ? t ( n ) : ! 1 : ! 0 } } ) } , { 39 : 39 , 55 : 55 } ] , 133 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Object" , { is : t ( 64 ) } ) } , { 23 : 23 , 64 : 64 } ] , 134 : [ function ( t , n , e ) { var r = t ( 81 ) ; t ( 55 ) ( "keys" , function ( t ) { return function keys ( n ) { return t ( r ( n ) ) } } ) } , { 55 : 55 , 81 : 81 } ] , 135 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "preventExtensions" , function ( t ) { return function preventExtensions ( n ) { return t && r ( n ) ? t ( n ) : n } } ) } , { 39 : 39 , 55 : 55 } ] , 136 : [ function ( t , n , e ) { var r = t ( 39 ) ; t ( 55 ) ( "seal" , function ( t ) { return function seal ( n ) { return t && r ( n ) ? t ( n ) : n } } ) } , { 39 : 39 , 55 : 55 } ] , 137 : [ function ( t , n , e ) { var r = t ( 23 ) ; r ( r . S , "Object" , { setPrototypeOf : t ( 65 ) . set } ) } , { 23 : 23 , 65 : 65 } ] , 138 : [ function ( t , n , e ) { "use strict" ; var r = t ( 11 ) , o = { } ; o [ t ( 84 ) ( "toStringTag" ) ] = "z" , o + "" != "[object z]" && t ( 62 ) ( Object . prototype , "toString" , function toString ( ) { return "[object " + r ( this ) + "]" } , ! 0 ) } , { 11 : 11 , 62 : 62 , 84 : 84 } ] , 139 : [
2016-01-25 00:27:39 +03:00
//# sourceMappingURL=redoc.min.js.map