Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.77 KB | None | 0 0
  1. System.registerDynamic("npm:core-js@1.2.6/modules/$.fails", [], true, function($__require, exports, module) {
  2. ;
  3. var global = this,
  4. __define = global.define;
  5. global.define = undefined;
  6. module.exports = function(exec) {
  7. try {
  8. return !!exec();
  9. } catch (e) {
  10. return true;
  11. }
  12. };
  13. global.define = __define;
  14. return module.exports;
  15. });
  16.  
  17. System.registerDynamic("npm:core-js@1.2.6/modules/$.descriptors", ["npm:core-js@1.2.6/modules/$.fails"], true, function($__require, exports, module) {
  18. ;
  19. var global = this,
  20. __define = global.define;
  21. global.define = undefined;
  22. module.exports = !$__require('npm:core-js@1.2.6/modules/$.fails')(function() {
  23. return Object.defineProperty({}, 'a', {get: function() {
  24. return 7;
  25. }}).a != 7;
  26. });
  27. global.define = __define;
  28. return module.exports;
  29. });
  30.  
  31. System.registerDynamic("npm:core-js@1.2.6/modules/$.property-desc", [], true, function($__require, exports, module) {
  32. ;
  33. var global = this,
  34. __define = global.define;
  35. global.define = undefined;
  36. module.exports = function(bitmap, value) {
  37. return {
  38. enumerable: !(bitmap & 1),
  39. configurable: !(bitmap & 2),
  40. writable: !(bitmap & 4),
  41. value: value
  42. };
  43. };
  44. global.define = __define;
  45. return module.exports;
  46. });
  47.  
  48. System.registerDynamic("npm:core-js@1.2.6/modules/$.hide", ["npm:core-js@1.2.6/modules/$", "npm:core-js@1.2.6/modules/$.property-desc", "npm:core-js@1.2.6/modules/$.descriptors"], true, function($__require, exports, module) {
  49. ;
  50. var global = this,
  51. __define = global.define;
  52. global.define = undefined;
  53. var $ = $__require('npm:core-js@1.2.6/modules/$'),
  54. createDesc = $__require('npm:core-js@1.2.6/modules/$.property-desc');
  55. module.exports = $__require('npm:core-js@1.2.6/modules/$.descriptors') ? function(object, key, value) {
  56. return $.setDesc(object, key, createDesc(1, value));
  57. } : function(object, key, value) {
  58. object[key] = value;
  59. return object;
  60. };
  61. global.define = __define;
  62. return module.exports;
  63. });
  64.  
  65. System.registerDynamic("npm:core-js@1.2.6/modules/$.core", [], true, function($__require, exports, module) {
  66. ;
  67. var global = this,
  68. __define = global.define;
  69. global.define = undefined;
  70. var core = module.exports = {version: '1.2.6'};
  71. if (typeof __e == 'number')
  72. __e = core;
  73. global.define = __define;
  74. return module.exports;
  75. });
  76.  
  77. System.registerDynamic("npm:core-js@1.2.6/modules/$.global", [], true, function($__require, exports, module) {
  78. ;
  79. var global = this,
  80. __define = global.define;
  81. global.define = undefined;
  82. var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
  83. if (typeof __g == 'number')
  84. __g = global;
  85. global.define = __define;
  86. return module.exports;
  87. });
  88.  
  89. System.registerDynamic("npm:core-js@1.2.6/modules/$.export", ["npm:core-js@1.2.6/modules/$.global", "npm:core-js@1.2.6/modules/$.core", "npm:core-js@1.2.6/modules/$.hide", "npm:core-js@1.2.6/modules/$.redefine", "npm:core-js@1.2.6/modules/$.ctx"], true, function($__require, exports, module) {
  90. ;
  91. var global = this,
  92. __define = global.define;
  93. global.define = undefined;
  94. var global = $__require('npm:core-js@1.2.6/modules/$.global'),
  95. core = $__require('npm:core-js@1.2.6/modules/$.core'),
  96. hide = $__require('npm:core-js@1.2.6/modules/$.hide'),
  97. redefine = $__require('npm:core-js@1.2.6/modules/$.redefine'),
  98. ctx = $__require('npm:core-js@1.2.6/modules/$.ctx'),
  99. PROTOTYPE = 'prototype';
  100. var $export = function(type, name, source) {
  101. var IS_FORCED = type & $export.F,
  102. IS_GLOBAL = type & $export.G,
  103. IS_STATIC = type & $export.S,
  104. IS_PROTO = type & $export.P,
  105. IS_BIND = type & $export.B,
  106. target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE],
  107. exports = IS_GLOBAL ? core : core[name] || (core[name] = {}),
  108. expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}),
  109. key,
  110. own,
  111. out,
  112. exp;
  113. if (IS_GLOBAL)
  114. source = name;
  115. for (key in source) {
  116. own = !IS_FORCED && target && key in target;
  117. out = (own ? target : source)[key];
  118. exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
  119. if (target && !own)
  120. redefine(target, key, out);
  121. if (exports[key] != out)
  122. hide(exports, key, exp);
  123. if (IS_PROTO && expProto[key] != out)
  124. expProto[key] = out;
  125. }
  126. };
  127. global.core = core;
  128. $export.F = 1;
  129. $export.G = 2;
  130. $export.S = 4;
  131. $export.P = 8;
  132. $export.B = 16;
  133. $export.W = 32;
  134. module.exports = $export;
  135. global.define = __define;
  136. return module.exports;
  137. });
  138.  
  139. System.registerDynamic("npm:core-js@1.2.6/modules/$", [], true, function($__require, exports, module) {
  140. ;
  141. var global = this,
  142. __define = global.define;
  143. global.define = undefined;
  144. var $Object = Object;
  145. module.exports = {
  146. create: $Object.create,
  147. getProto: $Object.getPrototypeOf,
  148. isEnum: {}.propertyIsEnumerable,
  149. getDesc: $Object.getOwnPropertyDescriptor,
  150. setDesc: $Object.defineProperty,
  151. setDescs: $Object.defineProperties,
  152. getKeys: $Object.keys,
  153. getNames: $Object.getOwnPropertyNames,
  154. getSymbols: $Object.getOwnPropertySymbols,
  155. each: [].forEach
  156. };
  157. global.define = __define;
  158. return module.exports;
  159. });
  160.  
  161. System.registerDynamic("npm:core-js@1.2.6/modules/es5", ["npm:core-js@1.2.6/modules/$", "npm:core-js@1.2.6/modules/$.export", "npm:core-js@1.2.6/modules/$.descriptors", "npm:core-js@1.2.6/modules/$.property-desc", "npm:core-js@1.2.6/modules/$.html", "npm:core-js@1.2.6/modules/$.dom-create", "npm:core-js@1.2.6/modules/$.has", "npm:core-js@1.2.6/modules/$.cof", "npm:core-js@1.2.6/modules/$.invoke", "npm:core-js@1.2.6/modules/$.fails", "npm:core-js@1.2.6/modules/$.an-object", "npm:core-js@1.2.6/modules/$.a-function", "npm:core-js@1.2.6/modules/$.is-object", "npm:core-js@1.2.6/modules/$.to-object", "npm:core-js@1.2.6/modules/$.to-iobject", "npm:core-js@1.2.6/modules/$.to-integer", "npm:core-js@1.2.6/modules/$.to-index", "npm:core-js@1.2.6/modules/$.to-length", "npm:core-js@1.2.6/modules/$.iobject", "npm:core-js@1.2.6/modules/$.uid", "npm:core-js@1.2.6/modules/$.array-methods", "npm:core-js@1.2.6/modules/$.array-includes", "npm:core-js@1.2.6/modules/$.is-array"], true, function($__require, exports, module) {
  162. "use strict";
  163. ;
  164. var global = this,
  165. __define = global.define;
  166. global.define = undefined;
  167. var $ = $__require('npm:core-js@1.2.6/modules/$'),
  168. $export = $__require('npm:core-js@1.2.6/modules/$.export'),
  169. DESCRIPTORS = $__require('npm:core-js@1.2.6/modules/$.descriptors'),
  170. createDesc = $__require('npm:core-js@1.2.6/modules/$.property-desc'),
  171. html = $__require('npm:core-js@1.2.6/modules/$.html'),
  172. cel = $__require('npm:core-js@1.2.6/modules/$.dom-create'),
  173. has = $__require('npm:core-js@1.2.6/modules/$.has'),
  174. cof = $__require('npm:core-js@1.2.6/modules/$.cof'),
  175. invoke = $__require('npm:core-js@1.2.6/modules/$.invoke'),
  176. fails = $__require('npm:core-js@1.2.6/modules/$.fails'),
  177. anObject = $__require('npm:core-js@1.2.6/modules/$.an-object'),
  178. aFunction = $__require('npm:core-js@1.2.6/modules/$.a-function'),
  179. isObject = $__require('npm:core-js@1.2.6/modules/$.is-object'),
  180. toObject = $__require('npm:core-js@1.2.6/modules/$.to-object'),
  181. toIObject = $__require('npm:core-js@1.2.6/modules/$.to-iobject'),
  182. toInteger = $__require('npm:core-js@1.2.6/modules/$.to-integer'),
  183. toIndex = $__require('npm:core-js@1.2.6/modules/$.to-index'),
  184. toLength = $__require('npm:core-js@1.2.6/modules/$.to-length'),
  185. IObject = $__require('npm:core-js@1.2.6/modules/$.iobject'),
  186. IE_PROTO = $__require('npm:core-js@1.2.6/modules/$.uid')('__proto__'),
  187. createArrayMethod = $__require('npm:core-js@1.2.6/modules/$.array-methods'),
  188. arrayIndexOf = $__require('npm:core-js@1.2.6/modules/$.array-includes')(false),
  189. ObjectProto = Object.prototype,
  190. ArrayProto = Array.prototype,
  191. arraySlice = ArrayProto.slice,
  192. arrayJoin = ArrayProto.join,
  193. defineProperty = $.setDesc,
  194. getOwnDescriptor = $.getDesc,
  195. defineProperties = $.setDescs,
  196. factories = {},
  197. IE8_DOM_DEFINE;
  198. if (!DESCRIPTORS) {
  199. IE8_DOM_DEFINE = !fails(function() {
  200. return defineProperty(cel('div'), 'a', {get: function() {
  201. return 7;
  202. }}).a != 7;
  203. });
  204. $.setDesc = function(O, P, Attributes) {
  205. if (IE8_DOM_DEFINE)
  206. try {
  207. return defineProperty(O, P, Attributes);
  208. } catch (e) {}
  209. if ('get' in Attributes || 'set' in Attributes)
  210. throw TypeError('Accessors not supported!');
  211. if ('value' in Attributes)
  212. anObject(O)[P] = Attributes.value;
  213. return O;
  214. };
  215. $.getDesc = function(O, P) {
  216. if (IE8_DOM_DEFINE)
  217. try {
  218. return getOwnDescriptor(O, P);
  219. } catch (e) {}
  220. if (has(O, P))
  221. return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]);
  222. };
  223. $.setDescs = defineProperties = function(O, Properties) {
  224. anObject(O);
  225. var keys = $.getKeys(Properties),
  226. length = keys.length,
  227. i = 0,
  228. P;
  229. while (length > i)
  230. $.setDesc(O, P = keys[i++], Properties[P]);
  231. return O;
  232. };
  233. }
  234. $export($export.S + $export.F * !DESCRIPTORS, 'Object', {
  235. getOwnPropertyDescriptor: $.getDesc,
  236. defineProperty: $.setDesc,
  237. defineProperties: defineProperties
  238. });
  239. var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' + 'toLocaleString,toString,valueOf').split(','),
  240. keys2 = keys1.concat('length', 'prototype'),
  241. keysLen1 = keys1.length;
  242. var createDict = function() {
  243. var iframe = cel('iframe'),
  244. i = keysLen1,
  245. gt = '>',
  246. iframeDocument;
  247. iframe.style.display = 'none';
  248. html.appendChild(iframe);
  249. iframe.src = 'javascript:';
  250. iframeDocument = iframe.contentWindow.document;
  251. iframeDocument.open();
  252. iframeDocument.write('<script>document.F=Object</script' + gt);
  253. iframeDocument.close();
  254. createDict = iframeDocument.F;
  255. while (i--)
  256. delete createDict.prototype[keys1[i]];
  257. return createDict();
  258. };
  259. var createGetKeys = function(names, length) {
  260. return function(object) {
  261. var O = toIObject(object),
  262. i = 0,
  263. result = [],
  264. key;
  265. for (key in O)
  266. if (key != IE_PROTO)
  267. has(O, key) && result.push(key);
  268. while (length > i)
  269. if (has(O, key = names[i++])) {
  270. ~arrayIndexOf(result, key) || result.push(key);
  271. }
  272. return result;
  273. };
  274. };
  275. var Empty = function() {};
  276. $export($export.S, 'Object', {
  277. getPrototypeOf: $.getProto = $.getProto || function(O) {
  278. O = toObject(O);
  279. if (has(O, IE_PROTO))
  280. return O[IE_PROTO];
  281. if (typeof O.constructor == 'function' && O instanceof O.constructor) {
  282. return O.constructor.prototype;
  283. }
  284. return O instanceof Object ? ObjectProto : null;
  285. },
  286. getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true),
  287. create: $.create = $.create || function(O, Properties) {
  288. var result;
  289. if (O !== null) {
  290. Empty.prototype = anObject(O);
  291. result = new Empty();
  292. Empty.prototype = null;
  293. result[IE_PROTO] = O;
  294. } else
  295. result = createDict();
  296. return Properties === undefined ? result : defineProperties(result, Properties);
  297. },
  298. keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false)
  299. });
  300. var construct = function(F, len, args) {
  301. if (!(len in factories)) {
  302. for (var n = [],
  303. i = 0; i < len; i++)
  304. n[i] = 'a[' + i + ']';
  305. factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
  306. }
  307. return factories[len](F, args);
  308. };
  309. $export($export.P, 'Function', {bind: function bind(that) {
  310. var fn = aFunction(this),
  311. partArgs = arraySlice.call(arguments, 1);
  312. var bound = function() {
  313. var args = partArgs.concat(arraySlice.call(arguments));
  314. return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
  315. };
  316. if (isObject(fn.prototype))
  317. bound.prototype = fn.prototype;
  318. return bound;
  319. }});
  320. $export($export.P + $export.F * fails(function() {
  321. if (html)
  322. arraySlice.call(html);
  323. }), 'Array', {slice: function(begin, end) {
  324. var len = toLength(this.length),
  325. klass = cof(this);
  326. end = end === undefined ? len : end;
  327. if (klass == 'Array')
  328. return arraySlice.call(this, begin, end);
  329. var start = toIndex(begin, len),
  330. upTo = toIndex(end, len),
  331. size = toLength(upTo - start),
  332. cloned = Array(size),
  333. i = 0;
  334. for (; i < size; i++)
  335. cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i];
  336. return cloned;
  337. }});
  338. $export($export.P + $export.F * (IObject != Object), 'Array', {join: function join(separator) {
  339. return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator);
  340. }});
  341. $export($export.S, 'Array', {isArray: $__require('npm:core-js@1.2.6/modules/$.is-array')});
  342. var createArrayReduce = function(isRight) {
  343. return function(callbackfn, memo) {
  344. aFunction(callbackfn);
  345. var O = IObject(this),
  346. length = toLength(O.length),
  347. index = isRight ? length - 1 : 0,
  348. i = isRight ? -1 : 1;
  349. if (arguments.length < 2)
  350. for (; ; ) {
  351. if (index in O) {
  352. memo = O[index];
  353. index += i;
  354. break;
  355. }
  356. index += i;
  357. if (isRight ? index < 0 : length <= index) {
  358. throw TypeError('Reduce of empty array with no initial value');
  359. }
  360. }
  361. for (; isRight ? index >= 0 : length > index; index += i)
  362. if (index in O) {
  363. memo = callbackfn(memo, O[index], index, this);
  364. }
  365. return memo;
  366. };
  367. };
  368. var methodize = function($fn) {
  369. return function(arg1) {
  370. return $fn(this, arg1, arguments[1]);
  371. };
  372. };
  373. $export($export.P, 'Array', {
  374. forEach: $.each = $.each || methodize(createArrayMethod(0)),
  375. map: methodize(createArrayMethod(1)),
  376. filter: methodize(createArrayMethod(2)),
  377. some: methodize(createArrayMethod(3)),
  378. every: methodize(createArrayMethod(4)),
  379. reduce: createArrayReduce(false),
  380. reduceRight: createArrayReduce(true),
  381. indexOf: methodize(arrayIndexOf),
  382. lastIndexOf: function(el, fromIndex) {
  383. var O = toIObject(this),
  384. length = toLength(O.length),
  385. index = length - 1;
  386. if (arguments.length > 1)
  387. index = Math.min(index, toInteger(fromIndex));
  388. if (index < 0)
  389. index = toLength(length + index);
  390. for (; index >= 0; index--)
  391. if (index in O)
  392. if (O[index] === el)
  393. return index;
  394. return -1;
  395. }
  396. });
  397. $export($export.S, 'Date', {now: function() {
  398. return +new Date;
  399. }});
  400. var lz = function(num) {
  401. return num > 9 ? num : '0' + num;
  402. };
  403. $export($export.P + $export.F * (fails(function() {
  404. return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
  405. }) || !fails(function() {
  406. new Date(NaN).toISOString();
  407. })), 'Date', {toISOString: function toISOString() {
  408. if (!isFinite(this))
  409. throw RangeError('Invalid time value');
  410. var d = this,
  411. y = d.getUTCFullYear(),
  412. m = d.getUTCMilliseconds(),
  413. s = y < 0 ? '-' : y > 9999 ? '+' : '';
  414. return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
  415. }});
  416. global.define = __define;
  417. return module.exports;
  418. });
  419.  
  420. System.registerDynamic("npm:core-js@1.2.6/shim", ["npm:core-js@1.2.6/modules/es5", "npm:core-js@1.2.6/modules/es6.symbol", "npm:core-js@1.2.6/modules/es6.object.assign", "npm:core-js@1.2.6/modules/es6.object.is", "npm:core-js@1.2.6/modules/es6.object.set-prototype-of", "npm:core-js@1.2.6/modules/es6.object.to-string", "npm:core-js@1.2.6/modules/es6.object.freeze", "npm:core-js@1.2.6/modules/es6.object.seal", "npm:core-js@1.2.6/modules/es6.object.prevent-extensions", "npm:core-js@1.2.6/modules/es6.object.is-frozen", "npm:core-js@1.2.6/modules/es6.object.is-sealed", "npm:core-js@1.2.6/modules/es6.object.is-extensible", "npm:core-js@1.2.6/modules/es6.object.get-own-property-descriptor", "npm:core-js@1.2.6/modules/es6.object.get-prototype-of", "npm:core-js@1.2.6/modules/es6.object.keys", "npm:core-js@1.2.6/modules/es6.object.get-own-property-names", "npm:core-js@1.2.6/modules/es6.function.name", "npm:core-js@1.2.6/modules/es6.function.has-instance", "npm:core-js@1.2.6/modules/es6.number.constructor", "npm:core-js@1.2.6/modules/es6.number.epsilon", "npm:core-js@1.2.6/modules/es6.number.is-finite", "npm:core-js@1.2.6/modules/es6.number.is-integer", "npm:core-js@1.2.6/modules/es6.number.is-nan", "npm:core-js@1.2.6/modules/es6.number.is-safe-integer", "npm:core-js@1.2.6/modules/es6.number.max-safe-integer", "npm:core-js@1.2.6/modules/es6.number.min-safe-integer", "npm:core-js@1.2.6/modules/es6.number.parse-float", "npm:core-js@1.2.6/modules/es6.number.parse-int", "npm:core-js@1.2.6/modules/es6.math.acosh", "npm:core-js@1.2.6/modules/es6.math.asinh", "npm:core-js@1.2.6/modules/es6.math.atanh", "npm:core-js@1.2.6/modules/es6.math.cbrt", "npm:core-js@1.2.6/modules/es6.math.clz32", "npm:core-js@1.2.6/modules/es6.math.cosh", "npm:core-js@1.2.6/modules/es6.math.expm1", "npm:core-js@1.2.6/modules/es6.math.fround", "npm:core-js@1.2.6/modules/es6.math.hypot", "npm:core-js@1.2.6/modules/es6.math.imul", "npm:core-js@1.2.6/modules/es6.math.log10", "npm:core-js@1.2.6/modules/es6.math.log1p", "npm:core-js@1.2.6/modules/es6.math.log2", "npm:core-js@1.2.6/modules/es6.math.sign", "npm:core-js@1.2.6/modules/es6.math.sinh", "npm:core-js@1.2.6/modules/es6.math.tanh", "npm:core-js@1.2.6/modules/es6.math.trunc", "npm:core-js@1.2.6/modules/es6.string.from-code-point", "npm:core-js@1.2.6/modules/es6.string.raw", "npm:core-js@1.2.6/modules/es6.string.trim", "npm:core-js@1.2.6/modules/es6.string.iterator", "npm:core-js@1.2.6/modules/es6.string.code-point-at", "npm:core-js@1.2.6/modules/es6.string.ends-with", "npm:core-js@1.2.6/modules/es6.string.includes", "npm:core-js@1.2.6/modules/es6.string.repeat", "npm:core-js@1.2.6/modules/es6.string.starts-with", "npm:core-js@1.2.6/modules/es6.array.from", "npm:core-js@1.2.6/modules/es6.array.of", "npm:core-js@1.2.6/modules/es6.array.iterator", "npm:core-js@1.2.6/modules/es6.array.species", "npm:core-js@1.2.6/modules/es6.array.copy-within", "npm:core-js@1.2.6/modules/es6.array.fill", "npm:core-js@1.2.6/modules/es6.array.find", "npm:core-js@1.2.6/modules/es6.array.find-index", "npm:core-js@1.2.6/modules/es6.regexp.constructor", "npm:core-js@1.2.6/modules/es6.regexp.flags", "npm:core-js@1.2.6/modules/es6.regexp.match", "npm:core-js@1.2.6/modules/es6.regexp.replace", "npm:core-js@1.2.6/modules/es6.regexp.search", "npm:core-js@1.2.6/modules/es6.regexp.split", "npm:core-js@1.2.6/modules/es6.promise", "npm:core-js@1.2.6/modules/es6.map", "npm:core-js@1.2.6/modules/es6.set", "npm:core-js@1.2.6/modules/es6.weak-map", "npm:core-js@1.2.6/modules/es6.weak-set", "npm:core-js@1.2.6/modules/es6.reflect.apply", "npm:core-js@1.2.6/modules/es6.reflect.construct", "npm:core-js@1.2.6/modules/es6.reflect.define-property", "npm:core-js@1.2.6/modules/es6.reflect.delete-property", "npm:core-js@1.2.6/modules/es6.reflect.enumerate", "npm:core-js@1.2.6/modules/es6.reflect.get", "npm:core-js@1.2.6/modules/es6.reflect.get-own-property-descriptor", "npm:core-js@1.2.6/modules/es6.reflect.get-prototype-of", "npm:core-js@1.2.6/modules/es6.reflect.has", "npm:core-js@1.2.6/modules/es6.reflect.is-extensible", "npm:core-js@1.2.6/modules/es6.reflect.own-keys", "npm:core-js@1.2.6/modules/es6.reflect.prevent-extensions", "npm:core-js@1.2.6/modules/es6.reflect.set", "npm:core-js@1.2.6/modules/es6.reflect.set-prototype-of", "npm:core-js@1.2.6/modules/es7.array.includes", "npm:core-js@1.2.6/modules/es7.string.at", "npm:core-js@1.2.6/modules/es7.string.pad-left", "npm:core-js@1.2.6/modules/es7.string.pad-right", "npm:core-js@1.2.6/modules/es7.string.trim-left", "npm:core-js@1.2.6/modules/es7.string.trim-right", "npm:core-js@1.2.6/modules/es7.regexp.escape", "npm:core-js@1.2.6/modules/es7.object.get-own-property-descriptors", "npm:core-js@1.2.6/modules/es7.object.values", "npm:core-js@1.2.6/modules/es7.object.entries", "npm:core-js@1.2.6/modules/es7.map.to-json", "npm:core-js@1.2.6/modules/es7.set.to-json", "npm:core-js@1.2.6/modules/js.array.statics", "npm:core-js@1.2.6/modules/web.timers", "npm:core-js@1.2.6/modules/web.immediate", "npm:core-js@1.2.6/modules/web.dom.iterable", "npm:core-js@1.2.6/modules/$.core"], true, function($__require, exports, module) {
  421. ;
  422. var global = this,
  423. __define = global.define;
  424. global.define = undefined;
  425. $__require('npm:core-js@1.2.6/modules/es5');
  426. $__require('npm:core-js@1.2.6/modules/es6.symbol');
  427. $__require('npm:core-js@1.2.6/modules/es6.object.assign');
  428. $__require('npm:core-js@1.2.6/modules/es6.object.is');
  429. $__require('npm:core-js@1.2.6/modules/es6.object.set-prototype-of');
  430. $__require('npm:core-js@1.2.6/modules/es6.object.to-string');
  431. $__require('npm:core-js@1.2.6/modules/es6.object.freeze');
  432. $__require('npm:core-js@1.2.6/modules/es6.object.seal');
  433. $__require('npm:core-js@1.2.6/modules/es6.object.prevent-extensions');
  434. $__require('npm:core-js@1.2.6/modules/es6.object.is-frozen');
  435. $__require('npm:core-js@1.2.6/modules/es6.object.is-sealed');
  436. $__require('npm:core-js@1.2.6/modules/es6.object.is-extensible');
  437. $__require('npm:core-js@1.2.6/modules/es6.object.get-own-property-descriptor');
  438. $__require('npm:core-js@1.2.6/modules/es6.object.get-prototype-of');
  439. $__require('npm:core-js@1.2.6/modules/es6.object.keys');
  440. $__require('npm:core-js@1.2.6/modules/es6.object.get-own-property-names');
  441. $__require('npm:core-js@1.2.6/modules/es6.function.name');
  442. $__require('npm:core-js@1.2.6/modules/es6.function.has-instance');
  443. $__require('npm:core-js@1.2.6/modules/es6.number.constructor');
  444. $__require('npm:core-js@1.2.6/modules/es6.number.epsilon');
  445. $__require('npm:core-js@1.2.6/modules/es6.number.is-finite');
  446. $__require('npm:core-js@1.2.6/modules/es6.number.is-integer');
  447. $__require('npm:core-js@1.2.6/modules/es6.number.is-nan');
  448. $__require('npm:core-js@1.2.6/modules/es6.number.is-safe-integer');
  449. $__require('npm:core-js@1.2.6/modules/es6.number.max-safe-integer');
  450. $__require('npm:core-js@1.2.6/modules/es6.number.min-safe-integer');
  451. $__require('npm:core-js@1.2.6/modules/es6.number.parse-float');
  452. $__require('npm:core-js@1.2.6/modules/es6.number.parse-int');
  453. $__require('npm:core-js@1.2.6/modules/es6.math.acosh');
  454. $__require('npm:core-js@1.2.6/modules/es6.math.asinh');
  455. $__require('npm:core-js@1.2.6/modules/es6.math.atanh');
  456. $__require('npm:core-js@1.2.6/modules/es6.math.cbrt');
  457. $__require('npm:core-js@1.2.6/modules/es6.math.clz32');
  458. $__require('npm:core-js@1.2.6/modules/es6.math.cosh');
  459. $__require('npm:core-js@1.2.6/modules/es6.math.expm1');
  460. $__require('npm:core-js@1.2.6/modules/es6.math.fround');
  461. $__require('npm:core-js@1.2.6/modules/es6.math.hypot');
  462. $__require('npm:core-js@1.2.6/modules/es6.math.imul');
  463. $__require('npm:core-js@1.2.6/modules/es6.math.log10');
  464. $__require('npm:core-js@1.2.6/modules/es6.math.log1p');
  465. $__require('npm:core-js@1.2.6/modules/es6.math.log2');
  466. $__require('npm:core-js@1.2.6/modules/es6.math.sign');
  467. $__require('npm:core-js@1.2.6/modules/es6.math.sinh');
  468. $__require('npm:core-js@1.2.6/modules/es6.math.tanh');
  469. $__require('npm:core-js@1.2.6/modules/es6.math.trunc');
  470. $__require('npm:core-js@1.2.6/modules/es6.string.from-code-point');
  471. $__require('npm:core-js@1.2.6/modules/es6.string.raw');
  472. $__require('npm:core-js@1.2.6/modules/es6.string.trim');
  473. $__require('npm:core-js@1.2.6/modules/es6.string.iterator');
  474. $__require('npm:core-js@1.2.6/modules/es6.string.code-point-at');
  475. $__require('npm:core-js@1.2.6/modules/es6.string.ends-with');
  476. $__require('npm:core-js@1.2.6/modules/es6.string.includes');
  477. $__require('npm:core-js@1.2.6/modules/es6.string.repeat');
  478. $__require('npm:core-js@1.2.6/modules/es6.string.starts-with');
  479. $__require('npm:core-js@1.2.6/modules/es6.array.from');
  480. $__require('npm:core-js@1.2.6/modules/es6.array.of');
  481. $__require('npm:core-js@1.2.6/modules/es6.array.iterator');
  482. $__require('npm:core-js@1.2.6/modules/es6.array.species');
  483. $__require('npm:core-js@1.2.6/modules/es6.array.copy-within');
  484. $__require('npm:core-js@1.2.6/modules/es6.array.fill');
  485. $__require('npm:core-js@1.2.6/modules/es6.array.find');
  486. $__require('npm:core-js@1.2.6/modules/es6.array.find-index');
  487. $__require('npm:core-js@1.2.6/modules/es6.regexp.constructor');
  488. $__require('npm:core-js@1.2.6/modules/es6.regexp.flags');
  489. $__require('npm:core-js@1.2.6/modules/es6.regexp.match');
  490. $__require('npm:core-js@1.2.6/modules/es6.regexp.replace');
  491. $__require('npm:core-js@1.2.6/modules/es6.regexp.search');
  492. $__require('npm:core-js@1.2.6/modules/es6.regexp.split');
  493. $__require('npm:core-js@1.2.6/modules/es6.promise');
  494. $__require('npm:core-js@1.2.6/modules/es6.map');
  495. $__require('npm:core-js@1.2.6/modules/es6.set');
  496. $__require('npm:core-js@1.2.6/modules/es6.weak-map');
  497. $__require('npm:core-js@1.2.6/modules/es6.weak-set');
  498. $__require('npm:core-js@1.2.6/modules/es6.reflect.apply');
  499. $__require('npm:core-js@1.2.6/modules/es6.reflect.construct');
  500. $__require('npm:core-js@1.2.6/modules/es6.reflect.define-property');
  501. $__require('npm:core-js@1.2.6/modules/es6.reflect.delete-property');
  502. $__require('npm:core-js@1.2.6/modules/es6.reflect.enumerate');
  503. $__require('npm:core-js@1.2.6/modules/es6.reflect.get');
  504. $__require('npm:core-js@1.2.6/modules/es6.reflect.get-own-property-descriptor');
  505. $__require('npm:core-js@1.2.6/modules/es6.reflect.get-prototype-of');
  506. $__require('npm:core-js@1.2.6/modules/es6.reflect.has');
  507. $__require('npm:core-js@1.2.6/modules/es6.reflect.is-extensible');
  508. $__require('npm:core-js@1.2.6/modules/es6.reflect.own-keys');
  509. $__require('npm:core-js@1.2.6/modules/es6.reflect.prevent-extensions');
  510. $__require('npm:core-js@1.2.6/modules/es6.reflect.set');
  511. $__require('npm:core-js@1.2.6/modules/es6.reflect.set-prototype-of');
  512. $__require('npm:core-js@1.2.6/modules/es7.array.includes');
  513. $__require('npm:core-js@1.2.6/modules/es7.string.at');
  514. $__require('npm:core-js@1.2.6/modules/es7.string.pad-left');
  515. $__require('npm:core-js@1.2.6/modules/es7.string.pad-right');
  516. $__require('npm:core-js@1.2.6/modules/es7.string.trim-left');
  517. $__require('npm:core-js@1.2.6/modules/es7.string.trim-right');
  518. $__require('npm:core-js@1.2.6/modules/es7.regexp.escape');
  519. $__require('npm:core-js@1.2.6/modules/es7.object.get-own-property-descriptors');
  520. $__require('npm:core-js@1.2.6/modules/es7.object.values');
  521. $__require('npm:core-js@1.2.6/modules/es7.object.entries');
  522. $__require('npm:core-js@1.2.6/modules/es7.map.to-json');
  523. $__require('npm:core-js@1.2.6/modules/es7.set.to-json');
  524. $__require('npm:core-js@1.2.6/modules/js.array.statics');
  525. $__require('npm:core-js@1.2.6/modules/web.timers');
  526. $__require('npm:core-js@1.2.6/modules/web.immediate');
  527. $__require('npm:core-js@1.2.6/modules/web.dom.iterable');
  528. module.exports = $__require('npm:core-js@1.2.6/modules/$.core');
  529. global.define = __define;
  530. return module.exports;
  531. });
  532.  
  533. System.registerDynamic("npm:babel-core@5.8.24/lib/polyfill", ["npm:core-js@1.2.6/shim", "npm:babel-runtime@5.8.24/regenerator/runtime"], true, function($__require, exports, module) {
  534. "use strict";
  535. ;
  536. var global = this,
  537. __define = global.define;
  538. global.define = undefined;
  539. "format cjs";
  540. $__require('npm:core-js@1.2.6/shim');
  541. $__require('npm:babel-runtime@5.8.24/regenerator/runtime');
  542. if (global._babelPolyfill) {
  543. throw new Error("only one instance of babel/polyfill is allowed");
  544. }
  545. global._babelPolyfill = true;
  546. global.define = __define;
  547. return module.exports;
  548. });
  549.  
  550. System.registerDynamic("npm:babel-core@5.8.24/polyfill", ["npm:babel-core@5.8.24/lib/polyfill"], true, function($__require, exports, module) {
  551. ;
  552. var global = this,
  553. __define = global.define;
  554. global.define = undefined;
  555. "format cjs";
  556. module.exports = $__require('npm:babel-core@5.8.24/lib/polyfill');
  557. global.define = __define;
  558. return module.exports;
  559. });
  560.  
  561. System.registerDynamic("npm:underscore@1.8.3/underscore", [], true, function($__require, exports, module) {
  562. ;
  563. var global = this,
  564. __define = global.define;
  565. global.define = undefined;
  566. "format cjs";
  567. (function() {
  568. var root = this;
  569. var previousUnderscore = root._;
  570. var ArrayProto = Array.prototype,
  571. ObjProto = Object.prototype,
  572. FuncProto = Function.prototype;
  573. var push = ArrayProto.push,
  574. slice = ArrayProto.slice,
  575. toString = ObjProto.toString,
  576. hasOwnProperty = ObjProto.hasOwnProperty;
  577. var nativeIsArray = Array.isArray,
  578. nativeKeys = Object.keys,
  579. nativeBind = FuncProto.bind,
  580. nativeCreate = Object.create;
  581. var Ctor = function() {};
  582. var _ = function(obj) {
  583. if (obj instanceof _)
  584. return obj;
  585. if (!(this instanceof _))
  586. return new _(obj);
  587. this._wrapped = obj;
  588. };
  589. if (typeof exports !== 'undefined') {
  590. if (typeof module !== 'undefined' && module.exports) {
  591. exports = module.exports = _;
  592. }
  593. exports._ = _;
  594. } else {
  595. root._ = _;
  596. }
  597. _.VERSION = '1.8.3';
  598. var optimizeCb = function(func, context, argCount) {
  599. if (context === void 0)
  600. return func;
  601. switch (argCount == null ? 3 : argCount) {
  602. case 1:
  603. return function(value) {
  604. return func.call(context, value);
  605. };
  606. case 2:
  607. return function(value, other) {
  608. return func.call(context, value, other);
  609. };
  610. case 3:
  611. return function(value, index, collection) {
  612. return func.call(context, value, index, collection);
  613. };
  614. case 4:
  615. return function(accumulator, value, index, collection) {
  616. return func.call(context, accumulator, value, index, collection);
  617. };
  618. }
  619. return function() {
  620. return func.apply(context, arguments);
  621. };
  622. };
  623. var cb = function(value, context, argCount) {
  624. if (value == null)
  625. return _.identity;
  626. if (_.isFunction(value))
  627. return optimizeCb(value, context, argCount);
  628. if (_.isObject(value))
  629. return _.matcher(value);
  630. return _.property(value);
  631. };
  632. _.iteratee = function(value, context) {
  633. return cb(value, context, Infinity);
  634. };
  635. var createAssigner = function(keysFunc, undefinedOnly) {
  636. return function(obj) {
  637. var length = arguments.length;
  638. if (length < 2 || obj == null)
  639. return obj;
  640. for (var index = 1; index < length; index++) {
  641. var source = arguments[index],
  642. keys = keysFunc(source),
  643. l = keys.length;
  644. for (var i = 0; i < l; i++) {
  645. var key = keys[i];
  646. if (!undefinedOnly || obj[key] === void 0)
  647. obj[key] = source[key];
  648. }
  649. }
  650. return obj;
  651. };
  652. };
  653. var baseCreate = function(prototype) {
  654. if (!_.isObject(prototype))
  655. return {};
  656. if (nativeCreate)
  657. return nativeCreate(prototype);
  658. Ctor.prototype = prototype;
  659. var result = new Ctor;
  660. Ctor.prototype = null;
  661. return result;
  662. };
  663. var property = function(key) {
  664. return function(obj) {
  665. return obj == null ? void 0 : obj[key];
  666. };
  667. };
  668. var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
  669. var getLength = property('length');
  670. var isArrayLike = function(collection) {
  671. var length = getLength(collection);
  672. return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
  673. };
  674. _.each = _.forEach = function(obj, iteratee, context) {
  675. iteratee = optimizeCb(iteratee, context);
  676. var i,
  677. length;
  678. if (isArrayLike(obj)) {
  679. for (i = 0, length = obj.length; i < length; i++) {
  680. iteratee(obj[i], i, obj);
  681. }
  682. } else {
  683. var keys = _.keys(obj);
  684. for (i = 0, length = keys.length; i < length; i++) {
  685. iteratee(obj[keys[i]], keys[i], obj);
  686. }
  687. }
  688. return obj;
  689. };
  690. _.map = _.collect = function(obj, iteratee, context) {
  691. iteratee = cb(iteratee, context);
  692. var keys = !isArrayLike(obj) && _.keys(obj),
  693. length = (keys || obj).length,
  694. results = Array(length);
  695. for (var index = 0; index < length; index++) {
  696. var currentKey = keys ? keys[index] : index;
  697. results[index] = iteratee(obj[currentKey], currentKey, obj);
  698. }
  699. return results;
  700. };
  701. function createReduce(dir) {
  702. function iterator(obj, iteratee, memo, keys, index, length) {
  703. for (; index >= 0 && index < length; index += dir) {
  704. var currentKey = keys ? keys[index] : index;
  705. memo = iteratee(memo, obj[currentKey], currentKey, obj);
  706. }
  707. return memo;
  708. }
  709. return function(obj, iteratee, memo, context) {
  710. iteratee = optimizeCb(iteratee, context, 4);
  711. var keys = !isArrayLike(obj) && _.keys(obj),
  712. length = (keys || obj).length,
  713. index = dir > 0 ? 0 : length - 1;
  714. if (arguments.length < 3) {
  715. memo = obj[keys ? keys[index] : index];
  716. index += dir;
  717. }
  718. return iterator(obj, iteratee, memo, keys, index, length);
  719. };
  720. }
  721. _.reduce = _.foldl = _.inject = createReduce(1);
  722. _.reduceRight = _.foldr = createReduce(-1);
  723. _.find = _.detect = function(obj, predicate, context) {
  724. var key;
  725. if (isArrayLike(obj)) {
  726. key = _.findIndex(obj, predicate, context);
  727. } else {
  728. key = _.findKey(obj, predicate, context);
  729. }
  730. if (key !== void 0 && key !== -1)
  731. return obj[key];
  732. };
  733. _.filter = _.select = function(obj, predicate, context) {
  734. var results = [];
  735. predicate = cb(predicate, context);
  736. _.each(obj, function(value, index, list) {
  737. if (predicate(value, index, list))
  738. results.push(value);
  739. });
  740. return results;
  741. };
  742. _.reject = function(obj, predicate, context) {
  743. return _.filter(obj, _.negate(cb(predicate)), context);
  744. };
  745. _.every = _.all = function(obj, predicate, context) {
  746. predicate = cb(predicate, context);
  747. var keys = !isArrayLike(obj) && _.keys(obj),
  748. length = (keys || obj).length;
  749. for (var index = 0; index < length; index++) {
  750. var currentKey = keys ? keys[index] : index;
  751. if (!predicate(obj[currentKey], currentKey, obj))
  752. return false;
  753. }
  754. return true;
  755. };
  756. _.some = _.any = function(obj, predicate, context) {
  757. predicate = cb(predicate, context);
  758. var keys = !isArrayLike(obj) && _.keys(obj),
  759. length = (keys || obj).length;
  760. for (var index = 0; index < length; index++) {
  761. var currentKey = keys ? keys[index] : index;
  762. if (predicate(obj[currentKey], currentKey, obj))
  763. return true;
  764. }
  765. return false;
  766. };
  767. _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
  768. if (!isArrayLike(obj))
  769. obj = _.values(obj);
  770. if (typeof fromIndex != 'number' || guard)
  771. fromIndex = 0;
  772. return _.indexOf(obj, item, fromIndex) >= 0;
  773. };
  774. _.invoke = function(obj, method) {
  775. var args = slice.call(arguments, 2);
  776. var isFunc = _.isFunction(method);
  777. return _.map(obj, function(value) {
  778. var func = isFunc ? method : value[method];
  779. return func == null ? func : func.apply(value, args);
  780. });
  781. };
  782. _.pluck = function(obj, key) {
  783. return _.map(obj, _.property(key));
  784. };
  785. _.where = function(obj, attrs) {
  786. return _.filter(obj, _.matcher(attrs));
  787. };
  788. _.findWhere = function(obj, attrs) {
  789. return _.find(obj, _.matcher(attrs));
  790. };
  791. _.max = function(obj, iteratee, context) {
  792. var result = -Infinity,
  793. lastComputed = -Infinity,
  794. value,
  795. computed;
  796. if (iteratee == null && obj != null) {
  797. obj = isArrayLike(obj) ? obj : _.values(obj);
  798. for (var i = 0,
  799. length = obj.length; i < length; i++) {
  800. value = obj[i];
  801. if (value > result) {
  802. result = value;
  803. }
  804. }
  805. } else {
  806. iteratee = cb(iteratee, context);
  807. _.each(obj, function(value, index, list) {
  808. computed = iteratee(value, index, list);
  809. if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
  810. result = value;
  811. lastComputed = computed;
  812. }
  813. });
  814. }
  815. return result;
  816. };
  817. _.min = function(obj, iteratee, context) {
  818. var result = Infinity,
  819. lastComputed = Infinity,
  820. value,
  821. computed;
  822. if (iteratee == null && obj != null) {
  823. obj = isArrayLike(obj) ? obj : _.values(obj);
  824. for (var i = 0,
  825. length = obj.length; i < length; i++) {
  826. value = obj[i];
  827. if (value < result) {
  828. result = value;
  829. }
  830. }
  831. } else {
  832. iteratee = cb(iteratee, context);
  833. _.each(obj, function(value, index, list) {
  834. computed = iteratee(value, index, list);
  835. if (computed < lastComputed || computed === Infinity && result === Infinity) {
  836. result = value;
  837. lastComputed = computed;
  838. }
  839. });
  840. }
  841. return result;
  842. };
  843. _.shuffle = function(obj) {
  844. var set = isArrayLike(obj) ? obj : _.values(obj);
  845. var length = set.length;
  846. var shuffled = Array(length);
  847. for (var index = 0,
  848. rand; index < length; index++) {
  849. rand = _.random(0, index);
  850. if (rand !== index)
  851. shuffled[index] = shuffled[rand];
  852. shuffled[rand] = set[index];
  853. }
  854. return shuffled;
  855. };
  856. _.sample = function(obj, n, guard) {
  857. if (n == null || guard) {
  858. if (!isArrayLike(obj))
  859. obj = _.values(obj);
  860. return obj[_.random(obj.length - 1)];
  861. }
  862. return _.shuffle(obj).slice(0, Math.max(0, n));
  863. };
  864. _.sortBy = function(obj, iteratee, context) {
  865. iteratee = cb(iteratee, context);
  866. return _.pluck(_.map(obj, function(value, index, list) {
  867. return {
  868. value: value,
  869. index: index,
  870. criteria: iteratee(value, index, list)
  871. };
  872. }).sort(function(left, right) {
  873. var a = left.criteria;
  874. var b = right.criteria;
  875. if (a !== b) {
  876. if (a > b || a === void 0)
  877. return 1;
  878. if (a < b || b === void 0)
  879. return -1;
  880. }
  881. return left.index - right.index;
  882. }), 'value');
  883. };
  884. var group = function(behavior) {
  885. return function(obj, iteratee, context) {
  886. var result = {};
  887. iteratee = cb(iteratee, context);
  888. _.each(obj, function(value, index) {
  889. var key = iteratee(value, index, obj);
  890. behavior(result, value, key);
  891. });
  892. return result;
  893. };
  894. };
  895. _.groupBy = group(function(result, value, key) {
  896. if (_.has(result, key))
  897. result[key].push(value);
  898. else
  899. result[key] = [value];
  900. });
  901. _.indexBy = group(function(result, value, key) {
  902. result[key] = value;
  903. });
  904. _.countBy = group(function(result, value, key) {
  905. if (_.has(result, key))
  906. result[key]++;
  907. else
  908. result[key] = 1;
  909. });
  910. _.toArray = function(obj) {
  911. if (!obj)
  912. return [];
  913. if (_.isArray(obj))
  914. return slice.call(obj);
  915. if (isArrayLike(obj))
  916. return _.map(obj, _.identity);
  917. return _.values(obj);
  918. };
  919. _.size = function(obj) {
  920. if (obj == null)
  921. return 0;
  922. return isArrayLike(obj) ? obj.length : _.keys(obj).length;
  923. };
  924. _.partition = function(obj, predicate, context) {
  925. predicate = cb(predicate, context);
  926. var pass = [],
  927. fail = [];
  928. _.each(obj, function(value, key, obj) {
  929. (predicate(value, key, obj) ? pass : fail).push(value);
  930. });
  931. return [pass, fail];
  932. };
  933. _.first = _.head = _.take = function(array, n, guard) {
  934. if (array == null)
  935. return void 0;
  936. if (n == null || guard)
  937. return array[0];
  938. return _.initial(array, array.length - n);
  939. };
  940. _.initial = function(array, n, guard) {
  941. return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
  942. };
  943. _.last = function(array, n, guard) {
  944. if (array == null)
  945. return void 0;
  946. if (n == null || guard)
  947. return array[array.length - 1];
  948. return _.rest(array, Math.max(0, array.length - n));
  949. };
  950. _.rest = _.tail = _.drop = function(array, n, guard) {
  951. return slice.call(array, n == null || guard ? 1 : n);
  952. };
  953. _.compact = function(array) {
  954. return _.filter(array, _.identity);
  955. };
  956. var flatten = function(input, shallow, strict, startIndex) {
  957. var output = [],
  958. idx = 0;
  959. for (var i = startIndex || 0,
  960. length = getLength(input); i < length; i++) {
  961. var value = input[i];
  962. if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
  963. if (!shallow)
  964. value = flatten(value, shallow, strict);
  965. var j = 0,
  966. len = value.length;
  967. output.length += len;
  968. while (j < len) {
  969. output[idx++] = value[j++];
  970. }
  971. } else if (!strict) {
  972. output[idx++] = value;
  973. }
  974. }
  975. return output;
  976. };
  977. _.flatten = function(array, shallow) {
  978. return flatten(array, shallow, false);
  979. };
  980. _.without = function(array) {
  981. return _.difference(array, slice.call(arguments, 1));
  982. };
  983. _.uniq = _.unique = function(array, isSorted, iteratee, context) {
  984. if (!_.isBoolean(isSorted)) {
  985. context = iteratee;
  986. iteratee = isSorted;
  987. isSorted = false;
  988. }
  989. if (iteratee != null)
  990. iteratee = cb(iteratee, context);
  991. var result = [];
  992. var seen = [];
  993. for (var i = 0,
  994. length = getLength(array); i < length; i++) {
  995. var value = array[i],
  996. computed = iteratee ? iteratee(value, i, array) : value;
  997. if (isSorted) {
  998. if (!i || seen !== computed)
  999. result.push(value);
  1000. seen = computed;
  1001. } else if (iteratee) {
  1002. if (!_.contains(seen, computed)) {
  1003. seen.push(computed);
  1004. result.push(value);
  1005. }
  1006. } else if (!_.contains(result, value)) {
  1007. result.push(value);
  1008. }
  1009. }
  1010. return result;
  1011. };
  1012. _.union = function() {
  1013. return _.uniq(flatten(arguments, true, true));
  1014. };
  1015. _.intersection = function(array) {
  1016. var result = [];
  1017. var argsLength = arguments.length;
  1018. for (var i = 0,
  1019. length = getLength(array); i < length; i++) {
  1020. var item = array[i];
  1021. if (_.contains(result, item))
  1022. continue;
  1023. for (var j = 1; j < argsLength; j++) {
  1024. if (!_.contains(arguments[j], item))
  1025. break;
  1026. }
  1027. if (j === argsLength)
  1028. result.push(item);
  1029. }
  1030. return result;
  1031. };
  1032. _.difference = function(array) {
  1033. var rest = flatten(arguments, true, true, 1);
  1034. return _.filter(array, function(value) {
  1035. return !_.contains(rest, value);
  1036. });
  1037. };
  1038. _.zip = function() {
  1039. return _.unzip(arguments);
  1040. };
  1041. _.unzip = function(array) {
  1042. var length = array && _.max(array, getLength).length || 0;
  1043. var result = Array(length);
  1044. for (var index = 0; index < length; index++) {
  1045. result[index] = _.pluck(array, index);
  1046. }
  1047. return result;
  1048. };
  1049. _.object = function(list, values) {
  1050. var result = {};
  1051. for (var i = 0,
  1052. length = getLength(list); i < length; i++) {
  1053. if (values) {
  1054. result[list[i]] = values[i];
  1055. } else {
  1056. result[list[i][0]] = list[i][1];
  1057. }
  1058. }
  1059. return result;
  1060. };
  1061. function createPredicateIndexFinder(dir) {
  1062. return function(array, predicate, context) {
  1063. predicate = cb(predicate, context);
  1064. var length = getLength(array);
  1065. var index = dir > 0 ? 0 : length - 1;
  1066. for (; index >= 0 && index < length; index += dir) {
  1067. if (predicate(array[index], index, array))
  1068. return index;
  1069. }
  1070. return -1;
  1071. };
  1072. }
  1073. _.findIndex = createPredicateIndexFinder(1);
  1074. _.findLastIndex = createPredicateIndexFinder(-1);
  1075. _.sortedIndex = function(array, obj, iteratee, context) {
  1076. iteratee = cb(iteratee, context, 1);
  1077. var value = iteratee(obj);
  1078. var low = 0,
  1079. high = getLength(array);
  1080. while (low < high) {
  1081. var mid = Math.floor((low + high) / 2);
  1082. if (iteratee(array[mid]) < value)
  1083. low = mid + 1;
  1084. else
  1085. high = mid;
  1086. }
  1087. return low;
  1088. };
  1089. function createIndexFinder(dir, predicateFind, sortedIndex) {
  1090. return function(array, item, idx) {
  1091. var i = 0,
  1092. length = getLength(array);
  1093. if (typeof idx == 'number') {
  1094. if (dir > 0) {
  1095. i = idx >= 0 ? idx : Math.max(idx + length, i);
  1096. } else {
  1097. length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
  1098. }
  1099. } else if (sortedIndex && idx && length) {
  1100. idx = sortedIndex(array, item);
  1101. return array[idx] === item ? idx : -1;
  1102. }
  1103. if (item !== item) {
  1104. idx = predicateFind(slice.call(array, i, length), _.isNaN);
  1105. return idx >= 0 ? idx + i : -1;
  1106. }
  1107. for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
  1108. if (array[idx] === item)
  1109. return idx;
  1110. }
  1111. return -1;
  1112. };
  1113. }
  1114. _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
  1115. _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
  1116. _.range = function(start, stop, step) {
  1117. if (stop == null) {
  1118. stop = start || 0;
  1119. start = 0;
  1120. }
  1121. step = step || 1;
  1122. var length = Math.max(Math.ceil((stop - start) / step), 0);
  1123. var range = Array(length);
  1124. for (var idx = 0; idx < length; idx++, start += step) {
  1125. range[idx] = start;
  1126. }
  1127. return range;
  1128. };
  1129. var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
  1130. if (!(callingContext instanceof boundFunc))
  1131. return sourceFunc.apply(context, args);
  1132. var self = baseCreate(sourceFunc.prototype);
  1133. var result = sourceFunc.apply(self, args);
  1134. if (_.isObject(result))
  1135. return result;
  1136. return self;
  1137. };
  1138. _.bind = function(func, context) {
  1139. if (nativeBind && func.bind === nativeBind)
  1140. return nativeBind.apply(func, slice.call(arguments, 1));
  1141. if (!_.isFunction(func))
  1142. throw new TypeError('Bind must be called on a function');
  1143. var args = slice.call(arguments, 2);
  1144. var bound = function() {
  1145. return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));
  1146. };
  1147. return bound;
  1148. };
  1149. _.partial = function(func) {
  1150. var boundArgs = slice.call(arguments, 1);
  1151. var bound = function() {
  1152. var position = 0,
  1153. length = boundArgs.length;
  1154. var args = Array(length);
  1155. for (var i = 0; i < length; i++) {
  1156. args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];
  1157. }
  1158. while (position < arguments.length)
  1159. args.push(arguments[position++]);
  1160. return executeBound(func, bound, this, this, args);
  1161. };
  1162. return bound;
  1163. };
  1164. _.bindAll = function(obj) {
  1165. var i,
  1166. length = arguments.length,
  1167. key;
  1168. if (length <= 1)
  1169. throw new Error('bindAll must be passed function names');
  1170. for (i = 1; i < length; i++) {
  1171. key = arguments[i];
  1172. obj[key] = _.bind(obj[key], obj);
  1173. }
  1174. return obj;
  1175. };
  1176. _.memoize = function(func, hasher) {
  1177. var memoize = function(key) {
  1178. var cache = memoize.cache;
  1179. var address = '' + (hasher ? hasher.apply(this, arguments) : key);
  1180. if (!_.has(cache, address))
  1181. cache[address] = func.apply(this, arguments);
  1182. return cache[address];
  1183. };
  1184. memoize.cache = {};
  1185. return memoize;
  1186. };
  1187. _.delay = function(func, wait) {
  1188. var args = slice.call(arguments, 2);
  1189. return setTimeout(function() {
  1190. return func.apply(null, args);
  1191. }, wait);
  1192. };
  1193. _.defer = _.partial(_.delay, _, 1);
  1194. _.throttle = function(func, wait, options) {
  1195. var context,
  1196. args,
  1197. result;
  1198. var timeout = null;
  1199. var previous = 0;
  1200. if (!options)
  1201. options = {};
  1202. var later = function() {
  1203. previous = options.leading === false ? 0 : _.now();
  1204. timeout = null;
  1205. result = func.apply(context, args);
  1206. if (!timeout)
  1207. context = args = null;
  1208. };
  1209. return function() {
  1210. var now = _.now();
  1211. if (!previous && options.leading === false)
  1212. previous = now;
  1213. var remaining = wait - (now - previous);
  1214. context = this;
  1215. args = arguments;
  1216. if (remaining <= 0 || remaining > wait) {
  1217. if (timeout) {
  1218. clearTimeout(timeout);
  1219. timeout = null;
  1220. }
  1221. previous = now;
  1222. result = func.apply(context, args);
  1223. if (!timeout)
  1224. context = args = null;
  1225. } else if (!timeout && options.trailing !== false) {
  1226. timeout = setTimeout(later, remaining);
  1227. }
  1228. return result;
  1229. };
  1230. };
  1231. _.debounce = function(func, wait, immediate) {
  1232. var timeout,
  1233. args,
  1234. context,
  1235. timestamp,
  1236. result;
  1237. var later = function() {
  1238. var last = _.now() - timestamp;
  1239. if (last < wait && last >= 0) {
  1240. timeout = setTimeout(later, wait - last);
  1241. } else {
  1242. timeout = null;
  1243. if (!immediate) {
  1244. result = func.apply(context, args);
  1245. if (!timeout)
  1246. context = args = null;
  1247. }
  1248. }
  1249. };
  1250. return function() {
  1251. context = this;
  1252. args = arguments;
  1253. timestamp = _.now();
  1254. var callNow = immediate && !timeout;
  1255. if (!timeout)
  1256. timeout = setTimeout(later, wait);
  1257. if (callNow) {
  1258. result = func.apply(context, args);
  1259. context = args = null;
  1260. }
  1261. return result;
  1262. };
  1263. };
  1264. _.wrap = function(func, wrapper) {
  1265. return _.partial(wrapper, func);
  1266. };
  1267. _.negate = function(predicate) {
  1268. return function() {
  1269. return !predicate.apply(this, arguments);
  1270. };
  1271. };
  1272. _.compose = function() {
  1273. var args = arguments;
  1274. var start = args.length - 1;
  1275. return function() {
  1276. var i = start;
  1277. var result = args[start].apply(this, arguments);
  1278. while (i--)
  1279. result = args[i].call(this, result);
  1280. return result;
  1281. };
  1282. };
  1283. _.after = function(times, func) {
  1284. return function() {
  1285. if (--times < 1) {
  1286. return func.apply(this, arguments);
  1287. }
  1288. };
  1289. };
  1290. _.before = function(times, func) {
  1291. var memo;
  1292. return function() {
  1293. if (--times > 0) {
  1294. memo = func.apply(this, arguments);
  1295. }
  1296. if (times <= 1)
  1297. func = null;
  1298. return memo;
  1299. };
  1300. };
  1301. _.once = _.partial(_.before, 2);
  1302. var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
  1303. var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
  1304. function collectNonEnumProps(obj, keys) {
  1305. var nonEnumIdx = nonEnumerableProps.length;
  1306. var constructor = obj.constructor;
  1307. var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;
  1308. var prop = 'constructor';
  1309. if (_.has(obj, prop) && !_.contains(keys, prop))
  1310. keys.push(prop);
  1311. while (nonEnumIdx--) {
  1312. prop = nonEnumerableProps[nonEnumIdx];
  1313. if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
  1314. keys.push(prop);
  1315. }
  1316. }
  1317. }
  1318. _.keys = function(obj) {
  1319. if (!_.isObject(obj))
  1320. return [];
  1321. if (nativeKeys)
  1322. return nativeKeys(obj);
  1323. var keys = [];
  1324. for (var key in obj)
  1325. if (_.has(obj, key))
  1326. keys.push(key);
  1327. if (hasEnumBug)
  1328. collectNonEnumProps(obj, keys);
  1329. return keys;
  1330. };
  1331. _.allKeys = function(obj) {
  1332. if (!_.isObject(obj))
  1333. return [];
  1334. var keys = [];
  1335. for (var key in obj)
  1336. keys.push(key);
  1337. if (hasEnumBug)
  1338. collectNonEnumProps(obj, keys);
  1339. return keys;
  1340. };
  1341. _.values = function(obj) {
  1342. var keys = _.keys(obj);
  1343. var length = keys.length;
  1344. var values = Array(length);
  1345. for (var i = 0; i < length; i++) {
  1346. values[i] = obj[keys[i]];
  1347. }
  1348. return values;
  1349. };
  1350. _.mapObject = function(obj, iteratee, context) {
  1351. iteratee = cb(iteratee, context);
  1352. var keys = _.keys(obj),
  1353. length = keys.length,
  1354. results = {},
  1355. currentKey;
  1356. for (var index = 0; index < length; index++) {
  1357. currentKey = keys[index];
  1358. results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
  1359. }
  1360. return results;
  1361. };
  1362. _.pairs = function(obj) {
  1363. var keys = _.keys(obj);
  1364. var length = keys.length;
  1365. var pairs = Array(length);
  1366. for (var i = 0; i < length; i++) {
  1367. pairs[i] = [keys[i], obj[keys[i]]];
  1368. }
  1369. return pairs;
  1370. };
  1371. _.invert = function(obj) {
  1372. var result = {};
  1373. var keys = _.keys(obj);
  1374. for (var i = 0,
  1375. length = keys.length; i < length; i++) {
  1376. result[obj[keys[i]]] = keys[i];
  1377. }
  1378. return result;
  1379. };
  1380. _.functions = _.methods = function(obj) {
  1381. var names = [];
  1382. for (var key in obj) {
  1383. if (_.isFunction(obj[key]))
  1384. names.push(key);
  1385. }
  1386. return names.sort();
  1387. };
  1388. _.extend = createAssigner(_.allKeys);
  1389. _.extendOwn = _.assign = createAssigner(_.keys);
  1390. _.findKey = function(obj, predicate, context) {
  1391. predicate = cb(predicate, context);
  1392. var keys = _.keys(obj),
  1393. key;
  1394. for (var i = 0,
  1395. length = keys.length; i < length; i++) {
  1396. key = keys[i];
  1397. if (predicate(obj[key], key, obj))
  1398. return key;
  1399. }
  1400. };
  1401. _.pick = function(object, oiteratee, context) {
  1402. var result = {},
  1403. obj = object,
  1404. iteratee,
  1405. keys;
  1406. if (obj == null)
  1407. return result;
  1408. if (_.isFunction(oiteratee)) {
  1409. keys = _.allKeys(obj);
  1410. iteratee = optimizeCb(oiteratee, context);
  1411. } else {
  1412. keys = flatten(arguments, false, false, 1);
  1413. iteratee = function(value, key, obj) {
  1414. return key in obj;
  1415. };
  1416. obj = Object(obj);
  1417. }
  1418. for (var i = 0,
  1419. length = keys.length; i < length; i++) {
  1420. var key = keys[i];
  1421. var value = obj[key];
  1422. if (iteratee(value, key, obj))
  1423. result[key] = value;
  1424. }
  1425. return result;
  1426. };
  1427. _.omit = function(obj, iteratee, context) {
  1428. if (_.isFunction(iteratee)) {
  1429. iteratee = _.negate(iteratee);
  1430. } else {
  1431. var keys = _.map(flatten(arguments, false, false, 1), String);
  1432. iteratee = function(value, key) {
  1433. return !_.contains(keys, key);
  1434. };
  1435. }
  1436. return _.pick(obj, iteratee, context);
  1437. };
  1438. _.defaults = createAssigner(_.allKeys, true);
  1439. _.create = function(prototype, props) {
  1440. var result = baseCreate(prototype);
  1441. if (props)
  1442. _.extendOwn(result, props);
  1443. return result;
  1444. };
  1445. _.clone = function(obj) {
  1446. if (!_.isObject(obj))
  1447. return obj;
  1448. return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
  1449. };
  1450. _.tap = function(obj, interceptor) {
  1451. interceptor(obj);
  1452. return obj;
  1453. };
  1454. _.isMatch = function(object, attrs) {
  1455. var keys = _.keys(attrs),
  1456. length = keys.length;
  1457. if (object == null)
  1458. return !length;
  1459. var obj = Object(object);
  1460. for (var i = 0; i < length; i++) {
  1461. var key = keys[i];
  1462. if (attrs[key] !== obj[key] || !(key in obj))
  1463. return false;
  1464. }
  1465. return true;
  1466. };
  1467. var eq = function(a, b, aStack, bStack) {
  1468. if (a === b)
  1469. return a !== 0 || 1 / a === 1 / b;
  1470. if (a == null || b == null)
  1471. return a === b;
  1472. if (a instanceof _)
  1473. a = a._wrapped;
  1474. if (b instanceof _)
  1475. b = b._wrapped;
  1476. var className = toString.call(a);
  1477. if (className !== toString.call(b))
  1478. return false;
  1479. switch (className) {
  1480. case '[object RegExp]':
  1481. case '[object String]':
  1482. return '' + a === '' + b;
  1483. case '[object Number]':
  1484. if (+a !== +a)
  1485. return +b !== +b;
  1486. return +a === 0 ? 1 / +a === 1 / b : +a === +b;
  1487. case '[object Date]':
  1488. case '[object Boolean]':
  1489. return +a === +b;
  1490. }
  1491. var areArrays = className === '[object Array]';
  1492. if (!areArrays) {
  1493. if (typeof a != 'object' || typeof b != 'object')
  1494. return false;
  1495. var aCtor = a.constructor,
  1496. bCtor = b.constructor;
  1497. if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && _.isFunction(bCtor) && bCtor instanceof bCtor) && ('constructor' in a && 'constructor' in b)) {
  1498. return false;
  1499. }
  1500. }
  1501. aStack = aStack || [];
  1502. bStack = bStack || [];
  1503. var length = aStack.length;
  1504. while (length--) {
  1505. if (aStack[length] === a)
  1506. return bStack[length] === b;
  1507. }
  1508. aStack.push(a);
  1509. bStack.push(b);
  1510. if (areArrays) {
  1511. length = a.length;
  1512. if (length !== b.length)
  1513. return false;
  1514. while (length--) {
  1515. if (!eq(a[length], b[length], aStack, bStack))
  1516. return false;
  1517. }
  1518. } else {
  1519. var keys = _.keys(a),
  1520. key;
  1521. length = keys.length;
  1522. if (_.keys(b).length !== length)
  1523. return false;
  1524. while (length--) {
  1525. key = keys[length];
  1526. if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack)))
  1527. return false;
  1528. }
  1529. }
  1530. aStack.pop();
  1531. bStack.pop();
  1532. return true;
  1533. };
  1534. _.isEqual = function(a, b) {
  1535. return eq(a, b);
  1536. };
  1537. _.isEmpty = function(obj) {
  1538. if (obj == null)
  1539. return true;
  1540. if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj)))
  1541. return obj.length === 0;
  1542. return _.keys(obj).length === 0;
  1543. };
  1544. _.isElement = function(obj) {
  1545. return !!(obj && obj.nodeType === 1);
  1546. };
  1547. _.isArray = nativeIsArray || function(obj) {
  1548. return toString.call(obj) === '[object Array]';
  1549. };
  1550. _.isObject = function(obj) {
  1551. var type = typeof obj;
  1552. return type === 'function' || type === 'object' && !!obj;
  1553. };
  1554. _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {
  1555. _['is' + name] = function(obj) {
  1556. return toString.call(obj) === '[object ' + name + ']';
  1557. };
  1558. });
  1559. if (!_.isArguments(arguments)) {
  1560. _.isArguments = function(obj) {
  1561. return _.has(obj, 'callee');
  1562. };
  1563. }
  1564. if (typeof/./ != 'function' && typeof Int8Array != 'object') {
  1565. _.isFunction = function(obj) {
  1566. return typeof obj == 'function' || false;
  1567. };
  1568. }
  1569. _.isFinite = function(obj) {
  1570. return isFinite(obj) && !isNaN(parseFloat(obj));
  1571. };
  1572. _.isNaN = function(obj) {
  1573. return _.isNumber(obj) && obj !== +obj;
  1574. };
  1575. _.isBoolean = function(obj) {
  1576. return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
  1577. };
  1578. _.isNull = function(obj) {
  1579. return obj === null;
  1580. };
  1581. _.isUndefined = function(obj) {
  1582. return obj === void 0;
  1583. };
  1584. _.has = function(obj, key) {
  1585. return obj != null && hasOwnProperty.call(obj, key);
  1586. };
  1587. _.noConflict = function() {
  1588. root._ = previousUnderscore;
  1589. return this;
  1590. };
  1591. _.identity = function(value) {
  1592. return value;
  1593. };
  1594. _.constant = function(value) {
  1595. return function() {
  1596. return value;
  1597. };
  1598. };
  1599. _.noop = function() {};
  1600. _.property = property;
  1601. _.propertyOf = function(obj) {
  1602. return obj == null ? function() {} : function(key) {
  1603. return obj[key];
  1604. };
  1605. };
  1606. _.matcher = _.matches = function(attrs) {
  1607. attrs = _.extendOwn({}, attrs);
  1608. return function(obj) {
  1609. return _.isMatch(obj, attrs);
  1610. };
  1611. };
  1612. _.times = function(n, iteratee, context) {
  1613. var accum = Array(Math.max(0, n));
  1614. iteratee = optimizeCb(iteratee, context, 1);
  1615. for (var i = 0; i < n; i++)
  1616. accum[i] = iteratee(i);
  1617. return accum;
  1618. };
  1619. _.random = function(min, max) {
  1620. if (max == null) {
  1621. max = min;
  1622. min = 0;
  1623. }
  1624. return min + Math.floor(Math.random() * (max - min + 1));
  1625. };
  1626. _.now = Date.now || function() {
  1627. return new Date().getTime();
  1628. };
  1629. var escapeMap = {
  1630. '&': '&amp;',
  1631. '<': '&lt;',
  1632. '>': '&gt;',
  1633. '"': '&quot;',
  1634. "'": '&#x27;',
  1635. '`': '&#x60;'
  1636. };
  1637. var unescapeMap = _.invert(escapeMap);
  1638. var createEscaper = function(map) {
  1639. var escaper = function(match) {
  1640. return map[match];
  1641. };
  1642. var source = '(?:' + _.keys(map).join('|') + ')';
  1643. var testRegexp = RegExp(source);
  1644. var replaceRegexp = RegExp(source, 'g');
  1645. return function(string) {
  1646. string = string == null ? '' : '' + string;
  1647. return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
  1648. };
  1649. };
  1650. _.escape = createEscaper(escapeMap);
  1651. _.unescape = createEscaper(unescapeMap);
  1652. _.result = function(object, property, fallback) {
  1653. var value = object == null ? void 0 : object[property];
  1654. if (value === void 0) {
  1655. value = fallback;
  1656. }
  1657. return _.isFunction(value) ? value.call(object) : value;
  1658. };
  1659. var idCounter = 0;
  1660. _.uniqueId = function(prefix) {
  1661. var id = ++idCounter + '';
  1662. return prefix ? prefix + id : id;
  1663. };
  1664. _.templateSettings = {
  1665. evaluate: /<%([\s\S]+?)%>/g,
  1666. interpolate: /<%=([\s\S]+?)%>/g,
  1667. escape: /<%-([\s\S]+?)%>/g
  1668. };
  1669. var noMatch = /(.)^/;
  1670. var escapes = {
  1671. "'": "'",
  1672. '\\': '\\',
  1673. '\r': 'r',
  1674. '\n': 'n',
  1675. '\u2028': 'u2028',
  1676. '\u2029': 'u2029'
  1677. };
  1678. var escaper = /\\|'|\r|\n|\u2028|\u2029/g;
  1679. var escapeChar = function(match) {
  1680. return '\\' + escapes[match];
  1681. };
  1682. _.template = function(text, settings, oldSettings) {
  1683. if (!settings && oldSettings)
  1684. settings = oldSettings;
  1685. settings = _.defaults({}, settings, _.templateSettings);
  1686. var matcher = RegExp([(settings.escape || noMatch).source, (settings.interpolate || noMatch).source, (settings.evaluate || noMatch).source].join('|') + '|$', 'g');
  1687. var index = 0;
  1688. var source = "__p+='";
  1689. text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
  1690. source += text.slice(index, offset).replace(escaper, escapeChar);
  1691. index = offset + match.length;
  1692. if (escape) {
  1693. source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
  1694. } else if (interpolate) {
  1695. source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
  1696. } else if (evaluate) {
  1697. source += "';\n" + evaluate + "\n__p+='";
  1698. }
  1699. return match;
  1700. });
  1701. source += "';\n";
  1702. if (!settings.variable)
  1703. source = 'with(obj||{}){\n' + source + '}\n';
  1704. source = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + source + 'return __p;\n';
  1705. try {
  1706. var render = new Function(settings.variable || 'obj', '_', source);
  1707. } catch (e) {
  1708. e.source = source;
  1709. throw e;
  1710. }
  1711. var template = function(data) {
  1712. return render.call(this, data, _);
  1713. };
  1714. var argument = settings.variable || 'obj';
  1715. template.source = 'function(' + argument + '){\n' + source + '}';
  1716. return template;
  1717. };
  1718. _.chain = function(obj) {
  1719. var instance = _(obj);
  1720. instance._chain = true;
  1721. return instance;
  1722. };
  1723. var result = function(instance, obj) {
  1724. return instance._chain ? _(obj).chain() : obj;
  1725. };
  1726. _.mixin = function(obj) {
  1727. _.each(_.functions(obj), function(name) {
  1728. var func = _[name] = obj[name];
  1729. _.prototype[name] = function() {
  1730. var args = [this._wrapped];
  1731. push.apply(args, arguments);
  1732. return result(this, func.apply(_, args));
  1733. };
  1734. });
  1735. };
  1736. _.mixin(_);
  1737. _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
  1738. var method = ArrayProto[name];
  1739. _.prototype[name] = function() {
  1740. var obj = this._wrapped;
  1741. method.apply(obj, arguments);
  1742. if ((name === 'shift' || name === 'splice') && obj.length === 0)
  1743. delete obj[0];
  1744. return result(this, obj);
  1745. };
  1746. });
  1747. _.each(['concat', 'join', 'slice'], function(name) {
  1748. var method = ArrayProto[name];
  1749. _.prototype[name] = function() {
  1750. return result(this, method.apply(this._wrapped, arguments));
  1751. };
  1752. });
  1753. _.prototype.value = function() {
  1754. return this._wrapped;
  1755. };
  1756. _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
  1757. _.prototype.toString = function() {
  1758. return '' + this._wrapped;
  1759. };
  1760. if (typeof define === 'function' && define.amd) {
  1761. define('underscore', [], function() {
  1762. return _;
  1763. });
  1764. }
  1765. }.call(this));
  1766. global.define = __define;
  1767. return module.exports;
  1768. });
  1769.  
  1770. System.registerDynamic("npm:underscore@1.8.3", ["npm:underscore@1.8.3/underscore"], true, function($__require, exports, module) {
  1771. ;
  1772. var global = this,
  1773. __define = global.define;
  1774. global.define = undefined;
  1775. module.exports = $__require('npm:underscore@1.8.3/underscore');
  1776. global.define = __define;
  1777. return module.exports;
  1778. });
  1779.  
  1780. System.register("app/lib/util/UnderscoreMixins.js", ["npm:underscore@1.8.3"], function (_export) {
  1781. "use strict";
  1782.  
  1783. var _;
  1784.  
  1785. return {
  1786. setters: [function (_npmUnderscore183) {
  1787. _ = _npmUnderscore183["default"];
  1788. }],
  1789. execute: function () {
  1790.  
  1791. _.mixin({
  1792. deepClone: function deepClone(input) {
  1793. return JSON.parse(JSON.stringify(input));
  1794. },
  1795. deepEqual: function deepEqual(a, b) {
  1796. return JSON.stringify(a) === JSON.stringify(b);
  1797. },
  1798. split: function split(array, segments) {
  1799. var len = array.length,
  1800. out = [],
  1801. i = 0;
  1802. while (i < len) {
  1803. var size = Math.ceil((len - i) / segments--);
  1804. out.push(array.slice(i, i += size));
  1805. }
  1806. return out;
  1807. },
  1808. paginate: function paginate(array, pageSize) {
  1809. var out = [];
  1810. var pagesNumber = Math.ceil(array.length / pageSize);
  1811. _.range(0, pagesNumber).forEach(function (start) {
  1812. out.push(array.slice(start * pageSize, start * pageSize + pageSize));
  1813. });
  1814. return out;
  1815. }
  1816. });
  1817. }
  1818. };
  1819. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement