babel-source 5.8.19 → 5.8.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -132,7 +132,7 @@
132
132
 
133
133
  for (var _key in _descriptor) descriptor[_key] = _descriptor[_key];
134
134
 
135
- descriptor.value = descriptor.initializer.call(target);
135
+ descriptor.value = descriptor.initializer ? descriptor.initializer.call(target) : undefined;
136
136
  Object.defineProperty(target, key, descriptor);
137
137
  };
138
138
 
@@ -278,6 +278,12 @@
278
278
  };
279
279
  };
280
280
 
281
+ babelHelpers.interopExportWildcard = function (obj, defaults) {
282
+ var newObj = defaults({}, obj);
283
+ delete newObj["default"];
284
+ return newObj;
285
+ };
286
+
281
287
  babelHelpers.interopRequireWildcard = function (obj) {
282
288
  if (obj && obj.__esModule) {
283
289
  return obj;
@@ -366,6 +372,12 @@
366
372
  return value;
367
373
  };
368
374
 
375
+ babelHelpers.newArrowCheck = function (innerThis, boundThis) {
376
+ if (innerThis !== boundThis) {
377
+ throw new TypeError("Cannot instantiate an arrow function");
378
+ }
379
+ };
380
+
369
381
  babelHelpers.classCallCheck = function (instance, Constructor) {
370
382
  if (!(instance instanceof Constructor)) {
371
383
  throw new TypeError("Cannot call a class as a function");
@@ -103,25 +103,40 @@ if (global._babelPolyfill) {
103
103
  }
104
104
  global._babelPolyfill = true;
105
105
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
106
- },{"core-js/shim":91,"regenerator/runtime":92}],3:[function(require,module,exports){
106
+ },{"core-js/shim":182,"regenerator/runtime":183}],3:[function(require,module,exports){
107
+ module.exports = function(it){
108
+ if(typeof it != 'function')throw TypeError(it + ' is not a function!');
109
+ return it;
110
+ };
111
+ },{}],4:[function(require,module,exports){
112
+ var isObject = require('./$.is-object');
113
+ module.exports = function(it){
114
+ if(!isObject(it))throw TypeError(it + ' is not an object!');
115
+ return it;
116
+ };
117
+ },{"./$.is-object":34}],5:[function(require,module,exports){
107
118
  // false -> Array#indexOf
108
119
  // true -> Array#includes
109
- var $ = require('./$');
120
+ var toIObject = require('./$.to-iobject')
121
+ , toLength = require('./$.to-length')
122
+ , toIndex = require('./$.to-index');
110
123
  module.exports = function(IS_INCLUDES){
111
124
  return function($this, el, fromIndex){
112
- var O = $.toObject($this)
113
- , length = $.toLength(O.length)
114
- , index = $.toIndex(fromIndex, length)
125
+ var O = toIObject($this)
126
+ , length = toLength(O.length)
127
+ , index = toIndex(fromIndex, length)
115
128
  , value;
129
+ // Array#includes uses SameValueZero equality algorithm
116
130
  if(IS_INCLUDES && el != el)while(length > index){
117
131
  value = O[index++];
118
132
  if(value != value)return true;
133
+ // Array#toIndex ignores holes, Array#includes - not
119
134
  } else for(;length > index; index++)if(IS_INCLUDES || index in O){
120
135
  if(O[index] === el)return IS_INCLUDES || index;
121
136
  } return !IS_INCLUDES && -1;
122
137
  };
123
138
  };
124
- },{"./$":24}],4:[function(require,module,exports){
139
+ },{"./$.to-index":70,"./$.to-iobject":72,"./$.to-length":73}],6:[function(require,module,exports){
125
140
  // 0 -> Array#forEach
126
141
  // 1 -> Array#map
127
142
  // 2 -> Array#filter
@@ -129,8 +144,10 @@ module.exports = function(IS_INCLUDES){
129
144
  // 4 -> Array#every
130
145
  // 5 -> Array#find
131
146
  // 6 -> Array#findIndex
132
- var $ = require('./$')
133
- , ctx = require('./$.ctx');
147
+ var ctx = require('./$.ctx')
148
+ , IObject = require('./$.iobject')
149
+ , toObject = require('./$.to-object')
150
+ , toLength = require('./$.to-length');
134
151
  module.exports = function(TYPE){
135
152
  var IS_MAP = TYPE == 1
136
153
  , IS_FILTER = TYPE == 2
@@ -139,10 +156,10 @@ module.exports = function(TYPE){
139
156
  , IS_FIND_INDEX = TYPE == 6
140
157
  , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
141
158
  return function($this, callbackfn, that){
142
- var O = Object($.assertDefined($this))
143
- , self = $.ES5Object(O)
159
+ var O = toObject($this)
160
+ , self = IObject(O)
144
161
  , f = ctx(callbackfn, that, 3)
145
- , length = $.toLength(self.length)
162
+ , length = toLength(self.length)
146
163
  , index = 0
147
164
  , result = IS_MAP ? Array(length) : IS_FILTER ? [] : undefined
148
165
  , val, res;
@@ -162,37 +179,19 @@ module.exports = function(TYPE){
162
179
  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
163
180
  };
164
181
  };
165
- },{"./$":24,"./$.ctx":12}],5:[function(require,module,exports){
166
- var $ = require('./$');
167
- function assert(condition, msg1, msg2){
168
- if(!condition)throw TypeError(msg2 ? msg1 + msg2 : msg1);
169
- }
170
- assert.def = $.assertDefined;
171
- assert.fn = function(it){
172
- if(!$.isFunction(it))throw TypeError(it + ' is not a function!');
173
- return it;
174
- };
175
- assert.obj = function(it){
176
- if(!$.isObject(it))throw TypeError(it + ' is not an object!');
177
- return it;
178
- };
179
- assert.inst = function(it, Constructor, name){
180
- if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
181
- return it;
182
- };
183
- module.exports = assert;
184
- },{"./$":24}],6:[function(require,module,exports){
185
- var $ = require('./$')
186
- , enumKeys = require('./$.enum-keys');
182
+ },{"./$.ctx":15,"./$.iobject":31,"./$.to-length":73,"./$.to-object":74}],7:[function(require,module,exports){
187
183
  // 19.1.2.1 Object.assign(target, source, ...)
184
+ var toObject = require('./$.to-object')
185
+ , IObject = require('./$.iobject')
186
+ , enumKeys = require('./$.enum-keys');
188
187
  /* eslint-disable no-unused-vars */
189
188
  module.exports = Object.assign || function assign(target, source){
190
189
  /* eslint-enable no-unused-vars */
191
- var T = Object($.assertDefined(target))
190
+ var T = toObject(target)
192
191
  , l = arguments.length
193
192
  , i = 1;
194
193
  while(l > i){
195
- var S = $.ES5Object(arguments[i++])
194
+ var S = IObject(arguments[i++])
196
195
  , keys = enumKeys(S)
197
196
  , length = keys.length
198
197
  , j = 0
@@ -201,44 +200,48 @@ module.exports = Object.assign || function assign(target, source){
201
200
  }
202
201
  return T;
203
202
  };
204
- },{"./$":24,"./$.enum-keys":15}],7:[function(require,module,exports){
205
- var $ = require('./$')
206
- , TAG = require('./$.wks')('toStringTag')
207
- , toString = {}.toString;
208
- function cof(it){
209
- return toString.call(it).slice(8, -1);
210
- }
211
- cof.classof = function(it){
212
- var O, T;
213
- return it == undefined ? it === undefined ? 'Undefined' : 'Null'
214
- : typeof (T = (O = Object(it))[TAG]) == 'string' ? T : cof(O);
203
+ },{"./$.enum-keys":19,"./$.iobject":31,"./$.to-object":74}],8:[function(require,module,exports){
204
+ // getting tag from 19.1.3.6 Object.prototype.toString()
205
+ var cof = require('./$.cof')
206
+ , TAG = require('./$.wks')('toStringTag')
207
+ // ES3 wrong here
208
+ , ARG = cof(function(){ return arguments; }()) == 'Arguments';
209
+
210
+ module.exports = function(it){
211
+ var O, T, B;
212
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
213
+ // @@toStringTag case
214
+ : typeof (T = (O = Object(it))[TAG]) == 'string' ? T
215
+ // builtinTag case
216
+ : ARG ? cof(O)
217
+ // ES3 arguments fallback
218
+ : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
215
219
  };
216
- cof.set = function(it, tag, stat){
217
- if(it && !$.has(it = stat ? it : it.prototype, TAG))$.hide(it, TAG, tag);
220
+ },{"./$.cof":9,"./$.wks":77}],9:[function(require,module,exports){
221
+ var toString = {}.toString;
222
+
223
+ module.exports = function(it){
224
+ return toString.call(it).slice(8, -1);
218
225
  };
219
- module.exports = cof;
220
- },{"./$":24,"./$.wks":42}],8:[function(require,module,exports){
226
+ },{}],10:[function(require,module,exports){
221
227
  'use strict';
222
- var $ = require('./$')
223
- , ctx = require('./$.ctx')
224
- , safe = require('./$.uid').safe
225
- , assert = require('./$.assert')
226
- , forOf = require('./$.for-of')
227
- , step = require('./$.iter').step
228
- , $has = $.has
229
- , set = $.set
230
- , isObject = $.isObject
231
- , hide = $.hide
228
+ var $ = require('./$')
229
+ , hide = require('./$.hide')
230
+ , ctx = require('./$.ctx')
231
+ , species = require('./$.species')
232
+ , strictNew = require('./$.strict-new')
233
+ , defined = require('./$.defined')
234
+ , forOf = require('./$.for-of')
235
+ , step = require('./$.iter-step')
236
+ , ID = require('./$.uid')('id')
237
+ , $has = require('./$.has')
238
+ , isObject = require('./$.is-object')
232
239
  , isExtensible = Object.isExtensible || isObject
233
- , ID = safe('id')
234
- , O1 = safe('O1')
235
- , LAST = safe('last')
236
- , FIRST = safe('first')
237
- , ITER = safe('iter')
238
- , SIZE = $.DESC ? safe('size') : 'size'
239
- , id = 0;
240
-
241
- function fastKey(it, create){
240
+ , SUPPORT_DESC = require('./$.support-desc')
241
+ , SIZE = SUPPORT_DESC ? '_s' : 'size'
242
+ , id = 0;
243
+
244
+ var fastKey = function(it, create){
242
245
  // return primitive with prefix
243
246
  if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
244
247
  if(!$has(it, ID)){
@@ -250,38 +253,38 @@ function fastKey(it, create){
250
253
  hide(it, ID, ++id);
251
254
  // return object id with prefix
252
255
  } return 'O' + it[ID];
253
- }
256
+ };
254
257
 
255
- function getEntry(that, key){
258
+ var getEntry = function(that, key){
256
259
  // fast case
257
260
  var index = fastKey(key), entry;
258
- if(index !== 'F')return that[O1][index];
261
+ if(index !== 'F')return that._i[index];
259
262
  // frozen object case
260
- for(entry = that[FIRST]; entry; entry = entry.n){
263
+ for(entry = that._f; entry; entry = entry.n){
261
264
  if(entry.k == key)return entry;
262
265
  }
263
- }
266
+ };
264
267
 
265
268
  module.exports = {
266
269
  getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
267
270
  var C = wrapper(function(that, iterable){
268
- assert.inst(that, C, NAME);
269
- set(that, O1, $.create(null));
270
- set(that, SIZE, 0);
271
- set(that, LAST, undefined);
272
- set(that, FIRST, undefined);
271
+ strictNew(that, C, NAME);
272
+ that._i = $.create(null); // index
273
+ that._f = undefined; // first entry
274
+ that._l = undefined; // last entry
275
+ that[SIZE] = 0; // size
273
276
  if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
274
277
  });
275
278
  require('./$.mix')(C.prototype, {
276
279
  // 23.1.3.1 Map.prototype.clear()
277
280
  // 23.2.3.2 Set.prototype.clear()
278
281
  clear: function clear(){
279
- for(var that = this, data = that[O1], entry = that[FIRST]; entry; entry = entry.n){
282
+ for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
280
283
  entry.r = true;
281
284
  if(entry.p)entry.p = entry.p.n = undefined;
282
285
  delete data[entry.i];
283
286
  }
284
- that[FIRST] = that[LAST] = undefined;
287
+ that._f = that._l = undefined;
285
288
  that[SIZE] = 0;
286
289
  },
287
290
  // 23.1.3.3 Map.prototype.delete(key)
@@ -292,12 +295,12 @@ module.exports = {
292
295
  if(entry){
293
296
  var next = entry.n
294
297
  , prev = entry.p;
295
- delete that[O1][entry.i];
298
+ delete that._i[entry.i];
296
299
  entry.r = true;
297
300
  if(prev)prev.n = next;
298
301
  if(next)next.p = prev;
299
- if(that[FIRST] == entry)that[FIRST] = next;
300
- if(that[LAST] == entry)that[LAST] = prev;
302
+ if(that._f == entry)that._f = next;
303
+ if(that._l == entry)that._l = prev;
301
304
  that[SIZE]--;
302
305
  } return !!entry;
303
306
  },
@@ -306,7 +309,7 @@ module.exports = {
306
309
  forEach: function forEach(callbackfn /*, that = undefined */){
307
310
  var f = ctx(callbackfn, arguments[1], 3)
308
311
  , entry;
309
- while(entry = entry ? entry.n : this[FIRST]){
312
+ while(entry = entry ? entry.n : this._f){
310
313
  f(entry.v, entry.k, this);
311
314
  // revert to the last existing entry
312
315
  while(entry && entry.r)entry = entry.p;
@@ -318,9 +321,9 @@ module.exports = {
318
321
  return !!getEntry(this, key);
319
322
  }
320
323
  });
321
- if($.DESC)$.setDesc(C.prototype, 'size', {
324
+ if(SUPPORT_DESC)$.setDesc(C.prototype, 'size', {
322
325
  get: function(){
323
- return assert.def(this[SIZE]);
326
+ return defined(this[SIZE]);
324
327
  }
325
328
  });
326
329
  return C;
@@ -333,37 +336,39 @@ module.exports = {
333
336
  entry.v = value;
334
337
  // create new entry
335
338
  } else {
336
- that[LAST] = entry = {
339
+ that._l = entry = {
337
340
  i: index = fastKey(key, true), // <- index
338
341
  k: key, // <- key
339
342
  v: value, // <- value
340
- p: prev = that[LAST], // <- previous entry
343
+ p: prev = that._l, // <- previous entry
341
344
  n: undefined, // <- next entry
342
345
  r: false // <- removed
343
346
  };
344
- if(!that[FIRST])that[FIRST] = entry;
347
+ if(!that._f)that._f = entry;
345
348
  if(prev)prev.n = entry;
346
349
  that[SIZE]++;
347
350
  // add to index
348
- if(index !== 'F')that[O1][index] = entry;
351
+ if(index !== 'F')that._i[index] = entry;
349
352
  } return that;
350
353
  },
351
354
  getEntry: getEntry,
352
- // add .keys, .values, .entries, [@@iterator]
353
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
354
- setIter: function(C, NAME, IS_MAP){
355
+ setStrong: function(C, NAME, IS_MAP){
356
+ // add .keys, .values, .entries, [@@iterator]
357
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
355
358
  require('./$.iter-define')(C, NAME, function(iterated, kind){
356
- set(this, ITER, {o: iterated, k: kind});
359
+ this._t = iterated; // target
360
+ this._k = kind; // kind
361
+ this._l = undefined; // previous
357
362
  }, function(){
358
- var iter = this[ITER]
359
- , kind = iter.k
360
- , entry = iter.l;
363
+ var that = this
364
+ , kind = that._k
365
+ , entry = that._l;
361
366
  // revert to the last existing entry
362
367
  while(entry && entry.r)entry = entry.p;
363
368
  // get next entry
364
- if(!iter.o || !(iter.l = entry = entry ? entry.n : iter.o[FIRST])){
369
+ if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
365
370
  // or finish the iteration
366
- iter.o = undefined;
371
+ that._t = undefined;
367
372
  return step(1);
368
373
  }
369
374
  // return step by kind
@@ -371,73 +376,79 @@ module.exports = {
371
376
  if(kind == 'values')return step(0, entry.v);
372
377
  return step(0, [entry.k, entry.v]);
373
378
  }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
379
+
380
+ // add [@@species], 23.1.2.2, 23.2.2.2
381
+ species(C);
382
+ species(require('./$.core')[NAME]); // for wrapper
374
383
  }
375
384
  };
376
- },{"./$":24,"./$.assert":5,"./$.ctx":12,"./$.for-of":16,"./$.iter":23,"./$.iter-define":21,"./$.mix":26,"./$.uid":40}],9:[function(require,module,exports){
385
+ },{"./$":42,"./$.core":14,"./$.ctx":15,"./$.defined":17,"./$.for-of":24,"./$.has":27,"./$.hide":28,"./$.is-object":34,"./$.iter-define":38,"./$.iter-step":40,"./$.mix":47,"./$.species":60,"./$.strict-new":61,"./$.support-desc":67,"./$.uid":75}],11:[function(require,module,exports){
377
386
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
378
- var $def = require('./$.def')
379
- , forOf = require('./$.for-of');
387
+ var forOf = require('./$.for-of')
388
+ , classof = require('./$.classof');
380
389
  module.exports = function(NAME){
381
- $def($def.P, NAME, {
382
- toJSON: function toJSON(){
383
- var arr = [];
384
- forOf(this, false, arr.push, arr);
385
- return arr;
386
- }
387
- });
390
+ return function toJSON(){
391
+ if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
392
+ var arr = [];
393
+ forOf(this, false, arr.push, arr);
394
+ return arr;
395
+ };
388
396
  };
389
- },{"./$.def":13,"./$.for-of":16}],10:[function(require,module,exports){
397
+ },{"./$.classof":8,"./$.for-of":24}],12:[function(require,module,exports){
390
398
  'use strict';
391
- var $ = require('./$')
392
- , safe = require('./$.uid').safe
393
- , assert = require('./$.assert')
394
- , forOf = require('./$.for-of')
395
- , $has = $.has
396
- , isObject = $.isObject
397
- , hide = $.hide
399
+ var hide = require('./$.hide')
400
+ , anObject = require('./$.an-object')
401
+ , strictNew = require('./$.strict-new')
402
+ , forOf = require('./$.for-of')
403
+ , method = require('./$.array-methods')
404
+ , WEAK = require('./$.uid')('weak')
405
+ , isObject = require('./$.is-object')
406
+ , $has = require('./$.has')
398
407
  , isExtensible = Object.isExtensible || isObject
399
- , id = 0
400
- , ID = safe('id')
401
- , WEAK = safe('weak')
402
- , LEAK = safe('leak')
403
- , method = require('./$.array-methods')
404
- , find = method(5)
405
- , findIndex = method(6);
406
- function findFrozen(store, key){
407
- return find(store.array, function(it){
408
+ , find = method(5)
409
+ , findIndex = method(6)
410
+ , id = 0;
411
+
412
+ // fallback for frozen keys
413
+ var frozenStore = function(that){
414
+ return that._l || (that._l = new FrozenStore);
415
+ };
416
+ var FrozenStore = function(){
417
+ this.a = [];
418
+ };
419
+ var findFrozen = function(store, key){
420
+ return find(store.a, function(it){
408
421
  return it[0] === key;
409
422
  });
410
- }
411
- // fallback for frozen keys
412
- function leakStore(that){
413
- return that[LEAK] || hide(that, LEAK, {
414
- array: [],
415
- get: function(key){
416
- var entry = findFrozen(this, key);
417
- if(entry)return entry[1];
418
- },
419
- has: function(key){
420
- return !!findFrozen(this, key);
421
- },
422
- set: function(key, value){
423
- var entry = findFrozen(this, key);
424
- if(entry)entry[1] = value;
425
- else this.array.push([key, value]);
426
- },
427
- 'delete': function(key){
428
- var index = findIndex(this.array, function(it){
429
- return it[0] === key;
430
- });
431
- if(~index)this.array.splice(index, 1);
432
- return !!~index;
433
- }
434
- })[LEAK];
435
- }
423
+ };
424
+ FrozenStore.prototype = {
425
+ get: function(key){
426
+ var entry = findFrozen(this, key);
427
+ if(entry)return entry[1];
428
+ },
429
+ has: function(key){
430
+ return !!findFrozen(this, key);
431
+ },
432
+ set: function(key, value){
433
+ var entry = findFrozen(this, key);
434
+ if(entry)entry[1] = value;
435
+ else this.a.push([key, value]);
436
+ },
437
+ 'delete': function(key){
438
+ var index = findIndex(this.a, function(it){
439
+ return it[0] === key;
440
+ });
441
+ if(~index)this.a.splice(index, 1);
442
+ return !!~index;
443
+ }
444
+ };
436
445
 
437
446
  module.exports = {
438
447
  getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
439
448
  var C = wrapper(function(that, iterable){
440
- $.set(assert.inst(that, C, NAME), ID, id++);
449
+ strictNew(that, C, NAME);
450
+ that._i = id++; // collection id
451
+ that._l = undefined; // leak store for frozen objects
441
452
  if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
442
453
  });
443
454
  require('./$.mix')(C.prototype, {
@@ -445,47 +456,45 @@ module.exports = {
445
456
  // 23.4.3.3 WeakSet.prototype.delete(value)
446
457
  'delete': function(key){
447
458
  if(!isObject(key))return false;
448
- if(!isExtensible(key))return leakStore(this)['delete'](key);
449
- return $has(key, WEAK) && $has(key[WEAK], this[ID]) && delete key[WEAK][this[ID]];
459
+ if(!isExtensible(key))return frozenStore(this)['delete'](key);
460
+ return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i];
450
461
  },
451
462
  // 23.3.3.4 WeakMap.prototype.has(key)
452
463
  // 23.4.3.4 WeakSet.prototype.has(value)
453
464
  has: function has(key){
454
465
  if(!isObject(key))return false;
455
- if(!isExtensible(key))return leakStore(this).has(key);
456
- return $has(key, WEAK) && $has(key[WEAK], this[ID]);
466
+ if(!isExtensible(key))return frozenStore(this).has(key);
467
+ return $has(key, WEAK) && $has(key[WEAK], this._i);
457
468
  }
458
469
  });
459
470
  return C;
460
471
  },
461
472
  def: function(that, key, value){
462
- if(!isExtensible(assert.obj(key))){
463
- leakStore(that).set(key, value);
473
+ if(!isExtensible(anObject(key))){
474
+ frozenStore(that).set(key, value);
464
475
  } else {
465
476
  $has(key, WEAK) || hide(key, WEAK, {});
466
- key[WEAK][that[ID]] = value;
477
+ key[WEAK][that._i] = value;
467
478
  } return that;
468
479
  },
469
- leakStore: leakStore,
470
- WEAK: WEAK,
471
- ID: ID
480
+ frozenStore: frozenStore,
481
+ WEAK: WEAK
472
482
  };
473
- },{"./$":24,"./$.array-methods":4,"./$.assert":5,"./$.for-of":16,"./$.mix":26,"./$.uid":40}],11:[function(require,module,exports){
483
+ },{"./$.an-object":4,"./$.array-methods":6,"./$.for-of":24,"./$.has":27,"./$.hide":28,"./$.is-object":34,"./$.mix":47,"./$.strict-new":61,"./$.uid":75}],13:[function(require,module,exports){
474
484
  'use strict';
475
- var $ = require('./$')
476
- , $def = require('./$.def')
477
- , BUGGY = require('./$.iter').BUGGY
478
- , forOf = require('./$.for-of')
479
- , species = require('./$.species')
480
- , assertInstance = require('./$.assert').inst;
485
+ var global = require('./$.global')
486
+ , $def = require('./$.def')
487
+ , BUGGY = require('./$.iter-buggy')
488
+ , forOf = require('./$.for-of')
489
+ , strictNew = require('./$.strict-new');
481
490
 
482
491
  module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
483
- var Base = $.g[NAME]
492
+ var Base = global[NAME]
484
493
  , C = Base
485
494
  , ADDER = IS_MAP ? 'set' : 'add'
486
495
  , proto = C && C.prototype
487
496
  , O = {};
488
- function fixMethod(KEY){
497
+ var fixMethod = function(KEY){
489
498
  var fn = proto[KEY];
490
499
  require('./$.redef')(proto, KEY,
491
500
  KEY == 'delete' ? function(a){ return fn.call(this, a === 0 ? 0 : a); }
@@ -494,8 +503,8 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
494
503
  : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
495
504
  : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
496
505
  );
497
- }
498
- if(!$.isFunction(C) || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){
506
+ };
507
+ if(typeof C != 'function' || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){
499
508
  // create collection constructor
500
509
  C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
501
510
  require('./$.mix')(C.prototype, methods);
@@ -506,7 +515,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
506
515
  // wrap for init collections from iterable
507
516
  if(!require('./$.iter-detect')(function(iter){ new C(iter); })){ // eslint-disable-line no-new
508
517
  C = wrapper(function(target, iterable){
509
- assertInstance(target, C, NAME);
518
+ strictNew(target, C, NAME);
510
519
  var that = new Base;
511
520
  if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
512
521
  return that;
@@ -525,25 +534,28 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
525
534
  }
526
535
  // + fix .add & .set for chaining
527
536
  if(buggyZero || chain !== inst)fixMethod(ADDER);
537
+ // weak collections should not contains .clear method
538
+ if(IS_WEAK && proto.clear)delete proto.clear;
528
539
  }
529
540
 
530
- require('./$.cof').set(C, NAME);
541
+ require('./$.tag')(C, NAME);
531
542
 
532
543
  O[NAME] = C;
533
544
  $def($def.G + $def.W + $def.F * (C != Base), O);
534
- species(C);
535
- species($.core[NAME]); // for wrapper
536
545
 
537
- if(!IS_WEAK)common.setIter(C, NAME, IS_MAP);
546
+ if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
538
547
 
539
548
  return C;
540
549
  };
541
- },{"./$":24,"./$.assert":5,"./$.cof":7,"./$.def":13,"./$.for-of":16,"./$.iter":23,"./$.iter-detect":22,"./$.mix":26,"./$.redef":29,"./$.species":34}],12:[function(require,module,exports){
542
- // Optional / simple context binding
543
- var assertFunction = require('./$.assert').fn;
550
+ },{"./$.def":16,"./$.for-of":24,"./$.global":26,"./$.iter-buggy":35,"./$.iter-detect":39,"./$.mix":47,"./$.redef":54,"./$.strict-new":61,"./$.tag":68}],14:[function(require,module,exports){
551
+ var core = module.exports = {};
552
+ if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
553
+ },{}],15:[function(require,module,exports){
554
+ // optional / simple context binding
555
+ var aFunction = require('./$.a-function');
544
556
  module.exports = function(fn, that, length){
545
- assertFunction(fn);
546
- if(~length && that === undefined)return fn;
557
+ aFunction(fn);
558
+ if(that === undefined)return fn;
547
559
  switch(length){
548
560
  case 1: return function(a){
549
561
  return fn.call(that, a);
@@ -558,31 +570,23 @@ module.exports = function(fn, that, length){
558
570
  return fn.apply(that, arguments);
559
571
  };
560
572
  };
561
- },{"./$.assert":5}],13:[function(require,module,exports){
562
- var $ = require('./$')
563
- , global = $.g
564
- , core = $.core
565
- , isFunction = $.isFunction
566
- , $redef = require('./$.redef');
567
- function ctx(fn, that){
573
+ },{"./$.a-function":3}],16:[function(require,module,exports){
574
+ var global = require('./$.global')
575
+ , core = require('./$.core')
576
+ , hide = require('./$.hide')
577
+ , $redef = require('./$.redef')
578
+ , PROTOTYPE = 'prototype';
579
+ var ctx = function(fn, that){
568
580
  return function(){
569
581
  return fn.apply(that, arguments);
570
582
  };
571
- }
572
- global.core = core;
573
- // type bitmap
574
- $def.F = 1; // forced
575
- $def.G = 2; // global
576
- $def.S = 4; // static
577
- $def.P = 8; // proto
578
- $def.B = 16; // bind
579
- $def.W = 32; // wrap
580
- function $def(type, name, source){
583
+ };
584
+ var $def = function(type, name, source){
581
585
  var key, own, out, exp
582
586
  , isGlobal = type & $def.G
583
587
  , isProto = type & $def.P
584
588
  , target = isGlobal ? global : type & $def.S
585
- ? global[name] : (global[name] || {}).prototype
589
+ ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
586
590
  , exports = isGlobal ? core : core[name] || (core[name] = {});
587
591
  if(isGlobal)source = name;
588
592
  for(key in source){
@@ -592,79 +596,164 @@ function $def(type, name, source){
592
596
  out = (own ? target : source)[key];
593
597
  // bind timers to global for call from export context
594
598
  if(type & $def.B && own)exp = ctx(out, global);
595
- else exp = isProto && isFunction(out) ? ctx(Function.call, out) : out;
599
+ else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out;
596
600
  // extend global
597
601
  if(target && !own)$redef(target, key, out);
598
602
  // export
599
- if(exports[key] != out)$.hide(exports, key, exp);
600
- if(isProto)(exports.prototype || (exports.prototype = {}))[key] = out;
603
+ if(exports[key] != out)hide(exports, key, exp);
604
+ if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
601
605
  }
602
- }
606
+ };
607
+ global.core = core;
608
+ // type bitmap
609
+ $def.F = 1; // forced
610
+ $def.G = 2; // global
611
+ $def.S = 4; // static
612
+ $def.P = 8; // proto
613
+ $def.B = 16; // bind
614
+ $def.W = 32; // wrap
603
615
  module.exports = $def;
604
- },{"./$":24,"./$.redef":29}],14:[function(require,module,exports){
605
- var $ = require('./$')
606
- , document = $.g.document
607
- , isObject = $.isObject
616
+ },{"./$.core":14,"./$.global":26,"./$.hide":28,"./$.redef":54}],17:[function(require,module,exports){
617
+ // 7.2.1 RequireObjectCoercible(argument)
618
+ module.exports = function(it){
619
+ if(it == undefined)throw TypeError("Can't call method on " + it);
620
+ return it;
621
+ };
622
+ },{}],18:[function(require,module,exports){
623
+ var isObject = require('./$.is-object')
624
+ , document = require('./$.global').document
608
625
  // in old IE typeof document.createElement is 'object'
609
626
  , is = isObject(document) && isObject(document.createElement);
610
627
  module.exports = function(it){
611
628
  return is ? document.createElement(it) : {};
612
629
  };
613
- },{"./$":24}],15:[function(require,module,exports){
630
+ },{"./$.global":26,"./$.is-object":34}],19:[function(require,module,exports){
631
+ // all enumerable object keys, includes symbols
614
632
  var $ = require('./$');
615
633
  module.exports = function(it){
616
634
  var keys = $.getKeys(it)
617
- , getDesc = $.getDesc
618
635
  , getSymbols = $.getSymbols;
619
- if(getSymbols)$.each.call(getSymbols(it), function(key){
620
- if(getDesc(it, key).enumerable)keys.push(key);
621
- });
636
+ if(getSymbols){
637
+ var symbols = getSymbols(it)
638
+ , isEnum = $.isEnum
639
+ , i = 0
640
+ , key;
641
+ while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
642
+ }
622
643
  return keys;
623
644
  };
624
- },{"./$":24}],16:[function(require,module,exports){
625
- var ctx = require('./$.ctx')
626
- , get = require('./$.iter').get
627
- , call = require('./$.iter-call');
645
+ },{"./$":42}],20:[function(require,module,exports){
646
+ // 20.2.2.14 Math.expm1(x)
647
+ module.exports = Math.expm1 || function expm1(x){
648
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
649
+ };
650
+ },{}],21:[function(require,module,exports){
651
+ module.exports = function(exec){
652
+ try {
653
+ return !!exec();
654
+ } catch(e){
655
+ return true;
656
+ }
657
+ };
658
+ },{}],22:[function(require,module,exports){
659
+ 'use strict';
660
+ module.exports = function(KEY, length, exec){
661
+ var defined = require('./$.defined')
662
+ , SYMBOL = require('./$.wks')(KEY)
663
+ , original = ''[KEY];
664
+ if(require('./$.fails')(function(){
665
+ var O = {};
666
+ O[SYMBOL] = function(){ return 7; };
667
+ return ''[KEY](O) != 7;
668
+ })){
669
+ require('./$.redef')(String.prototype, KEY, exec(defined, SYMBOL, original));
670
+ require('./$.hide')(RegExp.prototype, SYMBOL, length == 2
671
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
672
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
673
+ ? function(string, arg){ return original.call(string, this, arg); }
674
+ // 21.2.5.6 RegExp.prototype[@@match](string)
675
+ // 21.2.5.9 RegExp.prototype[@@search](string)
676
+ : function(string){ return original.call(string, this); }
677
+ );
678
+ }
679
+ };
680
+ },{"./$.defined":17,"./$.fails":21,"./$.hide":28,"./$.redef":54,"./$.wks":77}],23:[function(require,module,exports){
681
+ 'use strict';
682
+ // 21.2.5.3 get RegExp.prototype.flags
683
+ var anObject = require('./$.an-object');
684
+ module.exports = function(){
685
+ var that = anObject(this)
686
+ , result = '';
687
+ if(that.global)result += 'g';
688
+ if(that.ignoreCase)result += 'i';
689
+ if(that.multiline)result += 'm';
690
+ if(that.unicode)result += 'u';
691
+ if(that.sticky)result += 'y';
692
+ return result;
693
+ };
694
+ },{"./$.an-object":4}],24:[function(require,module,exports){
695
+ var ctx = require('./$.ctx')
696
+ , call = require('./$.iter-call')
697
+ , isArrayIter = require('./$.is-array-iter')
698
+ , anObject = require('./$.an-object')
699
+ , toLength = require('./$.to-length')
700
+ , getIterFn = require('./core.get-iterator-method');
628
701
  module.exports = function(iterable, entries, fn, that){
629
- var iterator = get(iterable)
630
- , f = ctx(fn, that, entries ? 2 : 1)
631
- , step;
632
- while(!(step = iterator.next()).done){
633
- if(call(iterator, f, step.value, entries) === false){
634
- return call.close(iterator);
635
- }
702
+ var iterFn = getIterFn(iterable)
703
+ , f = ctx(fn, that, entries ? 2 : 1)
704
+ , index = 0
705
+ , length, step, iterator;
706
+ if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
707
+ // fast case for arrays with default iterator
708
+ if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
709
+ entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
710
+ } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
711
+ call(iterator, f, step.value, entries);
712
+ }
713
+ };
714
+ },{"./$.an-object":4,"./$.ctx":15,"./$.is-array-iter":32,"./$.iter-call":36,"./$.to-length":73,"./core.get-iterator-method":78}],25:[function(require,module,exports){
715
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
716
+ var toString = {}.toString
717
+ , toIObject = require('./$.to-iobject')
718
+ , getNames = require('./$').getNames;
719
+
720
+ var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
721
+ ? Object.getOwnPropertyNames(window) : [];
722
+
723
+ var getWindowNames = function(it){
724
+ try {
725
+ return getNames(it);
726
+ } catch(e){
727
+ return windowNames.slice();
636
728
  }
637
729
  };
638
- },{"./$.ctx":12,"./$.iter":23,"./$.iter-call":20}],17:[function(require,module,exports){
639
- module.exports = function($){
640
- $.FW = true;
641
- $.path = $.g;
642
- return $;
730
+
731
+ module.exports.get = function getOwnPropertyNames(it){
732
+ if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
733
+ return getNames(toIObject(it));
643
734
  };
644
- },{}],18:[function(require,module,exports){
645
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
646
- var $ = require('./$')
647
- , toString = {}.toString
648
- , getNames = $.getNames;
649
-
650
- var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
651
- ? Object.getOwnPropertyNames(window) : [];
652
-
653
- function getWindowNames(it){
654
- try {
655
- return getNames(it);
656
- } catch(e){
657
- return windowNames.slice();
658
- }
659
- }
660
-
661
- module.exports.get = function getOwnPropertyNames(it){
662
- if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
663
- return getNames($.toObject(it));
735
+ },{"./$":42,"./$.to-iobject":72}],26:[function(require,module,exports){
736
+ var global = typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
737
+ module.exports = global;
738
+ if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
739
+ },{}],27:[function(require,module,exports){
740
+ var hasOwnProperty = {}.hasOwnProperty;
741
+ module.exports = function(it, key){
742
+ return hasOwnProperty.call(it, key);
664
743
  };
665
- },{"./$":24}],19:[function(require,module,exports){
666
- // Fast apply
667
- // http://jsperf.lnkit.com/fast-apply/5
744
+ },{}],28:[function(require,module,exports){
745
+ var $ = require('./$')
746
+ , createDesc = require('./$.property-desc');
747
+ module.exports = require('./$.support-desc') ? function(object, key, value){
748
+ return $.setDesc(object, key, createDesc(1, value));
749
+ } : function(object, key, value){
750
+ object[key] = value;
751
+ return object;
752
+ };
753
+ },{"./$":42,"./$.property-desc":53,"./$.support-desc":67}],29:[function(require,module,exports){
754
+ module.exports = require('./$.global').document && document.documentElement;
755
+ },{"./$.global":26}],30:[function(require,module,exports){
756
+ // fast apply, http://jsperf.lnkit.com/fast-apply/5
668
757
  module.exports = function(fn, args, that){
669
758
  var un = that === undefined;
670
759
  switch(args.length){
@@ -678,48 +767,82 @@ module.exports = function(fn, args, that){
678
767
  : fn.call(that, args[0], args[1], args[2]);
679
768
  case 4: return un ? fn(args[0], args[1], args[2], args[3])
680
769
  : fn.call(that, args[0], args[1], args[2], args[3]);
681
- case 5: return un ? fn(args[0], args[1], args[2], args[3], args[4])
682
- : fn.call(that, args[0], args[1], args[2], args[3], args[4]);
683
770
  } return fn.apply(that, args);
684
771
  };
685
- },{}],20:[function(require,module,exports){
686
- var assertObject = require('./$.assert').obj;
687
- function close(iterator){
688
- var ret = iterator['return'];
689
- if(ret !== undefined)assertObject(ret.call(iterator));
690
- }
691
- function call(iterator, fn, value, entries){
772
+ },{}],31:[function(require,module,exports){
773
+ // indexed object, fallback for non-array-like ES3 strings
774
+ var cof = require('./$.cof');
775
+ module.exports = 0 in Object('z') ? Object : function(it){
776
+ return cof(it) == 'String' ? it.split('') : Object(it);
777
+ };
778
+ },{"./$.cof":9}],32:[function(require,module,exports){
779
+ // check on default Array iterator
780
+ var Iterators = require('./$.iterators')
781
+ , ITERATOR = require('./$.wks')('iterator');
782
+ module.exports = function(it){
783
+ return (Iterators.Array || Array.prototype[ITERATOR]) === it;
784
+ };
785
+ },{"./$.iterators":41,"./$.wks":77}],33:[function(require,module,exports){
786
+ // 20.1.2.3 Number.isInteger(number)
787
+ var isObject = require('./$.is-object')
788
+ , floor = Math.floor;
789
+ module.exports = function isInteger(it){
790
+ return !isObject(it) && isFinite(it) && floor(it) === it;
791
+ };
792
+ },{"./$.is-object":34}],34:[function(require,module,exports){
793
+ // http://jsperf.com/core-js-isobject
794
+ module.exports = function(it){
795
+ return it !== null && (typeof it == 'object' || typeof it == 'function');
796
+ };
797
+ },{}],35:[function(require,module,exports){
798
+ // Safari has buggy iterators w/o `next`
799
+ module.exports = 'keys' in [] && !('next' in [].keys());
800
+ },{}],36:[function(require,module,exports){
801
+ // call something on iterator step with safe closing on error
802
+ var anObject = require('./$.an-object');
803
+ module.exports = function(iterator, fn, value, entries){
692
804
  try {
693
- return entries ? fn(assertObject(value)[0], value[1]) : fn(value);
805
+ return entries ? fn(anObject(value)[0], value[1]) : fn(value);
806
+ // 7.4.6 IteratorClose(iterator, completion)
694
807
  } catch(e){
695
- close(iterator);
808
+ var ret = iterator['return'];
809
+ if(ret !== undefined)anObject(ret.call(iterator));
696
810
  throw e;
697
811
  }
698
- }
699
- call.close = close;
700
- module.exports = call;
701
- },{"./$.assert":5}],21:[function(require,module,exports){
702
- var $def = require('./$.def')
812
+ };
813
+ },{"./$.an-object":4}],37:[function(require,module,exports){
814
+ 'use strict';
815
+ var $ = require('./$')
816
+ , IteratorPrototype = {};
817
+
818
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
819
+ require('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });
820
+
821
+ module.exports = function(Constructor, NAME, next){
822
+ Constructor.prototype = $.create(IteratorPrototype, {next: require('./$.property-desc')(1,next)});
823
+ require('./$.tag')(Constructor, NAME + ' Iterator');
824
+ };
825
+ },{"./$":42,"./$.hide":28,"./$.property-desc":53,"./$.tag":68,"./$.wks":77}],38:[function(require,module,exports){
826
+ 'use strict';
827
+ var LIBRARY = require('./$.library')
828
+ , $def = require('./$.def')
703
829
  , $redef = require('./$.redef')
704
- , $ = require('./$')
705
- , cof = require('./$.cof')
706
- , $iter = require('./$.iter')
830
+ , hide = require('./$.hide')
831
+ , has = require('./$.has')
707
832
  , SYMBOL_ITERATOR = require('./$.wks')('iterator')
833
+ , Iterators = require('./$.iterators')
708
834
  , FF_ITERATOR = '@@iterator'
709
835
  , KEYS = 'keys'
710
- , VALUES = 'values'
711
- , Iterators = $iter.Iterators;
836
+ , VALUES = 'values';
837
+ var returnThis = function(){ return this; };
712
838
  module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){
713
- $iter.create(Constructor, NAME, next);
714
- function createMethod(kind){
715
- function $$(that){
716
- return new Constructor(that, kind);
717
- }
839
+ require('./$.iter-create')(Constructor, NAME, next);
840
+ var createMethod = function(kind){
718
841
  switch(kind){
719
- case KEYS: return function keys(){ return $$(this); };
720
- case VALUES: return function values(){ return $$(this); };
721
- } return function entries(){ return $$(this); };
722
- }
842
+ case KEYS: return function keys(){ return new Constructor(this, kind); };
843
+ case VALUES: return function values(){ return new Constructor(this, kind); };
844
+ } return function entries(){ return new Constructor(this, kind); };
845
+ };
723
846
  var TAG = NAME + ' Iterator'
724
847
  , proto = Base.prototype
725
848
  , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
@@ -727,17 +850,17 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE)
727
850
  , methods, key;
728
851
  // Fix native
729
852
  if(_native){
730
- var IteratorPrototype = $.getProto(_default.call(new Base));
853
+ var IteratorPrototype = require('./$').getProto(_default.call(new Base));
731
854
  // Set @@toStringTag to native iterators
732
- cof.set(IteratorPrototype, TAG, true);
855
+ require('./$.tag')(IteratorPrototype, TAG, true);
733
856
  // FF fix
734
- if($.FW && $.has(proto, FF_ITERATOR))$iter.set(IteratorPrototype, $.that);
857
+ if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis);
735
858
  }
736
859
  // Define iterator
737
- if($.FW || FORCE)$iter.set(proto, _default);
860
+ if(!LIBRARY || FORCE)hide(proto, SYMBOL_ITERATOR, _default);
738
861
  // Plug for library
739
862
  Iterators[NAME] = _default;
740
- Iterators[TAG] = $.that;
863
+ Iterators[TAG] = returnThis;
741
864
  if(DEFAULT){
742
865
  methods = {
743
866
  keys: IS_SET ? _default : createMethod(KEYS),
@@ -746,10 +869,10 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE)
746
869
  };
747
870
  if(FORCE)for(key in methods){
748
871
  if(!(key in proto))$redef(proto, key, methods[key]);
749
- } else $def($def.P + $def.F * $iter.BUGGY, NAME, methods);
872
+ } else $def($def.P + $def.F * require('./$.iter-buggy'), NAME, methods);
750
873
  }
751
874
  };
752
- },{"./$":24,"./$.cof":7,"./$.def":13,"./$.iter":23,"./$.redef":29,"./$.wks":42}],22:[function(require,module,exports){
875
+ },{"./$":42,"./$.def":16,"./$.has":27,"./$.hide":28,"./$.iter-buggy":35,"./$.iter-create":37,"./$.iterators":41,"./$.library":44,"./$.redef":54,"./$.tag":68,"./$.wks":77}],39:[function(require,module,exports){
753
876
  var SYMBOL_ITERATOR = require('./$.wks')('iterator')
754
877
  , SAFE_CLOSING = false;
755
878
  try {
@@ -769,189 +892,143 @@ module.exports = function(exec){
769
892
  } catch(e){ /* empty */ }
770
893
  return safe;
771
894
  };
772
- },{"./$.wks":42}],23:[function(require,module,exports){
773
- 'use strict';
774
- var $ = require('./$')
775
- , cof = require('./$.cof')
776
- , classof = cof.classof
777
- , assert = require('./$.assert')
778
- , assertObject = assert.obj
779
- , SYMBOL_ITERATOR = require('./$.wks')('iterator')
780
- , FF_ITERATOR = '@@iterator'
781
- , Iterators = require('./$.shared')('iterators')
782
- , IteratorPrototype = {};
783
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
784
- setIterator(IteratorPrototype, $.that);
785
- function setIterator(O, value){
786
- $.hide(O, SYMBOL_ITERATOR, value);
787
- // Add iterator for FF iterator protocol
788
- if(FF_ITERATOR in [])$.hide(O, FF_ITERATOR, value);
789
- }
790
-
895
+ },{"./$.wks":77}],40:[function(require,module,exports){
896
+ module.exports = function(done, value){
897
+ return {value: value, done: !!done};
898
+ };
899
+ },{}],41:[function(require,module,exports){
900
+ module.exports = {};
901
+ },{}],42:[function(require,module,exports){
902
+ var $Object = Object;
791
903
  module.exports = {
792
- // Safari has buggy iterators w/o `next`
793
- BUGGY: 'keys' in [] && !('next' in [].keys()),
794
- Iterators: Iterators,
795
- step: function(done, value){
796
- return {value: value, done: !!done};
797
- },
798
- is: function(it){
799
- var O = Object(it)
800
- , Symbol = $.g.Symbol;
801
- return (Symbol && Symbol.iterator || FF_ITERATOR) in O
802
- || SYMBOL_ITERATOR in O
803
- || $.has(Iterators, classof(O));
804
- },
805
- get: function(it){
806
- var Symbol = $.g.Symbol
807
- , getIter;
808
- if(it != undefined){
809
- getIter = it[Symbol && Symbol.iterator || FF_ITERATOR]
810
- || it[SYMBOL_ITERATOR]
811
- || Iterators[classof(it)];
812
- }
813
- assert($.isFunction(getIter), it, ' is not iterable!');
814
- return assertObject(getIter.call(it));
815
- },
816
- set: setIterator,
817
- create: function(Constructor, NAME, next, proto){
818
- Constructor.prototype = $.create(proto || IteratorPrototype, {next: $.desc(1, next)});
819
- cof.set(Constructor, NAME + ' Iterator');
820
- }
904
+ create: $Object.create,
905
+ getProto: $Object.getPrototypeOf,
906
+ isEnum: {}.propertyIsEnumerable,
907
+ getDesc: $Object.getOwnPropertyDescriptor,
908
+ setDesc: $Object.defineProperty,
909
+ setDescs: $Object.defineProperties,
910
+ getKeys: $Object.keys,
911
+ getNames: $Object.getOwnPropertyNames,
912
+ getSymbols: $Object.getOwnPropertySymbols,
913
+ each: [].forEach
821
914
  };
822
- },{"./$":24,"./$.assert":5,"./$.cof":7,"./$.shared":33,"./$.wks":42}],24:[function(require,module,exports){
823
- 'use strict';
824
- var global = typeof self != 'undefined' ? self : Function('return this')()
825
- , core = {}
826
- , defineProperty = Object.defineProperty
827
- , hasOwnProperty = {}.hasOwnProperty
828
- , ceil = Math.ceil
829
- , floor = Math.floor
830
- , max = Math.max
831
- , min = Math.min;
832
- // The engine works fine with descriptors? Thank's IE8 for his funny defineProperty.
833
- var DESC = !!function(){
834
- try {
835
- return defineProperty({}, 'a', {get: function(){ return 2; }}).a == 2;
836
- } catch(e){ /* empty */ }
837
- }();
838
- var hide = createDefiner(1);
839
- // 7.1.4 ToInteger
840
- function toInteger(it){
841
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
842
- }
843
- function desc(bitmap, value){
844
- return {
845
- enumerable : !(bitmap & 1),
846
- configurable: !(bitmap & 2),
847
- writable : !(bitmap & 4),
848
- value : value
849
- };
850
- }
851
- function simpleSet(object, key, value){
852
- object[key] = value;
853
- return object;
854
- }
855
- function createDefiner(bitmap){
856
- return DESC ? function(object, key, value){
857
- return $.setDesc(object, key, desc(bitmap, value));
858
- } : simpleSet;
859
- }
860
-
861
- function isObject(it){
862
- return it !== null && (typeof it == 'object' || typeof it == 'function');
863
- }
864
- function isFunction(it){
865
- return typeof it == 'function';
866
- }
867
- function assertDefined(it){
868
- if(it == undefined)throw TypeError("Can't call method on " + it);
869
- return it;
870
- }
871
-
872
- var $ = module.exports = require('./$.fw')({
873
- g: global,
874
- core: core,
875
- html: global.document && document.documentElement,
876
- // http://jsperf.com/core-js-isobject
877
- isObject: isObject,
878
- isFunction: isFunction,
879
- that: function(){
880
- return this;
881
- },
882
- // 7.1.4 ToInteger
883
- toInteger: toInteger,
884
- // 7.1.15 ToLength
885
- toLength: function(it){
886
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
887
- },
888
- toIndex: function(index, length){
889
- index = toInteger(index);
890
- return index < 0 ? max(index + length, 0) : min(index, length);
891
- },
892
- has: function(it, key){
893
- return hasOwnProperty.call(it, key);
894
- },
895
- create: Object.create,
896
- getProto: Object.getPrototypeOf,
897
- DESC: DESC,
898
- desc: desc,
899
- getDesc: Object.getOwnPropertyDescriptor,
900
- setDesc: defineProperty,
901
- setDescs: Object.defineProperties,
902
- getKeys: Object.keys,
903
- getNames: Object.getOwnPropertyNames,
904
- getSymbols: Object.getOwnPropertySymbols,
905
- assertDefined: assertDefined,
906
- // Dummy, fix for not array-like ES3 string in es5 module
907
- ES5Object: Object,
908
- toObject: function(it){
909
- return $.ES5Object(assertDefined(it));
910
- },
911
- hide: hide,
912
- def: createDefiner(0),
913
- set: global.Symbol ? simpleSet : hide,
914
- each: [].forEach
915
- });
916
- /* eslint-disable no-undef */
917
- if(typeof __e != 'undefined')__e = core;
918
- if(typeof __g != 'undefined')__g = global;
919
- },{"./$.fw":17}],25:[function(require,module,exports){
920
- var $ = require('./$');
915
+ },{}],43:[function(require,module,exports){
916
+ var $ = require('./$')
917
+ , toIObject = require('./$.to-iobject');
921
918
  module.exports = function(object, el){
922
- var O = $.toObject(object)
919
+ var O = toIObject(object)
923
920
  , keys = $.getKeys(O)
924
921
  , length = keys.length
925
922
  , index = 0
926
923
  , key;
927
924
  while(length > index)if(O[key = keys[index++]] === el)return key;
928
925
  };
929
- },{"./$":24}],26:[function(require,module,exports){
930
- var $redef = require('./$.redef');
931
- module.exports = function(target, src){
932
- for(var key in src)$redef(target, key, src[key]);
933
- return target;
926
+ },{"./$":42,"./$.to-iobject":72}],44:[function(require,module,exports){
927
+ module.exports = false;
928
+ },{}],45:[function(require,module,exports){
929
+ // 20.2.2.20 Math.log1p(x)
930
+ module.exports = Math.log1p || function log1p(x){
931
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
934
932
  };
935
- },{"./$.redef":29}],27:[function(require,module,exports){
936
- var $ = require('./$')
937
- , assertObject = require('./$.assert').obj;
933
+ },{}],46:[function(require,module,exports){
934
+ var global = require('./$.global')
935
+ , macrotask = require('./$.task').set
936
+ , Observer = global.MutationObserver || global.WebKitMutationObserver
937
+ , process = global.process
938
+ , head, last, notify;
939
+
940
+ function flush(){
941
+ while(head){
942
+ head.fn.call(); // <- currently we use it only for Promise - try / catch not required
943
+ head = head.next;
944
+ } last = undefined;
945
+ }
946
+
947
+ // Node.js
948
+ if(require('./$.cof')(process) == 'process'){
949
+ notify = function(){
950
+ process.nextTick(flush);
951
+ };
952
+ // browsers with MutationObserver
953
+ } else if(Observer){
954
+ var toggle = 1
955
+ , node = document.createTextNode('');
956
+ new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
957
+ notify = function(){
958
+ node.data = toggle = -toggle;
959
+ };
960
+ // for other environments - macrotask based on:
961
+ // - setImmediate
962
+ // - MessageChannel
963
+ // - window.postMessag
964
+ // - onreadystatechange
965
+ // - setTimeout
966
+ } else {
967
+ notify = function(){
968
+ // strange IE + webpack dev server bug - use .call(global)
969
+ macrotask.call(global, flush);
970
+ };
971
+ }
972
+
973
+ module.exports = function asap(fn){
974
+ var task = {fn: fn, next: undefined};
975
+ if(last)last.next = task;
976
+ if(!head){
977
+ head = task;
978
+ notify();
979
+ } last = task;
980
+ };
981
+ },{"./$.cof":9,"./$.global":26,"./$.task":69}],47:[function(require,module,exports){
982
+ var $redef = require('./$.redef');
983
+ module.exports = function(target, src){
984
+ for(var key in src)$redef(target, key, src[key]);
985
+ return target;
986
+ };
987
+ },{"./$.redef":54}],48:[function(require,module,exports){
988
+ // most Object methods by ES6 should accept primitives
989
+ module.exports = function(KEY, exec){
990
+ var $def = require('./$.def')
991
+ , fn = (require('./$.core').Object || {})[KEY] || Object[KEY]
992
+ , exp = {};
993
+ exp[KEY] = exec(fn);
994
+ $def($def.S + $def.F * require('./$.fails')(function(){ fn(1); }), 'Object', exp);
995
+ };
996
+ },{"./$.core":14,"./$.def":16,"./$.fails":21}],49:[function(require,module,exports){
997
+ var $ = require('./$')
998
+ , toIObject = require('./$.to-iobject');
999
+ module.exports = function(isEntries){
1000
+ return function(it){
1001
+ var O = toIObject(it)
1002
+ , keys = $.getKeys(O)
1003
+ , length = keys.length
1004
+ , i = 0
1005
+ , result = Array(length)
1006
+ , key;
1007
+ if(isEntries)while(length > i)result[i] = [key = keys[i++], O[key]];
1008
+ else while(length > i)result[i] = O[keys[i++]];
1009
+ return result;
1010
+ };
1011
+ };
1012
+ },{"./$":42,"./$.to-iobject":72}],50:[function(require,module,exports){
1013
+ // all object keys, includes non-enumerable and symbols
1014
+ var $ = require('./$')
1015
+ , anObject = require('./$.an-object');
938
1016
  module.exports = function ownKeys(it){
939
- assertObject(it);
940
- var keys = $.getNames(it)
1017
+ var keys = $.getNames(anObject(it))
941
1018
  , getSymbols = $.getSymbols;
942
1019
  return getSymbols ? keys.concat(getSymbols(it)) : keys;
943
1020
  };
944
- },{"./$":24,"./$.assert":5}],28:[function(require,module,exports){
1021
+ },{"./$":42,"./$.an-object":4}],51:[function(require,module,exports){
945
1022
  'use strict';
946
- var $ = require('./$')
947
- , invoke = require('./$.invoke')
948
- , assertFunction = require('./$.assert').fn;
1023
+ var path = require('./$.path')
1024
+ , invoke = require('./$.invoke')
1025
+ , aFunction = require('./$.a-function');
949
1026
  module.exports = function(/* ...pargs */){
950
- var fn = assertFunction(this)
1027
+ var fn = aFunction(this)
951
1028
  , length = arguments.length
952
1029
  , pargs = Array(length)
953
1030
  , i = 0
954
- , _ = $.path._
1031
+ , _ = path._
955
1032
  , holder = false;
956
1033
  while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
957
1034
  return function(/* ...args */){
@@ -965,65 +1042,73 @@ module.exports = function(/* ...pargs */){
965
1042
  return invoke(fn, args, that);
966
1043
  };
967
1044
  };
968
- },{"./$":24,"./$.assert":5,"./$.invoke":19}],29:[function(require,module,exports){
969
- var $ = require('./$')
970
- , tpl = String({}.hasOwnProperty)
971
- , SRC = require('./$.uid').safe('src')
972
- , _toString = Function.toString;
973
-
974
- function $redef(O, key, val, safe){
975
- if($.isFunction(val)){
976
- var base = O[key];
977
- $.hide(val, SRC, base ? String(base) : tpl.replace(/hasOwnProperty/, String(key)));
978
- if(!('name' in val))val.name = key;
979
- }
980
- if(O === $.g){
981
- O[key] = val;
982
- } else {
983
- if(!safe)delete O[key];
984
- $.hide(O, key, val);
985
- }
986
- }
987
-
988
- // add fake Function#toString for correct work wrapped methods / constructors
989
- // with methods similar to LoDash isNative
990
- $redef(Function.prototype, 'toString', function toString(){
991
- return $.has(this, SRC) ? this[SRC] : _toString.call(this);
992
- });
993
-
994
- $.core.inspectSource = function(it){
995
- return _toString.call(it);
996
- };
997
-
998
- module.exports = $redef;
999
- },{"./$":24,"./$.uid":40}],30:[function(require,module,exports){
1000
- 'use strict';
1001
- module.exports = function(regExp, replace, isStatic){
1045
+ },{"./$.a-function":3,"./$.invoke":30,"./$.path":52}],52:[function(require,module,exports){
1046
+ module.exports = require('./$.global');
1047
+ },{"./$.global":26}],53:[function(require,module,exports){
1048
+ module.exports = function(bitmap, value){
1049
+ return {
1050
+ enumerable : !(bitmap & 1),
1051
+ configurable: !(bitmap & 2),
1052
+ writable : !(bitmap & 4),
1053
+ value : value
1054
+ };
1055
+ };
1056
+ },{}],54:[function(require,module,exports){
1057
+ // add fake Function#toString
1058
+ // for correct work wrapped methods / constructors with methods like LoDash isNative
1059
+ var global = require('./$.global')
1060
+ , hide = require('./$.hide')
1061
+ , SRC = require('./$.uid')('src')
1062
+ , TO_STRING = 'toString'
1063
+ , $toString = Function[TO_STRING]
1064
+ , TPL = ('' + $toString).split(TO_STRING);
1065
+
1066
+ require('./$.core').inspectSource = function(it){
1067
+ return $toString.call(it);
1068
+ };
1069
+
1070
+ (module.exports = function(O, key, val, safe){
1071
+ if(typeof val == 'function'){
1072
+ hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
1073
+ if(!('name' in val))val.name = key;
1074
+ }
1075
+ if(O === global){
1076
+ O[key] = val;
1077
+ } else {
1078
+ if(!safe)delete O[key];
1079
+ hide(O, key, val);
1080
+ }
1081
+ })(Function.prototype, TO_STRING, function toString(){
1082
+ return typeof this == 'function' && this[SRC] || $toString.call(this);
1083
+ });
1084
+ },{"./$.core":14,"./$.global":26,"./$.hide":28,"./$.uid":75}],55:[function(require,module,exports){
1085
+ module.exports = function(regExp, replace){
1002
1086
  var replacer = replace === Object(replace) ? function(part){
1003
1087
  return replace[part];
1004
1088
  } : replace;
1005
1089
  return function(it){
1006
- return String(isStatic ? it : this).replace(regExp, replacer);
1090
+ return String(it).replace(regExp, replacer);
1007
1091
  };
1008
1092
  };
1009
- },{}],31:[function(require,module,exports){
1010
- module.exports = Object.is || function is(x, y){
1011
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
1093
+ },{}],56:[function(require,module,exports){
1094
+ module.exports = Object.is || function is(x, y){
1095
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
1012
1096
  };
1013
- },{}],32:[function(require,module,exports){
1097
+ },{}],57:[function(require,module,exports){
1014
1098
  // Works with __proto__ only. Old v8 can't work with null proto objects.
1015
1099
  /* eslint-disable no-proto */
1016
- var $ = require('./$')
1017
- , assert = require('./$.assert');
1018
- function check(O, proto){
1019
- assert.obj(O);
1020
- assert(proto === null || $.isObject(proto), proto, ": can't set as prototype!");
1021
- }
1100
+ var getDesc = require('./$').getDesc
1101
+ , isObject = require('./$.is-object')
1102
+ , anObject = require('./$.an-object');
1103
+ var check = function(O, proto){
1104
+ anObject(O);
1105
+ if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
1106
+ };
1022
1107
  module.exports = {
1023
1108
  set: Object.setPrototypeOf || ('__proto__' in {} // eslint-disable-line
1024
1109
  ? function(buggy, set){
1025
1110
  try {
1026
- set = require('./$.ctx')(Function.call, $.getDesc(Object.prototype, '__proto__').set, 2);
1111
+ set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
1027
1112
  set({}, []);
1028
1113
  } catch(e){ buggy = true; }
1029
1114
  return function setPrototypeOf(O, proto){
@@ -1036,30 +1121,42 @@ module.exports = {
1036
1121
  : undefined),
1037
1122
  check: check
1038
1123
  };
1039
- },{"./$":24,"./$.assert":5,"./$.ctx":12}],33:[function(require,module,exports){
1040
- var $ = require('./$')
1041
- , SHARED = '__core-js_shared__'
1042
- , store = $.g[SHARED] || ($.g[SHARED] = {});
1043
- module.exports = function(key){
1044
- return store[key] || (store[key] = {});
1124
+ },{"./$":42,"./$.an-object":4,"./$.ctx":15,"./$.is-object":34}],58:[function(require,module,exports){
1125
+ var global = require('./$.global')
1126
+ , SHARED = '__core-js_shared__'
1127
+ , store = global[SHARED] || (global[SHARED] = {});
1128
+ module.exports = function(key){
1129
+ return store[key] || (store[key] = {});
1045
1130
  };
1046
- },{"./$":24}],34:[function(require,module,exports){
1131
+ },{"./$.global":26}],59:[function(require,module,exports){
1132
+ // 20.2.2.28 Math.sign(x)
1133
+ module.exports = Math.sign || function sign(x){
1134
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
1135
+ };
1136
+ },{}],60:[function(require,module,exports){
1137
+ 'use strict';
1047
1138
  var $ = require('./$')
1048
1139
  , SPECIES = require('./$.wks')('species');
1049
1140
  module.exports = function(C){
1050
- if($.DESC && !(SPECIES in C))$.setDesc(C, SPECIES, {
1141
+ if(require('./$.support-desc') && !(SPECIES in C))$.setDesc(C, SPECIES, {
1051
1142
  configurable: true,
1052
- get: $.that
1143
+ get: function(){ return this; }
1053
1144
  });
1054
1145
  };
1055
- },{"./$":24,"./$.wks":42}],35:[function(require,module,exports){
1146
+ },{"./$":42,"./$.support-desc":67,"./$.wks":77}],61:[function(require,module,exports){
1147
+ module.exports = function(it, Constructor, name){
1148
+ if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
1149
+ return it;
1150
+ };
1151
+ },{}],62:[function(require,module,exports){
1056
1152
  // true -> String#at
1057
1153
  // false -> String#codePointAt
1058
- var $ = require('./$');
1154
+ var toInteger = require('./$.to-integer')
1155
+ , defined = require('./$.defined');
1059
1156
  module.exports = function(TO_STRING){
1060
1157
  return function(that, pos){
1061
- var s = String($.assertDefined(that))
1062
- , i = $.toInteger(pos)
1158
+ var s = String(defined(that))
1159
+ , i = toInteger(pos)
1063
1160
  , l = s.length
1064
1161
  , a, b;
1065
1162
  if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
@@ -1070,61 +1167,95 @@ module.exports = function(TO_STRING){
1070
1167
  : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
1071
1168
  };
1072
1169
  };
1073
- },{"./$":24}],36:[function(require,module,exports){
1074
- // http://wiki.ecmascript.org/doku.php?id=strawman:string_padding
1075
- var $ = require('./$')
1076
- , repeat = require('./$.string-repeat');
1077
-
1078
- module.exports = function(that, minLength, fillChar, left){
1079
- // 1. Let O be CheckObjectCoercible(this value).
1080
- // 2. Let S be ToString(O).
1081
- var S = String($.assertDefined(that));
1082
- // 4. If intMinLength is undefined, return S.
1083
- if(minLength === undefined)return S;
1084
- // 4. Let intMinLength be ToInteger(minLength).
1085
- var intMinLength = $.toInteger(minLength);
1086
- // 5. Let fillLen be the number of characters in S minus intMinLength.
1087
- var fillLen = intMinLength - S.length;
1088
- // 6. If fillLen < 0, then throw a RangeError exception.
1089
- // 7. If fillLen is +∞, then throw a RangeError exception.
1090
- if(fillLen < 0 || fillLen === Infinity){
1091
- throw new RangeError('Cannot satisfy string length ' + minLength + ' for string: ' + S);
1092
- }
1093
- // 8. Let sFillStr be the string represented by fillStr.
1094
- // 9. If sFillStr is undefined, let sFillStr be a space character.
1095
- var sFillStr = fillChar === undefined ? ' ' : String(fillChar);
1096
- // 10. Let sFillVal be a String made of sFillStr, repeated until fillLen is met.
1097
- var sFillVal = repeat.call(sFillStr, Math.ceil(fillLen / sFillStr.length));
1098
- // truncate if we overflowed
1099
- if(sFillVal.length > fillLen)sFillVal = left
1100
- ? sFillVal.slice(sFillVal.length - fillLen)
1101
- : sFillVal.slice(0, fillLen);
1102
- // 11. Return a string made from sFillVal, followed by S.
1103
- // 11. Return a String made from S, followed by sFillVal.
1104
- return left ? sFillVal.concat(S) : S.concat(sFillVal);
1105
- };
1106
- },{"./$":24,"./$.string-repeat":37}],37:[function(require,module,exports){
1170
+ },{"./$.defined":17,"./$.to-integer":71}],63:[function(require,module,exports){
1171
+ // helper for String#{startsWith, endsWith, includes}
1172
+ var defined = require('./$.defined')
1173
+ , cof = require('./$.cof');
1174
+
1175
+ module.exports = function(that, searchString, NAME){
1176
+ if(cof(searchString) == 'RegExp')throw TypeError('String#' + NAME + " doesn't accept regex!");
1177
+ return String(defined(that));
1178
+ };
1179
+ },{"./$.cof":9,"./$.defined":17}],64:[function(require,module,exports){
1180
+ // https://github.com/ljharb/proposal-string-pad-left-right
1181
+ var toLength = require('./$.to-length')
1182
+ , repeat = require('./$.string-repeat')
1183
+ , defined = require('./$.defined');
1184
+
1185
+ module.exports = function(that, maxLength, fillString, left){
1186
+ var S = String(defined(that))
1187
+ , stringLength = S.length
1188
+ , fillStr = fillString === undefined ? ' ' : String(fillString)
1189
+ , intMaxLength = toLength(maxLength);
1190
+ if(intMaxLength <= stringLength)return S;
1191
+ if(fillStr == '')fillStr = ' ';
1192
+ var fillLen = intMaxLength - stringLength
1193
+ , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
1194
+ if(stringFiller.length > fillLen)stringFiller = left
1195
+ ? stringFiller.slice(stringFiller.length - fillLen)
1196
+ : stringFiller.slice(0, fillLen);
1197
+ return left ? stringFiller + S : S + stringFiller;
1198
+ };
1199
+ },{"./$.defined":17,"./$.string-repeat":65,"./$.to-length":73}],65:[function(require,module,exports){
1107
1200
  'use strict';
1108
- var $ = require('./$');
1201
+ var toInteger = require('./$.to-integer')
1202
+ , defined = require('./$.defined');
1109
1203
 
1110
1204
  module.exports = function repeat(count){
1111
- var str = String($.assertDefined(this))
1205
+ var str = String(defined(this))
1112
1206
  , res = ''
1113
- , n = $.toInteger(count);
1207
+ , n = toInteger(count);
1114
1208
  if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
1115
1209
  for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
1116
1210
  return res;
1117
1211
  };
1118
- },{"./$":24}],38:[function(require,module,exports){
1212
+ },{"./$.defined":17,"./$.to-integer":71}],66:[function(require,module,exports){
1213
+ // 1 -> String#trimLeft
1214
+ // 2 -> String#trimRight
1215
+ // 3 -> String#trim
1216
+ var trim = function(string, TYPE){
1217
+ string = String(defined(string));
1218
+ if(TYPE & 1)string = string.replace(ltrim, '');
1219
+ if(TYPE & 2)string = string.replace(rtrim, '');
1220
+ return string;
1221
+ };
1222
+
1223
+ var $def = require('./$.def')
1224
+ , defined = require('./$.defined')
1225
+ , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
1226
+ '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'
1227
+ , space = '[' + spaces + ']'
1228
+ , non = '\u200b\u0085'
1229
+ , ltrim = RegExp('^' + space + space + '*')
1230
+ , rtrim = RegExp(space + space + '*$');
1231
+
1232
+ module.exports = function(KEY, exec){
1233
+ var exp = {};
1234
+ exp[KEY] = exec(trim);
1235
+ $def($def.P + $def.F * require('./$.fails')(function(){
1236
+ return !!spaces[KEY]() || non[KEY]() != non;
1237
+ }), 'String', exp);
1238
+ };
1239
+ },{"./$.def":16,"./$.defined":17,"./$.fails":21}],67:[function(require,module,exports){
1240
+ // Thank's IE8 for his funny defineProperty
1241
+ module.exports = !require('./$.fails')(function(){
1242
+ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
1243
+ });
1244
+ },{"./$.fails":21}],68:[function(require,module,exports){
1245
+ var has = require('./$.has')
1246
+ , hide = require('./$.hide')
1247
+ , TAG = require('./$.wks')('toStringTag');
1248
+
1249
+ module.exports = function(it, tag, stat){
1250
+ if(it && !has(it = stat ? it : it.prototype, TAG))hide(it, TAG, tag);
1251
+ };
1252
+ },{"./$.has":27,"./$.hide":28,"./$.wks":77}],69:[function(require,module,exports){
1119
1253
  'use strict';
1120
- var $ = require('./$')
1121
- , ctx = require('./$.ctx')
1122
- , cof = require('./$.cof')
1123
- , invoke = require('./$.invoke')
1124
- , cel = require('./$.dom-create')
1125
- , global = $.g
1126
- , isFunction = $.isFunction
1127
- , html = $.html
1254
+ var ctx = require('./$.ctx')
1255
+ , invoke = require('./$.invoke')
1256
+ , html = require('./$.html')
1257
+ , cel = require('./$.dom-create')
1258
+ , global = require('./$.global')
1128
1259
  , process = global.process
1129
1260
  , setTask = global.setImmediate
1130
1261
  , clearTask = global.clearImmediate
@@ -1133,49 +1264,49 @@ var $ = require('./$')
1133
1264
  , queue = {}
1134
1265
  , ONREADYSTATECHANGE = 'onreadystatechange'
1135
1266
  , defer, channel, port;
1136
- function run(){
1267
+ var run = function(){
1137
1268
  var id = +this;
1138
- if($.has(queue, id)){
1269
+ if(queue.hasOwnProperty(id)){
1139
1270
  var fn = queue[id];
1140
1271
  delete queue[id];
1141
1272
  fn();
1142
1273
  }
1143
- }
1144
- function listner(event){
1274
+ };
1275
+ var listner = function(event){
1145
1276
  run.call(event.data);
1146
- }
1277
+ };
1147
1278
  // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
1148
- if(!isFunction(setTask) || !isFunction(clearTask)){
1149
- setTask = function(fn){
1279
+ if(!setTask || !clearTask){
1280
+ setTask = function setImmediate(fn){
1150
1281
  var args = [], i = 1;
1151
1282
  while(arguments.length > i)args.push(arguments[i++]);
1152
1283
  queue[++counter] = function(){
1153
- invoke(isFunction(fn) ? fn : Function(fn), args);
1284
+ invoke(typeof fn == 'function' ? fn : Function(fn), args);
1154
1285
  };
1155
1286
  defer(counter);
1156
1287
  return counter;
1157
1288
  };
1158
- clearTask = function(id){
1289
+ clearTask = function clearImmediate(id){
1159
1290
  delete queue[id];
1160
1291
  };
1161
1292
  // Node.js 0.8-
1162
- if(cof(process) == 'process'){
1293
+ if(require('./$.cof')(process) == 'process'){
1163
1294
  defer = function(id){
1164
1295
  process.nextTick(ctx(run, id, 1));
1165
1296
  };
1166
- // Modern browsers, skip implementation for WebWorkers
1167
- // IE8 has postMessage, but it's sync & typeof its postMessage is object
1168
- } else if(global.addEventListener && isFunction(global.postMessage) && !global.importScripts){
1169
- defer = function(id){
1170
- global.postMessage(id, '*');
1171
- };
1172
- global.addEventListener('message', listner, false);
1173
- // WebWorkers
1174
- } else if(isFunction(MessageChannel)){
1297
+ // Browsers with MessageChannel, includes WebWorkers
1298
+ } else if(MessageChannel){
1175
1299
  channel = new MessageChannel;
1176
1300
  port = channel.port2;
1177
1301
  channel.port1.onmessage = listner;
1178
1302
  defer = ctx(port.postMessage, port, 1);
1303
+ // Browsers with postMessage, skip WebWorkers
1304
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
1305
+ } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScript){
1306
+ defer = function(id){
1307
+ global.postMessage(id + '', '*');
1308
+ };
1309
+ global.addEventListener('message', listner, false);
1179
1310
  // IE8-
1180
1311
  } else if(ONREADYSTATECHANGE in cel('script')){
1181
1312
  defer = function(id){
@@ -1195,91 +1326,122 @@ module.exports = {
1195
1326
  set: setTask,
1196
1327
  clear: clearTask
1197
1328
  };
1198
- },{"./$":24,"./$.cof":7,"./$.ctx":12,"./$.dom-create":14,"./$.invoke":19}],39:[function(require,module,exports){
1199
- module.exports = function(exec){
1200
- try {
1201
- exec();
1202
- return false;
1203
- } catch(e){
1204
- return true;
1205
- }
1329
+ },{"./$.cof":9,"./$.ctx":15,"./$.dom-create":18,"./$.global":26,"./$.html":29,"./$.invoke":30}],70:[function(require,module,exports){
1330
+ var toInteger = require('./$.to-integer')
1331
+ , max = Math.max
1332
+ , min = Math.min;
1333
+ module.exports = function(index, length){
1334
+ index = toInteger(index);
1335
+ return index < 0 ? max(index + length, 0) : min(index, length);
1206
1336
  };
1207
- },{}],40:[function(require,module,exports){
1208
- var sid = 0;
1209
- function uid(key){
1210
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++sid + Math.random()).toString(36));
1211
- }
1212
- uid.safe = require('./$').g.Symbol || uid;
1213
- module.exports = uid;
1214
- },{"./$":24}],41:[function(require,module,exports){
1337
+ },{"./$.to-integer":71}],71:[function(require,module,exports){
1338
+ // 7.1.4 ToInteger
1339
+ var ceil = Math.ceil
1340
+ , floor = Math.floor;
1341
+ module.exports = function(it){
1342
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
1343
+ };
1344
+ },{}],72:[function(require,module,exports){
1345
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
1346
+ var IObject = require('./$.iobject')
1347
+ , defined = require('./$.defined');
1348
+ module.exports = function(it){
1349
+ return IObject(defined(it));
1350
+ };
1351
+ },{"./$.defined":17,"./$.iobject":31}],73:[function(require,module,exports){
1352
+ // 7.1.15 ToLength
1353
+ var toInteger = require('./$.to-integer')
1354
+ , min = Math.min;
1355
+ module.exports = function(it){
1356
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
1357
+ };
1358
+ },{"./$.to-integer":71}],74:[function(require,module,exports){
1359
+ // 7.1.13 ToObject(argument)
1360
+ var defined = require('./$.defined');
1361
+ module.exports = function(it){
1362
+ return Object(defined(it));
1363
+ };
1364
+ },{"./$.defined":17}],75:[function(require,module,exports){
1365
+ var id = 0
1366
+ , px = Math.random();
1367
+ module.exports = function(key){
1368
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
1369
+ };
1370
+ },{}],76:[function(require,module,exports){
1215
1371
  // 22.1.3.31 Array.prototype[@@unscopables]
1216
1372
  var UNSCOPABLES = require('./$.wks')('unscopables');
1217
- if(!(UNSCOPABLES in []))require('./$').hide(Array.prototype, UNSCOPABLES, {});
1373
+ if(!(UNSCOPABLES in []))require('./$.hide')(Array.prototype, UNSCOPABLES, {});
1218
1374
  module.exports = function(key){
1219
1375
  [][UNSCOPABLES][key] = true;
1220
1376
  };
1221
- },{"./$":24,"./$.wks":42}],42:[function(require,module,exports){
1222
- var global = require('./$').g
1223
- , store = require('./$.shared')('wks');
1377
+ },{"./$.hide":28,"./$.wks":77}],77:[function(require,module,exports){
1378
+ var store = require('./$.shared')('wks')
1379
+ , Symbol = require('./$.global').Symbol;
1224
1380
  module.exports = function(name){
1225
1381
  return store[name] || (store[name] =
1226
- global.Symbol && global.Symbol[name] || require('./$.uid').safe('Symbol.' + name));
1382
+ Symbol && Symbol[name] || (Symbol || require('./$.uid'))('Symbol.' + name));
1383
+ };
1384
+ },{"./$.global":26,"./$.shared":58,"./$.uid":75}],78:[function(require,module,exports){
1385
+ var classof = require('./$.classof')
1386
+ , ITERATOR = require('./$.wks')('iterator')
1387
+ , Iterators = require('./$.iterators');
1388
+ module.exports = require('./$.core').getIteratorMethod = function(it){
1389
+ if(it != undefined)return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
1227
1390
  };
1228
- },{"./$":24,"./$.shared":33,"./$.uid":40}],43:[function(require,module,exports){
1391
+ },{"./$.classof":8,"./$.core":14,"./$.iterators":41,"./$.wks":77}],79:[function(require,module,exports){
1392
+ 'use strict';
1229
1393
  var $ = require('./$')
1394
+ , SUPPORT_DESC = require('./$.support-desc')
1395
+ , createDesc = require('./$.property-desc')
1396
+ , html = require('./$.html')
1230
1397
  , cel = require('./$.dom-create')
1398
+ , has = require('./$.has')
1231
1399
  , cof = require('./$.cof')
1232
1400
  , $def = require('./$.def')
1233
1401
  , invoke = require('./$.invoke')
1234
1402
  , arrayMethod = require('./$.array-methods')
1235
- , IE_PROTO = require('./$.uid').safe('__proto__')
1236
- , assert = require('./$.assert')
1237
- , assertObject = assert.obj
1403
+ , IE_PROTO = require('./$.uid')('__proto__')
1404
+ , isObject = require('./$.is-object')
1405
+ , anObject = require('./$.an-object')
1406
+ , aFunction = require('./$.a-function')
1407
+ , toObject = require('./$.to-object')
1408
+ , toIObject = require('./$.to-iobject')
1409
+ , toInteger = require('./$.to-integer')
1410
+ , toIndex = require('./$.to-index')
1411
+ , toLength = require('./$.to-length')
1412
+ , IObject = require('./$.iobject')
1413
+ , fails = require('./$.fails')
1238
1414
  , ObjectProto = Object.prototype
1239
- , html = $.html
1240
1415
  , A = []
1241
1416
  , _slice = A.slice
1242
1417
  , _join = A.join
1243
- , classof = cof.classof
1244
- , has = $.has
1245
1418
  , defineProperty = $.setDesc
1246
1419
  , getOwnDescriptor = $.getDesc
1247
1420
  , defineProperties = $.setDescs
1248
- , isFunction = $.isFunction
1249
- , isObject = $.isObject
1250
- , toObject = $.toObject
1251
- , toLength = $.toLength
1252
- , toIndex = $.toIndex
1253
- , IE8_DOM_DEFINE = false
1254
1421
  , $indexOf = require('./$.array-includes')(false)
1255
- , $forEach = arrayMethod(0)
1256
- , $map = arrayMethod(1)
1257
- , $filter = arrayMethod(2)
1258
- , $some = arrayMethod(3)
1259
- , $every = arrayMethod(4);
1422
+ , factories = {}
1423
+ , IE8_DOM_DEFINE;
1260
1424
 
1261
- if(!$.DESC){
1262
- try {
1263
- IE8_DOM_DEFINE = defineProperty(cel('div'), 'x',
1264
- {get: function(){ return 8; }}
1265
- ).x == 8;
1266
- } catch(e){ /* empty */ }
1425
+ if(!SUPPORT_DESC){
1426
+ IE8_DOM_DEFINE = !fails(function(){
1427
+ return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7;
1428
+ });
1267
1429
  $.setDesc = function(O, P, Attributes){
1268
1430
  if(IE8_DOM_DEFINE)try {
1269
1431
  return defineProperty(O, P, Attributes);
1270
1432
  } catch(e){ /* empty */ }
1271
1433
  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
1272
- if('value' in Attributes)assertObject(O)[P] = Attributes.value;
1434
+ if('value' in Attributes)anObject(O)[P] = Attributes.value;
1273
1435
  return O;
1274
1436
  };
1275
1437
  $.getDesc = function(O, P){
1276
1438
  if(IE8_DOM_DEFINE)try {
1277
1439
  return getOwnDescriptor(O, P);
1278
1440
  } catch(e){ /* empty */ }
1279
- if(has(O, P))return $.desc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
1441
+ if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
1280
1442
  };
1281
1443
  $.setDescs = defineProperties = function(O, Properties){
1282
- assertObject(O);
1444
+ anObject(O);
1283
1445
  var keys = $.getKeys(Properties)
1284
1446
  , length = keys.length
1285
1447
  , i = 0
@@ -1288,7 +1450,7 @@ if(!$.DESC){
1288
1450
  return O;
1289
1451
  };
1290
1452
  }
1291
- $def($def.S + $def.F * !$.DESC, 'Object', {
1453
+ $def($def.S + $def.F * !SUPPORT_DESC, 'Object', {
1292
1454
  // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
1293
1455
  getOwnPropertyDescriptor: $.getDesc,
1294
1456
  // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
@@ -1324,9 +1486,9 @@ var createDict = function(){
1324
1486
  while(i--)delete createDict.prototype[keys1[i]];
1325
1487
  return createDict();
1326
1488
  };
1327
- function createGetKeys(names, length){
1489
+ var createGetKeys = function(names, length){
1328
1490
  return function(object){
1329
- var O = toObject(object)
1491
+ var O = toIObject(object)
1330
1492
  , i = 0
1331
1493
  , result = []
1332
1494
  , key;
@@ -1337,14 +1499,14 @@ function createGetKeys(names, length){
1337
1499
  }
1338
1500
  return result;
1339
1501
  };
1340
- }
1341
- function Empty(){}
1502
+ };
1503
+ var Empty = function(){};
1342
1504
  $def($def.S, 'Object', {
1343
1505
  // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
1344
1506
  getPrototypeOf: $.getProto = $.getProto || function(O){
1345
- O = Object(assert.def(O));
1507
+ O = toObject(O);
1346
1508
  if(has(O, IE_PROTO))return O[IE_PROTO];
1347
- if(isFunction(O.constructor) && O instanceof O.constructor){
1509
+ if(typeof O.constructor == 'function' && O instanceof O.constructor){
1348
1510
  return O.constructor.prototype;
1349
1511
  } return O instanceof Object ? ObjectProto : null;
1350
1512
  },
@@ -1354,7 +1516,7 @@ $def($def.S, 'Object', {
1354
1516
  create: $.create = $.create || function(O, /*?*/Properties){
1355
1517
  var result;
1356
1518
  if(O !== null){
1357
- Empty.prototype = assertObject(O);
1519
+ Empty.prototype = anObject(O);
1358
1520
  result = new Empty();
1359
1521
  Empty.prototype = null;
1360
1522
  // add "__proto__" for Object.getPrototypeOf shim
@@ -1363,65 +1525,38 @@ $def($def.S, 'Object', {
1363
1525
  return Properties === undefined ? result : defineProperties(result, Properties);
1364
1526
  },
1365
1527
  // 19.1.2.14 / 15.2.3.14 Object.keys(O)
1366
- keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false),
1367
- // 19.1.2.17 / 15.2.3.8 Object.seal(O)
1368
- seal: function seal(it){
1369
- return it; // <- cap
1370
- },
1371
- // 19.1.2.5 / 15.2.3.9 Object.freeze(O)
1372
- freeze: function freeze(it){
1373
- return it; // <- cap
1374
- },
1375
- // 19.1.2.15 / 15.2.3.10 Object.preventExtensions(O)
1376
- preventExtensions: function preventExtensions(it){
1377
- return it; // <- cap
1378
- },
1379
- // 19.1.2.13 / 15.2.3.11 Object.isSealed(O)
1380
- isSealed: function isSealed(it){
1381
- return !isObject(it); // <- cap
1382
- },
1383
- // 19.1.2.12 / 15.2.3.12 Object.isFrozen(O)
1384
- isFrozen: function isFrozen(it){
1385
- return !isObject(it); // <- cap
1386
- },
1387
- // 19.1.2.11 / 15.2.3.13 Object.isExtensible(O)
1388
- isExtensible: function isExtensible(it){
1389
- return isObject(it); // <- cap
1390
- }
1528
+ keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
1391
1529
  });
1392
1530
 
1531
+ var construct = function(F, len, args){
1532
+ if(!(len in factories)){
1533
+ for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
1534
+ factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
1535
+ }
1536
+ return factories[len](F, args);
1537
+ };
1538
+
1393
1539
  // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
1394
1540
  $def($def.P, 'Function', {
1395
- bind: function(that /*, args... */){
1396
- var fn = assert.fn(this)
1541
+ bind: function bind(that /*, args... */){
1542
+ var fn = aFunction(this)
1397
1543
  , partArgs = _slice.call(arguments, 1);
1398
- function bound(/* args... */){
1399
- var args = partArgs.concat(_slice.call(arguments))
1400
- , constr = this instanceof bound
1401
- , ctx = constr ? $.create(fn.prototype) : that
1402
- , result = invoke(fn, args, ctx);
1403
- return constr ? ctx : result;
1404
- }
1405
- if(fn.prototype)bound.prototype = fn.prototype;
1544
+ var bound = function(/* args... */){
1545
+ var args = partArgs.concat(_slice.call(arguments));
1546
+ return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
1547
+ };
1548
+ if(isObject(fn.prototype))bound.prototype = fn.prototype;
1406
1549
  return bound;
1407
1550
  }
1408
1551
  });
1409
1552
 
1410
- // Fix for not array-like ES3 string and DOM objects
1411
- if(!(0 in Object('z') && 'z'[0] == 'z')){
1412
- $.ES5Object = function(it){
1413
- return cof(it) == 'String' ? it.split('') : Object(it);
1414
- };
1415
- }
1416
-
1417
- var buggySlice = true;
1418
- try {
1553
+ // fallback for not array-like ES3 strings and DOM objects
1554
+ var buggySlice = fails(function(){
1419
1555
  if(html)_slice.call(html);
1420
- buggySlice = false;
1421
- } catch(e){ /* empty */ }
1556
+ });
1422
1557
 
1423
1558
  $def($def.P + $def.F * buggySlice, 'Array', {
1424
- slice: function slice(begin, end){
1559
+ slice: function(begin, end){
1425
1560
  var len = toLength(this.length)
1426
1561
  , klass = cof(this);
1427
1562
  end = end === undefined ? len : end;
@@ -1437,23 +1572,19 @@ $def($def.P + $def.F * buggySlice, 'Array', {
1437
1572
  return cloned;
1438
1573
  }
1439
1574
  });
1440
-
1441
- $def($def.P + $def.F * ($.ES5Object != Object), 'Array', {
1442
- join: function join(){
1443
- return _join.apply($.ES5Object(this), arguments);
1575
+ $def($def.P + $def.F * (IObject != Object), 'Array', {
1576
+ join: function(){
1577
+ return _join.apply(IObject(this), arguments);
1444
1578
  }
1445
1579
  });
1446
1580
 
1447
1581
  // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
1448
- $def($def.S, 'Array', {
1449
- isArray: function(arg){
1450
- return cof(arg) == 'Array';
1451
- }
1452
- });
1453
- function createArrayReduce(isRight){
1582
+ $def($def.S, 'Array', {isArray: function(arg){ return cof(arg) == 'Array'; }});
1583
+
1584
+ var createArrayReduce = function(isRight){
1454
1585
  return function(callbackfn, memo){
1455
- assert.fn(callbackfn);
1456
- var O = toObject(this)
1586
+ aFunction(callbackfn);
1587
+ var O = IObject(this)
1457
1588
  , length = toLength(O.length)
1458
1589
  , index = isRight ? length - 1 : 0
1459
1590
  , i = isRight ? -1 : 1;
@@ -1464,98 +1595,86 @@ function createArrayReduce(isRight){
1464
1595
  break;
1465
1596
  }
1466
1597
  index += i;
1467
- assert(isRight ? index >= 0 : length > index, 'Reduce of empty array with no initial value');
1598
+ if(isRight ? index < 0 : length <= index){
1599
+ throw TypeError('Reduce of empty array with no initial value');
1600
+ }
1468
1601
  }
1469
1602
  for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
1470
1603
  memo = callbackfn(memo, O[index], index, this);
1471
1604
  }
1472
1605
  return memo;
1473
1606
  };
1474
- }
1607
+ };
1608
+ var methodize = function($fn){
1609
+ return function(arg1/*, arg2 = undefined */){
1610
+ return $fn(this, arg1, arguments[1]);
1611
+ };
1612
+ };
1475
1613
  $def($def.P, 'Array', {
1476
1614
  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
1477
- forEach: $.each = $.each || function forEach(callbackfn/*, that = undefined */){
1478
- return $forEach(this, callbackfn, arguments[1]);
1479
- },
1615
+ forEach: $.each = $.each || methodize(arrayMethod(0)),
1480
1616
  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
1481
- map: function map(callbackfn/*, that = undefined */){
1482
- return $map(this, callbackfn, arguments[1]);
1483
- },
1617
+ map: methodize(arrayMethod(1)),
1484
1618
  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
1485
- filter: function filter(callbackfn/*, that = undefined */){
1486
- return $filter(this, callbackfn, arguments[1]);
1487
- },
1619
+ filter: methodize(arrayMethod(2)),
1488
1620
  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
1489
- some: function some(callbackfn/*, that = undefined */){
1490
- return $some(this, callbackfn, arguments[1]);
1491
- },
1621
+ some: methodize(arrayMethod(3)),
1492
1622
  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
1493
- every: function every(callbackfn/*, that = undefined */){
1494
- return $every(this, callbackfn, arguments[1]);
1495
- },
1623
+ every: methodize(arrayMethod(4)),
1496
1624
  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
1497
1625
  reduce: createArrayReduce(false),
1498
1626
  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
1499
1627
  reduceRight: createArrayReduce(true),
1500
1628
  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
1501
- indexOf: function indexOf(el /*, fromIndex = 0 */){
1502
- return $indexOf(this, el, arguments[1]);
1503
- },
1629
+ indexOf: methodize($indexOf),
1504
1630
  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
1505
1631
  lastIndexOf: function(el, fromIndex /* = @[*-1] */){
1506
- var O = toObject(this)
1632
+ var O = toIObject(this)
1507
1633
  , length = toLength(O.length)
1508
1634
  , index = length - 1;
1509
- if(arguments.length > 1)index = Math.min(index, $.toInteger(fromIndex));
1635
+ if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex));
1510
1636
  if(index < 0)index = toLength(length + index);
1511
1637
  for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
1512
1638
  return -1;
1513
1639
  }
1514
1640
  });
1515
1641
 
1516
- // 21.1.3.25 / 15.5.4.20 String.prototype.trim()
1517
- $def($def.P, 'String', {trim: require('./$.replacer')(/^\s*([\s\S]*\S)?\s*$/, '$1')});
1518
-
1519
1642
  // 20.3.3.1 / 15.9.4.4 Date.now()
1520
- $def($def.S, 'Date', {now: function(){
1521
- return +new Date;
1522
- }});
1643
+ $def($def.S, 'Date', {now: function(){ return +new Date; }});
1523
1644
 
1524
- function lz(num){
1645
+ var lz = function(num){
1525
1646
  return num > 9 ? num : '0' + num;
1526
- }
1647
+ };
1527
1648
 
1528
1649
  // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
1529
1650
  // PhantomJS and old webkit had a broken Date implementation.
1530
1651
  var date = new Date(-5e13 - 1)
1531
1652
  , brokenDate = !(date.toISOString && date.toISOString() == '0385-07-25T07:06:39.999Z'
1532
- && require('./$.throws')(function(){ new Date(NaN).toISOString(); }));
1533
- $def($def.P + $def.F * brokenDate, 'Date', {toISOString: function(){
1534
- if(!isFinite(this))throw RangeError('Invalid time value');
1535
- var d = this
1536
- , y = d.getUTCFullYear()
1537
- , m = d.getUTCMilliseconds()
1538
- , s = y < 0 ? '-' : y > 9999 ? '+' : '';
1539
- return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
1540
- '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
1541
- 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
1542
- ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
1543
- }});
1544
-
1545
- if(classof(function(){ return arguments; }()) == 'Object')cof.classof = function(it){
1546
- var tag = classof(it);
1547
- return tag == 'Object' && isFunction(it.callee) ? 'Arguments' : tag;
1548
- };
1549
- },{"./$":24,"./$.array-includes":3,"./$.array-methods":4,"./$.assert":5,"./$.cof":7,"./$.def":13,"./$.dom-create":14,"./$.invoke":19,"./$.replacer":30,"./$.throws":39,"./$.uid":40}],44:[function(require,module,exports){
1653
+ && fails(function(){ new Date(NaN).toISOString(); }));
1654
+ $def($def.P + $def.F * brokenDate, 'Date', {
1655
+ toISOString: function toISOString(){
1656
+ if(!isFinite(this))throw RangeError('Invalid time value');
1657
+ var d = this
1658
+ , y = d.getUTCFullYear()
1659
+ , m = d.getUTCMilliseconds()
1660
+ , s = y < 0 ? '-' : y > 9999 ? '+' : '';
1661
+ return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
1662
+ '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
1663
+ 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
1664
+ ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
1665
+ }
1666
+ });
1667
+ },{"./$":42,"./$.a-function":3,"./$.an-object":4,"./$.array-includes":5,"./$.array-methods":6,"./$.cof":9,"./$.def":16,"./$.dom-create":18,"./$.fails":21,"./$.has":27,"./$.html":29,"./$.invoke":30,"./$.iobject":31,"./$.is-object":34,"./$.property-desc":53,"./$.support-desc":67,"./$.to-index":70,"./$.to-integer":71,"./$.to-iobject":72,"./$.to-length":73,"./$.to-object":74,"./$.uid":75}],80:[function(require,module,exports){
1550
1668
  'use strict';
1551
- var $ = require('./$')
1552
- , $def = require('./$.def')
1553
- , toIndex = $.toIndex;
1669
+ var $def = require('./$.def')
1670
+ , toObject = require('./$.to-object')
1671
+ , toIndex = require('./$.to-index')
1672
+ , toLength = require('./$.to-length');
1554
1673
  $def($def.P, 'Array', {
1555
1674
  // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
1556
1675
  copyWithin: function copyWithin(target/* = 0 */, start /* = 0, end = @length */){
1557
- var O = Object($.assertDefined(this))
1558
- , len = $.toLength(O.length)
1676
+ var O = toObject(this)
1677
+ , len = toLength(O.length)
1559
1678
  , to = toIndex(target, len)
1560
1679
  , from = toIndex(start, len)
1561
1680
  , end = arguments[2]
@@ -1576,16 +1695,17 @@ $def($def.P, 'Array', {
1576
1695
  }
1577
1696
  });
1578
1697
  require('./$.unscope')('copyWithin');
1579
- },{"./$":24,"./$.def":13,"./$.unscope":41}],45:[function(require,module,exports){
1698
+ },{"./$.def":16,"./$.to-index":70,"./$.to-length":73,"./$.to-object":74,"./$.unscope":76}],81:[function(require,module,exports){
1580
1699
  'use strict';
1581
- var $ = require('./$')
1582
- , $def = require('./$.def')
1583
- , toIndex = $.toIndex;
1700
+ var $def = require('./$.def')
1701
+ , toObject = require('./$.to-object')
1702
+ , toIndex = require('./$.to-index')
1703
+ , toLength = require('./$.to-length');
1584
1704
  $def($def.P, 'Array', {
1585
1705
  // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
1586
1706
  fill: function fill(value /*, start = 0, end = @length */){
1587
- var O = Object($.assertDefined(this))
1588
- , length = $.toLength(O.length)
1707
+ var O = toObject(this, true)
1708
+ , length = toLength(O.length)
1589
1709
  , index = toIndex(arguments[1], length)
1590
1710
  , end = arguments[2]
1591
1711
  , endPos = end === undefined ? length : toIndex(end, length);
@@ -1594,7 +1714,7 @@ $def($def.P, 'Array', {
1594
1714
  }
1595
1715
  });
1596
1716
  require('./$.unscope')('fill');
1597
- },{"./$":24,"./$.def":13,"./$.unscope":41}],46:[function(require,module,exports){
1717
+ },{"./$.def":16,"./$.to-index":70,"./$.to-length":73,"./$.to-object":74,"./$.unscope":76}],82:[function(require,module,exports){
1598
1718
  'use strict';
1599
1719
  // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
1600
1720
  var KEY = 'findIndex'
@@ -1609,7 +1729,7 @@ $def($def.P + $def.F * forced, 'Array', {
1609
1729
  }
1610
1730
  });
1611
1731
  require('./$.unscope')(KEY);
1612
- },{"./$.array-methods":4,"./$.def":13,"./$.unscope":41}],47:[function(require,module,exports){
1732
+ },{"./$.array-methods":6,"./$.def":16,"./$.unscope":76}],83:[function(require,module,exports){
1613
1733
  'use strict';
1614
1734
  // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
1615
1735
  var KEY = 'find'
@@ -1624,61 +1744,62 @@ $def($def.P + $def.F * forced, 'Array', {
1624
1744
  }
1625
1745
  });
1626
1746
  require('./$.unscope')(KEY);
1627
- },{"./$.array-methods":4,"./$.def":13,"./$.unscope":41}],48:[function(require,module,exports){
1628
- var $ = require('./$')
1629
- , ctx = require('./$.ctx')
1630
- , $def = require('./$.def')
1631
- , $iter = require('./$.iter')
1632
- , call = require('./$.iter-call');
1747
+ },{"./$.array-methods":6,"./$.def":16,"./$.unscope":76}],84:[function(require,module,exports){
1748
+ 'use strict';
1749
+ var ctx = require('./$.ctx')
1750
+ , $def = require('./$.def')
1751
+ , toObject = require('./$.to-object')
1752
+ , call = require('./$.iter-call')
1753
+ , isArrayIter = require('./$.is-array-iter')
1754
+ , toLength = require('./$.to-length')
1755
+ , getIterFn = require('./core.get-iterator-method');
1633
1756
  $def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', {
1634
1757
  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
1635
1758
  from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
1636
- var O = Object($.assertDefined(arrayLike))
1759
+ var O = toObject(arrayLike)
1760
+ , C = typeof this == 'function' ? this : Array
1637
1761
  , mapfn = arguments[1]
1638
1762
  , mapping = mapfn !== undefined
1639
- , f = mapping ? ctx(mapfn, arguments[2], 2) : undefined
1640
1763
  , index = 0
1764
+ , iterFn = getIterFn(O)
1641
1765
  , length, result, step, iterator;
1642
- if($iter.is(O)){
1643
- iterator = $iter.get(O);
1644
- // strange IE quirks mode bug -> use typeof instead of isFunction
1645
- result = new (typeof this == 'function' ? this : Array);
1646
- for(; !(step = iterator.next()).done; index++){
1647
- result[index] = mapping ? call(iterator, f, [step.value, index], true) : step.value;
1766
+ if(mapping)mapfn = ctx(mapfn, arguments[2], 2);
1767
+ // if object isn't iterable or it's array with default iterator - use simple case
1768
+ if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
1769
+ for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
1770
+ result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
1648
1771
  }
1649
1772
  } else {
1650
- // strange IE quirks mode bug -> use typeof instead of isFunction
1651
- result = new (typeof this == 'function' ? this : Array)(length = $.toLength(O.length));
1652
- for(; length > index; index++){
1653
- result[index] = mapping ? f(O[index], index) : O[index];
1773
+ for(result = new C(length = toLength(O.length)); length > index; index++){
1774
+ result[index] = mapping ? mapfn(O[index], index) : O[index];
1654
1775
  }
1655
1776
  }
1656
1777
  result.length = index;
1657
1778
  return result;
1658
1779
  }
1659
1780
  });
1660
- },{"./$":24,"./$.ctx":12,"./$.def":13,"./$.iter":23,"./$.iter-call":20,"./$.iter-detect":22}],49:[function(require,module,exports){
1661
- var $ = require('./$')
1662
- , setUnscope = require('./$.unscope')
1663
- , ITER = require('./$.uid').safe('iter')
1664
- , $iter = require('./$.iter')
1665
- , step = $iter.step
1666
- , Iterators = $iter.Iterators;
1781
+ },{"./$.ctx":15,"./$.def":16,"./$.is-array-iter":32,"./$.iter-call":36,"./$.iter-detect":39,"./$.to-length":73,"./$.to-object":74,"./core.get-iterator-method":78}],85:[function(require,module,exports){
1782
+ 'use strict';
1783
+ var setUnscope = require('./$.unscope')
1784
+ , step = require('./$.iter-step')
1785
+ , Iterators = require('./$.iterators')
1786
+ , toIObject = require('./$.to-iobject');
1667
1787
 
1668
1788
  // 22.1.3.4 Array.prototype.entries()
1669
1789
  // 22.1.3.13 Array.prototype.keys()
1670
1790
  // 22.1.3.29 Array.prototype.values()
1671
1791
  // 22.1.3.30 Array.prototype[@@iterator]()
1672
1792
  require('./$.iter-define')(Array, 'Array', function(iterated, kind){
1673
- $.set(this, ITER, {o: $.toObject(iterated), i: 0, k: kind});
1793
+ this._t = toIObject(iterated); // target
1794
+ this._i = 0; // next index
1795
+ this._k = kind; // kind
1674
1796
  // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
1675
1797
  }, function(){
1676
- var iter = this[ITER]
1677
- , O = iter.o
1678
- , kind = iter.k
1679
- , index = iter.i++;
1798
+ var O = this._t
1799
+ , kind = this._k
1800
+ , index = this._i++;
1680
1801
  if(!O || index >= O.length){
1681
- iter.o = undefined;
1802
+ this._t = undefined;
1682
1803
  return step(1);
1683
1804
  }
1684
1805
  if(kind == 'keys' )return step(0, index);
@@ -1692,54 +1813,54 @@ Iterators.Arguments = Iterators.Array;
1692
1813
  setUnscope('keys');
1693
1814
  setUnscope('values');
1694
1815
  setUnscope('entries');
1695
- },{"./$":24,"./$.iter":23,"./$.iter-define":21,"./$.uid":40,"./$.unscope":41}],50:[function(require,module,exports){
1816
+ },{"./$.iter-define":38,"./$.iter-step":40,"./$.iterators":41,"./$.to-iobject":72,"./$.unscope":76}],86:[function(require,module,exports){
1817
+ 'use strict';
1696
1818
  var $def = require('./$.def');
1697
1819
  $def($def.S, 'Array', {
1698
1820
  // 22.1.2.3 Array.of( ...items)
1699
1821
  of: function of(/* ...args */){
1700
1822
  var index = 0
1701
1823
  , length = arguments.length
1702
- // strange IE quirks mode bug -> use typeof instead of isFunction
1703
1824
  , result = new (typeof this == 'function' ? this : Array)(length);
1704
1825
  while(length > index)result[index] = arguments[index++];
1705
1826
  result.length = length;
1706
1827
  return result;
1707
1828
  }
1708
1829
  });
1709
- },{"./$.def":13}],51:[function(require,module,exports){
1830
+ },{"./$.def":16}],87:[function(require,module,exports){
1710
1831
  require('./$.species')(Array);
1711
- },{"./$.species":34}],52:[function(require,module,exports){
1832
+ },{"./$.species":60}],88:[function(require,module,exports){
1833
+ 'use strict';
1712
1834
  var $ = require('./$')
1835
+ , isObject = require('./$.is-object')
1713
1836
  , HAS_INSTANCE = require('./$.wks')('hasInstance')
1714
1837
  , FunctionProto = Function.prototype;
1715
1838
  // 19.2.3.6 Function.prototype[@@hasInstance](V)
1716
1839
  if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){
1717
- if(!$.isFunction(this) || !$.isObject(O))return false;
1718
- if(!$.isObject(this.prototype))return O instanceof this;
1840
+ if(typeof this != 'function' || !isObject(O))return false;
1841
+ if(!isObject(this.prototype))return O instanceof this;
1719
1842
  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
1720
1843
  while(O = $.getProto(O))if(this.prototype === O)return true;
1721
1844
  return false;
1722
1845
  }});
1723
- },{"./$":24,"./$.wks":42}],53:[function(require,module,exports){
1724
- 'use strict';
1725
- var $ = require('./$')
1726
- , NAME = 'name'
1727
- , setDesc = $.setDesc
1728
- , FunctionProto = Function.prototype;
1846
+ },{"./$":42,"./$.is-object":34,"./$.wks":77}],89:[function(require,module,exports){
1847
+ var setDesc = require('./$').setDesc
1848
+ , createDesc = require('./$.property-desc')
1849
+ , has = require('./$.has')
1850
+ , FProto = Function.prototype
1851
+ , nameRE = /^\s*function ([^ (]*)/
1852
+ , NAME = 'name';
1729
1853
  // 19.2.4.2 name
1730
- NAME in FunctionProto || $.FW && $.DESC && setDesc(FunctionProto, NAME, {
1854
+ NAME in FProto || require('./$.support-desc') && setDesc(FProto, NAME, {
1731
1855
  configurable: true,
1732
1856
  get: function(){
1733
- var match = String(this).match(/^\s*function ([^ (]*)/)
1857
+ var match = ('' + this).match(nameRE)
1734
1858
  , name = match ? match[1] : '';
1735
- $.has(this, NAME) || setDesc(this, NAME, $.desc(5, name));
1859
+ has(this, NAME) || setDesc(this, NAME, createDesc(5, name));
1736
1860
  return name;
1737
- },
1738
- set: function(value){
1739
- $.has(this, NAME) || setDesc(this, NAME, $.desc(0, value));
1740
1861
  }
1741
1862
  });
1742
- },{"./$":24}],54:[function(require,module,exports){
1863
+ },{"./$":42,"./$.has":27,"./$.property-desc":53,"./$.support-desc":67}],90:[function(require,module,exports){
1743
1864
  'use strict';
1744
1865
  var strong = require('./$.collection-strong');
1745
1866
 
@@ -1757,66 +1878,91 @@ require('./$.collection')('Map', function(get){
1757
1878
  return strong.def(this, key === 0 ? 0 : key, value);
1758
1879
  }
1759
1880
  }, strong, true);
1760
- },{"./$.collection":11,"./$.collection-strong":8}],55:[function(require,module,exports){
1761
- var Infinity = 1 / 0
1762
- , $def = require('./$.def')
1763
- , E = Math.E
1764
- , pow = Math.pow
1765
- , abs = Math.abs
1766
- , exp = Math.exp
1767
- , log = Math.log
1768
- , sqrt = Math.sqrt
1769
- , ceil = Math.ceil
1770
- , floor = Math.floor
1771
- , EPSILON = pow(2, -52)
1772
- , EPSILON32 = pow(2, -23)
1773
- , MAX32 = pow(2, 127) * (2 - EPSILON32)
1774
- , MIN32 = pow(2, -126);
1775
- function roundTiesToEven(n){
1776
- return n + 1 / EPSILON - 1 / EPSILON;
1777
- }
1778
-
1779
- // 20.2.2.28 Math.sign(x)
1780
- function sign(x){
1781
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
1782
- }
1881
+ },{"./$.collection":13,"./$.collection-strong":10}],91:[function(require,module,exports){
1882
+ // 20.2.2.3 Math.acosh(x)
1883
+ var $def = require('./$.def')
1884
+ , log1p = require('./$.log1p')
1885
+ , sqrt = Math.sqrt
1886
+ , $acosh = Math.acosh;
1887
+
1888
+ // V8 bug https://code.google.com/p/v8/issues/detail?id=3509
1889
+ $def($def.S + $def.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', {
1890
+ acosh: function acosh(x){
1891
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156
1892
+ ? Math.log(x) + Math.LN2
1893
+ : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
1894
+ }
1895
+ });
1896
+ },{"./$.def":16,"./$.log1p":45}],92:[function(require,module,exports){
1783
1897
  // 20.2.2.5 Math.asinh(x)
1898
+ var $def = require('./$.def');
1899
+
1784
1900
  function asinh(x){
1785
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));
1786
- }
1787
- // 20.2.2.14 Math.expm1(x)
1788
- function expm1(x){
1789
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
1901
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
1790
1902
  }
1791
1903
 
1904
+ $def($def.S, 'Math', {asinh: asinh});
1905
+ },{"./$.def":16}],93:[function(require,module,exports){
1906
+ // 20.2.2.7 Math.atanh(x)
1907
+ var $def = require('./$.def');
1908
+
1792
1909
  $def($def.S, 'Math', {
1793
- // 20.2.2.3 Math.acosh(x)
1794
- acosh: function acosh(x){
1795
- return (x = +x) < 1 ? NaN : isFinite(x) ? log(x / E + sqrt(x + 1) * sqrt(x - 1) / E) + 1 : x;
1796
- },
1797
- // 20.2.2.5 Math.asinh(x)
1798
- asinh: asinh,
1799
- // 20.2.2.7 Math.atanh(x)
1800
1910
  atanh: function atanh(x){
1801
- return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;
1802
- },
1803
- // 20.2.2.9 Math.cbrt(x)
1911
+ return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
1912
+ }
1913
+ });
1914
+ },{"./$.def":16}],94:[function(require,module,exports){
1915
+ // 20.2.2.9 Math.cbrt(x)
1916
+ var $def = require('./$.def')
1917
+ , sign = require('./$.sign');
1918
+
1919
+ $def($def.S, 'Math', {
1804
1920
  cbrt: function cbrt(x){
1805
- return sign(x = +x) * pow(abs(x), 1 / 3);
1806
- },
1807
- // 20.2.2.11 Math.clz32(x)
1921
+ return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
1922
+ }
1923
+ });
1924
+ },{"./$.def":16,"./$.sign":59}],95:[function(require,module,exports){
1925
+ // 20.2.2.11 Math.clz32(x)
1926
+ var $def = require('./$.def');
1927
+
1928
+ $def($def.S, 'Math', {
1808
1929
  clz32: function clz32(x){
1809
- return (x >>>= 0) ? 31 - floor(log(x + 0.5) * Math.LOG2E) : 32;
1810
- },
1811
- // 20.2.2.12 Math.cosh(x)
1930
+ return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
1931
+ }
1932
+ });
1933
+ },{"./$.def":16}],96:[function(require,module,exports){
1934
+ // 20.2.2.12 Math.cosh(x)
1935
+ var $def = require('./$.def')
1936
+ , exp = Math.exp;
1937
+
1938
+ $def($def.S, 'Math', {
1812
1939
  cosh: function cosh(x){
1813
1940
  return (exp(x = +x) + exp(-x)) / 2;
1814
- },
1815
- // 20.2.2.14 Math.expm1(x)
1816
- expm1: expm1,
1817
- // 20.2.2.16 Math.fround(x)
1941
+ }
1942
+ });
1943
+ },{"./$.def":16}],97:[function(require,module,exports){
1944
+ // 20.2.2.14 Math.expm1(x)
1945
+ var $def = require('./$.def');
1946
+
1947
+ $def($def.S, 'Math', {expm1: require('./$.expm1')});
1948
+ },{"./$.def":16,"./$.expm1":20}],98:[function(require,module,exports){
1949
+ // 20.2.2.16 Math.fround(x)
1950
+ var $def = require('./$.def')
1951
+ , sign = require('./$.sign')
1952
+ , pow = Math.pow
1953
+ , EPSILON = pow(2, -52)
1954
+ , EPSILON32 = pow(2, -23)
1955
+ , MAX32 = pow(2, 127) * (2 - EPSILON32)
1956
+ , MIN32 = pow(2, -126);
1957
+
1958
+ var roundTiesToEven = function(n){
1959
+ return n + 1 / EPSILON - 1 / EPSILON;
1960
+ };
1961
+
1962
+
1963
+ $def($def.S, 'Math', {
1818
1964
  fround: function fround(x){
1819
- var $abs = abs(x)
1965
+ var $abs = Math.abs(x)
1820
1966
  , $sign = sign(x)
1821
1967
  , a, result;
1822
1968
  if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
@@ -1824,8 +1970,14 @@ $def($def.S, 'Math', {
1824
1970
  result = a - (a - $abs);
1825
1971
  if(result > MAX32 || result != result)return $sign * Infinity;
1826
1972
  return $sign * result;
1827
- },
1828
- // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
1973
+ }
1974
+ });
1975
+ },{"./$.def":16,"./$.sign":59}],99:[function(require,module,exports){
1976
+ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
1977
+ var $def = require('./$.def')
1978
+ , abs = Math.abs;
1979
+
1980
+ $def($def.S, 'Math', {
1829
1981
  hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
1830
1982
  var sum = 0
1831
1983
  , i = 0
@@ -1843,62 +1995,110 @@ $def($def.S, 'Math', {
1843
1995
  sum += div * div;
1844
1996
  } else sum += arg;
1845
1997
  }
1846
- return larg === Infinity ? Infinity : larg * sqrt(sum);
1847
- },
1848
- // 20.2.2.18 Math.imul(x, y)
1998
+ return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
1999
+ }
2000
+ });
2001
+ },{"./$.def":16}],100:[function(require,module,exports){
2002
+ // 20.2.2.18 Math.imul(x, y)
2003
+ var $def = require('./$.def');
2004
+
2005
+ // WebKit fails with big numbers
2006
+ $def($def.S + $def.F * require('./$.fails')(function(){
2007
+ return Math.imul(0xffffffff, 5) != -5;
2008
+ }), 'Math', {
1849
2009
  imul: function imul(x, y){
1850
- var UInt16 = 0xffff
2010
+ var UINT16 = 0xffff
1851
2011
  , xn = +x
1852
2012
  , yn = +y
1853
- , xl = UInt16 & xn
1854
- , yl = UInt16 & yn;
1855
- return 0 | xl * yl + ((UInt16 & xn >>> 16) * yl + xl * (UInt16 & yn >>> 16) << 16 >>> 0);
1856
- },
1857
- // 20.2.2.20 Math.log1p(x)
1858
- log1p: function log1p(x){
1859
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
1860
- },
1861
- // 20.2.2.21 Math.log10(x)
2013
+ , xl = UINT16 & xn
2014
+ , yl = UINT16 & yn;
2015
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
2016
+ }
2017
+ });
2018
+ },{"./$.def":16,"./$.fails":21}],101:[function(require,module,exports){
2019
+ // 20.2.2.21 Math.log10(x)
2020
+ var $def = require('./$.def');
2021
+
2022
+ $def($def.S, 'Math', {
1862
2023
  log10: function log10(x){
1863
- return log(x) / Math.LN10;
1864
- },
1865
- // 20.2.2.22 Math.log2(x)
2024
+ return Math.log(x) / Math.LN10;
2025
+ }
2026
+ });
2027
+ },{"./$.def":16}],102:[function(require,module,exports){
2028
+ // 20.2.2.20 Math.log1p(x)
2029
+ var $def = require('./$.def');
2030
+
2031
+ $def($def.S, 'Math', {log1p: require('./$.log1p')});
2032
+ },{"./$.def":16,"./$.log1p":45}],103:[function(require,module,exports){
2033
+ // 20.2.2.22 Math.log2(x)
2034
+ var $def = require('./$.def');
2035
+
2036
+ $def($def.S, 'Math', {
1866
2037
  log2: function log2(x){
1867
- return log(x) / Math.LN2;
1868
- },
1869
- // 20.2.2.28 Math.sign(x)
1870
- sign: sign,
1871
- // 20.2.2.30 Math.sinh(x)
2038
+ return Math.log(x) / Math.LN2;
2039
+ }
2040
+ });
2041
+ },{"./$.def":16}],104:[function(require,module,exports){
2042
+ // 20.2.2.28 Math.sign(x)
2043
+ var $def = require('./$.def');
2044
+
2045
+ $def($def.S, 'Math', {sign: require('./$.sign')});
2046
+ },{"./$.def":16,"./$.sign":59}],105:[function(require,module,exports){
2047
+ // 20.2.2.30 Math.sinh(x)
2048
+ var $def = require('./$.def')
2049
+ , expm1 = require('./$.expm1')
2050
+ , exp = Math.exp;
2051
+
2052
+ $def($def.S, 'Math', {
1872
2053
  sinh: function sinh(x){
1873
- return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
1874
- },
1875
- // 20.2.2.33 Math.tanh(x)
2054
+ return Math.abs(x = +x) < 1
2055
+ ? (expm1(x) - expm1(-x)) / 2
2056
+ : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
2057
+ }
2058
+ });
2059
+ },{"./$.def":16,"./$.expm1":20}],106:[function(require,module,exports){
2060
+ // 20.2.2.33 Math.tanh(x)
2061
+ var $def = require('./$.def')
2062
+ , expm1 = require('./$.expm1')
2063
+ , exp = Math.exp;
2064
+
2065
+ $def($def.S, 'Math', {
1876
2066
  tanh: function tanh(x){
1877
2067
  var a = expm1(x = +x)
1878
2068
  , b = expm1(-x);
1879
2069
  return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
1880
- },
1881
- // 20.2.2.34 Math.trunc(x)
2070
+ }
2071
+ });
2072
+ },{"./$.def":16,"./$.expm1":20}],107:[function(require,module,exports){
2073
+ // 20.2.2.34 Math.trunc(x)
2074
+ var $def = require('./$.def');
2075
+
2076
+ $def($def.S, 'Math', {
1882
2077
  trunc: function trunc(it){
1883
- return (it > 0 ? floor : ceil)(it);
2078
+ return (it > 0 ? Math.floor : Math.ceil)(it);
1884
2079
  }
1885
2080
  });
1886
- },{"./$.def":13}],56:[function(require,module,exports){
2081
+ },{"./$.def":16}],108:[function(require,module,exports){
1887
2082
  'use strict';
1888
2083
  var $ = require('./$')
1889
- , isObject = $.isObject
1890
- , isFunction = $.isFunction
2084
+ , global = require('./$.global')
2085
+ , has = require('./$.has')
2086
+ , cof = require('./$.cof')
2087
+ , isObject = require('./$.is-object')
2088
+ , fails = require('./$.fails')
1891
2089
  , NUMBER = 'Number'
1892
- , $Number = $.g[NUMBER]
2090
+ , $Number = global[NUMBER]
1893
2091
  , Base = $Number
1894
- , proto = $Number.prototype;
1895
- function toPrimitive(it){
2092
+ , proto = $Number.prototype
2093
+ // Opera ~12 has broken Object#toString
2094
+ , BROKEN_COF = cof($.create(proto)) == NUMBER;
2095
+ var toPrimitive = function(it){
1896
2096
  var fn, val;
1897
- if(isFunction(fn = it.valueOf) && !isObject(val = fn.call(it)))return val;
1898
- if(isFunction(fn = it.toString) && !isObject(val = fn.call(it)))return val;
2097
+ if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
2098
+ if(typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
1899
2099
  throw TypeError("Can't convert object to number");
1900
- }
1901
- function toNumber(it){
2100
+ };
2101
+ var toNumber = function(it){
1902
2102
  if(isObject(it))it = toPrimitive(it);
1903
2103
  if(typeof it == 'string' && it.length > 2 && it.charCodeAt(0) == 48){
1904
2104
  var binary = false;
@@ -1907,155 +2107,232 @@ function toNumber(it){
1907
2107
  case 79 : case 111 : return parseInt(it.slice(2), binary ? 2 : 8);
1908
2108
  }
1909
2109
  } return +it;
1910
- }
1911
- if($.FW && !($Number('0o1') && $Number('0b1'))){
2110
+ };
2111
+ if(!($Number('0o1') && $Number('0b1'))){
1912
2112
  $Number = function Number(it){
1913
- return this instanceof $Number ? new Base(toNumber(it)) : toNumber(it);
2113
+ var that = this;
2114
+ return that instanceof $Number
2115
+ // check on 1..constructor(foo) case
2116
+ && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
2117
+ ? new Base(toNumber(it)) : toNumber(it);
1914
2118
  };
1915
- $.each.call($.DESC ? $.getNames(Base) : (
2119
+ $.each.call(require('./$.support-desc') ? $.getNames(Base) : (
1916
2120
  // ES3:
1917
2121
  'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
1918
2122
  // ES6 (in case, if modules with ES6 Number statics required before):
1919
2123
  'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
1920
2124
  'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
1921
2125
  ).split(','), function(key){
1922
- if($.has(Base, key) && !$.has($Number, key)){
2126
+ if(has(Base, key) && !has($Number, key)){
1923
2127
  $.setDesc($Number, key, $.getDesc(Base, key));
1924
2128
  }
1925
2129
  }
1926
2130
  );
1927
2131
  $Number.prototype = proto;
1928
2132
  proto.constructor = $Number;
1929
- require('./$.redef')($.g, NUMBER, $Number);
1930
- }
1931
- },{"./$":24,"./$.redef":29}],57:[function(require,module,exports){
1932
- var $ = require('./$')
1933
- , $def = require('./$.def')
1934
- , abs = Math.abs
1935
- , floor = Math.floor
1936
- , _isFinite = $.g.isFinite
1937
- , MAX_SAFE_INTEGER = 0x1fffffffffffff; // pow(2, 53) - 1 == 9007199254740991;
1938
- function isInteger(it){
1939
- return !$.isObject(it) && _isFinite(it) && floor(it) === it;
2133
+ require('./$.redef')(global, NUMBER, $Number);
1940
2134
  }
2135
+ },{"./$":42,"./$.cof":9,"./$.fails":21,"./$.global":26,"./$.has":27,"./$.is-object":34,"./$.redef":54,"./$.support-desc":67}],109:[function(require,module,exports){
2136
+ // 20.1.2.1 Number.EPSILON
2137
+ var $def = require('./$.def');
2138
+
2139
+ $def($def.S, 'Number', {EPSILON: Math.pow(2, -52)});
2140
+ },{"./$.def":16}],110:[function(require,module,exports){
2141
+ // 20.1.2.2 Number.isFinite(number)
2142
+ var $def = require('./$.def')
2143
+ , _isFinite = require('./$.global').isFinite;
2144
+
1941
2145
  $def($def.S, 'Number', {
1942
- // 20.1.2.1 Number.EPSILON
1943
- EPSILON: Math.pow(2, -52),
1944
- // 20.1.2.2 Number.isFinite(number)
1945
2146
  isFinite: function isFinite(it){
1946
2147
  return typeof it == 'number' && _isFinite(it);
1947
- },
1948
- // 20.1.2.3 Number.isInteger(number)
1949
- isInteger: isInteger,
1950
- // 20.1.2.4 Number.isNaN(number)
2148
+ }
2149
+ });
2150
+ },{"./$.def":16,"./$.global":26}],111:[function(require,module,exports){
2151
+ // 20.1.2.3 Number.isInteger(number)
2152
+ var $def = require('./$.def');
2153
+
2154
+ $def($def.S, 'Number', {isInteger: require('./$.is-integer')});
2155
+ },{"./$.def":16,"./$.is-integer":33}],112:[function(require,module,exports){
2156
+ // 20.1.2.4 Number.isNaN(number)
2157
+ var $def = require('./$.def');
2158
+
2159
+ $def($def.S, 'Number', {
1951
2160
  isNaN: function isNaN(number){
1952
2161
  return number != number;
1953
- },
1954
- // 20.1.2.5 Number.isSafeInteger(number)
2162
+ }
2163
+ });
2164
+ },{"./$.def":16}],113:[function(require,module,exports){
2165
+ // 20.1.2.5 Number.isSafeInteger(number)
2166
+ var $def = require('./$.def')
2167
+ , isInteger = require('./$.is-integer')
2168
+ , abs = Math.abs;
2169
+
2170
+ $def($def.S, 'Number', {
1955
2171
  isSafeInteger: function isSafeInteger(number){
1956
- return isInteger(number) && abs(number) <= MAX_SAFE_INTEGER;
1957
- },
1958
- // 20.1.2.6 Number.MAX_SAFE_INTEGER
1959
- MAX_SAFE_INTEGER: MAX_SAFE_INTEGER,
1960
- // 20.1.2.10 Number.MIN_SAFE_INTEGER
1961
- MIN_SAFE_INTEGER: -MAX_SAFE_INTEGER,
1962
- // 20.1.2.12 Number.parseFloat(string)
1963
- parseFloat: parseFloat,
1964
- // 20.1.2.13 Number.parseInt(string, radix)
1965
- parseInt: parseInt
1966
- });
1967
- },{"./$":24,"./$.def":13}],58:[function(require,module,exports){
2172
+ return isInteger(number) && abs(number) <= 0x1fffffffffffff;
2173
+ }
2174
+ });
2175
+ },{"./$.def":16,"./$.is-integer":33}],114:[function(require,module,exports){
2176
+ // 20.1.2.6 Number.MAX_SAFE_INTEGER
2177
+ var $def = require('./$.def');
2178
+
2179
+ $def($def.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
2180
+ },{"./$.def":16}],115:[function(require,module,exports){
2181
+ // 20.1.2.10 Number.MIN_SAFE_INTEGER
2182
+ var $def = require('./$.def');
2183
+
2184
+ $def($def.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
2185
+ },{"./$.def":16}],116:[function(require,module,exports){
2186
+ // 20.1.2.12 Number.parseFloat(string)
2187
+ var $def = require('./$.def');
2188
+
2189
+ $def($def.S, 'Number', {parseFloat: parseFloat});
2190
+ },{"./$.def":16}],117:[function(require,module,exports){
2191
+ // 20.1.2.13 Number.parseInt(string, radix)
2192
+ var $def = require('./$.def');
2193
+
2194
+ $def($def.S, 'Number', {parseInt: parseInt});
2195
+ },{"./$.def":16}],118:[function(require,module,exports){
1968
2196
  // 19.1.3.1 Object.assign(target, source)
1969
2197
  var $def = require('./$.def');
1970
2198
  $def($def.S, 'Object', {assign: require('./$.assign')});
1971
- },{"./$.assign":6,"./$.def":13}],59:[function(require,module,exports){
2199
+ },{"./$.assign":7,"./$.def":16}],119:[function(require,module,exports){
2200
+ // 19.1.2.5 Object.freeze(O)
2201
+ var isObject = require('./$.is-object');
2202
+
2203
+ require('./$.object-sap')('freeze', function($freeze){
2204
+ return function freeze(it){
2205
+ return $freeze && isObject(it) ? $freeze(it) : it;
2206
+ };
2207
+ });
2208
+ },{"./$.is-object":34,"./$.object-sap":48}],120:[function(require,module,exports){
2209
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
2210
+ var toIObject = require('./$.to-iobject');
2211
+
2212
+ require('./$.object-sap')('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){
2213
+ return function getOwnPropertyDescriptor(it, key){
2214
+ return $getOwnPropertyDescriptor(toIObject(it), key);
2215
+ };
2216
+ });
2217
+ },{"./$.object-sap":48,"./$.to-iobject":72}],121:[function(require,module,exports){
2218
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
2219
+ require('./$.object-sap')('getOwnPropertyNames', function(){
2220
+ return require('./$.get-names').get;
2221
+ });
2222
+ },{"./$.get-names":25,"./$.object-sap":48}],122:[function(require,module,exports){
2223
+ // 19.1.2.9 Object.getPrototypeOf(O)
2224
+ var toObject = require('./$.to-object');
2225
+
2226
+ require('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){
2227
+ return function getPrototypeOf(it){
2228
+ return $getPrototypeOf(toObject(it));
2229
+ };
2230
+ });
2231
+ },{"./$.object-sap":48,"./$.to-object":74}],123:[function(require,module,exports){
2232
+ // 19.1.2.11 Object.isExtensible(O)
2233
+ var isObject = require('./$.is-object');
2234
+
2235
+ require('./$.object-sap')('isExtensible', function($isExtensible){
2236
+ return function isExtensible(it){
2237
+ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
2238
+ };
2239
+ });
2240
+ },{"./$.is-object":34,"./$.object-sap":48}],124:[function(require,module,exports){
2241
+ // 19.1.2.12 Object.isFrozen(O)
2242
+ var isObject = require('./$.is-object');
2243
+
2244
+ require('./$.object-sap')('isFrozen', function($isFrozen){
2245
+ return function isFrozen(it){
2246
+ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
2247
+ };
2248
+ });
2249
+ },{"./$.is-object":34,"./$.object-sap":48}],125:[function(require,module,exports){
2250
+ // 19.1.2.13 Object.isSealed(O)
2251
+ var isObject = require('./$.is-object');
2252
+
2253
+ require('./$.object-sap')('isSealed', function($isSealed){
2254
+ return function isSealed(it){
2255
+ return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
2256
+ };
2257
+ });
2258
+ },{"./$.is-object":34,"./$.object-sap":48}],126:[function(require,module,exports){
1972
2259
  // 19.1.3.10 Object.is(value1, value2)
1973
2260
  var $def = require('./$.def');
1974
2261
  $def($def.S, 'Object', {
1975
2262
  is: require('./$.same')
1976
2263
  });
1977
- },{"./$.def":13,"./$.same":31}],60:[function(require,module,exports){
2264
+ },{"./$.def":16,"./$.same":56}],127:[function(require,module,exports){
2265
+ // 19.1.2.14 Object.keys(O)
2266
+ var toObject = require('./$.to-object');
2267
+
2268
+ require('./$.object-sap')('keys', function($keys){
2269
+ return function keys(it){
2270
+ return $keys(toObject(it));
2271
+ };
2272
+ });
2273
+ },{"./$.object-sap":48,"./$.to-object":74}],128:[function(require,module,exports){
2274
+ // 19.1.2.15 Object.preventExtensions(O)
2275
+ var isObject = require('./$.is-object');
2276
+
2277
+ require('./$.object-sap')('preventExtensions', function($preventExtensions){
2278
+ return function preventExtensions(it){
2279
+ return $preventExtensions && isObject(it) ? $preventExtensions(it) : it;
2280
+ };
2281
+ });
2282
+ },{"./$.is-object":34,"./$.object-sap":48}],129:[function(require,module,exports){
2283
+ // 19.1.2.17 Object.seal(O)
2284
+ var isObject = require('./$.is-object');
2285
+
2286
+ require('./$.object-sap')('seal', function($seal){
2287
+ return function seal(it){
2288
+ return $seal && isObject(it) ? $seal(it) : it;
2289
+ };
2290
+ });
2291
+ },{"./$.is-object":34,"./$.object-sap":48}],130:[function(require,module,exports){
1978
2292
  // 19.1.3.19 Object.setPrototypeOf(O, proto)
1979
2293
  var $def = require('./$.def');
1980
2294
  $def($def.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});
1981
- },{"./$.def":13,"./$.set-proto":32}],61:[function(require,module,exports){
1982
- var $ = require('./$')
1983
- , $def = require('./$.def')
1984
- , isObject = $.isObject
1985
- , toObject = $.toObject;
1986
- $.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' +
1987
- 'getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames').split(',')
1988
- , function(KEY, ID){
1989
- var fn = ($.core.Object || {})[KEY] || Object[KEY]
1990
- , forced = 0
1991
- , method = {};
1992
- method[KEY] = ID == 0 ? function freeze(it){
1993
- return isObject(it) ? fn(it) : it;
1994
- } : ID == 1 ? function seal(it){
1995
- return isObject(it) ? fn(it) : it;
1996
- } : ID == 2 ? function preventExtensions(it){
1997
- return isObject(it) ? fn(it) : it;
1998
- } : ID == 3 ? function isFrozen(it){
1999
- return isObject(it) ? fn(it) : true;
2000
- } : ID == 4 ? function isSealed(it){
2001
- return isObject(it) ? fn(it) : true;
2002
- } : ID == 5 ? function isExtensible(it){
2003
- return isObject(it) ? fn(it) : false;
2004
- } : ID == 6 ? function getOwnPropertyDescriptor(it, key){
2005
- return fn(toObject(it), key);
2006
- } : ID == 7 ? function getPrototypeOf(it){
2007
- return fn(Object($.assertDefined(it)));
2008
- } : ID == 8 ? function keys(it){
2009
- return fn(toObject(it));
2010
- } : require('./$.get-names').get;
2011
- try {
2012
- fn('z');
2013
- } catch(e){
2014
- forced = 1;
2015
- }
2016
- $def($def.S + $def.F * forced, 'Object', method);
2017
- });
2018
- },{"./$":24,"./$.def":13,"./$.get-names":18}],62:[function(require,module,exports){
2295
+ },{"./$.def":16,"./$.set-proto":57}],131:[function(require,module,exports){
2019
2296
  'use strict';
2020
2297
  // 19.1.3.6 Object.prototype.toString()
2021
- var cof = require('./$.cof')
2022
- , tmp = {};
2023
- tmp[require('./$.wks')('toStringTag')] = 'z';
2024
- if(require('./$').FW && cof(tmp) != 'z'){
2298
+ var classof = require('./$.classof')
2299
+ , test = {};
2300
+ test[require('./$.wks')('toStringTag')] = 'z';
2301
+ if(test + '' != '[object z]'){
2025
2302
  require('./$.redef')(Object.prototype, 'toString', function toString(){
2026
- return '[object ' + cof.classof(this) + ']';
2303
+ return '[object ' + classof(this) + ']';
2027
2304
  }, true);
2028
2305
  }
2029
- },{"./$":24,"./$.cof":7,"./$.redef":29,"./$.wks":42}],63:[function(require,module,exports){
2306
+ },{"./$.classof":8,"./$.redef":54,"./$.wks":77}],132:[function(require,module,exports){
2030
2307
  'use strict';
2031
- var $ = require('./$')
2032
- , ctx = require('./$.ctx')
2033
- , cof = require('./$.cof')
2034
- , $def = require('./$.def')
2035
- , assert = require('./$.assert')
2036
- , forOf = require('./$.for-of')
2037
- , setProto = require('./$.set-proto').set
2038
- , same = require('./$.same')
2039
- , species = require('./$.species')
2040
- , SPECIES = require('./$.wks')('species')
2041
- , RECORD = require('./$.uid').safe('record')
2042
- , PROMISE = 'Promise'
2043
- , global = $.g
2044
- , process = global.process
2045
- , isNode = cof(process) == 'process'
2046
- , asap = process && process.nextTick || require('./$.task').set
2047
- , P = global[PROMISE]
2048
- , isFunction = $.isFunction
2049
- , isObject = $.isObject
2050
- , assertFunction = assert.fn
2051
- , assertObject = assert.obj
2308
+ var $ = require('./$')
2309
+ , LIBRARY = require('./$.library')
2310
+ , global = require('./$.global')
2311
+ , ctx = require('./$.ctx')
2312
+ , classof = require('./$.classof')
2313
+ , $def = require('./$.def')
2314
+ , isObject = require('./$.is-object')
2315
+ , anObject = require('./$.an-object')
2316
+ , aFunction = require('./$.a-function')
2317
+ , strictNew = require('./$.strict-new')
2318
+ , forOf = require('./$.for-of')
2319
+ , setProto = require('./$.set-proto').set
2320
+ , same = require('./$.same')
2321
+ , species = require('./$.species')
2322
+ , SPECIES = require('./$.wks')('species')
2323
+ , RECORD = require('./$.uid')('record')
2324
+ , asap = require('./$.microtask')
2325
+ , PROMISE = 'Promise'
2326
+ , process = global.process
2327
+ , isNode = classof(process) == 'process'
2328
+ , P = global[PROMISE]
2052
2329
  , Wrapper;
2053
2330
 
2054
- function testResolve(sub){
2331
+ var testResolve = function(sub){
2055
2332
  var test = new P(function(){});
2056
2333
  if(sub)test.constructor = Object;
2057
2334
  return P.resolve(test) === test;
2058
- }
2335
+ };
2059
2336
 
2060
2337
  var useNative = function(){
2061
2338
  var works = false;
@@ -2065,7 +2342,7 @@ var useNative = function(){
2065
2342
  return self;
2066
2343
  }
2067
2344
  try {
2068
- works = isFunction(P) && isFunction(P.resolve) && testResolve();
2345
+ works = P && P.resolve && testResolve();
2069
2346
  setProto(P2, P);
2070
2347
  P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
2071
2348
  // actual Firefox has broken subclass support, test that
@@ -2073,7 +2350,7 @@ var useNative = function(){
2073
2350
  works = false;
2074
2351
  }
2075
2352
  // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
2076
- if(works && $.DESC){
2353
+ if(works && require('./$.support-desc')){
2077
2354
  var thenableThenGotten = false;
2078
2355
  P.resolve($.setDesc({}, 'then', {
2079
2356
  get: function(){ thenableThenGotten = true; }
@@ -2085,31 +2362,31 @@ var useNative = function(){
2085
2362
  }();
2086
2363
 
2087
2364
  // helpers
2088
- function isPromise(it){
2089
- return isObject(it) && (useNative ? cof.classof(it) == 'Promise' : RECORD in it);
2090
- }
2091
- function sameConstructor(a, b){
2365
+ var isPromise = function(it){
2366
+ return isObject(it) && (useNative ? classof(it) == 'Promise' : RECORD in it);
2367
+ };
2368
+ var sameConstructor = function(a, b){
2092
2369
  // library wrapper special case
2093
- if(!$.FW && a === P && b === Wrapper)return true;
2370
+ if(LIBRARY && a === P && b === Wrapper)return true;
2094
2371
  return same(a, b);
2095
- }
2096
- function getConstructor(C){
2097
- var S = assertObject(C)[SPECIES];
2372
+ };
2373
+ var getConstructor = function(C){
2374
+ var S = anObject(C)[SPECIES];
2098
2375
  return S != undefined ? S : C;
2099
- }
2100
- function isThenable(it){
2376
+ };
2377
+ var isThenable = function(it){
2101
2378
  var then;
2102
- if(isObject(it))then = it.then;
2103
- return isFunction(then) ? then : false;
2104
- }
2105
- function notify(record){
2379
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
2380
+ };
2381
+ var notify = function(record, isReject){
2382
+ if(record.n)return;
2383
+ record.n = true;
2106
2384
  var chain = record.c;
2107
- // strange IE + webpack dev server bug - use .call(global)
2108
- if(chain.length)asap.call(global, function(){
2385
+ asap(function(){
2109
2386
  var value = record.v
2110
2387
  , ok = record.s == 1
2111
2388
  , i = 0;
2112
- function run(react){
2389
+ var run = function(react){
2113
2390
  var cb = ok ? react.ok : react.fail
2114
2391
  , ret, then;
2115
2392
  try {
@@ -2125,12 +2402,25 @@ function notify(record){
2125
2402
  } catch(err){
2126
2403
  react.rej(err);
2127
2404
  }
2128
- }
2405
+ };
2129
2406
  while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
2130
2407
  chain.length = 0;
2408
+ record.n = false;
2409
+ if(isReject)setTimeout(function(){
2410
+ asap(function(){
2411
+ if(isUnhandled(record.p)){
2412
+ if(isNode){
2413
+ process.emit('unhandledRejection', value, record.p);
2414
+ } else if(global.console && console.error){
2415
+ console.error('Unhandled promise rejection', value);
2416
+ }
2417
+ }
2418
+ record.a = undefined;
2419
+ });
2420
+ }, 1);
2131
2421
  });
2132
- }
2133
- function isUnhandled(promise){
2422
+ };
2423
+ var isUnhandled = function(promise){
2134
2424
  var record = promise[RECORD]
2135
2425
  , chain = record.a || record.c
2136
2426
  , i = 0
@@ -2140,32 +2430,18 @@ function isUnhandled(promise){
2140
2430
  react = chain[i++];
2141
2431
  if(react.fail || !isUnhandled(react.P))return false;
2142
2432
  } return true;
2143
- }
2144
- function $reject(value){
2145
- var record = this
2146
- , promise;
2433
+ };
2434
+ var $reject = function(value){
2435
+ var record = this;
2147
2436
  if(record.d)return;
2148
2437
  record.d = true;
2149
2438
  record = record.r || record; // unwrap
2150
2439
  record.v = value;
2151
2440
  record.s = 2;
2152
2441
  record.a = record.c.slice();
2153
- setTimeout(function(){
2154
- // strange IE + webpack dev server bug - use .call(global)
2155
- asap.call(global, function(){
2156
- if(isUnhandled(promise = record.p)){
2157
- if(isNode){
2158
- process.emit('unhandledRejection', value, promise);
2159
- } else if(global.console && console.error){
2160
- console.error('Unhandled promise rejection', value);
2161
- }
2162
- }
2163
- record.a = undefined;
2164
- });
2165
- }, 1);
2166
- notify(record);
2167
- }
2168
- function $resolve(value){
2442
+ notify(record, true);
2443
+ };
2444
+ var $resolve = function(value){
2169
2445
  var record = this
2170
2446
  , then;
2171
2447
  if(record.d)return;
@@ -2173,8 +2449,7 @@ function $resolve(value){
2173
2449
  record = record.r || record; // unwrap
2174
2450
  try {
2175
2451
  if(then = isThenable(value)){
2176
- // strange IE + webpack dev server bug - use .call(global)
2177
- asap.call(global, function(){
2452
+ asap(function(){
2178
2453
  var wrapper = {r: record, d: false}; // wrap
2179
2454
  try {
2180
2455
  then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
@@ -2185,28 +2460,29 @@ function $resolve(value){
2185
2460
  } else {
2186
2461
  record.v = value;
2187
2462
  record.s = 1;
2188
- notify(record);
2463
+ notify(record, false);
2189
2464
  }
2190
2465
  } catch(e){
2191
2466
  $reject.call({r: record, d: false}, e); // wrap
2192
2467
  }
2193
- }
2468
+ };
2194
2469
 
2195
2470
  // constructor polyfill
2196
2471
  if(!useNative){
2197
2472
  // 25.4.3.1 Promise(executor)
2198
2473
  P = function Promise(executor){
2199
- assertFunction(executor);
2474
+ aFunction(executor);
2200
2475
  var record = {
2201
- p: assert.inst(this, P, PROMISE), // <- promise
2476
+ p: strictNew(this, P, PROMISE), // <- promise
2202
2477
  c: [], // <- awaiting reactions
2203
2478
  a: undefined, // <- checked in isUnhandled reactions
2204
2479
  s: 0, // <- state
2205
2480
  d: false, // <- done
2206
2481
  v: undefined, // <- value
2207
- h: false // <- handled rejection
2482
+ h: false, // <- handled rejection
2483
+ n: false // <- notify
2208
2484
  };
2209
- $.hide(this, RECORD, record);
2485
+ this[RECORD] = record;
2210
2486
  try {
2211
2487
  executor(ctx($resolve, record, 1), ctx($reject, record, 1));
2212
2488
  } catch(err){
@@ -2216,19 +2492,19 @@ if(!useNative){
2216
2492
  require('./$.mix')(P.prototype, {
2217
2493
  // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
2218
2494
  then: function then(onFulfilled, onRejected){
2219
- var S = assertObject(assertObject(this).constructor)[SPECIES];
2495
+ var S = anObject(anObject(this).constructor)[SPECIES];
2220
2496
  var react = {
2221
- ok: isFunction(onFulfilled) ? onFulfilled : true,
2222
- fail: isFunction(onRejected) ? onRejected : false
2497
+ ok: typeof onFulfilled == 'function' ? onFulfilled : true,
2498
+ fail: typeof onRejected == 'function' ? onRejected : false
2223
2499
  };
2224
2500
  var promise = react.P = new (S != undefined ? S : P)(function(res, rej){
2225
- react.res = assertFunction(res);
2226
- react.rej = assertFunction(rej);
2501
+ react.res = aFunction(res);
2502
+ react.rej = aFunction(rej);
2227
2503
  });
2228
2504
  var record = this[RECORD];
2229
2505
  record.c.push(react);
2230
2506
  if(record.a)record.a.push(react);
2231
- if(record.s)notify(record);
2507
+ if(record.s)notify(record, false);
2232
2508
  return promise;
2233
2509
  },
2234
2510
  // 25.4.5.1 Promise.prototype.catch(onRejected)
@@ -2240,15 +2516,15 @@ if(!useNative){
2240
2516
 
2241
2517
  // export
2242
2518
  $def($def.G + $def.W + $def.F * !useNative, {Promise: P});
2243
- cof.set(P, PROMISE);
2519
+ require('./$.tag')(P, PROMISE);
2244
2520
  species(P);
2245
- species(Wrapper = $.core[PROMISE]);
2521
+ species(Wrapper = require('./$.core')[PROMISE]);
2246
2522
 
2247
2523
  // statics
2248
2524
  $def($def.S + $def.F * !useNative, PROMISE, {
2249
2525
  // 25.4.4.5 Promise.reject(r)
2250
2526
  reject: function reject(r){
2251
- return new (getConstructor(this))(function(res, rej){ rej(r); });
2527
+ return new this(function(res, rej){ rej(r); });
2252
2528
  }
2253
2529
  });
2254
2530
  $def($def.S + $def.F * (!useNative || testResolve(true)), PROMISE, {
@@ -2288,156 +2564,246 @@ $def($def.S + $def.F * !(useNative && require('./$.iter-detect')(function(iter){
2288
2564
  });
2289
2565
  }
2290
2566
  });
2291
- },{"./$":24,"./$.assert":5,"./$.cof":7,"./$.ctx":12,"./$.def":13,"./$.for-of":16,"./$.iter-detect":22,"./$.mix":26,"./$.same":31,"./$.set-proto":32,"./$.species":34,"./$.task":38,"./$.uid":40,"./$.wks":42}],64:[function(require,module,exports){
2292
- var $ = require('./$')
2293
- , $def = require('./$.def')
2294
- , setProto = require('./$.set-proto')
2295
- , $iter = require('./$.iter')
2296
- , ITERATOR = require('./$.wks')('iterator')
2297
- , ITER = require('./$.uid').safe('iter')
2298
- , step = $iter.step
2299
- , assert = require('./$.assert')
2300
- , isObject = $.isObject
2301
- , getProto = $.getProto
2302
- , $Reflect = $.g.Reflect
2303
- , _apply = Function.apply
2304
- , assertObject = assert.obj
2305
- , _isExtensible = Object.isExtensible || isObject
2306
- , _preventExtensions = Object.preventExtensions
2307
- // IE TP has broken Reflect.enumerate
2308
- , buggyEnumerate = !($Reflect && $Reflect.enumerate && ITERATOR in $Reflect.enumerate({}));
2309
-
2310
- function Enumerate(iterated){
2311
- $.set(this, ITER, {o: iterated, k: undefined, i: 0});
2312
- }
2313
- $iter.create(Enumerate, 'Object', function(){
2314
- var iter = this[ITER]
2315
- , keys = iter.k
2316
- , key;
2317
- if(keys == undefined){
2318
- iter.k = keys = [];
2319
- for(key in iter.o)keys.push(key);
2320
- }
2321
- do {
2322
- if(iter.i >= keys.length)return step(1);
2323
- } while(!((key = keys[iter.i++]) in iter.o));
2324
- return step(0, key);
2325
- });
2567
+ },{"./$":42,"./$.a-function":3,"./$.an-object":4,"./$.classof":8,"./$.core":14,"./$.ctx":15,"./$.def":16,"./$.for-of":24,"./$.global":26,"./$.is-object":34,"./$.iter-detect":39,"./$.library":44,"./$.microtask":46,"./$.mix":47,"./$.same":56,"./$.set-proto":57,"./$.species":60,"./$.strict-new":61,"./$.support-desc":67,"./$.tag":68,"./$.uid":75,"./$.wks":77}],133:[function(require,module,exports){
2568
+ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
2569
+ var $def = require('./$.def')
2570
+ , _apply = Function.apply;
2326
2571
 
2327
- var reflect = {
2328
- // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
2572
+ $def($def.S, 'Reflect', {
2329
2573
  apply: function apply(target, thisArgument, argumentsList){
2330
2574
  return _apply.call(target, thisArgument, argumentsList);
2331
- },
2332
- // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
2333
- construct: function construct(target, argumentsList /*, newTarget*/){
2334
- var proto = assert.fn(arguments.length < 3 ? target : arguments[2]).prototype
2575
+ }
2576
+ });
2577
+ },{"./$.def":16}],134:[function(require,module,exports){
2578
+ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
2579
+ var $ = require('./$')
2580
+ , $def = require('./$.def')
2581
+ , aFunction = require('./$.a-function')
2582
+ , anObject = require('./$.an-object')
2583
+ , isObject = require('./$.is-object')
2584
+ , bind = Function.bind || require('./$.core').Function.prototype.bind;
2585
+
2586
+ $def($def.S, 'Reflect', {
2587
+ construct: function construct(Target, args /*, newTarget*/){
2588
+ aFunction(Target);
2589
+ if(arguments.length < 3){
2590
+ // w/o newTarget, optimization for 0-4 arguments
2591
+ if(args != undefined)switch(anObject(args).length){
2592
+ case 0: return new Target;
2593
+ case 1: return new Target(args[0]);
2594
+ case 2: return new Target(args[0], args[1]);
2595
+ case 3: return new Target(args[0], args[1], args[2]);
2596
+ case 4: return new Target(args[0], args[1], args[2], args[3]);
2597
+ }
2598
+ // w/o newTarget, lot of arguments case
2599
+ var $args = [null];
2600
+ $args.push.apply($args, args);
2601
+ return new (bind.apply(Target, $args));
2602
+ }
2603
+ // with newTarget, not support built-in constructors
2604
+ var proto = aFunction(arguments[2]).prototype
2335
2605
  , instance = $.create(isObject(proto) ? proto : Object.prototype)
2336
- , result = _apply.call(target, instance, argumentsList);
2606
+ , result = Function.apply.call(Target, instance, args);
2337
2607
  return isObject(result) ? result : instance;
2338
- },
2339
- // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
2608
+ }
2609
+ });
2610
+ },{"./$":42,"./$.a-function":3,"./$.an-object":4,"./$.core":14,"./$.def":16,"./$.is-object":34}],135:[function(require,module,exports){
2611
+ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
2612
+ var $ = require('./$')
2613
+ , $def = require('./$.def')
2614
+ , anObject = require('./$.an-object');
2615
+
2616
+ // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
2617
+ $def($def.S + $def.F * require('./$.fails')(function(){
2618
+ Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
2619
+ }), 'Reflect', {
2340
2620
  defineProperty: function defineProperty(target, propertyKey, attributes){
2341
- assertObject(target);
2621
+ anObject(target);
2342
2622
  try {
2343
2623
  $.setDesc(target, propertyKey, attributes);
2344
2624
  return true;
2345
2625
  } catch(e){
2346
2626
  return false;
2347
2627
  }
2348
- },
2349
- // 26.1.4 Reflect.deleteProperty(target, propertyKey)
2628
+ }
2629
+ });
2630
+ },{"./$":42,"./$.an-object":4,"./$.def":16,"./$.fails":21}],136:[function(require,module,exports){
2631
+ // 26.1.4 Reflect.deleteProperty(target, propertyKey)
2632
+ var $def = require('./$.def')
2633
+ , getDesc = require('./$').getDesc
2634
+ , anObject = require('./$.an-object');
2635
+
2636
+ $def($def.S, 'Reflect', {
2350
2637
  deleteProperty: function deleteProperty(target, propertyKey){
2351
- var desc = $.getDesc(assertObject(target), propertyKey);
2638
+ var desc = getDesc(anObject(target), propertyKey);
2352
2639
  return desc && !desc.configurable ? false : delete target[propertyKey];
2353
- },
2354
- // 26.1.6 Reflect.get(target, propertyKey [, receiver])
2355
- get: function get(target, propertyKey/*, receiver*/){
2356
- var receiver = arguments.length < 3 ? target : arguments[2]
2357
- , desc = $.getDesc(assertObject(target), propertyKey), proto;
2358
- if(desc)return $.has(desc, 'value')
2359
- ? desc.value
2360
- : desc.get === undefined
2361
- ? undefined
2362
- : desc.get.call(receiver);
2363
- return isObject(proto = getProto(target))
2364
- ? get(proto, propertyKey, receiver)
2365
- : undefined;
2366
- },
2367
- // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
2640
+ }
2641
+ });
2642
+ },{"./$":42,"./$.an-object":4,"./$.def":16}],137:[function(require,module,exports){
2643
+ 'use strict';
2644
+ // 26.1.5 Reflect.enumerate(target)
2645
+ var $def = require('./$.def')
2646
+ , anObject = require('./$.an-object');
2647
+ var Enumerate = function(iterated){
2648
+ this._t = anObject(iterated); // target
2649
+ this._i = 0; // next index
2650
+ var keys = this._k = [] // keys
2651
+ , key;
2652
+ for(key in iterated)keys.push(key);
2653
+ };
2654
+ require('./$.iter-create')(Enumerate, 'Object', function(){
2655
+ var that = this
2656
+ , keys = that._k
2657
+ , key;
2658
+ do {
2659
+ if(that._i >= keys.length)return {value: undefined, done: true};
2660
+ } while(!((key = keys[that._i++]) in that._t));
2661
+ return {value: key, done: false};
2662
+ });
2663
+
2664
+ $def($def.S, 'Reflect', {
2665
+ enumerate: function enumerate(target){
2666
+ return new Enumerate(target);
2667
+ }
2668
+ });
2669
+ },{"./$.an-object":4,"./$.def":16,"./$.iter-create":37}],138:[function(require,module,exports){
2670
+ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
2671
+ var $ = require('./$')
2672
+ , $def = require('./$.def')
2673
+ , anObject = require('./$.an-object');
2674
+
2675
+ $def($def.S, 'Reflect', {
2368
2676
  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
2369
- return $.getDesc(assertObject(target), propertyKey);
2370
- },
2371
- // 26.1.8 Reflect.getPrototypeOf(target)
2677
+ return $.getDesc(anObject(target), propertyKey);
2678
+ }
2679
+ });
2680
+ },{"./$":42,"./$.an-object":4,"./$.def":16}],139:[function(require,module,exports){
2681
+ // 26.1.8 Reflect.getPrototypeOf(target)
2682
+ var $def = require('./$.def')
2683
+ , getProto = require('./$').getProto
2684
+ , anObject = require('./$.an-object');
2685
+
2686
+ $def($def.S, 'Reflect', {
2372
2687
  getPrototypeOf: function getPrototypeOf(target){
2373
- return getProto(assertObject(target));
2374
- },
2375
- // 26.1.9 Reflect.has(target, propertyKey)
2688
+ return getProto(anObject(target));
2689
+ }
2690
+ });
2691
+ },{"./$":42,"./$.an-object":4,"./$.def":16}],140:[function(require,module,exports){
2692
+ // 26.1.6 Reflect.get(target, propertyKey [, receiver])
2693
+ var $ = require('./$')
2694
+ , has = require('./$.has')
2695
+ , $def = require('./$.def')
2696
+ , isObject = require('./$.is-object')
2697
+ , anObject = require('./$.an-object');
2698
+
2699
+ function get(target, propertyKey/*, receiver*/){
2700
+ var receiver = arguments.length < 3 ? target : arguments[2]
2701
+ , desc, proto;
2702
+ if(anObject(target) === receiver)return target[propertyKey];
2703
+ if(desc = $.getDesc(target, propertyKey))return has(desc, 'value')
2704
+ ? desc.value
2705
+ : desc.get !== undefined
2706
+ ? desc.get.call(receiver)
2707
+ : undefined;
2708
+ if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver);
2709
+ }
2710
+
2711
+ $def($def.S, 'Reflect', {get: get});
2712
+ },{"./$":42,"./$.an-object":4,"./$.def":16,"./$.has":27,"./$.is-object":34}],141:[function(require,module,exports){
2713
+ // 26.1.9 Reflect.has(target, propertyKey)
2714
+ var $def = require('./$.def');
2715
+
2716
+ $def($def.S, 'Reflect', {
2376
2717
  has: function has(target, propertyKey){
2377
2718
  return propertyKey in target;
2378
- },
2379
- // 26.1.10 Reflect.isExtensible(target)
2719
+ }
2720
+ });
2721
+ },{"./$.def":16}],142:[function(require,module,exports){
2722
+ // 26.1.10 Reflect.isExtensible(target)
2723
+ var $def = require('./$.def')
2724
+ , anObject = require('./$.an-object')
2725
+ , $isExtensible = Object.isExtensible;
2726
+
2727
+ $def($def.S, 'Reflect', {
2380
2728
  isExtensible: function isExtensible(target){
2381
- return _isExtensible(assertObject(target));
2382
- },
2383
- // 26.1.11 Reflect.ownKeys(target)
2384
- ownKeys: require('./$.own-keys'),
2385
- // 26.1.12 Reflect.preventExtensions(target)
2729
+ anObject(target);
2730
+ return $isExtensible ? $isExtensible(target) : true;
2731
+ }
2732
+ });
2733
+ },{"./$.an-object":4,"./$.def":16}],143:[function(require,module,exports){
2734
+ // 26.1.11 Reflect.ownKeys(target)
2735
+ var $def = require('./$.def');
2736
+
2737
+ $def($def.S, 'Reflect', {ownKeys: require('./$.own-keys')});
2738
+ },{"./$.def":16,"./$.own-keys":50}],144:[function(require,module,exports){
2739
+ // 26.1.12 Reflect.preventExtensions(target)
2740
+ var $def = require('./$.def')
2741
+ , anObject = require('./$.an-object')
2742
+ , $preventExtensions = Object.preventExtensions;
2743
+
2744
+ $def($def.S, 'Reflect', {
2386
2745
  preventExtensions: function preventExtensions(target){
2387
- assertObject(target);
2746
+ anObject(target);
2388
2747
  try {
2389
- if(_preventExtensions)_preventExtensions(target);
2748
+ if($preventExtensions)$preventExtensions(target);
2390
2749
  return true;
2391
2750
  } catch(e){
2392
2751
  return false;
2393
2752
  }
2394
- },
2395
- // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
2396
- set: function set(target, propertyKey, V/*, receiver*/){
2397
- var receiver = arguments.length < 4 ? target : arguments[3]
2398
- , ownDesc = $.getDesc(assertObject(target), propertyKey)
2399
- , existingDescriptor, proto;
2400
- if(!ownDesc){
2401
- if(isObject(proto = getProto(target))){
2402
- return set(proto, propertyKey, V, receiver);
2403
- }
2404
- ownDesc = $.desc(0);
2405
- }
2406
- if($.has(ownDesc, 'value')){
2407
- if(ownDesc.writable === false || !isObject(receiver))return false;
2408
- existingDescriptor = $.getDesc(receiver, propertyKey) || $.desc(0);
2409
- existingDescriptor.value = V;
2410
- $.setDesc(receiver, propertyKey, existingDescriptor);
2411
- return true;
2412
- }
2413
- return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
2414
2753
  }
2415
- };
2754
+ });
2755
+ },{"./$.an-object":4,"./$.def":16}],145:[function(require,module,exports){
2416
2756
  // 26.1.14 Reflect.setPrototypeOf(target, proto)
2417
- if(setProto)reflect.setPrototypeOf = function setPrototypeOf(target, proto){
2418
- setProto.check(target, proto);
2419
- try {
2420
- setProto.set(target, proto);
2421
- return true;
2422
- } catch(e){
2423
- return false;
2424
- }
2425
- };
2426
-
2427
- $def($def.G, {Reflect: {}});
2757
+ var $def = require('./$.def')
2758
+ , setProto = require('./$.set-proto');
2428
2759
 
2429
- $def($def.S + $def.F * buggyEnumerate, 'Reflect', {
2430
- // 26.1.5 Reflect.enumerate(target)
2431
- enumerate: function enumerate(target){
2432
- return new Enumerate(assertObject(target));
2760
+ if(setProto)$def($def.S, 'Reflect', {
2761
+ setPrototypeOf: function setPrototypeOf(target, proto){
2762
+ setProto.check(target, proto);
2763
+ try {
2764
+ setProto.set(target, proto);
2765
+ return true;
2766
+ } catch(e){
2767
+ return false;
2768
+ }
2433
2769
  }
2434
2770
  });
2771
+ },{"./$.def":16,"./$.set-proto":57}],146:[function(require,module,exports){
2772
+ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
2773
+ var $ = require('./$')
2774
+ , has = require('./$.has')
2775
+ , $def = require('./$.def')
2776
+ , createDesc = require('./$.property-desc')
2777
+ , anObject = require('./$.an-object')
2778
+ , isObject = require('./$.is-object');
2779
+
2780
+ function set(target, propertyKey, V/*, receiver*/){
2781
+ var receiver = arguments.length < 4 ? target : arguments[3]
2782
+ , ownDesc = $.getDesc(anObject(target), propertyKey)
2783
+ , existingDescriptor, proto;
2784
+ if(!ownDesc){
2785
+ if(isObject(proto = $.getProto(target))){
2786
+ return set(proto, propertyKey, V, receiver);
2787
+ }
2788
+ ownDesc = createDesc(0);
2789
+ }
2790
+ if(has(ownDesc, 'value')){
2791
+ if(ownDesc.writable === false || !isObject(receiver))return false;
2792
+ existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0);
2793
+ existingDescriptor.value = V;
2794
+ $.setDesc(receiver, propertyKey, existingDescriptor);
2795
+ return true;
2796
+ }
2797
+ return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
2798
+ }
2435
2799
 
2436
- $def($def.S, 'Reflect', reflect);
2437
- },{"./$":24,"./$.assert":5,"./$.def":13,"./$.iter":23,"./$.own-keys":27,"./$.set-proto":32,"./$.uid":40,"./$.wks":42}],65:[function(require,module,exports){
2800
+ $def($def.S, 'Reflect', {set: set});
2801
+ },{"./$":42,"./$.an-object":4,"./$.def":16,"./$.has":27,"./$.is-object":34,"./$.property-desc":53}],147:[function(require,module,exports){
2438
2802
  var $ = require('./$')
2803
+ , global = require('./$.global')
2439
2804
  , cof = require('./$.cof')
2440
- , $RegExp = $.g.RegExp
2805
+ , $flags = require('./$.flags')
2806
+ , $RegExp = global.RegExp
2441
2807
  , Base = $RegExp
2442
2808
  , proto = $RegExp.prototype
2443
2809
  , re = /a/g
@@ -2449,7 +2815,8 @@ var $ = require('./$')
2449
2815
  return $RegExp(re, 'i') == '/a/i';
2450
2816
  } catch(e){ /* empty */ }
2451
2817
  }();
2452
- if($.FW && $.DESC){
2818
+
2819
+ if(require('./$.support-desc')){
2453
2820
  if(!CORRECT_NEW || !ALLOWS_RE_WITH_FLAGS){
2454
2821
  $RegExp = function RegExp(pattern, flags){
2455
2822
  var patternIsRegExp = cof(pattern) == 'RegExp'
@@ -2458,7 +2825,7 @@ if($.FW && $.DESC){
2458
2825
  return CORRECT_NEW
2459
2826
  ? new Base(patternIsRegExp && !flagsIsUndefined ? pattern.source : pattern, flags)
2460
2827
  : new Base(patternIsRegExp ? pattern.source : pattern
2461
- , patternIsRegExp && flagsIsUndefined ? pattern.flags : flags);
2828
+ , patternIsRegExp && flagsIsUndefined ? $flags.call(pattern) : flags);
2462
2829
  };
2463
2830
  $.each.call($.getNames(Base), function(key){
2464
2831
  key in $RegExp || $.setDesc($RegExp, key, {
@@ -2469,16 +2836,67 @@ if($.FW && $.DESC){
2469
2836
  });
2470
2837
  proto.constructor = $RegExp;
2471
2838
  $RegExp.prototype = proto;
2472
- require('./$.redef')($.g, 'RegExp', $RegExp);
2839
+ require('./$.redef')(global, 'RegExp', $RegExp);
2473
2840
  }
2474
- // 21.2.5.3 get RegExp.prototype.flags()
2475
- if(/./g.flags != 'g')$.setDesc(proto, 'flags', {
2476
- configurable: true,
2477
- get: require('./$.replacer')(/^.*\/(\w*)$/, '$1')
2478
- });
2479
2841
  }
2842
+
2480
2843
  require('./$.species')($RegExp);
2481
- },{"./$":24,"./$.cof":7,"./$.redef":29,"./$.replacer":30,"./$.species":34}],66:[function(require,module,exports){
2844
+ },{"./$":42,"./$.cof":9,"./$.flags":23,"./$.global":26,"./$.redef":54,"./$.species":60,"./$.support-desc":67}],148:[function(require,module,exports){
2845
+ // 21.2.5.3 get RegExp.prototype.flags()
2846
+ var $ = require('./$');
2847
+ if(require('./$.support-desc') && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', {
2848
+ configurable: true,
2849
+ get: require('./$.flags')
2850
+ });
2851
+ },{"./$":42,"./$.flags":23,"./$.support-desc":67}],149:[function(require,module,exports){
2852
+ // @@match logic
2853
+ require('./$.fix-re-wks')('match', 1, function(defined, MATCH){
2854
+ // 21.1.3.11 String.prototype.match(regexp)
2855
+ return function match(regexp){
2856
+ 'use strict';
2857
+ var O = defined(this)
2858
+ , fn = regexp == undefined ? undefined : regexp[MATCH];
2859
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
2860
+ };
2861
+ });
2862
+ },{"./$.fix-re-wks":22}],150:[function(require,module,exports){
2863
+ // @@replace logic
2864
+ require('./$.fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){
2865
+ // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
2866
+ return function replace(searchValue, replaceValue){
2867
+ 'use strict';
2868
+ var O = defined(this)
2869
+ , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
2870
+ return fn !== undefined
2871
+ ? fn.call(searchValue, O, replaceValue)
2872
+ : $replace.call(String(O), searchValue, replaceValue);
2873
+ };
2874
+ });
2875
+ },{"./$.fix-re-wks":22}],151:[function(require,module,exports){
2876
+ // @@search logic
2877
+ require('./$.fix-re-wks')('search', 1, function(defined, SEARCH){
2878
+ // 21.1.3.15 String.prototype.search(regexp)
2879
+ return function search(regexp){
2880
+ 'use strict';
2881
+ var O = defined(this)
2882
+ , fn = regexp == undefined ? undefined : regexp[SEARCH];
2883
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
2884
+ };
2885
+ });
2886
+ },{"./$.fix-re-wks":22}],152:[function(require,module,exports){
2887
+ // @@split logic
2888
+ require('./$.fix-re-wks')('split', 2, function(defined, SPLIT, $split){
2889
+ // 21.1.3.17 String.prototype.split(separator, limit)
2890
+ return function split(separator, limit){
2891
+ 'use strict';
2892
+ var O = defined(this)
2893
+ , fn = separator == undefined ? undefined : separator[SPLIT];
2894
+ return fn !== undefined
2895
+ ? fn.call(separator, O, limit)
2896
+ : $split.call(String(O), separator, limit);
2897
+ };
2898
+ });
2899
+ },{"./$.fix-re-wks":22}],153:[function(require,module,exports){
2482
2900
  'use strict';
2483
2901
  var strong = require('./$.collection-strong');
2484
2902
 
@@ -2491,7 +2909,7 @@ require('./$.collection')('Set', function(get){
2491
2909
  return strong.def(this, value = value === 0 ? 0 : value, value);
2492
2910
  }
2493
2911
  }, strong);
2494
- },{"./$.collection":11,"./$.collection-strong":8}],67:[function(require,module,exports){
2912
+ },{"./$.collection":13,"./$.collection-strong":10}],154:[function(require,module,exports){
2495
2913
  'use strict';
2496
2914
  var $def = require('./$.def')
2497
2915
  , $at = require('./$.string-at')(false);
@@ -2501,29 +2919,27 @@ $def($def.P, 'String', {
2501
2919
  return $at(this, pos);
2502
2920
  }
2503
2921
  });
2504
- },{"./$.def":13,"./$.string-at":35}],68:[function(require,module,exports){
2922
+ },{"./$.def":16,"./$.string-at":62}],155:[function(require,module,exports){
2505
2923
  'use strict';
2506
- var $ = require('./$')
2507
- , cof = require('./$.cof')
2508
- , $def = require('./$.def')
2509
- , toLength = $.toLength;
2924
+ var $def = require('./$.def')
2925
+ , toLength = require('./$.to-length')
2926
+ , context = require('./$.string-context');
2510
2927
 
2511
2928
  // should throw error on regex
2512
- $def($def.P + $def.F * !require('./$.throws')(function(){ 'q'.endsWith(/./); }), 'String', {
2929
+ $def($def.P + $def.F * !require('./$.fails')(function(){ 'q'.endsWith(/./); }), 'String', {
2513
2930
  // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
2514
2931
  endsWith: function endsWith(searchString /*, endPosition = @length */){
2515
- if(cof(searchString) == 'RegExp')throw TypeError();
2516
- var that = String($.assertDefined(this))
2932
+ var that = context(this, searchString, 'endsWith')
2517
2933
  , endPosition = arguments[1]
2518
- , len = toLength(that.length)
2519
- , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
2520
- searchString += '';
2521
- return that.slice(end - searchString.length, end) === searchString;
2934
+ , len = toLength(that.length)
2935
+ , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
2936
+ , search = String(searchString);
2937
+ return that.slice(end - search.length, end) === search;
2522
2938
  }
2523
2939
  });
2524
- },{"./$":24,"./$.cof":7,"./$.def":13,"./$.throws":39}],69:[function(require,module,exports){
2940
+ },{"./$.def":16,"./$.fails":21,"./$.string-context":63,"./$.to-length":73}],156:[function(require,module,exports){
2525
2941
  var $def = require('./$.def')
2526
- , toIndex = require('./$').toIndex
2942
+ , toIndex = require('./$.to-index')
2527
2943
  , fromCharCode = String.fromCharCode
2528
2944
  , $fromCodePoint = String.fromCodePoint;
2529
2945
 
@@ -2545,49 +2961,45 @@ $def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String
2545
2961
  } return res.join('');
2546
2962
  }
2547
2963
  });
2548
- },{"./$":24,"./$.def":13}],70:[function(require,module,exports){
2964
+ },{"./$.def":16,"./$.to-index":70}],157:[function(require,module,exports){
2549
2965
  'use strict';
2550
- var $ = require('./$')
2551
- , cof = require('./$.cof')
2552
- , $def = require('./$.def');
2966
+ var $def = require('./$.def')
2967
+ , context = require('./$.string-context');
2553
2968
 
2554
2969
  $def($def.P, 'String', {
2555
2970
  // 21.1.3.7 String.prototype.includes(searchString, position = 0)
2556
2971
  includes: function includes(searchString /*, position = 0 */){
2557
- if(cof(searchString) == 'RegExp')throw TypeError();
2558
- return !!~String($.assertDefined(this)).indexOf(searchString, arguments[1]);
2972
+ return !!~context(this, searchString, 'includes').indexOf(searchString, arguments[1]);
2559
2973
  }
2560
2974
  });
2561
- },{"./$":24,"./$.cof":7,"./$.def":13}],71:[function(require,module,exports){
2562
- var set = require('./$').set
2563
- , $at = require('./$.string-at')(true)
2564
- , ITER = require('./$.uid').safe('iter')
2565
- , $iter = require('./$.iter')
2566
- , step = $iter.step;
2975
+ },{"./$.def":16,"./$.string-context":63}],158:[function(require,module,exports){
2976
+ 'use strict';
2977
+ var $at = require('./$.string-at')(true);
2567
2978
 
2568
2979
  // 21.1.3.27 String.prototype[@@iterator]()
2569
2980
  require('./$.iter-define')(String, 'String', function(iterated){
2570
- set(this, ITER, {o: String(iterated), i: 0});
2981
+ this._t = String(iterated); // target
2982
+ this._i = 0; // next index
2571
2983
  // 21.1.5.2.1 %StringIteratorPrototype%.next()
2572
2984
  }, function(){
2573
- var iter = this[ITER]
2574
- , O = iter.o
2575
- , index = iter.i
2985
+ var O = this._t
2986
+ , index = this._i
2576
2987
  , point;
2577
- if(index >= O.length)return step(1);
2988
+ if(index >= O.length)return {value: undefined, done: true};
2578
2989
  point = $at(O, index);
2579
- iter.i += point.length;
2580
- return step(0, point);
2990
+ this._i += point.length;
2991
+ return {value: point, done: false};
2581
2992
  });
2582
- },{"./$":24,"./$.iter":23,"./$.iter-define":21,"./$.string-at":35,"./$.uid":40}],72:[function(require,module,exports){
2583
- var $ = require('./$')
2584
- , $def = require('./$.def');
2993
+ },{"./$.iter-define":38,"./$.string-at":62}],159:[function(require,module,exports){
2994
+ var $def = require('./$.def')
2995
+ , toIObject = require('./$.to-iobject')
2996
+ , toLength = require('./$.to-length');
2585
2997
 
2586
2998
  $def($def.S, 'String', {
2587
2999
  // 21.1.2.4 String.raw(callSite, ...substitutions)
2588
3000
  raw: function raw(callSite){
2589
- var tpl = $.toObject(callSite.raw)
2590
- , len = $.toLength(tpl.length)
3001
+ var tpl = toIObject(callSite.raw)
3002
+ , len = toLength(tpl.length)
2591
3003
  , sln = arguments.length
2592
3004
  , res = []
2593
3005
  , i = 0;
@@ -2597,62 +3009,70 @@ $def($def.S, 'String', {
2597
3009
  } return res.join('');
2598
3010
  }
2599
3011
  });
2600
- },{"./$":24,"./$.def":13}],73:[function(require,module,exports){
3012
+ },{"./$.def":16,"./$.to-iobject":72,"./$.to-length":73}],160:[function(require,module,exports){
2601
3013
  var $def = require('./$.def');
2602
3014
 
2603
3015
  $def($def.P, 'String', {
2604
3016
  // 21.1.3.13 String.prototype.repeat(count)
2605
3017
  repeat: require('./$.string-repeat')
2606
3018
  });
2607
- },{"./$.def":13,"./$.string-repeat":37}],74:[function(require,module,exports){
3019
+ },{"./$.def":16,"./$.string-repeat":65}],161:[function(require,module,exports){
2608
3020
  'use strict';
2609
- var $ = require('./$')
2610
- , cof = require('./$.cof')
2611
- , $def = require('./$.def');
3021
+ var $def = require('./$.def')
3022
+ , toLength = require('./$.to-length')
3023
+ , context = require('./$.string-context');
2612
3024
 
2613
3025
  // should throw error on regex
2614
- $def($def.P + $def.F * !require('./$.throws')(function(){ 'q'.startsWith(/./); }), 'String', {
3026
+ $def($def.P + $def.F * !require('./$.fails')(function(){ 'q'.startsWith(/./); }), 'String', {
2615
3027
  // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
2616
3028
  startsWith: function startsWith(searchString /*, position = 0 */){
2617
- if(cof(searchString) == 'RegExp')throw TypeError();
2618
- var that = String($.assertDefined(this))
2619
- , index = $.toLength(Math.min(arguments[1], that.length));
2620
- searchString += '';
2621
- return that.slice(index, index + searchString.length) === searchString;
3029
+ var that = context(this, searchString, 'startsWith')
3030
+ , index = toLength(Math.min(arguments[1], that.length))
3031
+ , search = String(searchString);
3032
+ return that.slice(index, index + search.length) === search;
2622
3033
  }
2623
3034
  });
2624
- },{"./$":24,"./$.cof":7,"./$.def":13,"./$.throws":39}],75:[function(require,module,exports){
3035
+ },{"./$.def":16,"./$.fails":21,"./$.string-context":63,"./$.to-length":73}],162:[function(require,module,exports){
3036
+ 'use strict';
3037
+ // 21.1.3.25 String.prototype.trim()
3038
+ require('./$.string-trim')('trim', function($trim){
3039
+ return function trim(){
3040
+ return $trim(this, 3);
3041
+ };
3042
+ });
3043
+ },{"./$.string-trim":66}],163:[function(require,module,exports){
2625
3044
  'use strict';
2626
3045
  // ECMAScript 6 symbols shim
2627
- var $ = require('./$')
2628
- , setTag = require('./$.cof').set
2629
- , uid = require('./$.uid')
2630
- , shared = require('./$.shared')
2631
- , $def = require('./$.def')
2632
- , $redef = require('./$.redef')
2633
- , keyOf = require('./$.keyof')
2634
- , enumKeys = require('./$.enum-keys')
2635
- , assertObject = require('./$.assert').obj
2636
- , ObjectProto = Object.prototype
2637
- , DESC = $.DESC
2638
- , has = $.has
2639
- , $create = $.create
2640
- , getDesc = $.getDesc
2641
- , setDesc = $.setDesc
2642
- , desc = $.desc
2643
- , $names = require('./$.get-names')
2644
- , getNames = $names.get
2645
- , toObject = $.toObject
2646
- , $Symbol = $.g.Symbol
2647
- , setter = false
2648
- , TAG = uid('tag')
2649
- , HIDDEN = uid('hidden')
2650
- , _propertyIsEnumerable = {}.propertyIsEnumerable
3046
+ var $ = require('./$')
3047
+ , global = require('./$.global')
3048
+ , has = require('./$.has')
3049
+ , SUPPORT_DESC = require('./$.support-desc')
3050
+ , $def = require('./$.def')
3051
+ , $redef = require('./$.redef')
3052
+ , shared = require('./$.shared')
3053
+ , setTag = require('./$.tag')
3054
+ , uid = require('./$.uid')
3055
+ , wks = require('./$.wks')
3056
+ , keyOf = require('./$.keyof')
3057
+ , $names = require('./$.get-names')
3058
+ , enumKeys = require('./$.enum-keys')
3059
+ , anObject = require('./$.an-object')
3060
+ , toIObject = require('./$.to-iobject')
3061
+ , createDesc = require('./$.property-desc')
3062
+ , getDesc = $.getDesc
3063
+ , setDesc = $.setDesc
3064
+ , $create = $.create
3065
+ , getNames = $names.get
3066
+ , $Symbol = global.Symbol
3067
+ , setter = false
3068
+ , HIDDEN = wks('_hidden')
3069
+ , isEnum = $.isEnum
2651
3070
  , SymbolRegistry = shared('symbol-registry')
2652
- , AllSymbols = shared('symbols')
2653
- , useNative = $.isFunction($Symbol);
3071
+ , AllSymbols = shared('symbols')
3072
+ , useNative = typeof $Symbol == 'function'
3073
+ , ObjectProto = Object.prototype;
2654
3074
 
2655
- var setSymbolDesc = DESC ? function(){ // fallback for old Android
3075
+ var setSymbolDesc = SUPPORT_DESC ? function(){ // fallback for old Android
2656
3076
  try {
2657
3077
  return $create(setDesc({}, HIDDEN, {
2658
3078
  get: function(){
@@ -2669,32 +3089,33 @@ var setSymbolDesc = DESC ? function(){ // fallback for old Android
2669
3089
  }
2670
3090
  }() : setDesc;
2671
3091
 
2672
- function wrap(tag){
2673
- var sym = AllSymbols[tag] = $.set($create($Symbol.prototype), TAG, tag);
2674
- DESC && setter && setSymbolDesc(ObjectProto, tag, {
3092
+ var wrap = function(tag){
3093
+ var sym = AllSymbols[tag] = $create($Symbol.prototype);
3094
+ sym._k = tag;
3095
+ SUPPORT_DESC && setter && setSymbolDesc(ObjectProto, tag, {
2675
3096
  configurable: true,
2676
3097
  set: function(value){
2677
3098
  if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
2678
- setSymbolDesc(this, tag, desc(1, value));
3099
+ setSymbolDesc(this, tag, createDesc(1, value));
2679
3100
  }
2680
3101
  });
2681
3102
  return sym;
2682
- }
3103
+ };
2683
3104
 
2684
3105
  function defineProperty(it, key, D){
2685
3106
  if(D && has(AllSymbols, key)){
2686
3107
  if(!D.enumerable){
2687
- if(!has(it, HIDDEN))setDesc(it, HIDDEN, desc(1, {}));
3108
+ if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
2688
3109
  it[HIDDEN][key] = true;
2689
3110
  } else {
2690
3111
  if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
2691
- D = $create(D, {enumerable: desc(0, false)});
3112
+ D = $create(D, {enumerable: createDesc(0, false)});
2692
3113
  } return setSymbolDesc(it, key, D);
2693
3114
  } return setDesc(it, key, D);
2694
3115
  }
2695
3116
  function defineProperties(it, P){
2696
- assertObject(it);
2697
- var keys = enumKeys(P = toObject(P))
3117
+ anObject(it);
3118
+ var keys = enumKeys(P = toIObject(P))
2698
3119
  , i = 0
2699
3120
  , l = keys.length
2700
3121
  , key;
@@ -2705,17 +3126,17 @@ function create(it, P){
2705
3126
  return P === undefined ? $create(it) : defineProperties($create(it), P);
2706
3127
  }
2707
3128
  function propertyIsEnumerable(key){
2708
- var E = _propertyIsEnumerable.call(this, key);
3129
+ var E = isEnum.call(this, key);
2709
3130
  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
2710
3131
  ? E : true;
2711
3132
  }
2712
3133
  function getOwnPropertyDescriptor(it, key){
2713
- var D = getDesc(it = toObject(it), key);
3134
+ var D = getDesc(it = toIObject(it), key);
2714
3135
  if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
2715
3136
  return D;
2716
3137
  }
2717
3138
  function getOwnPropertyNames(it){
2718
- var names = getNames(toObject(it))
3139
+ var names = getNames(toIObject(it))
2719
3140
  , result = []
2720
3141
  , i = 0
2721
3142
  , key;
@@ -2723,7 +3144,7 @@ function getOwnPropertyNames(it){
2723
3144
  return result;
2724
3145
  }
2725
3146
  function getOwnPropertySymbols(it){
2726
- var names = getNames(toObject(it))
3147
+ var names = getNames(toIObject(it))
2727
3148
  , result = []
2728
3149
  , i = 0
2729
3150
  , key;
@@ -2738,17 +3159,20 @@ if(!useNative){
2738
3159
  return wrap(uid(arguments[0]));
2739
3160
  };
2740
3161
  $redef($Symbol.prototype, 'toString', function(){
2741
- return this[TAG];
3162
+ return this._k;
2742
3163
  });
2743
3164
 
2744
3165
  $.create = create;
2745
- $.setDesc = defineProperty;
3166
+ $.isEnum = propertyIsEnumerable;
2746
3167
  $.getDesc = getOwnPropertyDescriptor;
3168
+ $.setDesc = defineProperty;
2747
3169
  $.setDescs = defineProperties;
2748
3170
  $.getNames = $names.get = getOwnPropertyNames;
2749
3171
  $.getSymbols = getOwnPropertySymbols;
2750
3172
 
2751
- if($.DESC && $.FW)$redef(ObjectProto, 'propertyIsEnumerable', propertyIsEnumerable, true);
3173
+ if(SUPPORT_DESC && !require('./$.library')){
3174
+ $redef(ObjectProto, 'propertyIsEnumerable', propertyIsEnumerable, true);
3175
+ }
2752
3176
  }
2753
3177
 
2754
3178
  var symbolStatics = {
@@ -2780,7 +3204,7 @@ $.each.call((
2780
3204
  'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
2781
3205
  'species,split,toPrimitive,toStringTag,unscopables'
2782
3206
  ).split(','), function(it){
2783
- var sym = require('./$.wks')(it);
3207
+ var sym = wks(it);
2784
3208
  symbolStatics[it] = useNative ? sym : wrap(sym);
2785
3209
  }
2786
3210
  );
@@ -2811,18 +3235,17 @@ setTag($Symbol, 'Symbol');
2811
3235
  // 20.2.1.9 Math[@@toStringTag]
2812
3236
  setTag(Math, 'Math', true);
2813
3237
  // 24.3.3 JSON[@@toStringTag]
2814
- setTag($.g.JSON, 'JSON', true);
2815
- },{"./$":24,"./$.assert":5,"./$.cof":7,"./$.def":13,"./$.enum-keys":15,"./$.get-names":18,"./$.keyof":25,"./$.redef":29,"./$.shared":33,"./$.uid":40,"./$.wks":42}],76:[function(require,module,exports){
3238
+ setTag(global.JSON, 'JSON', true);
3239
+ },{"./$":42,"./$.an-object":4,"./$.def":16,"./$.enum-keys":19,"./$.get-names":25,"./$.global":26,"./$.has":27,"./$.keyof":43,"./$.library":44,"./$.property-desc":53,"./$.redef":54,"./$.shared":58,"./$.support-desc":67,"./$.tag":68,"./$.to-iobject":72,"./$.uid":75,"./$.wks":77}],164:[function(require,module,exports){
2816
3240
  'use strict';
2817
- var $ = require('./$')
2818
- , weak = require('./$.collection-weak')
2819
- , leakStore = weak.leakStore
2820
- , ID = weak.ID
2821
- , WEAK = weak.WEAK
2822
- , has = $.has
2823
- , isObject = $.isObject
3241
+ var $ = require('./$')
3242
+ , weak = require('./$.collection-weak')
3243
+ , isObject = require('./$.is-object')
3244
+ , has = require('./$.has')
3245
+ , frozenStore = weak.frozenStore
3246
+ , WEAK = weak.WEAK
2824
3247
  , isExtensible = Object.isExtensible || isObject
2825
- , tmp = {};
3248
+ , tmp = {};
2826
3249
 
2827
3250
  // 23.3 WeakMap Objects
2828
3251
  var $WeakMap = require('./$.collection')('WeakMap', function(get){
@@ -2831,8 +3254,8 @@ var $WeakMap = require('./$.collection')('WeakMap', function(get){
2831
3254
  // 23.3.3.3 WeakMap.prototype.get(key)
2832
3255
  get: function get(key){
2833
3256
  if(isObject(key)){
2834
- if(!isExtensible(key))return leakStore(this).get(key);
2835
- if(has(key, WEAK))return key[WEAK][this[ID]];
3257
+ if(!isExtensible(key))return frozenStore(this).get(key);
3258
+ if(has(key, WEAK))return key[WEAK][this._i];
2836
3259
  }
2837
3260
  },
2838
3261
  // 23.3.3.5 WeakMap.prototype.set(key, value)
@@ -2849,14 +3272,14 @@ if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
2849
3272
  require('./$.redef')(proto, key, function(a, b){
2850
3273
  // store frozen objects on leaky map
2851
3274
  if(isObject(a) && !isExtensible(a)){
2852
- var result = leakStore(this)[key](a, b);
3275
+ var result = frozenStore(this)[key](a, b);
2853
3276
  return key == 'set' ? this : result;
2854
3277
  // store all the rest on native weakmap
2855
3278
  } return method.call(this, a, b);
2856
3279
  });
2857
3280
  });
2858
3281
  }
2859
- },{"./$":24,"./$.collection":11,"./$.collection-weak":10,"./$.redef":29}],77:[function(require,module,exports){
3282
+ },{"./$":42,"./$.collection":13,"./$.collection-weak":12,"./$.has":27,"./$.is-object":34,"./$.redef":54}],165:[function(require,module,exports){
2860
3283
  'use strict';
2861
3284
  var weak = require('./$.collection-weak');
2862
3285
 
@@ -2869,7 +3292,7 @@ require('./$.collection')('WeakSet', function(get){
2869
3292
  return weak.def(this, value, true);
2870
3293
  }
2871
3294
  }, weak, false, true);
2872
- },{"./$.collection":11,"./$.collection-weak":10}],78:[function(require,module,exports){
3295
+ },{"./$.collection":13,"./$.collection-weak":12}],166:[function(require,module,exports){
2873
3296
  'use strict';
2874
3297
  var $def = require('./$.def')
2875
3298
  , $includes = require('./$.array-includes')(true);
@@ -2880,57 +3303,67 @@ $def($def.P, 'Array', {
2880
3303
  }
2881
3304
  });
2882
3305
  require('./$.unscope')('includes');
2883
- },{"./$.array-includes":3,"./$.def":13,"./$.unscope":41}],79:[function(require,module,exports){
3306
+ },{"./$.array-includes":5,"./$.def":16,"./$.unscope":76}],167:[function(require,module,exports){
2884
3307
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
2885
- require('./$.collection-to-json')('Map');
2886
- },{"./$.collection-to-json":9}],80:[function(require,module,exports){
3308
+ var $def = require('./$.def');
3309
+
3310
+ $def($def.P, 'Map', {toJSON: require('./$.collection-to-json')('Map')});
3311
+ },{"./$.collection-to-json":11,"./$.def":16}],168:[function(require,module,exports){
3312
+ // http://goo.gl/XkBrjD
3313
+ var $def = require('./$.def')
3314
+ , $entries = require('./$.object-to-array')(true);
3315
+
3316
+ $def($def.S, 'Object', {
3317
+ entries: function entries(it){
3318
+ return $entries(it);
3319
+ }
3320
+ });
3321
+ },{"./$.def":16,"./$.object-to-array":49}],169:[function(require,module,exports){
2887
3322
  // https://gist.github.com/WebReflection/9353781
2888
- var $ = require('./$')
2889
- , $def = require('./$.def')
2890
- , ownKeys = require('./$.own-keys');
3323
+ var $ = require('./$')
3324
+ , $def = require('./$.def')
3325
+ , ownKeys = require('./$.own-keys')
3326
+ , toIObject = require('./$.to-iobject')
3327
+ , createDesc = require('./$.property-desc');
2891
3328
 
2892
3329
  $def($def.S, 'Object', {
2893
3330
  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
2894
- var O = $.toObject(object)
2895
- , result = {};
2896
- $.each.call(ownKeys(O), function(key){
2897
- $.setDesc(result, key, $.desc(0, $.getDesc(O, key)));
2898
- });
2899
- return result;
3331
+ var O = toIObject(object)
3332
+ , setDesc = $.setDesc
3333
+ , getDesc = $.getDesc
3334
+ , keys = ownKeys(O)
3335
+ , result = {}
3336
+ , i = 0
3337
+ , key, D;
3338
+ while(keys.length > i){
3339
+ D = getDesc(O, key = keys[i++]);
3340
+ if(key in result)setDesc(result, key, createDesc(0, D));
3341
+ else result[key] = D;
3342
+ } return result;
2900
3343
  }
2901
3344
  });
2902
- },{"./$":24,"./$.def":13,"./$.own-keys":27}],81:[function(require,module,exports){
3345
+ },{"./$":42,"./$.def":16,"./$.own-keys":50,"./$.property-desc":53,"./$.to-iobject":72}],170:[function(require,module,exports){
2903
3346
  // http://goo.gl/XkBrjD
2904
- var $ = require('./$')
2905
- , $def = require('./$.def');
2906
- function createObjectToArray(isEntries){
2907
- return function(object){
2908
- var O = $.toObject(object)
2909
- , keys = $.getKeys(O)
2910
- , length = keys.length
2911
- , i = 0
2912
- , result = Array(length)
2913
- , key;
2914
- if(isEntries)while(length > i)result[i] = [key = keys[i++], O[key]];
2915
- else while(length > i)result[i] = O[keys[i++]];
2916
- return result;
2917
- };
2918
- }
3347
+ var $def = require('./$.def')
3348
+ , $values = require('./$.object-to-array')(false);
3349
+
2919
3350
  $def($def.S, 'Object', {
2920
- values: createObjectToArray(false),
2921
- entries: createObjectToArray(true)
3351
+ values: function values(it){
3352
+ return $values(it);
3353
+ }
2922
3354
  });
2923
- },{"./$":24,"./$.def":13}],82:[function(require,module,exports){
3355
+ },{"./$.def":16,"./$.object-to-array":49}],171:[function(require,module,exports){
2924
3356
  // https://github.com/benjamingr/RexExp.escape
2925
- var $def = require('./$.def');
2926
- $def($def.S, 'RegExp', {
2927
- escape: require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&', true)
2928
- });
3357
+ var $def = require('./$.def')
3358
+ , $re = require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&');
3359
+ $def($def.S, 'RegExp', {escape: function escape(it){ return $re(it); }});
2929
3360
 
2930
- },{"./$.def":13,"./$.replacer":30}],83:[function(require,module,exports){
3361
+ },{"./$.def":16,"./$.replacer":55}],172:[function(require,module,exports){
2931
3362
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
2932
- require('./$.collection-to-json')('Set');
2933
- },{"./$.collection-to-json":9}],84:[function(require,module,exports){
3363
+ var $def = require('./$.def');
3364
+
3365
+ $def($def.P, 'Set', {toJSON: require('./$.collection-to-json')('Set')});
3366
+ },{"./$.collection-to-json":11,"./$.def":16}],173:[function(require,module,exports){
2934
3367
  // https://github.com/mathiasbynens/String.prototype.at
2935
3368
  'use strict';
2936
3369
  var $def = require('./$.def')
@@ -2940,99 +3373,147 @@ $def($def.P, 'String', {
2940
3373
  return $at(this, pos);
2941
3374
  }
2942
3375
  });
2943
- },{"./$.def":13,"./$.string-at":35}],85:[function(require,module,exports){
3376
+ },{"./$.def":16,"./$.string-at":62}],174:[function(require,module,exports){
2944
3377
  'use strict';
2945
3378
  var $def = require('./$.def')
2946
3379
  , $pad = require('./$.string-pad');
2947
3380
  $def($def.P, 'String', {
2948
- lpad: function lpad(n){
2949
- return $pad(this, n, arguments[1], true);
3381
+ padLeft: function padLeft(maxLength /*, fillString = ' ' */){
3382
+ return $pad(this, maxLength, arguments[1], true);
2950
3383
  }
2951
3384
  });
2952
- },{"./$.def":13,"./$.string-pad":36}],86:[function(require,module,exports){
3385
+ },{"./$.def":16,"./$.string-pad":64}],175:[function(require,module,exports){
2953
3386
  'use strict';
2954
3387
  var $def = require('./$.def')
2955
3388
  , $pad = require('./$.string-pad');
2956
3389
  $def($def.P, 'String', {
2957
- rpad: function rpad(n){
2958
- return $pad(this, n, arguments[1], false);
3390
+ padRight: function padRight(maxLength /*, fillString = ' ' */){
3391
+ return $pad(this, maxLength, arguments[1], false);
2959
3392
  }
2960
3393
  });
2961
- },{"./$.def":13,"./$.string-pad":36}],87:[function(require,module,exports){
3394
+ },{"./$.def":16,"./$.string-pad":64}],176:[function(require,module,exports){
3395
+ 'use strict';
3396
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
3397
+ require('./$.string-trim')('trimLeft', function($trim){
3398
+ return function trimLeft(){
3399
+ return $trim(this, 1);
3400
+ };
3401
+ });
3402
+ },{"./$.string-trim":66}],177:[function(require,module,exports){
3403
+ 'use strict';
3404
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
3405
+ require('./$.string-trim')('trimRight', function($trim){
3406
+ return function trimRight(){
3407
+ return $trim(this, 2);
3408
+ };
3409
+ });
3410
+ },{"./$.string-trim":66}],178:[function(require,module,exports){
2962
3411
  // JavaScript 1.6 / Strawman array statics shim
2963
3412
  var $ = require('./$')
2964
3413
  , $def = require('./$.def')
2965
- , $Array = $.core.Array || Array
3414
+ , $Array = require('./$.core').Array || Array
2966
3415
  , statics = {};
2967
- function setStatics(keys, length){
3416
+ var setStatics = function(keys, length){
2968
3417
  $.each.call(keys.split(','), function(key){
2969
3418
  if(length == undefined && key in $Array)statics[key] = $Array[key];
2970
3419
  else if(key in [])statics[key] = require('./$.ctx')(Function.call, [][key], length);
2971
3420
  });
2972
- }
3421
+ };
2973
3422
  setStatics('pop,reverse,shift,keys,values,entries', 1);
2974
3423
  setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
2975
3424
  setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
2976
- 'reduce,reduceRight,copyWithin,fill,turn');
3425
+ 'reduce,reduceRight,copyWithin,fill');
2977
3426
  $def($def.S, 'Array', statics);
2978
- },{"./$":24,"./$.ctx":12,"./$.def":13}],88:[function(require,module,exports){
3427
+ },{"./$":42,"./$.core":14,"./$.ctx":15,"./$.def":16}],179:[function(require,module,exports){
2979
3428
  require('./es6.array.iterator');
2980
- var $ = require('./$')
2981
- , Iterators = require('./$.iter').Iterators
3429
+ var global = require('./$.global')
3430
+ , hide = require('./$.hide')
3431
+ , Iterators = require('./$.iterators')
2982
3432
  , ITERATOR = require('./$.wks')('iterator')
2983
- , ArrayValues = Iterators.Array
2984
- , NL = $.g.NodeList
2985
- , HTC = $.g.HTMLCollection
3433
+ , NL = global.NodeList
3434
+ , HTC = global.HTMLCollection
2986
3435
  , NLProto = NL && NL.prototype
2987
- , HTCProto = HTC && HTC.prototype;
2988
- if($.FW){
2989
- if(NL && !(ITERATOR in NLProto))$.hide(NLProto, ITERATOR, ArrayValues);
2990
- if(HTC && !(ITERATOR in HTCProto))$.hide(HTCProto, ITERATOR, ArrayValues);
2991
- }
2992
- Iterators.NodeList = Iterators.HTMLCollection = ArrayValues;
2993
- },{"./$":24,"./$.iter":23,"./$.wks":42,"./es6.array.iterator":49}],89:[function(require,module,exports){
3436
+ , HTCProto = HTC && HTC.prototype
3437
+ , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
3438
+ if(NL && !(ITERATOR in NLProto))hide(NLProto, ITERATOR, ArrayValues);
3439
+ if(HTC && !(ITERATOR in HTCProto))hide(HTCProto, ITERATOR, ArrayValues);
3440
+ },{"./$.global":26,"./$.hide":28,"./$.iterators":41,"./$.wks":77,"./es6.array.iterator":85}],180:[function(require,module,exports){
2994
3441
  var $def = require('./$.def')
2995
3442
  , $task = require('./$.task');
2996
3443
  $def($def.G + $def.B, {
2997
3444
  setImmediate: $task.set,
2998
3445
  clearImmediate: $task.clear
2999
3446
  });
3000
- },{"./$.def":13,"./$.task":38}],90:[function(require,module,exports){
3447
+ },{"./$.def":16,"./$.task":69}],181:[function(require,module,exports){
3001
3448
  // ie9- setTimeout & setInterval additional parameters fix
3002
- var $ = require('./$')
3003
- , $def = require('./$.def')
3004
- , invoke = require('./$.invoke')
3005
- , partial = require('./$.partial')
3006
- , navigator = $.g.navigator
3007
- , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
3008
- function wrap(set){
3449
+ var global = require('./$.global')
3450
+ , $def = require('./$.def')
3451
+ , invoke = require('./$.invoke')
3452
+ , partial = require('./$.partial')
3453
+ , navigator = global.navigator
3454
+ , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
3455
+ var wrap = function(set){
3009
3456
  return MSIE ? function(fn, time /*, ...args */){
3010
3457
  return set(invoke(
3011
3458
  partial,
3012
3459
  [].slice.call(arguments, 2),
3013
- $.isFunction(fn) ? fn : Function(fn)
3460
+ typeof fn == 'function' ? fn : Function(fn)
3014
3461
  ), time);
3015
3462
  } : set;
3016
- }
3463
+ };
3017
3464
  $def($def.G + $def.B + $def.F * MSIE, {
3018
- setTimeout: wrap($.g.setTimeout),
3019
- setInterval: wrap($.g.setInterval)
3465
+ setTimeout: wrap(global.setTimeout),
3466
+ setInterval: wrap(global.setInterval)
3020
3467
  });
3021
- },{"./$":24,"./$.def":13,"./$.invoke":19,"./$.partial":28}],91:[function(require,module,exports){
3468
+ },{"./$.def":16,"./$.global":26,"./$.invoke":30,"./$.partial":51}],182:[function(require,module,exports){
3022
3469
  require('./modules/es5');
3023
3470
  require('./modules/es6.symbol');
3024
3471
  require('./modules/es6.object.assign');
3025
3472
  require('./modules/es6.object.is');
3026
3473
  require('./modules/es6.object.set-prototype-of');
3027
3474
  require('./modules/es6.object.to-string');
3028
- require('./modules/es6.object.statics-accept-primitives');
3475
+ require('./modules/es6.object.freeze');
3476
+ require('./modules/es6.object.seal');
3477
+ require('./modules/es6.object.prevent-extensions');
3478
+ require('./modules/es6.object.is-frozen');
3479
+ require('./modules/es6.object.is-sealed');
3480
+ require('./modules/es6.object.is-extensible');
3481
+ require('./modules/es6.object.get-own-property-descriptor');
3482
+ require('./modules/es6.object.get-prototype-of');
3483
+ require('./modules/es6.object.keys');
3484
+ require('./modules/es6.object.get-own-property-names');
3029
3485
  require('./modules/es6.function.name');
3030
3486
  require('./modules/es6.function.has-instance');
3031
3487
  require('./modules/es6.number.constructor');
3032
- require('./modules/es6.number.statics');
3033
- require('./modules/es6.math');
3488
+ require('./modules/es6.number.epsilon');
3489
+ require('./modules/es6.number.is-finite');
3490
+ require('./modules/es6.number.is-integer');
3491
+ require('./modules/es6.number.is-nan');
3492
+ require('./modules/es6.number.is-safe-integer');
3493
+ require('./modules/es6.number.max-safe-integer');
3494
+ require('./modules/es6.number.min-safe-integer');
3495
+ require('./modules/es6.number.parse-float');
3496
+ require('./modules/es6.number.parse-int');
3497
+ require('./modules/es6.math.acosh');
3498
+ require('./modules/es6.math.asinh');
3499
+ require('./modules/es6.math.atanh');
3500
+ require('./modules/es6.math.cbrt');
3501
+ require('./modules/es6.math.clz32');
3502
+ require('./modules/es6.math.cosh');
3503
+ require('./modules/es6.math.expm1');
3504
+ require('./modules/es6.math.fround');
3505
+ require('./modules/es6.math.hypot');
3506
+ require('./modules/es6.math.imul');
3507
+ require('./modules/es6.math.log10');
3508
+ require('./modules/es6.math.log1p');
3509
+ require('./modules/es6.math.log2');
3510
+ require('./modules/es6.math.sign');
3511
+ require('./modules/es6.math.sinh');
3512
+ require('./modules/es6.math.tanh');
3513
+ require('./modules/es6.math.trunc');
3034
3514
  require('./modules/es6.string.from-code-point');
3035
3515
  require('./modules/es6.string.raw');
3516
+ require('./modules/es6.string.trim');
3036
3517
  require('./modules/es6.string.iterator');
3037
3518
  require('./modules/es6.string.code-point-at');
3038
3519
  require('./modules/es6.string.ends-with');
@@ -3047,29 +3528,49 @@ require('./modules/es6.array.copy-within');
3047
3528
  require('./modules/es6.array.fill');
3048
3529
  require('./modules/es6.array.find');
3049
3530
  require('./modules/es6.array.find-index');
3050
- require('./modules/es6.regexp');
3531
+ require('./modules/es6.regexp.constructor');
3532
+ require('./modules/es6.regexp.flags');
3533
+ require('./modules/es6.regexp.match');
3534
+ require('./modules/es6.regexp.replace');
3535
+ require('./modules/es6.regexp.search');
3536
+ require('./modules/es6.regexp.split');
3051
3537
  require('./modules/es6.promise');
3052
3538
  require('./modules/es6.map');
3053
3539
  require('./modules/es6.set');
3054
3540
  require('./modules/es6.weak-map');
3055
3541
  require('./modules/es6.weak-set');
3056
- require('./modules/es6.reflect');
3542
+ require('./modules/es6.reflect.apply');
3543
+ require('./modules/es6.reflect.construct');
3544
+ require('./modules/es6.reflect.define-property');
3545
+ require('./modules/es6.reflect.delete-property');
3546
+ require('./modules/es6.reflect.enumerate');
3547
+ require('./modules/es6.reflect.get');
3548
+ require('./modules/es6.reflect.get-own-property-descriptor');
3549
+ require('./modules/es6.reflect.get-prototype-of');
3550
+ require('./modules/es6.reflect.has');
3551
+ require('./modules/es6.reflect.is-extensible');
3552
+ require('./modules/es6.reflect.own-keys');
3553
+ require('./modules/es6.reflect.prevent-extensions');
3554
+ require('./modules/es6.reflect.set');
3555
+ require('./modules/es6.reflect.set-prototype-of');
3057
3556
  require('./modules/es7.array.includes');
3058
3557
  require('./modules/es7.string.at');
3059
- require('./modules/es7.string.lpad');
3060
- require('./modules/es7.string.rpad');
3558
+ require('./modules/es7.string.pad-left');
3559
+ require('./modules/es7.string.pad-right');
3560
+ require('./modules/es7.string.trim-left');
3561
+ require('./modules/es7.string.trim-right');
3061
3562
  require('./modules/es7.regexp.escape');
3062
3563
  require('./modules/es7.object.get-own-property-descriptors');
3063
- require('./modules/es7.object.to-array');
3564
+ require('./modules/es7.object.values');
3565
+ require('./modules/es7.object.entries');
3064
3566
  require('./modules/es7.map.to-json');
3065
3567
  require('./modules/es7.set.to-json');
3066
3568
  require('./modules/js.array.statics');
3067
3569
  require('./modules/web.timers');
3068
3570
  require('./modules/web.immediate');
3069
3571
  require('./modules/web.dom.iterable');
3070
- module.exports = require('./modules/$').core;
3071
-
3072
- },{"./modules/$":24,"./modules/es5":43,"./modules/es6.array.copy-within":44,"./modules/es6.array.fill":45,"./modules/es6.array.find":47,"./modules/es6.array.find-index":46,"./modules/es6.array.from":48,"./modules/es6.array.iterator":49,"./modules/es6.array.of":50,"./modules/es6.array.species":51,"./modules/es6.function.has-instance":52,"./modules/es6.function.name":53,"./modules/es6.map":54,"./modules/es6.math":55,"./modules/es6.number.constructor":56,"./modules/es6.number.statics":57,"./modules/es6.object.assign":58,"./modules/es6.object.is":59,"./modules/es6.object.set-prototype-of":60,"./modules/es6.object.statics-accept-primitives":61,"./modules/es6.object.to-string":62,"./modules/es6.promise":63,"./modules/es6.reflect":64,"./modules/es6.regexp":65,"./modules/es6.set":66,"./modules/es6.string.code-point-at":67,"./modules/es6.string.ends-with":68,"./modules/es6.string.from-code-point":69,"./modules/es6.string.includes":70,"./modules/es6.string.iterator":71,"./modules/es6.string.raw":72,"./modules/es6.string.repeat":73,"./modules/es6.string.starts-with":74,"./modules/es6.symbol":75,"./modules/es6.weak-map":76,"./modules/es6.weak-set":77,"./modules/es7.array.includes":78,"./modules/es7.map.to-json":79,"./modules/es7.object.get-own-property-descriptors":80,"./modules/es7.object.to-array":81,"./modules/es7.regexp.escape":82,"./modules/es7.set.to-json":83,"./modules/es7.string.at":84,"./modules/es7.string.lpad":85,"./modules/es7.string.rpad":86,"./modules/js.array.statics":87,"./modules/web.dom.iterable":88,"./modules/web.immediate":89,"./modules/web.timers":90}],92:[function(require,module,exports){
3572
+ module.exports = require('./modules/$.core');
3573
+ },{"./modules/$.core":14,"./modules/es5":79,"./modules/es6.array.copy-within":80,"./modules/es6.array.fill":81,"./modules/es6.array.find":83,"./modules/es6.array.find-index":82,"./modules/es6.array.from":84,"./modules/es6.array.iterator":85,"./modules/es6.array.of":86,"./modules/es6.array.species":87,"./modules/es6.function.has-instance":88,"./modules/es6.function.name":89,"./modules/es6.map":90,"./modules/es6.math.acosh":91,"./modules/es6.math.asinh":92,"./modules/es6.math.atanh":93,"./modules/es6.math.cbrt":94,"./modules/es6.math.clz32":95,"./modules/es6.math.cosh":96,"./modules/es6.math.expm1":97,"./modules/es6.math.fround":98,"./modules/es6.math.hypot":99,"./modules/es6.math.imul":100,"./modules/es6.math.log10":101,"./modules/es6.math.log1p":102,"./modules/es6.math.log2":103,"./modules/es6.math.sign":104,"./modules/es6.math.sinh":105,"./modules/es6.math.tanh":106,"./modules/es6.math.trunc":107,"./modules/es6.number.constructor":108,"./modules/es6.number.epsilon":109,"./modules/es6.number.is-finite":110,"./modules/es6.number.is-integer":111,"./modules/es6.number.is-nan":112,"./modules/es6.number.is-safe-integer":113,"./modules/es6.number.max-safe-integer":114,"./modules/es6.number.min-safe-integer":115,"./modules/es6.number.parse-float":116,"./modules/es6.number.parse-int":117,"./modules/es6.object.assign":118,"./modules/es6.object.freeze":119,"./modules/es6.object.get-own-property-descriptor":120,"./modules/es6.object.get-own-property-names":121,"./modules/es6.object.get-prototype-of":122,"./modules/es6.object.is":126,"./modules/es6.object.is-extensible":123,"./modules/es6.object.is-frozen":124,"./modules/es6.object.is-sealed":125,"./modules/es6.object.keys":127,"./modules/es6.object.prevent-extensions":128,"./modules/es6.object.seal":129,"./modules/es6.object.set-prototype-of":130,"./modules/es6.object.to-string":131,"./modules/es6.promise":132,"./modules/es6.reflect.apply":133,"./modules/es6.reflect.construct":134,"./modules/es6.reflect.define-property":135,"./modules/es6.reflect.delete-property":136,"./modules/es6.reflect.enumerate":137,"./modules/es6.reflect.get":140,"./modules/es6.reflect.get-own-property-descriptor":138,"./modules/es6.reflect.get-prototype-of":139,"./modules/es6.reflect.has":141,"./modules/es6.reflect.is-extensible":142,"./modules/es6.reflect.own-keys":143,"./modules/es6.reflect.prevent-extensions":144,"./modules/es6.reflect.set":146,"./modules/es6.reflect.set-prototype-of":145,"./modules/es6.regexp.constructor":147,"./modules/es6.regexp.flags":148,"./modules/es6.regexp.match":149,"./modules/es6.regexp.replace":150,"./modules/es6.regexp.search":151,"./modules/es6.regexp.split":152,"./modules/es6.set":153,"./modules/es6.string.code-point-at":154,"./modules/es6.string.ends-with":155,"./modules/es6.string.from-code-point":156,"./modules/es6.string.includes":157,"./modules/es6.string.iterator":158,"./modules/es6.string.raw":159,"./modules/es6.string.repeat":160,"./modules/es6.string.starts-with":161,"./modules/es6.string.trim":162,"./modules/es6.symbol":163,"./modules/es6.weak-map":164,"./modules/es6.weak-set":165,"./modules/es7.array.includes":166,"./modules/es7.map.to-json":167,"./modules/es7.object.entries":168,"./modules/es7.object.get-own-property-descriptors":169,"./modules/es7.object.values":170,"./modules/es7.regexp.escape":171,"./modules/es7.set.to-json":172,"./modules/es7.string.at":173,"./modules/es7.string.pad-left":174,"./modules/es7.string.pad-right":175,"./modules/es7.string.trim-left":176,"./modules/es7.string.trim-right":177,"./modules/js.array.statics":178,"./modules/web.dom.iterable":179,"./modules/web.immediate":180,"./modules/web.timers":181}],183:[function(require,module,exports){
3073
3574
  (function (process,global){
3074
3575
  /**
3075
3576
  * Copyright (c) 2014, Facebook, Inc.