browser-polyfill.js 105 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207
  1. (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
  2. (function (global){
  3. "use strict";
  4. require("core-js/shim");
  5. require("regenerator/runtime");
  6. if (global._babelPolyfill) {
  7. throw new Error("only one instance of babel/polyfill is allowed");
  8. }
  9. global._babelPolyfill = true;
  10. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  11. },{"core-js/shim":78,"regenerator/runtime":79}],2:[function(require,module,exports){
  12. 'use strict';
  13. // false -> Array#indexOf
  14. // true -> Array#includes
  15. var $ = require('./$');
  16. module.exports = function(IS_INCLUDES){
  17. return function(el /*, fromIndex = 0 */){
  18. var O = $.toObject(this)
  19. , length = $.toLength(O.length)
  20. , index = $.toIndex(arguments[1], length)
  21. , value;
  22. if(IS_INCLUDES && el != el)while(length > index){
  23. value = O[index++];
  24. if(value != value)return true;
  25. } else for(;length > index; index++)if(IS_INCLUDES || index in O){
  26. if(O[index] === el)return IS_INCLUDES || index;
  27. } return !IS_INCLUDES && -1;
  28. };
  29. };
  30. },{"./$":21}],3:[function(require,module,exports){
  31. 'use strict';
  32. // 0 -> Array#forEach
  33. // 1 -> Array#map
  34. // 2 -> Array#filter
  35. // 3 -> Array#some
  36. // 4 -> Array#every
  37. // 5 -> Array#find
  38. // 6 -> Array#findIndex
  39. var $ = require('./$')
  40. , ctx = require('./$.ctx');
  41. module.exports = function(TYPE){
  42. var IS_MAP = TYPE == 1
  43. , IS_FILTER = TYPE == 2
  44. , IS_SOME = TYPE == 3
  45. , IS_EVERY = TYPE == 4
  46. , IS_FIND_INDEX = TYPE == 6
  47. , NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  48. return function(callbackfn/*, that = undefined */){
  49. var O = Object($.assertDefined(this))
  50. , self = $.ES5Object(O)
  51. , f = ctx(callbackfn, arguments[1], 3)
  52. , length = $.toLength(self.length)
  53. , index = 0
  54. , result = IS_MAP ? Array(length) : IS_FILTER ? [] : undefined
  55. , val, res;
  56. for(;length > index; index++)if(NO_HOLES || index in self){
  57. val = self[index];
  58. res = f(val, index, O);
  59. if(TYPE){
  60. if(IS_MAP)result[index] = res; // map
  61. else if(res)switch(TYPE){
  62. case 3: return true; // some
  63. case 5: return val; // find
  64. case 6: return index; // findIndex
  65. case 2: result.push(val); // filter
  66. } else if(IS_EVERY)return false; // every
  67. }
  68. }
  69. return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
  70. };
  71. };
  72. },{"./$":21,"./$.ctx":11}],4:[function(require,module,exports){
  73. var $ = require('./$');
  74. function assert(condition, msg1, msg2){
  75. if(!condition)throw TypeError(msg2 ? msg1 + msg2 : msg1);
  76. }
  77. assert.def = $.assertDefined;
  78. assert.fn = function(it){
  79. if(!$.isFunction(it))throw TypeError(it + ' is not a function!');
  80. return it;
  81. };
  82. assert.obj = function(it){
  83. if(!$.isObject(it))throw TypeError(it + ' is not an object!');
  84. return it;
  85. };
  86. assert.inst = function(it, Constructor, name){
  87. if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!");
  88. return it;
  89. };
  90. module.exports = assert;
  91. },{"./$":21}],5:[function(require,module,exports){
  92. var $ = require('./$')
  93. , enumKeys = require('./$.enum-keys');
  94. // 19.1.2.1 Object.assign(target, source, ...)
  95. /* eslint-disable no-unused-vars */
  96. module.exports = Object.assign || function assign(target, source){
  97. /* eslint-enable no-unused-vars */
  98. var T = Object($.assertDefined(target))
  99. , l = arguments.length
  100. , i = 1;
  101. while(l > i){
  102. var S = $.ES5Object(arguments[i++])
  103. , keys = enumKeys(S)
  104. , length = keys.length
  105. , j = 0
  106. , key;
  107. while(length > j)T[key = keys[j++]] = S[key];
  108. }
  109. return T;
  110. };
  111. },{"./$":21,"./$.enum-keys":13}],6:[function(require,module,exports){
  112. var $ = require('./$')
  113. , TAG = require('./$.wks')('toStringTag')
  114. , toString = {}.toString;
  115. function cof(it){
  116. return toString.call(it).slice(8, -1);
  117. }
  118. cof.classof = function(it){
  119. var O, T;
  120. return it == undefined ? it === undefined ? 'Undefined' : 'Null'
  121. : typeof (T = (O = Object(it))[TAG]) == 'string' ? T : cof(O);
  122. };
  123. cof.set = function(it, tag, stat){
  124. if(it && !$.has(it = stat ? it : it.prototype, TAG))$.hide(it, TAG, tag);
  125. };
  126. module.exports = cof;
  127. },{"./$":21,"./$.wks":32}],7:[function(require,module,exports){
  128. 'use strict';
  129. var $ = require('./$')
  130. , ctx = require('./$.ctx')
  131. , safe = require('./$.uid').safe
  132. , assert = require('./$.assert')
  133. , forOf = require('./$.for-of')
  134. , step = require('./$.iter').step
  135. , has = $.has
  136. , set = $.set
  137. , isObject = $.isObject
  138. , hide = $.hide
  139. , isFrozen = Object.isFrozen || $.core.Object.isFrozen
  140. , ID = safe('id')
  141. , O1 = safe('O1')
  142. , LAST = safe('last')
  143. , FIRST = safe('first')
  144. , ITER = safe('iter')
  145. , SIZE = $.DESC ? safe('size') : 'size'
  146. , id = 0;
  147. function fastKey(it, create){
  148. // return primitive with prefix
  149. if(!isObject(it))return (typeof it == 'string' ? 'S' : 'P') + it;
  150. // can't set id to frozen object
  151. if(isFrozen(it))return 'F';
  152. if(!has(it, ID)){
  153. // not necessary to add id
  154. if(!create)return 'E';
  155. // add missing object id
  156. hide(it, ID, ++id);
  157. // return object id with prefix
  158. } return 'O' + it[ID];
  159. }
  160. function getEntry(that, key){
  161. // fast case
  162. var index = fastKey(key), entry;
  163. if(index != 'F')return that[O1][index];
  164. // frozen object case
  165. for(entry = that[FIRST]; entry; entry = entry.n){
  166. if(entry.k == key)return entry;
  167. }
  168. }
  169. module.exports = {
  170. getConstructor: function(NAME, IS_MAP, ADDER){
  171. function C(){
  172. var that = assert.inst(this, C, NAME)
  173. , iterable = arguments[0];
  174. set(that, O1, $.create(null));
  175. set(that, SIZE, 0);
  176. set(that, LAST, undefined);
  177. set(that, FIRST, undefined);
  178. if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
  179. }
  180. $.mix(C.prototype, {
  181. // 23.1.3.1 Map.prototype.clear()
  182. // 23.2.3.2 Set.prototype.clear()
  183. clear: function clear(){
  184. for(var that = this, data = that[O1], entry = that[FIRST]; entry; entry = entry.n){
  185. entry.r = true;
  186. if(entry.p)entry.p = entry.p.n = undefined;
  187. delete data[entry.i];
  188. }
  189. that[FIRST] = that[LAST] = undefined;
  190. that[SIZE] = 0;
  191. },
  192. // 23.1.3.3 Map.prototype.delete(key)
  193. // 23.2.3.4 Set.prototype.delete(value)
  194. 'delete': function(key){
  195. var that = this
  196. , entry = getEntry(that, key);
  197. if(entry){
  198. var next = entry.n
  199. , prev = entry.p;
  200. delete that[O1][entry.i];
  201. entry.r = true;
  202. if(prev)prev.n = next;
  203. if(next)next.p = prev;
  204. if(that[FIRST] == entry)that[FIRST] = next;
  205. if(that[LAST] == entry)that[LAST] = prev;
  206. that[SIZE]--;
  207. } return !!entry;
  208. },
  209. // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
  210. // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
  211. forEach: function forEach(callbackfn /*, that = undefined */){
  212. var f = ctx(callbackfn, arguments[1], 3)
  213. , entry;
  214. while(entry = entry ? entry.n : this[FIRST]){
  215. f(entry.v, entry.k, this);
  216. // revert to the last existing entry
  217. while(entry && entry.r)entry = entry.p;
  218. }
  219. },
  220. // 23.1.3.7 Map.prototype.has(key)
  221. // 23.2.3.7 Set.prototype.has(value)
  222. has: function has(key){
  223. return !!getEntry(this, key);
  224. }
  225. });
  226. if($.DESC)$.setDesc(C.prototype, 'size', {
  227. get: function(){
  228. return assert.def(this[SIZE]);
  229. }
  230. });
  231. return C;
  232. },
  233. def: function(that, key, value){
  234. var entry = getEntry(that, key)
  235. , prev, index;
  236. // change existing entry
  237. if(entry){
  238. entry.v = value;
  239. // create new entry
  240. } else {
  241. that[LAST] = entry = {
  242. i: index = fastKey(key, true), // <- index
  243. k: key, // <- key
  244. v: value, // <- value
  245. p: prev = that[LAST], // <- previous entry
  246. n: undefined, // <- next entry
  247. r: false // <- removed
  248. };
  249. if(!that[FIRST])that[FIRST] = entry;
  250. if(prev)prev.n = entry;
  251. that[SIZE]++;
  252. // add to index
  253. if(index != 'F')that[O1][index] = entry;
  254. } return that;
  255. },
  256. getEntry: getEntry,
  257. // add .keys, .values, .entries, [@@iterator]
  258. // 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
  259. setIter: function(C, NAME, IS_MAP){
  260. require('./$.iter-define')(C, NAME, function(iterated, kind){
  261. set(this, ITER, {o: iterated, k: kind});
  262. }, function(){
  263. var iter = this[ITER]
  264. , kind = iter.k
  265. , entry = iter.l;
  266. // revert to the last existing entry
  267. while(entry && entry.r)entry = entry.p;
  268. // get next entry
  269. if(!iter.o || !(iter.l = entry = entry ? entry.n : iter.o[FIRST])){
  270. // or finish the iteration
  271. iter.o = undefined;
  272. return step(1);
  273. }
  274. // return step by kind
  275. if(kind == 'keys' )return step(0, entry.k);
  276. if(kind == 'values')return step(0, entry.v);
  277. return step(0, [entry.k, entry.v]);
  278. }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
  279. }
  280. };
  281. },{"./$":21,"./$.assert":4,"./$.ctx":11,"./$.for-of":14,"./$.iter":20,"./$.iter-define":18,"./$.uid":30}],8:[function(require,module,exports){
  282. // https://github.com/DavidBruant/Map-Set.prototype.toJSON
  283. var $def = require('./$.def')
  284. , forOf = require('./$.for-of');
  285. module.exports = function(NAME){
  286. $def($def.P, NAME, {
  287. toJSON: function toJSON(){
  288. var arr = [];
  289. forOf(this, false, arr.push, arr);
  290. return arr;
  291. }
  292. });
  293. };
  294. },{"./$.def":12,"./$.for-of":14}],9:[function(require,module,exports){
  295. 'use strict';
  296. var $ = require('./$')
  297. , safe = require('./$.uid').safe
  298. , assert = require('./$.assert')
  299. , forOf = require('./$.for-of')
  300. , _has = $.has
  301. , isObject = $.isObject
  302. , hide = $.hide
  303. , isFrozen = Object.isFrozen || $.core.Object.isFrozen
  304. , id = 0
  305. , ID = safe('id')
  306. , WEAK = safe('weak')
  307. , LEAK = safe('leak')
  308. , method = require('./$.array-methods')
  309. , find = method(5)
  310. , findIndex = method(6);
  311. function findFrozen(store, key){
  312. return find.call(store.array, function(it){
  313. return it[0] === key;
  314. });
  315. }
  316. // fallback for frozen keys
  317. function leakStore(that){
  318. return that[LEAK] || hide(that, LEAK, {
  319. array: [],
  320. get: function(key){
  321. var entry = findFrozen(this, key);
  322. if(entry)return entry[1];
  323. },
  324. has: function(key){
  325. return !!findFrozen(this, key);
  326. },
  327. set: function(key, value){
  328. var entry = findFrozen(this, key);
  329. if(entry)entry[1] = value;
  330. else this.array.push([key, value]);
  331. },
  332. 'delete': function(key){
  333. var index = findIndex.call(this.array, function(it){
  334. return it[0] === key;
  335. });
  336. if(~index)this.array.splice(index, 1);
  337. return !!~index;
  338. }
  339. })[LEAK];
  340. }
  341. module.exports = {
  342. getConstructor: function(NAME, IS_MAP, ADDER){
  343. function C(){
  344. $.set(assert.inst(this, C, NAME), ID, id++);
  345. var iterable = arguments[0];
  346. if(iterable != undefined)forOf(iterable, IS_MAP, this[ADDER], this);
  347. }
  348. $.mix(C.prototype, {
  349. // 23.3.3.2 WeakMap.prototype.delete(key)
  350. // 23.4.3.3 WeakSet.prototype.delete(value)
  351. 'delete': function(key){
  352. if(!isObject(key))return false;
  353. if(isFrozen(key))return leakStore(this)['delete'](key);
  354. return _has(key, WEAK) && _has(key[WEAK], this[ID]) && delete key[WEAK][this[ID]];
  355. },
  356. // 23.3.3.4 WeakMap.prototype.has(key)
  357. // 23.4.3.4 WeakSet.prototype.has(value)
  358. has: function has(key){
  359. if(!isObject(key))return false;
  360. if(isFrozen(key))return leakStore(this).has(key);
  361. return _has(key, WEAK) && _has(key[WEAK], this[ID]);
  362. }
  363. });
  364. return C;
  365. },
  366. def: function(that, key, value){
  367. if(isFrozen(assert.obj(key))){
  368. leakStore(that).set(key, value);
  369. } else {
  370. _has(key, WEAK) || hide(key, WEAK, {});
  371. key[WEAK][that[ID]] = value;
  372. } return that;
  373. },
  374. leakStore: leakStore,
  375. WEAK: WEAK,
  376. ID: ID
  377. };
  378. },{"./$":21,"./$.array-methods":3,"./$.assert":4,"./$.for-of":14,"./$.uid":30}],10:[function(require,module,exports){
  379. 'use strict';
  380. var $ = require('./$')
  381. , $def = require('./$.def')
  382. , BUGGY = require('./$.iter').BUGGY
  383. , forOf = require('./$.for-of')
  384. , species = require('./$.species')
  385. , assertInstance = require('./$.assert').inst;
  386. module.exports = function(NAME, methods, common, IS_MAP, IS_WEAK){
  387. var Base = $.g[NAME]
  388. , C = Base
  389. , ADDER = IS_MAP ? 'set' : 'add'
  390. , proto = C && C.prototype
  391. , O = {};
  392. function fixMethod(KEY, CHAIN){
  393. var method = proto[KEY];
  394. if($.FW)proto[KEY] = function(a, b){
  395. var result = method.call(this, a === 0 ? 0 : a, b);
  396. return CHAIN ? this : result;
  397. };
  398. }
  399. if(!$.isFunction(C) || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){
  400. // create collection constructor
  401. C = common.getConstructor(NAME, IS_MAP, ADDER);
  402. $.mix(C.prototype, methods);
  403. } else {
  404. var inst = new C
  405. , chain = inst[ADDER](IS_WEAK ? {} : -0, 1)
  406. , buggyZero;
  407. // wrap for init collections from iterable
  408. if(!require('./$.iter-detect')(function(iter){ new C(iter); })){ // eslint-disable-line no-new
  409. C = function(){
  410. assertInstance(this, C, NAME);
  411. var that = new Base
  412. , iterable = arguments[0];
  413. if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
  414. return that;
  415. };
  416. C.prototype = proto;
  417. if($.FW)proto.constructor = C;
  418. }
  419. IS_WEAK || inst.forEach(function(val, key){
  420. buggyZero = 1 / key === -Infinity;
  421. });
  422. // fix converting -0 key to +0
  423. if(buggyZero){
  424. fixMethod('delete');
  425. fixMethod('has');
  426. IS_MAP && fixMethod('get');
  427. }
  428. // + fix .add & .set for chaining
  429. if(buggyZero || chain !== inst)fixMethod(ADDER, true);
  430. }
  431. require('./$.cof').set(C, NAME);
  432. O[NAME] = C;
  433. $def($def.G + $def.W + $def.F * (C != Base), O);
  434. species(C);
  435. species($.core[NAME]); // for wrapper
  436. if(!IS_WEAK)common.setIter(C, NAME, IS_MAP);
  437. return C;
  438. };
  439. },{"./$":21,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.for-of":14,"./$.iter":20,"./$.iter-detect":19,"./$.species":27}],11:[function(require,module,exports){
  440. // Optional / simple context binding
  441. var assertFunction = require('./$.assert').fn;
  442. module.exports = function(fn, that, length){
  443. assertFunction(fn);
  444. if(~length && that === undefined)return fn;
  445. switch(length){
  446. case 1: return function(a){
  447. return fn.call(that, a);
  448. };
  449. case 2: return function(a, b){
  450. return fn.call(that, a, b);
  451. };
  452. case 3: return function(a, b, c){
  453. return fn.call(that, a, b, c);
  454. };
  455. } return function(/* ...args */){
  456. return fn.apply(that, arguments);
  457. };
  458. };
  459. },{"./$.assert":4}],12:[function(require,module,exports){
  460. var $ = require('./$')
  461. , global = $.g
  462. , core = $.core
  463. , isFunction = $.isFunction;
  464. function ctx(fn, that){
  465. return function(){
  466. return fn.apply(that, arguments);
  467. };
  468. }
  469. global.core = core;
  470. // type bitmap
  471. $def.F = 1; // forced
  472. $def.G = 2; // global
  473. $def.S = 4; // static
  474. $def.P = 8; // proto
  475. $def.B = 16; // bind
  476. $def.W = 32; // wrap
  477. function $def(type, name, source){
  478. var key, own, out, exp
  479. , isGlobal = type & $def.G
  480. , target = isGlobal ? global : type & $def.S
  481. ? global[name] : (global[name] || {}).prototype
  482. , exports = isGlobal ? core : core[name] || (core[name] = {});
  483. if(isGlobal)source = name;
  484. for(key in source){
  485. // contains in native
  486. own = !(type & $def.F) && target && key in target;
  487. // export native or passed
  488. out = (own ? target : source)[key];
  489. // bind timers to global for call from export context
  490. if(type & $def.B && own)exp = ctx(out, global);
  491. else exp = type & $def.P && isFunction(out) ? ctx(Function.call, out) : out;
  492. // extend global
  493. if(target && !own){
  494. if(isGlobal)target[key] = out;
  495. else delete target[key] && $.hide(target, key, out);
  496. }
  497. // export
  498. if(exports[key] != out)$.hide(exports, key, exp);
  499. }
  500. }
  501. module.exports = $def;
  502. },{"./$":21}],13:[function(require,module,exports){
  503. var $ = require('./$');
  504. module.exports = function(it){
  505. var keys = $.getKeys(it)
  506. , getDesc = $.getDesc
  507. , getSymbols = $.getSymbols;
  508. if(getSymbols)$.each.call(getSymbols(it), function(key){
  509. if(getDesc(it, key).enumerable)keys.push(key);
  510. });
  511. return keys;
  512. };
  513. },{"./$":21}],14:[function(require,module,exports){
  514. var ctx = require('./$.ctx')
  515. , get = require('./$.iter').get
  516. , call = require('./$.iter-call');
  517. module.exports = function(iterable, entries, fn, that){
  518. var iterator = get(iterable)
  519. , f = ctx(fn, that, entries ? 2 : 1)
  520. , step;
  521. while(!(step = iterator.next()).done){
  522. if(call(iterator, f, step.value, entries) === false){
  523. return call.close(iterator);
  524. }
  525. }
  526. };
  527. },{"./$.ctx":11,"./$.iter":20,"./$.iter-call":17}],15:[function(require,module,exports){
  528. module.exports = function($){
  529. $.FW = true;
  530. $.path = $.g;
  531. return $;
  532. };
  533. },{}],16:[function(require,module,exports){
  534. // Fast apply
  535. // http://jsperf.lnkit.com/fast-apply/5
  536. module.exports = function(fn, args, that){
  537. var un = that === undefined;
  538. switch(args.length){
  539. case 0: return un ? fn()
  540. : fn.call(that);
  541. case 1: return un ? fn(args[0])
  542. : fn.call(that, args[0]);
  543. case 2: return un ? fn(args[0], args[1])
  544. : fn.call(that, args[0], args[1]);
  545. case 3: return un ? fn(args[0], args[1], args[2])
  546. : fn.call(that, args[0], args[1], args[2]);
  547. case 4: return un ? fn(args[0], args[1], args[2], args[3])
  548. : fn.call(that, args[0], args[1], args[2], args[3]);
  549. case 5: return un ? fn(args[0], args[1], args[2], args[3], args[4])
  550. : fn.call(that, args[0], args[1], args[2], args[3], args[4]);
  551. } return fn.apply(that, args);
  552. };
  553. },{}],17:[function(require,module,exports){
  554. var assertObject = require('./$.assert').obj;
  555. function close(iterator){
  556. var ret = iterator['return'];
  557. if(ret !== undefined)assertObject(ret.call(iterator));
  558. }
  559. function call(iterator, fn, value, entries){
  560. try {
  561. return entries ? fn(assertObject(value)[0], value[1]) : fn(value);
  562. } catch(e){
  563. close(iterator);
  564. throw e;
  565. }
  566. }
  567. call.close = close;
  568. module.exports = call;
  569. },{"./$.assert":4}],18:[function(require,module,exports){
  570. var $def = require('./$.def')
  571. , $ = require('./$')
  572. , cof = require('./$.cof')
  573. , $iter = require('./$.iter')
  574. , SYMBOL_ITERATOR = require('./$.wks')('iterator')
  575. , FF_ITERATOR = '@@iterator'
  576. , VALUES = 'values'
  577. , Iterators = $iter.Iterators;
  578. module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){
  579. $iter.create(Constructor, NAME, next);
  580. function createMethod(kind){
  581. return function(){
  582. return new Constructor(this, kind);
  583. };
  584. }
  585. var TAG = NAME + ' Iterator'
  586. , proto = Base.prototype
  587. , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
  588. , _default = _native || createMethod(DEFAULT)
  589. , methods, key;
  590. // Fix native
  591. if(_native){
  592. var IteratorPrototype = $.getProto(_default.call(new Base));
  593. // Set @@toStringTag to native iterators
  594. cof.set(IteratorPrototype, TAG, true);
  595. // FF fix
  596. if($.FW && $.has(proto, FF_ITERATOR))$iter.set(IteratorPrototype, $.that);
  597. }
  598. // Define iterator
  599. if($.FW)$iter.set(proto, _default);
  600. // Plug for library
  601. Iterators[NAME] = _default;
  602. Iterators[TAG] = $.that;
  603. if(DEFAULT){
  604. methods = {
  605. keys: IS_SET ? _default : createMethod('keys'),
  606. values: DEFAULT == VALUES ? _default : createMethod(VALUES),
  607. entries: DEFAULT != VALUES ? _default : createMethod('entries')
  608. };
  609. if(FORCE)for(key in methods){
  610. if(!(key in proto))$.hide(proto, key, methods[key]);
  611. } else $def($def.P + $def.F * $iter.BUGGY, NAME, methods);
  612. }
  613. };
  614. },{"./$":21,"./$.cof":6,"./$.def":12,"./$.iter":20,"./$.wks":32}],19:[function(require,module,exports){
  615. var SYMBOL_ITERATOR = require('./$.wks')('iterator')
  616. , SAFE_CLOSING = false;
  617. try {
  618. var riter = [7][SYMBOL_ITERATOR]();
  619. riter['return'] = function(){ SAFE_CLOSING = true; };
  620. Array.from(riter, function(){ throw 2; });
  621. } catch(e){ /* empty */ }
  622. module.exports = function(exec){
  623. if(!SAFE_CLOSING)return false;
  624. var safe = false;
  625. try {
  626. var arr = [7]
  627. , iter = arr[SYMBOL_ITERATOR]();
  628. iter.next = function(){ safe = true; };
  629. arr[SYMBOL_ITERATOR] = function(){ return iter; };
  630. exec(arr);
  631. } catch(e){ /* empty */ }
  632. return safe;
  633. };
  634. },{"./$.wks":32}],20:[function(require,module,exports){
  635. 'use strict';
  636. var $ = require('./$')
  637. , cof = require('./$.cof')
  638. , assertObject = require('./$.assert').obj
  639. , SYMBOL_ITERATOR = require('./$.wks')('iterator')
  640. , FF_ITERATOR = '@@iterator'
  641. , Iterators = {}
  642. , IteratorPrototype = {};
  643. // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
  644. setIterator(IteratorPrototype, $.that);
  645. function setIterator(O, value){
  646. $.hide(O, SYMBOL_ITERATOR, value);
  647. // Add iterator for FF iterator protocol
  648. if(FF_ITERATOR in [])$.hide(O, FF_ITERATOR, value);
  649. }
  650. module.exports = {
  651. // Safari has buggy iterators w/o `next`
  652. BUGGY: 'keys' in [] && !('next' in [].keys()),
  653. Iterators: Iterators,
  654. step: function(done, value){
  655. return {value: value, done: !!done};
  656. },
  657. is: function(it){
  658. var O = Object(it)
  659. , Symbol = $.g.Symbol
  660. , SYM = Symbol && Symbol.iterator || FF_ITERATOR;
  661. return SYM in O || SYMBOL_ITERATOR in O || $.has(Iterators, cof.classof(O));
  662. },
  663. get: function(it){
  664. var Symbol = $.g.Symbol
  665. , ext = it[Symbol && Symbol.iterator || FF_ITERATOR]
  666. , getIter = ext || it[SYMBOL_ITERATOR] || Iterators[cof.classof(it)];
  667. return assertObject(getIter.call(it));
  668. },
  669. set: setIterator,
  670. create: function(Constructor, NAME, next, proto){
  671. Constructor.prototype = $.create(proto || IteratorPrototype, {next: $.desc(1, next)});
  672. cof.set(Constructor, NAME + ' Iterator');
  673. }
  674. };
  675. },{"./$":21,"./$.assert":4,"./$.cof":6,"./$.wks":32}],21:[function(require,module,exports){
  676. 'use strict';
  677. var global = typeof self != 'undefined' ? self : Function('return this')()
  678. , core = {}
  679. , defineProperty = Object.defineProperty
  680. , hasOwnProperty = {}.hasOwnProperty
  681. , ceil = Math.ceil
  682. , floor = Math.floor
  683. , max = Math.max
  684. , min = Math.min;
  685. // The engine works fine with descriptors? Thank's IE8 for his funny defineProperty.
  686. var DESC = !!function(){
  687. try {
  688. return defineProperty({}, 'a', {get: function(){ return 2; }}).a == 2;
  689. } catch(e){ /* empty */ }
  690. }();
  691. var hide = createDefiner(1);
  692. // 7.1.4 ToInteger
  693. function toInteger(it){
  694. return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  695. }
  696. function desc(bitmap, value){
  697. return {
  698. enumerable : !(bitmap & 1),
  699. configurable: !(bitmap & 2),
  700. writable : !(bitmap & 4),
  701. value : value
  702. };
  703. }
  704. function simpleSet(object, key, value){
  705. object[key] = value;
  706. return object;
  707. }
  708. function createDefiner(bitmap){
  709. return DESC ? function(object, key, value){
  710. return $.setDesc(object, key, desc(bitmap, value));
  711. } : simpleSet;
  712. }
  713. function isObject(it){
  714. return it !== null && (typeof it == 'object' || typeof it == 'function');
  715. }
  716. function isFunction(it){
  717. return typeof it == 'function';
  718. }
  719. function assertDefined(it){
  720. if(it == undefined)throw TypeError("Can't call method on " + it);
  721. return it;
  722. }
  723. var $ = module.exports = require('./$.fw')({
  724. g: global,
  725. core: core,
  726. html: global.document && document.documentElement,
  727. // http://jsperf.com/core-js-isobject
  728. isObject: isObject,
  729. isFunction: isFunction,
  730. it: function(it){
  731. return it;
  732. },
  733. that: function(){
  734. return this;
  735. },
  736. // 7.1.4 ToInteger
  737. toInteger: toInteger,
  738. // 7.1.15 ToLength
  739. toLength: function(it){
  740. return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  741. },
  742. toIndex: function(index, length){
  743. index = toInteger(index);
  744. return index < 0 ? max(index + length, 0) : min(index, length);
  745. },
  746. has: function(it, key){
  747. return hasOwnProperty.call(it, key);
  748. },
  749. create: Object.create,
  750. getProto: Object.getPrototypeOf,
  751. DESC: DESC,
  752. desc: desc,
  753. getDesc: Object.getOwnPropertyDescriptor,
  754. setDesc: defineProperty,
  755. setDescs: Object.defineProperties,
  756. getKeys: Object.keys,
  757. getNames: Object.getOwnPropertyNames,
  758. getSymbols: Object.getOwnPropertySymbols,
  759. assertDefined: assertDefined,
  760. // Dummy, fix for not array-like ES3 string in es5 module
  761. ES5Object: Object,
  762. toObject: function(it){
  763. return $.ES5Object(assertDefined(it));
  764. },
  765. hide: hide,
  766. def: createDefiner(0),
  767. set: global.Symbol ? simpleSet : hide,
  768. mix: function(target, src){
  769. for(var key in src)hide(target, key, src[key]);
  770. return target;
  771. },
  772. each: [].forEach
  773. });
  774. /* eslint-disable no-undef */
  775. if(typeof __e != 'undefined')__e = core;
  776. if(typeof __g != 'undefined')__g = global;
  777. },{"./$.fw":15}],22:[function(require,module,exports){
  778. var $ = require('./$');
  779. module.exports = function(object, el){
  780. var O = $.toObject(object)
  781. , keys = $.getKeys(O)
  782. , length = keys.length
  783. , index = 0
  784. , key;
  785. while(length > index)if(O[key = keys[index++]] === el)return key;
  786. };
  787. },{"./$":21}],23:[function(require,module,exports){
  788. var $ = require('./$')
  789. , assertObject = require('./$.assert').obj;
  790. module.exports = function ownKeys(it){
  791. assertObject(it);
  792. var keys = $.getNames(it)
  793. , getSymbols = $.getSymbols;
  794. return getSymbols ? keys.concat(getSymbols(it)) : keys;
  795. };
  796. },{"./$":21,"./$.assert":4}],24:[function(require,module,exports){
  797. 'use strict';
  798. var $ = require('./$')
  799. , invoke = require('./$.invoke')
  800. , assertFunction = require('./$.assert').fn;
  801. module.exports = function(/* ...pargs */){
  802. var fn = assertFunction(this)
  803. , length = arguments.length
  804. , pargs = Array(length)
  805. , i = 0
  806. , _ = $.path._
  807. , holder = false;
  808. while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
  809. return function(/* ...args */){
  810. var that = this
  811. , _length = arguments.length
  812. , j = 0, k = 0, args;
  813. if(!holder && !_length)return invoke(fn, pargs, that);
  814. args = pargs.slice();
  815. if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];
  816. while(_length > k)args.push(arguments[k++]);
  817. return invoke(fn, args, that);
  818. };
  819. };
  820. },{"./$":21,"./$.assert":4,"./$.invoke":16}],25:[function(require,module,exports){
  821. 'use strict';
  822. module.exports = function(regExp, replace, isStatic){
  823. var replacer = replace === Object(replace) ? function(part){
  824. return replace[part];
  825. } : replace;
  826. return function(it){
  827. return String(isStatic ? it : this).replace(regExp, replacer);
  828. };
  829. };
  830. },{}],26:[function(require,module,exports){
  831. // Works with __proto__ only. Old v8 can't work with null proto objects.
  832. /* eslint-disable no-proto */
  833. var $ = require('./$')
  834. , assert = require('./$.assert');
  835. function check(O, proto){
  836. assert.obj(O);
  837. assert(proto === null || $.isObject(proto), proto, ": can't set as prototype!");
  838. }
  839. module.exports = {
  840. set: Object.setPrototypeOf || ('__proto__' in {} // eslint-disable-line
  841. ? function(buggy, set){
  842. try {
  843. set = require('./$.ctx')(Function.call, $.getDesc(Object.prototype, '__proto__').set, 2);
  844. set({}, []);
  845. } catch(e){ buggy = true; }
  846. return function setPrototypeOf(O, proto){
  847. check(O, proto);
  848. if(buggy)O.__proto__ = proto;
  849. else set(O, proto);
  850. return O;
  851. };
  852. }()
  853. : undefined),
  854. check: check
  855. };
  856. },{"./$":21,"./$.assert":4,"./$.ctx":11}],27:[function(require,module,exports){
  857. var $ = require('./$')
  858. , SPECIES = require('./$.wks')('species');
  859. module.exports = function(C){
  860. if($.DESC && !(SPECIES in C))$.setDesc(C, SPECIES, {
  861. configurable: true,
  862. get: $.that
  863. });
  864. };
  865. },{"./$":21,"./$.wks":32}],28:[function(require,module,exports){
  866. 'use strict';
  867. // true -> String#at
  868. // false -> String#codePointAt
  869. var $ = require('./$');
  870. module.exports = function(TO_STRING){
  871. return function(pos){
  872. var s = String($.assertDefined(this))
  873. , i = $.toInteger(pos)
  874. , l = s.length
  875. , a, b;
  876. if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
  877. a = s.charCodeAt(i);
  878. return a < 0xd800 || a > 0xdbff || i + 1 === l
  879. || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
  880. ? TO_STRING ? s.charAt(i) : a
  881. : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
  882. };
  883. };
  884. },{"./$":21}],29:[function(require,module,exports){
  885. 'use strict';
  886. var $ = require('./$')
  887. , ctx = require('./$.ctx')
  888. , cof = require('./$.cof')
  889. , invoke = require('./$.invoke')
  890. , global = $.g
  891. , isFunction = $.isFunction
  892. , html = $.html
  893. , document = global.document
  894. , process = global.process
  895. , setTask = global.setImmediate
  896. , clearTask = global.clearImmediate
  897. , postMessage = global.postMessage
  898. , addEventListener = global.addEventListener
  899. , MessageChannel = global.MessageChannel
  900. , counter = 0
  901. , queue = {}
  902. , ONREADYSTATECHANGE = 'onreadystatechange'
  903. , defer, channel, port;
  904. function run(){
  905. var id = +this;
  906. if($.has(queue, id)){
  907. var fn = queue[id];
  908. delete queue[id];
  909. fn();
  910. }
  911. }
  912. function listner(event){
  913. run.call(event.data);
  914. }
  915. // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
  916. if(!isFunction(setTask) || !isFunction(clearTask)){
  917. setTask = function(fn){
  918. var args = [], i = 1;
  919. while(arguments.length > i)args.push(arguments[i++]);
  920. queue[++counter] = function(){
  921. invoke(isFunction(fn) ? fn : Function(fn), args);
  922. };
  923. defer(counter);
  924. return counter;
  925. };
  926. clearTask = function(id){
  927. delete queue[id];
  928. };
  929. // Node.js 0.8-
  930. if(cof(process) == 'process'){
  931. defer = function(id){
  932. process.nextTick(ctx(run, id, 1));
  933. };
  934. // Modern browsers, skip implementation for WebWorkers
  935. // IE8 has postMessage, but it's sync & typeof its postMessage is object
  936. } else if(addEventListener && isFunction(postMessage) && !global.importScripts){
  937. defer = function(id){
  938. postMessage(id, '*');
  939. };
  940. addEventListener('message', listner, false);
  941. // WebWorkers
  942. } else if(isFunction(MessageChannel)){
  943. channel = new MessageChannel;
  944. port = channel.port2;
  945. channel.port1.onmessage = listner;
  946. defer = ctx(port.postMessage, port, 1);
  947. // IE8-
  948. } else if(document && ONREADYSTATECHANGE in document.createElement('script')){
  949. defer = function(id){
  950. html.appendChild(document.createElement('script'))[ONREADYSTATECHANGE] = function(){
  951. html.removeChild(this);
  952. run.call(id);
  953. };
  954. };
  955. // Rest old browsers
  956. } else {
  957. defer = function(id){
  958. setTimeout(ctx(run, id, 1), 0);
  959. };
  960. }
  961. }
  962. module.exports = {
  963. set: setTask,
  964. clear: clearTask
  965. };
  966. },{"./$":21,"./$.cof":6,"./$.ctx":11,"./$.invoke":16}],30:[function(require,module,exports){
  967. var sid = 0;
  968. function uid(key){
  969. return 'Symbol(' + key + ')_' + (++sid + Math.random()).toString(36);
  970. }
  971. uid.safe = require('./$').g.Symbol || uid;
  972. module.exports = uid;
  973. },{"./$":21}],31:[function(require,module,exports){
  974. // 22.1.3.31 Array.prototype[@@unscopables]
  975. var $ = require('./$')
  976. , UNSCOPABLES = require('./$.wks')('unscopables');
  977. if($.FW && !(UNSCOPABLES in []))$.hide(Array.prototype, UNSCOPABLES, {});
  978. module.exports = function(key){
  979. if($.FW)[][UNSCOPABLES][key] = true;
  980. };
  981. },{"./$":21,"./$.wks":32}],32:[function(require,module,exports){
  982. var global = require('./$').g
  983. , store = {};
  984. module.exports = function(name){
  985. return store[name] || (store[name] =
  986. global.Symbol && global.Symbol[name] || require('./$.uid').safe('Symbol.' + name));
  987. };
  988. },{"./$":21,"./$.uid":30}],33:[function(require,module,exports){
  989. var $ = require('./$')
  990. , cof = require('./$.cof')
  991. , $def = require('./$.def')
  992. , invoke = require('./$.invoke')
  993. , arrayMethod = require('./$.array-methods')
  994. , IE_PROTO = require('./$.uid').safe('__proto__')
  995. , assert = require('./$.assert')
  996. , assertObject = assert.obj
  997. , ObjectProto = Object.prototype
  998. , A = []
  999. , slice = A.slice
  1000. , indexOf = A.indexOf
  1001. , classof = cof.classof
  1002. , has = $.has
  1003. , defineProperty = $.setDesc
  1004. , getOwnDescriptor = $.getDesc
  1005. , defineProperties = $.setDescs
  1006. , isFunction = $.isFunction
  1007. , toObject = $.toObject
  1008. , toLength = $.toLength
  1009. , IE8_DOM_DEFINE = false;
  1010. if(!$.DESC){
  1011. try {
  1012. IE8_DOM_DEFINE = defineProperty(document.createElement('div'), 'x',
  1013. {get: function(){ return 8; }}
  1014. ).x == 8;
  1015. } catch(e){ /* empty */ }
  1016. $.setDesc = function(O, P, Attributes){
  1017. if(IE8_DOM_DEFINE)try {
  1018. return defineProperty(O, P, Attributes);
  1019. } catch(e){ /* empty */ }
  1020. if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
  1021. if('value' in Attributes)assertObject(O)[P] = Attributes.value;
  1022. return O;
  1023. };
  1024. $.getDesc = function(O, P){
  1025. if(IE8_DOM_DEFINE)try {
  1026. return getOwnDescriptor(O, P);
  1027. } catch(e){ /* empty */ }
  1028. if(has(O, P))return $.desc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
  1029. };
  1030. $.setDescs = defineProperties = function(O, Properties){
  1031. assertObject(O);
  1032. var keys = $.getKeys(Properties)
  1033. , length = keys.length
  1034. , i = 0
  1035. , P;
  1036. while(length > i)$.setDesc(O, P = keys[i++], Properties[P]);
  1037. return O;
  1038. };
  1039. }
  1040. $def($def.S + $def.F * !$.DESC, 'Object', {
  1041. // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P)
  1042. getOwnPropertyDescriptor: $.getDesc,
  1043. // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
  1044. defineProperty: $.setDesc,
  1045. // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
  1046. defineProperties: defineProperties
  1047. });
  1048. // IE 8- don't enum bug keys
  1049. var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' +
  1050. 'toLocaleString,toString,valueOf').split(',')
  1051. // Additional keys for getOwnPropertyNames
  1052. , keys2 = keys1.concat('length', 'prototype')
  1053. , keysLen1 = keys1.length;
  1054. // Create object with `null` prototype: use iframe Object with cleared prototype
  1055. var createDict = function(){
  1056. // Thrash, waste and sodomy: IE GC bug
  1057. var iframe = document.createElement('iframe')
  1058. , i = keysLen1
  1059. , gt = '>'
  1060. , iframeDocument;
  1061. iframe.style.display = 'none';
  1062. $.html.appendChild(iframe);
  1063. iframe.src = 'javascript:'; // eslint-disable-line no-script-url
  1064. // createDict = iframe.contentWindow.Object;
  1065. // html.removeChild(iframe);
  1066. iframeDocument = iframe.contentWindow.document;
  1067. iframeDocument.open();
  1068. iframeDocument.write('<script>document.F=Object</script' + gt);
  1069. iframeDocument.close();
  1070. createDict = iframeDocument.F;
  1071. while(i--)delete createDict.prototype[keys1[i]];
  1072. return createDict();
  1073. };
  1074. function createGetKeys(names, length){
  1075. return function(object){
  1076. var O = toObject(object)
  1077. , i = 0
  1078. , result = []
  1079. , key;
  1080. for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
  1081. // Don't enum bug & hidden keys
  1082. while(length > i)if(has(O, key = names[i++])){
  1083. ~indexOf.call(result, key) || result.push(key);
  1084. }
  1085. return result;
  1086. };
  1087. }
  1088. function isPrimitive(it){ return !$.isObject(it); }
  1089. function Empty(){}
  1090. $def($def.S, 'Object', {
  1091. // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
  1092. getPrototypeOf: $.getProto = $.getProto || function(O){
  1093. O = Object(assert.def(O));
  1094. if(has(O, IE_PROTO))return O[IE_PROTO];
  1095. if(isFunction(O.constructor) && O instanceof O.constructor){
  1096. return O.constructor.prototype;
  1097. } return O instanceof Object ? ObjectProto : null;
  1098. },
  1099. // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
  1100. getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
  1101. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  1102. create: $.create = $.create || function(O, /*?*/Properties){
  1103. var result;
  1104. if(O !== null){
  1105. Empty.prototype = assertObject(O);
  1106. result = new Empty();
  1107. Empty.prototype = null;
  1108. // add "__proto__" for Object.getPrototypeOf shim
  1109. result[IE_PROTO] = O;
  1110. } else result = createDict();
  1111. return Properties === undefined ? result : defineProperties(result, Properties);
  1112. },
  1113. // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  1114. keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false),
  1115. // 19.1.2.17 / 15.2.3.8 Object.seal(O)
  1116. seal: $.it, // <- cap
  1117. // 19.1.2.5 / 15.2.3.9 Object.freeze(O)
  1118. freeze: $.it, // <- cap
  1119. // 19.1.2.15 / 15.2.3.10 Object.preventExtensions(O)
  1120. preventExtensions: $.it, // <- cap
  1121. // 19.1.2.13 / 15.2.3.11 Object.isSealed(O)
  1122. isSealed: isPrimitive, // <- cap
  1123. // 19.1.2.12 / 15.2.3.12 Object.isFrozen(O)
  1124. isFrozen: isPrimitive, // <- cap
  1125. // 19.1.2.11 / 15.2.3.13 Object.isExtensible(O)
  1126. isExtensible: $.isObject // <- cap
  1127. });
  1128. // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
  1129. $def($def.P, 'Function', {
  1130. bind: function(that /*, args... */){
  1131. var fn = assert.fn(this)
  1132. , partArgs = slice.call(arguments, 1);
  1133. function bound(/* args... */){
  1134. var args = partArgs.concat(slice.call(arguments));
  1135. return invoke(fn, args, this instanceof bound ? $.create(fn.prototype) : that);
  1136. }
  1137. if(fn.prototype)bound.prototype = fn.prototype;
  1138. return bound;
  1139. }
  1140. });
  1141. // Fix for not array-like ES3 string
  1142. function arrayMethodFix(fn){
  1143. return function(){
  1144. return fn.apply($.ES5Object(this), arguments);
  1145. };
  1146. }
  1147. if(!(0 in Object('z') && 'z'[0] == 'z')){
  1148. $.ES5Object = function(it){
  1149. return cof(it) == 'String' ? it.split('') : Object(it);
  1150. };
  1151. }
  1152. $def($def.P + $def.F * ($.ES5Object != Object), 'Array', {
  1153. slice: arrayMethodFix(slice),
  1154. join: arrayMethodFix(A.join)
  1155. });
  1156. // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
  1157. $def($def.S, 'Array', {
  1158. isArray: function(arg){
  1159. return cof(arg) == 'Array';
  1160. }
  1161. });
  1162. function createArrayReduce(isRight){
  1163. return function(callbackfn, memo){
  1164. assert.fn(callbackfn);
  1165. var O = toObject(this)
  1166. , length = toLength(O.length)
  1167. , index = isRight ? length - 1 : 0
  1168. , i = isRight ? -1 : 1;
  1169. if(arguments.length < 2)for(;;){
  1170. if(index in O){
  1171. memo = O[index];
  1172. index += i;
  1173. break;
  1174. }
  1175. index += i;
  1176. assert(isRight ? index >= 0 : length > index, 'Reduce of empty array with no initial value');
  1177. }
  1178. for(;isRight ? index >= 0 : length > index; index += i)if(index in O){
  1179. memo = callbackfn(memo, O[index], index, this);
  1180. }
  1181. return memo;
  1182. };
  1183. }
  1184. $def($def.P, 'Array', {
  1185. // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
  1186. forEach: $.each = $.each || arrayMethod(0),
  1187. // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
  1188. map: arrayMethod(1),
  1189. // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
  1190. filter: arrayMethod(2),
  1191. // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
  1192. some: arrayMethod(3),
  1193. // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
  1194. every: arrayMethod(4),
  1195. // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
  1196. reduce: createArrayReduce(false),
  1197. // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
  1198. reduceRight: createArrayReduce(true),
  1199. // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
  1200. indexOf: indexOf = indexOf || require('./$.array-includes')(false),
  1201. // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
  1202. lastIndexOf: function(el, fromIndex /* = @[*-1] */){
  1203. var O = toObject(this)
  1204. , length = toLength(O.length)
  1205. , index = length - 1;
  1206. if(arguments.length > 1)index = Math.min(index, $.toInteger(fromIndex));
  1207. if(index < 0)index = toLength(length + index);
  1208. for(;index >= 0; index--)if(index in O)if(O[index] === el)return index;
  1209. return -1;
  1210. }
  1211. });
  1212. // 21.1.3.25 / 15.5.4.20 String.prototype.trim()
  1213. $def($def.P, 'String', {trim: require('./$.replacer')(/^\s*([\s\S]*\S)?\s*$/, '$1')});
  1214. // 20.3.3.1 / 15.9.4.4 Date.now()
  1215. $def($def.S, 'Date', {now: function(){
  1216. return +new Date;
  1217. }});
  1218. function lz(num){
  1219. return num > 9 ? num : '0' + num;
  1220. }
  1221. // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
  1222. // PhantomJS and old webkit had a broken Date implementation.
  1223. var date = new Date(-5e13 - 1)
  1224. , brokenDate = !(date.toISOString && date.toISOString() == '0385-07-25T07:06:39.999Z');
  1225. $def($def.P + $def.F * brokenDate, 'Date', {toISOString: function(){
  1226. if(!isFinite(this))throw RangeError('Invalid time value');
  1227. var d = this
  1228. , y = d.getUTCFullYear()
  1229. , m = d.getUTCMilliseconds()
  1230. , s = y < 0 ? '-' : y > 9999 ? '+' : '';
  1231. return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
  1232. '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
  1233. 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
  1234. ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
  1235. }});
  1236. if(classof(function(){ return arguments; }()) == 'Object')cof.classof = function(it){
  1237. var tag = classof(it);
  1238. return tag == 'Object' && isFunction(it.callee) ? 'Arguments' : tag;
  1239. };
  1240. },{"./$":21,"./$.array-includes":2,"./$.array-methods":3,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.invoke":16,"./$.replacer":25,"./$.uid":30}],34:[function(require,module,exports){
  1241. 'use strict';
  1242. var $ = require('./$')
  1243. , $def = require('./$.def')
  1244. , toIndex = $.toIndex;
  1245. $def($def.P, 'Array', {
  1246. // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
  1247. copyWithin: function copyWithin(target/* = 0 */, start /* = 0, end = @length */){
  1248. var O = Object($.assertDefined(this))
  1249. , len = $.toLength(O.length)
  1250. , to = toIndex(target, len)
  1251. , from = toIndex(start, len)
  1252. , end = arguments[2]
  1253. , fin = end === undefined ? len : toIndex(end, len)
  1254. , count = Math.min(fin - from, len - to)
  1255. , inc = 1;
  1256. if(from < to && to < from + count){
  1257. inc = -1;
  1258. from = from + count - 1;
  1259. to = to + count - 1;
  1260. }
  1261. while(count-- > 0){
  1262. if(from in O)O[to] = O[from];
  1263. else delete O[to];
  1264. to += inc;
  1265. from += inc;
  1266. } return O;
  1267. }
  1268. });
  1269. require('./$.unscope')('copyWithin');
  1270. },{"./$":21,"./$.def":12,"./$.unscope":31}],35:[function(require,module,exports){
  1271. 'use strict';
  1272. var $ = require('./$')
  1273. , $def = require('./$.def')
  1274. , toIndex = $.toIndex;
  1275. $def($def.P, 'Array', {
  1276. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  1277. fill: function fill(value /*, start = 0, end = @length */){
  1278. var O = Object($.assertDefined(this))
  1279. , length = $.toLength(O.length)
  1280. , index = toIndex(arguments[1], length)
  1281. , end = arguments[2]
  1282. , endPos = end === undefined ? length : toIndex(end, length);
  1283. while(endPos > index)O[index++] = value;
  1284. return O;
  1285. }
  1286. });
  1287. require('./$.unscope')('fill');
  1288. },{"./$":21,"./$.def":12,"./$.unscope":31}],36:[function(require,module,exports){
  1289. var $def = require('./$.def');
  1290. $def($def.P, 'Array', {
  1291. // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
  1292. findIndex: require('./$.array-methods')(6)
  1293. });
  1294. require('./$.unscope')('findIndex');
  1295. },{"./$.array-methods":3,"./$.def":12,"./$.unscope":31}],37:[function(require,module,exports){
  1296. var $def = require('./$.def');
  1297. $def($def.P, 'Array', {
  1298. // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
  1299. find: require('./$.array-methods')(5)
  1300. });
  1301. require('./$.unscope')('find');
  1302. },{"./$.array-methods":3,"./$.def":12,"./$.unscope":31}],38:[function(require,module,exports){
  1303. var $ = require('./$')
  1304. , ctx = require('./$.ctx')
  1305. , $def = require('./$.def')
  1306. , $iter = require('./$.iter')
  1307. , call = require('./$.iter-call');
  1308. $def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', {
  1309. // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
  1310. from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
  1311. var O = Object($.assertDefined(arrayLike))
  1312. , mapfn = arguments[1]
  1313. , mapping = mapfn !== undefined
  1314. , f = mapping ? ctx(mapfn, arguments[2], 2) : undefined
  1315. , index = 0
  1316. , length, result, step, iterator;
  1317. if($iter.is(O)){
  1318. iterator = $iter.get(O);
  1319. // strange IE quirks mode bug -> use typeof instead of isFunction
  1320. result = new (typeof this == 'function' ? this : Array);
  1321. for(; !(step = iterator.next()).done; index++){
  1322. result[index] = mapping ? call(iterator, f, [step.value, index], true) : step.value;
  1323. }
  1324. } else {
  1325. // strange IE quirks mode bug -> use typeof instead of isFunction
  1326. result = new (typeof this == 'function' ? this : Array)(length = $.toLength(O.length));
  1327. for(; length > index; index++){
  1328. result[index] = mapping ? f(O[index], index) : O[index];
  1329. }
  1330. }
  1331. result.length = index;
  1332. return result;
  1333. }
  1334. });
  1335. },{"./$":21,"./$.ctx":11,"./$.def":12,"./$.iter":20,"./$.iter-call":17,"./$.iter-detect":19}],39:[function(require,module,exports){
  1336. var $ = require('./$')
  1337. , setUnscope = require('./$.unscope')
  1338. , ITER = require('./$.uid').safe('iter')
  1339. , $iter = require('./$.iter')
  1340. , step = $iter.step
  1341. , Iterators = $iter.Iterators;
  1342. // 22.1.3.4 Array.prototype.entries()
  1343. // 22.1.3.13 Array.prototype.keys()
  1344. // 22.1.3.29 Array.prototype.values()
  1345. // 22.1.3.30 Array.prototype[@@iterator]()
  1346. require('./$.iter-define')(Array, 'Array', function(iterated, kind){
  1347. $.set(this, ITER, {o: $.toObject(iterated), i: 0, k: kind});
  1348. // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
  1349. }, function(){
  1350. var iter = this[ITER]
  1351. , O = iter.o
  1352. , kind = iter.k
  1353. , index = iter.i++;
  1354. if(!O || index >= O.length){
  1355. iter.o = undefined;
  1356. return step(1);
  1357. }
  1358. if(kind == 'keys' )return step(0, index);
  1359. if(kind == 'values')return step(0, O[index]);
  1360. return step(0, [index, O[index]]);
  1361. }, 'values');
  1362. // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
  1363. Iterators.Arguments = Iterators.Array;
  1364. setUnscope('keys');
  1365. setUnscope('values');
  1366. setUnscope('entries');
  1367. },{"./$":21,"./$.iter":20,"./$.iter-define":18,"./$.uid":30,"./$.unscope":31}],40:[function(require,module,exports){
  1368. var $def = require('./$.def');
  1369. $def($def.S, 'Array', {
  1370. // 22.1.2.3 Array.of( ...items)
  1371. of: function of(/* ...args */){
  1372. var index = 0
  1373. , length = arguments.length
  1374. // strange IE quirks mode bug -> use typeof instead of isFunction
  1375. , result = new (typeof this == 'function' ? this : Array)(length);
  1376. while(length > index)result[index] = arguments[index++];
  1377. result.length = length;
  1378. return result;
  1379. }
  1380. });
  1381. },{"./$.def":12}],41:[function(require,module,exports){
  1382. require('./$.species')(Array);
  1383. },{"./$.species":27}],42:[function(require,module,exports){
  1384. 'use strict';
  1385. var $ = require('./$')
  1386. , NAME = 'name'
  1387. , setDesc = $.setDesc
  1388. , FunctionProto = Function.prototype;
  1389. // 19.2.4.2 name
  1390. NAME in FunctionProto || $.FW && $.DESC && setDesc(FunctionProto, NAME, {
  1391. configurable: true,
  1392. get: function(){
  1393. var match = String(this).match(/^\s*function ([^ (]*)/)
  1394. , name = match ? match[1] : '';
  1395. $.has(this, NAME) || setDesc(this, NAME, $.desc(5, name));
  1396. return name;
  1397. },
  1398. set: function(value){
  1399. $.has(this, NAME) || setDesc(this, NAME, $.desc(0, value));
  1400. }
  1401. });
  1402. },{"./$":21}],43:[function(require,module,exports){
  1403. 'use strict';
  1404. var strong = require('./$.collection-strong');
  1405. // 23.1 Map Objects
  1406. require('./$.collection')('Map', {
  1407. // 23.1.3.6 Map.prototype.get(key)
  1408. get: function get(key){
  1409. var entry = strong.getEntry(this, key);
  1410. return entry && entry.v;
  1411. },
  1412. // 23.1.3.9 Map.prototype.set(key, value)
  1413. set: function set(key, value){
  1414. return strong.def(this, key === 0 ? 0 : key, value);
  1415. }
  1416. }, strong, true);
  1417. },{"./$.collection":10,"./$.collection-strong":7}],44:[function(require,module,exports){
  1418. var Infinity = 1 / 0
  1419. , $def = require('./$.def')
  1420. , E = Math.E
  1421. , pow = Math.pow
  1422. , abs = Math.abs
  1423. , exp = Math.exp
  1424. , log = Math.log
  1425. , sqrt = Math.sqrt
  1426. , ceil = Math.ceil
  1427. , floor = Math.floor
  1428. , EPSILON = pow(2, -52)
  1429. , EPSILON32 = pow(2, -23)
  1430. , MAX32 = pow(2, 127) * (2 - EPSILON32)
  1431. , MIN32 = pow(2, -126);
  1432. function roundTiesToEven(n){
  1433. return n + 1 / EPSILON - 1 / EPSILON;
  1434. }
  1435. // 20.2.2.28 Math.sign(x)
  1436. function sign(x){
  1437. return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
  1438. }
  1439. // 20.2.2.5 Math.asinh(x)
  1440. function asinh(x){
  1441. return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));
  1442. }
  1443. // 20.2.2.14 Math.expm1(x)
  1444. function expm1(x){
  1445. return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
  1446. }
  1447. $def($def.S, 'Math', {
  1448. // 20.2.2.3 Math.acosh(x)
  1449. acosh: function acosh(x){
  1450. return (x = +x) < 1 ? NaN : isFinite(x) ? log(x / E + sqrt(x + 1) * sqrt(x - 1) / E) + 1 : x;
  1451. },
  1452. // 20.2.2.5 Math.asinh(x)
  1453. asinh: asinh,
  1454. // 20.2.2.7 Math.atanh(x)
  1455. atanh: function atanh(x){
  1456. return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;
  1457. },
  1458. // 20.2.2.9 Math.cbrt(x)
  1459. cbrt: function cbrt(x){
  1460. return sign(x = +x) * pow(abs(x), 1 / 3);
  1461. },
  1462. // 20.2.2.11 Math.clz32(x)
  1463. clz32: function clz32(x){
  1464. return (x >>>= 0) ? 31 - floor(log(x + 0.5) * Math.LOG2E) : 32;
  1465. },
  1466. // 20.2.2.12 Math.cosh(x)
  1467. cosh: function cosh(x){
  1468. return (exp(x = +x) + exp(-x)) / 2;
  1469. },
  1470. // 20.2.2.14 Math.expm1(x)
  1471. expm1: expm1,
  1472. // 20.2.2.16 Math.fround(x)
  1473. fround: function fround(x){
  1474. var $abs = abs(x)
  1475. , $sign = sign(x)
  1476. , a, result;
  1477. if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
  1478. a = (1 + EPSILON32 / EPSILON) * $abs;
  1479. result = a - (a - $abs);
  1480. if(result > MAX32 || result != result)return $sign * Infinity;
  1481. return $sign * result;
  1482. },
  1483. // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
  1484. hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
  1485. var sum = 0
  1486. , len1 = arguments.length
  1487. , len2 = len1
  1488. , args = Array(len1)
  1489. , larg = -Infinity
  1490. , arg;
  1491. while(len1--){
  1492. arg = args[len1] = +arguments[len1];
  1493. if(arg == Infinity || arg == -Infinity)return Infinity;
  1494. if(arg > larg)larg = arg;
  1495. }
  1496. larg = arg || 1;
  1497. while(len2--)sum += pow(args[len2] / larg, 2);
  1498. return larg * sqrt(sum);
  1499. },
  1500. // 20.2.2.18 Math.imul(x, y)
  1501. imul: function imul(x, y){
  1502. var UInt16 = 0xffff
  1503. , xn = +x
  1504. , yn = +y
  1505. , xl = UInt16 & xn
  1506. , yl = UInt16 & yn;
  1507. return 0 | xl * yl + ((UInt16 & xn >>> 16) * yl + xl * (UInt16 & yn >>> 16) << 16 >>> 0);
  1508. },
  1509. // 20.2.2.20 Math.log1p(x)
  1510. log1p: function log1p(x){
  1511. return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
  1512. },
  1513. // 20.2.2.21 Math.log10(x)
  1514. log10: function log10(x){
  1515. return log(x) / Math.LN10;
  1516. },
  1517. // 20.2.2.22 Math.log2(x)
  1518. log2: function log2(x){
  1519. return log(x) / Math.LN2;
  1520. },
  1521. // 20.2.2.28 Math.sign(x)
  1522. sign: sign,
  1523. // 20.2.2.30 Math.sinh(x)
  1524. sinh: function sinh(x){
  1525. return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
  1526. },
  1527. // 20.2.2.33 Math.tanh(x)
  1528. tanh: function tanh(x){
  1529. var a = expm1(x = +x)
  1530. , b = expm1(-x);
  1531. return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
  1532. },
  1533. // 20.2.2.34 Math.trunc(x)
  1534. trunc: function trunc(it){
  1535. return (it > 0 ? floor : ceil)(it);
  1536. }
  1537. });
  1538. },{"./$.def":12}],45:[function(require,module,exports){
  1539. 'use strict';
  1540. var $ = require('./$')
  1541. , isObject = $.isObject
  1542. , isFunction = $.isFunction
  1543. , NUMBER = 'Number'
  1544. , Number = $.g[NUMBER]
  1545. , Base = Number
  1546. , proto = Number.prototype;
  1547. function toPrimitive(it){
  1548. var fn, val;
  1549. if(isFunction(fn = it.valueOf) && !isObject(val = fn.call(it)))return val;
  1550. if(isFunction(fn = it.toString) && !isObject(val = fn.call(it)))return val;
  1551. throw TypeError("Can't convert object to number");
  1552. }
  1553. function toNumber(it){
  1554. if(isObject(it))it = toPrimitive(it);
  1555. if(typeof it == 'string' && it.length > 2 && it.charCodeAt(0) == 48){
  1556. var binary = false;
  1557. switch(it.charCodeAt(1)){
  1558. case 66 : case 98 : binary = true;
  1559. case 79 : case 111 : return parseInt(it.slice(2), binary ? 2 : 8);
  1560. }
  1561. } return +it;
  1562. }
  1563. if($.FW && !(Number('0o1') && Number('0b1'))){
  1564. Number = function Number(it){
  1565. return this instanceof Number ? new Base(toNumber(it)) : toNumber(it);
  1566. };
  1567. $.each.call($.DESC ? $.getNames(Base) : (
  1568. // ES3:
  1569. 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
  1570. // ES6 (in case, if modules with ES6 Number statics required before):
  1571. 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
  1572. 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
  1573. ).split(','), function(key){
  1574. if($.has(Base, key) && !$.has(Number, key)){
  1575. $.setDesc(Number, key, $.getDesc(Base, key));
  1576. }
  1577. }
  1578. );
  1579. Number.prototype = proto;
  1580. proto.constructor = Number;
  1581. $.hide($.g, NUMBER, Number);
  1582. }
  1583. },{"./$":21}],46:[function(require,module,exports){
  1584. var $ = require('./$')
  1585. , $def = require('./$.def')
  1586. , abs = Math.abs
  1587. , floor = Math.floor
  1588. , _isFinite = $.g.isFinite
  1589. , MAX_SAFE_INTEGER = 0x1fffffffffffff; // pow(2, 53) - 1 == 9007199254740991;
  1590. function isInteger(it){
  1591. return !$.isObject(it) && _isFinite(it) && floor(it) === it;
  1592. }
  1593. $def($def.S, 'Number', {
  1594. // 20.1.2.1 Number.EPSILON
  1595. EPSILON: Math.pow(2, -52),
  1596. // 20.1.2.2 Number.isFinite(number)
  1597. isFinite: function isFinite(it){
  1598. return typeof it == 'number' && _isFinite(it);
  1599. },
  1600. // 20.1.2.3 Number.isInteger(number)
  1601. isInteger: isInteger,
  1602. // 20.1.2.4 Number.isNaN(number)
  1603. isNaN: function isNaN(number){
  1604. return number != number;
  1605. },
  1606. // 20.1.2.5 Number.isSafeInteger(number)
  1607. isSafeInteger: function isSafeInteger(number){
  1608. return isInteger(number) && abs(number) <= MAX_SAFE_INTEGER;
  1609. },
  1610. // 20.1.2.6 Number.MAX_SAFE_INTEGER
  1611. MAX_SAFE_INTEGER: MAX_SAFE_INTEGER,
  1612. // 20.1.2.10 Number.MIN_SAFE_INTEGER
  1613. MIN_SAFE_INTEGER: -MAX_SAFE_INTEGER,
  1614. // 20.1.2.12 Number.parseFloat(string)
  1615. parseFloat: parseFloat,
  1616. // 20.1.2.13 Number.parseInt(string, radix)
  1617. parseInt: parseInt
  1618. });
  1619. },{"./$":21,"./$.def":12}],47:[function(require,module,exports){
  1620. // 19.1.3.1 Object.assign(target, source)
  1621. var $def = require('./$.def');
  1622. $def($def.S, 'Object', {assign: require('./$.assign')});
  1623. },{"./$.assign":5,"./$.def":12}],48:[function(require,module,exports){
  1624. // 19.1.3.10 Object.is(value1, value2)
  1625. var $def = require('./$.def');
  1626. $def($def.S, 'Object', {
  1627. is: function is(x, y){
  1628. return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
  1629. }
  1630. });
  1631. },{"./$.def":12}],49:[function(require,module,exports){
  1632. // 19.1.3.19 Object.setPrototypeOf(O, proto)
  1633. var $def = require('./$.def');
  1634. $def($def.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});
  1635. },{"./$.def":12,"./$.set-proto":26}],50:[function(require,module,exports){
  1636. var $ = require('./$')
  1637. , $def = require('./$.def')
  1638. , isObject = $.isObject
  1639. , toObject = $.toObject;
  1640. function wrapObjectMethod(METHOD, MODE){
  1641. var fn = ($.core.Object || {})[METHOD] || Object[METHOD]
  1642. , f = 0
  1643. , o = {};
  1644. o[METHOD] = MODE == 1 ? function(it){
  1645. return isObject(it) ? fn(it) : it;
  1646. } : MODE == 2 ? function(it){
  1647. return isObject(it) ? fn(it) : true;
  1648. } : MODE == 3 ? function(it){
  1649. return isObject(it) ? fn(it) : false;
  1650. } : MODE == 4 ? function getOwnPropertyDescriptor(it, key){
  1651. return fn(toObject(it), key);
  1652. } : MODE == 5 ? function getPrototypeOf(it){
  1653. return fn(Object($.assertDefined(it)));
  1654. } : function(it){
  1655. return fn(toObject(it));
  1656. };
  1657. try {
  1658. fn('z');
  1659. } catch(e){
  1660. f = 1;
  1661. }
  1662. $def($def.S + $def.F * f, 'Object', o);
  1663. }
  1664. wrapObjectMethod('freeze', 1);
  1665. wrapObjectMethod('seal', 1);
  1666. wrapObjectMethod('preventExtensions', 1);
  1667. wrapObjectMethod('isFrozen', 2);
  1668. wrapObjectMethod('isSealed', 2);
  1669. wrapObjectMethod('isExtensible', 3);
  1670. wrapObjectMethod('getOwnPropertyDescriptor', 4);
  1671. wrapObjectMethod('getPrototypeOf', 5);
  1672. wrapObjectMethod('keys');
  1673. wrapObjectMethod('getOwnPropertyNames');
  1674. },{"./$":21,"./$.def":12}],51:[function(require,module,exports){
  1675. 'use strict';
  1676. // 19.1.3.6 Object.prototype.toString()
  1677. var $ = require('./$')
  1678. , cof = require('./$.cof')
  1679. , tmp = {};
  1680. tmp[require('./$.wks')('toStringTag')] = 'z';
  1681. if($.FW && cof(tmp) != 'z')$.hide(Object.prototype, 'toString', function toString(){
  1682. return '[object ' + cof.classof(this) + ']';
  1683. });
  1684. },{"./$":21,"./$.cof":6,"./$.wks":32}],52:[function(require,module,exports){
  1685. 'use strict';
  1686. var $ = require('./$')
  1687. , ctx = require('./$.ctx')
  1688. , cof = require('./$.cof')
  1689. , $def = require('./$.def')
  1690. , assert = require('./$.assert')
  1691. , forOf = require('./$.for-of')
  1692. , setProto = require('./$.set-proto').set
  1693. , species = require('./$.species')
  1694. , SPECIES = require('./$.wks')('species')
  1695. , RECORD = require('./$.uid').safe('record')
  1696. , PROMISE = 'Promise'
  1697. , global = $.g
  1698. , process = global.process
  1699. , asap = process && process.nextTick || require('./$.task').set
  1700. , P = global[PROMISE]
  1701. , isFunction = $.isFunction
  1702. , isObject = $.isObject
  1703. , assertFunction = assert.fn
  1704. , assertObject = assert.obj
  1705. , test;
  1706. var useNative = isFunction(P) && isFunction(P.resolve) &&
  1707. P.resolve(test = new P(function(){})) == test;
  1708. // actual Firefox has broken subclass support, test that
  1709. function P2(x){
  1710. var self = new P(x);
  1711. setProto(self, P2.prototype);
  1712. return self;
  1713. }
  1714. if(useNative){
  1715. try { // protect against bad/buggy Object.setPrototype
  1716. setProto(P2, P);
  1717. P2.prototype = $.create(P.prototype, {constructor: {value: P2}});
  1718. if(!(P2.resolve(5).then(function(){}) instanceof P2)){
  1719. useNative = false;
  1720. }
  1721. } catch(e){ useNative = false; }
  1722. }
  1723. // helpers
  1724. function getConstructor(C){
  1725. var S = assertObject(C)[SPECIES];
  1726. return S != undefined ? S : C;
  1727. }
  1728. function isThenable(it){
  1729. var then;
  1730. if(isObject(it))then = it.then;
  1731. return isFunction(then) ? then : false;
  1732. }
  1733. function notify(record){
  1734. var chain = record.c;
  1735. if(chain.length)asap(function(){
  1736. var value = record.v
  1737. , ok = record.s == 1
  1738. , i = 0;
  1739. while(chain.length > i)!function(react){
  1740. var cb = ok ? react.ok : react.fail
  1741. , ret, then;
  1742. try {
  1743. if(cb){
  1744. if(!ok)record.h = true;
  1745. ret = cb === true ? value : cb(value);
  1746. if(ret === react.P){
  1747. react.rej(TypeError('Promise-chain cycle'));
  1748. } else if(then = isThenable(ret)){
  1749. then.call(ret, react.res, react.rej);
  1750. } else react.res(ret);
  1751. } else react.rej(value);
  1752. } catch(err){
  1753. react.rej(err);
  1754. }
  1755. }(chain[i++]);
  1756. chain.length = 0;
  1757. });
  1758. }
  1759. function isUnhandled(promise){
  1760. var record = promise[RECORD]
  1761. , chain = record.a
  1762. , i = 0
  1763. , react;
  1764. if(record.h)return false;
  1765. while(chain.length > i){
  1766. react = chain[i++];
  1767. if(react.fail || !isUnhandled(react.P))return false;
  1768. } return true;
  1769. }
  1770. function $reject(value){
  1771. var record = this
  1772. , promise;
  1773. if(record.d)return;
  1774. record.d = true;
  1775. record = record.r || record; // unwrap
  1776. record.v = value;
  1777. record.s = 2;
  1778. asap(function(){
  1779. setTimeout(function(){
  1780. if(isUnhandled(promise = record.p)){
  1781. if(cof(process) == 'process'){
  1782. process.emit('unhandledRejection', value, promise);
  1783. } else if(global.console && isFunction(console.error)){
  1784. console.error('Unhandled promise rejection', value);
  1785. }
  1786. }
  1787. }, 1);
  1788. });
  1789. notify(record);
  1790. }
  1791. function $resolve(value){
  1792. var record = this
  1793. , then, wrapper;
  1794. if(record.d)return;
  1795. record.d = true;
  1796. record = record.r || record; // unwrap
  1797. try {
  1798. if(then = isThenable(value)){
  1799. wrapper = {r: record, d: false}; // wrap
  1800. then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
  1801. } else {
  1802. record.v = value;
  1803. record.s = 1;
  1804. notify(record);
  1805. }
  1806. } catch(err){
  1807. $reject.call(wrapper || {r: record, d: false}, err); // wrap
  1808. }
  1809. }
  1810. // constructor polyfill
  1811. if(!useNative){
  1812. // 25.4.3.1 Promise(executor)
  1813. P = function Promise(executor){
  1814. assertFunction(executor);
  1815. var record = {
  1816. p: assert.inst(this, P, PROMISE), // <- promise
  1817. c: [], // <- awaiting reactions
  1818. a: [], // <- all reactions
  1819. s: 0, // <- state
  1820. d: false, // <- done
  1821. v: undefined, // <- value
  1822. h: false // <- handled rejection
  1823. };
  1824. $.hide(this, RECORD, record);
  1825. try {
  1826. executor(ctx($resolve, record, 1), ctx($reject, record, 1));
  1827. } catch(err){
  1828. $reject.call(record, err);
  1829. }
  1830. };
  1831. $.mix(P.prototype, {
  1832. // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
  1833. then: function then(onFulfilled, onRejected){
  1834. var S = assertObject(assertObject(this).constructor)[SPECIES];
  1835. var react = {
  1836. ok: isFunction(onFulfilled) ? onFulfilled : true,
  1837. fail: isFunction(onRejected) ? onRejected : false
  1838. };
  1839. var promise = react.P = new (S != undefined ? S : P)(function(res, rej){
  1840. react.res = assertFunction(res);
  1841. react.rej = assertFunction(rej);
  1842. });
  1843. var record = this[RECORD];
  1844. record.a.push(react);
  1845. record.c.push(react);
  1846. record.s && notify(record);
  1847. return promise;
  1848. },
  1849. // 25.4.5.1 Promise.prototype.catch(onRejected)
  1850. 'catch': function(onRejected){
  1851. return this.then(undefined, onRejected);
  1852. }
  1853. });
  1854. }
  1855. // export
  1856. $def($def.G + $def.W + $def.F * !useNative, {Promise: P});
  1857. cof.set(P, PROMISE);
  1858. species(P);
  1859. species($.core[PROMISE]); // for wrapper
  1860. // statics
  1861. $def($def.S + $def.F * !useNative, PROMISE, {
  1862. // 25.4.4.5 Promise.reject(r)
  1863. reject: function reject(r){
  1864. return new (getConstructor(this))(function(res, rej){
  1865. rej(r);
  1866. });
  1867. },
  1868. // 25.4.4.6 Promise.resolve(x)
  1869. resolve: function resolve(x){
  1870. return isObject(x) && RECORD in x && $.getProto(x) === this.prototype
  1871. ? x : new (getConstructor(this))(function(res){
  1872. res(x);
  1873. });
  1874. }
  1875. });
  1876. $def($def.S + $def.F * !(useNative && require('./$.iter-detect')(function(iter){
  1877. //P.all(iter)['catch'](function(){});//改
  1878. })), PROMISE, {
  1879. // 25.4.4.1 Promise.all(iterable)
  1880. all: function all(iterable){
  1881. var C = getConstructor(this)
  1882. , values = [];
  1883. return new C(function(res, rej){
  1884. forOf(iterable, false, values.push, values);
  1885. var remaining = values.length
  1886. , results = Array(remaining);
  1887. if(remaining)$.each.call(values, function(promise, index){
  1888. C.resolve(promise).then(function(value){
  1889. results[index] = value;
  1890. --remaining || res(results);
  1891. }, rej);
  1892. });
  1893. else res(results);
  1894. });
  1895. },
  1896. // 25.4.4.4 Promise.race(iterable)
  1897. race: function race(iterable){
  1898. var C = getConstructor(this);
  1899. return new C(function(res, rej){
  1900. forOf(iterable, false, function(promise){
  1901. C.resolve(promise).then(res, rej);
  1902. });
  1903. });
  1904. }
  1905. });
  1906. },{"./$":21,"./$.assert":4,"./$.cof":6,"./$.ctx":11,"./$.def":12,"./$.for-of":14,"./$.iter-detect":19,"./$.set-proto":26,"./$.species":27,"./$.task":29,"./$.uid":30,"./$.wks":32}],53:[function(require,module,exports){
  1907. var $ = require('./$')
  1908. , $def = require('./$.def')
  1909. , setProto = require('./$.set-proto')
  1910. , $iter = require('./$.iter')
  1911. , ITER = require('./$.uid').safe('iter')
  1912. , step = $iter.step
  1913. , assert = require('./$.assert')
  1914. , isObject = $.isObject
  1915. , getDesc = $.getDesc
  1916. , setDesc = $.setDesc
  1917. , getProto = $.getProto
  1918. , apply = Function.apply
  1919. , assertObject = assert.obj
  1920. , _isExtensible = Object.isExtensible || $.it;
  1921. function Enumerate(iterated){
  1922. $.set(this, ITER, {o: iterated, k: undefined, i: 0});
  1923. }
  1924. $iter.create(Enumerate, 'Object', function(){
  1925. var iter = this[ITER]
  1926. , keys = iter.k
  1927. , key;
  1928. if(keys == undefined){
  1929. iter.k = keys = [];
  1930. for(key in iter.o)keys.push(key);
  1931. }
  1932. do {
  1933. if(iter.i >= keys.length)return step(1);
  1934. } while(!((key = keys[iter.i++]) in iter.o));
  1935. return step(0, key);
  1936. });
  1937. function wrap(fn){
  1938. return function(it){
  1939. assertObject(it);
  1940. try {
  1941. fn.apply(undefined, arguments);
  1942. return true;
  1943. } catch(e){
  1944. return false;
  1945. }
  1946. };
  1947. }
  1948. function get(target, propertyKey/*, receiver*/){
  1949. var receiver = arguments.length < 3 ? target : arguments[2]
  1950. , desc = getDesc(assertObject(target), propertyKey), proto;
  1951. if(desc)return $.has(desc, 'value')
  1952. ? desc.value
  1953. : desc.get === undefined
  1954. ? undefined
  1955. : desc.get.call(receiver);
  1956. return isObject(proto = getProto(target))
  1957. ? get(proto, propertyKey, receiver)
  1958. : undefined;
  1959. }
  1960. function set(target, propertyKey, V/*, receiver*/){
  1961. var receiver = arguments.length < 4 ? target : arguments[3]
  1962. , ownDesc = getDesc(assertObject(target), propertyKey)
  1963. , existingDescriptor, proto;
  1964. if(!ownDesc){
  1965. if(isObject(proto = getProto(target))){
  1966. return set(proto, propertyKey, V, receiver);
  1967. }
  1968. ownDesc = $.desc(0);
  1969. }
  1970. if($.has(ownDesc, 'value')){
  1971. if(ownDesc.writable === false || !isObject(receiver))return false;
  1972. existingDescriptor = getDesc(receiver, propertyKey) || $.desc(0);
  1973. existingDescriptor.value = V;
  1974. setDesc(receiver, propertyKey, existingDescriptor);
  1975. return true;
  1976. }
  1977. return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
  1978. }
  1979. var reflect = {
  1980. // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
  1981. apply: require('./$.ctx')(Function.call, apply, 3),
  1982. // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
  1983. construct: function construct(target, argumentsList /*, newTarget*/){
  1984. var proto = assert.fn(arguments.length < 3 ? target : arguments[2]).prototype
  1985. , instance = $.create(isObject(proto) ? proto : Object.prototype)
  1986. , result = apply.call(target, instance, argumentsList);
  1987. return isObject(result) ? result : instance;
  1988. },
  1989. // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
  1990. defineProperty: wrap(setDesc),
  1991. // 26.1.4 Reflect.deleteProperty(target, propertyKey)
  1992. deleteProperty: function deleteProperty(target, propertyKey){
  1993. var desc = getDesc(assertObject(target), propertyKey);
  1994. return desc && !desc.configurable ? false : delete target[propertyKey];
  1995. },
  1996. // 26.1.5 Reflect.enumerate(target)
  1997. enumerate: function enumerate(target){
  1998. return new Enumerate(assertObject(target));
  1999. },
  2000. // 26.1.6 Reflect.get(target, propertyKey [, receiver])
  2001. get: get,
  2002. // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
  2003. getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
  2004. return getDesc(assertObject(target), propertyKey);
  2005. },
  2006. // 26.1.8 Reflect.getPrototypeOf(target)
  2007. getPrototypeOf: function getPrototypeOf(target){
  2008. return getProto(assertObject(target));
  2009. },
  2010. // 26.1.9 Reflect.has(target, propertyKey)
  2011. has: function has(target, propertyKey){
  2012. return propertyKey in target;
  2013. },
  2014. // 26.1.10 Reflect.isExtensible(target)
  2015. isExtensible: function isExtensible(target){
  2016. return !!_isExtensible(assertObject(target));
  2017. },
  2018. // 26.1.11 Reflect.ownKeys(target)
  2019. ownKeys: require('./$.own-keys'),
  2020. // 26.1.12 Reflect.preventExtensions(target)
  2021. preventExtensions: wrap(Object.preventExtensions || $.it),
  2022. // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
  2023. set: set
  2024. };
  2025. // 26.1.14 Reflect.setPrototypeOf(target, proto)
  2026. if(setProto)reflect.setPrototypeOf = function setPrototypeOf(target, proto){
  2027. setProto.check(target, proto);
  2028. try {
  2029. setProto.set(target, proto);
  2030. return true;
  2031. } catch(e){
  2032. return false;
  2033. }
  2034. };
  2035. $def($def.G, {Reflect: {}});
  2036. $def($def.S, 'Reflect', reflect);
  2037. },{"./$":21,"./$.assert":4,"./$.ctx":11,"./$.def":12,"./$.iter":20,"./$.own-keys":23,"./$.set-proto":26,"./$.uid":30}],54:[function(require,module,exports){
  2038. var $ = require('./$')
  2039. , cof = require('./$.cof')
  2040. , RegExp = $.g.RegExp
  2041. , Base = RegExp
  2042. , proto = RegExp.prototype;
  2043. function regExpBroken() {
  2044. try {
  2045. var a = /a/g;
  2046. // "new" creates a new object
  2047. if (a === new RegExp(a)) { return true; }
  2048. // RegExp allows a regex with flags as the pattern
  2049. return RegExp(/a/g, 'i') != '/a/i';
  2050. } catch(e) {
  2051. return true;
  2052. }
  2053. }
  2054. if($.FW && $.DESC){
  2055. if(regExpBroken()) {
  2056. RegExp = function RegExp(pattern, flags){
  2057. return new Base(cof(pattern) == 'RegExp' ? pattern.source : pattern,
  2058. flags === undefined ? pattern.flags : flags);
  2059. };
  2060. $.each.call($.getNames(Base), function(key){
  2061. key in RegExp || $.setDesc(RegExp, key, {
  2062. configurable: true,
  2063. get: function(){ return Base[key]; },
  2064. set: function(it){ Base[key] = it; }
  2065. });
  2066. });
  2067. proto.constructor = RegExp;
  2068. RegExp.prototype = proto;
  2069. $.hide($.g, 'RegExp', RegExp);
  2070. }
  2071. // 21.2.5.3 get RegExp.prototype.flags()
  2072. if(/./g.flags != 'g')$.setDesc(proto, 'flags', {
  2073. configurable: true,
  2074. get: require('./$.replacer')(/^.*\/(\w*)$/, '$1')
  2075. });
  2076. }
  2077. require('./$.species')(RegExp);
  2078. },{"./$":21,"./$.cof":6,"./$.replacer":25,"./$.species":27}],55:[function(require,module,exports){
  2079. 'use strict';
  2080. var strong = require('./$.collection-strong');
  2081. // 23.2 Set Objects
  2082. require('./$.collection')('Set', {
  2083. // 23.2.3.1 Set.prototype.add(value)
  2084. add: function add(value){
  2085. return strong.def(this, value = value === 0 ? 0 : value, value);
  2086. }
  2087. }, strong);
  2088. },{"./$.collection":10,"./$.collection-strong":7}],56:[function(require,module,exports){
  2089. var $def = require('./$.def');
  2090. $def($def.P, 'String', {
  2091. // 21.1.3.3 String.prototype.codePointAt(pos)
  2092. codePointAt: require('./$.string-at')(false)
  2093. });
  2094. },{"./$.def":12,"./$.string-at":28}],57:[function(require,module,exports){
  2095. 'use strict';
  2096. var $ = require('./$')
  2097. , cof = require('./$.cof')
  2098. , $def = require('./$.def')
  2099. , toLength = $.toLength;
  2100. $def($def.P, 'String', {
  2101. // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
  2102. endsWith: function endsWith(searchString /*, endPosition = @length */){
  2103. if(cof(searchString) == 'RegExp')throw TypeError();
  2104. var that = String($.assertDefined(this))
  2105. , endPosition = arguments[1]
  2106. , len = toLength(that.length)
  2107. , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
  2108. searchString += '';
  2109. return that.slice(end - searchString.length, end) === searchString;
  2110. }
  2111. });
  2112. },{"./$":21,"./$.cof":6,"./$.def":12}],58:[function(require,module,exports){
  2113. var $def = require('./$.def')
  2114. , toIndex = require('./$').toIndex
  2115. , fromCharCode = String.fromCharCode;
  2116. $def($def.S, 'String', {
  2117. // 21.1.2.2 String.fromCodePoint(...codePoints)
  2118. fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
  2119. var res = []
  2120. , len = arguments.length
  2121. , i = 0
  2122. , code;
  2123. while(len > i){
  2124. code = +arguments[i++];
  2125. if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
  2126. res.push(code < 0x10000
  2127. ? fromCharCode(code)
  2128. : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
  2129. );
  2130. } return res.join('');
  2131. }
  2132. });
  2133. },{"./$":21,"./$.def":12}],59:[function(require,module,exports){
  2134. 'use strict';
  2135. var $ = require('./$')
  2136. , cof = require('./$.cof')
  2137. , $def = require('./$.def');
  2138. $def($def.P, 'String', {
  2139. // 21.1.3.7 String.prototype.includes(searchString, position = 0)
  2140. includes: function includes(searchString /*, position = 0 */){
  2141. if(cof(searchString) == 'RegExp')throw TypeError();
  2142. return !!~String($.assertDefined(this)).indexOf(searchString, arguments[1]);
  2143. }
  2144. });
  2145. },{"./$":21,"./$.cof":6,"./$.def":12}],60:[function(require,module,exports){
  2146. var set = require('./$').set
  2147. , at = require('./$.string-at')(true)
  2148. , ITER = require('./$.uid').safe('iter')
  2149. , $iter = require('./$.iter')
  2150. , step = $iter.step;
  2151. // 21.1.3.27 String.prototype[@@iterator]()
  2152. require('./$.iter-define')(String, 'String', function(iterated){
  2153. set(this, ITER, {o: String(iterated), i: 0});
  2154. // 21.1.5.2.1 %StringIteratorPrototype%.next()
  2155. }, function(){
  2156. var iter = this[ITER]
  2157. , O = iter.o
  2158. , index = iter.i
  2159. , point;
  2160. if(index >= O.length)return step(1);
  2161. point = at.call(O, index);
  2162. iter.i += point.length;
  2163. return step(0, point);
  2164. });
  2165. },{"./$":21,"./$.iter":20,"./$.iter-define":18,"./$.string-at":28,"./$.uid":30}],61:[function(require,module,exports){
  2166. var $ = require('./$')
  2167. , $def = require('./$.def');
  2168. $def($def.S, 'String', {
  2169. // 21.1.2.4 String.raw(callSite, ...substitutions)
  2170. raw: function raw(callSite){
  2171. var tpl = $.toObject(callSite.raw)
  2172. , len = $.toLength(tpl.length)
  2173. , sln = arguments.length
  2174. , res = []
  2175. , i = 0;
  2176. while(len > i){
  2177. res.push(String(tpl[i++]));
  2178. if(i < sln)res.push(String(arguments[i]));
  2179. } return res.join('');
  2180. }
  2181. });
  2182. },{"./$":21,"./$.def":12}],62:[function(require,module,exports){
  2183. 'use strict';
  2184. var $ = require('./$')
  2185. , $def = require('./$.def');
  2186. $def($def.P, 'String', {
  2187. // 21.1.3.13 String.prototype.repeat(count)
  2188. repeat: function repeat(count){
  2189. var str = String($.assertDefined(this))
  2190. , res = ''
  2191. , n = $.toInteger(count);
  2192. if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
  2193. for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
  2194. return res;
  2195. }
  2196. });
  2197. },{"./$":21,"./$.def":12}],63:[function(require,module,exports){
  2198. 'use strict';
  2199. var $ = require('./$')
  2200. , cof = require('./$.cof')
  2201. , $def = require('./$.def');
  2202. $def($def.P, 'String', {
  2203. // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
  2204. startsWith: function startsWith(searchString /*, position = 0 */){
  2205. if(cof(searchString) == 'RegExp')throw TypeError();
  2206. var that = String($.assertDefined(this))
  2207. , index = $.toLength(Math.min(arguments[1], that.length));
  2208. searchString += '';
  2209. return that.slice(index, index + searchString.length) === searchString;
  2210. }
  2211. });
  2212. },{"./$":21,"./$.cof":6,"./$.def":12}],64:[function(require,module,exports){
  2213. 'use strict';
  2214. // ECMAScript 6 symbols shim
  2215. var $ = require('./$')
  2216. , setTag = require('./$.cof').set
  2217. , uid = require('./$.uid')
  2218. , $def = require('./$.def')
  2219. , keyOf = require('./$.keyof')
  2220. , enumKeys = require('./$.enum-keys')
  2221. , assertObject = require('./$.assert').obj
  2222. , has = $.has
  2223. , $create = $.create
  2224. , getDesc = $.getDesc
  2225. , setDesc = $.setDesc
  2226. , desc = $.desc
  2227. , getNames = $.getNames
  2228. , toObject = $.toObject
  2229. , Symbol = $.g.Symbol
  2230. , setter = false
  2231. , TAG = uid('tag')
  2232. , HIDDEN = uid('hidden')
  2233. , SymbolRegistry = {}
  2234. , AllSymbols = {}
  2235. , useNative = $.isFunction(Symbol);
  2236. function wrap(tag){
  2237. var sym = AllSymbols[tag] = $.set($create(Symbol.prototype), TAG, tag);
  2238. $.DESC && setter && setDesc(Object.prototype, tag, {
  2239. configurable: true,
  2240. set: function(value){
  2241. if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
  2242. setDesc(this, tag, desc(1, value));
  2243. }
  2244. });
  2245. return sym;
  2246. }
  2247. function defineProperty(it, key, D){
  2248. if(D && has(AllSymbols, key)){
  2249. if(!D.enumerable){
  2250. if(!has(it, HIDDEN))setDesc(it, HIDDEN, desc(1, {}));
  2251. it[HIDDEN][key] = true;
  2252. } else {
  2253. if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
  2254. D.enumerable = false;
  2255. }
  2256. } return setDesc(it, key, D);
  2257. }
  2258. function defineProperties(it, P){
  2259. assertObject(it);
  2260. var keys = enumKeys(P = toObject(P))
  2261. , i = 0
  2262. , l = keys.length
  2263. , key;
  2264. while(l > i)defineProperty(it, key = keys[i++], P[key]);
  2265. return it;
  2266. }
  2267. function create(it, P){
  2268. return P === undefined ? $create(it) : defineProperties($create(it), P);
  2269. }
  2270. function getOwnPropertyDescriptor(it, key){
  2271. var D = getDesc(it = toObject(it), key);
  2272. if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
  2273. return D;
  2274. }
  2275. function getOwnPropertyNames(it){
  2276. var names = getNames(toObject(it))
  2277. , result = []
  2278. , i = 0
  2279. , key;
  2280. while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
  2281. return result;
  2282. }
  2283. function getOwnPropertySymbols(it){
  2284. var names = getNames(toObject(it))
  2285. , result = []
  2286. , i = 0
  2287. , key;
  2288. while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
  2289. return result;
  2290. }
  2291. // 19.4.1.1 Symbol([description])
  2292. if(!useNative){
  2293. Symbol = function Symbol(description){
  2294. if(this instanceof Symbol)throw TypeError('Symbol is not a constructor');
  2295. return wrap(uid(description));
  2296. };
  2297. $.hide(Symbol.prototype, 'toString', function(){
  2298. return this[TAG];
  2299. });
  2300. $.create = create;
  2301. $.setDesc = defineProperty;
  2302. $.getDesc = getOwnPropertyDescriptor;
  2303. $.setDescs = defineProperties;
  2304. $.getNames = getOwnPropertyNames;
  2305. $.getSymbols = getOwnPropertySymbols;
  2306. }
  2307. var symbolStatics = {
  2308. // 19.4.2.1 Symbol.for(key)
  2309. 'for': function(key){
  2310. return has(SymbolRegistry, key += '')
  2311. ? SymbolRegistry[key]
  2312. : SymbolRegistry[key] = Symbol(key);
  2313. },
  2314. // 19.4.2.5 Symbol.keyFor(sym)
  2315. keyFor: function keyFor(key){
  2316. return keyOf(SymbolRegistry, key);
  2317. },
  2318. useSetter: function(){ setter = true; },
  2319. useSimple: function(){ setter = false; }
  2320. };
  2321. // 19.4.2.2 Symbol.hasInstance
  2322. // 19.4.2.3 Symbol.isConcatSpreadable
  2323. // 19.4.2.4 Symbol.iterator
  2324. // 19.4.2.6 Symbol.match
  2325. // 19.4.2.8 Symbol.replace
  2326. // 19.4.2.9 Symbol.search
  2327. // 19.4.2.10 Symbol.species
  2328. // 19.4.2.11 Symbol.split
  2329. // 19.4.2.12 Symbol.toPrimitive
  2330. // 19.4.2.13 Symbol.toStringTag
  2331. // 19.4.2.14 Symbol.unscopables
  2332. $.each.call((
  2333. 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
  2334. 'species,split,toPrimitive,toStringTag,unscopables'
  2335. ).split(','), function(it){
  2336. var sym = require('./$.wks')(it);
  2337. symbolStatics[it] = useNative ? sym : wrap(sym);
  2338. }
  2339. );
  2340. setter = true;
  2341. $def($def.G + $def.W, {Symbol: Symbol});
  2342. $def($def.S, 'Symbol', symbolStatics);
  2343. $def($def.S + $def.F * !useNative, 'Object', {
  2344. // 19.1.2.2 Object.create(O [, Properties])
  2345. create: create,
  2346. // 19.1.2.4 Object.defineProperty(O, P, Attributes)
  2347. defineProperty: defineProperty,
  2348. // 19.1.2.3 Object.defineProperties(O, Properties)
  2349. defineProperties: defineProperties,
  2350. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  2351. getOwnPropertyDescriptor: getOwnPropertyDescriptor,
  2352. // 19.1.2.7 Object.getOwnPropertyNames(O)
  2353. getOwnPropertyNames: getOwnPropertyNames,
  2354. // 19.1.2.8 Object.getOwnPropertySymbols(O)
  2355. getOwnPropertySymbols: getOwnPropertySymbols
  2356. });
  2357. // 19.4.3.5 Symbol.prototype[@@toStringTag]
  2358. setTag(Symbol, 'Symbol');
  2359. // 20.2.1.9 Math[@@toStringTag]
  2360. setTag(Math, 'Math', true);
  2361. // 24.3.3 JSON[@@toStringTag]
  2362. setTag($.g.JSON, 'JSON', true);
  2363. },{"./$":21,"./$.assert":4,"./$.cof":6,"./$.def":12,"./$.enum-keys":13,"./$.keyof":22,"./$.uid":30,"./$.wks":32}],65:[function(require,module,exports){
  2364. 'use strict';
  2365. var $ = require('./$')
  2366. , weak = require('./$.collection-weak')
  2367. , leakStore = weak.leakStore
  2368. , ID = weak.ID
  2369. , WEAK = weak.WEAK
  2370. , has = $.has
  2371. , isObject = $.isObject
  2372. , isFrozen = Object.isFrozen || $.core.Object.isFrozen
  2373. , tmp = {};
  2374. // 23.3 WeakMap Objects
  2375. var WeakMap = require('./$.collection')('WeakMap', {
  2376. // 23.3.3.3 WeakMap.prototype.get(key)
  2377. get: function get(key){
  2378. if(isObject(key)){
  2379. if(isFrozen(key))return leakStore(this).get(key);
  2380. if(has(key, WEAK))return key[WEAK][this[ID]];
  2381. }
  2382. },
  2383. // 23.3.3.5 WeakMap.prototype.set(key, value)
  2384. set: function set(key, value){
  2385. return weak.def(this, key, value);
  2386. }
  2387. }, weak, true, true);
  2388. // IE11 WeakMap frozen keys fix
  2389. if($.FW && new WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
  2390. $.each.call(['delete', 'has', 'get', 'set'], function(key){
  2391. var method = WeakMap.prototype[key];
  2392. WeakMap.prototype[key] = function(a, b){
  2393. // store frozen objects on leaky map
  2394. if(isObject(a) && isFrozen(a)){
  2395. var result = leakStore(this)[key](a, b);
  2396. return key == 'set' ? this : result;
  2397. // store all the rest on native weakmap
  2398. } return method.call(this, a, b);
  2399. };
  2400. });
  2401. }
  2402. },{"./$":21,"./$.collection":10,"./$.collection-weak":9}],66:[function(require,module,exports){
  2403. 'use strict';
  2404. var weak = require('./$.collection-weak');
  2405. // 23.4 WeakSet Objects
  2406. require('./$.collection')('WeakSet', {
  2407. // 23.4.3.1 WeakSet.prototype.add(value)
  2408. add: function add(value){
  2409. return weak.def(this, value, true);
  2410. }
  2411. }, weak, false, true);
  2412. },{"./$.collection":10,"./$.collection-weak":9}],67:[function(require,module,exports){
  2413. // https://github.com/domenic/Array.prototype.includes
  2414. var $def = require('./$.def');
  2415. $def($def.P, 'Array', {
  2416. includes: require('./$.array-includes')(true)
  2417. });
  2418. require('./$.unscope')('includes');
  2419. },{"./$.array-includes":2,"./$.def":12,"./$.unscope":31}],68:[function(require,module,exports){
  2420. // https://github.com/DavidBruant/Map-Set.prototype.toJSON
  2421. require('./$.collection-to-json')('Map');
  2422. },{"./$.collection-to-json":8}],69:[function(require,module,exports){
  2423. // https://gist.github.com/WebReflection/9353781
  2424. var $ = require('./$')
  2425. , $def = require('./$.def')
  2426. , ownKeys = require('./$.own-keys');
  2427. $def($def.S, 'Object', {
  2428. getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
  2429. var O = $.toObject(object)
  2430. , result = {};
  2431. $.each.call(ownKeys(O), function(key){
  2432. $.setDesc(result, key, $.desc(0, $.getDesc(O, key)));
  2433. });
  2434. return result;
  2435. }
  2436. });
  2437. },{"./$":21,"./$.def":12,"./$.own-keys":23}],70:[function(require,module,exports){
  2438. // http://goo.gl/XkBrjD
  2439. var $ = require('./$')
  2440. , $def = require('./$.def');
  2441. function createObjectToArray(isEntries){
  2442. return function(object){
  2443. var O = $.toObject(object)
  2444. , keys = $.getKeys(O)
  2445. , length = keys.length
  2446. , i = 0
  2447. , result = Array(length)
  2448. , key;
  2449. if(isEntries)while(length > i)result[i] = [key = keys[i++], O[key]];
  2450. else while(length > i)result[i] = O[keys[i++]];
  2451. return result;
  2452. };
  2453. }
  2454. $def($def.S, 'Object', {
  2455. values: createObjectToArray(false),
  2456. entries: createObjectToArray(true)
  2457. });
  2458. },{"./$":21,"./$.def":12}],71:[function(require,module,exports){
  2459. // https://gist.github.com/kangax/9698100
  2460. var $def = require('./$.def');
  2461. $def($def.S, 'RegExp', {
  2462. escape: require('./$.replacer')(/([\\\-[\]{}()*+?.,^$|])/g, '\\$1', true)
  2463. });
  2464. },{"./$.def":12,"./$.replacer":25}],72:[function(require,module,exports){
  2465. // https://github.com/DavidBruant/Map-Set.prototype.toJSON
  2466. require('./$.collection-to-json')('Set');
  2467. },{"./$.collection-to-json":8}],73:[function(require,module,exports){
  2468. // https://github.com/mathiasbynens/String.prototype.at
  2469. var $def = require('./$.def');
  2470. $def($def.P, 'String', {
  2471. at: require('./$.string-at')(true)
  2472. });
  2473. },{"./$.def":12,"./$.string-at":28}],74:[function(require,module,exports){
  2474. // JavaScript 1.6 / Strawman array statics shim
  2475. var $ = require('./$')
  2476. , $def = require('./$.def')
  2477. , $Array = $.core.Array || Array
  2478. , statics = {};
  2479. function setStatics(keys, length){
  2480. $.each.call(keys.split(','), function(key){
  2481. if(length == undefined && key in $Array)statics[key] = $Array[key];
  2482. else if(key in [])statics[key] = require('./$.ctx')(Function.call, [][key], length);
  2483. });
  2484. }
  2485. setStatics('pop,reverse,shift,keys,values,entries', 1);
  2486. setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3);
  2487. setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' +
  2488. 'reduce,reduceRight,copyWithin,fill,turn');
  2489. $def($def.S, 'Array', statics);
  2490. },{"./$":21,"./$.ctx":11,"./$.def":12}],75:[function(require,module,exports){
  2491. require('./es6.array.iterator');
  2492. var $ = require('./$')
  2493. , Iterators = require('./$.iter').Iterators
  2494. , ITERATOR = require('./$.wks')('iterator')
  2495. , ArrayValues = Iterators.Array
  2496. , NodeList = $.g.NodeList;
  2497. if($.FW && NodeList && !(ITERATOR in NodeList.prototype)){
  2498. $.hide(NodeList.prototype, ITERATOR, ArrayValues);
  2499. }
  2500. Iterators.NodeList = ArrayValues;
  2501. },{"./$":21,"./$.iter":20,"./$.wks":32,"./es6.array.iterator":39}],76:[function(require,module,exports){
  2502. var $def = require('./$.def')
  2503. , $task = require('./$.task');
  2504. $def($def.G + $def.B, {
  2505. setImmediate: $task.set,
  2506. clearImmediate: $task.clear
  2507. });
  2508. },{"./$.def":12,"./$.task":29}],77:[function(require,module,exports){
  2509. // ie9- setTimeout & setInterval additional parameters fix
  2510. var $ = require('./$')
  2511. , $def = require('./$.def')
  2512. , invoke = require('./$.invoke')
  2513. , partial = require('./$.partial')
  2514. , navigator = $.g.navigator
  2515. , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
  2516. function wrap(set){
  2517. return MSIE ? function(fn, time /*, ...args */){
  2518. return set(invoke(
  2519. partial,
  2520. [].slice.call(arguments, 2),
  2521. $.isFunction(fn) ? fn : Function(fn)
  2522. ), time);
  2523. } : set;
  2524. }
  2525. $def($def.G + $def.B + $def.F * MSIE, {
  2526. setTimeout: wrap($.g.setTimeout),
  2527. setInterval: wrap($.g.setInterval)
  2528. });
  2529. },{"./$":21,"./$.def":12,"./$.invoke":16,"./$.partial":24}],78:[function(require,module,exports){
  2530. require('./modules/es5');
  2531. require('./modules/es6.symbol');
  2532. require('./modules/es6.object.assign');
  2533. require('./modules/es6.object.is');
  2534. require('./modules/es6.object.set-prototype-of');
  2535. require('./modules/es6.object.to-string');
  2536. require('./modules/es6.object.statics-accept-primitives');
  2537. require('./modules/es6.function.name');
  2538. require('./modules/es6.number.constructor');
  2539. require('./modules/es6.number.statics');
  2540. require('./modules/es6.math');
  2541. require('./modules/es6.string.from-code-point');
  2542. require('./modules/es6.string.raw');
  2543. require('./modules/es6.string.iterator');
  2544. require('./modules/es6.string.code-point-at');
  2545. require('./modules/es6.string.ends-with');
  2546. require('./modules/es6.string.includes');
  2547. require('./modules/es6.string.repeat');
  2548. require('./modules/es6.string.starts-with');
  2549. require('./modules/es6.array.from');
  2550. require('./modules/es6.array.of');
  2551. require('./modules/es6.array.iterator');
  2552. require('./modules/es6.array.species');
  2553. require('./modules/es6.array.copy-within');
  2554. require('./modules/es6.array.fill');
  2555. require('./modules/es6.array.find');
  2556. require('./modules/es6.array.find-index');
  2557. require('./modules/es6.regexp');
  2558. require('./modules/es6.promise');
  2559. require('./modules/es6.map');
  2560. require('./modules/es6.set');
  2561. require('./modules/es6.weak-map');
  2562. require('./modules/es6.weak-set');
  2563. require('./modules/es6.reflect');
  2564. require('./modules/es7.array.includes');
  2565. require('./modules/es7.string.at');
  2566. require('./modules/es7.regexp.escape');
  2567. require('./modules/es7.object.get-own-property-descriptors');
  2568. require('./modules/es7.object.to-array');
  2569. require('./modules/es7.map.to-json');
  2570. require('./modules/es7.set.to-json');
  2571. require('./modules/js.array.statics');
  2572. require('./modules/web.timers');
  2573. require('./modules/web.immediate');
  2574. require('./modules/web.dom.iterable');
  2575. module.exports = require('./modules/$').core;
  2576. },{"./modules/$":21,"./modules/es5":33,"./modules/es6.array.copy-within":34,"./modules/es6.array.fill":35,"./modules/es6.array.find":37,"./modules/es6.array.find-index":36,"./modules/es6.array.from":38,"./modules/es6.array.iterator":39,"./modules/es6.array.of":40,"./modules/es6.array.species":41,"./modules/es6.function.name":42,"./modules/es6.map":43,"./modules/es6.math":44,"./modules/es6.number.constructor":45,"./modules/es6.number.statics":46,"./modules/es6.object.assign":47,"./modules/es6.object.is":48,"./modules/es6.object.set-prototype-of":49,"./modules/es6.object.statics-accept-primitives":50,"./modules/es6.object.to-string":51,"./modules/es6.promise":52,"./modules/es6.reflect":53,"./modules/es6.regexp":54,"./modules/es6.set":55,"./modules/es6.string.code-point-at":56,"./modules/es6.string.ends-with":57,"./modules/es6.string.from-code-point":58,"./modules/es6.string.includes":59,"./modules/es6.string.iterator":60,"./modules/es6.string.raw":61,"./modules/es6.string.repeat":62,"./modules/es6.string.starts-with":63,"./modules/es6.symbol":64,"./modules/es6.weak-map":65,"./modules/es6.weak-set":66,"./modules/es7.array.includes":67,"./modules/es7.map.to-json":68,"./modules/es7.object.get-own-property-descriptors":69,"./modules/es7.object.to-array":70,"./modules/es7.regexp.escape":71,"./modules/es7.set.to-json":72,"./modules/es7.string.at":73,"./modules/js.array.statics":74,"./modules/web.dom.iterable":75,"./modules/web.immediate":76,"./modules/web.timers":77}],79:[function(require,module,exports){
  2577. (function (global){
  2578. /**
  2579. * Copyright (c) 2014, Facebook, Inc.
  2580. * All rights reserved.
  2581. *
  2582. * This source code is licensed under the BSD-style license found in the
  2583. * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
  2584. * additional grant of patent rights can be found in the PATENTS file in
  2585. * the same directory.
  2586. */
  2587. !(function(global) {
  2588. "use strict";
  2589. var hasOwn = Object.prototype.hasOwnProperty;
  2590. var undefined; // More compressible than void 0.
  2591. var iteratorSymbol =
  2592. typeof Symbol === "function" && Symbol.iterator || "@@iterator";
  2593. var inModule = typeof module === "object";
  2594. var runtime = global.regeneratorRuntime;
  2595. if (runtime) {
  2596. if (inModule) {
  2597. // If regeneratorRuntime is defined globally and we're in a module,
  2598. // make the exports object identical to regeneratorRuntime.
  2599. module.exports = runtime;
  2600. }
  2601. // Don't bother evaluating the rest of this file if the runtime was
  2602. // already defined globally.
  2603. return;
  2604. }
  2605. // Define the runtime globally (as expected by generated code) as either
  2606. // module.exports (if we're in a module) or a new, empty object.
  2607. runtime = global.regeneratorRuntime = inModule ? module.exports : {};
  2608. function wrap(innerFn, outerFn, self, tryLocsList) {
  2609. // If outerFn provided, then outerFn.prototype instanceof Generator.
  2610. var generator = Object.create((outerFn || Generator).prototype);
  2611. generator._invoke = makeInvokeMethod(
  2612. innerFn, self || null,
  2613. new Context(tryLocsList || [])
  2614. );
  2615. return generator;
  2616. }
  2617. runtime.wrap = wrap;
  2618. // Try/catch helper to minimize deoptimizations. Returns a completion
  2619. // record like context.tryEntries[i].completion. This interface could
  2620. // have been (and was previously) designed to take a closure to be
  2621. // invoked without arguments, but in all the cases we care about we
  2622. // already have an existing method we want to call, so there's no need
  2623. // to create a new function object. We can even get away with assuming
  2624. // the method takes exactly one argument, since that happens to be true
  2625. // in every case, so we don't have to touch the arguments object. The
  2626. // only additional allocation required is the completion record, which
  2627. // has a stable shape and so hopefully should be cheap to allocate.
  2628. function tryCatch(fn, obj, arg) {
  2629. try {
  2630. return { type: "normal", arg: fn.call(obj, arg) };
  2631. } catch (err) {
  2632. return { type: "throw", arg: err };
  2633. }
  2634. }
  2635. var GenStateSuspendedStart = "suspendedStart";
  2636. var GenStateSuspendedYield = "suspendedYield";
  2637. var GenStateExecuting = "executing";
  2638. var GenStateCompleted = "completed";
  2639. // Returning this object from the innerFn has the same effect as
  2640. // breaking out of the dispatch switch statement.
  2641. var ContinueSentinel = {};
  2642. // Dummy constructor functions that we use as the .constructor and
  2643. // .constructor.prototype properties for functions that return Generator
  2644. // objects. For full spec compliance, you may wish to configure your
  2645. // minifier not to mangle the names of these two functions.
  2646. function Generator() {}
  2647. function GeneratorFunction() {}
  2648. function GeneratorFunctionPrototype() {}
  2649. var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;
  2650. GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
  2651. GeneratorFunctionPrototype.constructor = GeneratorFunction;
  2652. GeneratorFunction.displayName = "GeneratorFunction";
  2653. runtime.isGeneratorFunction = function(genFun) {
  2654. var ctor = typeof genFun === "function" && genFun.constructor;
  2655. return ctor
  2656. ? ctor === GeneratorFunction ||
  2657. // For the native GeneratorFunction constructor, the best we can
  2658. // do is to check its .name property.
  2659. (ctor.displayName || ctor.name) === "GeneratorFunction"
  2660. : false;
  2661. };
  2662. runtime.mark = function(genFun) {
  2663. genFun.__proto__ = GeneratorFunctionPrototype;
  2664. genFun.prototype = Object.create(Gp);
  2665. return genFun;
  2666. };
  2667. runtime.async = function(innerFn, outerFn, self, tryLocsList) {
  2668. return new Promise(function(resolve, reject) {
  2669. var generator = wrap(innerFn, outerFn, self, tryLocsList);
  2670. var callNext = step.bind(generator, "next");
  2671. var callThrow = step.bind(generator, "throw");
  2672. function step(method, arg) {
  2673. var record = tryCatch(generator[method], generator, arg);
  2674. if (record.type === "throw") {
  2675. reject(record.arg);
  2676. return;
  2677. }
  2678. var info = record.arg;
  2679. if (info.done) {
  2680. resolve(info.value);
  2681. } else {
  2682. Promise.resolve(info.value).then(callNext, callThrow);
  2683. }
  2684. }
  2685. callNext();
  2686. });
  2687. };
  2688. function makeInvokeMethod(innerFn, self, context) {
  2689. var state = GenStateSuspendedStart;
  2690. return function invoke(method, arg) {
  2691. if (state === GenStateExecuting) {
  2692. throw new Error("Generator is already running");
  2693. }
  2694. if (state === GenStateCompleted) {
  2695. // Be forgiving, per 25.3.3.3.3 of the spec:
  2696. // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
  2697. return doneResult();
  2698. }
  2699. while (true) {
  2700. var delegate = context.delegate;
  2701. if (delegate) {
  2702. if (method === "return" ||
  2703. (method === "throw" && delegate.iterator[method] === undefined)) {
  2704. // A return or throw (when the delegate iterator has no throw
  2705. // method) always terminates the yield* loop.
  2706. context.delegate = null;
  2707. // If the delegate iterator has a return method, give it a
  2708. // chance to clean up.
  2709. var returnMethod = delegate.iterator["return"];
  2710. if (returnMethod) {
  2711. var record = tryCatch(returnMethod, delegate.iterator, arg);
  2712. if (record.type === "throw") {
  2713. // If the return method threw an exception, let that
  2714. // exception prevail over the original return or throw.
  2715. method = "throw";
  2716. arg = record.arg;
  2717. continue;
  2718. }
  2719. }
  2720. if (method === "return") {
  2721. // Continue with the outer return, now that the delegate
  2722. // iterator has been terminated.
  2723. continue;
  2724. }
  2725. }
  2726. var record = tryCatch(
  2727. delegate.iterator[method],
  2728. delegate.iterator,
  2729. arg
  2730. );
  2731. if (record.type === "throw") {
  2732. context.delegate = null;
  2733. // Like returning generator.throw(uncaught), but without the
  2734. // overhead of an extra function call.
  2735. method = "throw";
  2736. arg = record.arg;
  2737. continue;
  2738. }
  2739. // Delegate generator ran and handled its own exceptions so
  2740. // regardless of what the method was, we continue as if it is
  2741. // "next" with an undefined arg.
  2742. method = "next";
  2743. arg = undefined;
  2744. var info = record.arg;
  2745. if (info.done) {
  2746. context[delegate.resultName] = info.value;
  2747. context.next = delegate.nextLoc;
  2748. } else {
  2749. state = GenStateSuspendedYield;
  2750. return info;
  2751. }
  2752. context.delegate = null;
  2753. }
  2754. if (method === "next") {
  2755. if (state === GenStateSuspendedYield) {
  2756. context.sent = arg;
  2757. } else {
  2758. delete context.sent;
  2759. }
  2760. } else if (method === "throw") {
  2761. if (state === GenStateSuspendedStart) {
  2762. state = GenStateCompleted;
  2763. throw arg;
  2764. }
  2765. if (context.dispatchException(arg)) {
  2766. // If the dispatched exception was caught by a catch block,
  2767. // then let that catch block handle the exception normally.
  2768. method = "next";
  2769. arg = undefined;
  2770. }
  2771. } else if (method === "return") {
  2772. context.abrupt("return", arg);
  2773. }
  2774. state = GenStateExecuting;
  2775. var record = tryCatch(innerFn, self, context);
  2776. if (record.type === "normal") {
  2777. // If an exception is thrown from innerFn, we leave state ===
  2778. // GenStateExecuting and loop back for another invocation.
  2779. state = context.done
  2780. ? GenStateCompleted
  2781. : GenStateSuspendedYield;
  2782. var info = {
  2783. value: record.arg,
  2784. done: context.done
  2785. };
  2786. if (record.arg === ContinueSentinel) {
  2787. if (context.delegate && method === "next") {
  2788. // Deliberately forget the last sent value so that we don't
  2789. // accidentally pass it on to the delegate.
  2790. arg = undefined;
  2791. }
  2792. } else {
  2793. return info;
  2794. }
  2795. } else if (record.type === "throw") {
  2796. state = GenStateCompleted;
  2797. // Dispatch the exception by looping back around to the
  2798. // context.dispatchException(arg) call above.
  2799. method = "throw";
  2800. arg = record.arg;
  2801. }
  2802. }
  2803. };
  2804. }
  2805. function defineGeneratorMethod(method) {
  2806. Gp[method] = function(arg) {
  2807. return this._invoke(method, arg);
  2808. };
  2809. }
  2810. defineGeneratorMethod("next");
  2811. defineGeneratorMethod("throw");
  2812. defineGeneratorMethod("return");
  2813. Gp[iteratorSymbol] = function() {
  2814. return this;
  2815. };
  2816. Gp.toString = function() {
  2817. return "[object Generator]";
  2818. };
  2819. function pushTryEntry(locs) {
  2820. var entry = { tryLoc: locs[0] };
  2821. if (1 in locs) {
  2822. entry.catchLoc = locs[1];
  2823. }
  2824. if (2 in locs) {
  2825. entry.finallyLoc = locs[2];
  2826. entry.afterLoc = locs[3];
  2827. }
  2828. this.tryEntries.push(entry);
  2829. }
  2830. function resetTryEntry(entry) {
  2831. var record = entry.completion || {};
  2832. record.type = "normal";
  2833. delete record.arg;
  2834. entry.completion = record;
  2835. }
  2836. function Context(tryLocsList) {
  2837. // The root entry object (effectively a try statement without a catch
  2838. // or a finally block) gives us a place to store values thrown from
  2839. // locations where there is no enclosing try statement.
  2840. this.tryEntries = [{ tryLoc: "root" }];
  2841. tryLocsList.forEach(pushTryEntry, this);
  2842. this.reset();
  2843. }
  2844. runtime.keys = function(object) {
  2845. var keys = [];
  2846. for (var key in object) {
  2847. keys.push(key);
  2848. }
  2849. keys.reverse();
  2850. // Rather than returning an object with a next method, we keep
  2851. // things simple and return the next function itself.
  2852. return function next() {
  2853. while (keys.length) {
  2854. var key = keys.pop();
  2855. if (key in object) {
  2856. next.value = key;
  2857. next.done = false;
  2858. return next;
  2859. }
  2860. }
  2861. // To avoid creating an additional object, we just hang the .value
  2862. // and .done properties off the next function object itself. This
  2863. // also ensures that the minifier will not anonymize the function.
  2864. next.done = true;
  2865. return next;
  2866. };
  2867. };
  2868. function values(iterable) {
  2869. if (iterable) {
  2870. var iteratorMethod = iterable[iteratorSymbol];
  2871. if (iteratorMethod) {
  2872. return iteratorMethod.call(iterable);
  2873. }
  2874. if (typeof iterable.next === "function") {
  2875. return iterable;
  2876. }
  2877. if (!isNaN(iterable.length)) {
  2878. var i = -1, next = function next() {
  2879. while (++i < iterable.length) {
  2880. if (hasOwn.call(iterable, i)) {
  2881. next.value = iterable[i];
  2882. next.done = false;
  2883. return next;
  2884. }
  2885. }
  2886. next.value = undefined;
  2887. next.done = true;
  2888. return next;
  2889. };
  2890. return next.next = next;
  2891. }
  2892. }
  2893. // Return an iterator with no values.
  2894. return { next: doneResult };
  2895. }
  2896. runtime.values = values;
  2897. function doneResult() {
  2898. return { value: undefined, done: true };
  2899. }
  2900. Context.prototype = {
  2901. constructor: Context,
  2902. reset: function() {
  2903. this.prev = 0;
  2904. this.next = 0;
  2905. this.sent = undefined;
  2906. this.done = false;
  2907. this.delegate = null;
  2908. this.tryEntries.forEach(resetTryEntry);
  2909. // Pre-initialize at least 20 temporary variables to enable hidden
  2910. // class optimizations for simple generators.
  2911. for (var tempIndex = 0, tempName;
  2912. hasOwn.call(this, tempName = "t" + tempIndex) || tempIndex < 20;
  2913. ++tempIndex) {
  2914. this[tempName] = null;
  2915. }
  2916. },
  2917. stop: function() {
  2918. this.done = true;
  2919. var rootEntry = this.tryEntries[0];
  2920. var rootRecord = rootEntry.completion;
  2921. if (rootRecord.type === "throw") {
  2922. throw rootRecord.arg;
  2923. }
  2924. return this.rval;
  2925. },
  2926. dispatchException: function(exception) {
  2927. if (this.done) {
  2928. throw exception;
  2929. }
  2930. var context = this;
  2931. function handle(loc, caught) {
  2932. record.type = "throw";
  2933. record.arg = exception;
  2934. context.next = loc;
  2935. return !!caught;
  2936. }
  2937. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2938. var entry = this.tryEntries[i];
  2939. var record = entry.completion;
  2940. if (entry.tryLoc === "root") {
  2941. // Exception thrown outside of any try block that could handle
  2942. // it, so set the completion value of the entire function to
  2943. // throw the exception.
  2944. return handle("end");
  2945. }
  2946. if (entry.tryLoc <= this.prev) {
  2947. var hasCatch = hasOwn.call(entry, "catchLoc");
  2948. var hasFinally = hasOwn.call(entry, "finallyLoc");
  2949. if (hasCatch && hasFinally) {
  2950. if (this.prev < entry.catchLoc) {
  2951. return handle(entry.catchLoc, true);
  2952. } else if (this.prev < entry.finallyLoc) {
  2953. return handle(entry.finallyLoc);
  2954. }
  2955. } else if (hasCatch) {
  2956. if (this.prev < entry.catchLoc) {
  2957. return handle(entry.catchLoc, true);
  2958. }
  2959. } else if (hasFinally) {
  2960. if (this.prev < entry.finallyLoc) {
  2961. return handle(entry.finallyLoc);
  2962. }
  2963. } else {
  2964. throw new Error("try statement without catch or finally");
  2965. }
  2966. }
  2967. }
  2968. },
  2969. abrupt: function(type, arg) {
  2970. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2971. var entry = this.tryEntries[i];
  2972. if (entry.tryLoc <= this.prev &&
  2973. hasOwn.call(entry, "finallyLoc") &&
  2974. this.prev < entry.finallyLoc) {
  2975. var finallyEntry = entry;
  2976. break;
  2977. }
  2978. }
  2979. if (finallyEntry &&
  2980. (type === "break" ||
  2981. type === "continue") &&
  2982. finallyEntry.tryLoc <= arg &&
  2983. arg <= finallyEntry.finallyLoc) {
  2984. // Ignore the finally entry if control is not jumping to a
  2985. // location outside the try/catch block.
  2986. finallyEntry = null;
  2987. }
  2988. var record = finallyEntry ? finallyEntry.completion : {};
  2989. record.type = type;
  2990. record.arg = arg;
  2991. if (finallyEntry) {
  2992. this.next = finallyEntry.finallyLoc;
  2993. } else {
  2994. this.complete(record);
  2995. }
  2996. return ContinueSentinel;
  2997. },
  2998. complete: function(record, afterLoc) {
  2999. if (record.type === "throw") {
  3000. throw record.arg;
  3001. }
  3002. if (record.type === "break" ||
  3003. record.type === "continue") {
  3004. this.next = record.arg;
  3005. } else if (record.type === "return") {
  3006. this.rval = record.arg;
  3007. this.next = "end";
  3008. } else if (record.type === "normal" && afterLoc) {
  3009. this.next = afterLoc;
  3010. }
  3011. return ContinueSentinel;
  3012. },
  3013. finish: function(finallyLoc) {
  3014. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  3015. var entry = this.tryEntries[i];
  3016. if (entry.finallyLoc === finallyLoc) {
  3017. return this.complete(entry.completion, entry.afterLoc);
  3018. }
  3019. }
  3020. },
  3021. "catch": function(tryLoc) {
  3022. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  3023. var entry = this.tryEntries[i];
  3024. if (entry.tryLoc === tryLoc) {
  3025. var record = entry.completion;
  3026. if (record.type === "throw") {
  3027. var thrown = record.arg;
  3028. resetTryEntry(entry);
  3029. }
  3030. return thrown;
  3031. }
  3032. }
  3033. // The context.catch method must only be called with a location
  3034. // argument that corresponds to a known catch block.
  3035. throw new Error("illegal catch attempt");
  3036. },
  3037. delegateYield: function(iterable, resultName, nextLoc) {
  3038. this.delegate = {
  3039. iterator: values(iterable),
  3040. resultName: resultName,
  3041. nextLoc: nextLoc
  3042. };
  3043. return ContinueSentinel;
  3044. }
  3045. };
  3046. })(
  3047. // Among the various tricks for obtaining a reference to the global
  3048. // object, this seems to be the most reliable technique that does not
  3049. // use indirect eval (which violates Content Security Policy).
  3050. typeof global === "object" ? global :
  3051. typeof window === "object" ? window :
  3052. typeof self === "object" ? self : this
  3053. );
  3054. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3055. },{}]},{},[1]);