babel-source 5.4.7 → 5.6.0

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.
@@ -308,6 +308,7 @@
308
308
  };
309
309
 
310
310
  babelHelpers.get = function get(object, property, receiver) {
311
+ if (object === null) object = Function.prototype;
311
312
  var desc = Object.getOwnPropertyDescriptor(object, property);
312
313
 
313
314
  if (desc === undefined) {
@@ -11,7 +11,67 @@ if (global._babelPolyfill) {
11
11
  }
12
12
  global._babelPolyfill = true;
13
13
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
14
- },{"core-js/shim":87,"regenerator/runtime":88}],2:[function(require,module,exports){
14
+ },{"core-js/shim":91,"regenerator/runtime":92}],2:[function(require,module,exports){
15
+ // shim for using process in browser
16
+
17
+ var process = module.exports = {};
18
+ var queue = [];
19
+ var draining = false;
20
+
21
+ function drainQueue() {
22
+ if (draining) {
23
+ return;
24
+ }
25
+ draining = true;
26
+ var currentQueue;
27
+ var len = queue.length;
28
+ while(len) {
29
+ currentQueue = queue;
30
+ queue = [];
31
+ var i = -1;
32
+ while (++i < len) {
33
+ currentQueue[i]();
34
+ }
35
+ len = queue.length;
36
+ }
37
+ draining = false;
38
+ }
39
+ process.nextTick = function (fun) {
40
+ queue.push(fun);
41
+ if (!draining) {
42
+ setTimeout(drainQueue, 0);
43
+ }
44
+ };
45
+
46
+ process.title = 'browser';
47
+ process.browser = true;
48
+ process.env = {};
49
+ process.argv = [];
50
+ process.version = ''; // empty string to avoid regexp issues
51
+ process.versions = {};
52
+
53
+ function noop() {}
54
+
55
+ process.on = noop;
56
+ process.addListener = noop;
57
+ process.once = noop;
58
+ process.off = noop;
59
+ process.removeListener = noop;
60
+ process.removeAllListeners = noop;
61
+ process.emit = noop;
62
+
63
+ process.binding = function (name) {
64
+ throw new Error('process.binding is not supported');
65
+ };
66
+
67
+ // TODO(shtylman)
68
+ process.cwd = function () { return '/' };
69
+ process.chdir = function (dir) {
70
+ throw new Error('process.chdir is not supported');
71
+ };
72
+ process.umask = function() { return 0; };
73
+
74
+ },{}],3:[function(require,module,exports){
15
75
  // false -> Array#indexOf
16
76
  // true -> Array#includes
17
77
  var $ = require('./$');
@@ -29,7 +89,7 @@ module.exports = function(IS_INCLUDES){
29
89
  } return !IS_INCLUDES && -1;
30
90
  };
31
91
  };
32
- },{"./$":22}],3:[function(require,module,exports){
92
+ },{"./$":24}],4:[function(require,module,exports){
33
93
  // 0 -> Array#forEach
34
94
  // 1 -> Array#map
35
95
  // 2 -> Array#filter
@@ -70,7 +130,7 @@ module.exports = function(TYPE){
70
130
  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
71
131
  };
72
132
  };
73
- },{"./$":22,"./$.ctx":11}],4:[function(require,module,exports){
133
+ },{"./$":24,"./$.ctx":12}],5:[function(require,module,exports){
74
134
  var $ = require('./$');
75
135
  function assert(condition, msg1, msg2){
76
136
  if(!condition)throw TypeError(msg2 ? msg1 + msg2 : msg1);
@@ -89,7 +149,7 @@ assert.inst = function(it, Constructor, name){
89
149
  return it;
90
150
  };
91
151
  module.exports = assert;
92
- },{"./$":22}],5:[function(require,module,exports){
152
+ },{"./$":24}],6:[function(require,module,exports){
93
153
  var $ = require('./$')
94
154
  , enumKeys = require('./$.enum-keys');
95
155
  // 19.1.2.1 Object.assign(target, source, ...)
@@ -109,7 +169,7 @@ module.exports = Object.assign || function assign(target, source){
109
169
  }
110
170
  return T;
111
171
  };
112
- },{"./$":22,"./$.enum-keys":14}],6:[function(require,module,exports){
172
+ },{"./$":24,"./$.enum-keys":15}],7:[function(require,module,exports){
113
173
  var $ = require('./$')
114
174
  , TAG = require('./$.wks')('toStringTag')
115
175
  , toString = {}.toString;
@@ -125,7 +185,7 @@ cof.set = function(it, tag, stat){
125
185
  if(it && !$.has(it = stat ? it : it.prototype, TAG))$.hide(it, TAG, tag);
126
186
  };
127
187
  module.exports = cof;
128
- },{"./$":22,"./$.wks":38}],7:[function(require,module,exports){
188
+ },{"./$":24,"./$.wks":42}],8:[function(require,module,exports){
129
189
  'use strict';
130
190
  var $ = require('./$')
131
191
  , ctx = require('./$.ctx')
@@ -133,7 +193,7 @@ var $ = require('./$')
133
193
  , assert = require('./$.assert')
134
194
  , forOf = require('./$.for-of')
135
195
  , step = require('./$.iter').step
136
- , has = $.has
196
+ , $has = $.has
137
197
  , set = $.set
138
198
  , isObject = $.isObject
139
199
  , hide = $.hide
@@ -148,8 +208,8 @@ var $ = require('./$')
148
208
 
149
209
  function fastKey(it, create){
150
210
  // return primitive with prefix
151
- if(!isObject(it))return (typeof it == 'string' ? 'S' : 'P') + it;
152
- if(!has(it, ID)){
211
+ if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
212
+ if(!$has(it, ID)){
153
213
  // can't set id to frozen object
154
214
  if(!isExtensible(it))return 'F';
155
215
  // not necessary to add id
@@ -163,7 +223,7 @@ function fastKey(it, create){
163
223
  function getEntry(that, key){
164
224
  // fast case
165
225
  var index = fastKey(key), entry;
166
- if(index != 'F')return that[O1][index];
226
+ if(index !== 'F')return that[O1][index];
167
227
  // frozen object case
168
228
  for(entry = that[FIRST]; entry; entry = entry.n){
169
229
  if(entry.k == key)return entry;
@@ -171,16 +231,15 @@ function getEntry(that, key){
171
231
  }
172
232
 
173
233
  module.exports = {
174
- getConstructor: function(NAME, IS_MAP, ADDER){
175
- function C(){
176
- var that = assert.inst(this, C, NAME)
177
- , iterable = arguments[0];
234
+ getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
235
+ var C = wrapper(function(that, iterable){
236
+ assert.inst(that, C, NAME);
178
237
  set(that, O1, $.create(null));
179
238
  set(that, SIZE, 0);
180
239
  set(that, LAST, undefined);
181
240
  set(that, FIRST, undefined);
182
241
  if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
183
- }
242
+ });
184
243
  require('./$.mix')(C.prototype, {
185
244
  // 23.1.3.1 Map.prototype.clear()
186
245
  // 23.2.3.2 Set.prototype.clear()
@@ -254,7 +313,7 @@ module.exports = {
254
313
  if(prev)prev.n = entry;
255
314
  that[SIZE]++;
256
315
  // add to index
257
- if(index != 'F')that[O1][index] = entry;
316
+ if(index !== 'F')that[O1][index] = entry;
258
317
  } return that;
259
318
  },
260
319
  getEntry: getEntry,
@@ -282,7 +341,7 @@ module.exports = {
282
341
  }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
283
342
  }
284
343
  };
285
- },{"./$":22,"./$.assert":4,"./$.ctx":11,"./$.for-of":15,"./$.iter":21,"./$.iter-define":19,"./$.mix":24,"./$.uid":36}],8:[function(require,module,exports){
344
+ },{"./$":24,"./$.assert":5,"./$.ctx":12,"./$.for-of":16,"./$.iter":23,"./$.iter-define":21,"./$.mix":26,"./$.uid":40}],9:[function(require,module,exports){
286
345
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
287
346
  var $def = require('./$.def')
288
347
  , forOf = require('./$.for-of');
@@ -295,13 +354,13 @@ module.exports = function(NAME){
295
354
  }
296
355
  });
297
356
  };
298
- },{"./$.def":12,"./$.for-of":15}],9:[function(require,module,exports){
357
+ },{"./$.def":13,"./$.for-of":16}],10:[function(require,module,exports){
299
358
  'use strict';
300
359
  var $ = require('./$')
301
360
  , safe = require('./$.uid').safe
302
361
  , assert = require('./$.assert')
303
362
  , forOf = require('./$.for-of')
304
- , _has = $.has
363
+ , $has = $.has
305
364
  , isObject = $.isObject
306
365
  , hide = $.hide
307
366
  , isExtensible = Object.isExtensible || isObject
@@ -344,26 +403,25 @@ function leakStore(that){
344
403
  }
345
404
 
346
405
  module.exports = {
347
- getConstructor: function(NAME, IS_MAP, ADDER){
348
- function C(){
349
- $.set(assert.inst(this, C, NAME), ID, id++);
350
- var iterable = arguments[0];
351
- if(iterable != undefined)forOf(iterable, IS_MAP, this[ADDER], this);
352
- }
406
+ getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
407
+ var C = wrapper(function(that, iterable){
408
+ $.set(assert.inst(that, C, NAME), ID, id++);
409
+ if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
410
+ });
353
411
  require('./$.mix')(C.prototype, {
354
412
  // 23.3.3.2 WeakMap.prototype.delete(key)
355
413
  // 23.4.3.3 WeakSet.prototype.delete(value)
356
414
  'delete': function(key){
357
415
  if(!isObject(key))return false;
358
416
  if(!isExtensible(key))return leakStore(this)['delete'](key);
359
- return _has(key, WEAK) && _has(key[WEAK], this[ID]) && delete key[WEAK][this[ID]];
417
+ return $has(key, WEAK) && $has(key[WEAK], this[ID]) && delete key[WEAK][this[ID]];
360
418
  },
361
419
  // 23.3.3.4 WeakMap.prototype.has(key)
362
420
  // 23.4.3.4 WeakSet.prototype.has(value)
363
421
  has: function has(key){
364
422
  if(!isObject(key))return false;
365
423
  if(!isExtensible(key))return leakStore(this).has(key);
366
- return _has(key, WEAK) && _has(key[WEAK], this[ID]);
424
+ return $has(key, WEAK) && $has(key[WEAK], this[ID]);
367
425
  }
368
426
  });
369
427
  return C;
@@ -372,7 +430,7 @@ module.exports = {
372
430
  if(!isExtensible(assert.obj(key))){
373
431
  leakStore(that).set(key, value);
374
432
  } else {
375
- _has(key, WEAK) || hide(key, WEAK, {});
433
+ $has(key, WEAK) || hide(key, WEAK, {});
376
434
  key[WEAK][that[ID]] = value;
377
435
  } return that;
378
436
  },
@@ -380,7 +438,7 @@ module.exports = {
380
438
  WEAK: WEAK,
381
439
  ID: ID
382
440
  };
383
- },{"./$":22,"./$.array-methods":3,"./$.assert":4,"./$.for-of":15,"./$.mix":24,"./$.uid":36}],10:[function(require,module,exports){
441
+ },{"./$":24,"./$.array-methods":4,"./$.assert":5,"./$.for-of":16,"./$.mix":26,"./$.uid":40}],11:[function(require,module,exports){
384
442
  'use strict';
385
443
  var $ = require('./$')
386
444
  , $def = require('./$.def')
@@ -389,24 +447,25 @@ var $ = require('./$')
389
447
  , species = require('./$.species')
390
448
  , assertInstance = require('./$.assert').inst;
391
449
 
392
- module.exports = function(NAME, methods, common, IS_MAP, IS_WEAK){
450
+ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
393
451
  var Base = $.g[NAME]
394
452
  , C = Base
395
453
  , ADDER = IS_MAP ? 'set' : 'add'
396
454
  , proto = C && C.prototype
397
455
  , O = {};
398
- function fixMethod(KEY, CHAIN){
399
- if($.FW){
400
- var method = proto[KEY];
401
- require('./$.redef')(proto, KEY, function(a, b){
402
- var result = method.call(this, a === 0 ? 0 : a, b);
403
- return CHAIN ? this : result;
404
- });
405
- }
456
+ function fixMethod(KEY){
457
+ var fn = proto[KEY];
458
+ require('./$.redef')(proto, KEY,
459
+ KEY == 'delete' ? function(a){ return fn.call(this, a === 0 ? 0 : a); }
460
+ : KEY == 'has' ? function has(a){ return fn.call(this, a === 0 ? 0 : a); }
461
+ : KEY == 'get' ? function get(a){ return fn.call(this, a === 0 ? 0 : a); }
462
+ : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
463
+ : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
464
+ );
406
465
  }
407
466
  if(!$.isFunction(C) || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){
408
467
  // create collection constructor
409
- C = common.getConstructor(NAME, IS_MAP, ADDER);
468
+ C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
410
469
  require('./$.mix')(C.prototype, methods);
411
470
  } else {
412
471
  var inst = new C
@@ -414,15 +473,14 @@ module.exports = function(NAME, methods, common, IS_MAP, IS_WEAK){
414
473
  , buggyZero;
415
474
  // wrap for init collections from iterable
416
475
  if(!require('./$.iter-detect')(function(iter){ new C(iter); })){ // eslint-disable-line no-new
417
- C = function(){
418
- assertInstance(this, C, NAME);
419
- var that = new Base
420
- , iterable = arguments[0];
476
+ C = wrapper(function(target, iterable){
477
+ assertInstance(target, C, NAME);
478
+ var that = new Base;
421
479
  if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
422
480
  return that;
423
- };
481
+ });
424
482
  C.prototype = proto;
425
- if($.FW)proto.constructor = C;
483
+ proto.constructor = C;
426
484
  }
427
485
  IS_WEAK || inst.forEach(function(val, key){
428
486
  buggyZero = 1 / key === -Infinity;
@@ -434,7 +492,7 @@ module.exports = function(NAME, methods, common, IS_MAP, IS_WEAK){
434
492
  IS_MAP && fixMethod('get');
435
493
  }
436
494
  // + fix .add & .set for chaining
437
- if(buggyZero || chain !== inst)fixMethod(ADDER, true);
495
+ if(buggyZero || chain !== inst)fixMethod(ADDER);
438
496
  }
439
497
 
440
498
  require('./$.cof').set(C, NAME);
@@ -448,7 +506,7 @@ module.exports = function(NAME, methods, common, IS_MAP, IS_WEAK){
448
506
 
449
507
  return C;
450
508
  };
451
- },{"./$":22,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.for-of":15,"./$.iter":21,"./$.iter-detect":20,"./$.mix":24,"./$.redef":27,"./$.species":30}],11:[function(require,module,exports){
509
+ },{"./$":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){
452
510
  // Optional / simple context binding
453
511
  var assertFunction = require('./$.assert').fn;
454
512
  module.exports = function(fn, that, length){
@@ -468,7 +526,7 @@ module.exports = function(fn, that, length){
468
526
  return fn.apply(that, arguments);
469
527
  };
470
528
  };
471
- },{"./$.assert":4}],12:[function(require,module,exports){
529
+ },{"./$.assert":5}],13:[function(require,module,exports){
472
530
  var $ = require('./$')
473
531
  , global = $.g
474
532
  , core = $.core
@@ -511,7 +569,7 @@ function $def(type, name, source){
511
569
  }
512
570
  }
513
571
  module.exports = $def;
514
- },{"./$":22,"./$.redef":27}],13:[function(require,module,exports){
572
+ },{"./$":24,"./$.redef":29}],14:[function(require,module,exports){
515
573
  var $ = require('./$')
516
574
  , document = $.g.document
517
575
  , isObject = $.isObject
@@ -520,7 +578,7 @@ var $ = require('./$')
520
578
  module.exports = function(it){
521
579
  return is ? document.createElement(it) : {};
522
580
  };
523
- },{"./$":22}],14:[function(require,module,exports){
581
+ },{"./$":24}],15:[function(require,module,exports){
524
582
  var $ = require('./$');
525
583
  module.exports = function(it){
526
584
  var keys = $.getKeys(it)
@@ -531,7 +589,7 @@ module.exports = function(it){
531
589
  });
532
590
  return keys;
533
591
  };
534
- },{"./$":22}],15:[function(require,module,exports){
592
+ },{"./$":24}],16:[function(require,module,exports){
535
593
  var ctx = require('./$.ctx')
536
594
  , get = require('./$.iter').get
537
595
  , call = require('./$.iter-call');
@@ -545,13 +603,34 @@ module.exports = function(iterable, entries, fn, that){
545
603
  }
546
604
  }
547
605
  };
548
- },{"./$.ctx":11,"./$.iter":21,"./$.iter-call":18}],16:[function(require,module,exports){
606
+ },{"./$.ctx":12,"./$.iter":23,"./$.iter-call":20}],17:[function(require,module,exports){
549
607
  module.exports = function($){
550
608
  $.FW = true;
551
609
  $.path = $.g;
552
610
  return $;
553
611
  };
554
- },{}],17:[function(require,module,exports){
612
+ },{}],18:[function(require,module,exports){
613
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
614
+ var $ = require('./$')
615
+ , toString = {}.toString
616
+ , getNames = $.getNames;
617
+
618
+ var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
619
+ ? Object.getOwnPropertyNames(window) : [];
620
+
621
+ function getWindowNames(it){
622
+ try {
623
+ return getNames(it);
624
+ } catch(e){
625
+ return windowNames.slice();
626
+ }
627
+ }
628
+
629
+ module.exports.get = function getOwnPropertyNames(it){
630
+ if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
631
+ return getNames($.toObject(it));
632
+ };
633
+ },{"./$":24}],19:[function(require,module,exports){
555
634
  // Fast apply
556
635
  // http://jsperf.lnkit.com/fast-apply/5
557
636
  module.exports = function(fn, args, that){
@@ -571,7 +650,7 @@ module.exports = function(fn, args, that){
571
650
  : fn.call(that, args[0], args[1], args[2], args[3], args[4]);
572
651
  } return fn.apply(that, args);
573
652
  };
574
- },{}],18:[function(require,module,exports){
653
+ },{}],20:[function(require,module,exports){
575
654
  var assertObject = require('./$.assert').obj;
576
655
  function close(iterator){
577
656
  var ret = iterator['return'];
@@ -587,7 +666,7 @@ function call(iterator, fn, value, entries){
587
666
  }
588
667
  call.close = close;
589
668
  module.exports = call;
590
- },{"./$.assert":4}],19:[function(require,module,exports){
669
+ },{"./$.assert":5}],21:[function(require,module,exports){
591
670
  var $def = require('./$.def')
592
671
  , $redef = require('./$.redef')
593
672
  , $ = require('./$')
@@ -623,7 +702,7 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE)
623
702
  if($.FW && $.has(proto, FF_ITERATOR))$iter.set(IteratorPrototype, $.that);
624
703
  }
625
704
  // Define iterator
626
- if($.FW)$iter.set(proto, _default);
705
+ if($.FW || FORCE)$iter.set(proto, _default);
627
706
  // Plug for library
628
707
  Iterators[NAME] = _default;
629
708
  Iterators[TAG] = $.that;
@@ -638,7 +717,7 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE)
638
717
  } else $def($def.P + $def.F * $iter.BUGGY, NAME, methods);
639
718
  }
640
719
  };
641
- },{"./$":22,"./$.cof":6,"./$.def":12,"./$.iter":21,"./$.redef":27,"./$.wks":38}],20:[function(require,module,exports){
720
+ },{"./$":24,"./$.cof":7,"./$.def":13,"./$.iter":23,"./$.redef":29,"./$.wks":42}],22:[function(require,module,exports){
642
721
  var SYMBOL_ITERATOR = require('./$.wks')('iterator')
643
722
  , SAFE_CLOSING = false;
644
723
  try {
@@ -658,14 +737,16 @@ module.exports = function(exec){
658
737
  } catch(e){ /* empty */ }
659
738
  return safe;
660
739
  };
661
- },{"./$.wks":38}],21:[function(require,module,exports){
740
+ },{"./$.wks":42}],23:[function(require,module,exports){
662
741
  'use strict';
663
742
  var $ = require('./$')
664
743
  , cof = require('./$.cof')
665
- , assertObject = require('./$.assert').obj
744
+ , classof = cof.classof
745
+ , assert = require('./$.assert')
746
+ , assertObject = assert.obj
666
747
  , SYMBOL_ITERATOR = require('./$.wks')('iterator')
667
748
  , FF_ITERATOR = '@@iterator'
668
- , Iterators = {}
749
+ , Iterators = require('./$.shared')('iterators')
669
750
  , IteratorPrototype = {};
670
751
  // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
671
752
  setIterator(IteratorPrototype, $.that);
@@ -684,14 +765,20 @@ module.exports = {
684
765
  },
685
766
  is: function(it){
686
767
  var O = Object(it)
687
- , Symbol = $.g.Symbol
688
- , SYM = Symbol && Symbol.iterator || FF_ITERATOR;
689
- return SYM in O || SYMBOL_ITERATOR in O || $.has(Iterators, cof.classof(O));
768
+ , Symbol = $.g.Symbol;
769
+ return (Symbol && Symbol.iterator || FF_ITERATOR) in O
770
+ || SYMBOL_ITERATOR in O
771
+ || $.has(Iterators, classof(O));
690
772
  },
691
773
  get: function(it){
692
- var Symbol = $.g.Symbol
693
- , ext = it[Symbol && Symbol.iterator || FF_ITERATOR]
694
- , getIter = ext || it[SYMBOL_ITERATOR] || Iterators[cof.classof(it)];
774
+ var Symbol = $.g.Symbol
775
+ , getIter;
776
+ if(it != undefined){
777
+ getIter = it[Symbol && Symbol.iterator || FF_ITERATOR]
778
+ || it[SYMBOL_ITERATOR]
779
+ || Iterators[classof(it)];
780
+ }
781
+ assert($.isFunction(getIter), it, ' is not iterable!');
695
782
  return assertObject(getIter.call(it));
696
783
  },
697
784
  set: setIterator,
@@ -700,7 +787,7 @@ module.exports = {
700
787
  cof.set(Constructor, NAME + ' Iterator');
701
788
  }
702
789
  };
703
- },{"./$":22,"./$.assert":4,"./$.cof":6,"./$.wks":38}],22:[function(require,module,exports){
790
+ },{"./$":24,"./$.assert":5,"./$.cof":7,"./$.shared":33,"./$.wks":42}],24:[function(require,module,exports){
704
791
  'use strict';
705
792
  var global = typeof self != 'undefined' ? self : Function('return this')()
706
793
  , core = {}
@@ -757,9 +844,6 @@ var $ = module.exports = require('./$.fw')({
757
844
  // http://jsperf.com/core-js-isobject
758
845
  isObject: isObject,
759
846
  isFunction: isFunction,
760
- it: function(it){
761
- return it;
762
- },
763
847
  that: function(){
764
848
  return this;
765
849
  },
@@ -800,7 +884,7 @@ var $ = module.exports = require('./$.fw')({
800
884
  /* eslint-disable no-undef */
801
885
  if(typeof __e != 'undefined')__e = core;
802
886
  if(typeof __g != 'undefined')__g = global;
803
- },{"./$.fw":16}],23:[function(require,module,exports){
887
+ },{"./$.fw":17}],25:[function(require,module,exports){
804
888
  var $ = require('./$');
805
889
  module.exports = function(object, el){
806
890
  var O = $.toObject(object)
@@ -810,13 +894,13 @@ module.exports = function(object, el){
810
894
  , key;
811
895
  while(length > index)if(O[key = keys[index++]] === el)return key;
812
896
  };
813
- },{"./$":22}],24:[function(require,module,exports){
897
+ },{"./$":24}],26:[function(require,module,exports){
814
898
  var $redef = require('./$.redef');
815
899
  module.exports = function(target, src){
816
900
  for(var key in src)$redef(target, key, src[key]);
817
901
  return target;
818
902
  };
819
- },{"./$.redef":27}],25:[function(require,module,exports){
903
+ },{"./$.redef":29}],27:[function(require,module,exports){
820
904
  var $ = require('./$')
821
905
  , assertObject = require('./$.assert').obj;
822
906
  module.exports = function ownKeys(it){
@@ -825,7 +909,7 @@ module.exports = function ownKeys(it){
825
909
  , getSymbols = $.getSymbols;
826
910
  return getSymbols ? keys.concat(getSymbols(it)) : keys;
827
911
  };
828
- },{"./$":22,"./$.assert":4}],26:[function(require,module,exports){
912
+ },{"./$":24,"./$.assert":5}],28:[function(require,module,exports){
829
913
  'use strict';
830
914
  var $ = require('./$')
831
915
  , invoke = require('./$.invoke')
@@ -849,7 +933,7 @@ module.exports = function(/* ...pargs */){
849
933
  return invoke(fn, args, that);
850
934
  };
851
935
  };
852
- },{"./$":22,"./$.assert":4,"./$.invoke":17}],27:[function(require,module,exports){
936
+ },{"./$":24,"./$.assert":5,"./$.invoke":19}],29:[function(require,module,exports){
853
937
  var $ = require('./$')
854
938
  , tpl = String({}.hasOwnProperty)
855
939
  , SRC = require('./$.uid').safe('src')
@@ -859,6 +943,7 @@ function $redef(O, key, val, safe){
859
943
  if($.isFunction(val)){
860
944
  var base = O[key];
861
945
  $.hide(val, SRC, base ? String(base) : tpl.replace(/hasOwnProperty/, String(key)));
946
+ if(!('name' in val))val.name = key;
862
947
  }
863
948
  if(O === $.g){
864
949
  O[key] = val;
@@ -879,7 +964,7 @@ $.core.inspectSource = function(it){
879
964
  };
880
965
 
881
966
  module.exports = $redef;
882
- },{"./$":22,"./$.uid":36}],28:[function(require,module,exports){
967
+ },{"./$":24,"./$.uid":40}],30:[function(require,module,exports){
883
968
  'use strict';
884
969
  module.exports = function(regExp, replace, isStatic){
885
970
  var replacer = replace === Object(replace) ? function(part){
@@ -889,7 +974,11 @@ module.exports = function(regExp, replace, isStatic){
889
974
  return String(isStatic ? it : this).replace(regExp, replacer);
890
975
  };
891
976
  };
892
- },{}],29:[function(require,module,exports){
977
+ },{}],31:[function(require,module,exports){
978
+ module.exports = Object.is || function is(x, y){
979
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
980
+ };
981
+ },{}],32:[function(require,module,exports){
893
982
  // Works with __proto__ only. Old v8 can't work with null proto objects.
894
983
  /* eslint-disable no-proto */
895
984
  var $ = require('./$')
@@ -915,7 +1004,14 @@ module.exports = {
915
1004
  : undefined),
916
1005
  check: check
917
1006
  };
918
- },{"./$":22,"./$.assert":4,"./$.ctx":11}],30:[function(require,module,exports){
1007
+ },{"./$":24,"./$.assert":5,"./$.ctx":12}],33:[function(require,module,exports){
1008
+ var $ = require('./$')
1009
+ , SHARED = '__core-js_shared__'
1010
+ , store = $.g[SHARED] || ($.g[SHARED] = {});
1011
+ module.exports = function(key){
1012
+ return store[key] || (store[key] = {});
1013
+ };
1014
+ },{"./$":24}],34:[function(require,module,exports){
919
1015
  var $ = require('./$')
920
1016
  , SPECIES = require('./$.wks')('species');
921
1017
  module.exports = function(C){
@@ -924,7 +1020,7 @@ module.exports = function(C){
924
1020
  get: $.that
925
1021
  });
926
1022
  };
927
- },{"./$":22,"./$.wks":38}],31:[function(require,module,exports){
1023
+ },{"./$":24,"./$.wks":42}],35:[function(require,module,exports){
928
1024
  // true -> String#at
929
1025
  // false -> String#codePointAt
930
1026
  var $ = require('./$');
@@ -942,7 +1038,7 @@ module.exports = function(TO_STRING){
942
1038
  : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
943
1039
  };
944
1040
  };
945
- },{"./$":22}],32:[function(require,module,exports){
1041
+ },{"./$":24}],36:[function(require,module,exports){
946
1042
  // http://wiki.ecmascript.org/doku.php?id=strawman:string_padding
947
1043
  var $ = require('./$')
948
1044
  , repeat = require('./$.string-repeat');
@@ -975,7 +1071,7 @@ module.exports = function(that, minLength, fillChar, left){
975
1071
  // 11. Return a String made from S, followed by sFillVal.
976
1072
  return left ? sFillVal.concat(S) : S.concat(sFillVal);
977
1073
  };
978
- },{"./$":22,"./$.string-repeat":33}],33:[function(require,module,exports){
1074
+ },{"./$":24,"./$.string-repeat":37}],37:[function(require,module,exports){
979
1075
  'use strict';
980
1076
  var $ = require('./$');
981
1077
 
@@ -987,7 +1083,7 @@ module.exports = function repeat(count){
987
1083
  for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
988
1084
  return res;
989
1085
  };
990
- },{"./$":22}],34:[function(require,module,exports){
1086
+ },{"./$":24}],38:[function(require,module,exports){
991
1087
  'use strict';
992
1088
  var $ = require('./$')
993
1089
  , ctx = require('./$.ctx')
@@ -1000,8 +1096,6 @@ var $ = require('./$')
1000
1096
  , process = global.process
1001
1097
  , setTask = global.setImmediate
1002
1098
  , clearTask = global.clearImmediate
1003
- , postMessage = global.postMessage
1004
- , addEventListener = global.addEventListener
1005
1099
  , MessageChannel = global.MessageChannel
1006
1100
  , counter = 0
1007
1101
  , queue = {}
@@ -1039,11 +1133,11 @@ if(!isFunction(setTask) || !isFunction(clearTask)){
1039
1133
  };
1040
1134
  // Modern browsers, skip implementation for WebWorkers
1041
1135
  // IE8 has postMessage, but it's sync & typeof its postMessage is object
1042
- } else if(addEventListener && isFunction(postMessage) && !global.importScripts){
1136
+ } else if(global.addEventListener && isFunction(global.postMessage) && !global.importScripts){
1043
1137
  defer = function(id){
1044
- postMessage(id, '*');
1138
+ global.postMessage(id, '*');
1045
1139
  };
1046
- addEventListener('message', listner, false);
1140
+ global.addEventListener('message', listner, false);
1047
1141
  // WebWorkers
1048
1142
  } else if(isFunction(MessageChannel)){
1049
1143
  channel = new MessageChannel;
@@ -1069,7 +1163,7 @@ module.exports = {
1069
1163
  set: setTask,
1070
1164
  clear: clearTask
1071
1165
  };
1072
- },{"./$":22,"./$.cof":6,"./$.ctx":11,"./$.dom-create":13,"./$.invoke":17}],35:[function(require,module,exports){
1166
+ },{"./$":24,"./$.cof":7,"./$.ctx":12,"./$.dom-create":14,"./$.invoke":19}],39:[function(require,module,exports){
1073
1167
  module.exports = function(exec){
1074
1168
  try {
1075
1169
  exec();
@@ -1078,29 +1172,28 @@ module.exports = function(exec){
1078
1172
  return true;
1079
1173
  }
1080
1174
  };
1081
- },{}],36:[function(require,module,exports){
1175
+ },{}],40:[function(require,module,exports){
1082
1176
  var sid = 0;
1083
1177
  function uid(key){
1084
1178
  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++sid + Math.random()).toString(36));
1085
1179
  }
1086
1180
  uid.safe = require('./$').g.Symbol || uid;
1087
1181
  module.exports = uid;
1088
- },{"./$":22}],37:[function(require,module,exports){
1182
+ },{"./$":24}],41:[function(require,module,exports){
1089
1183
  // 22.1.3.31 Array.prototype[@@unscopables]
1090
- var $ = require('./$')
1091
- , UNSCOPABLES = require('./$.wks')('unscopables');
1092
- if($.FW && !(UNSCOPABLES in []))$.hide(Array.prototype, UNSCOPABLES, {});
1184
+ var UNSCOPABLES = require('./$.wks')('unscopables');
1185
+ if(!(UNSCOPABLES in []))require('./$').hide(Array.prototype, UNSCOPABLES, {});
1093
1186
  module.exports = function(key){
1094
- if($.FW)[][UNSCOPABLES][key] = true;
1187
+ [][UNSCOPABLES][key] = true;
1095
1188
  };
1096
- },{"./$":22,"./$.wks":38}],38:[function(require,module,exports){
1189
+ },{"./$":24,"./$.wks":42}],42:[function(require,module,exports){
1097
1190
  var global = require('./$').g
1098
- , store = {};
1191
+ , store = require('./$.shared')('wks');
1099
1192
  module.exports = function(name){
1100
1193
  return store[name] || (store[name] =
1101
1194
  global.Symbol && global.Symbol[name] || require('./$.uid').safe('Symbol.' + name));
1102
1195
  };
1103
- },{"./$":22,"./$.uid":36}],39:[function(require,module,exports){
1196
+ },{"./$":24,"./$.shared":33,"./$.uid":40}],43:[function(require,module,exports){
1104
1197
  var $ = require('./$')
1105
1198
  , cel = require('./$.dom-create')
1106
1199
  , cof = require('./$.cof')
@@ -1121,6 +1214,7 @@ var $ = require('./$')
1121
1214
  , getOwnDescriptor = $.getDesc
1122
1215
  , defineProperties = $.setDescs
1123
1216
  , isFunction = $.isFunction
1217
+ , isObject = $.isObject
1124
1218
  , toObject = $.toObject
1125
1219
  , toLength = $.toLength
1126
1220
  , toIndex = $.toIndex
@@ -1212,7 +1306,6 @@ function createGetKeys(names, length){
1212
1306
  return result;
1213
1307
  };
1214
1308
  }
1215
- function isPrimitive(it){ return !$.isObject(it); }
1216
1309
  function Empty(){}
1217
1310
  $def($def.S, 'Object', {
1218
1311
  // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
@@ -1240,17 +1333,29 @@ $def($def.S, 'Object', {
1240
1333
  // 19.1.2.14 / 15.2.3.14 Object.keys(O)
1241
1334
  keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false),
1242
1335
  // 19.1.2.17 / 15.2.3.8 Object.seal(O)
1243
- seal: $.it, // <- cap
1336
+ seal: function seal(it){
1337
+ return it; // <- cap
1338
+ },
1244
1339
  // 19.1.2.5 / 15.2.3.9 Object.freeze(O)
1245
- freeze: $.it, // <- cap
1340
+ freeze: function freeze(it){
1341
+ return it; // <- cap
1342
+ },
1246
1343
  // 19.1.2.15 / 15.2.3.10 Object.preventExtensions(O)
1247
- preventExtensions: $.it, // <- cap
1344
+ preventExtensions: function preventExtensions(it){
1345
+ return it; // <- cap
1346
+ },
1248
1347
  // 19.1.2.13 / 15.2.3.11 Object.isSealed(O)
1249
- isSealed: isPrimitive, // <- cap
1348
+ isSealed: function isSealed(it){
1349
+ return !isObject(it); // <- cap
1350
+ },
1250
1351
  // 19.1.2.12 / 15.2.3.12 Object.isFrozen(O)
1251
- isFrozen: isPrimitive, // <- cap
1352
+ isFrozen: function isFrozen(it){
1353
+ return !isObject(it); // <- cap
1354
+ },
1252
1355
  // 19.1.2.11 / 15.2.3.13 Object.isExtensible(O)
1253
- isExtensible: $.isObject // <- cap
1356
+ isExtensible: function isExtensible(it){
1357
+ return isObject(it); // <- cap
1358
+ }
1254
1359
  });
1255
1360
 
1256
1361
  // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
@@ -1259,8 +1364,11 @@ $def($def.P, 'Function', {
1259
1364
  var fn = assert.fn(this)
1260
1365
  , partArgs = _slice.call(arguments, 1);
1261
1366
  function bound(/* args... */){
1262
- var args = partArgs.concat(_slice.call(arguments));
1263
- return invoke(fn, args, this instanceof bound ? $.create(fn.prototype) : that);
1367
+ var args = partArgs.concat(_slice.call(arguments))
1368
+ , constr = this instanceof bound
1369
+ , ctx = constr ? $.create(fn.prototype) : that
1370
+ , result = invoke(fn, args, ctx);
1371
+ return constr ? ctx : result;
1264
1372
  }
1265
1373
  if(fn.prototype)bound.prototype = fn.prototype;
1266
1374
  return bound;
@@ -1406,7 +1514,7 @@ if(classof(function(){ return arguments; }()) == 'Object')cof.classof = function
1406
1514
  var tag = classof(it);
1407
1515
  return tag == 'Object' && isFunction(it.callee) ? 'Arguments' : tag;
1408
1516
  };
1409
- },{"./$":22,"./$.array-includes":2,"./$.array-methods":3,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.dom-create":13,"./$.invoke":17,"./$.replacer":28,"./$.throws":35,"./$.uid":36}],40:[function(require,module,exports){
1517
+ },{"./$":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){
1410
1518
  'use strict';
1411
1519
  var $ = require('./$')
1412
1520
  , $def = require('./$.def')
@@ -1436,7 +1544,7 @@ $def($def.P, 'Array', {
1436
1544
  }
1437
1545
  });
1438
1546
  require('./$.unscope')('copyWithin');
1439
- },{"./$":22,"./$.def":12,"./$.unscope":37}],41:[function(require,module,exports){
1547
+ },{"./$":24,"./$.def":13,"./$.unscope":41}],45:[function(require,module,exports){
1440
1548
  'use strict';
1441
1549
  var $ = require('./$')
1442
1550
  , $def = require('./$.def')
@@ -1454,7 +1562,7 @@ $def($def.P, 'Array', {
1454
1562
  }
1455
1563
  });
1456
1564
  require('./$.unscope')('fill');
1457
- },{"./$":22,"./$.def":12,"./$.unscope":37}],42:[function(require,module,exports){
1565
+ },{"./$":24,"./$.def":13,"./$.unscope":41}],46:[function(require,module,exports){
1458
1566
  'use strict';
1459
1567
  // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
1460
1568
  var KEY = 'findIndex'
@@ -1469,7 +1577,7 @@ $def($def.P + $def.F * forced, 'Array', {
1469
1577
  }
1470
1578
  });
1471
1579
  require('./$.unscope')(KEY);
1472
- },{"./$.array-methods":3,"./$.def":12,"./$.unscope":37}],43:[function(require,module,exports){
1580
+ },{"./$.array-methods":4,"./$.def":13,"./$.unscope":41}],47:[function(require,module,exports){
1473
1581
  'use strict';
1474
1582
  // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
1475
1583
  var KEY = 'find'
@@ -1484,7 +1592,7 @@ $def($def.P + $def.F * forced, 'Array', {
1484
1592
  }
1485
1593
  });
1486
1594
  require('./$.unscope')(KEY);
1487
- },{"./$.array-methods":3,"./$.def":12,"./$.unscope":37}],44:[function(require,module,exports){
1595
+ },{"./$.array-methods":4,"./$.def":13,"./$.unscope":41}],48:[function(require,module,exports){
1488
1596
  var $ = require('./$')
1489
1597
  , ctx = require('./$.ctx')
1490
1598
  , $def = require('./$.def')
@@ -1517,7 +1625,7 @@ $def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(it
1517
1625
  return result;
1518
1626
  }
1519
1627
  });
1520
- },{"./$":22,"./$.ctx":11,"./$.def":12,"./$.iter":21,"./$.iter-call":18,"./$.iter-detect":20}],45:[function(require,module,exports){
1628
+ },{"./$":24,"./$.ctx":12,"./$.def":13,"./$.iter":23,"./$.iter-call":20,"./$.iter-detect":22}],49:[function(require,module,exports){
1521
1629
  var $ = require('./$')
1522
1630
  , setUnscope = require('./$.unscope')
1523
1631
  , ITER = require('./$.uid').safe('iter')
@@ -1552,7 +1660,7 @@ Iterators.Arguments = Iterators.Array;
1552
1660
  setUnscope('keys');
1553
1661
  setUnscope('values');
1554
1662
  setUnscope('entries');
1555
- },{"./$":22,"./$.iter":21,"./$.iter-define":19,"./$.uid":36,"./$.unscope":37}],46:[function(require,module,exports){
1663
+ },{"./$":24,"./$.iter":23,"./$.iter-define":21,"./$.uid":40,"./$.unscope":41}],50:[function(require,module,exports){
1556
1664
  var $def = require('./$.def');
1557
1665
  $def($def.S, 'Array', {
1558
1666
  // 22.1.2.3 Array.of( ...items)
@@ -1566,9 +1674,9 @@ $def($def.S, 'Array', {
1566
1674
  return result;
1567
1675
  }
1568
1676
  });
1569
- },{"./$.def":12}],47:[function(require,module,exports){
1677
+ },{"./$.def":13}],51:[function(require,module,exports){
1570
1678
  require('./$.species')(Array);
1571
- },{"./$.species":30}],48:[function(require,module,exports){
1679
+ },{"./$.species":34}],52:[function(require,module,exports){
1572
1680
  var $ = require('./$')
1573
1681
  , HAS_INSTANCE = require('./$.wks')('hasInstance')
1574
1682
  , FunctionProto = Function.prototype;
@@ -1580,7 +1688,7 @@ if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {valu
1580
1688
  while(O = $.getProto(O))if(this.prototype === O)return true;
1581
1689
  return false;
1582
1690
  }});
1583
- },{"./$":22,"./$.wks":38}],49:[function(require,module,exports){
1691
+ },{"./$":24,"./$.wks":42}],53:[function(require,module,exports){
1584
1692
  'use strict';
1585
1693
  var $ = require('./$')
1586
1694
  , NAME = 'name'
@@ -1599,12 +1707,14 @@ NAME in FunctionProto || $.FW && $.DESC && setDesc(FunctionProto, NAME, {
1599
1707
  $.has(this, NAME) || setDesc(this, NAME, $.desc(0, value));
1600
1708
  }
1601
1709
  });
1602
- },{"./$":22}],50:[function(require,module,exports){
1710
+ },{"./$":24}],54:[function(require,module,exports){
1603
1711
  'use strict';
1604
1712
  var strong = require('./$.collection-strong');
1605
1713
 
1606
1714
  // 23.1 Map Objects
1607
- require('./$.collection')('Map', {
1715
+ require('./$.collection')('Map', function(get){
1716
+ return function Map(){ return get(this, arguments[0]); };
1717
+ }, {
1608
1718
  // 23.1.3.6 Map.prototype.get(key)
1609
1719
  get: function get(key){
1610
1720
  var entry = strong.getEntry(this, key);
@@ -1615,7 +1725,7 @@ require('./$.collection')('Map', {
1615
1725
  return strong.def(this, key === 0 ? 0 : key, value);
1616
1726
  }
1617
1727
  }, strong, true);
1618
- },{"./$.collection":10,"./$.collection-strong":7}],51:[function(require,module,exports){
1728
+ },{"./$.collection":11,"./$.collection-strong":8}],55:[function(require,module,exports){
1619
1729
  var Infinity = 1 / 0
1620
1730
  , $def = require('./$.def')
1621
1731
  , E = Math.E
@@ -1688,17 +1798,20 @@ $def($def.S, 'Math', {
1688
1798
  var sum = 0
1689
1799
  , i = 0
1690
1800
  , len = arguments.length
1691
- , args = Array(len)
1692
1801
  , larg = 0
1693
- , arg;
1802
+ , arg, div;
1694
1803
  while(i < len){
1695
- arg = args[i] = abs(arguments[i++]);
1696
- if(arg == Infinity)return Infinity;
1697
- if(arg > larg)larg = arg;
1804
+ arg = abs(arguments[i++]);
1805
+ if(larg < arg){
1806
+ div = larg / arg;
1807
+ sum = sum * div * div + 1;
1808
+ larg = arg;
1809
+ } else if(arg > 0){
1810
+ div = arg / larg;
1811
+ sum += div * div;
1812
+ } else sum += arg;
1698
1813
  }
1699
- larg = larg || 1;
1700
- while(len--)sum += pow(args[len] / larg, 2);
1701
- return larg * sqrt(sum);
1814
+ return larg === Infinity ? Infinity : larg * sqrt(sum);
1702
1815
  },
1703
1816
  // 20.2.2.18 Math.imul(x, y)
1704
1817
  imul: function imul(x, y){
@@ -1738,7 +1851,7 @@ $def($def.S, 'Math', {
1738
1851
  return (it > 0 ? floor : ceil)(it);
1739
1852
  }
1740
1853
  });
1741
- },{"./$.def":12}],52:[function(require,module,exports){
1854
+ },{"./$.def":13}],56:[function(require,module,exports){
1742
1855
  'use strict';
1743
1856
  var $ = require('./$')
1744
1857
  , isObject = $.isObject
@@ -1783,7 +1896,7 @@ if($.FW && !($Number('0o1') && $Number('0b1'))){
1783
1896
  proto.constructor = $Number;
1784
1897
  require('./$.redef')($.g, NUMBER, $Number);
1785
1898
  }
1786
- },{"./$":22,"./$.redef":27}],53:[function(require,module,exports){
1899
+ },{"./$":24,"./$.redef":29}],57:[function(require,module,exports){
1787
1900
  var $ = require('./$')
1788
1901
  , $def = require('./$.def')
1789
1902
  , abs = Math.abs
@@ -1819,23 +1932,21 @@ $def($def.S, 'Number', {
1819
1932
  // 20.1.2.13 Number.parseInt(string, radix)
1820
1933
  parseInt: parseInt
1821
1934
  });
1822
- },{"./$":22,"./$.def":12}],54:[function(require,module,exports){
1935
+ },{"./$":24,"./$.def":13}],58:[function(require,module,exports){
1823
1936
  // 19.1.3.1 Object.assign(target, source)
1824
1937
  var $def = require('./$.def');
1825
1938
  $def($def.S, 'Object', {assign: require('./$.assign')});
1826
- },{"./$.assign":5,"./$.def":12}],55:[function(require,module,exports){
1939
+ },{"./$.assign":6,"./$.def":13}],59:[function(require,module,exports){
1827
1940
  // 19.1.3.10 Object.is(value1, value2)
1828
1941
  var $def = require('./$.def');
1829
1942
  $def($def.S, 'Object', {
1830
- is: function is(x, y){
1831
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
1832
- }
1943
+ is: require('./$.same')
1833
1944
  });
1834
- },{"./$.def":12}],56:[function(require,module,exports){
1945
+ },{"./$.def":13,"./$.same":31}],60:[function(require,module,exports){
1835
1946
  // 19.1.3.19 Object.setPrototypeOf(O, proto)
1836
1947
  var $def = require('./$.def');
1837
1948
  $def($def.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});
1838
- },{"./$.def":12,"./$.set-proto":29}],57:[function(require,module,exports){
1949
+ },{"./$.def":13,"./$.set-proto":32}],61:[function(require,module,exports){
1839
1950
  var $ = require('./$')
1840
1951
  , $def = require('./$.def')
1841
1952
  , isObject = $.isObject
@@ -1864,9 +1975,7 @@ $.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' +
1864
1975
  return fn(Object($.assertDefined(it)));
1865
1976
  } : ID == 8 ? function keys(it){
1866
1977
  return fn(toObject(it));
1867
- } : function getOwnPropertyNames(it){
1868
- return fn(toObject(it));
1869
- };
1978
+ } : require('./$.get-names').get;
1870
1979
  try {
1871
1980
  fn('z');
1872
1981
  } catch(e){
@@ -1874,7 +1983,7 @@ $.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' +
1874
1983
  }
1875
1984
  $def($def.S + $def.F * forced, 'Object', method);
1876
1985
  });
1877
- },{"./$":22,"./$.def":12}],58:[function(require,module,exports){
1986
+ },{"./$":24,"./$.def":13,"./$.get-names":18}],62:[function(require,module,exports){
1878
1987
  'use strict';
1879
1988
  // 19.1.3.6 Object.prototype.toString()
1880
1989
  var cof = require('./$.cof')
@@ -1885,7 +1994,7 @@ if(require('./$').FW && cof(tmp) != 'z'){
1885
1994
  return '[object ' + cof.classof(this) + ']';
1886
1995
  }, true);
1887
1996
  }
1888
- },{"./$":22,"./$.cof":6,"./$.redef":27,"./$.wks":38}],59:[function(require,module,exports){
1997
+ },{"./$":24,"./$.cof":7,"./$.redef":29,"./$.wks":42}],63:[function(require,module,exports){
1889
1998
  'use strict';
1890
1999
  var $ = require('./$')
1891
2000
  , ctx = require('./$.ctx')
@@ -1894,39 +2003,64 @@ var $ = require('./$')
1894
2003
  , assert = require('./$.assert')
1895
2004
  , forOf = require('./$.for-of')
1896
2005
  , setProto = require('./$.set-proto').set
2006
+ , same = require('./$.same')
1897
2007
  , species = require('./$.species')
1898
2008
  , SPECIES = require('./$.wks')('species')
1899
2009
  , RECORD = require('./$.uid').safe('record')
1900
2010
  , PROMISE = 'Promise'
1901
2011
  , global = $.g
1902
2012
  , process = global.process
2013
+ , isNode = cof(process) == 'process'
1903
2014
  , asap = process && process.nextTick || require('./$.task').set
1904
2015
  , P = global[PROMISE]
1905
2016
  , isFunction = $.isFunction
1906
2017
  , isObject = $.isObject
1907
2018
  , assertFunction = assert.fn
1908
- , assertObject = assert.obj;
2019
+ , assertObject = assert.obj
2020
+ , Wrapper;
2021
+
2022
+ function testResolve(sub){
2023
+ var test = new P(function(){});
2024
+ if(sub)test.constructor = Object;
2025
+ return P.resolve(test) === test;
2026
+ }
1909
2027
 
1910
2028
  var useNative = function(){
1911
- var test, works = false;
2029
+ var works = false;
1912
2030
  function P2(x){
1913
2031
  var self = new P(x);
1914
2032
  setProto(self, P2.prototype);
1915
2033
  return self;
1916
2034
  }
1917
2035
  try {
1918
- works = isFunction(P) && isFunction(P.resolve) && P.resolve(test = new P(function(){})) == test;
2036
+ works = isFunction(P) && isFunction(P.resolve) && testResolve();
1919
2037
  setProto(P2, P);
1920
2038
  P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
1921
2039
  // actual Firefox has broken subclass support, test that
1922
2040
  if(!(P2.resolve(5).then(function(){}) instanceof P2)){
1923
2041
  works = false;
1924
2042
  }
2043
+ // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162
2044
+ if(works && $.DESC){
2045
+ var thenableThenGotten = false;
2046
+ P.resolve($.setDesc({}, 'then', {
2047
+ get: function(){ thenableThenGotten = true; }
2048
+ }));
2049
+ works = thenableThenGotten;
2050
+ }
1925
2051
  } catch(e){ works = false; }
1926
2052
  return works;
1927
2053
  }();
1928
2054
 
1929
2055
  // helpers
2056
+ function isPromise(it){
2057
+ return isObject(it) && (useNative ? cof.classof(it) == 'Promise' : RECORD in it);
2058
+ }
2059
+ function sameConstructor(a, b){
2060
+ // library wrapper special case
2061
+ if(!$.FW && a === P && b === Wrapper)return true;
2062
+ return same(a, b);
2063
+ }
1930
2064
  function getConstructor(C){
1931
2065
  var S = assertObject(C)[SPECIES];
1932
2066
  return S != undefined ? S : C;
@@ -1938,7 +2072,8 @@ function isThenable(it){
1938
2072
  }
1939
2073
  function notify(record){
1940
2074
  var chain = record.c;
1941
- if(chain.length)asap(function(){
2075
+ // strange IE + webpack dev server bug - use .call(global)
2076
+ if(chain.length)asap.call(global, function(){
1942
2077
  var value = record.v
1943
2078
  , ok = record.s == 1
1944
2079
  , i = 0;
@@ -1984,11 +2119,12 @@ function $reject(value){
1984
2119
  record.s = 2;
1985
2120
  record.a = record.c.slice();
1986
2121
  setTimeout(function(){
1987
- asap(function(){
2122
+ // strange IE + webpack dev server bug - use .call(global)
2123
+ asap.call(global, function(){
1988
2124
  if(isUnhandled(promise = record.p)){
1989
- if(cof(process) == 'process'){
2125
+ if(isNode){
1990
2126
  process.emit('unhandledRejection', value, promise);
1991
- } else if(global.console && isFunction(console.error)){
2127
+ } else if(global.console && console.error){
1992
2128
  console.error('Unhandled promise rejection', value);
1993
2129
  }
1994
2130
  }
@@ -1999,21 +2135,28 @@ function $reject(value){
1999
2135
  }
2000
2136
  function $resolve(value){
2001
2137
  var record = this
2002
- , then, wrapper;
2138
+ , then;
2003
2139
  if(record.d)return;
2004
2140
  record.d = true;
2005
2141
  record = record.r || record; // unwrap
2006
2142
  try {
2007
2143
  if(then = isThenable(value)){
2008
- wrapper = {r: record, d: false}; // wrap
2009
- then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
2144
+ // strange IE + webpack dev server bug - use .call(global)
2145
+ asap.call(global, function(){
2146
+ var wrapper = {r: record, d: false}; // wrap
2147
+ try {
2148
+ then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
2149
+ } catch(e){
2150
+ $reject.call(wrapper, e);
2151
+ }
2152
+ });
2010
2153
  } else {
2011
2154
  record.v = value;
2012
2155
  record.s = 1;
2013
2156
  notify(record);
2014
2157
  }
2015
- } catch(err){
2016
- $reject.call(wrapper || {r: record, d: false}, err); // wrap
2158
+ } catch(e){
2159
+ $reject.call({r: record, d: false}, e); // wrap
2017
2160
  }
2018
2161
  }
2019
2162
 
@@ -2053,7 +2196,7 @@ if(!useNative){
2053
2196
  var record = this[RECORD];
2054
2197
  record.c.push(react);
2055
2198
  if(record.a)record.a.push(react);
2056
- record.s && notify(record);
2199
+ if(record.s)notify(record);
2057
2200
  return promise;
2058
2201
  },
2059
2202
  // 25.4.5.1 Promise.prototype.catch(onRejected)
@@ -2067,22 +2210,20 @@ if(!useNative){
2067
2210
  $def($def.G + $def.W + $def.F * !useNative, {Promise: P});
2068
2211
  cof.set(P, PROMISE);
2069
2212
  species(P);
2070
- species($.core[PROMISE]); // for wrapper
2213
+ species(Wrapper = $.core[PROMISE]);
2071
2214
 
2072
2215
  // statics
2073
2216
  $def($def.S + $def.F * !useNative, PROMISE, {
2074
2217
  // 25.4.4.5 Promise.reject(r)
2075
2218
  reject: function reject(r){
2076
- return new (getConstructor(this))(function(res, rej){
2077
- rej(r);
2078
- });
2079
- },
2219
+ return new (getConstructor(this))(function(res, rej){ rej(r); });
2220
+ }
2221
+ });
2222
+ $def($def.S + $def.F * (!useNative || testResolve(true)), PROMISE, {
2080
2223
  // 25.4.4.6 Promise.resolve(x)
2081
2224
  resolve: function resolve(x){
2082
- return isObject(x) && RECORD in x && $.getProto(x) === this.prototype
2083
- ? x : new (getConstructor(this))(function(res){
2084
- res(x);
2085
- });
2225
+ return isPromise(x) && sameConstructor(x.constructor, this)
2226
+ ? x : new this(function(res){ res(x); });
2086
2227
  }
2087
2228
  });
2088
2229
  $def($def.S + $def.F * !(useNative && require('./$.iter-detect')(function(iter){
@@ -2115,7 +2256,7 @@ $def($def.S + $def.F * !(useNative && require('./$.iter-detect')(function(iter){
2115
2256
  });
2116
2257
  }
2117
2258
  });
2118
- },{"./$":22,"./$.assert":4,"./$.cof":6,"./$.ctx":11,"./$.def":12,"./$.for-of":15,"./$.iter-detect":20,"./$.mix":24,"./$.set-proto":29,"./$.species":30,"./$.task":34,"./$.uid":36,"./$.wks":38}],60:[function(require,module,exports){
2259
+ },{"./$":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){
2119
2260
  var $ = require('./$')
2120
2261
  , $def = require('./$.def')
2121
2262
  , setProto = require('./$.set-proto')
@@ -2129,8 +2270,8 @@ var $ = require('./$')
2129
2270
  , $Reflect = $.g.Reflect
2130
2271
  , _apply = Function.apply
2131
2272
  , assertObject = assert.obj
2132
- , _isExtensible = Object.isExtensible || $.isObject
2133
- , _preventExtensions = Object.preventExtensions || $.it
2273
+ , _isExtensible = Object.isExtensible || isObject
2274
+ , _preventExtensions = Object.preventExtensions
2134
2275
  // IE TP has broken Reflect.enumerate
2135
2276
  , buggyEnumerate = !($Reflect && $Reflect.enumerate && ITERATOR in $Reflect.enumerate({}));
2136
2277
 
@@ -2213,7 +2354,7 @@ var reflect = {
2213
2354
  preventExtensions: function preventExtensions(target){
2214
2355
  assertObject(target);
2215
2356
  try {
2216
- _preventExtensions(target);
2357
+ if(_preventExtensions)_preventExtensions(target);
2217
2358
  return true;
2218
2359
  } catch(e){
2219
2360
  return false;
@@ -2261,7 +2402,7 @@ $def($def.S + $def.F * buggyEnumerate, 'Reflect', {
2261
2402
  });
2262
2403
 
2263
2404
  $def($def.S, 'Reflect', reflect);
2264
- },{"./$":22,"./$.assert":4,"./$.def":12,"./$.iter":21,"./$.own-keys":25,"./$.set-proto":29,"./$.uid":36,"./$.wks":38}],61:[function(require,module,exports){
2405
+ },{"./$":24,"./$.assert":5,"./$.def":13,"./$.iter":23,"./$.own-keys":27,"./$.set-proto":32,"./$.uid":40,"./$.wks":42}],65:[function(require,module,exports){
2265
2406
  var $ = require('./$')
2266
2407
  , cof = require('./$.cof')
2267
2408
  , $RegExp = $.g.RegExp
@@ -2305,18 +2446,20 @@ if($.FW && $.DESC){
2305
2446
  });
2306
2447
  }
2307
2448
  require('./$.species')($RegExp);
2308
- },{"./$":22,"./$.cof":6,"./$.redef":27,"./$.replacer":28,"./$.species":30}],62:[function(require,module,exports){
2449
+ },{"./$":24,"./$.cof":7,"./$.redef":29,"./$.replacer":30,"./$.species":34}],66:[function(require,module,exports){
2309
2450
  'use strict';
2310
2451
  var strong = require('./$.collection-strong');
2311
2452
 
2312
2453
  // 23.2 Set Objects
2313
- require('./$.collection')('Set', {
2454
+ require('./$.collection')('Set', function(get){
2455
+ return function Set(){ return get(this, arguments[0]); };
2456
+ }, {
2314
2457
  // 23.2.3.1 Set.prototype.add(value)
2315
2458
  add: function add(value){
2316
2459
  return strong.def(this, value = value === 0 ? 0 : value, value);
2317
2460
  }
2318
2461
  }, strong);
2319
- },{"./$.collection":10,"./$.collection-strong":7}],63:[function(require,module,exports){
2462
+ },{"./$.collection":11,"./$.collection-strong":8}],67:[function(require,module,exports){
2320
2463
  'use strict';
2321
2464
  var $def = require('./$.def')
2322
2465
  , $at = require('./$.string-at')(false);
@@ -2326,7 +2469,7 @@ $def($def.P, 'String', {
2326
2469
  return $at(this, pos);
2327
2470
  }
2328
2471
  });
2329
- },{"./$.def":12,"./$.string-at":31}],64:[function(require,module,exports){
2472
+ },{"./$.def":13,"./$.string-at":35}],68:[function(require,module,exports){
2330
2473
  'use strict';
2331
2474
  var $ = require('./$')
2332
2475
  , cof = require('./$.cof')
@@ -2346,7 +2489,7 @@ $def($def.P + $def.F * !require('./$.throws')(function(){ 'q'.endsWith(/./); }),
2346
2489
  return that.slice(end - searchString.length, end) === searchString;
2347
2490
  }
2348
2491
  });
2349
- },{"./$":22,"./$.cof":6,"./$.def":12,"./$.throws":35}],65:[function(require,module,exports){
2492
+ },{"./$":24,"./$.cof":7,"./$.def":13,"./$.throws":39}],69:[function(require,module,exports){
2350
2493
  var $def = require('./$.def')
2351
2494
  , toIndex = require('./$').toIndex
2352
2495
  , fromCharCode = String.fromCharCode
@@ -2370,7 +2513,7 @@ $def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String
2370
2513
  } return res.join('');
2371
2514
  }
2372
2515
  });
2373
- },{"./$":22,"./$.def":12}],66:[function(require,module,exports){
2516
+ },{"./$":24,"./$.def":13}],70:[function(require,module,exports){
2374
2517
  'use strict';
2375
2518
  var $ = require('./$')
2376
2519
  , cof = require('./$.cof')
@@ -2383,7 +2526,7 @@ $def($def.P, 'String', {
2383
2526
  return !!~String($.assertDefined(this)).indexOf(searchString, arguments[1]);
2384
2527
  }
2385
2528
  });
2386
- },{"./$":22,"./$.cof":6,"./$.def":12}],67:[function(require,module,exports){
2529
+ },{"./$":24,"./$.cof":7,"./$.def":13}],71:[function(require,module,exports){
2387
2530
  var set = require('./$').set
2388
2531
  , $at = require('./$.string-at')(true)
2389
2532
  , ITER = require('./$.uid').safe('iter')
@@ -2404,7 +2547,7 @@ require('./$.iter-define')(String, 'String', function(iterated){
2404
2547
  iter.i += point.length;
2405
2548
  return step(0, point);
2406
2549
  });
2407
- },{"./$":22,"./$.iter":21,"./$.iter-define":19,"./$.string-at":31,"./$.uid":36}],68:[function(require,module,exports){
2550
+ },{"./$":24,"./$.iter":23,"./$.iter-define":21,"./$.string-at":35,"./$.uid":40}],72:[function(require,module,exports){
2408
2551
  var $ = require('./$')
2409
2552
  , $def = require('./$.def');
2410
2553
 
@@ -2422,14 +2565,14 @@ $def($def.S, 'String', {
2422
2565
  } return res.join('');
2423
2566
  }
2424
2567
  });
2425
- },{"./$":22,"./$.def":12}],69:[function(require,module,exports){
2568
+ },{"./$":24,"./$.def":13}],73:[function(require,module,exports){
2426
2569
  var $def = require('./$.def');
2427
2570
 
2428
2571
  $def($def.P, 'String', {
2429
2572
  // 21.1.3.13 String.prototype.repeat(count)
2430
2573
  repeat: require('./$.string-repeat')
2431
2574
  });
2432
- },{"./$.def":12,"./$.string-repeat":33}],70:[function(require,module,exports){
2575
+ },{"./$.def":13,"./$.string-repeat":37}],74:[function(require,module,exports){
2433
2576
  'use strict';
2434
2577
  var $ = require('./$')
2435
2578
  , cof = require('./$.cof')
@@ -2446,40 +2589,61 @@ $def($def.P + $def.F * !require('./$.throws')(function(){ 'q'.startsWith(/./); }
2446
2589
  return that.slice(index, index + searchString.length) === searchString;
2447
2590
  }
2448
2591
  });
2449
- },{"./$":22,"./$.cof":6,"./$.def":12,"./$.throws":35}],71:[function(require,module,exports){
2592
+ },{"./$":24,"./$.cof":7,"./$.def":13,"./$.throws":39}],75:[function(require,module,exports){
2450
2593
  'use strict';
2451
2594
  // ECMAScript 6 symbols shim
2452
2595
  var $ = require('./$')
2453
2596
  , setTag = require('./$.cof').set
2454
2597
  , uid = require('./$.uid')
2598
+ , shared = require('./$.shared')
2455
2599
  , $def = require('./$.def')
2456
2600
  , $redef = require('./$.redef')
2457
2601
  , keyOf = require('./$.keyof')
2458
2602
  , enumKeys = require('./$.enum-keys')
2459
2603
  , assertObject = require('./$.assert').obj
2604
+ , ObjectProto = Object.prototype
2605
+ , DESC = $.DESC
2460
2606
  , has = $.has
2461
2607
  , $create = $.create
2462
2608
  , getDesc = $.getDesc
2463
2609
  , setDesc = $.setDesc
2464
2610
  , desc = $.desc
2465
- , getNames = $.getNames
2611
+ , $names = require('./$.get-names')
2612
+ , getNames = $names.get
2466
2613
  , toObject = $.toObject
2467
2614
  , $Symbol = $.g.Symbol
2468
2615
  , setter = false
2469
2616
  , TAG = uid('tag')
2470
2617
  , HIDDEN = uid('hidden')
2471
2618
  , _propertyIsEnumerable = {}.propertyIsEnumerable
2472
- , SymbolRegistry = {}
2473
- , AllSymbols = {}
2619
+ , SymbolRegistry = shared('symbol-registry')
2620
+ , AllSymbols = shared('symbols')
2474
2621
  , useNative = $.isFunction($Symbol);
2475
2622
 
2623
+ var setSymbolDesc = DESC ? function(){ // fallback for old Android
2624
+ try {
2625
+ return $create(setDesc({}, HIDDEN, {
2626
+ get: function(){
2627
+ return setDesc(this, HIDDEN, {value: false})[HIDDEN];
2628
+ }
2629
+ }))[HIDDEN] || setDesc;
2630
+ } catch(e){
2631
+ return function(it, key, D){
2632
+ var protoDesc = getDesc(ObjectProto, key);
2633
+ if(protoDesc)delete ObjectProto[key];
2634
+ setDesc(it, key, D);
2635
+ if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
2636
+ };
2637
+ }
2638
+ }() : setDesc;
2639
+
2476
2640
  function wrap(tag){
2477
2641
  var sym = AllSymbols[tag] = $.set($create($Symbol.prototype), TAG, tag);
2478
- $.DESC && setter && setDesc(Object.prototype, tag, {
2642
+ DESC && setter && setSymbolDesc(ObjectProto, tag, {
2479
2643
  configurable: true,
2480
2644
  set: function(value){
2481
2645
  if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
2482
- setDesc(this, tag, desc(1, value));
2646
+ setSymbolDesc(this, tag, desc(1, value));
2483
2647
  }
2484
2648
  });
2485
2649
  return sym;
@@ -2493,7 +2657,7 @@ function defineProperty(it, key, D){
2493
2657
  } else {
2494
2658
  if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
2495
2659
  D = $create(D, {enumerable: desc(0, false)});
2496
- }
2660
+ } return setSymbolDesc(it, key, D);
2497
2661
  } return setDesc(it, key, D);
2498
2662
  }
2499
2663
  function defineProperties(it, P){
@@ -2549,10 +2713,10 @@ if(!useNative){
2549
2713
  $.setDesc = defineProperty;
2550
2714
  $.getDesc = getOwnPropertyDescriptor;
2551
2715
  $.setDescs = defineProperties;
2552
- $.getNames = getOwnPropertyNames;
2716
+ $.getNames = $names.get = getOwnPropertyNames;
2553
2717
  $.getSymbols = getOwnPropertySymbols;
2554
2718
 
2555
- if($.DESC && $.FW)$redef(Object.prototype, 'propertyIsEnumerable', propertyIsEnumerable, true);
2719
+ if($.DESC && $.FW)$redef(ObjectProto, 'propertyIsEnumerable', propertyIsEnumerable, true);
2556
2720
  }
2557
2721
 
2558
2722
  var symbolStatics = {
@@ -2616,7 +2780,7 @@ setTag($Symbol, 'Symbol');
2616
2780
  setTag(Math, 'Math', true);
2617
2781
  // 24.3.3 JSON[@@toStringTag]
2618
2782
  setTag($.g.JSON, 'JSON', true);
2619
- },{"./$":22,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.enum-keys":14,"./$.keyof":23,"./$.redef":27,"./$.uid":36,"./$.wks":38}],72:[function(require,module,exports){
2783
+ },{"./$":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){
2620
2784
  'use strict';
2621
2785
  var $ = require('./$')
2622
2786
  , weak = require('./$.collection-weak')
@@ -2629,7 +2793,9 @@ var $ = require('./$')
2629
2793
  , tmp = {};
2630
2794
 
2631
2795
  // 23.3 WeakMap Objects
2632
- var WeakMap = require('./$.collection')('WeakMap', {
2796
+ var $WeakMap = require('./$.collection')('WeakMap', function(get){
2797
+ return function WeakMap(){ return get(this, arguments[0]); };
2798
+ }, {
2633
2799
  // 23.3.3.3 WeakMap.prototype.get(key)
2634
2800
  get: function get(key){
2635
2801
  if(isObject(key)){
@@ -2644,9 +2810,9 @@ var WeakMap = require('./$.collection')('WeakMap', {
2644
2810
  }, weak, true, true);
2645
2811
 
2646
2812
  // IE11 WeakMap frozen keys fix
2647
- if($.FW && new WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
2813
+ if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
2648
2814
  $.each.call(['delete', 'has', 'get', 'set'], function(key){
2649
- var proto = WeakMap.prototype
2815
+ var proto = $WeakMap.prototype
2650
2816
  , method = proto[key];
2651
2817
  require('./$.redef')(proto, key, function(a, b){
2652
2818
  // store frozen objects on leaky map
@@ -2658,31 +2824,34 @@ if($.FW && new WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
2658
2824
  });
2659
2825
  });
2660
2826
  }
2661
- },{"./$":22,"./$.collection":10,"./$.collection-weak":9,"./$.redef":27}],73:[function(require,module,exports){
2827
+ },{"./$":24,"./$.collection":11,"./$.collection-weak":10,"./$.redef":29}],77:[function(require,module,exports){
2662
2828
  'use strict';
2663
2829
  var weak = require('./$.collection-weak');
2664
2830
 
2665
2831
  // 23.4 WeakSet Objects
2666
- require('./$.collection')('WeakSet', {
2832
+ require('./$.collection')('WeakSet', function(get){
2833
+ return function WeakSet(){ return get(this, arguments[0]); };
2834
+ }, {
2667
2835
  // 23.4.3.1 WeakSet.prototype.add(value)
2668
2836
  add: function add(value){
2669
2837
  return weak.def(this, value, true);
2670
2838
  }
2671
2839
  }, weak, false, true);
2672
- },{"./$.collection":10,"./$.collection-weak":9}],74:[function(require,module,exports){
2673
- // https://github.com/domenic/Array.prototype.includes
2840
+ },{"./$.collection":11,"./$.collection-weak":10}],78:[function(require,module,exports){
2841
+ 'use strict';
2674
2842
  var $def = require('./$.def')
2675
2843
  , $includes = require('./$.array-includes')(true);
2676
2844
  $def($def.P, 'Array', {
2845
+ // https://github.com/domenic/Array.prototype.includes
2677
2846
  includes: function includes(el /*, fromIndex = 0 */){
2678
2847
  return $includes(this, el, arguments[1]);
2679
2848
  }
2680
2849
  });
2681
2850
  require('./$.unscope')('includes');
2682
- },{"./$.array-includes":2,"./$.def":12,"./$.unscope":37}],75:[function(require,module,exports){
2851
+ },{"./$.array-includes":3,"./$.def":13,"./$.unscope":41}],79:[function(require,module,exports){
2683
2852
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
2684
2853
  require('./$.collection-to-json')('Map');
2685
- },{"./$.collection-to-json":8}],76:[function(require,module,exports){
2854
+ },{"./$.collection-to-json":9}],80:[function(require,module,exports){
2686
2855
  // https://gist.github.com/WebReflection/9353781
2687
2856
  var $ = require('./$')
2688
2857
  , $def = require('./$.def')
@@ -2698,7 +2867,7 @@ $def($def.S, 'Object', {
2698
2867
  return result;
2699
2868
  }
2700
2869
  });
2701
- },{"./$":22,"./$.def":12,"./$.own-keys":25}],77:[function(require,module,exports){
2870
+ },{"./$":24,"./$.def":13,"./$.own-keys":27}],81:[function(require,module,exports){
2702
2871
  // http://goo.gl/XkBrjD
2703
2872
  var $ = require('./$')
2704
2873
  , $def = require('./$.def');
@@ -2719,16 +2888,17 @@ $def($def.S, 'Object', {
2719
2888
  values: createObjectToArray(false),
2720
2889
  entries: createObjectToArray(true)
2721
2890
  });
2722
- },{"./$":22,"./$.def":12}],78:[function(require,module,exports){
2723
- // https://gist.github.com/kangax/9698100
2891
+ },{"./$":24,"./$.def":13}],82:[function(require,module,exports){
2892
+ // https://github.com/benjamingr/RexExp.escape
2724
2893
  var $def = require('./$.def');
2725
2894
  $def($def.S, 'RegExp', {
2726
- escape: require('./$.replacer')(/([\\\-[\]{}()*+?.,^$|])/g, '\\$1', true)
2895
+ escape: require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&', true)
2727
2896
  });
2728
- },{"./$.def":12,"./$.replacer":28}],79:[function(require,module,exports){
2897
+
2898
+ },{"./$.def":13,"./$.replacer":30}],83:[function(require,module,exports){
2729
2899
  // https://github.com/DavidBruant/Map-Set.prototype.toJSON
2730
2900
  require('./$.collection-to-json')('Set');
2731
- },{"./$.collection-to-json":8}],80:[function(require,module,exports){
2901
+ },{"./$.collection-to-json":9}],84:[function(require,module,exports){
2732
2902
  // https://github.com/mathiasbynens/String.prototype.at
2733
2903
  'use strict';
2734
2904
  var $def = require('./$.def')
@@ -2738,7 +2908,7 @@ $def($def.P, 'String', {
2738
2908
  return $at(this, pos);
2739
2909
  }
2740
2910
  });
2741
- },{"./$.def":12,"./$.string-at":31}],81:[function(require,module,exports){
2911
+ },{"./$.def":13,"./$.string-at":35}],85:[function(require,module,exports){
2742
2912
  'use strict';
2743
2913
  var $def = require('./$.def')
2744
2914
  , $pad = require('./$.string-pad');
@@ -2747,7 +2917,7 @@ $def($def.P, 'String', {
2747
2917
  return $pad(this, n, arguments[1], true);
2748
2918
  }
2749
2919
  });
2750
- },{"./$.def":12,"./$.string-pad":32}],82:[function(require,module,exports){
2920
+ },{"./$.def":13,"./$.string-pad":36}],86:[function(require,module,exports){
2751
2921
  'use strict';
2752
2922
  var $def = require('./$.def')
2753
2923
  , $pad = require('./$.string-pad');
@@ -2756,7 +2926,7 @@ $def($def.P, 'String', {
2756
2926
  return $pad(this, n, arguments[1], false);
2757
2927
  }
2758
2928
  });
2759
- },{"./$.def":12,"./$.string-pad":32}],83:[function(require,module,exports){
2929
+ },{"./$.def":13,"./$.string-pad":36}],87:[function(require,module,exports){
2760
2930
  // JavaScript 1.6 / Strawman array statics shim
2761
2931
  var $ = require('./$')
2762
2932
  , $def = require('./$.def')
@@ -2773,25 +2943,29 @@ setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
2773
2943
  setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
2774
2944
  'reduce,reduceRight,copyWithin,fill,turn');
2775
2945
  $def($def.S, 'Array', statics);
2776
- },{"./$":22,"./$.ctx":11,"./$.def":12}],84:[function(require,module,exports){
2946
+ },{"./$":24,"./$.ctx":12,"./$.def":13}],88:[function(require,module,exports){
2777
2947
  require('./es6.array.iterator');
2778
2948
  var $ = require('./$')
2779
2949
  , Iterators = require('./$.iter').Iterators
2780
2950
  , ITERATOR = require('./$.wks')('iterator')
2781
2951
  , ArrayValues = Iterators.Array
2782
- , NodeList = $.g.NodeList;
2783
- if($.FW && NodeList && !(ITERATOR in NodeList.prototype)){
2784
- $.hide(NodeList.prototype, ITERATOR, ArrayValues);
2952
+ , NL = $.g.NodeList
2953
+ , HTC = $.g.HTMLCollection
2954
+ , NLProto = NL && NL.prototype
2955
+ , HTCProto = HTC && HTC.prototype;
2956
+ if($.FW){
2957
+ if(NL && !(ITERATOR in NLProto))$.hide(NLProto, ITERATOR, ArrayValues);
2958
+ if(HTC && !(ITERATOR in HTCProto))$.hide(HTCProto, ITERATOR, ArrayValues);
2785
2959
  }
2786
- Iterators.NodeList = ArrayValues;
2787
- },{"./$":22,"./$.iter":21,"./$.wks":38,"./es6.array.iterator":45}],85:[function(require,module,exports){
2960
+ Iterators.NodeList = Iterators.HTMLCollection = ArrayValues;
2961
+ },{"./$":24,"./$.iter":23,"./$.wks":42,"./es6.array.iterator":49}],89:[function(require,module,exports){
2788
2962
  var $def = require('./$.def')
2789
2963
  , $task = require('./$.task');
2790
2964
  $def($def.G + $def.B, {
2791
2965
  setImmediate: $task.set,
2792
2966
  clearImmediate: $task.clear
2793
2967
  });
2794
- },{"./$.def":12,"./$.task":34}],86:[function(require,module,exports){
2968
+ },{"./$.def":13,"./$.task":38}],90:[function(require,module,exports){
2795
2969
  // ie9- setTimeout & setInterval additional parameters fix
2796
2970
  var $ = require('./$')
2797
2971
  , $def = require('./$.def')
@@ -2812,7 +2986,7 @@ $def($def.G + $def.B + $def.F * MSIE, {
2812
2986
  setTimeout: wrap($.g.setTimeout),
2813
2987
  setInterval: wrap($.g.setInterval)
2814
2988
  });
2815
- },{"./$":22,"./$.def":12,"./$.invoke":17,"./$.partial":26}],87:[function(require,module,exports){
2989
+ },{"./$":24,"./$.def":13,"./$.invoke":19,"./$.partial":28}],91:[function(require,module,exports){
2816
2990
  require('./modules/es5');
2817
2991
  require('./modules/es6.symbol');
2818
2992
  require('./modules/es6.object.assign');
@@ -2863,8 +3037,8 @@ require('./modules/web.immediate');
2863
3037
  require('./modules/web.dom.iterable');
2864
3038
  module.exports = require('./modules/$').core;
2865
3039
 
2866
- },{"./modules/$":22,"./modules/es5":39,"./modules/es6.array.copy-within":40,"./modules/es6.array.fill":41,"./modules/es6.array.find":43,"./modules/es6.array.find-index":42,"./modules/es6.array.from":44,"./modules/es6.array.iterator":45,"./modules/es6.array.of":46,"./modules/es6.array.species":47,"./modules/es6.function.has-instance":48,"./modules/es6.function.name":49,"./modules/es6.map":50,"./modules/es6.math":51,"./modules/es6.number.constructor":52,"./modules/es6.number.statics":53,"./modules/es6.object.assign":54,"./modules/es6.object.is":55,"./modules/es6.object.set-prototype-of":56,"./modules/es6.object.statics-accept-primitives":57,"./modules/es6.object.to-string":58,"./modules/es6.promise":59,"./modules/es6.reflect":60,"./modules/es6.regexp":61,"./modules/es6.set":62,"./modules/es6.string.code-point-at":63,"./modules/es6.string.ends-with":64,"./modules/es6.string.from-code-point":65,"./modules/es6.string.includes":66,"./modules/es6.string.iterator":67,"./modules/es6.string.raw":68,"./modules/es6.string.repeat":69,"./modules/es6.string.starts-with":70,"./modules/es6.symbol":71,"./modules/es6.weak-map":72,"./modules/es6.weak-set":73,"./modules/es7.array.includes":74,"./modules/es7.map.to-json":75,"./modules/es7.object.get-own-property-descriptors":76,"./modules/es7.object.to-array":77,"./modules/es7.regexp.escape":78,"./modules/es7.set.to-json":79,"./modules/es7.string.at":80,"./modules/es7.string.lpad":81,"./modules/es7.string.rpad":82,"./modules/js.array.statics":83,"./modules/web.dom.iterable":84,"./modules/web.immediate":85,"./modules/web.timers":86}],88:[function(require,module,exports){
2867
- (function (global){
3040
+ },{"./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){
3041
+ (function (process,global){
2868
3042
  /**
2869
3043
  * Copyright (c) 2014, Facebook, Inc.
2870
3044
  * All rights reserved.
@@ -2953,6 +3127,16 @@ module.exports = require('./modules/$').core;
2953
3127
  GeneratorFunctionPrototype.constructor = GeneratorFunction;
2954
3128
  GeneratorFunction.displayName = "GeneratorFunction";
2955
3129
 
3130
+ // Helper for defining the .next, .throw, and .return methods of the
3131
+ // Iterator interface in terms of a single ._invoke method.
3132
+ function defineIteratorMethods(prototype) {
3133
+ ["next", "throw", "return"].forEach(function(method) {
3134
+ prototype[method] = function(arg) {
3135
+ return this._invoke(method, arg);
3136
+ };
3137
+ });
3138
+ }
3139
+
2956
3140
  runtime.isGeneratorFunction = function(genFun) {
2957
3141
  var ctor = typeof genFun === "function" && genFun.constructor;
2958
3142
  return ctor
@@ -2969,29 +3153,90 @@ module.exports = require('./modules/$').core;
2969
3153
  return genFun;
2970
3154
  };
2971
3155
 
2972
- runtime.async = function(innerFn, outerFn, self, tryLocsList) {
2973
- return new Promise(function(resolve, reject) {
2974
- var generator = wrap(innerFn, outerFn, self, tryLocsList);
2975
- var callNext = step.bind(generator, "next");
2976
- var callThrow = step.bind(generator, "throw");
2977
-
2978
- function step(method, arg) {
2979
- var record = tryCatch(generator[method], generator, arg);
2980
- if (record.type === "throw") {
2981
- reject(record.arg);
2982
- return;
2983
- }
3156
+ // Within the body of any async function, `await x` is transformed to
3157
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
3158
+ // `value instanceof AwaitArgument` to determine if the yielded value is
3159
+ // meant to be awaited. Some may consider the name of this method too
3160
+ // cutesy, but they are curmudgeons.
3161
+ runtime.awrap = function(arg) {
3162
+ return new AwaitArgument(arg);
3163
+ };
2984
3164
 
2985
- var info = record.arg;
2986
- if (info.done) {
2987
- resolve(info.value);
2988
- } else {
2989
- Promise.resolve(info.value).then(callNext, callThrow);
2990
- }
2991
- }
3165
+ function AwaitArgument(arg) {
3166
+ this.arg = arg;
3167
+ }
3168
+
3169
+ function AsyncIterator(generator) {
3170
+ // This invoke function is written in a style that assumes some
3171
+ // calling function (or Promise) will handle exceptions.
3172
+ function invoke(method, arg) {
3173
+ var result = generator[method](arg);
3174
+ var value = result.value;
3175
+ return value instanceof AwaitArgument
3176
+ ? Promise.resolve(value.arg).then(invokeNext, invokeThrow)
3177
+ : Promise.resolve(value).then(function(unwrapped) {
3178
+ result.value = unwrapped;
3179
+ return result;
3180
+ }, invokeThrow);
3181
+ }
2992
3182
 
2993
- callNext();
2994
- });
3183
+ if (typeof process === "object" && process.domain) {
3184
+ invoke = process.domain.bind(invoke);
3185
+ }
3186
+
3187
+ var invokeNext = invoke.bind(generator, "next");
3188
+ var invokeThrow = invoke.bind(generator, "throw");
3189
+ var invokeReturn = invoke.bind(generator, "return");
3190
+ var previousPromise;
3191
+
3192
+ function enqueue(method, arg) {
3193
+ var enqueueResult =
3194
+ // If enqueue has been called before, then we want to wait until
3195
+ // all previous Promises have been resolved before calling invoke,
3196
+ // so that results are always delivered in the correct order. If
3197
+ // enqueue has not been called before, then it is important to
3198
+ // call invoke immediately, without waiting on a callback to fire,
3199
+ // so that the async generator function has the opportunity to do
3200
+ // any necessary setup in a predictable way. This predictability
3201
+ // is why the Promise constructor synchronously invokes its
3202
+ // executor callback, and why async functions synchronously
3203
+ // execute code before the first await. Since we implement simple
3204
+ // async functions in terms of async generators, it is especially
3205
+ // important to get this right, even though it requires care.
3206
+ previousPromise ? previousPromise.then(function() {
3207
+ return invoke(method, arg);
3208
+ }) : new Promise(function(resolve) {
3209
+ resolve(invoke(method, arg));
3210
+ });
3211
+
3212
+ // Avoid propagating enqueueResult failures to Promises returned by
3213
+ // later invocations of the iterator, and call generator.return() to
3214
+ // allow the generator a chance to clean up.
3215
+ previousPromise = enqueueResult["catch"](invokeReturn);
3216
+
3217
+ return enqueueResult;
3218
+ }
3219
+
3220
+ // Define the unified helper method that is used to implement .next,
3221
+ // .throw, and .return (see defineIteratorMethods).
3222
+ this._invoke = enqueue;
3223
+ }
3224
+
3225
+ defineIteratorMethods(AsyncIterator.prototype);
3226
+
3227
+ // Note that simple async functions are implemented on top of
3228
+ // AsyncIterator objects; they just return a Promise for the value of
3229
+ // the final result produced by the iterator.
3230
+ runtime.async = function(innerFn, outerFn, self, tryLocsList) {
3231
+ var iter = new AsyncIterator(
3232
+ wrap(innerFn, outerFn, self, tryLocsList)
3233
+ );
3234
+
3235
+ return runtime.isGeneratorFunction(outerFn)
3236
+ ? iter // If outerFn is a generator, return the full iterator.
3237
+ : iter.next().then(function(result) {
3238
+ return result.done ? result.value : iter.next();
3239
+ });
2995
3240
  };
2996
3241
 
2997
3242
  function makeInvokeMethod(innerFn, self, context) {
@@ -3132,14 +3377,9 @@ module.exports = require('./modules/$').core;
3132
3377
  };
3133
3378
  }
3134
3379
 
3135
- function defineGeneratorMethod(method) {
3136
- Gp[method] = function(arg) {
3137
- return this._invoke(method, arg);
3138
- };
3139
- }
3140
- defineGeneratorMethod("next");
3141
- defineGeneratorMethod("throw");
3142
- defineGeneratorMethod("return");
3380
+ // Define Generator.prototype.{next,throw,return} in terms of the
3381
+ // unified ._invoke helper method.
3382
+ defineIteratorMethods(Gp);
3143
3383
 
3144
3384
  Gp[iteratorSymbol] = function() {
3145
3385
  return this;
@@ -3430,5 +3670,5 @@ module.exports = require('./modules/$').core;
3430
3670
  typeof self === "object" ? self : this
3431
3671
  );
3432
3672
 
3433
- }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
3434
- },{}]},{},[1]);
3673
+ }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
3674
+ },{"_process":2}]},{},[1]);