diff --git a/lib/mdl-ext.js b/lib/mdl-ext.js
index 7b8c7df..4d618f8 100644
--- a/lib/mdl-ext.js
+++ b/lib/mdl-ext.js
@@ -2185,7 +2185,8 @@ return /******/ (function(modules) { // webpackBootstrap
}).observe(this.content_, {
attributes: false,
childList: true,
- characterData: false
+ characterData: false,
+ subtree: true
});
// Set initial position
diff --git a/lib/mdl-ext.js.map b/lib/mdl-ext.js.map
index 5b57883..4abea1e 100644
--- a/lib/mdl-ext.js.map
+++ b/lib/mdl-ext.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap 456099f6aba5c235d7b3?b74e","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./src/utils/custom-event.js?bfbd","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8","webpack:///./src/mdl-ext-build.scss?16f6"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACVA,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC,qB;;;;;;ACAA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;;;;;;SCsBgB,iB,GAAA,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAT,UAAS,iBAAT,CAA4B,OAA5B,EAA6G;AAClH;;AADkH,OAAxE,eAAwE,yDAAtD,EAAE,SAAS,KAAX,EAAkB,YAAY,KAA9B,EAAqC,QAAQ,IAA7C,EAAsD;AAGlH,OAAI;;AAEF,YAAO,IAAI,OAAO,WAAX,CAAuB,OAAvB,EAAgC,eAAhC,CAAP;AACD,IAHD,CAIA,OAAM,CAAN,EAAS;;;AAGP,SAAM,KAAK,SAAS,WAAT,CAAqB,aAArB,CAAX;AACA,QAAG,eAAH,CAAmB,OAAnB,EAA4B,gBAAgB,OAA5C,EAAqD,gBAAgB,UAArE,EAAiF,gBAAgB,MAAjG;;AAEA,QAAG,cAAH,GAAoB,YAAW;AAC7B,cAAO,cAAP,CAAsB,IAAtB,EAA4B,kBAA5B,EAAgD;AAC9C,cAAK,eAAW;AACd,kBAAO,IAAP;AACD;AAH6C,QAAhD;AAKD,MAND;AAOA,YAAO,EAAP;AACD;;AAEF,E;;;;;;ACpDD;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE;AACA,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;AC5DA,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA;AACA;AACA,G;;;;;;ACFA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,8CAA6C,gBAAgB;AAC7D;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACpBA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACtBA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA,c;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACrEA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA,yGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACiBA;;;;AAEA,EAAC,YAAW;AACV;;AAGA,OAAM,mBAAmB,gBAAzB;AACA,OAAM,SAAS,CAAf;AACA,OAAM,WAAW,EAAjB;AACA,OAAM,WAAW,EAAjB;AACA,OAAM,SAAS,EAAf;AACA,OAAM,UAAU,EAAhB;AACA,OAAM,gBAAgB,EAAtB;AACA,OAAM,cAAc,EAApB;AACA,OAAM,iBAAiB,EAAvB;AACA,OAAM,gBAAgB,EAAtB;;AAEA,OAAM,QAAQ,yBAAd;AAC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;ACFD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,sDAAqD,0BAA0B;AAC/E;AACA,G;;;;;;ACZA;AACA;;AAEA;AACA;AACA,gCAA+B,qBAAqB;AACpD,gCAA+B,SAAS,EAAE;AAC1C,EAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACpBA;AACA,WAAU;AACV,G;;;;;;ACFA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA,eAAc,sB;;;;;;ACAd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACfA,yC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA,MAAK;AACL;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA;AACA;;AAEA,+BAA8B,mCAAoC,E;;;;;;ACHlE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD,0C","file":"mdl-ext.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/\n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 456099f6aba5c235d7b3\n **/\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 456099f6aba5c235d7b3\n **/","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '2.3.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n * Since I do not care too much about IE11, a brute force approach is sufficient.\n *\n * @param {string} typeArg Is a String representing the name of the event.\n * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n */\n\nexport function createCustomEvent( typeArg, customEventInit = { bubbles: false, cancelable: false, detail: null } ) {\n 'use strict';\n\n try {\n // Modern browsers\n return new window.CustomEvent(typeArg, customEventInit);\n }\n catch(e) {\n // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n const ce = document.createEvent('CustomEvent');\n ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\n ce.preventDefault = function() {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n };\n return ce;\n }\n // Let old browsers throw whatewer they want to throw\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"babel-runtime/core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var shared = require('./_shared')('keys')\r\n , uid = require('./_uid');\r\nmodule.exports = function(key){\r\n return shared[key] || (shared[key] = uid(key));\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// IE 8- don't enum bug keys\r\nmodule.exports = (\r\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n).split(',');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\nvar $keys = require('./_object-keys-internal')\r\n , enumBugKeys = require('./_enum-bug-keys');\r\n\r\nmodule.exports = Object.keys || function keys(O){\r\n return $keys(O, enumBugKeys);\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const PANEL = 'mdlext-accordion__panel';\n const HEADER = 'mdlext-accordion__panel__header';\n const HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n const IS_UPGRADED = 'is-upgraded';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n\n /**\n * Class constructor for Accordion MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion(element) {\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n /**\n * Handles custom command event, 'open', 'close', or 'toggle'\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n\n if('open' === action || 'close' === action || 'toggle' === action) {\n\n if(event.detail.target === undefined) {\n\n if(this.element_.hasAttribute('aria-multiselectable') &&\n 'false' !== this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach(panel => {\n panel.dispatchEvent(\n createCustomEvent('command_', {\n detail: {action: action}\n })\n );\n });\n }\n }\n else if (event.detail.target !== null) {\n\n event.detail.target.dispatchEvent(\n // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n createCustomEvent('command_', {\n bubbles: true, detail: { action: action }\n })\n );\n }\n }\n }\n };\n\n /**\n * Initialize accordion's panels\n *\n * @private\n */\n MaterialExtAccordion.prototype.initAccordion_ = function() {\n\n this.element_.setAttribute('role', 'tablist');\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach( panel => {\n new MaterialExtAccordionPanel(panel, this);\n });\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n /**\n * Initialize Accordion element.\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n this.initAccordion_();\n }\n };\n\n\n /**\n * Constructor for an individual accordion panel.\n *\n * @constructor\n * @param {Element} panel The HTML element for the tab.\n * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n */\n function MaterialExtAccordionPanel(panel, ctx) {\n\n const header = panel.querySelector(`.${HEADER}`);\n if(header === null) {\n throw new Error('There must be a header element for each accordion panel.');\n }\n\n header.setAttribute('role', 'tab');\n\n let a = header.querySelector(`a.${HEADER_TABSTOP}`);\n if(a === null) {\n // An anchor is required for focus/tab stop\n a = document.createElement('a');\n a.href = '#';\n a.classList.add(HEADER_TABSTOP);\n header.appendChild(a);\n }\n\n panel.setAttribute('role', 'tabpanel');\n\n if(panel.hasAttribute('open')) {\n header.setAttribute('aria-expanded', '');\n }\n else {\n header.setAttribute('aria-hidden', '');\n }\n\n if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n\n header.addEventListener('click', ( event => {\n\n event.preventDefault();\n event.stopPropagation();\n\n if(!panel.hasAttribute('disabled')) {\n\n if(panel.hasAttribute('open')) {\n\n closePanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', panel, ctx.element_);\n }\n else {\n if(ctx.element_.hasAttribute('aria-multiselectable') &&\n 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n const openPanel = ctx.element_.querySelector(`.${PANEL}[open]`);\n if (openPanel) {\n closePanel(openPanel, openPanel.querySelector(`.${HEADER}`));\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', openPanel, ctx.element_);\n }\n removeAriaSelectedAttribute();\n }\n\n openPanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('open', panel, ctx.element_);\n }\n focus(panel);\n }\n }), true);\n\n\n header.addEventListener('keydown', ( event => {\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n const panels = panel.parentNode.children;\n let nextPanel = null;\n const n = panel.parentNode.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if(panels[i] == panel) {\n if(event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i-1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i+1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if(event.shiftKey) {\n if(i > 0 && !panels[i-1].hasAttribute('open')) {\n nextPanel = panels[i-1];\n }\n }\n else if (i < n) {\n if(!panel.hasAttribute('open')) {\n nextPanel = panels[i+1];\n }\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n header.dispatchEvent(evt);\n }\n break;\n }\n }\n if(nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }), true);\n\n panel.addEventListener('command_', ( event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n switch (action) {\n case 'open':\n openPanel(panel, header);\n break;\n case 'close':\n closePanel(panel, header);\n break;\n case 'toggle':\n togglePanel(panel, header);\n break;\n }\n }\n }));\n\n\n function togglePanel(panel, header) {\n if(panel.hasAttribute('open')) {\n closePanel(panel, header);\n }\n else {\n openPanel(panel, header);\n }\n }\n\n function openPanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.setAttribute('open', '');\n header.setAttribute('aria-expanded', '');\n header.setAttribute('aria-selected', '');\n header.removeAttribute('aria-hidden', '');\n }\n }\n\n function closePanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.removeAttribute('open');\n header.removeAttribute('aria-expanded');\n header.setAttribute('aria-hidden', '');\n }\n }\n\n function removeAriaSelectedAttribute() {\n const selectedHeader = ctx.element_.querySelector(`.${HEADER}[aria-selected]`);\n if(selectedHeader) {\n selectedHeader.removeAttribute('aria-selected');\n }\n }\n\n function focus(nextPanel) {\n const a = nextPanel.querySelector(`.${HEADER} a`);\n if(a) {\n removeAriaSelectedAttribute();\n a.focus();\n nextPanel.querySelector(`.${HEADER}`).setAttribute('aria-selected', '');\n }\n }\n\n function dispatchToggleEvent(state, source, target) {\n const evt = createCustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, source: source }\n });\n target.dispatchEvent(evt);\n }\n }\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/","'use strict';\nimport 'utils/custom-event';\nimport 'sticky-header/sticky-header';\nimport 'selectfield/selectfield';\nimport 'accordion/accordion';\nimport 'lightboard/lightboard';\nimport 'lightbox/lightbox';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOARD = 'mdlext-lightboard';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n /**\n * Initialize lightboard slides\n *\n * @private\n */\n MaterialExtLightboard.prototype.initLightboard_ = function() {\n\n this.element_.setAttribute('role', 'grid');\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => slide.setAttribute('role', 'cell')\n );\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => addRipple(slide)\n );\n }\n\n /**\n * Trigger when user cliks on a slide\n */\n this.element_.addEventListener('click', ( function(event) {\n event.preventDefault();\n event.stopPropagation();\n const slide = getSlide(event.target);\n\n if(event.target !== this) {\n focus(slide);\n\n // Remove 'aria-selected' attribute\n [...this.children] // Should I use querySelectorAll ???\n .filter( panel => panel.hasAttribute('aria-selected'))\n .forEach( selected => selected.removeAttribute('aria-selected'));\n\n // Set 'aria-selected' on current slide\n slide.setAttribute('aria-selected', '');\n\n const evt = createCustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n });\n this.dispatchEvent(evt);\n }\n }).bind(this.element_), true);\n\n /**\n * Trigger when user presses a keboard key\n */\n this.element_.addEventListener('keydown', ( function(event) {\n // Maybe this function should be throttled??\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.target !== this) {\n const panel = getSlide(event.target);\n const panels = this.children;\n let nextPanel = null;\n const n = this.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if (panels[i] === panel) {\n if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i - 1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i + 1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if (event.shiftKey) {\n if (i > 0) {\n nextPanel = panels[i - 1];\n }\n }\n else if (i < n) {\n nextPanel = panels[i + 1];\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n panel.dispatchEvent(evt);\n }\n break;\n }\n }\n if (nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }\n }).bind(this.element_), true);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n function getSlide(element) {\n if (!element || element.classList.contains(LIGHTBOARD)) {\n return null;\n }\n return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n }\n\n function focus(slide) {\n if(slide) {\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if (a) {\n a.focus();\n }\n }\n }\n\n function addRipple(slide) {\n // Use anchor as ripple container\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n }\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n if (this.element_) {\n this.initLightboard_();\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_ESC = 27;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOX_CLASS = 'mdlext-lightbox';\n const STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n const BUTTON_CLASS = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n let n = this;\n while((n = n.parentNode) != null) {\n if(n.classList.contains(LIGHTBOX_CLASS)) {\n n.focus();\n break;\n }\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n function dispatchAction_(action, source, target = source) {\n\n target.dispatchEvent(createCustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n }\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n function repositionDialog_(lightboxElement) {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n }\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add('mdlext-lightbox__slider');\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n window.addEventListener('resize', () => {\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n repositionDialog_(this.element_);\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n });\n\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\n if (this.element_) {\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n button => button.removeEventListener('click', this.buttonClickHandler_)\n );\n\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n }\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\n(function() {\n 'use strict';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Store constants in one place so they can be updated easily.\n *\n * @enum {string | number}\n * @private\n */\n MaterialExtSelectfield.prototype.Constant_ = {\n };\n\n /**\n * Store strings for class names defined by this component that are used in\n * JavaScript. This allows us to simply change it in one place should we\n * decide to modify at a later date.\n *\n * @enum {string}\n * @private\n */\n MaterialExtSelectfield.prototype.CssClasses_ = {\n LABEL: 'mdlext-selectfield__label',\n INPUT: 'mdlext-selectfield__select',\n IS_DIRTY: 'is-dirty',\n IS_FOCUSED: 'is-focused',\n IS_DISABLED: 'is-disabled',\n IS_INVALID: 'is-invalid',\n IS_UPGRADED: 'is-upgraded'\n };\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function(event) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function(event) {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function(event) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${this.CssClasses_.LABEL}`);\n this.select_ = this.element_.querySelector(`.${this.CssClasses_.INPUT}`);\n\n if (this.select_) {\n this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n this.boundFocusHandler = this.onFocus_.bind(this);\n this.boundBlurHandler = this.onBlur_.bind(this);\n this.boundResetHandler = this.onReset_.bind(this);\n this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n this.select_.addEventListener('focus', this.boundFocusHandler);\n this.select_.addEventListener('blur', this.boundBlurHandler);\n this.select_.addEventListener('reset', this.boundResetHandler);\n\n const invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n /*jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\n(function() {\n 'use strict';\n\n const IS_UPGRADED = 'is-upgraded';\n const CONTENT_CLASS = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n this.recalcWidth_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = '0';\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.reposition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n this.content_ = this.header_.parentNode.querySelector(`.${CONTENT_CLASS}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n // Adjust header width if content changes (e.g. in a SPA)\n const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n new MutationObserver( ( /*mutations*/ ) => {\n\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.updatePosition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n\n }).observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false\n });\n\n // Set initial position\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"babel-runtime/core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"babel-runtime/core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/","'use strict';\r\nvar $defineProperty = require('./_object-dp')\r\n , createDesc = require('./_property-desc');\r\n\r\nmodule.exports = function(object, index, value){\r\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n else object[index] = value;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/","module.exports = require('./_global').document && document.documentElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\r\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\nvar anObject = require('./_an-object')\r\n , dPs = require('./_object-dps')\r\n , enumBugKeys = require('./_enum-bug-keys')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , Empty = function(){ /* empty */ }\r\n , PROTOTYPE = 'prototype';\r\n\r\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\nvar createDict = function(){\r\n // Thrash, waste and sodomy: IE GC bug\r\n var iframe = require('./_dom-create')('iframe')\r\n , i = enumBugKeys.length\r\n , gt = '>'\r\n , iframeDocument;\r\n iframe.style.display = 'none';\r\n require('./_html').appendChild(iframe);\r\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n // createDict = iframe.contentWindow.Object;\r\n // html.removeChild(iframe);\r\n iframeDocument = iframe.contentWindow.document;\r\n iframeDocument.open();\r\n iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n return O;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\nvar has = require('./_has')\r\n , toObject = require('./_to-object')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , ObjectProto = Object.prototype;\r\n\r\nmodule.exports = Object.getPrototypeOf || function(O){\r\n O = toObject(O);\r\n if(has(O, IE_PROTO))return O[IE_PROTO];\r\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n return O.constructor.prototype;\r\n } return O instanceof Object ? ObjectProto : null;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/","var has = require('./_has')\r\n , toIObject = require('./_to-iobject')\r\n , arrayIndexOf = require('./_array-includes')(false)\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\r\n\r\nmodule.exports = function(object, names){\r\n var O = toIObject(object)\r\n , i = 0\r\n , result = []\r\n , key;\r\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n // Don't enum bug & hidden keys\r\n while(names.length > i)if(has(O, key = names[i++])){\r\n ~arrayIndexOf(result, key) || result.push(key);\r\n }\r\n return result;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/","module.exports = require('./_hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/mdl-ext-build.scss\n ** module id = 82\n ** module chunks = 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/mdl-ext-build.scss\n ** module id = 82\n ** module chunks = 1\n **/"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap a6b05cc821f723e92b9a?70fe","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./src/utils/custom-event.js?bfbd","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8","webpack:///./src/mdl-ext-build.scss?16f6"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACVA,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC,qB;;;;;;ACAA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;;;;;;SCsBgB,iB,GAAA,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAT,UAAS,iBAAT,CAA4B,OAA5B,EAA6G;AAClH;;AADkH,OAAxE,eAAwE,yDAAtD,EAAE,SAAS,KAAX,EAAkB,YAAY,KAA9B,EAAqC,QAAQ,IAA7C,EAAsD;AAGlH,OAAI;;AAEF,YAAO,IAAI,OAAO,WAAX,CAAuB,OAAvB,EAAgC,eAAhC,CAAP;AACD,IAHD,CAIA,OAAM,CAAN,EAAS;;;AAGP,SAAM,KAAK,SAAS,WAAT,CAAqB,aAArB,CAAX;AACA,QAAG,eAAH,CAAmB,OAAnB,EAA4B,gBAAgB,OAA5C,EAAqD,gBAAgB,UAArE,EAAiF,gBAAgB,MAAjG;;AAEA,QAAG,cAAH,GAAoB,YAAW;AAC7B,cAAO,cAAP,CAAsB,IAAtB,EAA4B,kBAA5B,EAAgD;AAC9C,cAAK,eAAW;AACd,kBAAO,IAAP;AACD;AAH6C,QAAhD;AAKD,MAND;AAOA,YAAO,EAAP;AACD;;AAEF,E;;;;;;ACpDD;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE;AACA,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;AC5DA,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA;AACA;AACA,G;;;;;;ACFA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,8CAA6C,gBAAgB;AAC7D;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACpBA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACtBA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA,c;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACrEA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA,yGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACiBA;;;;AAEA,EAAC,YAAW;AACV;;AAGA,OAAM,mBAAmB,gBAAzB;AACA,OAAM,SAAS,CAAf;AACA,OAAM,WAAW,EAAjB;AACA,OAAM,WAAW,EAAjB;AACA,OAAM,SAAS,EAAf;AACA,OAAM,UAAU,EAAhB;AACA,OAAM,gBAAgB,EAAtB;AACA,OAAM,cAAc,EAApB;AACA,OAAM,iBAAiB,EAAvB;AACA,OAAM,gBAAgB,EAAtB;;AAEA,OAAM,QAAQ,yBAAd;AAC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;AACnG,EAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,sDAAqD,0BAA0B;AAC/E;AACA,G;;;;;;ACZA;AACA;;AAEA;AACA;AACA,gCAA+B,qBAAqB;AACpD,gCAA+B,SAAS,EAAE;AAC1C,EAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACpBA;AACA,WAAU;AACV,G;;;;;;ACFA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA,eAAc,sB;;;;;;ACAd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACfA,yC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA,MAAK;AACL;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA;AACA;;AAEA,+BAA8B,mCAAoC,E;;;;;;ACHlE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD,0C","file":"mdl-ext.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/\n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a6b05cc821f723e92b9a\n **/\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a6b05cc821f723e92b9a\n **/","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '2.3.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n * Since I do not care too much about IE11, a brute force approach is sufficient.\n *\n * @param {string} typeArg Is a String representing the name of the event.\n * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n */\n\nexport function createCustomEvent( typeArg, customEventInit = { bubbles: false, cancelable: false, detail: null } ) {\n 'use strict';\n\n try {\n // Modern browsers\n return new window.CustomEvent(typeArg, customEventInit);\n }\n catch(e) {\n // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n const ce = document.createEvent('CustomEvent');\n ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\n ce.preventDefault = function() {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n };\n return ce;\n }\n // Let old browsers throw whatewer they want to throw\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"babel-runtime/core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var shared = require('./_shared')('keys')\r\n , uid = require('./_uid');\r\nmodule.exports = function(key){\r\n return shared[key] || (shared[key] = uid(key));\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// IE 8- don't enum bug keys\r\nmodule.exports = (\r\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n).split(',');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\nvar $keys = require('./_object-keys-internal')\r\n , enumBugKeys = require('./_enum-bug-keys');\r\n\r\nmodule.exports = Object.keys || function keys(O){\r\n return $keys(O, enumBugKeys);\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const PANEL = 'mdlext-accordion__panel';\n const HEADER = 'mdlext-accordion__panel__header';\n const HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n const IS_UPGRADED = 'is-upgraded';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n\n /**\n * Class constructor for Accordion MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion(element) {\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n /**\n * Handles custom command event, 'open', 'close', or 'toggle'\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n\n if('open' === action || 'close' === action || 'toggle' === action) {\n\n if(event.detail.target === undefined) {\n\n if(this.element_.hasAttribute('aria-multiselectable') &&\n 'false' !== this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach(panel => {\n panel.dispatchEvent(\n createCustomEvent('command_', {\n detail: {action: action}\n })\n );\n });\n }\n }\n else if (event.detail.target !== null) {\n\n event.detail.target.dispatchEvent(\n // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n createCustomEvent('command_', {\n bubbles: true, detail: { action: action }\n })\n );\n }\n }\n }\n };\n\n /**\n * Initialize accordion's panels\n *\n * @private\n */\n MaterialExtAccordion.prototype.initAccordion_ = function() {\n\n this.element_.setAttribute('role', 'tablist');\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach( panel => {\n new MaterialExtAccordionPanel(panel, this);\n });\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n /**\n * Initialize Accordion element.\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n this.initAccordion_();\n }\n };\n\n\n /**\n * Constructor for an individual accordion panel.\n *\n * @constructor\n * @param {Element} panel The HTML element for the tab.\n * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n */\n function MaterialExtAccordionPanel(panel, ctx) {\n\n const header = panel.querySelector(`.${HEADER}`);\n if(header === null) {\n throw new Error('There must be a header element for each accordion panel.');\n }\n\n header.setAttribute('role', 'tab');\n\n let a = header.querySelector(`a.${HEADER_TABSTOP}`);\n if(a === null) {\n // An anchor is required for focus/tab stop\n a = document.createElement('a');\n a.href = '#';\n a.classList.add(HEADER_TABSTOP);\n header.appendChild(a);\n }\n\n panel.setAttribute('role', 'tabpanel');\n\n if(panel.hasAttribute('open')) {\n header.setAttribute('aria-expanded', '');\n }\n else {\n header.setAttribute('aria-hidden', '');\n }\n\n if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n\n header.addEventListener('click', ( event => {\n\n event.preventDefault();\n event.stopPropagation();\n\n if(!panel.hasAttribute('disabled')) {\n\n if(panel.hasAttribute('open')) {\n\n closePanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', panel, ctx.element_);\n }\n else {\n if(ctx.element_.hasAttribute('aria-multiselectable') &&\n 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n const openPanel = ctx.element_.querySelector(`.${PANEL}[open]`);\n if (openPanel) {\n closePanel(openPanel, openPanel.querySelector(`.${HEADER}`));\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', openPanel, ctx.element_);\n }\n removeAriaSelectedAttribute();\n }\n\n openPanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('open', panel, ctx.element_);\n }\n focus(panel);\n }\n }), true);\n\n\n header.addEventListener('keydown', ( event => {\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n const panels = panel.parentNode.children;\n let nextPanel = null;\n const n = panel.parentNode.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if(panels[i] == panel) {\n if(event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i-1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i+1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if(event.shiftKey) {\n if(i > 0 && !panels[i-1].hasAttribute('open')) {\n nextPanel = panels[i-1];\n }\n }\n else if (i < n) {\n if(!panel.hasAttribute('open')) {\n nextPanel = panels[i+1];\n }\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n header.dispatchEvent(evt);\n }\n break;\n }\n }\n if(nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }), true);\n\n panel.addEventListener('command_', ( event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n switch (action) {\n case 'open':\n openPanel(panel, header);\n break;\n case 'close':\n closePanel(panel, header);\n break;\n case 'toggle':\n togglePanel(panel, header);\n break;\n }\n }\n }));\n\n\n function togglePanel(panel, header) {\n if(panel.hasAttribute('open')) {\n closePanel(panel, header);\n }\n else {\n openPanel(panel, header);\n }\n }\n\n function openPanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.setAttribute('open', '');\n header.setAttribute('aria-expanded', '');\n header.setAttribute('aria-selected', '');\n header.removeAttribute('aria-hidden', '');\n }\n }\n\n function closePanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.removeAttribute('open');\n header.removeAttribute('aria-expanded');\n header.setAttribute('aria-hidden', '');\n }\n }\n\n function removeAriaSelectedAttribute() {\n const selectedHeader = ctx.element_.querySelector(`.${HEADER}[aria-selected]`);\n if(selectedHeader) {\n selectedHeader.removeAttribute('aria-selected');\n }\n }\n\n function focus(nextPanel) {\n const a = nextPanel.querySelector(`.${HEADER} a`);\n if(a) {\n removeAriaSelectedAttribute();\n a.focus();\n nextPanel.querySelector(`.${HEADER}`).setAttribute('aria-selected', '');\n }\n }\n\n function dispatchToggleEvent(state, source, target) {\n const evt = createCustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, source: source }\n });\n target.dispatchEvent(evt);\n }\n }\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/","'use strict';\nimport 'utils/custom-event';\nimport 'sticky-header/sticky-header';\nimport 'selectfield/selectfield';\nimport 'accordion/accordion';\nimport 'lightboard/lightboard';\nimport 'lightbox/lightbox';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOARD = 'mdlext-lightboard';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n /**\n * Initialize lightboard slides\n *\n * @private\n */\n MaterialExtLightboard.prototype.initLightboard_ = function() {\n\n this.element_.setAttribute('role', 'grid');\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => slide.setAttribute('role', 'cell')\n );\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => addRipple(slide)\n );\n }\n\n /**\n * Trigger when user cliks on a slide\n */\n this.element_.addEventListener('click', ( function(event) {\n event.preventDefault();\n event.stopPropagation();\n const slide = getSlide(event.target);\n\n if(event.target !== this) {\n focus(slide);\n\n // Remove 'aria-selected' attribute\n [...this.children] // Should I use querySelectorAll ???\n .filter( panel => panel.hasAttribute('aria-selected'))\n .forEach( selected => selected.removeAttribute('aria-selected'));\n\n // Set 'aria-selected' on current slide\n slide.setAttribute('aria-selected', '');\n\n const evt = createCustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n });\n this.dispatchEvent(evt);\n }\n }).bind(this.element_), true);\n\n /**\n * Trigger when user presses a keboard key\n */\n this.element_.addEventListener('keydown', ( function(event) {\n // Maybe this function should be throttled??\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.target !== this) {\n const panel = getSlide(event.target);\n const panels = this.children;\n let nextPanel = null;\n const n = this.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if (panels[i] === panel) {\n if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i - 1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i + 1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if (event.shiftKey) {\n if (i > 0) {\n nextPanel = panels[i - 1];\n }\n }\n else if (i < n) {\n nextPanel = panels[i + 1];\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n panel.dispatchEvent(evt);\n }\n break;\n }\n }\n if (nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }\n }).bind(this.element_), true);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n function getSlide(element) {\n if (!element || element.classList.contains(LIGHTBOARD)) {\n return null;\n }\n return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n }\n\n function focus(slide) {\n if(slide) {\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if (a) {\n a.focus();\n }\n }\n }\n\n function addRipple(slide) {\n // Use anchor as ripple container\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n }\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n if (this.element_) {\n this.initLightboard_();\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_ESC = 27;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOX_CLASS = 'mdlext-lightbox';\n const STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n const BUTTON_CLASS = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n let n = this;\n while((n = n.parentNode) != null) {\n if(n.classList.contains(LIGHTBOX_CLASS)) {\n n.focus();\n break;\n }\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n function dispatchAction_(action, source, target = source) {\n\n target.dispatchEvent(createCustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n }\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n function repositionDialog_(lightboxElement) {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n }\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add('mdlext-lightbox__slider');\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n window.addEventListener('resize', () => {\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n repositionDialog_(this.element_);\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n });\n\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\n if (this.element_) {\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n button => button.removeEventListener('click', this.buttonClickHandler_)\n );\n\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n }\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\n(function() {\n 'use strict';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Store constants in one place so they can be updated easily.\n *\n * @enum {string | number}\n * @private\n */\n MaterialExtSelectfield.prototype.Constant_ = {\n };\n\n /**\n * Store strings for class names defined by this component that are used in\n * JavaScript. This allows us to simply change it in one place should we\n * decide to modify at a later date.\n *\n * @enum {string}\n * @private\n */\n MaterialExtSelectfield.prototype.CssClasses_ = {\n LABEL: 'mdlext-selectfield__label',\n INPUT: 'mdlext-selectfield__select',\n IS_DIRTY: 'is-dirty',\n IS_FOCUSED: 'is-focused',\n IS_DISABLED: 'is-disabled',\n IS_INVALID: 'is-invalid',\n IS_UPGRADED: 'is-upgraded'\n };\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function(event) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function(event) {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function(event) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${this.CssClasses_.LABEL}`);\n this.select_ = this.element_.querySelector(`.${this.CssClasses_.INPUT}`);\n\n if (this.select_) {\n this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n this.boundFocusHandler = this.onFocus_.bind(this);\n this.boundBlurHandler = this.onBlur_.bind(this);\n this.boundResetHandler = this.onReset_.bind(this);\n this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n this.select_.addEventListener('focus', this.boundFocusHandler);\n this.select_.addEventListener('blur', this.boundBlurHandler);\n this.select_.addEventListener('reset', this.boundResetHandler);\n\n const invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n /*jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\n(function() {\n 'use strict';\n\n const IS_UPGRADED = 'is-upgraded';\n const CONTENT_CLASS = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n this.recalcWidth_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = '0';\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.reposition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n this.content_ = this.header_.parentNode.querySelector(`.${CONTENT_CLASS}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n // Adjust header width if content changes (e.g. in a SPA)\n const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n new MutationObserver( ( /*mutations*/ ) => {\n\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.updatePosition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n\n }).observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false,\n subtree: true\n });\n\n // Set initial position\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"babel-runtime/core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"babel-runtime/core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/","'use strict';\r\nvar $defineProperty = require('./_object-dp')\r\n , createDesc = require('./_property-desc');\r\n\r\nmodule.exports = function(object, index, value){\r\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n else object[index] = value;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/","module.exports = require('./_global').document && document.documentElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\r\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\nvar anObject = require('./_an-object')\r\n , dPs = require('./_object-dps')\r\n , enumBugKeys = require('./_enum-bug-keys')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , Empty = function(){ /* empty */ }\r\n , PROTOTYPE = 'prototype';\r\n\r\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\nvar createDict = function(){\r\n // Thrash, waste and sodomy: IE GC bug\r\n var iframe = require('./_dom-create')('iframe')\r\n , i = enumBugKeys.length\r\n , gt = '>'\r\n , iframeDocument;\r\n iframe.style.display = 'none';\r\n require('./_html').appendChild(iframe);\r\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n // createDict = iframe.contentWindow.Object;\r\n // html.removeChild(iframe);\r\n iframeDocument = iframe.contentWindow.document;\r\n iframeDocument.open();\r\n iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n return O;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\nvar has = require('./_has')\r\n , toObject = require('./_to-object')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , ObjectProto = Object.prototype;\r\n\r\nmodule.exports = Object.getPrototypeOf || function(O){\r\n O = toObject(O);\r\n if(has(O, IE_PROTO))return O[IE_PROTO];\r\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n return O.constructor.prototype;\r\n } return O instanceof Object ? ObjectProto : null;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/","var has = require('./_has')\r\n , toIObject = require('./_to-iobject')\r\n , arrayIndexOf = require('./_array-includes')(false)\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\r\n\r\nmodule.exports = function(object, names){\r\n var O = toIObject(object)\r\n , i = 0\r\n , result = []\r\n , key;\r\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n // Don't enum bug & hidden keys\r\n while(names.length > i)if(has(O, key = names[i++])){\r\n ~arrayIndexOf(result, key) || result.push(key);\r\n }\r\n return result;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/","module.exports = require('./_hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/mdl-ext-build.scss\n ** module id = 82\n ** module chunks = 1\n **/\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/mdl-ext-build.scss\n ** module id = 82\n ** module chunks = 1\n **/"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/mdl-ext.min.js b/lib/mdl-ext.min.js
index fdedd86..f1b2d98 100644
--- a/lib/mdl-ext.min.js
+++ b/lib/mdl-ext.min.js
@@ -52,5 +52,5 @@ function n(t){var e=arguments.length<=1||void 0===arguments[1]?{bubbles:!1,cance
* This code is built with Google Material Design Lite,
* which is Licensed under the Apache License, Version 2.0
*/
-!function(){var t="is-upgraded",e="mdl-layout__content",n="mdlext-is-scroll",i=function(t){this.header_=t,this.content_=null,this.lastScrollTop_=0,this.drawing_=!1,this.init()};window.MaterialExtStickyHeader=i,i.prototype.recalcWidth_=function(){this.header_.style.width=this.content_.clientWidth+"px"},i.prototype.resizeHandler_=function(){var t=this;this.drawing_||window.requestAnimationFrame(function(){t.recalcWidth_(),t.drawing_=!1}),this.drawing_=!0},i.prototype.reposition_=function(){var t=this.content_.scrollTop,e=this.lastScrollTop_-t;if(0>=t)this.header_.style.top="0",this.header_.classList.remove(n);else{if(e>0){if(e>=this.header_.offsetHeight){var i=parseInt(window.getComputedStyle(this.header_).getPropertyValue("top"))||0;0!=i&&(this.header_.style.top="0",this.header_.classList.add(n)),this.lastScrollTop_=t}return}if(0>e){this.header_.classList.add(n);var r=parseInt(window.getComputedStyle(this.header_).getPropertyValue("top"))||0;if(this.content_.scrollHeight-this.content_.scrollTop<=this.content_.offsetHeight)0!=r&&(this.header_.style.top="0");else{r+=e;var o=this.header_.offsetHeight;this.header_.style.top=(Math.abs(r)>o?-o:r)+"px"}}}this.lastScrollTop_=t},i.prototype.scrollHandler_=function(){var t=this;this.drawing_||window.requestAnimationFrame(function(){t.reposition_(),t.drawing_=!1}),this.drawing_=!0},i.prototype.updatePosition_=function(){this.recalcWidth_(),this.reposition_()},i.prototype.init=function(){var n=this;if(this.header_&&(this.content_=this.header_.parentNode.querySelector("."+e)||null,this.content_)){this.content_.style.paddingTop=this.header_.offsetHeight+"px",this.lastScrollTop_=this.content_.scrollTop,this.content_.addEventListener("scroll",this.scrollHandler_.bind(this)),window.addEventListener("resize",this.resizeHandler_.bind(this)),window.addEventListener("orientationchange",this.resizeHandler_.bind(this));var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;new i(function(){n.drawing_||window.requestAnimationFrame(function(){n.updatePosition_(),n.drawing_=!1}),n.drawing_=!0}).observe(this.content_,{attributes:!1,childList:!0,characterData:!1}),this.updatePosition_(),this.header_.classList.add(t)}},componentHandler.register({constructor:i,classAsString:"MaterialExtStickyHeader",cssClass:"mdlext-js-sticky-header"})}()},function(t,e,n){t.exports={"default":n(47),__esModule:!0}},function(t,e,n){t.exports={"default":n(49),__esModule:!0}},function(t,e,n){t.exports={"default":n(50),__esModule:!0}},function(t,e,n){t.exports={"default":n(51),__esModule:!0}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var r=n(43),o=i(r),s=n(20),a=i(s);e["default"]=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var s,c=(0,a["default"])(t);!(i=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(l){r=!0,o=l}finally{try{!i&&c["return"]&&c["return"]()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,o["default"])(Object(e)))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,n){n(19),n(78),t.exports=n(2).Array.from},function(t,e,n){n(35),n(19),t.exports=n(76)},function(t,e,n){n(35),n(19),t.exports=n(77)},function(t,e,n){n(80),t.exports=n(2).Number.isInteger},function(t,e,n){n(81),t.exports=n(2).Object.entries},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(13),r=n(31),o=n(74);t.exports=function(t){return function(e,n,s){var a,c=i(e),l=r(c.length),u=o(s,l);if(t&&n!=n){for(;l>u;)if(a=c[u++],a!=a)return!0}else for(;l>u;u++)if((t||u in c)&&c[u]===n)return t||u||0;return!t&&-1}}},function(t,e,n){"use strict";var i=n(12),r=n(16);t.exports=function(t,e,n){e in t?i.f(t,e,r(0,n)):t[e]=n}},function(t,e,n){t.exports=n(3).document&&document.documentElement},function(t,e,n){t.exports=!n(8)&&!n(26)(function(){return 7!=Object.defineProperty(n(24)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var i=n(22);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e,n){var i=n(4),r=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(11),r=Math.floor;t.exports=function(t){return!i(t)&&isFinite(t)&&r(t)===t}},function(t,e,n){var i=n(5);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(o){var s=t["return"];throw void 0!==s&&i(s.call(t)),o}}},function(t,e,n){"use strict";var i=n(66),r=n(16),o=n(29),s={};n(6)(s,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(1)("iterator"),r=!1;try{var o=[7][i]();o["return"]=function(){r=!0},Array.from(o,function(){throw 2})}catch(s){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(a){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports=!0},function(t,e,n){var i=n(5),r=n(67),o=n(25),s=n(17)("IE_PROTO"),a=function(){},c="prototype",l=function(){var t,e=n(24)("iframe"),i=o.length,r=">";for(e.style.display="none",n(56).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("c;)i.f(t,n=s[c++],e[n]);return t}},function(t,e,n){var i=n(10),r=n(32),o=n(17)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(10),r=n(13),o=n(54)(!1),s=n(17)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),c=0,l=[];for(n in a)n!=s&&i(a,n)&&l.push(n);for(;e.length>c;)i(a,n=e[c++])&&(~o(l,n)||l.push(n));return l}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(28),r=n(13),o=n(70).f;t.exports=function(t){return function(e){for(var n,s=r(e),a=i(s),c=a.length,l=0,u=[];c>l;)o.call(s,n=a[l++])&&u.push(t?[n,s[n]]:s[n]);return u}}},function(t,e,n){t.exports=n(6)},function(t,e,n){var i=n(18),r=n(15);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),c=i(n),l=a.length;return 0>c||c>=l?t?"":void 0:(o=a.charCodeAt(c),55296>o||o>56319||c+1===l||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(18),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),0>t?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(11);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(5),r=n(34);t.exports=n(2).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(21),r=n(1)("iterator"),o=n(4);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[r]||"@@iterator"in e||o.hasOwnProperty(i(e))}},function(t,e,n){"use strict";var i=n(23),r=n(9),o=n(32),s=n(61),a=n(59),c=n(31),l=n(55),u=n(34);r(r.S+r.F*!n(63)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,r,d,f=o(t),h="function"==typeof this?this:Array,p=arguments.length,_=p>1?arguments[1]:void 0,v=void 0!==_,y=0,m=u(f);if(v&&(_=i(_,p>2?arguments[2]:void 0,2)),void 0==m||h==Array&&a(m))for(e=c(f.length),n=new h(e);e>y;y++)l(n,y,v?_(f[y],y):f[y]);else for(d=m.call(f),n=new h;!(r=d.next()).done;y++)l(n,y,v?s(d,_,[r.value,y],!0):r.value);return n.length=y,n}})},function(t,e,n){"use strict";var i=n(53),r=n(64),o=n(4),s=n(13);t.exports=n(27)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){var i=n(9);i(i.S,"Number",{isInteger:n(60)})},function(t,e,n){var i=n(9),r=n(71)(!0);i(i.S,"Object",{entries:function(t){return r(t)}})},function(t,e){}])});
+!function(){var t="is-upgraded",e="mdl-layout__content",n="mdlext-is-scroll",i=function(t){this.header_=t,this.content_=null,this.lastScrollTop_=0,this.drawing_=!1,this.init()};window.MaterialExtStickyHeader=i,i.prototype.recalcWidth_=function(){this.header_.style.width=this.content_.clientWidth+"px"},i.prototype.resizeHandler_=function(){var t=this;this.drawing_||window.requestAnimationFrame(function(){t.recalcWidth_(),t.drawing_=!1}),this.drawing_=!0},i.prototype.reposition_=function(){var t=this.content_.scrollTop,e=this.lastScrollTop_-t;if(0>=t)this.header_.style.top="0",this.header_.classList.remove(n);else{if(e>0){if(e>=this.header_.offsetHeight){var i=parseInt(window.getComputedStyle(this.header_).getPropertyValue("top"))||0;0!=i&&(this.header_.style.top="0",this.header_.classList.add(n)),this.lastScrollTop_=t}return}if(0>e){this.header_.classList.add(n);var r=parseInt(window.getComputedStyle(this.header_).getPropertyValue("top"))||0;if(this.content_.scrollHeight-this.content_.scrollTop<=this.content_.offsetHeight)0!=r&&(this.header_.style.top="0");else{r+=e;var o=this.header_.offsetHeight;this.header_.style.top=(Math.abs(r)>o?-o:r)+"px"}}}this.lastScrollTop_=t},i.prototype.scrollHandler_=function(){var t=this;this.drawing_||window.requestAnimationFrame(function(){t.reposition_(),t.drawing_=!1}),this.drawing_=!0},i.prototype.updatePosition_=function(){this.recalcWidth_(),this.reposition_()},i.prototype.init=function(){var n=this;if(this.header_&&(this.content_=this.header_.parentNode.querySelector("."+e)||null,this.content_)){this.content_.style.paddingTop=this.header_.offsetHeight+"px",this.lastScrollTop_=this.content_.scrollTop,this.content_.addEventListener("scroll",this.scrollHandler_.bind(this)),window.addEventListener("resize",this.resizeHandler_.bind(this)),window.addEventListener("orientationchange",this.resizeHandler_.bind(this));var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;new i(function(){n.drawing_||window.requestAnimationFrame(function(){n.updatePosition_(),n.drawing_=!1}),n.drawing_=!0}).observe(this.content_,{attributes:!1,childList:!0,characterData:!1,subtree:!0}),this.updatePosition_(),this.header_.classList.add(t)}},componentHandler.register({constructor:i,classAsString:"MaterialExtStickyHeader",cssClass:"mdlext-js-sticky-header"})}()},function(t,e,n){t.exports={"default":n(47),__esModule:!0}},function(t,e,n){t.exports={"default":n(49),__esModule:!0}},function(t,e,n){t.exports={"default":n(50),__esModule:!0}},function(t,e,n){t.exports={"default":n(51),__esModule:!0}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var r=n(43),o=i(r),s=n(20),a=i(s);e["default"]=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var s,c=(0,a["default"])(t);!(i=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(l){r=!0,o=l}finally{try{!i&&c["return"]&&c["return"]()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if((0,o["default"])(Object(e)))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,n){n(19),n(78),t.exports=n(2).Array.from},function(t,e,n){n(35),n(19),t.exports=n(76)},function(t,e,n){n(35),n(19),t.exports=n(77)},function(t,e,n){n(80),t.exports=n(2).Number.isInteger},function(t,e,n){n(81),t.exports=n(2).Object.entries},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(13),r=n(31),o=n(74);t.exports=function(t){return function(e,n,s){var a,c=i(e),l=r(c.length),u=o(s,l);if(t&&n!=n){for(;l>u;)if(a=c[u++],a!=a)return!0}else for(;l>u;u++)if((t||u in c)&&c[u]===n)return t||u||0;return!t&&-1}}},function(t,e,n){"use strict";var i=n(12),r=n(16);t.exports=function(t,e,n){e in t?i.f(t,e,r(0,n)):t[e]=n}},function(t,e,n){t.exports=n(3).document&&document.documentElement},function(t,e,n){t.exports=!n(8)&&!n(26)(function(){return 7!=Object.defineProperty(n(24)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var i=n(22);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e,n){var i=n(4),r=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(11),r=Math.floor;t.exports=function(t){return!i(t)&&isFinite(t)&&r(t)===t}},function(t,e,n){var i=n(5);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(o){var s=t["return"];throw void 0!==s&&i(s.call(t)),o}}},function(t,e,n){"use strict";var i=n(66),r=n(16),o=n(29),s={};n(6)(s,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(1)("iterator"),r=!1;try{var o=[7][i]();o["return"]=function(){r=!0},Array.from(o,function(){throw 2})}catch(s){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(a){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports=!0},function(t,e,n){var i=n(5),r=n(67),o=n(25),s=n(17)("IE_PROTO"),a=function(){},c="prototype",l=function(){var t,e=n(24)("iframe"),i=o.length,r=">";for(e.style.display="none",n(56).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("c;)i.f(t,n=s[c++],e[n]);return t}},function(t,e,n){var i=n(10),r=n(32),o=n(17)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(10),r=n(13),o=n(54)(!1),s=n(17)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),c=0,l=[];for(n in a)n!=s&&i(a,n)&&l.push(n);for(;e.length>c;)i(a,n=e[c++])&&(~o(l,n)||l.push(n));return l}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(28),r=n(13),o=n(70).f;t.exports=function(t){return function(e){for(var n,s=r(e),a=i(s),c=a.length,l=0,u=[];c>l;)o.call(s,n=a[l++])&&u.push(t?[n,s[n]]:s[n]);return u}}},function(t,e,n){t.exports=n(6)},function(t,e,n){var i=n(18),r=n(15);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),c=i(n),l=a.length;return 0>c||c>=l?t?"":void 0:(o=a.charCodeAt(c),55296>o||o>56319||c+1===l||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(18),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),0>t?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(11);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(5),r=n(34);t.exports=n(2).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(21),r=n(1)("iterator"),o=n(4);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[r]||"@@iterator"in e||o.hasOwnProperty(i(e))}},function(t,e,n){"use strict";var i=n(23),r=n(9),o=n(32),s=n(61),a=n(59),c=n(31),l=n(55),u=n(34);r(r.S+r.F*!n(63)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,r,d,f=o(t),h="function"==typeof this?this:Array,p=arguments.length,_=p>1?arguments[1]:void 0,v=void 0!==_,y=0,m=u(f);if(v&&(_=i(_,p>2?arguments[2]:void 0,2)),void 0==m||h==Array&&a(m))for(e=c(f.length),n=new h(e);e>y;y++)l(n,y,v?_(f[y],y):f[y]);else for(d=m.call(f),n=new h;!(r=d.next()).done;y++)l(n,y,v?s(d,_,[r.value,y],!0):r.value);return n.length=y,n}})},function(t,e,n){"use strict";var i=n(53),r=n(64),o=n(4),s=n(13);t.exports=n(27)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){var i=n(9);i(i.S,"Number",{isInteger:n(60)})},function(t,e,n){var i=n(9),r=n(71)(!0);i(i.S,"Object",{entries:function(t){return r(t)}})},function(t,e){}])});
//# sourceMappingURL=mdl-ext.min.js.map
\ No newline at end of file
diff --git a/lib/mdl-ext.min.js.map b/lib/mdl-ext.min.js.map
index fd4c88a..0cf5cb6 100644
--- a/lib/mdl-ext.min.js.map
+++ b/lib/mdl-ext.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///mdl-ext.min.js?c961","webpack:///webpack/bootstrap 1c2a80c65e755e7a6e69?5f12","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./src/utils/custom-event.js?bfbd","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","store","uid","Symbol","USE_SYMBOL","$exports","name","core","version","__e","global","window","Math","self","Function","__g","isObject","it","TypeError","dP","createDesc","object","key","value","f","createCustomEvent","typeArg","customEventInit","arguments","length","undefined","bubbles","cancelable","detail","CustomEvent","e","ce","document","createEvent","initCustomEvent","preventDefault","Object","defineProperty","get","a","ctx","hide","PROTOTYPE","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","C","b","apply","virtual","R","U","hasOwnProperty","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","IObject","defined","_interopRequireDefault","obj","__esModule","default","_from","_from2","arr","Array","isArray","i","arr2","bitmap","enumerable","configurable","writable","shared","ceil","floor","isNaN","$at","String","iterated","_t","_i","point","index","done","cof","TAG","ARG","tryGet","T","callee","toString","slice","aFunction","fn","that","is","createElement","split","exec","LIBRARY","redefine","has","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","prototype","$native","$default","$entries","$anyNative","entries","values","$keys","enumBugKeys","def","tag","stat","SHARED","toInteger","min","px","random","concat","classof","getIteratorMethod","TO_STRING_TAG","collections","Collection","_toConsumableArray2","_toConsumableArray3","_customEvent","MaterialExtAccordionPanel","panel","togglePanel","header","hasAttribute","closePanel","openPanel","setAttribute","removeAttribute","removeAriaSelectedAttribute","selectedHeader","element_","querySelector","HEADER","focus","nextPanel","dispatchToggleEvent","state","evt","dispatchEvent","Error","HEADER_TABSTOP","href","classList","add","appendChild","contains","RIPPLE_EFFECT","rippleContainer","RIPPLE_CONTAINER","ripple","RIPPLE","componentHandler","upgradeElement","RIPPLE_COMPONENT","addEventListener","event","stopPropagation","getAttribute","toLowerCase","_openPanel","PANEL","keyCode","VK_TAB","VK_ENTER","VK_SPACE","VK_END","VK_HOME","VK_ARROW_UP","VK_ARROW_LEFT","VK_ARROW_DOWN","VK_ARROW_RIGHT","panels","parentNode","children","n","childElementCount","shiftKey","MouseEvent","view","action","IS_UPGRADED","RIPPLE_EFFECT_IGNORE_EVENTS","MaterialExtAccordion","element","init","commandHandler_","_this","querySelectorAll","forEach","initAccordion_","_this2","bind","register","constructor","classAsString","cssClass","widget","getSlide","LIGHTBOARD","SLIDE","slide","SLIDE_TABSTOP","addRipple","MaterialExtLightboard","initLightboard_","filter","selected","_isInteger","_isInteger2","_slicedToArray2","_slicedToArray3","_entries","_entries2","_getIterator2","_getIterator3","dispatchAction_","repositionDialog_","lightboxElement","footerHeight","footer","isSticky","offsetHeight","reposition","dialog","fh","getComputedStyle","position","scrollTop","body","documentElement","topValue","innerHeight","style","top","max","nodeName","width","maxWidth","img","naturalWidth","STICKY_FOOTER_CLASS","vh","clientHeight","offsetWidth","VK_ESC","LIGHTBOX_CLASS","BUTTON_CLASS","MaterialExtLightbox","drawing_","keyDownHandler_","buttonClickHandler_","imgLoadHandler_","imgDragHandler_","setStyles","properties","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_step$value","err","x","clientX","touches","opacity","slider","height","textContent","line-height","font-size","text-align","background-image","src","drag","dx","abs","left","endDrag","removeEventListener","offsetLeft","removeChild","button","figcaption","requestAnimationFrame","MaterialExtSelectfield","Constant_","CssClasses_","LABEL","INPUT","IS_DIRTY","IS_FOCUSED","IS_DISABLED","IS_INVALID","onFocus_","onBlur_","remove","onReset_","updateClasses_","checkDisabled","checkValidity","checkDirty","checkFocus","select_","disabled","Boolean","disable","enable","change","label_","boundUpdateClassesHandler","boundFocusHandler","boundBlurHandler","boundResetHandler","invalid","CONTENT_CLASS","IS_SCROLL_CLASS","MaterialExtStickyHeader","header_","content_","lastScrollTop_","recalcWidth_","clientWidth","resizeHandler_","reposition_","currentContentScrollTop","scrollDiff","headerTop","parseInt","getPropertyValue","_headerTop","scrollHeight","scrollHandler_","updatePosition_","_this3","paddingTop","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","attributes","childList","characterData","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_d","_e","_s","push","from","Number","isInteger","toIObject","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","$defineProperty","propertyIsEnumerable","ArrayProto","isFinite","iterator","ret","create","descriptor","SAFE_CLOSING","riter","skipClosing","safe","iter","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","gt","display","contentWindow","open","write","close","Properties","result","getKeys","defineProperties","toObject","ObjectProto","arrayIndexOf","names","isEnum","isEntries","TO_STRING","pos","s","l","charCodeAt","charAt","val","valueOf","getIterator","iterFn","isIterable","isArrayIter","createProperty","getIterFn","arrayLike","step","aLen","mapfn","mapping","addToUnscopables","_k","Arguments"],"mappings":"CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,OAAA,aAAAH,GACA,gBAAAC,SACAA,QAAA,WAAAD,IAEAD,EAAA,WAAAC,KACCK,KAAA,WACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAP,WACAS,GAAAF,EACAG,UAUA,OANAL,GAAAE,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAS,UAGAT,EAAAD,QAvBA,GAAAQ,KAqCA,OATAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,GAGAR,EAAA,KDgBM,SAASL,EAAQD,EAASM,GAE/BA,EAAoB,IACpBL,EAAOD,QAAUM,EAAoB,KAKhC,SAASL,EAAQD,EAASM,GE9DhC,GAAAS,GAAAT,EAAA,WACAU,EAAAV,EAAA,IACAW,EAAAX,EAAA,GAAAW,OACAC,EAAA,kBAAAD,GAEAE,EAAAlB,EAAAD,QAAA,SAAAoB,GACA,MAAAL,GAAAK,KAAAL,EAAAK,GACAF,GAAAD,EAAAG,KAAAF,EAAAD,EAAAD,GAAA,UAAAI,IAGAD,GAAAJ,SFoEM,SAASd,EAAQD,GG9EvB,GAAAqB,GAAApB,EAAAD,SAA6BsB,QAAA,QAC7B,iBAAAC,WAAAF,IHoFM,SAASpB,EAAQD,GIpFvB,GAAAwB,GAAAvB,EAAAD,QAAA,mBAAAyB,gBAAAC,WACAD,OAAA,mBAAAE,YAAAD,WAAAC,KAAAC,SAAA,gBACA,iBAAAC,WAAAL,IJ2FM,SAASvB,EAAQD,GK9FvBC,EAAAD,YLoGM,SAASC,EAAQD,EAASM,GMpGhC,GAAAwB,GAAAxB,EAAA,GACAL,GAAAD,QAAA,SAAA+B,GACA,IAAAD,EAAAC,GAAA,KAAAC,WAAAD,EAAA,qBACA,OAAAA,KN2GM,SAAS9B,EAAQD,EAASM,GO9GhC,GAAA2B,GAAA3B,EAAA,IACA4B,EAAA5B,EAAA,GACAL,GAAAD,QAAAM,EAAA,YAAA6B,EAAAC,EAAAC,GACA,MAAAJ,GAAAK,EAAAH,EAAAC,EAAAF,EAAA,EAAAG,KACC,SAAAF,EAAAC,EAAAC,GAED,MADAF,GAAAC,GAAAC,EACAF,IPqHM,SAASlC,EAAQD,GAEtB;;;;;;;;;;;;;;;;AQhGM,QAASuC,GAAmBC,GAAiF,GAAxEC,GAAwEC,UAAAC,QAAA,GAAAC,SAAAF,UAAA,IAApDG,WAAgBC,cAAmBC,OAAQ,MAASL,UAAA,EAGlH,KAEE,MAAO,IAAIjB,QAAOuB,YAAYR,EAASC,GAEzC,MAAMQ,GAGJ,GAAMC,GAAKC,SAASC,YAAY,cAUhC,OATAF,GAAGG,gBAAgBb,EAASC,EAAgBI,QAASJ,EAAgBK,WAAYL,EAAgBM,QAEjGG,EAAGI,eAAiB,WAClBC,OAAOC,eAAepD,KAAM,oBAC1BqD,IAAK,WACH,aAICP,GR8EVK,OAAOC,eAAexD,EAAS,cAC7BqC,WAEFrC,EQrGeuC,qBR6JV,SAAStC,EAAQD,EAASM,GSzLhCL,EAAAD,SAAAM,EAAA,eACA,MAAsE,IAAtEiD,OAAAC,kBAAiC,KAAQC,IAAA,WAAgB,YAAaC,KTiMhE,SAASzD,EAAQD,EAASM,GUnMhC,GAAAkB,GAAAlB,EAAA,GACAe,EAAAf,EAAA,GACAqD,EAAArD,EAAA,IACAsD,EAAAtD,EAAA,GACAuD,EAAA,YAEAC,EAAA,SAAAC,EAAA3C,EAAA4C,GACA,GASA5B,GAAA6B,EAAAC,EATAC,EAAAJ,EAAAD,EAAAM,EACAC,EAAAN,EAAAD,EAAAQ,EACAC,EAAAR,EAAAD,EAAAU,EACAC,EAAAV,EAAAD,EAAAY,EACAC,EAAAZ,EAAAD,EAAAc,EACAC,EAAAd,EAAAD,EAAAgB,EACA9E,EAAAqE,EAAAhD,IAAAD,KAAAC,EAAAD,OACA2D,EAAA/E,EAAA6D,GACAmB,EAAAX,EAAA7C,EAAA+C,EAAA/C,EAAAJ,IAAAI,EAAAJ,QAAqFyC,EAErFQ,KAAAL,EAAA5C,EACA,KAAAgB,IAAA4B,GAEAC,GAAAE,GAAAa,GAAApC,SAAAoC,EAAA5C,GACA6B,GAAA7B,IAAApC,KAEAkE,EAAAD,EAAAe,EAAA5C,GAAA4B,EAAA5B,GAEApC,EAAAoC,GAAAiC,GAAA,kBAAAW,GAAA5C,GAAA4B,EAAA5B,GAEAuC,GAAAV,EAAAN,EAAAO,EAAA1C,GAEAqD,GAAAG,EAAA5C,IAAA8B,EAAA,SAAAe,GACA,GAAAb,GAAA,SAAAV,EAAAwB,EAAArE,GACA,GAAAT,eAAA6E,GAAA,CACA,OAAAvC,UAAAC,QACA,iBAAAsC,EACA,kBAAAA,GAAAvB,EACA,kBAAAuB,GAAAvB,EAAAwB,GACW,UAAAD,GAAAvB,EAAAwB,EAAArE,GACF,MAAAoE,GAAAE,MAAA/E,KAAAsC,WAGT,OADA0B,GAAAP,GAAAoB,EAAApB,GACAO,GAEKF,GAAAO,GAAA,kBAAAP,GAAAP,EAAA/B,SAAAjB,KAAAuD,KAELO,KACAzE,EAAAoF,UAAApF,EAAAoF,aAA+ChD,GAAA8B,EAE/CH,EAAAD,EAAAuB,GAAAN,MAAA3C,IAAAwB,EAAAmB,EAAA3C,EAAA8B,KAKAJ,GAAAM,EAAA,EACAN,EAAAQ,EAAA,EACAR,EAAAU,EAAA,EACAV,EAAAY,EAAA,EACAZ,EAAAc,EAAA,GACAd,EAAAgB,EAAA,GACAhB,EAAAwB,EAAA,GACAxB,EAAAuB,EAAA,IACApF,EAAAD,QAAA8D,GVyMM,SAAS7D,EAAQD,GWrQvB,GAAAuF,MAAuBA,cACvBtF,GAAAD,QAAA,SAAA+B,EAAAK,GACA,MAAAmD,GAAA5E,KAAAoB,EAAAK,KX4QM,SAASnC,EAAQD,GY9QvBC,EAAAD,QAAA,SAAA+B,GACA,sBAAAA,GAAA,OAAAA,EAAA,kBAAAA,KZqRM,SAAS9B,EAAQD,EAASM,GatRhC,GAAAkF,GAAAlF,EAAA,GACAmF,EAAAnF,EAAA,IACAoF,EAAApF,EAAA,IACA2B,EAAAsB,OAAAC,cAEAxD,GAAAsC,EAAAhC,EAAA,GAAAiD,OAAAC,eAAA,SAAAmC,EAAAjB,EAAAkB,GAIA,GAHAJ,EAAAG,GACAjB,EAAAgB,EAAAhB,MACAc,EAAAI,GACAH,EAAA,IACA,MAAAxD,GAAA0D,EAAAjB,EAAAkB,GACG,MAAA3C,IACH,UAAA2C,IAAA,OAAAA,GAAA,KAAA5D,WAAA,2BAEA,OADA,SAAA4D,KAAAD,EAAAjB,GAAAkB,EAAAvD,OACAsD,Ib6RM,SAAS1F,EAAQD,EAASM,Gc1ShC,GAAAuF,GAAAvF,EAAA,IACAwF,EAAAxF,EAAA,GACAL,GAAAD,QAAA,SAAA+B,GACA,MAAA8D,GAAAC,EAAA/D,MdkTM,SAAS9B,EAAQD,EAASM,GetThC,YAQA,SAAAyF,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAN7EhG,EAAAiG,aAEA,IAAAE,GAAA7F,EAAA,IAEA8F,EAAAL,EAAAI,EAIAnG,cAAA,SAAAqG,GACA,GAAAC,MAAAC,QAAAF,GAAA,CACA,OAAAG,GAAA,EAAAC,EAAAH,MAAAD,EAAA1D,QAA6C6D,EAAAH,EAAA1D,OAAgB6D,IAC7DC,EAAAD,GAAAH,EAAAG,EAGA,OAAAC,GAEA,SAAAL,cAAAC,Kf8TM,SAASpG,EAAQD,GgB/UvBC,EAAAD,QAAA,SAAA+B,GACA,GAAAa,QAAAb,EAAA,KAAAC,WAAA,yBAAAD,EACA,OAAAA,KhBuVM,SAAS9B,EAAQD,GiB1VvBC,EAAAD,QAAA,SAAA0G,EAAArE,GACA,OACAsE,aAAA,EAAAD,GACAE,eAAA,EAAAF,GACAG,WAAA,EAAAH,GACArE,WjBkWM,SAASpC,EAAQD,EAASM,GkBvWhC,GAAAwG,GAAAxG,EAAA,YACAU,EAAAV,EAAA,GACAL,GAAAD,QAAA,SAAAoC,GACA,MAAA0E,GAAA1E,KAAA0E,EAAA1E,GAAApB,EAAAoB,MlB8WM,SAASnC,EAAQD,GmBhXvB,GAAA+G,GAAArF,KAAAqF,KACAC,EAAAtF,KAAAsF,KACA/G,GAAAD,QAAA,SAAA+B,GACA,MAAAkF,OAAAlF,MAAA,GAAAA,EAAA,EAAAiF,EAAAD,GAAAhF,KnBwXM,SAAS9B,EAAQD,EAASM,GoB5XhC,YACA,IAAA4G,GAAA5G,EAAA,OAGAA,GAAA,IAAA6G,OAAA,kBAAAC,GACAhH,KAAAiH,GAAAF,OAAAC,GACAhH,KAAAkH,GAAA,GAEC,WACD,GAEAC,GAFA5B,EAAAvF,KAAAiH,GACAG,EAAApH,KAAAkH,EAEA,OAAAE,IAAA7B,EAAAhD,QAA+BN,MAAAO,OAAA6E,UAC/BF,EAAAL,EAAAvB,EAAA6B,GACApH,KAAAkH,IAAAC,EAAA5E,QACUN,MAAAkF,EAAAE,apBmYJ,SAASxH,EAAQD,EAASM,GqBlZhCL,EAAAD,SAAkBkG,UAAA5F,EAAA,IAAA2F,gBrBwZZ,SAAShG,EAAQD,EAASM,GsBvZhC,GAAAoH,GAAApH,EAAA,IACAqH,EAAArH,EAAA,kBAEAsH,EAA6C,aAA7CF,EAAA,WAAyB,MAAAhF,eAGzBmF,EAAA,SAAA9F,EAAAK,GACA,IACA,MAAAL,GAAAK,GACG,MAAAa,KAGHhD,GAAAD,QAAA,SAAA+B,GACA,GAAA4D,GAAAmC,EAAAlD,CACA,OAAAhC,UAAAb,EAAA,mBAAAA,EAAA,OAEA,iBAAA+F,EAAAD,EAAAlC,EAAApC,OAAAxB,GAAA4F,IAAAG,EAEAF,EAAAF,EAAA/B,GAEA,WAAAf,EAAA8C,EAAA/B,KAAA,kBAAAA,GAAAoC,OAAA,YAAAnD,ItB+ZM,SAAS3E,EAAQD,GuBpbvB,GAAAgI,MAAiBA,QAEjB/H,GAAAD,QAAA,SAAA+B,GACA,MAAAiG,GAAArH,KAAAoB,GAAAkG,MAAA,QvB2bM,SAAShI,EAAQD,EAASM,GwB7bhC,GAAA4H,GAAA5H,EAAA,GACAL,GAAAD,QAAA,SAAAmI,EAAAC,EAAAzF,GAEA,GADAuF,EAAAC,GACAvF,SAAAwF,EAAA,MAAAD,EACA,QAAAxF,GACA,uBAAAe,GACA,MAAAyE,GAAAxH,KAAAyH,EAAA1E,GAEA,wBAAAA,EAAAwB,GACA,MAAAiD,GAAAxH,KAAAyH,EAAA1E,EAAAwB,GAEA,wBAAAxB,EAAAwB,EAAArE,GACA,MAAAsH,GAAAxH,KAAAyH,EAAA1E,EAAAwB,EAAArE,IAGA,kBACA,MAAAsH,GAAAhD,MAAAiD,EAAA1F,cxBscM,SAASzC,EAAQD,EAASM,GyBvdhC,GAAAwB,GAAAxB,EAAA,IACA6C,EAAA7C,EAAA,GAAA6C,SAEAkF,EAAAvG,EAAAqB,IAAArB,EAAAqB,EAAAmF,cACArI,GAAAD,QAAA,SAAA+B,GACA,MAAAsG,GAAAlF,EAAAmF,cAAAvG,QzB8dM,SAAS9B,EAAQD,G0BlevBC,EAAAD,QAAA,gGAEAuI,MAAA,M1ByeM,SAAStI,EAAQD,G2B5evBC,EAAAD,QAAA,SAAAwI,GACA,IACA,QAAAA,IACG,MAAAvF,GACH,Y3BofM,SAAShD,EAAQD,EAASM,G4BxfhC,YACA,IAAAmI,GAAAnI,EAAA,IACAwD,EAAAxD,EAAA,GACAoI,EAAApI,EAAA,IACAsD,EAAAtD,EAAA,GACAqI,EAAArI,EAAA,IACAsI,EAAAtI,EAAA,GACAuI,EAAAvI,EAAA,IACAwI,EAAAxI,EAAA,IACAyI,EAAAzI,EAAA,IACA0I,EAAA1I,EAAA,eACA2I,OAAAC,MAAA,WAAAA,QACAC,EAAA,aACAC,EAAA,OACAC,EAAA,SAEAC,EAAA,WAA4B,MAAAlJ,MAE5BH,GAAAD,QAAA,SAAAuJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACAhB,EAAAY,EAAAD,EAAAE,EACA,IAeAI,GAAA1H,EAAA2H,EAfAC,EAAA,SAAAC,GACA,IAAAhB,GAAAgB,IAAAC,GAAA,MAAAA,GAAAD,EACA,QAAAA,GACA,IAAAb,GAAA,kBAAwC,UAAAK,GAAArJ,KAAA6J,GACxC,KAAAZ,GAAA,kBAA4C,UAAAI,GAAArJ,KAAA6J,IACvC,kBAA2B,UAAAR,GAAArJ,KAAA6J,KAEhCtC,EAAA6B,EAAA,YACAW,EAAAR,GAAAN,EACAe,KACAF,EAAAX,EAAAc,UACAC,EAAAJ,EAAAlB,IAAAkB,EAAAf,IAAAQ,GAAAO,EAAAP,GACAY,EAAAD,GAAAN,EAAAL,GACAa,EAAAb,EAAAQ,EAAAH,EAAA,WAAAO,EAAA3H,OACA6H,EAAA,SAAAjB,EAAAU,EAAAQ,SAAAJ,GAwBA,IArBAG,IACAV,EAAAhB,EAAA0B,EAAA9J,KAAA,GAAA4I,KACAQ,IAAAxG,OAAA8G,YAEAvB,EAAAiB,EAAApC,MAEAc,GAAAE,EAAAoB,EAAAf,IAAApF,EAAAmG,EAAAf,EAAAM,KAIAa,GAAAG,KAAAlJ,OAAAiI,IACAe,KACAG,EAAA,WAAiC,MAAAD,GAAA3J,KAAAP,QAGjCqI,IAAAoB,IAAAZ,IAAAmB,GAAAF,EAAAlB,IACApF,EAAAsG,EAAAlB,EAAAuB,GAGA3B,EAAAY,GAAAe,EACA3B,EAAAjB,GAAA2B,EACAK,EAMA,GALAG,GACAa,OAAAR,EAAAI,EAAAP,EAAAX,GACAH,KAAAU,EAAAW,EAAAP,EAAAZ,GACAsB,QAAAF,GAEAX,EAAA,IAAAzH,IAAA0H,GACA1H,IAAA8H,IAAAxB,EAAAwB,EAAA9H,EAAA0H,EAAA1H,QACK0B,KAAAY,EAAAZ,EAAAM,GAAA6E,GAAAmB,GAAAZ,EAAAM,EAEL,OAAAA,K5B+fM,SAAS7J,EAAQD,EAASM,G6BlkBhC,GAAAsK,GAAAtK,EAAA,IACAuK,EAAAvK,EAAA,GAEAL,GAAAD,QAAAuD,OAAA2F,MAAA,SAAAvD,GACA,MAAAiF,GAAAjF,EAAAkF,K7B0kBM,SAAS5K,EAAQD,EAASM,G8B/kBhC,GAAAwK,GAAAxK,EAAA,IAAAgC,EACAqG,EAAArI,EAAA,IACAqH,EAAArH,EAAA,iBAEAL,GAAAD,QAAA,SAAA+B,EAAAgJ,EAAAC,GACAjJ,IAAA4G,EAAA5G,EAAAiJ,EAAAjJ,IAAAsI,UAAA1C,IAAAmD,EAAA/I,EAAA4F,GAAkEf,gBAAAvE,MAAA0I,M9BslB5D,SAAS9K,EAAQD,EAASM,G+B3lBhC,GAAAkB,GAAAlB,EAAA,GACA2K,EAAA,qBACAlK,EAAAS,EAAAyJ,KAAAzJ,EAAAyJ,MACAhL,GAAAD,QAAA,SAAAoC,GACA,MAAArB,GAAAqB,KAAArB,EAAAqB,S/BkmBM,SAASnC,EAAQD,EAASM,GgCrmBhC,GAAA4K,GAAA5K,EAAA,IACA6K,EAAAzJ,KAAAyJ,GACAlL,GAAAD,QAAA,SAAA+B,GACA,MAAAA,GAAA,EAAAoJ,EAAAD,EAAAnJ,GAAA,sBhC6mBM,SAAS9B,EAAQD,EAASM,GiChnBhC,GAAAwF,GAAAxF,EAAA,GACAL,GAAAD,QAAA,SAAA+B,GACA,MAAAwB,QAAAuC,EAAA/D,MjCwnBM,SAAS9B,EAAQD,GkC3nBvB,GAAAS,GAAA,EACA2K,EAAA1J,KAAA2J,QACApL,GAAAD,QAAA,SAAAoC,GACA,gBAAAkJ,OAAA1I,SAAAR,EAAA,GAAAA,EAAA,QAAA3B,EAAA2K,GAAApD,SAAA,OlCkoBM,SAAS/H,EAAQD,EAASM,GmCroBhC,GAAAiL,GAAAjL,EAAA,IACA0I,EAAA1I,EAAA,eACAsI,EAAAtI,EAAA,EACAL,GAAAD,QAAAM,EAAA,GAAAkL,kBAAA,SAAAzJ,GACA,MAAAa,SAAAb,IAAAiH,IACAjH,EAAA,eACA6G,EAAA2C,EAAAxJ,IAFA,SnC8oBM,SAAS9B,EAAQD,EAASM,GoClpBhCA,EAAA,GAMA,QALAkB,GAAAlB,EAAA,GACAsD,EAAAtD,EAAA,GACAsI,EAAAtI,EAAA,GACAmL,EAAAnL,EAAA,kBAEAoL,GAAA,sEAAAlF,EAAA,EAAwG,EAAAA,EAAOA,IAAA,CAC/G,GAAAgD,GAAAkC,EAAAlF,GACAmF,EAAAnK,EAAAgI,GACAU,EAAAyB,KAAAtB,SACAH,OAAAuB,IAAA7H,EAAAsG,EAAAuB,EAAAjC,GACAZ,EAAAY,GAAAZ,EAAAtC,QpCypBM,SAASrG,EAAQD,EAASM,GAE/B,YAQA,SAASyF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GANvF,GAAI4F,GAAsBtL,EAAoB,IAE1CuL,EAAsB9F,EAAuB6F,GqC7oBlDE,EAAAxL,EAAA,IAEA,WA4HE,QAASyL,GAA0BC,EAAOrI,GAgKxC,QAASsI,GAAYD,EAAOE,GACvBF,EAAMG,aAAa,QACpBC,EAAWJ,EAAOE,GAGlBG,EAAUL,EAAOE,GAIrB,QAASG,GAAUL,EAAOE,GACpBF,EAAMG,aAAa,cACrBH,EAAMM,aAAa,OAAQ,IAC3BJ,EAAOI,aAAa,gBAAiB,IACrCJ,EAAOI,aAAa,gBAAiB,IACrCJ,EAAOK,gBAAgB,cAAe,KAI1C,QAASH,GAAWJ,EAAOE,GACrBF,EAAMG,aAAa,cACrBH,EAAMO,gBAAgB,QACtBL,EAAOK,gBAAgB,iBACvBL,EAAOI,aAAa,cAAe,KAIvC,QAASE,KACP,GAAMC,GAAiB9I,EAAI+I,SAASC,cAAb,IAA+BC,EAA/B,kBACpBH,IACDA,EAAeF,gBAAgB,iBAInC,QAASM,GAAMC,GACb,GAAMpJ,GAAIoJ,EAAUH,cAAV,IAA4BC,EAA5B,KACPlJ,KACD8I,IACA9I,EAAEmJ,QACFC,EAAUH,cAAV,IAA4BC,GAAUN,aAAa,gBAAiB,KAIxE,QAASS,GAAoBC,EAAOhJ,EAAQgB,GAC1C,GAAMiI,MAAMnB,EAAAvJ,mBAAkB,UAC5BM,WACAC,cACAC,QAAUiK,MAAOA,EAAOhJ,OAAQA,IAElCgB,GAAOkI,cAAcD,GA9MvB,GAAMf,GAASF,EAAMW,cAAN,IAAwBC,EACvC,IAAc,OAAXV,EACD,KAAM,IAAIiB,OAAM,2DAGlBjB,GAAOI,aAAa,OAAQ,MAE5B,IAAI5I,GAAIwI,EAAOS,cAAP,KAA0BS,EAkBlC,IAjBS,OAAN1J,IAEDA,EAAIP,SAASmF,cAAc,KAC3B5E,EAAE2J,KAAO,IACT3J,EAAE4J,UAAUC,IAAIH,GAChBlB,EAAOsB,YAAY9J,IAGrBsI,EAAMM,aAAa,OAAQ,YAExBN,EAAMG,aAAa,QACpBD,EAAOI,aAAa,gBAAiB,IAGrCJ,EAAOI,aAAa,cAAe,IAGjC3I,EAAI+I,SAASY,UAAUG,SAASC,GAAgB,CAClD,GAAMC,GAAkBjK,CACxBiK,GAAgBL,UAAUC,IAAIK,GAC9BD,EAAgBL,UAAUC,IAAIG,EAC9B,IAAMG,GAAS1K,SAASmF,cAAc,OACtCuF,GAAOP,UAAUC,IAAIO,GACrBH,EAAgBH,YAAYK,GAC5BE,iBAAiBC,eAAeL,EAAiBM,GAGnD/B,EAAOgC,iBAAiB,QAAW,SAAAC,GAKjC,GAHAA,EAAM7K,iBACN6K,EAAMC,mBAEFpC,EAAMG,aAAa,YAAa,CAElC,GAAGH,EAAMG,aAAa,QAEpBC,EAAWJ,EAAOE,GAGlBa,EAAoB,QAASf,EAAOrI,EAAI+I,cAErC,CACH,GAAG/I,EAAI+I,SAASP,aAAa,yBAC3B,UAAYxI,EAAI+I,SAAS2B,aAAa,wBAAwBC,cAAe,CAE7E,GAAMC,GAAY5K,EAAI+I,SAASC,cAAb,IAA+B6B,EAA/B,SACdD,KACFnC,EAAWmC,EAAWA,EAAU5B,cAAV,IAA4BC,IAGlDG,EAAoB,QAASwB,EAAW5K,EAAI+I,WAE9CF,IAGFH,EAAUL,EAAOE,GAGjBa,EAAoB,OAAQf,EAAOrI,EAAI+I,UAEzCG,EAAMb,SAKVE,EAAOgC,iBAAiB,UAAa,SAAAC,GACnC,GAAIA,EAAMM,UAAYC,GACjBP,EAAMM,UAAYE,GAAYR,EAAMM,UAAYG,GAChDT,EAAMM,UAAYI,GAAUV,EAAMM,UAAYK,GAC9CX,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,GACnDb,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,EAAgB,CAMxE,IAAK,GAJCC,GAASnD,EAAMoD,WAAWC,SAC5BvC,EAAY,KACVwC,EAAItD,EAAMoD,WAAWG,kBAAoB,EAEtC/I,EAAI,EAAQ8I,GAAL9I,EAAQA,IAAK,CAE3B,GAAI2H,EAAMM,UAAYK,EAAS,CAC7BhC,EAAYqC,EAAO,EACnB,OAEG,GAAIhB,EAAMM,UAAYI,EAAQ,CACjC/B,EAAYqC,EAAOG,EACnB,OAGF,GAAGH,EAAO3I,IAAMwF,EAAO,CACrB,GAAGmC,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,EACpDlC,EAAYtG,EAAI,EAAI2I,EAAO3I,EAAE,GAAM2I,EAAOG,OAEvC,IAAInB,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,EAC5DpC,EAAgBwC,EAAJ9I,EAAQ2I,EAAO3I,EAAE,GAAK2I,EAAO,OAEtC,IAAIhB,EAAMM,UAAYC,EACtBP,EAAMqB,SACJhJ,EAAI,IAAM2I,EAAO3I,EAAE,GAAG2F,aAAa,UACpCW,EAAYqC,EAAO3I,EAAE,IAGZ8I,EAAJ9I,IACHwF,EAAMG,aAAa,UACrBW,EAAYqC,EAAO3I,EAAE,SAItB,IAAI2H,EAAMM,UAAYE,GAAYR,EAAMM,UAAYG,EAAU,CACjET,EAAM7K,iBACN6K,EAAMC,iBAGN,IAAMnB,GAAM,GAAIwC,YAAW,SACzB5M,WACAC,cACA4M,KAAMjO,QAERyK,GAAOgB,cAAcD,GAEvB,OAGDH,IACDqB,EAAM7K,iBACN6K,EAAMC,kBACNvB,EAAMC,UAKZd,EAAMkC,iBAAiB,WAAc,SAAAC,GAInC,GAHAA,EAAM7K,iBACN6K,EAAMC,kBAEHD,EAAMpL,QAAUoL,EAAMpL,OAAO4M,OAAQ,CACtC,GAAMA,GAASxB,EAAMpL,OAAO4M,OAAOrB,aACnC,QAAQqB,GACN,IAAK,OACHtD,EAAUL,EAAOE,EACjB,MACF,KAAK,QACHE,EAAWJ,EAAOE,EAClB,MACF,KAAK,SACHD,EAAYD,EAAOE,OAjR7B,GAAM+B,GAAmB,iBACnBS,EAAS,EACTC,EAAW,GACXC,EAAW,GACXC,EAAS,GACTC,EAAU,GACVE,EAAgB,GAChBD,EAAc,GACdG,EAAiB,GACjBD,EAAgB,GAEhBT,EAAQ,0BACR5B,EAAS,kCACTQ,EAAiB,2CACjBwC,EAAc,cACd9B,EAAS,aACTF,EAAmB,oDACnBF,EAAgB,uBAChBmC,EAA8B,sCAW9BC,EAAuB,SAA8BC,GAEzD3P,KAAKsM,SAAWqD,EAGhB3P,KAAK4P,OAGPvO,QAAAqO,qBAAiCA,EAQjCA,EAAqBzF,UAAU4F,gBAAkB,SAAU9B,GAAQ,GAAA+B,GAAA9P,IACjE+N,GAAM7K,iBACN6K,EAAMC,kBAEHD,EAAMpL,QAAUoL,EAAMpL,OAAO4M,SAAQ,WACtC,GAAMA,GAASxB,EAAMpL,OAAO4M,OAAOrB,aAEhC,UAAWqB,GAAU,UAAYA,GAAU,WAAaA,IAE9B/M,SAAxBuL,EAAMpL,OAAOiC,OAEXkL,EAAKxD,SAASP,aAAa,yBAC5B,UAAY+D,EAAKxD,SAAS2B,aAAa,wBAAwBC,kBAE/DhD,UAAAO,cAAIqE,EAAKxD,SAASyD,iBAAd,IAAmC3B,KAAU4B,QAAQ,SAAApE,GACvDA,EAAMkB,iBACJpB,EAAAvJ,mBAAkB,YAChBQ,QAAS4M,OAAQA,QAMM,OAAxBxB,EAAMpL,OAAOiC,QAEpBmJ,EAAMpL,OAAOiC,OAAOkI,iBAElBpB,EAAAvJ,mBAAkB,YAChBM,WAAeE,QAAU4M,OAAQA,WAa7CG,EAAqBzF,UAAUgG,eAAiB,WAAW,GAAAC,GAAAlQ,IAEzDA,MAAKsM,SAASJ,aAAa,OAAQ,WAE/BlM,KAAKsM,SAASY,UAAUG,SAASC,IACnCtN,KAAKsM,SAASY,UAAUC,IAAIsC,MAG9BvE,UAAAO,cAAIzL,KAAKsM,SAASyD,iBAAd,IAAmC3B,KAAU4B,QAAS,SAAApE,GACxD,GAAID,GAA0BC,EAA9BsE,KAGFlQ,KAAKsM,SAASwB,iBAAiB,UAAW9N,KAAK6P,gBAAgBM,KAAKnQ,UAEpEA,KAAKsM,SAASY,UAAUC,IAAIqC,IAM9BE,EAAqBzF,UAAU2F,KAAO,WAChC5P,KAAKsM,UACPtM,KAAKiQ,kBAmOTtC,iBAAiByC,UACfC,YAAaX,EACbY,cAAe,uBACfC,SAAU,sBACVC,gBrC+pBE,SAAS3Q,EAAQD,EAASM,GsCrhChC,YACAA,GAAA,GACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,KtCiiCM,SAASL,EAAQD,EAASM,GAE/B,YAQA,SAASyF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GANvF,GAAI4F,GAAsBtL,EAAoB,IAE1CuL,EAAsB9F,EAAuB6F,GuClhClDE,EAAAxL,EAAA,IAEA,WA2JE,QAASuQ,GAASd,GAChB,OAAKA,GAAYA,EAAQzC,UAAUG,SAASqD,GACnC,KAEFf,EAAQzC,UAAUG,SAASsD,GAAShB,EAAUc,EAASd,EAAQX,YAGxE,QAASvC,GAAMmE,GACb,GAAGA,EAAO,CACR,GAAMtN,GAAIsN,EAAMrE,cAAN,KAAyBsE,EAC/BvN,IACFA,EAAEmJ,SAKR,QAASqE,GAAUF,GAEjB,GAAMtN,GAAIsN,EAAMrE,cAAN,KAAyBsE,EACnC,IAAGvN,EAAG,CACJ,GAAMiK,GAAkBjK,CACxBiK,GAAgBL,UAAUC,IAAIK,GAC9BD,EAAgBL,UAAUC,IAAIG,EAC9B,IAAMG,GAAS1K,SAASmF,cAAc,OACtCuF,GAAOP,UAAUC,IAAIO,GACrBH,EAAgBH,YAAYK,GAC5BE,iBAAiBC,eAAeL,EAAiBM,IAlLrD,GAAMS,GAAS,EACTC,EAAW,GACXC,EAAW,GACXC,EAAS,GACTC,EAAU,GACVE,EAAgB,GAChBD,EAAc,GACdG,EAAiB,GACjBD,EAAgB,GAEhBW,EAAc,cACdkB,EAAa,oBACbC,EAAQ,2BACRE,EAAgB,kCAChBhD,EAAmB,iBACnBH,EAAS,aACTF,EAAmB,6CACnBF,EAAgB,uBAChBmC,EAA8B,sCAM9BsB,EAAwB,SAA+BpB,GAE3D3P,KAAKsM,SAAWqD,EAGhB3P,KAAK4P,OAEPvO,QAAA0P,sBAAkCA,EAOlCA,EAAsB9G,UAAU+G,gBAAkB,WAEhDhR,KAAKsM,SAASJ,aAAa,OAAQ,WACnChB,UAAAO,cAAIzL,KAAKsM,SAASyD,iBAAd,IAAmCY,KAAUX,QAC/C,SAAAY,GAAA,MAASA,GAAM1E,aAAa,OAAQ,UAGlClM,KAAKsM,SAASY,UAAUG,SAASC,KACnCtN,KAAKsM,SAASY,UAAUC,IAAIsC,MAE5BvE,UAAAO,cAAIzL,KAAKsM,SAASyD,iBAAd,IAAmCY,KAAUX,QAC/C,SAAAY,GAAA,MAASE,GAAUF,MAOvB5Q,KAAKsM,SAASwB,iBAAiB,QAAW,SAASC,GACjDA,EAAM7K,iBACN6K,EAAMC,iBACN,IAAM4C,GAAQH,EAAS1C,EAAMnJ,OAE7B,IAAGmJ,EAAMnJ,SAAW5E,KAAM,CACxByM,EAAMmE,MAGN1F,UAAAO,cAAIzL,KAAKiP,WACNgC,OAAQ,SAAArF,GAAA,MAASA,GAAMG,aAAa,mBACpCiE,QAAS,SAAAkB,GAAA,MAAYA,GAAS/E,gBAAgB,mBAGjDyE,EAAM1E,aAAa,gBAAiB,GAEpC,IAAMW,MAAMnB,EAAAvJ,mBAAkB,UAC5BM,WACAC,cACAC,QAAUiB,OAAQgN,IAEpB5Q,MAAK8M,cAAcD,KAEpBsD,KAAKnQ,KAAKsM,cAKbtM,KAAKsM,SAASwB,iBAAiB,UAAa,SAASC,GAEnD,IAAIA,EAAMM,UAAYC,GACjBP,EAAMM,UAAYE,GAAYR,EAAMM,UAAYG,GAChDT,EAAMM,UAAYI,GAAUV,EAAMM,UAAYK,GAC9CX,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,GACnDb,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,IAErDf,EAAMnJ,SAAW5E,KAAM,CAMxB,IAAK,GALC4L,GAAQ6E,EAAS1C,EAAMnJ,QACvBmK,EAAS/O,KAAKiP,SAChBvC,EAAY,KACVwC,EAAIlP,KAAKmP,kBAAoB,EAE1B/I,EAAI,EAAQ8I,GAAL9I,EAAQA,IAAK,CAC3B,GAAI2H,EAAMM,UAAYK,EAAS,CAC7BhC,EAAYqC,EAAO,EACnB,OAEG,GAAIhB,EAAMM,UAAYI,EAAQ,CACjC/B,EAAYqC,EAAOG,EACnB,OAGF,GAAIH,EAAO3I,KAAOwF,EAAO,CACvB,GAAImC,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,EACrDlC,EAAatG,EAAI,EAAI2I,EAAO3I,EAAI,GAAK2I,EAAOG,OAEzC,IAAInB,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,EAC5DpC,EAAgBwC,EAAJ9I,EAAQ2I,EAAO3I,EAAI,GAAK2I,EAAO,OAExC,IAAIhB,EAAMM,UAAYC,EACrBP,EAAMqB,SACJhJ,EAAI,IACNsG,EAAYqC,EAAO3I,EAAI,IAGd8I,EAAJ9I,IACPsG,EAAYqC,EAAO3I,EAAI,QAGtB,IAAI2H,EAAMM,UAAYE,GAAYR,EAAMM,UAAYG,EAAU,CACjET,EAAM7K,iBACN6K,EAAMC,iBAGN,IAAMnB,GAAM,GAAIwC,YAAW,SACzB5M,WACAC,cACA4M,KAAMjO,QAERuK,GAAMkB,cAAcD,GAEtB,OAGAH,IACFqB,EAAM7K,iBACN6K,EAAMC,kBACNvB,EAAMC,MAIXyD,KAAKnQ,KAAKsM,cAEbtM,KAAKsM,SAASY,UAAUC,IAAIqC,IAoC9BuB,EAAsB9G,UAAU2F,KAAO,WACjC5P,KAAKsM,UACPtM,KAAKgR,mBAQTrD,iBAAiByC,UACfC,YAAaU,EACbT,cAAe,wBACfC,SAAU,uBACVC,gBvC+iCE,SAAS3Q,EAAQD,EAASM,GAE/B,YAwBA,SAASyF,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAtBvF,GAAI4F,GAAsBtL,EAAoB,IAE1CuL,EAAsB9F,EAAuB6F,GAE7C2F,EAAajR,EAAoB,IAEjCkR,EAAczL,EAAuBwL,GAErCE,EAAkBnR,EAAoB,IAEtCoR,EAAkB3L,EAAuB0L,GAEzCE,EAAWrR,EAAoB,IAE/BsR,EAAY7L,EAAuB4L,GAEnCE,EAAgBvR,EAAoB,IAEpCwR,EAAgB/L,EAAuB8L,GwCnxC5C/F,EAAAxL,EAAA,IAEA,WAyGE,QAASyR,GAAgBpC,EAAQ3L,GAAyB,GAAjBgB,GAAiBtC,UAAAC,QAAA,GAAAC,SAAAF,UAAA,GAARsB,EAAQtB,UAAA,EAExDsC,GAAOkI,iBAAcpB,EAAAvJ,mBAAkB,UACrCM,WACAC,cACAC,QACE4M,OAAQA,GAAU,GAClB3L,OAAQA,MAUd,QAASgO,GAAkBC,GACzB,GAAMC,GAAe,SAACC,EAAQC,GAAT,MAAsBA,IAAYD,EAASA,EAAOE,aAAe,GAEhFC,EAAa,SAACC,EAAQC,GAC1B,GAAiD,aAA7C/Q,OAAOgR,iBAAiBF,GAAQG,SAAyB,CAC3D,GAAMC,GAAYxP,SAASyP,KAAKD,WAAaxP,SAAS0P,gBAAgBF,UAChEG,EAAWH,GAAalR,OAAOsR,YAAcR,EAAOF,aAAeG,GAAM,CAC/ED,GAAOS,MAAMC,IAASvR,KAAKwR,IAAIP,EAAWG,GAA1C,OAIEP,EAAiD,WAAxCN,EAAgB7C,WAAW+D,SAAwBlB,EAAgB7C,WAAa,IAC/F,IAAGmD,GAAUA,EAAOpG,aAAa,QAAS,CACxC8F,EAAgBe,MAAMI,MAAQ,OAC9BnB,EAAgBe,MAAMK,SAAW,MACjC,IAAMC,GAAMrB,EAAgBtF,cAAc,MACvC2G,KACDrB,EAAgBe,MAAMK,SAAgC,cAArBC,EAAIC,aAAkCD,EAAIC,aAA1C,KAAgED,EAAIF,MAAP,MAAoB,OAGpH,IAAMZ,GAAKN,EAAaD,EAAgBtF,cAAc,UAAWsF,EAAgB3E,UAAUG,SAAS+F,IAC9FC,EAAK/R,KAAKwR,IAAI/P,SAAS0P,gBAAgBa,aAAcjS,OAAOsR,aAAe,GAAKP,CACtF,IAAID,EAAOF,aAAeoB,EAExB,IADA,GAAInE,GAAI,EACFiD,EAAOF,aAAeoB,KAAQnE,EAAI,GACtC2C,EAAgBe,MAAMI,MAAWnB,EAAgB0B,YAAcF,EAAKxB,EAAgBI,aAApF,IAGJC,GAAWC,EAAQC,IAnJvB,GAAMoB,GAAS,GACThF,EAAW,GACXC,EAAS,GACTC,EAAU,GACVE,EAAgB,GAChBD,EAAc,GACdG,EAAiB,GACjBD,EAAgB,GAEhBW,EAAc,cACdiE,EAAiB,kBACjBL,EAAsB,iCACtBM,EAAe,aAOfC,EAAsB,SAA6BhE,GAEvD3P,KAAKsM,SAAWqD,EAGhB3P,KAAK4T,YAGL5T,KAAK4P,OAEPvO,QAAAsS,oBAAgCA,EAQhCA,EAAoB1J,UAAU4J,gBAAkB,SAAS9F,GAEvD,GAAIA,IACGA,EAAMM,UAAYmF,GAAUzF,EAAMM,UAAYG,GAC9CT,EAAMM,UAAYI,GAAUV,EAAMM,UAAYK,GAC9CX,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,GACnDb,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,GAAgB,CAErEf,EAAMM,UAAYmF,IACnBzF,EAAM7K,iBACN6K,EAAMC,kBAGR,IAAIuB,GAAS,OACTxB,GAAMM,UAAYI,EACpBc,EAAS,OAEFxB,EAAMM,UAAYM,GAAeZ,EAAMM,UAAYO,EAC1DW,EAAS,OAEFxB,EAAMM,UAAYQ,GAAiBd,EAAMM,UAAYS,EAC5DS,EAAS,OAEFxB,EAAMM,UAAYG,EACzBe,EAAS,SAEFxB,EAAMM,UAAYmF,IACzBjE,EAAS,UAGXoC,EAAgBpC,EAAQvP,QAU9B2T,EAAoB1J,UAAU6J,oBAAsB,SAAS/F,GAE3D,GAAIA,EAAO,CACTA,EAAM7K,iBACN6K,EAAMC,kBAEN2D,EAAgB3R,KAAKiO,aAAa,gBAAkB,GAAIjO,KAGxD,KADA,GAAIkP,GAAIlP,KACoB,OAArBkP,EAAIA,EAAEF,aACX,GAAGE,EAAEhC,UAAUG,SAASoG,GAAiB,CACvCvE,EAAEzC,OACF,UAoERkH,EAAoB1J,UAAU8J,gBAAkB,WAC9CnC,EAAkB5R,OASpB2T,EAAoB1J,UAAU+J,gBAAkB,SAASjG,GAEvD,GAAMkG,GAAY,SAAEtE,EAASuE,GAAgB,GAAAC,MAAAC,KAAAC,EAAA7R,MAAA,KAE3C,OAAA8R,GAAAC,KAAA7C,iBAA0BF,cAAe0C,MAAzCC,GAAAG,EAAAC,EAAAjL,QAAAjC,MAAA8M,KAAsD,IAAAK,MAAAlD,cAAAgD,EAAArS,MAAA,GAA3CD,EAA2CwS,EAAA,GAAtCvS,EAAsCuS,EAAA,EACpD7E,GAAQiD,MAAM5Q,GAAOC,GAHoB,MAAAwS,GAAAL,KAAAC,EAAAI,EAAA,aAAAN,GAAAI,2BAAA,WAAAH,EAAA,KAAAC,KAW7CtG,GAAM7K,gBAGN,IAAMwR,GAAI3G,EAAM4G,UAA8BnS,SAAlBuL,EAAM6G,QAAwB7G,EAAM6G,QAAQ,GAAGD,QAAU,GAE/EzB,EAAMlT,IACZkT,GAAIN,MAAMiC,QAAU,KAEpB,IAAMC,GAAS/R,SAASmF,cAAc,MACtC4M,GAAO5H,UAAUC,IAAI,2BACrB8G,EAAUa,GAAS9B,MAAYE,EAAIK,YAAhB,KAAiCwB,OAAa7B,EAAIjB,aAAjB,MAEpD,IAAIrB,GAAS7N,SAASmF,cAAc,MACpC0I,GAAM1D,UAAUC,IAAI,kCACpByD,EAAMoE,YAAc,IACpBf,EAAUrD,GACRoC,MAAuBE,EAAIK,YAA3B,KACAwB,OAAuB7B,EAAIjB,aAA3B,KACAgD,cAAuB/B,EAAIjB,aAA3B,KACAiD,YAAuBhC,EAAIjB,aAAa,EAAxC,KACAkD,aAAoB,QACpBC,mBAAA,SAA4BlC,EAAIjF,aAAa,sBAAwB,IAArE,OAEF6G,EAAO1H,YAAYwD,GAEnBA,EAAS7N,SAASmF,cAAc,OAChC0I,EAAM1D,UAAUC,IAAI,kCACpB8G,EAAUrD,GACRoC,MAAuBE,EAAIK,YAA3B,KACAwB,OAAuB7B,EAAIjB,aAA3B,KACAmD,mBAAA,QAA4BlC,EAAImC,IAAhC,OAEFP,EAAO1H,YAAYwD,GAEnBA,EAAS7N,SAASmF,cAAc,OAChC0I,EAAM1D,UAAUC,IAAI,kCACpByD,EAAMoE,YAAc,IACpBf,EAAUrD,GACRoC,MAAuBE,EAAIK,YAA3B,KACAwB,OAAuB7B,EAAIjB,aAA3B,KACAgD,cAAuB/B,EAAIjB,aAA3B,KACAiD,YAAuBhC,EAAIjB,aAAa,EAAxC,KACAkD,aAAoB,OACpBC,mBAAA,SAA4BlC,EAAIjF,aAAa,sBAAwB,IAArE,OAEF6G,EAAO1H,YAAYwD,GAEnBsC,EAAIlE,WAAW5B,YAAY0H,EAI3B,IAAMQ,GAAO,SAAAzS,GACXA,EAAEK,gBACF,IAAMqS,IAAM1S,EAAE8R,UAA0BnS,SAAdK,EAAE+R,QAAwB/R,EAAE+R,QAAQ,GAAGD,QAAU,IAAMD,CAE9EI,GAAOvB,YAAcjS,KAAKkU,IAAID,GAAM,KACrCT,EAAOlC,MAAM6C,KAAUF,EAAvB,OAKEG,EAAU,QAAVA,GAAU7S,GACdA,EAAEK,iBAGF7B,OAAOsU,oBAAoB,YAAaL,GACxCjU,OAAOsU,oBAAoB,YAAaL,GACxCjU,OAAOsU,oBAAoB,UAAWD,GACtCrU,OAAOsU,oBAAoB,WAAYD,EAEvC,IAAMH,GAAKT,EAAOc,UAClB1C,GAAIlE,WAAW6G,YAAYf,GAC3B5B,EAAIN,MAAMiC,QAAU,MAEjBvT,KAAKkU,IAAID,GAAM,IAChB5D,EAAkB4D,EAAK,EAAI,OAAS,OAAUrC,GAIlD7R,QAAOyM,iBAAiB,YAAawH,GACrCjU,OAAOyM,iBAAiB,YAAawH,GACrCjU,OAAOyM,iBAAiB,UAAW4H,GACnCrU,OAAOyM,iBAAiB,WAAW4H,IAOrC/B,EAAoB1J,UAAU2F,KAAO,WAAW,GAAAE,GAAA9P,IAE9C,IAAIA,KAAKsM,SAAU,CAEjBtM,KAAKsM,SAASwB,iBAAiB,UAAW9N,KAAK6T,gBAAgB1D,KAAKnQ,KAAKsM,eAAW,EAEhF8E,cAAiBpR,KAAKsM,SAAS2B,aAAa,cAC9CjO,KAAKsM,SAASJ,aAAa,WAAY,MAGzChB,UAAAO,cAAIzL,KAAKsM,SAASyD,iBAAd,IAAmC2D,KAAiB1D,QAAS,SAAA8F,GAAA,MAC/DA,GAAOhI,iBAAiB,QAASgC,EAAKgE,oBAAoB3D,KAAK2F,QAGjE,IAAMC,GAAa/V,KAAKsM,SAASC,cAAc,aAC5CwJ,IACDA,EAAWjI,iBAAiB,QAAS9N,KAAK8T,oBAAoB3D,KAAK4F,MAGrE,IAAMhE,GAAS/R,KAAKsM,SAASC,cAAc,SACxCwF,IACDA,EAAOjE,iBAAiB,QAAS9N,KAAK8T,oBAAoB3D,KAAK4B,MAGjE,IAAMmB,GAAMlT,KAAKsM,SAASC,cAAc,MACrC2G,KACDA,EAAIpF,iBAAiB,OAAQ9N,KAAK+T,gBAAgB5D,KAAKnQ,KAAKsM,cAC5D4G,EAAIpF,iBAAiB,QAAS,SAAAjL,GAAA,MAAKA,GAAEK,sBACrCgQ,EAAIpF,iBAAiB,YAAa9N,KAAKgU,gBAAgB7D,KAAK+C,OAC5DA,EAAIpF,iBAAiB,aAAc9N,KAAKgU,gBAAgB7D,KAAK+C,QAI/D7R,OAAOyM,iBAAiB,SAAU,WAC5BgC,EAAK8D,UAEPvS,OAAO2U,sBAAuB,WAC5BpE,EAAkB9B,EAAKxD,UACvBwD,EAAK8D,cAGT9D,EAAK8D,cAGPvS,OAAOyM,iBAAiB,oBAAqB,iBAAM8D,GAAkB9B,EAAKxD,YAG1EtM,KAAKsM,SAASY,UAAUC,IAAIqC,KA2BhC7B,iBAAiByC,UACfC,YAAasD,EACbrD,cAAe,sBACfC,SAAU,2BxCs0CR,SAAS1Q,EAAQD,GAEtB;;;;;;;;;;;;;;;;;;;CyCxqDD,WAWE,GAAMqW,GAAyB,SAAgCtG,GAC7D3P,KAAKsM,SAAWqD,EAChB3P,KAAK4P,OAGPvO,QAAA4U,uBAAmCA,EAQnCA,EAAuBhM,UAAUiM,aAWjCD,EAAuBhM,UAAUkM,aAC/BC,MAAO,4BACPC,MAAO,6BACPC,SAAU,WACVC,WAAY,aACZC,YAAa,cACbC,WAAY,aACZjH,YAAa,eAUfyG,EAAuBhM,UAAUyM,SAAW,SAAS3I,GACnD/N,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAYI,aAU/CN,EAAuBhM,UAAU0M,QAAU,SAAS5I,GAClD/N,KAAKsM,SAASY,UAAU0J,OAAO5W,KAAKmW,YAAYI,aASlDN,EAAuBhM,UAAU4M,SAAW,SAAS9I,GACnD/N,KAAK8W,kBAQPb,EAAuBhM,UAAU6M,eAAiB,WAChD9W,KAAK+W,gBACL/W,KAAKgX,gBACLhX,KAAKiX,aACLjX,KAAKkX,cAUPjB,EAAuBhM,UAAU8M,cAAgB,WAC3C/W,KAAKmX,QAAQC,SACfpX,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAYK,aAE7CxW,KAAKsM,SAASY,UAAU0J,OAAO5W,KAAKmW,YAAYK,cAGpDP,EAAuBhM,UAAvB8M,cAAoDd,EAAuBhM,UAAU8M,cAQrFd,EAAuBhM,UAAUiN,WAAa,WAExCG,QAAQrX,KAAKsM,SAASC,cAAc,WACtCvM,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAYI,YAE7CvW,KAAKsM,SAASY,UAAU0J,OAAO5W,KAAKmW,YAAYI,aAIpDN,EAAuBhM,UAAvBiN,WAAiDjB,EAAuBhM,UAAUiN,WAQlFjB,EAAuBhM,UAAU+M,cAAgB,aAejDf,EAAuBhM,UAAvB+M,cAAoDf,EAAuBhM,UAAU+M,cAOrFf,EAAuBhM,UAAUgN,WAAa,WACxCjX,KAAKmX,QAAQlV,OAASjC,KAAKmX,QAAQlV,MAAMM,OAAS,EACpDvC,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAYG,UAE7CtW,KAAKsM,SAASY,UAAU0J,OAAO5W,KAAKmW,YAAYG,WAIpDL,EAAuBhM,UAAvBgN,WAAiDhB,EAAuBhM,UAAUgN,WAOlFhB,EAAuBhM,UAAUqN,QAAU,WACzCtX,KAAKmX,QAAQC,YACbpX,KAAK8W,kBAGPb,EAAuBhM,UAAvBqN,QAA8CrB,EAAuBhM,UAAUqN,QAO/ErB,EAAuBhM,UAAUsN,OAAS,WACxCvX,KAAKmX,QAAQC,YACbpX,KAAK8W,kBAGPb,EAAuBhM,UAAvBsN,OAA6CtB,EAAuBhM,UAAUsN,OAQ9EtB,EAAuBhM,UAAUuN,OAAS,SAASvV,GACjDjC,KAAKmX,QAAQlV,MAAQA,GAAS,GAC9BjC,KAAK8W,kBAEPb,EAAuBhM,UAAvBuN,OAA6CvB,EAAuBhM,UAAUuN,OAK9EvB,EAAuBhM,UAAU2F,KAAO,WACtC,GAAI5P,KAAKsM,WACPtM,KAAKyX,OAASzX,KAAKsM,SAASC,cAAd,IAAgCvM,KAAKmW,YAAYC,OAC/DpW,KAAKmX,QAAUnX,KAAKsM,SAASC,cAAd,IAAgCvM,KAAKmW,YAAYE,OAE5DrW,KAAKmX,SAAS,CAChBnX,KAAK0X,0BAA4B1X,KAAK8W,eAAe3G,KAAKnQ,MAC1DA,KAAK2X,kBAAoB3X,KAAK0W,SAASvG,KAAKnQ,MAC5CA,KAAK4X,iBAAmB5X,KAAK2W,QAAQxG,KAAKnQ,MAC1CA,KAAK6X,kBAAoB7X,KAAK6W,SAAS1G,KAAKnQ,MAC5CA,KAAKmX,QAAQrJ,iBAAiB,SAAU9N,KAAK0X,2BAC7C1X,KAAKmX,QAAQrJ,iBAAiB,QAAS9N,KAAK2X,mBAC5C3X,KAAKmX,QAAQrJ,iBAAiB,OAAQ9N,KAAK4X,kBAC3C5X,KAAKmX,QAAQrJ,iBAAiB,QAAS9N,KAAK6X,kBAE5C,IAAMC,GAAU9X,KAAKsM,SAASY,UAAUG,SAASrN,KAAKmW,YAAYM,WAClEzW,MAAK8W,iBACL9W,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAY3G,aAEzCsI,GACF9X,KAAKsM,SAASY,UAAUC,IAAInN,KAAKmW,YAAYM,YAE3CzW,KAAKmX,QAAQpL,aAAa,eAC5B/L,KAAKsM,SAASG,QACdzM,KAAKkX,gBAUbvJ,iBAAiByC,UACfC,YAAa4F,EACb3F,cAAe,yBACfC,SAAU,wBACVC,gBzCqsDE,SAAS3Q,EAAQD,GAEtB;;;;;;;;;;;;;;;;;;;C0Cl7DD,WAGE,GAAM4P,GAAc,cACduI,EAAiB,sBACjBC,EAAmB,mBAQnBC,EAA0B,SAAiCtI,GAE/D3P,KAAKkY,QAAUvI,EAGf3P,KAAKmY,SAAW,KAChBnY,KAAKoY,eAAiB,EAGtBpY,KAAK4T,YAGL5T,KAAK4P,OAGPvO,QAAA4W,wBAAoCA,EAOpCA,EAAwBhO,UAAUoO,aAAe,WAC/CrY,KAAKkY,QAAQtF,MAAMI,MAAWhT,KAAKmY,SAASG,YAA5C,MAQFL,EAAwBhO,UAAUsO,eAAiB,WAAwB,GAAAzI,GAAA9P,IAGrEA,MAAK4T,UAEPvS,OAAO2U,sBAAuB,WAC5BlG,EAAKuI,eACLvI,EAAK8D,cAGT5T,KAAK4T,aAQPqE,EAAwBhO,UAAUuO,YAAc,WAE9C,GAAMC,GAA0BzY,KAAKmY,SAAS5F,UACxCmG,EAAa1Y,KAAKoY,eAAiBK,CAEzC,IAA8B,GAA3BA,EAEDzY,KAAKkY,QAAQtF,MAAMC,IAAM,IACzB7S,KAAKkY,QAAQhL,UAAU0J,OAAOoB,OAE3B,IAAGU,EAAa,EAAG,CAEtB,GAAGA,GAAc1Y,KAAKkY,QAAQjG,aAAc,CAG1C,GAAM0G,GAAaC,SAAUvX,OAAOgR,iBAAkBrS,KAAKkY,SAAUW,iBAAkB,SAAa,CACpF,IAAbF,IACD3Y,KAAKkY,QAAQtF,MAAMC,IAAM,IACzB7S,KAAKkY,QAAQhL,UAAUC,IAAI6K,IAE7BhY,KAAKoY,eAAiBK,EAExB,OAEG,GAAgB,EAAbC,EAAgB,CAEtB1Y,KAAKkY,QAAQhL,UAAUC,IAAI6K,EAC3B,IAAIc,GAAaF,SAAUvX,OAAOgR,iBAAkBrS,KAAKkY,SAAUW,iBAAkB,SAAa,CAElG,IAAI7Y,KAAKmY,SAASY,aAAe/Y,KAAKmY,SAAS5F,WAAavS,KAAKmY,SAASlG,aAExD,GAAb6G,IACD9Y,KAAKkY,QAAQtF,MAAMC,IAAM,SAGxB,CACHiG,GAAaJ,CACb,IAAMzG,GAAejS,KAAKkY,QAAQjG,YAClCjS,MAAKkY,QAAQtF,MAAMC,KAAWvR,KAAKkU,IAAKsD,GAAc7G,GAAgBA,EAAe6G,GAArF,OAIJ9Y,KAAKoY,eAAiBK,GAQxBR,EAAwBhO,UAAU+O,eAAiB,WAAwB,GAAA9I,GAAAlQ,IAErEA,MAAK4T,UACPvS,OAAO2U,sBAAuB,WAC5B9F,EAAKsI,cACLtI,EAAK0D,cAGT5T,KAAK4T,aAOPqE,EAAwBhO,UAAUgP,gBAAkB,WAClDjZ,KAAKqY,eACLrY,KAAKwY,eAMPP,EAAwBhO,UAAU2F,KAAO,WAAW,GAAAsJ,GAAAlZ,IAElD,IAAIA,KAAKkY,UACPlY,KAAKmY,SAAWnY,KAAKkY,QAAQlJ,WAAWzC,cAAxB,IAA0CwL,IAAoB,KAE3E/X,KAAKmY,UAAU,CAChBnY,KAAKmY,SAASvF,MAAMuG,WAAgBnZ,KAAKkY,QAAQjG,aAAjD,KACAjS,KAAKoY,eAAiBpY,KAAKmY,SAAS5F,UAEpCvS,KAAKmY,SAASrK,iBAAiB,SAAU9N,KAAKgZ,eAAe7I,KAAKnQ,OAClEqB,OAAOyM,iBAAiB,SAAU9N,KAAKuY,eAAepI,KAAKnQ,OAC3DqB,OAAOyM,iBAAiB,oBAAqB9N,KAAKuY,eAAepI,KAAKnQ,MAGtE,IAAMoZ,GAAmB/X,OAAO+X,kBAAoB/X,OAAOgY,wBAA0BhY,OAAOiY,mBAK5F,IAAIF,GAAkB,WAEhBF,EAAKtF,UACPvS,OAAO2U,sBAAuB,WAC5BkD,EAAKD,kBACLC,EAAKtF,cAGTsF,EAAKtF,cAEJ2F,QAASvZ,KAAKmY,UACfqB,cACAC,aACAC,mBAIF1Z,KAAKiZ,kBAGLjZ,KAAKkY,QAAQhL,UAAUC,IAAIqC,KAoBjC7B,iBAAiByC,UACfC,YAAa4H,EACb3H,cAAe,0BACfC,SAAU,gC1C+8DR,SAAS1Q,EAAQD,EAASM,G2C9qEhCL,EAAAD,SAAkBkG,UAAA5F,EAAA,IAAA2F,gB3CorEZ,SAAShG,EAAQD,EAASM,G4CprEhCL,EAAAD,SAAkBkG,UAAA5F,EAAA,IAAA2F,gB5C0rEZ,SAAShG,EAAQD,EAASM,G6C1rEhCL,EAAAD,SAAkBkG,UAAA5F,EAAA,IAAA2F,gB7CgsEZ,SAAShG,EAAQD,EAASM,G8ChsEhCL,EAAAD,SAAkBkG,UAAA5F,EAAA,IAAA2F,gB9CssEZ,SAAShG,EAAQD,EAASM,G+CtsEhC,YAYA,SAAAyF,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAV7EhG,EAAAiG,aAEA,IAAA8T,GAAAzZ,EAAA,IAEA0Z,EAAAjU,EAAAgU,GAEAlI,EAAAvR,EAAA,IAEAwR,EAAA/L,EAAA8L,EAIA7R,cAAA,WACA,QAAAia,GAAA5T,EAAAG,GACA,GAAA0T,MACAC,KACAC,KACAC,EAAAzX,MAEA,KACA,OAAA0X,GAAAhT,KAAAwK,cAAAzL,KAAwD8T,GAAAG,EAAAhT,EAAAoC,QAAAjC,QACxDyS,EAAAK,KAAAD,EAAAjY,QAEAmE,GAAA0T,EAAAvX,SAAA6D,GAHuF2T,OAKlF,MAAAtF,GACLuF,KACAC,EAAAxF,EACK,QACL,KACAsF,GAAA7S,EAAA,WAAAA,EAAA,YACO,QACP,GAAA8S,EAAA,KAAAC,IAIA,MAAAH,GAGA,gBAAA7T,EAAAG,GACA,GAAAF,MAAAC,QAAAF,GACA,MAAAA,EACK,OAAA2T,cAAAzW,OAAA8C,IACL,MAAA4T,GAAA5T,EAAAG,EAEA,UAAAxE,WAAA,6D/C+sEM,SAAS/B,EAAQD,EAASM,GgD9vEhCA,EAAA,IACAA,EAAA,IACAL,EAAAD,QAAAM,EAAA,GAAAgG,MAAAkU,MhDowEM,SAASva,EAAQD,EAASM,GiDtwEhCA,EAAA,IACAA,EAAA,IACAL,EAAAD,QAAAM,EAAA,KjD4wEM,SAASL,EAAQD,EAASM,GkD9wEhCA,EAAA,IACAA,EAAA,IACAL,EAAAD,QAAAM,EAAA,KlDoxEM,SAASL,EAAQD,EAASM,GmDtxEhCA,EAAA,IACAL,EAAAD,QAAAM,EAAA,GAAAma,OAAAC,WnD4xEM,SAASza,EAAQD,EAASM,GoD7xEhCA,EAAA,IACAL,EAAAD,QAAAM,EAAA,GAAAiD,OAAAmH,SpDmyEM,SAASzK,EAAQD,GqDpyEvBC,EAAAD,QAAA,SAAA+B,GACA,qBAAAA,GAAA,KAAAC,WAAAD,EAAA,sBACA,OAAAA,KrD2yEM,SAAS9B,EAAQD,GsD7yEvBC,EAAAD,QAAA,ctDmzEM,SAASC,EAAQD,EAASM,GuDjzEhC,GAAAqa,GAAAra,EAAA,IACAsa,EAAAta,EAAA,IACAua,EAAAva,EAAA,GACAL,GAAAD,QAAA,SAAA8a,GACA,gBAAAC,EAAAC,EAAAC,GACA,GAGA5Y,GAHAsD,EAAAgV,EAAAI,GACApY,EAAAiY,EAAAjV,EAAAhD,QACA6E,EAAAqT,EAAAI,EAAAtY,EAGA,IAAAmY,GAAAE,MAAA,KAAArY,EAAA6E,GAEA,GADAnF,EAAAsD,EAAA6B,KACAnF,KAAA,aAEK,MAAWM,EAAA6E,EAAeA,IAAA,IAAAsT,GAAAtT,IAAA7B,KAC/BA,EAAA6B,KAAAwT,EAAA,MAAAF,IAAAtT,GAAA,CACK,QAAAsT,GAAA,MvD2zEC,SAAS7a,EAAQD,EAASM,GwD70EhC,YACA,IAAA4a,GAAA5a,EAAA,IACA4B,EAAA5B,EAAA,GAEAL,GAAAD,QAAA,SAAAmC,EAAAqF,EAAAnF,GACAmF,IAAArF,GAAA+Y,EAAA5Y,EAAAH,EAAAqF,EAAAtF,EAAA,EAAAG,IACAF,EAAAqF,GAAAnF,IxDo1EM,SAASpC,EAAQD,EAASM,GyD11EhCL,EAAAD,QAAAM,EAAA,GAAA6C,mBAAA0P,iBzDg2EM,SAAS5S,EAAQD,EAASM,G0Dh2EhCL,EAAAD,SAAAM,EAAA,KAAAA,EAAA,eACA,MAAmG,IAAnGiD,OAAAC,eAAAlD,EAAA,gBAAsEmD,IAAA,WAAgB,YAAaC,K1Du2E7F,SAASzD,EAAQD,EAASM,G2Dv2EhC,GAAAoH,GAAApH,EAAA,GACAL,GAAAD,QAAAuD,OAAA,KAAA4X,qBAAA,GAAA5X,OAAA,SAAAxB,GACA,gBAAA2F,EAAA3F,KAAAwG,MAAA,IAAAhF,OAAAxB,K3D+2EM,SAAS9B,EAAQD,EAASM,G4Dj3EhC,GAAAsI,GAAAtI,EAAA,GACA0I,EAAA1I,EAAA,eACA8a,EAAA9U,MAAA+D,SAEApK,GAAAD,QAAA,SAAA+B,GACA,MAAAa,UAAAb,IAAA6G,EAAAtC,QAAAvE,GAAAqZ,EAAApS,KAAAjH,K5Dy3EM,SAAS9B,EAAQD,EAASM,G6D93EhC,GAAAwB,GAAAxB,EAAA,IACA0G,EAAAtF,KAAAsF,KACA/G,GAAAD,QAAA,SAAA+B,GACA,OAAAD,EAAAC,IAAAsZ,SAAAtZ,IAAAiF,EAAAjF,S7Ds4EM,SAAS9B,EAAQD,EAASM,G8Dz4EhC,GAAAkF,GAAAlF,EAAA,EACAL,GAAAD,QAAA,SAAAsb,EAAAnT,EAAA9F,EAAAqI,GACA,IACA,MAAAA,GAAAvC,EAAA3C,EAAAnD,GAAA,GAAAA,EAAA,IAAA8F,EAAA9F,GAEG,MAAAY,GACH,GAAAsY,GAAAD,EAAA,SAEA,MADA1Y,UAAA2Y,GAAA/V,EAAA+V,EAAA5a,KAAA2a,IACArY,K9Dk5EM,SAAShD,EAAQD,EAASM,G+D35EhC,YACA,IAAAkb,GAAAlb,EAAA,IACAmb,EAAAnb,EAAA,IACAwI,EAAAxI,EAAA,IACAyJ,IAGAzJ,GAAA,GAAAyJ,EAAAzJ,EAAA,0BAAgF,MAAAF,QAEhFH,EAAAD,QAAA,SAAAyJ,EAAAD,EAAAE,GACAD,EAAAY,UAAAmR,EAAAzR,GAAqDL,KAAA+R,EAAA,EAAA/R,KACrDZ,EAAAW,EAAAD,EAAA,e/Dk6EM,SAASvJ,EAAQD,EAASM,GgE76EhC,GAAA0I,GAAA1I,EAAA,eACAob,IAEA,KACA,GAAAC,IAAA,GAAA3S,IACA2S,GAAA,qBAA+BD,MAC/BpV,MAAAkU,KAAAmB,EAAA,WAA+B,UAC9B,MAAA1Y,IAEDhD,EAAAD,QAAA,SAAAwI,EAAAoT,GACA,IAAAA,IAAAF,EAAA,QACA,IAAAG,KACA,KACA,GAAAxV,IAAA,GACAyV,EAAAzV,EAAA2C,IACA8S,GAAApS,KAAA,WAA2B,OAASjC,KAAAoU,OACpCxV,EAAA2C,GAAA,WAA+B,MAAA8S,IAC/BtT,EAAAnC,GACG,MAAApD,IACH,MAAA4Y,KhEo7EM,SAAS5b,EAAQD,GiEv8EvBC,EAAAD,QAAA,SAAAyH,EAAApF,GACA,OAAUA,QAAAoF,YjE88EJ,SAASxH,EAAQD,GkE/8EvBC,EAAAD,YlEq9EM,SAASC,EAAQD,EAASM,GmEp9EhC,GAAAkF,GAAAlF,EAAA,GACAyb,EAAAzb,EAAA,IACAuK,EAAAvK,EAAA,IACA0b,EAAA1b,EAAA,gBACA2b,EAAA,aACApY,EAAA,YAGAqY,EAAA,WAEA,GAGAC,GAHAC,EAAA9b,EAAA,cACAkG,EAAAqE,EAAAlI,OACA0Z,EAAA,GAYA,KAVAD,EAAApJ,MAAAsJ,QAAA,OACAhc,EAAA,IAAAkN,YAAA4O,GACAA,EAAA3G,IAAA,cAGA0G,EAAAC,EAAAG,cAAApZ,SACAgZ,EAAAK,OACAL,EAAAM,MAAA,oCAAAJ,GACAF,EAAAO,QACAR,EAAAC,EAAA/X,EACAoC,WAAA0V,GAAArY,GAAAgH,EAAArE,GACA,OAAA0V,KAGAjc,GAAAD,QAAAuD,OAAAiY,QAAA,SAAA7V,EAAAgX,GACA,GAAAC,EAQA,OAPA,QAAAjX,GACAsW,EAAApY,GAAA2B,EAAAG,GACAiX,EAAA,GAAAX,GACAA,EAAApY,GAAA,KAEA+Y,EAAAZ,GAAArW,GACGiX,EAAAV,IACHtZ,SAAA+Z,EAAAC,EAAAb,EAAAa,EAAAD,KnE49EM,SAAS1c,EAAQD,EAASM,GoElgFhC,GAAA2B,GAAA3B,EAAA,IACAkF,EAAAlF,EAAA,GACAuc,EAAAvc,EAAA,GAEAL,GAAAD,QAAAM,EAAA,GAAAiD,OAAAuZ,iBAAA,SAAAnX,EAAAgX,GACAnX,EAAAG,EAKA,KAJA,GAGAjB,GAHAwE,EAAA2T,EAAAF,GACAha,EAAAuG,EAAAvG,OACA6D,EAAA,EAEA7D,EAAA6D,GAAAvE,EAAAK,EAAAqD,EAAAjB,EAAAwE,EAAA1C,KAAAmW,EAAAjY,GACA,OAAAiB,KpEygFM,SAAS1F,EAAQD,EAASM,GqEnhFhC,GAAAqI,GAAArI,EAAA,IACAyc,EAAAzc,EAAA,IACA0b,EAAA1b,EAAA,gBACA0c,EAAAzZ,OAAA8G,SAEApK,GAAAD,QAAAuD,OAAAwF,gBAAA,SAAApD,GAEA,MADAA,GAAAoX,EAAApX,GACAgD,EAAAhD,EAAAqW,GAAArW,EAAAqW,GACA,kBAAArW,GAAA8K,aAAA9K,eAAA8K,YACA9K,EAAA8K,YAAApG,UACG1E,YAAApC,QAAAyZ,EAAA,OrE2hFG,SAAS/c,EAAQD,EAASM,GsEtiFhC,GAAAqI,GAAArI,EAAA,IACAqa,EAAAra,EAAA,IACA2c,EAAA3c,EAAA,QACA0b,EAAA1b,EAAA,eAEAL,GAAAD,QAAA,SAAAmC,EAAA+a,GACA,GAGA9a,GAHAuD,EAAAgV,EAAAxY,GACAqE,EAAA,EACAoW,IAEA,KAAAxa,IAAAuD,GAAAvD,GAAA4Z,GAAArT,EAAAhD,EAAAvD,IAAAwa,EAAArC,KAAAnY,EAEA,MAAA8a,EAAAva,OAAA6D,GAAAmC,EAAAhD,EAAAvD,EAAA8a,EAAA1W,SACAyW,EAAAL,EAAAxa,IAAAwa,EAAArC,KAAAnY,GAEA,OAAAwa,KtE6iFM,SAAS3c,EAAQD,GuE5jFvBA,EAAAsC,KAAc6Y,sBvEkkFR,SAASlb,EAAQD,EAASM,GwElkFhC,GAAAuc,GAAAvc,EAAA,IACAqa,EAAAra,EAAA,IACA6c,EAAA7c,EAAA,IAAAgC,CACArC,GAAAD,QAAA,SAAAod,GACA,gBAAArb,GAOA,IANA,GAKAK,GALAuD,EAAAgV,EAAA5Y,GACAmH,EAAA2T,EAAAlX,GACAhD,EAAAuG,EAAAvG,OACA6D,EAAA,EACAoW,KAEAja,EAAA6D,GAAA2W,EAAAxc,KAAAgF,EAAAvD,EAAA8G,EAAA1C,OACAoW,EAAArC,KAAA6C,GAAAhb,EAAAuD,EAAAvD,IAAAuD,EAAAvD,GACK,OAAAwa,MxE0kFC,SAAS3c,EAAQD,EAASM,GyEvlFhCL,EAAAD,QAAAM,EAAA,IzE6lFM,SAASL,EAAQD,EAASM,G0E7lFhC,GAAA4K,GAAA5K,EAAA,IACAwF,EAAAxF,EAAA,GAGAL,GAAAD,QAAA,SAAAqd,GACA,gBAAAjV,EAAAkV,GACA,GAGA5Z,GAAAwB,EAHAqY,EAAApW,OAAArB,EAAAsC,IACA5B,EAAA0E,EAAAoS,GACAE,EAAAD,EAAA5a,MAEA,UAAA6D,MAAAgX,EAAAH,EAAA,GAAAza,QACAc,EAAA6Z,EAAAE,WAAAjX,GACA,MAAA9C,KAAA,OAAA8C,EAAA,IAAAgX,IAAAtY,EAAAqY,EAAAE,WAAAjX,EAAA,WAAAtB,EAAA,MACAmY,EAAAE,EAAAG,OAAAlX,GAAA9C,EACA2Z,EAAAE,EAAAtV,MAAAzB,IAAA,IAAA9C,EAAA,YAAAwB,EAAA,iB1EqmFM,SAASjF,EAAQD,EAASM,G2EnnFhC,GAAA4K,GAAA5K,EAAA,IACA4S,EAAAxR,KAAAwR,IACA/H,EAAAzJ,KAAAyJ,GACAlL,GAAAD,QAAA,SAAAwH,EAAA7E,GAEA,MADA6E,GAAA0D,EAAA1D,GACA,EAAAA,EAAA0L,EAAA1L,EAAA7E,EAAA,GAAAwI,EAAA3D,EAAA7E,K3E0nFM,SAAS1C,EAAQD,EAASM,G4E9nFhC,GAAAwB,GAAAxB,EAAA,GAGAL,GAAAD,QAAA,SAAA+B,EAAAyC,GACA,IAAA1C,EAAAC,GAAA,MAAAA,EACA,IAAAoG,GAAAwV,CACA,IAAAnZ,GAAA,mBAAA2D,EAAApG,EAAAiG,YAAAlG,EAAA6b,EAAAxV,EAAAxH,KAAAoB,IAAA,MAAA4b,EACA,uBAAAxV,EAAApG,EAAA6b,WAAA9b,EAAA6b,EAAAxV,EAAAxH,KAAAoB,IAAA,MAAA4b,EACA,KAAAnZ,GAAA,mBAAA2D,EAAApG,EAAAiG,YAAAlG,EAAA6b,EAAAxV,EAAAxH,KAAAoB,IAAA,MAAA4b,EACA,MAAA3b,WAAA,6C5EsoFM,SAAS/B,EAAQD,EAASM,G6EhpFhC,GAAAkF,GAAAlF,EAAA,GACAmD,EAAAnD,EAAA,GACAL,GAAAD,QAAAM,EAAA,GAAAud,YAAA,SAAA9b,GACA,GAAA+b,GAAAra,EAAA1B,EACA,sBAAA+b,GAAA,KAAA9b,WAAAD,EAAA,oBACA,OAAAyD,GAAAsY,EAAAnd,KAAAoB,M7EupFM,SAAS9B,EAAQD,EAASM,G8E5pFhC,GAAAiL,GAAAjL,EAAA,IACA0I,EAAA1I,EAAA,eACAsI,EAAAtI,EAAA,EACAL,GAAAD,QAAAM,EAAA,GAAAyd,WAAA,SAAAhc,GACA,GAAA4D,GAAApC,OAAAxB,EACA,OAAAa,UAAA+C,EAAAqD,IACA,cAAArD,IACAiD,EAAArD,eAAAgG,EAAA5F,M9EmqFM,SAAS1F,EAAQD,EAASM,G+E1qFhC,YACA,IAAAqD,GAAArD,EAAA,IACAwD,EAAAxD,EAAA,GACAyc,EAAAzc,EAAA,IACAK,EAAAL,EAAA,IACA0d,EAAA1d,EAAA,IACAsa,EAAAta,EAAA,IACA2d,EAAA3d,EAAA,IACA4d,EAAA5d,EAAA,GAEAwD,KAAAU,EAAAV,EAAAM,GAAA9D,EAAA,aAAAwb,GAA0ExV,MAAAkU,KAAAsB,KAAoB,SAE9FtB,KAAA,SAAA2D,GACA,GAOAxb,GAAAia,EAAAwB,EAAA9C,EAPA3V,EAAAoX,EAAAoB,GACAlZ,EAAA,kBAAA7E,WAAAkG,MACA+X,EAAA3b,UAAAC,OACA2b,EAAAD,EAAA,EAAA3b,UAAA,GAAAE,OACA2b,EAAA3b,SAAA0b,EACA9W,EAAA,EACAsW,EAAAI,EAAAvY,EAIA,IAFA4Y,IAAAD,EAAA3a,EAAA2a,EAAAD,EAAA,EAAA3b,UAAA,GAAAE,OAAA,IAEAA,QAAAkb,GAAA7Y,GAAAqB,OAAA0X,EAAAF,GAMA,IADAnb,EAAAiY,EAAAjV,EAAAhD,QACAia,EAAA,GAAA3X,GAAAtC,GAAiCA,EAAA6E,EAAgBA,IACjDyW,EAAArB,EAAApV,EAAA+W,EAAAD,EAAA3Y,EAAA6B,MAAA7B,EAAA6B,QANA,KAAA8T,EAAAwC,EAAAnd,KAAAgF,GAAAiX,EAAA,GAAA3X,KAAoDmZ,EAAA9C,EAAA5R,QAAAjC,KAAgCD,IACpFyW,EAAArB,EAAApV,EAAA+W,EAAA5d,EAAA2a,EAAAgD,GAAAF,EAAA/b,MAAAmF,OAAA4W,EAAA/b,MASA,OADAua,GAAAja,OAAA6E,EACAoV,M/EmrFM,SAAS3c,EAAQD,EAASM,GgFrtFhC,YACA,IAAAke,GAAAle,EAAA,IACA8d,EAAA9d,EAAA,IACAsI,EAAAtI,EAAA,GACAqa,EAAAra,EAAA,GAMAL,GAAAD,QAAAM,EAAA,IAAAgG,MAAA,iBAAAc,EAAA6C,GACA7J,KAAAiH,GAAAsT,EAAAvT,GACAhH,KAAAkH,GAAA,EACAlH,KAAAqe,GAAAxU,GAEC,WACD,GAAAtE,GAAAvF,KAAAiH,GACA4C,EAAA7J,KAAAqe,GACAjX,EAAApH,KAAAkH,IACA,QAAA3B,GAAA6B,GAAA7B,EAAAhD,QACAvC,KAAAiH,GAAAzE,OACAwb,EAAA,IAEA,QAAAnU,EAAAmU,EAAA,EAAA5W,GACA,UAAAyC,EAAAmU,EAAA,EAAAzY,EAAA6B,IACA4W,EAAA,GAAA5W,EAAA7B,EAAA6B,MACC,UAGDoB,EAAA8V,UAAA9V,EAAAtC,MAEAkY,EAAA,QACAA,EAAA,UACAA,EAAA,YhF2tFM,SAASve,EAAQD,EAASM,GiF3vFhC,GAAAwD,GAAAxD,EAAA,EAEAwD,KAAAU,EAAA,UAA8BkW,UAAApa,EAAA,OjFkwFxB,SAASL,EAAQD,EAASM,GkFpwFhC,GAAAwD,GAAAxD,EAAA,GACAkK,EAAAlK,EAAA,OAEAwD,KAAAU,EAAA,UACAkG,QAAA,SAAA3I,GACA,MAAAyI,GAAAzI,OlF6wFM,SAAS9B,EAAQD","file":"mdl-ext.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(82);\n\tmodule.exports = __webpack_require__(37);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(30)('wks')\n\t , uid = __webpack_require__(33)\n\t , Symbol = __webpack_require__(3).Symbol\n\t , USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function(name){\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = {version: '2.3.0'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {};\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(11);\n\tmodule.exports = function(it){\n\t if(!isObject(it))throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(12)\n\t , createDesc = __webpack_require__(16);\n\tmodule.exports = __webpack_require__(8) ? function(object, key, value){\n\t return dP.f(object, key, createDesc(1, value));\n\t} : function(object, key, value){\n\t object[key] = value;\n\t return object;\n\t};\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.createCustomEvent = createCustomEvent;\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t/**\n\t * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n\t * Since I do not care too much about IE11, a brute force approach is sufficient.\n\t *\n\t * @param {string} typeArg Is a String representing the name of the event.\n\t * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n\t * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n\t * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n\t * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n\t */\n\t\n\tfunction createCustomEvent(typeArg) {\n\t 'use strict';\n\t\n\t var customEventInit = arguments.length <= 1 || arguments[1] === undefined ? { bubbles: false, cancelable: false, detail: null } : arguments[1];\n\t try {\n\t // Modern browsers\n\t return new window.CustomEvent(typeArg, customEventInit);\n\t } catch (e) {\n\t // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n\t // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n\t var ce = document.createEvent('CustomEvent');\n\t ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\t\n\t ce.preventDefault = function () {\n\t Object.defineProperty(this, 'defaultPrevented', {\n\t get: function get() {\n\t return true;\n\t }\n\t });\n\t };\n\t return ce;\n\t }\n\t // Let old browsers throw whatewer they want to throw\n\t}\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(26)(function(){\n\t return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(3)\n\t , core = __webpack_require__(2)\n\t , ctx = __webpack_require__(23)\n\t , hide = __webpack_require__(6)\n\t , PROTOTYPE = 'prototype';\n\t\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , expProto = exports[PROTOTYPE]\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(a, b, c){\n\t if(this instanceof C){\n\t switch(arguments.length){\n\t case 0: return new C;\n\t case 1: return new C(a);\n\t case 2: return new C(a, b);\n\t } return new C(a, b, c);\n\t } return C.apply(this, arguments);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n\t if(IS_PROTO){\n\t (exports.virtual || (exports.virtual = {}))[key] = out;\n\t // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n\t if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n\t }\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library` \n\tmodule.exports = $export;\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function(it, key){\n\t return hasOwnProperty.call(it, key);\n\t};\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(5)\n\t , IE8_DOM_DEFINE = __webpack_require__(57)\n\t , toPrimitive = __webpack_require__(75)\n\t , dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes){\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if(IE8_DOM_DEFINE)try {\n\t return dP(O, P, Attributes);\n\t } catch(e){ /* empty */ }\n\t if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n\t if('value' in Attributes)O[P] = Attributes.value;\n\t return O;\n\t};\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(58)\n\t , defined = __webpack_require__(15);\n\tmodule.exports = function(it){\n\t return IObject(defined(it));\n\t};\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _from = __webpack_require__(42);\n\t\n\tvar _from2 = _interopRequireDefault(_from);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (arr) {\n\t if (Array.isArray(arr)) {\n\t for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n\t arr2[i] = arr[i];\n\t }\n\t\n\t return arr2;\n\t } else {\n\t return (0, _from2.default)(arr);\n\t }\n\t};\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(bitmap, value){\n\t return {\n\t enumerable : !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable : !(bitmap & 4),\n\t value : value\n\t };\n\t};\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(30)('keys')\r\n\t , uid = __webpack_require__(33);\r\n\tmodule.exports = function(key){\r\n\t return shared[key] || (shared[key] = uid(key));\r\n\t};\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil\n\t , floor = Math.floor;\n\tmodule.exports = function(it){\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(73)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(27)(String, 'String', function(iterated){\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , index = this._i\n\t , point;\n\t if(index >= O.length)return {value: undefined, done: true};\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return {value: point, done: false};\n\t});\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(48), __esModule: true };\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(22)\n\t , TAG = __webpack_require__(1)('toStringTag')\n\t // ES3 wrong here\n\t , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function(it, key){\n\t try {\n\t return it[key];\n\t } catch(e){ /* empty */ }\n\t};\n\t\n\tmodule.exports = function(it){\n\t var O, T, B;\n\t return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t // @@toStringTag case\n\t : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t // builtinTag case\n\t : ARG ? cof(O)\n\t // ES3 arguments fallback\n\t : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function(it){\n\t return toString.call(it).slice(8, -1);\n\t};\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(52);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(11)\n\t , document = __webpack_require__(3).document\n\t // in old IE typeof document.createElement is 'object'\n\t , is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function(it){\n\t return is ? document.createElement(it) : {};\n\t};\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t// IE 8- don't enum bug keys\r\n\tmodule.exports = (\r\n\t 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n\t).split(',');\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(65)\n\t , $export = __webpack_require__(9)\n\t , redefine = __webpack_require__(72)\n\t , hide = __webpack_require__(6)\n\t , has = __webpack_require__(10)\n\t , Iterators = __webpack_require__(4)\n\t , $iterCreate = __webpack_require__(62)\n\t , setToStringTag = __webpack_require__(29)\n\t , getPrototypeOf = __webpack_require__(68)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n\t , FF_ITERATOR = '@@iterator'\n\t , KEYS = 'keys'\n\t , VALUES = 'values';\n\t\n\tvar returnThis = function(){ return this; };\n\t\n\tmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function(kind){\n\t if(!BUGGY && kind in proto)return proto[kind];\n\t switch(kind){\n\t case KEYS: return function keys(){ return new Constructor(this, kind); };\n\t case VALUES: return function values(){ return new Constructor(this, kind); };\n\t } return function entries(){ return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator'\n\t , DEF_VALUES = DEFAULT == VALUES\n\t , VALUES_BUG = false\n\t , proto = Base.prototype\n\t , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n\t , $default = $native || getMethod(DEFAULT)\n\t , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n\t , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n\t , methods, key, IteratorPrototype;\n\t // Fix native\n\t if($anyNative){\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n\t if(IteratorPrototype !== Object.prototype){\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if(DEF_VALUES && $native && $native.name !== VALUES){\n\t VALUES_BUG = true;\n\t $default = function values(){ return $native.call(this); };\n\t }\n\t // Define iterator\n\t if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if(DEFAULT){\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if(FORCED)for(key in methods){\n\t if(!(key in proto))redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\n\tvar $keys = __webpack_require__(69)\r\n\t , enumBugKeys = __webpack_require__(25);\r\n\t\r\n\tmodule.exports = Object.keys || function keys(O){\r\n\t return $keys(O, enumBugKeys);\r\n\t};\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(12).f\n\t , has = __webpack_require__(10)\n\t , TAG = __webpack_require__(1)('toStringTag');\n\t\n\tmodule.exports = function(it, tag, stat){\n\t if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n\t};\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(3)\n\t , SHARED = '__core-js_shared__'\n\t , store = global[SHARED] || (global[SHARED] = {});\n\tmodule.exports = function(key){\n\t return store[key] || (store[key] = {});\n\t};\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(18)\n\t , min = Math.min;\n\tmodule.exports = function(it){\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(15);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\tvar id = 0\n\t , px = Math.random();\n\tmodule.exports = function(key){\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(21)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , Iterators = __webpack_require__(4);\n\tmodule.exports = __webpack_require__(2).getIteratorMethod = function(it){\n\t if(it != undefined)return it[ITERATOR]\n\t || it['@@iterator']\n\t || Iterators[classof(it)];\n\t};\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(79);\n\tvar global = __webpack_require__(3)\n\t , hide = __webpack_require__(6)\n\t , Iterators = __webpack_require__(4)\n\t , TO_STRING_TAG = __webpack_require__(1)('toStringTag');\n\t\n\tfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n\t var NAME = collections[i]\n\t , Collection = global[NAME]\n\t , proto = Collection && Collection.prototype;\n\t if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = Iterators.Array;\n\t}\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var RIPPLE_COMPONENT = 'MaterialRipple';\n\t var VK_TAB = 9;\n\t var VK_ENTER = 13;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var PANEL = 'mdlext-accordion__panel';\n\t var HEADER = 'mdlext-accordion__panel__header';\n\t var HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n\t var IS_UPGRADED = 'is-upgraded';\n\t var RIPPLE = 'mdl-ripple';\n\t var RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n\t var RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n\t var RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\t\n\t /**\n\t * Class constructor for Accordion MDLEXT component.\n\t * Implements MDL component design pattern defined at:\n\t * https://github.com/jasonmayes/mdl-component-design-pattern\n\t *\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtAccordion = function MaterialExtAccordion(element) {\n\t // Stores the Accordion HTML element.\n\t this.element_ = element;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t\n\t window['MaterialExtAccordion'] = MaterialExtAccordion;\n\t\n\t /**\n\t * Handles custom command event, 'open', 'close', or 'toggle'\n\t * @param event. A custom event\n\t * @private\n\t */\n\t MaterialExtAccordion.prototype.commandHandler_ = function (event) {\n\t var _this = this;\n\t\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (event.detail && event.detail.action) {\n\t (function () {\n\t var action = event.detail.action.toLowerCase();\n\t\n\t if ('open' === action || 'close' === action || 'toggle' === action) {\n\t\n\t if (event.detail.target === undefined) {\n\t\n\t if (_this.element_.hasAttribute('aria-multiselectable') && 'false' !== _this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\t\n\t [].concat((0, _toConsumableArray3.default)(_this.element_.querySelectorAll('.' + PANEL))).forEach(function (panel) {\n\t panel.dispatchEvent((0, _customEvent.createCustomEvent)('command_', {\n\t detail: { action: action }\n\t }));\n\t });\n\t }\n\t } else if (event.detail.target !== null) {\n\t\n\t event.detail.target.dispatchEvent(\n\t // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n\t (0, _customEvent.createCustomEvent)('command_', {\n\t bubbles: true, detail: { action: action }\n\t }));\n\t }\n\t }\n\t })();\n\t }\n\t };\n\t\n\t /**\n\t * Initialize accordion's panels\n\t *\n\t * @private\n\t */\n\t MaterialExtAccordion.prototype.initAccordion_ = function () {\n\t var _this2 = this;\n\t\n\t this.element_.setAttribute('role', 'tablist');\n\t\n\t if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n\t this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\t }\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + PANEL))).forEach(function (panel) {\n\t new MaterialExtAccordionPanel(panel, _this2);\n\t });\n\t\n\t this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\t\n\t this.element_.classList.add(IS_UPGRADED);\n\t };\n\t\n\t /**\n\t * Initialize Accordion element.\n\t */\n\t MaterialExtAccordion.prototype.init = function () {\n\t if (this.element_) {\n\t this.initAccordion_();\n\t }\n\t };\n\t\n\t /**\n\t * Constructor for an individual accordion panel.\n\t *\n\t * @constructor\n\t * @param {Element} panel The HTML element for the tab.\n\t * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n\t */\n\t function MaterialExtAccordionPanel(panel, ctx) {\n\t\n\t var header = panel.querySelector('.' + HEADER);\n\t if (header === null) {\n\t throw new Error('There must be a header element for each accordion panel.');\n\t }\n\t\n\t header.setAttribute('role', 'tab');\n\t\n\t var a = header.querySelector('a.' + HEADER_TABSTOP);\n\t if (a === null) {\n\t // An anchor is required for focus/tab stop\n\t a = document.createElement('a');\n\t a.href = '#';\n\t a.classList.add(HEADER_TABSTOP);\n\t header.appendChild(a);\n\t }\n\t\n\t panel.setAttribute('role', 'tabpanel');\n\t\n\t if (panel.hasAttribute('open')) {\n\t header.setAttribute('aria-expanded', '');\n\t } else {\n\t header.setAttribute('aria-hidden', '');\n\t }\n\t\n\t if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n\t var rippleContainer = a;\n\t rippleContainer.classList.add(RIPPLE_CONTAINER);\n\t rippleContainer.classList.add(RIPPLE_EFFECT);\n\t var ripple = document.createElement('span');\n\t ripple.classList.add(RIPPLE);\n\t rippleContainer.appendChild(ripple);\n\t componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n\t }\n\t\n\t header.addEventListener('click', function (event) {\n\t\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (!panel.hasAttribute('disabled')) {\n\t\n\t if (panel.hasAttribute('open')) {\n\t\n\t closePanel(panel, header);\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('close', panel, ctx.element_);\n\t } else {\n\t if (ctx.element_.hasAttribute('aria-multiselectable') && 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\t\n\t var _openPanel = ctx.element_.querySelector('.' + PANEL + '[open]');\n\t if (_openPanel) {\n\t closePanel(_openPanel, _openPanel.querySelector('.' + HEADER));\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('close', _openPanel, ctx.element_);\n\t }\n\t removeAriaSelectedAttribute();\n\t }\n\t\n\t openPanel(panel, header);\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('open', panel, ctx.element_);\n\t }\n\t focus(panel);\n\t }\n\t }, true);\n\t\n\t header.addEventListener('keydown', function (event) {\n\t if (event.keyCode === VK_TAB || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t var panels = panel.parentNode.children;\n\t var nextPanel = null;\n\t var n = panel.parentNode.childElementCount - 1;\n\t\n\t for (var i = 0; i <= n; i++) {\n\t\n\t if (event.keyCode === VK_HOME) {\n\t nextPanel = panels[0];\n\t break;\n\t } else if (event.keyCode === VK_END) {\n\t nextPanel = panels[n];\n\t break;\n\t }\n\t\n\t if (panels[i] == panel) {\n\t if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t nextPanel = i > 0 ? panels[i - 1] : panels[n];\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t nextPanel = i < n ? panels[i + 1] : panels[0];\n\t } else if (event.keyCode === VK_TAB) {\n\t if (event.shiftKey) {\n\t if (i > 0 && !panels[i - 1].hasAttribute('open')) {\n\t nextPanel = panels[i - 1];\n\t }\n\t } else if (i < n) {\n\t if (!panel.hasAttribute('open')) {\n\t nextPanel = panels[i + 1];\n\t }\n\t }\n\t } else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t // Trigger mouse click event for any attached listeners.\n\t var evt = new MouseEvent('click', {\n\t bubbles: true,\n\t cancelable: true,\n\t view: window\n\t });\n\t header.dispatchEvent(evt);\n\t }\n\t break;\n\t }\n\t }\n\t if (nextPanel) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t focus(nextPanel);\n\t }\n\t }\n\t }, true);\n\t\n\t panel.addEventListener('command_', function (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (event.detail && event.detail.action) {\n\t var action = event.detail.action.toLowerCase();\n\t switch (action) {\n\t case 'open':\n\t openPanel(panel, header);\n\t break;\n\t case 'close':\n\t closePanel(panel, header);\n\t break;\n\t case 'toggle':\n\t togglePanel(panel, header);\n\t break;\n\t }\n\t }\n\t });\n\t\n\t function togglePanel(panel, header) {\n\t if (panel.hasAttribute('open')) {\n\t closePanel(panel, header);\n\t } else {\n\t openPanel(panel, header);\n\t }\n\t }\n\t\n\t function openPanel(panel, header) {\n\t if (!panel.hasAttribute('disabled')) {\n\t panel.setAttribute('open', '');\n\t header.setAttribute('aria-expanded', '');\n\t header.setAttribute('aria-selected', '');\n\t header.removeAttribute('aria-hidden', '');\n\t }\n\t }\n\t\n\t function closePanel(panel, header) {\n\t if (!panel.hasAttribute('disabled')) {\n\t panel.removeAttribute('open');\n\t header.removeAttribute('aria-expanded');\n\t header.setAttribute('aria-hidden', '');\n\t }\n\t }\n\t\n\t function removeAriaSelectedAttribute() {\n\t var selectedHeader = ctx.element_.querySelector('.' + HEADER + '[aria-selected]');\n\t if (selectedHeader) {\n\t selectedHeader.removeAttribute('aria-selected');\n\t }\n\t }\n\t\n\t function focus(nextPanel) {\n\t var a = nextPanel.querySelector('.' + HEADER + ' a');\n\t if (a) {\n\t removeAriaSelectedAttribute();\n\t a.focus();\n\t nextPanel.querySelector('.' + HEADER).setAttribute('aria-selected', '');\n\t }\n\t }\n\t\n\t function dispatchToggleEvent(state, source, target) {\n\t var evt = (0, _customEvent.createCustomEvent)('toggle', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: { state: state, source: source }\n\t });\n\t target.dispatchEvent(evt);\n\t }\n\t }\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t componentHandler.register({\n\t constructor: MaterialExtAccordion,\n\t classAsString: 'MaterialExtAccordion',\n\t cssClass: 'mdlext-js-accordion',\n\t widget: true\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * A WAI-ARIA friendly accordion component.\n\t * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n\t * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n\t * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n\t * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n\t * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n\t */\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t__webpack_require__(7);\n\t\n\t__webpack_require__(41);\n\t\n\t__webpack_require__(40);\n\t\n\t__webpack_require__(36);\n\t\n\t__webpack_require__(38);\n\t\n\t__webpack_require__(39);\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var VK_TAB = 9;\n\t var VK_ENTER = 13;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var LIGHTBOARD = 'mdlext-lightboard';\n\t var SLIDE = 'mdlext-lightboard__slide';\n\t var SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n\t var RIPPLE_COMPONENT = 'MaterialRipple';\n\t var RIPPLE = 'mdl-ripple';\n\t var RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n\t var RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n\t var RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\t\n\t /**\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtLightboard = function MaterialExtLightboard(element) {\n\t // Stores the element.\n\t this.element_ = element;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t window['MaterialExtLightboard'] = MaterialExtLightboard;\n\t\n\t /**\n\t * Initialize lightboard slides\n\t *\n\t * @private\n\t */\n\t MaterialExtLightboard.prototype.initLightboard_ = function () {\n\t\n\t this.element_.setAttribute('role', 'grid');\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + SLIDE))).forEach(function (slide) {\n\t return slide.setAttribute('role', 'cell');\n\t });\n\t\n\t if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n\t this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + SLIDE))).forEach(function (slide) {\n\t return addRipple(slide);\n\t });\n\t }\n\t\n\t /**\n\t * Trigger when user cliks on a slide\n\t */\n\t this.element_.addEventListener('click', function (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t var slide = getSlide(event.target);\n\t\n\t if (event.target !== this) {\n\t focus(slide);\n\t\n\t // Remove 'aria-selected' attribute\n\t [].concat((0, _toConsumableArray3.default)(this.children)) // Should I use querySelectorAll ???\n\t .filter(function (panel) {\n\t return panel.hasAttribute('aria-selected');\n\t }).forEach(function (selected) {\n\t return selected.removeAttribute('aria-selected');\n\t });\n\t\n\t // Set 'aria-selected' on current slide\n\t slide.setAttribute('aria-selected', '');\n\t\n\t var evt = (0, _customEvent.createCustomEvent)('select', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: { source: slide }\n\t });\n\t this.dispatchEvent(evt);\n\t }\n\t }.bind(this.element_), true);\n\t\n\t /**\n\t * Trigger when user presses a keboard key\n\t */\n\t this.element_.addEventListener('keydown', function (event) {\n\t // Maybe this function should be throttled??\n\t if (event.keyCode === VK_TAB || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t if (event.target !== this) {\n\t var panel = getSlide(event.target);\n\t var panels = this.children;\n\t var nextPanel = null;\n\t var n = this.childElementCount - 1;\n\t\n\t for (var i = 0; i <= n; i++) {\n\t if (event.keyCode === VK_HOME) {\n\t nextPanel = panels[0];\n\t break;\n\t } else if (event.keyCode === VK_END) {\n\t nextPanel = panels[n];\n\t break;\n\t }\n\t\n\t if (panels[i] === panel) {\n\t if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t nextPanel = i > 0 ? panels[i - 1] : panels[n];\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t nextPanel = i < n ? panels[i + 1] : panels[0];\n\t } else if (event.keyCode === VK_TAB) {\n\t if (event.shiftKey) {\n\t if (i > 0) {\n\t nextPanel = panels[i - 1];\n\t }\n\t } else if (i < n) {\n\t nextPanel = panels[i + 1];\n\t }\n\t } else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t // Trigger mouse click event for any attached listeners.\n\t var evt = new MouseEvent('click', {\n\t bubbles: true,\n\t cancelable: true,\n\t view: window\n\t });\n\t panel.dispatchEvent(evt);\n\t }\n\t break;\n\t }\n\t }\n\t if (nextPanel) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t focus(nextPanel);\n\t }\n\t }\n\t }\n\t }.bind(this.element_), true);\n\t\n\t this.element_.classList.add(IS_UPGRADED);\n\t };\n\t\n\t function getSlide(element) {\n\t if (!element || element.classList.contains(LIGHTBOARD)) {\n\t return null;\n\t }\n\t return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n\t }\n\t\n\t function focus(slide) {\n\t if (slide) {\n\t var a = slide.querySelector('a.' + SLIDE_TABSTOP);\n\t if (a) {\n\t a.focus();\n\t }\n\t }\n\t }\n\t\n\t function addRipple(slide) {\n\t // Use anchor as ripple container\n\t var a = slide.querySelector('a.' + SLIDE_TABSTOP);\n\t if (a) {\n\t var rippleContainer = a;\n\t rippleContainer.classList.add(RIPPLE_CONTAINER);\n\t rippleContainer.classList.add(RIPPLE_EFFECT);\n\t var ripple = document.createElement('span');\n\t ripple.classList.add(RIPPLE);\n\t rippleContainer.appendChild(ripple);\n\t componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n\t }\n\t }\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtLightboard.prototype.init = function () {\n\t if (this.element_) {\n\t this.initLightboard_();\n\t }\n\t };\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t /* jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtLightboard,\n\t classAsString: 'MaterialExtLightboard',\n\t cssClass: 'mdlext-js-lightboard',\n\t widget: true\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * A lightboard is a translucent surface illuminated from behind, used for situations\n\t * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n\t * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n\t * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n\t */\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _isInteger = __webpack_require__(44);\n\t\n\tvar _isInteger2 = _interopRequireDefault(_isInteger);\n\t\n\tvar _slicedToArray2 = __webpack_require__(46);\n\t\n\tvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\t\n\tvar _entries = __webpack_require__(45);\n\t\n\tvar _entries2 = _interopRequireDefault(_entries);\n\t\n\tvar _getIterator2 = __webpack_require__(20);\n\t\n\tvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var VK_ESC = 27;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var LIGHTBOX_CLASS = 'mdlext-lightbox';\n\t var STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n\t var BUTTON_CLASS = 'mdl-button';\n\t\n\t /**\n\t * https://github.com/google/material-design-lite/issues/4205\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtLightbox = function MaterialExtLightbox(element) {\n\t // Stores the element.\n\t this.element_ = element;\n\t\n\t // false: allow rAF to be called, true: blocks rAF\n\t this.drawing_ = false;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t window['MaterialExtLightbox'] = MaterialExtLightbox;\n\t\n\t /**\n\t * Handle keypress\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.keyDownHandler_ = function (event) {\n\t\n\t if (event) {\n\t if (event.keyCode === VK_ESC || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t if (event.keyCode !== VK_ESC) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t }\n\t\n\t var action = 'first';\n\t if (event.keyCode === VK_END) {\n\t action = 'last';\n\t } else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t action = 'prev';\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t action = 'next';\n\t } else if (event.keyCode === VK_SPACE) {\n\t action = 'select';\n\t } else if (event.keyCode === VK_ESC) {\n\t action = 'cancel';\n\t }\n\t\n\t dispatchAction_(action, this);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Handle button clicks\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.buttonClickHandler_ = function (event) {\n\t\n\t if (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t dispatchAction_(this.getAttribute('data-action') || '', this);\n\t\n\t var n = this;\n\t while ((n = n.parentNode) != null) {\n\t if (n.classList.contains(LIGHTBOX_CLASS)) {\n\t n.focus();\n\t break;\n\t }\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Dispatches an action custom event\n\t * @param action\n\t * @param source\n\t * @param target\n\t * @private\n\t */\n\t function dispatchAction_(action, source) {\n\t var target = arguments.length <= 2 || arguments[2] === undefined ? source : arguments[2];\n\t\n\t\n\t target.dispatchEvent((0, _customEvent.createCustomEvent)('action', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: {\n\t action: action || '',\n\t source: source\n\t }\n\t }));\n\t }\n\t\n\t /**\n\t * Reposition dialog if component parent element is \"DIALOG\"\n\t * @param lightboxElement\n\t * @private\n\t */\n\t function repositionDialog_(lightboxElement) {\n\t var footerHeight = function footerHeight(footer, isSticky) {\n\t return isSticky && footer ? footer.offsetHeight : 0;\n\t };\n\t\n\t var reposition = function reposition(dialog, fh) {\n\t if (window.getComputedStyle(dialog).position === 'absolute') {\n\t var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n\t var topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n\t dialog.style.top = Math.max(scrollTop, topValue) + 'px';\n\t }\n\t };\n\t\n\t var dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n\t if (dialog && dialog.hasAttribute('open')) {\n\t lightboxElement.style.width = 'auto';\n\t lightboxElement.style.maxWidth = '100%';\n\t var img = lightboxElement.querySelector('img');\n\t if (img) {\n\t lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? img.naturalWidth + 'px' : img.width + 'px' || '100%';\n\t }\n\t\n\t var fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n\t var vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n\t if (dialog.offsetHeight > vh) {\n\t var n = 0;\n\t while (dialog.offsetHeight > vh && ++n < 4) {\n\t lightboxElement.style.width = lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight + 'px';\n\t }\n\t }\n\t reposition(dialog, fh);\n\t }\n\t }\n\t\n\t /**\n\t * Handle image load\n\t * @param event\n\t * @private\n\t */\n\t\n\t MaterialExtLightbox.prototype.imgLoadHandler_ = function () /*event*/{\n\t repositionDialog_(this);\n\t };\n\t\n\t /**\n\t * Handle image drag\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.imgDragHandler_ = function (event) {\n\t\n\t var setStyles = function setStyles(element, properties) {\n\t //noinspection JSAnnotator\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = (0, _getIterator3.default)((0, _entries2.default)(properties)), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var _step$value = (0, _slicedToArray3.default)(_step.value, 2);\n\t\n\t var key = _step$value[0];\n\t var value = _step$value[1];\n\t\n\t element.style[key] = value;\n\t }\n\t // ... or:\n\t //for (const key in properties) {\n\t // element.style[key] = properties[key];\n\t //}\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t };\n\t\n\t event.preventDefault();\n\t //event.stopPropagation();\n\t\n\t var x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\t\n\t var img = this;\n\t img.style.opacity = '0.2';\n\t\n\t var slider = document.createElement('div');\n\t slider.classList.add('mdlext-lightbox__slider');\n\t setStyles(slider, { 'width': img.offsetWidth + 'px', 'height': img.offsetHeight + 'px' });\n\t\n\t var slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t slide.textContent = '>';\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'line-height': img.offsetHeight + 'px',\n\t 'font-size': img.offsetHeight / 4 + 'px',\n\t 'text-align': 'right',\n\t 'background-image': 'url(\"' + (img.getAttribute('data-img-url-prev') || '') + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'background-image': 'url(\"' + img.src + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t slide.textContent = '<';\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'line-height': img.offsetHeight + 'px',\n\t 'font-size': img.offsetHeight / 4 + 'px',\n\t 'text-align': 'left',\n\t 'background-image': 'url(\"' + (img.getAttribute('data-img-url-next') || '') + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t img.parentNode.appendChild(slider);\n\t\n\t // drag handler\n\t var drag = function drag(e) {\n\t e.preventDefault();\n\t var dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\t\n\t if (slider.offsetWidth - Math.abs(dx) > 19) {\n\t slider.style.left = dx + 'px';\n\t }\n\t };\n\t\n\t // end drag handler\n\t var endDrag = function endDrag(e) {\n\t e.preventDefault();\n\t //e.stopPropagation();\n\t\n\t window.removeEventListener('mousemove', drag);\n\t window.removeEventListener('touchmove', drag);\n\t window.removeEventListener('mouseup', endDrag);\n\t window.removeEventListener('touchend', endDrag);\n\t\n\t var dx = slider.offsetLeft;\n\t img.parentNode.removeChild(slider);\n\t img.style.opacity = '1.0';\n\t\n\t if (Math.abs(dx) > 19) {\n\t dispatchAction_(dx > 0 ? 'prev' : 'next', img);\n\t }\n\t };\n\t\n\t window.addEventListener('mousemove', drag);\n\t window.addEventListener('touchmove', drag);\n\t window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n\t window.addEventListener('touchend', endDrag);\n\t };\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtLightbox.prototype.init = function () {\n\t var _this = this;\n\t\n\t if (this.element_) {\n\t // Do the init required for this component to work\n\t this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\t\n\t if (!(0, _isInteger2.default)(this.element_.getAttribute('tabindex'))) {\n\t this.element_.setAttribute('tabindex', 1);\n\t }\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + BUTTON_CLASS))).forEach(function (button) {\n\t return button.addEventListener('click', _this.buttonClickHandler_.bind(button), false);\n\t });\n\t\n\t var figcaption = this.element_.querySelector('figcaption');\n\t if (figcaption) {\n\t figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n\t }\n\t\n\t var footer = this.element_.querySelector('footer');\n\t if (footer) {\n\t footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n\t }\n\t\n\t var img = this.element_.querySelector('img');\n\t if (img) {\n\t img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n\t img.addEventListener('click', function (e) {\n\t return e.preventDefault();\n\t }, true);\n\t img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n\t img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n\t }\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t window.addEventListener('resize', function () {\n\t if (!_this.drawing_) {\n\t // Assumes MDL has polyfilled rAF\n\t window.requestAnimationFrame(function () {\n\t repositionDialog_(_this.element_);\n\t _this.drawing_ = false;\n\t });\n\t }\n\t _this.drawing_ = true;\n\t });\n\t\n\t window.addEventListener('orientationchange', function () {\n\t return repositionDialog_(_this.element_);\n\t });\n\t\n\t // Set upgraded flag\n\t this.element_.classList.add(IS_UPGRADED);\n\t }\n\t };\n\t\n\t /*\n\t * Downgrade component\n\t * E.g remove listeners and clean up resources\n\t * Note: There is a bug i material component container; downgrade is never called!\n\t * Disables method temporarly to keep code coverage at 100% for functions.\n\t *\n\t MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\t if (this.element_) {\n\t [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n\t button => button.removeEventListener('click', this.buttonClickHandler_)\n\t );\n\t this.element_.removeEventListener('keydown', this.keyDownHandler_);\n\t }\n\t };\n\t */\n\t\n\t /**\n\t * The component registers itself. It can assume componentHandler is available in the global scope.\n\t */\n\t /* jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtLightbox,\n\t classAsString: 'MaterialExtLightbox',\n\t cssClass: 'mdlext-js-lightbox'\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * Responsive Lightbox\n\t */\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\t\n\t/*\n\t * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n\t */\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t /**\n\t * Class constructor for Selectfield MDLEXT component.\n\t * Implements MDL component design pattern defined at:\n\t * https://github.com/jasonmayes/mdl-component-design-pattern\n\t *\n\t * @constructor\n\t * @param {HTMLElement} element The element that will be upgraded.\n\t */\n\t\n\t var MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n\t this.element_ = element;\n\t this.init(); // Initialize instance.\n\t };\n\t\n\t window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\t\n\t /**\n\t * Store constants in one place so they can be updated easily.\n\t *\n\t * @enum {string | number}\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.Constant_ = {};\n\t\n\t /**\n\t * Store strings for class names defined by this component that are used in\n\t * JavaScript. This allows us to simply change it in one place should we\n\t * decide to modify at a later date.\n\t *\n\t * @enum {string}\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.CssClasses_ = {\n\t LABEL: 'mdlext-selectfield__label',\n\t INPUT: 'mdlext-selectfield__select',\n\t IS_DIRTY: 'is-dirty',\n\t IS_FOCUSED: 'is-focused',\n\t IS_DISABLED: 'is-disabled',\n\t IS_INVALID: 'is-invalid',\n\t IS_UPGRADED: 'is-upgraded'\n\t };\n\t\n\t /**\n\t * Handle focus.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t /*eslint no-unused-vars: 0*/\n\t MaterialExtSelectfield.prototype.onFocus_ = function (event) {\n\t this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n\t };\n\t\n\t /**\n\t * Handle lost focus.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t /*eslint no-unused-vars: 0*/\n\t MaterialExtSelectfield.prototype.onBlur_ = function (event) {\n\t this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n\t };\n\t\n\t /**\n\t * Handle reset event from out side.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.onReset_ = function (event) {\n\t this.updateClasses_();\n\t };\n\t\n\t /**\n\t * Handle class updates.\n\t *\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.updateClasses_ = function () {\n\t this.checkDisabled();\n\t this.checkValidity();\n\t this.checkDirty();\n\t this.checkFocus();\n\t };\n\t\n\t // Public methods.\n\t\n\t /**\n\t * Check the disabled state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkDisabled = function () {\n\t if (this.select_.disabled) {\n\t this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n\t }\n\t };\n\t MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\t\n\t /**\n\t * Check the focus state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkFocus = function () {\n\t /*eslint no-extra-boolean-cast: 0*/\n\t if (Boolean(this.element_.querySelector(':focus'))) {\n\t this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n\t }\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\t\n\t /**\n\t * Check the validity state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkValidity = function () {\n\t\n\t /* Don't think it makes any sense to check validity.\n\t Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\t if (this.select_.validity) {\n\t if (this.select_.validity.valid) {\n\t this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n\t } else {\n\t this.element_.classList.add(this.CssClasses_.IS_INVALID);\n\t }\n\t }\n\t */\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\t\n\t /**\n\t * Check the dirty state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkDirty = function () {\n\t if (this.select_.value && this.select_.value.length > 0) {\n\t this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n\t }\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\t\n\t /**\n\t * Disable select field.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.disable = function () {\n\t this.select_.disabled = true;\n\t this.updateClasses_();\n\t };\n\t\n\t MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\t\n\t /**\n\t * Enable select field.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.enable = function () {\n\t this.select_.disabled = false;\n\t this.updateClasses_();\n\t };\n\t\n\t MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\t\n\t /**\n\t * Update select field value.\n\t *\n\t * @param {string} value The value to which to set the control (optional).\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.change = function (value) {\n\t this.select_.value = value || '';\n\t this.updateClasses_();\n\t };\n\t MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\t\n\t /**\n\t * Initialize element.\n\t */\n\t MaterialExtSelectfield.prototype.init = function () {\n\t if (this.element_) {\n\t this.label_ = this.element_.querySelector('.' + this.CssClasses_.LABEL);\n\t this.select_ = this.element_.querySelector('.' + this.CssClasses_.INPUT);\n\t\n\t if (this.select_) {\n\t this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n\t this.boundFocusHandler = this.onFocus_.bind(this);\n\t this.boundBlurHandler = this.onBlur_.bind(this);\n\t this.boundResetHandler = this.onReset_.bind(this);\n\t this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n\t this.select_.addEventListener('focus', this.boundFocusHandler);\n\t this.select_.addEventListener('blur', this.boundBlurHandler);\n\t this.select_.addEventListener('reset', this.boundResetHandler);\n\t\n\t var invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n\t this.updateClasses_();\n\t this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\t\n\t if (invalid) {\n\t this.element_.classList.add(this.CssClasses_.IS_INVALID);\n\t }\n\t if (this.select_.hasAttribute('autofocus')) {\n\t this.element_.focus();\n\t this.checkFocus();\n\t }\n\t }\n\t }\n\t };\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /*eslint no-undef: 0*/\n\t /*jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtSelectfield,\n\t classAsString: 'MaterialExtSelectfield',\n\t cssClass: 'mdlext-js-selectfield',\n\t widget: true\n\t });\n\t})();\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\t\n\t/**\n\t * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n\t * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n\t * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n\t */\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var CONTENT_CLASS = 'mdl-layout__content';\n\t var IS_SCROLL_CLASS = 'mdlext-is-scroll';\n\t //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\t\n\t /**\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n\t // Stores the element.\n\t this.header_ = element;\n\t\n\t // Heder listens to scroll events from content\n\t this.content_ = null;\n\t this.lastScrollTop_ = 0;\n\t\n\t // false: allow rAF to be called, true: blocks rAF\n\t this.drawing_ = false;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t\n\t window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\t\n\t /**\n\t * Update header width\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.recalcWidth_ = function () {\n\t this.header_.style.width = this.content_.clientWidth + 'px';\n\t };\n\t\n\t /**\n\t * Adjust header width when window resizes or oreientation changes\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.resizeHandler_ = function () /* event */{\n\t var _this = this;\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t if (!this.drawing_) {\n\t // Assumes MDL has polyfilled rAF\n\t window.requestAnimationFrame(function () {\n\t _this.recalcWidth_();\n\t _this.drawing_ = false;\n\t });\n\t }\n\t this.drawing_ = true;\n\t };\n\t\n\t /**\n\t * Update header position\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.reposition_ = function () {\n\t\n\t var currentContentScrollTop = this.content_.scrollTop;\n\t var scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\t\n\t if (currentContentScrollTop <= 0) {\n\t // Scrolled to the top. Header sticks to the top\n\t this.header_.style.top = '0';\n\t this.header_.classList.remove(IS_SCROLL_CLASS);\n\t } else if (scrollDiff > 0) {\n\t\n\t if (scrollDiff >= this.header_.offsetHeight) {\n\t\n\t // Scrolled up. Header slides in\n\t var headerTop = parseInt(window.getComputedStyle(this.header_).getPropertyValue('top')) || 0;\n\t if (headerTop != 0) {\n\t this.header_.style.top = '0';\n\t this.header_.classList.add(IS_SCROLL_CLASS);\n\t }\n\t this.lastScrollTop_ = currentContentScrollTop;\n\t }\n\t return;\n\t } else if (scrollDiff < 0) {\n\t // Scrolled down\n\t this.header_.classList.add(IS_SCROLL_CLASS);\n\t var _headerTop = parseInt(window.getComputedStyle(this.header_).getPropertyValue('top')) || 0;\n\t\n\t if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n\t // Bottom of content\n\t if (_headerTop != 0) {\n\t this.header_.style.top = '0';\n\t }\n\t } else {\n\t _headerTop += scrollDiff;\n\t var offsetHeight = this.header_.offsetHeight;\n\t this.header_.style.top = (Math.abs(_headerTop) > offsetHeight ? -offsetHeight : _headerTop) + 'px';\n\t }\n\t }\n\t\n\t this.lastScrollTop_ = currentContentScrollTop;\n\t };\n\t\n\t /**\n\t * Scroll header when content scrolls\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.scrollHandler_ = function () /* event */{\n\t var _this2 = this;\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t if (!this.drawing_) {\n\t window.requestAnimationFrame(function () {\n\t _this2.reposition_();\n\t _this2.drawing_ = false;\n\t });\n\t }\n\t this.drawing_ = true;\n\t };\n\t\n\t /**\n\t * Init header position\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.updatePosition_ = function () /* event */{\n\t this.recalcWidth_();\n\t this.reposition_();\n\t };\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtStickyHeader.prototype.init = function () {\n\t var _this3 = this;\n\t\n\t if (this.header_) {\n\t this.content_ = this.header_.parentNode.querySelector('.' + CONTENT_CLASS) || null;\n\t\n\t if (this.content_) {\n\t this.content_.style.paddingTop = this.header_.offsetHeight + 'px'; // Make room for sticky header\n\t this.lastScrollTop_ = this.content_.scrollTop;\n\t\n\t this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n\t window.addEventListener('resize', this.resizeHandler_.bind(this));\n\t window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\t\n\t // Adjust header width if content changes (e.g. in a SPA)\n\t var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\t\n\t // jsdom does not support MutationObserver - so this is not testable\n\t /* istanbul ignore next */\n\t new MutationObserver(function () /*mutations*/{\n\t\n\t if (!_this3.drawing_) {\n\t window.requestAnimationFrame(function () {\n\t _this3.updatePosition_();\n\t _this3.drawing_ = false;\n\t });\n\t }\n\t _this3.drawing_ = true;\n\t }).observe(this.content_, {\n\t attributes: false,\n\t childList: true,\n\t characterData: false\n\t });\n\t\n\t // Set initial position\n\t this.updatePosition_();\n\t\n\t // Set upgraded flag\n\t this.header_.classList.add(IS_UPGRADED);\n\t }\n\t }\n\t };\n\t\n\t /*\n\t * Downgrade component\n\t * E.g remove listeners and clean up resources\n\t * Note: There is a bug i material component container; downgrade is never called!\n\t * Disables method temporarly to keep code coverage at 100% for functions.\n\t *\n\t MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n\t 'use strict';\n\t };\n\t */\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t componentHandler.register({\n\t constructor: MaterialExtStickyHeader,\n\t classAsString: 'MaterialExtStickyHeader',\n\t cssClass: 'mdlext-js-sticky-header'\n\t });\n\t})();\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(47), __esModule: true };\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(49), __esModule: true };\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(50), __esModule: true };\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(51), __esModule: true };\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _isIterable2 = __webpack_require__(43);\n\t\n\tvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\t\n\tvar _getIterator2 = __webpack_require__(20);\n\t\n\tvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t function sliceIterator(arr, i) {\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\t var _e = undefined;\n\t\n\t try {\n\t for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\t\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"]) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\t\n\t return _arr;\n\t }\n\t\n\t return function (arr, i) {\n\t if (Array.isArray(arr)) {\n\t return arr;\n\t } else if ((0, _isIterable3.default)(Object(arr))) {\n\t return sliceIterator(arr, i);\n\t } else {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n\t }\n\t };\n\t}();\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(19);\n\t__webpack_require__(78);\n\tmodule.exports = __webpack_require__(2).Array.from;\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(35);\n\t__webpack_require__(19);\n\tmodule.exports = __webpack_require__(76);\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(35);\n\t__webpack_require__(19);\n\tmodule.exports = __webpack_require__(77);\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(80);\n\tmodule.exports = __webpack_require__(2).Number.isInteger;\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(81);\n\tmodule.exports = __webpack_require__(2).Object.entries;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ },\n/* 53 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(){ /* empty */ };\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(13)\n\t , toLength = __webpack_require__(31)\n\t , toIndex = __webpack_require__(74);\n\tmodule.exports = function(IS_INCLUDES){\n\t return function($this, el, fromIndex){\n\t var O = toIObject($this)\n\t , length = toLength(O.length)\n\t , index = toIndex(fromIndex, length)\n\t , value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t if(IS_INCLUDES && el != el)while(length > index){\n\t value = O[index++];\n\t if(value != value)return true;\n\t // Array#toIndex ignores holes, Array#includes - not\n\t } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n\t if(O[index] === el)return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\r\n\tvar $defineProperty = __webpack_require__(12)\r\n\t , createDesc = __webpack_require__(16);\r\n\t\r\n\tmodule.exports = function(object, index, value){\r\n\t if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n\t else object[index] = value;\r\n\t};\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(3).document && document.documentElement;\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(8) && !__webpack_require__(26)(function(){\r\n\t return Object.defineProperty(__webpack_require__(24)('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n\t});\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(22);\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(4)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function(it){\n\t return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar isObject = __webpack_require__(11)\n\t , floor = Math.floor;\n\tmodule.exports = function isInteger(it){\n\t return !isObject(it) && isFinite(it) && floor(it) === it;\n\t};\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(5);\n\tmodule.exports = function(iterator, fn, value, entries){\n\t try {\n\t return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t // 7.4.6 IteratorClose(iterator, completion)\n\t } catch(e){\n\t var ret = iterator['return'];\n\t if(ret !== undefined)anObject(ret.call(iterator));\n\t throw e;\n\t }\n\t};\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(66)\n\t , descriptor = __webpack_require__(16)\n\t , setToStringTag = __webpack_require__(29)\n\t , IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(6)(IteratorPrototype, __webpack_require__(1)('iterator'), function(){ return this; });\n\t\n\tmodule.exports = function(Constructor, NAME, next){\n\t Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(1)('iterator')\n\t , SAFE_CLOSING = false;\n\t\n\ttry {\n\t var riter = [7][ITERATOR]();\n\t riter['return'] = function(){ SAFE_CLOSING = true; };\n\t Array.from(riter, function(){ throw 2; });\n\t} catch(e){ /* empty */ }\n\t\n\tmodule.exports = function(exec, skipClosing){\n\t if(!skipClosing && !SAFE_CLOSING)return false;\n\t var safe = false;\n\t try {\n\t var arr = [7]\n\t , iter = arr[ITERATOR]();\n\t iter.next = function(){ return {done: safe = true}; };\n\t arr[ITERATOR] = function(){ return iter; };\n\t exec(arr);\n\t } catch(e){ /* empty */ }\n\t return safe;\n\t};\n\n/***/ },\n/* 64 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(done, value){\n\t return {value: value, done: !!done};\n\t};\n\n/***/ },\n/* 65 */\n/***/ function(module, exports) {\n\n\tmodule.exports = true;\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\n\tvar anObject = __webpack_require__(5)\r\n\t , dPs = __webpack_require__(67)\r\n\t , enumBugKeys = __webpack_require__(25)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO')\r\n\t , Empty = function(){ /* empty */ }\r\n\t , PROTOTYPE = 'prototype';\r\n\t\r\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\n\tvar createDict = function(){\r\n\t // Thrash, waste and sodomy: IE GC bug\r\n\t var iframe = __webpack_require__(24)('iframe')\r\n\t , i = enumBugKeys.length\r\n\t , gt = '>'\r\n\t , iframeDocument;\r\n\t iframe.style.display = 'none';\r\n\t __webpack_require__(56).appendChild(iframe);\r\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n\t // createDict = iframe.contentWindow.Object;\r\n\t // html.removeChild(iframe);\r\n\t iframeDocument = iframe.contentWindow.document;\r\n\t iframeDocument.open();\r\n\t iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n\t return O;\r\n\t};\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\n\tvar has = __webpack_require__(10)\r\n\t , toObject = __webpack_require__(32)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO')\r\n\t , ObjectProto = Object.prototype;\r\n\t\r\n\tmodule.exports = Object.getPrototypeOf || function(O){\r\n\t O = toObject(O);\r\n\t if(has(O, IE_PROTO))return O[IE_PROTO];\r\n\t if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n\t return O.constructor.prototype;\r\n\t } return O instanceof Object ? ObjectProto : null;\r\n\t};\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(10)\r\n\t , toIObject = __webpack_require__(13)\r\n\t , arrayIndexOf = __webpack_require__(54)(false)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO');\r\n\t\r\n\tmodule.exports = function(object, names){\r\n\t var O = toIObject(object)\r\n\t , i = 0\r\n\t , result = []\r\n\t , key;\r\n\t for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n\t // Don't enum bug & hidden keys\r\n\t while(names.length > i)if(has(O, key = names[i++])){\r\n\t ~arrayIndexOf(result, key) || result.push(key);\r\n\t }\r\n\t return result;\r\n\t};\n\n/***/ },\n/* 70 */\n/***/ function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getKeys = __webpack_require__(28)\n\t , toIObject = __webpack_require__(13)\n\t , isEnum = __webpack_require__(70).f;\n\tmodule.exports = function(isEntries){\n\t return function(it){\n\t var O = toIObject(it)\n\t , keys = getKeys(O)\n\t , length = keys.length\n\t , i = 0\n\t , result = []\n\t , key;\n\t while(length > i)if(isEnum.call(O, key = keys[i++])){\n\t result.push(isEntries ? [key, O[key]] : O[key]);\n\t } return result;\n\t };\n\t};\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(6);\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(18)\n\t , defined = __webpack_require__(15);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function(TO_STRING){\n\t return function(that, pos){\n\t var s = String(defined(that))\n\t , i = toInteger(pos)\n\t , l = s.length\n\t , a, b;\n\t if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(18)\n\t , max = Math.max\n\t , min = Math.min;\n\tmodule.exports = function(index, length){\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(11);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function(it, S){\n\t if(!isObject(it))return it;\n\t var fn, val;\n\t if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(5)\n\t , get = __webpack_require__(34);\n\tmodule.exports = __webpack_require__(2).getIterator = function(it){\n\t var iterFn = get(it);\n\t if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n\t return anObject(iterFn.call(it));\n\t};\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(21)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , Iterators = __webpack_require__(4);\n\tmodule.exports = __webpack_require__(2).isIterable = function(it){\n\t var O = Object(it);\n\t return O[ITERATOR] !== undefined\n\t || '@@iterator' in O\n\t || Iterators.hasOwnProperty(classof(O));\n\t};\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar ctx = __webpack_require__(23)\n\t , $export = __webpack_require__(9)\n\t , toObject = __webpack_require__(32)\n\t , call = __webpack_require__(61)\n\t , isArrayIter = __webpack_require__(59)\n\t , toLength = __webpack_require__(31)\n\t , createProperty = __webpack_require__(55)\n\t , getIterFn = __webpack_require__(34);\n\t\n\t$export($export.S + $export.F * !__webpack_require__(63)(function(iter){ Array.from(iter); }), 'Array', {\n\t // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n\t from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n\t var O = toObject(arrayLike)\n\t , C = typeof this == 'function' ? this : Array\n\t , aLen = arguments.length\n\t , mapfn = aLen > 1 ? arguments[1] : undefined\n\t , mapping = mapfn !== undefined\n\t , index = 0\n\t , iterFn = getIterFn(O)\n\t , length, result, step, iterator;\n\t if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\t // if object isn't iterable or it's array with default iterator - use simple case\n\t if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n\t for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n\t createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n\t }\n\t } else {\n\t length = toLength(O.length);\n\t for(result = new C(length); length > index; index++){\n\t createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n\t }\n\t }\n\t result.length = index;\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(53)\n\t , step = __webpack_require__(64)\n\t , Iterators = __webpack_require__(4)\n\t , toIObject = __webpack_require__(13);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(27)(Array, 'Array', function(iterated, kind){\n\t this._t = toIObject(iterated); // target\n\t this._i = 0; // next index\n\t this._k = kind; // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , kind = this._k\n\t , index = this._i++;\n\t if(!O || index >= O.length){\n\t this._t = undefined;\n\t return step(1);\n\t }\n\t if(kind == 'keys' )return step(0, index);\n\t if(kind == 'values')return step(0, O[index]);\n\t return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar $export = __webpack_require__(9);\n\t\n\t$export($export.S, 'Number', {isInteger: __webpack_require__(60)});\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-values-entries\n\tvar $export = __webpack_require__(9)\n\t , $entries = __webpack_require__(71)(true);\n\t\n\t$export($export.S, 'Object', {\n\t entries: function entries(it){\n\t return $entries(it);\n\t }\n\t});\n\n/***/ },\n/* 82 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** mdl-ext.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 1c2a80c65e755e7a6e69\n **/","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '2.3.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n * Since I do not care too much about IE11, a brute force approach is sufficient.\n *\n * @param {string} typeArg Is a String representing the name of the event.\n * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n */\n\nexport function createCustomEvent( typeArg, customEventInit = { bubbles: false, cancelable: false, detail: null } ) {\n 'use strict';\n\n try {\n // Modern browsers\n return new window.CustomEvent(typeArg, customEventInit);\n }\n catch(e) {\n // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n const ce = document.createEvent('CustomEvent');\n ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\n ce.preventDefault = function() {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n };\n return ce;\n }\n // Let old browsers throw whatewer they want to throw\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"babel-runtime/core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var shared = require('./_shared')('keys')\r\n , uid = require('./_uid');\r\nmodule.exports = function(key){\r\n return shared[key] || (shared[key] = uid(key));\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// IE 8- don't enum bug keys\r\nmodule.exports = (\r\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n).split(',');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\nvar $keys = require('./_object-keys-internal')\r\n , enumBugKeys = require('./_enum-bug-keys');\r\n\r\nmodule.exports = Object.keys || function keys(O){\r\n return $keys(O, enumBugKeys);\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const PANEL = 'mdlext-accordion__panel';\n const HEADER = 'mdlext-accordion__panel__header';\n const HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n const IS_UPGRADED = 'is-upgraded';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n\n /**\n * Class constructor for Accordion MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion(element) {\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n /**\n * Handles custom command event, 'open', 'close', or 'toggle'\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n\n if('open' === action || 'close' === action || 'toggle' === action) {\n\n if(event.detail.target === undefined) {\n\n if(this.element_.hasAttribute('aria-multiselectable') &&\n 'false' !== this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach(panel => {\n panel.dispatchEvent(\n createCustomEvent('command_', {\n detail: {action: action}\n })\n );\n });\n }\n }\n else if (event.detail.target !== null) {\n\n event.detail.target.dispatchEvent(\n // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n createCustomEvent('command_', {\n bubbles: true, detail: { action: action }\n })\n );\n }\n }\n }\n };\n\n /**\n * Initialize accordion's panels\n *\n * @private\n */\n MaterialExtAccordion.prototype.initAccordion_ = function() {\n\n this.element_.setAttribute('role', 'tablist');\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach( panel => {\n new MaterialExtAccordionPanel(panel, this);\n });\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n /**\n * Initialize Accordion element.\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n this.initAccordion_();\n }\n };\n\n\n /**\n * Constructor for an individual accordion panel.\n *\n * @constructor\n * @param {Element} panel The HTML element for the tab.\n * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n */\n function MaterialExtAccordionPanel(panel, ctx) {\n\n const header = panel.querySelector(`.${HEADER}`);\n if(header === null) {\n throw new Error('There must be a header element for each accordion panel.');\n }\n\n header.setAttribute('role', 'tab');\n\n let a = header.querySelector(`a.${HEADER_TABSTOP}`);\n if(a === null) {\n // An anchor is required for focus/tab stop\n a = document.createElement('a');\n a.href = '#';\n a.classList.add(HEADER_TABSTOP);\n header.appendChild(a);\n }\n\n panel.setAttribute('role', 'tabpanel');\n\n if(panel.hasAttribute('open')) {\n header.setAttribute('aria-expanded', '');\n }\n else {\n header.setAttribute('aria-hidden', '');\n }\n\n if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n\n header.addEventListener('click', ( event => {\n\n event.preventDefault();\n event.stopPropagation();\n\n if(!panel.hasAttribute('disabled')) {\n\n if(panel.hasAttribute('open')) {\n\n closePanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', panel, ctx.element_);\n }\n else {\n if(ctx.element_.hasAttribute('aria-multiselectable') &&\n 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n const openPanel = ctx.element_.querySelector(`.${PANEL}[open]`);\n if (openPanel) {\n closePanel(openPanel, openPanel.querySelector(`.${HEADER}`));\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', openPanel, ctx.element_);\n }\n removeAriaSelectedAttribute();\n }\n\n openPanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('open', panel, ctx.element_);\n }\n focus(panel);\n }\n }), true);\n\n\n header.addEventListener('keydown', ( event => {\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n const panels = panel.parentNode.children;\n let nextPanel = null;\n const n = panel.parentNode.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if(panels[i] == panel) {\n if(event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i-1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i+1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if(event.shiftKey) {\n if(i > 0 && !panels[i-1].hasAttribute('open')) {\n nextPanel = panels[i-1];\n }\n }\n else if (i < n) {\n if(!panel.hasAttribute('open')) {\n nextPanel = panels[i+1];\n }\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n header.dispatchEvent(evt);\n }\n break;\n }\n }\n if(nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }), true);\n\n panel.addEventListener('command_', ( event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n switch (action) {\n case 'open':\n openPanel(panel, header);\n break;\n case 'close':\n closePanel(panel, header);\n break;\n case 'toggle':\n togglePanel(panel, header);\n break;\n }\n }\n }));\n\n\n function togglePanel(panel, header) {\n if(panel.hasAttribute('open')) {\n closePanel(panel, header);\n }\n else {\n openPanel(panel, header);\n }\n }\n\n function openPanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.setAttribute('open', '');\n header.setAttribute('aria-expanded', '');\n header.setAttribute('aria-selected', '');\n header.removeAttribute('aria-hidden', '');\n }\n }\n\n function closePanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.removeAttribute('open');\n header.removeAttribute('aria-expanded');\n header.setAttribute('aria-hidden', '');\n }\n }\n\n function removeAriaSelectedAttribute() {\n const selectedHeader = ctx.element_.querySelector(`.${HEADER}[aria-selected]`);\n if(selectedHeader) {\n selectedHeader.removeAttribute('aria-selected');\n }\n }\n\n function focus(nextPanel) {\n const a = nextPanel.querySelector(`.${HEADER} a`);\n if(a) {\n removeAriaSelectedAttribute();\n a.focus();\n nextPanel.querySelector(`.${HEADER}`).setAttribute('aria-selected', '');\n }\n }\n\n function dispatchToggleEvent(state, source, target) {\n const evt = createCustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, source: source }\n });\n target.dispatchEvent(evt);\n }\n }\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/","'use strict';\nimport 'utils/custom-event';\nimport 'sticky-header/sticky-header';\nimport 'selectfield/selectfield';\nimport 'accordion/accordion';\nimport 'lightboard/lightboard';\nimport 'lightbox/lightbox';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOARD = 'mdlext-lightboard';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n /**\n * Initialize lightboard slides\n *\n * @private\n */\n MaterialExtLightboard.prototype.initLightboard_ = function() {\n\n this.element_.setAttribute('role', 'grid');\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => slide.setAttribute('role', 'cell')\n );\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => addRipple(slide)\n );\n }\n\n /**\n * Trigger when user cliks on a slide\n */\n this.element_.addEventListener('click', ( function(event) {\n event.preventDefault();\n event.stopPropagation();\n const slide = getSlide(event.target);\n\n if(event.target !== this) {\n focus(slide);\n\n // Remove 'aria-selected' attribute\n [...this.children] // Should I use querySelectorAll ???\n .filter( panel => panel.hasAttribute('aria-selected'))\n .forEach( selected => selected.removeAttribute('aria-selected'));\n\n // Set 'aria-selected' on current slide\n slide.setAttribute('aria-selected', '');\n\n const evt = createCustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n });\n this.dispatchEvent(evt);\n }\n }).bind(this.element_), true);\n\n /**\n * Trigger when user presses a keboard key\n */\n this.element_.addEventListener('keydown', ( function(event) {\n // Maybe this function should be throttled??\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.target !== this) {\n const panel = getSlide(event.target);\n const panels = this.children;\n let nextPanel = null;\n const n = this.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if (panels[i] === panel) {\n if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i - 1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i + 1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if (event.shiftKey) {\n if (i > 0) {\n nextPanel = panels[i - 1];\n }\n }\n else if (i < n) {\n nextPanel = panels[i + 1];\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n panel.dispatchEvent(evt);\n }\n break;\n }\n }\n if (nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }\n }).bind(this.element_), true);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n function getSlide(element) {\n if (!element || element.classList.contains(LIGHTBOARD)) {\n return null;\n }\n return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n }\n\n function focus(slide) {\n if(slide) {\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if (a) {\n a.focus();\n }\n }\n }\n\n function addRipple(slide) {\n // Use anchor as ripple container\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n }\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n if (this.element_) {\n this.initLightboard_();\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_ESC = 27;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOX_CLASS = 'mdlext-lightbox';\n const STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n const BUTTON_CLASS = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n let n = this;\n while((n = n.parentNode) != null) {\n if(n.classList.contains(LIGHTBOX_CLASS)) {\n n.focus();\n break;\n }\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n function dispatchAction_(action, source, target = source) {\n\n target.dispatchEvent(createCustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n }\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n function repositionDialog_(lightboxElement) {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n }\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add('mdlext-lightbox__slider');\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n window.addEventListener('resize', () => {\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n repositionDialog_(this.element_);\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n });\n\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\n if (this.element_) {\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n button => button.removeEventListener('click', this.buttonClickHandler_)\n );\n\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n }\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\n(function() {\n 'use strict';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Store constants in one place so they can be updated easily.\n *\n * @enum {string | number}\n * @private\n */\n MaterialExtSelectfield.prototype.Constant_ = {\n };\n\n /**\n * Store strings for class names defined by this component that are used in\n * JavaScript. This allows us to simply change it in one place should we\n * decide to modify at a later date.\n *\n * @enum {string}\n * @private\n */\n MaterialExtSelectfield.prototype.CssClasses_ = {\n LABEL: 'mdlext-selectfield__label',\n INPUT: 'mdlext-selectfield__select',\n IS_DIRTY: 'is-dirty',\n IS_FOCUSED: 'is-focused',\n IS_DISABLED: 'is-disabled',\n IS_INVALID: 'is-invalid',\n IS_UPGRADED: 'is-upgraded'\n };\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function(event) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function(event) {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function(event) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${this.CssClasses_.LABEL}`);\n this.select_ = this.element_.querySelector(`.${this.CssClasses_.INPUT}`);\n\n if (this.select_) {\n this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n this.boundFocusHandler = this.onFocus_.bind(this);\n this.boundBlurHandler = this.onBlur_.bind(this);\n this.boundResetHandler = this.onReset_.bind(this);\n this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n this.select_.addEventListener('focus', this.boundFocusHandler);\n this.select_.addEventListener('blur', this.boundBlurHandler);\n this.select_.addEventListener('reset', this.boundResetHandler);\n\n const invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n /*jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\n(function() {\n 'use strict';\n\n const IS_UPGRADED = 'is-upgraded';\n const CONTENT_CLASS = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n this.recalcWidth_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = '0';\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.reposition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n this.content_ = this.header_.parentNode.querySelector(`.${CONTENT_CLASS}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n // Adjust header width if content changes (e.g. in a SPA)\n const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n new MutationObserver( ( /*mutations*/ ) => {\n\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.updatePosition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n\n }).observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false\n });\n\n // Set initial position\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"babel-runtime/core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"babel-runtime/core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/","'use strict';\r\nvar $defineProperty = require('./_object-dp')\r\n , createDesc = require('./_property-desc');\r\n\r\nmodule.exports = function(object, index, value){\r\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n else object[index] = value;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/","module.exports = require('./_global').document && document.documentElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\r\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\nvar anObject = require('./_an-object')\r\n , dPs = require('./_object-dps')\r\n , enumBugKeys = require('./_enum-bug-keys')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , Empty = function(){ /* empty */ }\r\n , PROTOTYPE = 'prototype';\r\n\r\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\nvar createDict = function(){\r\n // Thrash, waste and sodomy: IE GC bug\r\n var iframe = require('./_dom-create')('iframe')\r\n , i = enumBugKeys.length\r\n , gt = '>'\r\n , iframeDocument;\r\n iframe.style.display = 'none';\r\n require('./_html').appendChild(iframe);\r\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n // createDict = iframe.contentWindow.Object;\r\n // html.removeChild(iframe);\r\n iframeDocument = iframe.contentWindow.document;\r\n iframeDocument.open();\r\n iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n return O;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\nvar has = require('./_has')\r\n , toObject = require('./_to-object')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , ObjectProto = Object.prototype;\r\n\r\nmodule.exports = Object.getPrototypeOf || function(O){\r\n O = toObject(O);\r\n if(has(O, IE_PROTO))return O[IE_PROTO];\r\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n return O.constructor.prototype;\r\n } return O instanceof Object ? ObjectProto : null;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/","var has = require('./_has')\r\n , toIObject = require('./_to-iobject')\r\n , arrayIndexOf = require('./_array-includes')(false)\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\r\n\r\nmodule.exports = function(object, names){\r\n var O = toIObject(object)\r\n , i = 0\r\n , result = []\r\n , key;\r\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n // Don't enum bug & hidden keys\r\n while(names.length > i)if(has(O, key = names[i++])){\r\n ~arrayIndexOf(result, key) || result.push(key);\r\n }\r\n return result;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/","module.exports = require('./_hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///mdl-ext.min.js?c961","webpack:///webpack/bootstrap c8e9251b190ecc57f6ba?f721","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./src/utils/custom-event.js?bfbd","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","store","uid","Symbol","USE_SYMBOL","$exports","name","core","version","__e","global","window","Math","self","Function","__g","isObject","it","TypeError","dP","createDesc","object","key","value","f","createCustomEvent","typeArg","customEventInit","arguments","length","undefined","bubbles","cancelable","detail","CustomEvent","e","ce","document","createEvent","initCustomEvent","preventDefault","Object","defineProperty","get","a","ctx","hide","PROTOTYPE","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","C","b","apply","virtual","R","U","hasOwnProperty","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","IObject","defined","_interopRequireDefault","obj","__esModule","default","_from","_from2","arr","Array","isArray","i","arr2","bitmap","enumerable","configurable","writable","shared","ceil","floor","isNaN","$at","String","iterated","_t","_i","point","index","done","cof","TAG","ARG","tryGet","T","callee","toString","slice","aFunction","fn","that","is","createElement","split","exec","LIBRARY","redefine","has","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","prototype","$native","$default","$entries","$anyNative","entries","values","$keys","enumBugKeys","def","tag","stat","SHARED","toInteger","min","px","random","concat","classof","getIteratorMethod","TO_STRING_TAG","collections","Collection","_toConsumableArray2","_toConsumableArray3","_customEvent","MaterialExtAccordionPanel","panel","togglePanel","header","hasAttribute","closePanel","openPanel","setAttribute","removeAttribute","removeAriaSelectedAttribute","selectedHeader","element_","querySelector","HEADER","focus","nextPanel","dispatchToggleEvent","state","evt","dispatchEvent","Error","HEADER_TABSTOP","href","classList","add","appendChild","contains","RIPPLE_EFFECT","rippleContainer","RIPPLE_CONTAINER","ripple","RIPPLE","componentHandler","upgradeElement","RIPPLE_COMPONENT","addEventListener","event","stopPropagation","getAttribute","toLowerCase","_openPanel","PANEL","keyCode","VK_TAB","VK_ENTER","VK_SPACE","VK_END","VK_HOME","VK_ARROW_UP","VK_ARROW_LEFT","VK_ARROW_DOWN","VK_ARROW_RIGHT","panels","parentNode","children","n","childElementCount","shiftKey","MouseEvent","view","action","IS_UPGRADED","RIPPLE_EFFECT_IGNORE_EVENTS","MaterialExtAccordion","element","init","commandHandler_","_this","querySelectorAll","forEach","initAccordion_","_this2","bind","register","constructor","classAsString","cssClass","widget","getSlide","LIGHTBOARD","SLIDE","slide","SLIDE_TABSTOP","addRipple","MaterialExtLightboard","initLightboard_","filter","selected","_isInteger","_isInteger2","_slicedToArray2","_slicedToArray3","_entries","_entries2","_getIterator2","_getIterator3","dispatchAction_","repositionDialog_","lightboxElement","footerHeight","footer","isSticky","offsetHeight","reposition","dialog","fh","getComputedStyle","position","scrollTop","body","documentElement","topValue","innerHeight","style","top","max","nodeName","width","maxWidth","img","naturalWidth","STICKY_FOOTER_CLASS","vh","clientHeight","offsetWidth","VK_ESC","LIGHTBOX_CLASS","BUTTON_CLASS","MaterialExtLightbox","drawing_","keyDownHandler_","buttonClickHandler_","imgLoadHandler_","imgDragHandler_","setStyles","properties","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_step$value","err","x","clientX","touches","opacity","slider","height","textContent","line-height","font-size","text-align","background-image","src","drag","dx","abs","left","endDrag","removeEventListener","offsetLeft","removeChild","button","figcaption","requestAnimationFrame","MaterialExtSelectfield","Constant_","CssClasses_","LABEL","INPUT","IS_DIRTY","IS_FOCUSED","IS_DISABLED","IS_INVALID","onFocus_","onBlur_","remove","onReset_","updateClasses_","checkDisabled","checkValidity","checkDirty","checkFocus","select_","disabled","Boolean","disable","enable","change","label_","boundUpdateClassesHandler","boundFocusHandler","boundBlurHandler","boundResetHandler","invalid","CONTENT_CLASS","IS_SCROLL_CLASS","MaterialExtStickyHeader","header_","content_","lastScrollTop_","recalcWidth_","clientWidth","resizeHandler_","reposition_","currentContentScrollTop","scrollDiff","headerTop","parseInt","getPropertyValue","_headerTop","scrollHeight","scrollHandler_","updatePosition_","_this3","paddingTop","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","attributes","childList","characterData","subtree","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_d","_e","_s","push","from","Number","isInteger","toIObject","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","$defineProperty","propertyIsEnumerable","ArrayProto","isFinite","iterator","ret","create","descriptor","SAFE_CLOSING","riter","skipClosing","safe","iter","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","gt","display","contentWindow","open","write","close","Properties","result","getKeys","defineProperties","toObject","ObjectProto","arrayIndexOf","names","isEnum","isEntries","TO_STRING","pos","s","l","charCodeAt","charAt","val","valueOf","getIterator","iterFn","isIterable","isArrayIter","createProperty","getIterFn","arrayLike","step","aLen","mapfn","mapping","addToUnscopables","_k","Arguments"],"mappings":"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","file":"mdl-ext.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(82);\n\tmodule.exports = __webpack_require__(37);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(30)('wks')\n\t , uid = __webpack_require__(33)\n\t , Symbol = __webpack_require__(3).Symbol\n\t , USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function(name){\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = {version: '2.3.0'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {};\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(11);\n\tmodule.exports = function(it){\n\t if(!isObject(it))throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(12)\n\t , createDesc = __webpack_require__(16);\n\tmodule.exports = __webpack_require__(8) ? function(object, key, value){\n\t return dP.f(object, key, createDesc(1, value));\n\t} : function(object, key, value){\n\t object[key] = value;\n\t return object;\n\t};\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.createCustomEvent = createCustomEvent;\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t/**\n\t * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n\t * Since I do not care too much about IE11, a brute force approach is sufficient.\n\t *\n\t * @param {string} typeArg Is a String representing the name of the event.\n\t * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n\t * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n\t * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n\t * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n\t */\n\t\n\tfunction createCustomEvent(typeArg) {\n\t 'use strict';\n\t\n\t var customEventInit = arguments.length <= 1 || arguments[1] === undefined ? { bubbles: false, cancelable: false, detail: null } : arguments[1];\n\t try {\n\t // Modern browsers\n\t return new window.CustomEvent(typeArg, customEventInit);\n\t } catch (e) {\n\t // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n\t // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n\t var ce = document.createEvent('CustomEvent');\n\t ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\t\n\t ce.preventDefault = function () {\n\t Object.defineProperty(this, 'defaultPrevented', {\n\t get: function get() {\n\t return true;\n\t }\n\t });\n\t };\n\t return ce;\n\t }\n\t // Let old browsers throw whatewer they want to throw\n\t}\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(26)(function(){\n\t return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(3)\n\t , core = __webpack_require__(2)\n\t , ctx = __webpack_require__(23)\n\t , hide = __webpack_require__(6)\n\t , PROTOTYPE = 'prototype';\n\t\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , expProto = exports[PROTOTYPE]\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(a, b, c){\n\t if(this instanceof C){\n\t switch(arguments.length){\n\t case 0: return new C;\n\t case 1: return new C(a);\n\t case 2: return new C(a, b);\n\t } return new C(a, b, c);\n\t } return C.apply(this, arguments);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n\t if(IS_PROTO){\n\t (exports.virtual || (exports.virtual = {}))[key] = out;\n\t // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n\t if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n\t }\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library` \n\tmodule.exports = $export;\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function(it, key){\n\t return hasOwnProperty.call(it, key);\n\t};\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(5)\n\t , IE8_DOM_DEFINE = __webpack_require__(57)\n\t , toPrimitive = __webpack_require__(75)\n\t , dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes){\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if(IE8_DOM_DEFINE)try {\n\t return dP(O, P, Attributes);\n\t } catch(e){ /* empty */ }\n\t if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n\t if('value' in Attributes)O[P] = Attributes.value;\n\t return O;\n\t};\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(58)\n\t , defined = __webpack_require__(15);\n\tmodule.exports = function(it){\n\t return IObject(defined(it));\n\t};\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _from = __webpack_require__(42);\n\t\n\tvar _from2 = _interopRequireDefault(_from);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (arr) {\n\t if (Array.isArray(arr)) {\n\t for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n\t arr2[i] = arr[i];\n\t }\n\t\n\t return arr2;\n\t } else {\n\t return (0, _from2.default)(arr);\n\t }\n\t};\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(bitmap, value){\n\t return {\n\t enumerable : !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable : !(bitmap & 4),\n\t value : value\n\t };\n\t};\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(30)('keys')\r\n\t , uid = __webpack_require__(33);\r\n\tmodule.exports = function(key){\r\n\t return shared[key] || (shared[key] = uid(key));\r\n\t};\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil\n\t , floor = Math.floor;\n\tmodule.exports = function(it){\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(73)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(27)(String, 'String', function(iterated){\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , index = this._i\n\t , point;\n\t if(index >= O.length)return {value: undefined, done: true};\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return {value: point, done: false};\n\t});\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(48), __esModule: true };\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(22)\n\t , TAG = __webpack_require__(1)('toStringTag')\n\t // ES3 wrong here\n\t , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function(it, key){\n\t try {\n\t return it[key];\n\t } catch(e){ /* empty */ }\n\t};\n\t\n\tmodule.exports = function(it){\n\t var O, T, B;\n\t return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t // @@toStringTag case\n\t : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t // builtinTag case\n\t : ARG ? cof(O)\n\t // ES3 arguments fallback\n\t : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function(it){\n\t return toString.call(it).slice(8, -1);\n\t};\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(52);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(11)\n\t , document = __webpack_require__(3).document\n\t // in old IE typeof document.createElement is 'object'\n\t , is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function(it){\n\t return is ? document.createElement(it) : {};\n\t};\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t// IE 8- don't enum bug keys\r\n\tmodule.exports = (\r\n\t 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n\t).split(',');\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(65)\n\t , $export = __webpack_require__(9)\n\t , redefine = __webpack_require__(72)\n\t , hide = __webpack_require__(6)\n\t , has = __webpack_require__(10)\n\t , Iterators = __webpack_require__(4)\n\t , $iterCreate = __webpack_require__(62)\n\t , setToStringTag = __webpack_require__(29)\n\t , getPrototypeOf = __webpack_require__(68)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n\t , FF_ITERATOR = '@@iterator'\n\t , KEYS = 'keys'\n\t , VALUES = 'values';\n\t\n\tvar returnThis = function(){ return this; };\n\t\n\tmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function(kind){\n\t if(!BUGGY && kind in proto)return proto[kind];\n\t switch(kind){\n\t case KEYS: return function keys(){ return new Constructor(this, kind); };\n\t case VALUES: return function values(){ return new Constructor(this, kind); };\n\t } return function entries(){ return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator'\n\t , DEF_VALUES = DEFAULT == VALUES\n\t , VALUES_BUG = false\n\t , proto = Base.prototype\n\t , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n\t , $default = $native || getMethod(DEFAULT)\n\t , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n\t , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n\t , methods, key, IteratorPrototype;\n\t // Fix native\n\t if($anyNative){\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n\t if(IteratorPrototype !== Object.prototype){\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if(DEF_VALUES && $native && $native.name !== VALUES){\n\t VALUES_BUG = true;\n\t $default = function values(){ return $native.call(this); };\n\t }\n\t // Define iterator\n\t if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if(DEFAULT){\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if(FORCED)for(key in methods){\n\t if(!(key in proto))redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\n\tvar $keys = __webpack_require__(69)\r\n\t , enumBugKeys = __webpack_require__(25);\r\n\t\r\n\tmodule.exports = Object.keys || function keys(O){\r\n\t return $keys(O, enumBugKeys);\r\n\t};\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(12).f\n\t , has = __webpack_require__(10)\n\t , TAG = __webpack_require__(1)('toStringTag');\n\t\n\tmodule.exports = function(it, tag, stat){\n\t if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n\t};\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(3)\n\t , SHARED = '__core-js_shared__'\n\t , store = global[SHARED] || (global[SHARED] = {});\n\tmodule.exports = function(key){\n\t return store[key] || (store[key] = {});\n\t};\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(18)\n\t , min = Math.min;\n\tmodule.exports = function(it){\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(15);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ },\n/* 33 */\n/***/ function(module, exports) {\n\n\tvar id = 0\n\t , px = Math.random();\n\tmodule.exports = function(key){\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(21)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , Iterators = __webpack_require__(4);\n\tmodule.exports = __webpack_require__(2).getIteratorMethod = function(it){\n\t if(it != undefined)return it[ITERATOR]\n\t || it['@@iterator']\n\t || Iterators[classof(it)];\n\t};\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(79);\n\tvar global = __webpack_require__(3)\n\t , hide = __webpack_require__(6)\n\t , Iterators = __webpack_require__(4)\n\t , TO_STRING_TAG = __webpack_require__(1)('toStringTag');\n\t\n\tfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n\t var NAME = collections[i]\n\t , Collection = global[NAME]\n\t , proto = Collection && Collection.prototype;\n\t if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = Iterators.Array;\n\t}\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var RIPPLE_COMPONENT = 'MaterialRipple';\n\t var VK_TAB = 9;\n\t var VK_ENTER = 13;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var PANEL = 'mdlext-accordion__panel';\n\t var HEADER = 'mdlext-accordion__panel__header';\n\t var HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n\t var IS_UPGRADED = 'is-upgraded';\n\t var RIPPLE = 'mdl-ripple';\n\t var RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n\t var RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n\t var RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\t\n\t /**\n\t * Class constructor for Accordion MDLEXT component.\n\t * Implements MDL component design pattern defined at:\n\t * https://github.com/jasonmayes/mdl-component-design-pattern\n\t *\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtAccordion = function MaterialExtAccordion(element) {\n\t // Stores the Accordion HTML element.\n\t this.element_ = element;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t\n\t window['MaterialExtAccordion'] = MaterialExtAccordion;\n\t\n\t /**\n\t * Handles custom command event, 'open', 'close', or 'toggle'\n\t * @param event. A custom event\n\t * @private\n\t */\n\t MaterialExtAccordion.prototype.commandHandler_ = function (event) {\n\t var _this = this;\n\t\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (event.detail && event.detail.action) {\n\t (function () {\n\t var action = event.detail.action.toLowerCase();\n\t\n\t if ('open' === action || 'close' === action || 'toggle' === action) {\n\t\n\t if (event.detail.target === undefined) {\n\t\n\t if (_this.element_.hasAttribute('aria-multiselectable') && 'false' !== _this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\t\n\t [].concat((0, _toConsumableArray3.default)(_this.element_.querySelectorAll('.' + PANEL))).forEach(function (panel) {\n\t panel.dispatchEvent((0, _customEvent.createCustomEvent)('command_', {\n\t detail: { action: action }\n\t }));\n\t });\n\t }\n\t } else if (event.detail.target !== null) {\n\t\n\t event.detail.target.dispatchEvent(\n\t // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n\t (0, _customEvent.createCustomEvent)('command_', {\n\t bubbles: true, detail: { action: action }\n\t }));\n\t }\n\t }\n\t })();\n\t }\n\t };\n\t\n\t /**\n\t * Initialize accordion's panels\n\t *\n\t * @private\n\t */\n\t MaterialExtAccordion.prototype.initAccordion_ = function () {\n\t var _this2 = this;\n\t\n\t this.element_.setAttribute('role', 'tablist');\n\t\n\t if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n\t this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\t }\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + PANEL))).forEach(function (panel) {\n\t new MaterialExtAccordionPanel(panel, _this2);\n\t });\n\t\n\t this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\t\n\t this.element_.classList.add(IS_UPGRADED);\n\t };\n\t\n\t /**\n\t * Initialize Accordion element.\n\t */\n\t MaterialExtAccordion.prototype.init = function () {\n\t if (this.element_) {\n\t this.initAccordion_();\n\t }\n\t };\n\t\n\t /**\n\t * Constructor for an individual accordion panel.\n\t *\n\t * @constructor\n\t * @param {Element} panel The HTML element for the tab.\n\t * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n\t */\n\t function MaterialExtAccordionPanel(panel, ctx) {\n\t\n\t var header = panel.querySelector('.' + HEADER);\n\t if (header === null) {\n\t throw new Error('There must be a header element for each accordion panel.');\n\t }\n\t\n\t header.setAttribute('role', 'tab');\n\t\n\t var a = header.querySelector('a.' + HEADER_TABSTOP);\n\t if (a === null) {\n\t // An anchor is required for focus/tab stop\n\t a = document.createElement('a');\n\t a.href = '#';\n\t a.classList.add(HEADER_TABSTOP);\n\t header.appendChild(a);\n\t }\n\t\n\t panel.setAttribute('role', 'tabpanel');\n\t\n\t if (panel.hasAttribute('open')) {\n\t header.setAttribute('aria-expanded', '');\n\t } else {\n\t header.setAttribute('aria-hidden', '');\n\t }\n\t\n\t if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n\t var rippleContainer = a;\n\t rippleContainer.classList.add(RIPPLE_CONTAINER);\n\t rippleContainer.classList.add(RIPPLE_EFFECT);\n\t var ripple = document.createElement('span');\n\t ripple.classList.add(RIPPLE);\n\t rippleContainer.appendChild(ripple);\n\t componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n\t }\n\t\n\t header.addEventListener('click', function (event) {\n\t\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (!panel.hasAttribute('disabled')) {\n\t\n\t if (panel.hasAttribute('open')) {\n\t\n\t closePanel(panel, header);\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('close', panel, ctx.element_);\n\t } else {\n\t if (ctx.element_.hasAttribute('aria-multiselectable') && 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\t\n\t var _openPanel = ctx.element_.querySelector('.' + PANEL + '[open]');\n\t if (_openPanel) {\n\t closePanel(_openPanel, _openPanel.querySelector('.' + HEADER));\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('close', _openPanel, ctx.element_);\n\t }\n\t removeAriaSelectedAttribute();\n\t }\n\t\n\t openPanel(panel, header);\n\t\n\t // Dispatch toggle event to accordion element\n\t dispatchToggleEvent('open', panel, ctx.element_);\n\t }\n\t focus(panel);\n\t }\n\t }, true);\n\t\n\t header.addEventListener('keydown', function (event) {\n\t if (event.keyCode === VK_TAB || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t var panels = panel.parentNode.children;\n\t var nextPanel = null;\n\t var n = panel.parentNode.childElementCount - 1;\n\t\n\t for (var i = 0; i <= n; i++) {\n\t\n\t if (event.keyCode === VK_HOME) {\n\t nextPanel = panels[0];\n\t break;\n\t } else if (event.keyCode === VK_END) {\n\t nextPanel = panels[n];\n\t break;\n\t }\n\t\n\t if (panels[i] == panel) {\n\t if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t nextPanel = i > 0 ? panels[i - 1] : panels[n];\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t nextPanel = i < n ? panels[i + 1] : panels[0];\n\t } else if (event.keyCode === VK_TAB) {\n\t if (event.shiftKey) {\n\t if (i > 0 && !panels[i - 1].hasAttribute('open')) {\n\t nextPanel = panels[i - 1];\n\t }\n\t } else if (i < n) {\n\t if (!panel.hasAttribute('open')) {\n\t nextPanel = panels[i + 1];\n\t }\n\t }\n\t } else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t // Trigger mouse click event for any attached listeners.\n\t var evt = new MouseEvent('click', {\n\t bubbles: true,\n\t cancelable: true,\n\t view: window\n\t });\n\t header.dispatchEvent(evt);\n\t }\n\t break;\n\t }\n\t }\n\t if (nextPanel) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t focus(nextPanel);\n\t }\n\t }\n\t }, true);\n\t\n\t panel.addEventListener('command_', function (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t if (event.detail && event.detail.action) {\n\t var action = event.detail.action.toLowerCase();\n\t switch (action) {\n\t case 'open':\n\t openPanel(panel, header);\n\t break;\n\t case 'close':\n\t closePanel(panel, header);\n\t break;\n\t case 'toggle':\n\t togglePanel(panel, header);\n\t break;\n\t }\n\t }\n\t });\n\t\n\t function togglePanel(panel, header) {\n\t if (panel.hasAttribute('open')) {\n\t closePanel(panel, header);\n\t } else {\n\t openPanel(panel, header);\n\t }\n\t }\n\t\n\t function openPanel(panel, header) {\n\t if (!panel.hasAttribute('disabled')) {\n\t panel.setAttribute('open', '');\n\t header.setAttribute('aria-expanded', '');\n\t header.setAttribute('aria-selected', '');\n\t header.removeAttribute('aria-hidden', '');\n\t }\n\t }\n\t\n\t function closePanel(panel, header) {\n\t if (!panel.hasAttribute('disabled')) {\n\t panel.removeAttribute('open');\n\t header.removeAttribute('aria-expanded');\n\t header.setAttribute('aria-hidden', '');\n\t }\n\t }\n\t\n\t function removeAriaSelectedAttribute() {\n\t var selectedHeader = ctx.element_.querySelector('.' + HEADER + '[aria-selected]');\n\t if (selectedHeader) {\n\t selectedHeader.removeAttribute('aria-selected');\n\t }\n\t }\n\t\n\t function focus(nextPanel) {\n\t var a = nextPanel.querySelector('.' + HEADER + ' a');\n\t if (a) {\n\t removeAriaSelectedAttribute();\n\t a.focus();\n\t nextPanel.querySelector('.' + HEADER).setAttribute('aria-selected', '');\n\t }\n\t }\n\t\n\t function dispatchToggleEvent(state, source, target) {\n\t var evt = (0, _customEvent.createCustomEvent)('toggle', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: { state: state, source: source }\n\t });\n\t target.dispatchEvent(evt);\n\t }\n\t }\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t componentHandler.register({\n\t constructor: MaterialExtAccordion,\n\t classAsString: 'MaterialExtAccordion',\n\t cssClass: 'mdlext-js-accordion',\n\t widget: true\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * A WAI-ARIA friendly accordion component.\n\t * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n\t * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n\t * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n\t * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n\t * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n\t */\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t__webpack_require__(7);\n\t\n\t__webpack_require__(41);\n\t\n\t__webpack_require__(40);\n\t\n\t__webpack_require__(36);\n\t\n\t__webpack_require__(38);\n\t\n\t__webpack_require__(39);\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var VK_TAB = 9;\n\t var VK_ENTER = 13;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var LIGHTBOARD = 'mdlext-lightboard';\n\t var SLIDE = 'mdlext-lightboard__slide';\n\t var SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n\t var RIPPLE_COMPONENT = 'MaterialRipple';\n\t var RIPPLE = 'mdl-ripple';\n\t var RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n\t var RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n\t var RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\t\n\t /**\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtLightboard = function MaterialExtLightboard(element) {\n\t // Stores the element.\n\t this.element_ = element;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t window['MaterialExtLightboard'] = MaterialExtLightboard;\n\t\n\t /**\n\t * Initialize lightboard slides\n\t *\n\t * @private\n\t */\n\t MaterialExtLightboard.prototype.initLightboard_ = function () {\n\t\n\t this.element_.setAttribute('role', 'grid');\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + SLIDE))).forEach(function (slide) {\n\t return slide.setAttribute('role', 'cell');\n\t });\n\t\n\t if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n\t this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + SLIDE))).forEach(function (slide) {\n\t return addRipple(slide);\n\t });\n\t }\n\t\n\t /**\n\t * Trigger when user cliks on a slide\n\t */\n\t this.element_.addEventListener('click', function (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t var slide = getSlide(event.target);\n\t\n\t if (event.target !== this) {\n\t focus(slide);\n\t\n\t // Remove 'aria-selected' attribute\n\t [].concat((0, _toConsumableArray3.default)(this.children)) // Should I use querySelectorAll ???\n\t .filter(function (panel) {\n\t return panel.hasAttribute('aria-selected');\n\t }).forEach(function (selected) {\n\t return selected.removeAttribute('aria-selected');\n\t });\n\t\n\t // Set 'aria-selected' on current slide\n\t slide.setAttribute('aria-selected', '');\n\t\n\t var evt = (0, _customEvent.createCustomEvent)('select', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: { source: slide }\n\t });\n\t this.dispatchEvent(evt);\n\t }\n\t }.bind(this.element_), true);\n\t\n\t /**\n\t * Trigger when user presses a keboard key\n\t */\n\t this.element_.addEventListener('keydown', function (event) {\n\t // Maybe this function should be throttled??\n\t if (event.keyCode === VK_TAB || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t if (event.target !== this) {\n\t var panel = getSlide(event.target);\n\t var panels = this.children;\n\t var nextPanel = null;\n\t var n = this.childElementCount - 1;\n\t\n\t for (var i = 0; i <= n; i++) {\n\t if (event.keyCode === VK_HOME) {\n\t nextPanel = panels[0];\n\t break;\n\t } else if (event.keyCode === VK_END) {\n\t nextPanel = panels[n];\n\t break;\n\t }\n\t\n\t if (panels[i] === panel) {\n\t if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t nextPanel = i > 0 ? panels[i - 1] : panels[n];\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t nextPanel = i < n ? panels[i + 1] : panels[0];\n\t } else if (event.keyCode === VK_TAB) {\n\t if (event.shiftKey) {\n\t if (i > 0) {\n\t nextPanel = panels[i - 1];\n\t }\n\t } else if (i < n) {\n\t nextPanel = panels[i + 1];\n\t }\n\t } else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t // Trigger mouse click event for any attached listeners.\n\t var evt = new MouseEvent('click', {\n\t bubbles: true,\n\t cancelable: true,\n\t view: window\n\t });\n\t panel.dispatchEvent(evt);\n\t }\n\t break;\n\t }\n\t }\n\t if (nextPanel) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t focus(nextPanel);\n\t }\n\t }\n\t }\n\t }.bind(this.element_), true);\n\t\n\t this.element_.classList.add(IS_UPGRADED);\n\t };\n\t\n\t function getSlide(element) {\n\t if (!element || element.classList.contains(LIGHTBOARD)) {\n\t return null;\n\t }\n\t return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n\t }\n\t\n\t function focus(slide) {\n\t if (slide) {\n\t var a = slide.querySelector('a.' + SLIDE_TABSTOP);\n\t if (a) {\n\t a.focus();\n\t }\n\t }\n\t }\n\t\n\t function addRipple(slide) {\n\t // Use anchor as ripple container\n\t var a = slide.querySelector('a.' + SLIDE_TABSTOP);\n\t if (a) {\n\t var rippleContainer = a;\n\t rippleContainer.classList.add(RIPPLE_CONTAINER);\n\t rippleContainer.classList.add(RIPPLE_EFFECT);\n\t var ripple = document.createElement('span');\n\t ripple.classList.add(RIPPLE);\n\t rippleContainer.appendChild(ripple);\n\t componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n\t }\n\t }\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtLightboard.prototype.init = function () {\n\t if (this.element_) {\n\t this.initLightboard_();\n\t }\n\t };\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t /* jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtLightboard,\n\t classAsString: 'MaterialExtLightboard',\n\t cssClass: 'mdlext-js-lightboard',\n\t widget: true\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * A lightboard is a translucent surface illuminated from behind, used for situations\n\t * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n\t * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n\t * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n\t */\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _toConsumableArray2 = __webpack_require__(14);\n\t\n\tvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\t\n\tvar _isInteger = __webpack_require__(44);\n\t\n\tvar _isInteger2 = _interopRequireDefault(_isInteger);\n\t\n\tvar _slicedToArray2 = __webpack_require__(46);\n\t\n\tvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\t\n\tvar _entries = __webpack_require__(45);\n\t\n\tvar _entries2 = _interopRequireDefault(_entries);\n\t\n\tvar _getIterator2 = __webpack_require__(20);\n\t\n\tvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\t\n\tvar _customEvent = __webpack_require__(7);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var VK_ESC = 27;\n\t var VK_SPACE = 32;\n\t var VK_END = 35;\n\t var VK_HOME = 36;\n\t var VK_ARROW_LEFT = 37;\n\t var VK_ARROW_UP = 38;\n\t var VK_ARROW_RIGHT = 39;\n\t var VK_ARROW_DOWN = 40;\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var LIGHTBOX_CLASS = 'mdlext-lightbox';\n\t var STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n\t var BUTTON_CLASS = 'mdl-button';\n\t\n\t /**\n\t * https://github.com/google/material-design-lite/issues/4205\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtLightbox = function MaterialExtLightbox(element) {\n\t // Stores the element.\n\t this.element_ = element;\n\t\n\t // false: allow rAF to be called, true: blocks rAF\n\t this.drawing_ = false;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t window['MaterialExtLightbox'] = MaterialExtLightbox;\n\t\n\t /**\n\t * Handle keypress\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.keyDownHandler_ = function (event) {\n\t\n\t if (event) {\n\t if (event.keyCode === VK_ESC || event.keyCode === VK_SPACE || event.keyCode === VK_END || event.keyCode === VK_HOME || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t\n\t if (event.keyCode !== VK_ESC) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t }\n\t\n\t var action = 'first';\n\t if (event.keyCode === VK_END) {\n\t action = 'last';\n\t } else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n\t action = 'prev';\n\t } else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\t action = 'next';\n\t } else if (event.keyCode === VK_SPACE) {\n\t action = 'select';\n\t } else if (event.keyCode === VK_ESC) {\n\t action = 'cancel';\n\t }\n\t\n\t dispatchAction_(action, this);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Handle button clicks\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.buttonClickHandler_ = function (event) {\n\t\n\t if (event) {\n\t event.preventDefault();\n\t event.stopPropagation();\n\t\n\t dispatchAction_(this.getAttribute('data-action') || '', this);\n\t\n\t var n = this;\n\t while ((n = n.parentNode) != null) {\n\t if (n.classList.contains(LIGHTBOX_CLASS)) {\n\t n.focus();\n\t break;\n\t }\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Dispatches an action custom event\n\t * @param action\n\t * @param source\n\t * @param target\n\t * @private\n\t */\n\t function dispatchAction_(action, source) {\n\t var target = arguments.length <= 2 || arguments[2] === undefined ? source : arguments[2];\n\t\n\t\n\t target.dispatchEvent((0, _customEvent.createCustomEvent)('action', {\n\t bubbles: true,\n\t cancelable: true,\n\t detail: {\n\t action: action || '',\n\t source: source\n\t }\n\t }));\n\t }\n\t\n\t /**\n\t * Reposition dialog if component parent element is \"DIALOG\"\n\t * @param lightboxElement\n\t * @private\n\t */\n\t function repositionDialog_(lightboxElement) {\n\t var footerHeight = function footerHeight(footer, isSticky) {\n\t return isSticky && footer ? footer.offsetHeight : 0;\n\t };\n\t\n\t var reposition = function reposition(dialog, fh) {\n\t if (window.getComputedStyle(dialog).position === 'absolute') {\n\t var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n\t var topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n\t dialog.style.top = Math.max(scrollTop, topValue) + 'px';\n\t }\n\t };\n\t\n\t var dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n\t if (dialog && dialog.hasAttribute('open')) {\n\t lightboxElement.style.width = 'auto';\n\t lightboxElement.style.maxWidth = '100%';\n\t var img = lightboxElement.querySelector('img');\n\t if (img) {\n\t lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? img.naturalWidth + 'px' : img.width + 'px' || '100%';\n\t }\n\t\n\t var fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n\t var vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n\t if (dialog.offsetHeight > vh) {\n\t var n = 0;\n\t while (dialog.offsetHeight > vh && ++n < 4) {\n\t lightboxElement.style.width = lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight + 'px';\n\t }\n\t }\n\t reposition(dialog, fh);\n\t }\n\t }\n\t\n\t /**\n\t * Handle image load\n\t * @param event\n\t * @private\n\t */\n\t\n\t MaterialExtLightbox.prototype.imgLoadHandler_ = function () /*event*/{\n\t repositionDialog_(this);\n\t };\n\t\n\t /**\n\t * Handle image drag\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtLightbox.prototype.imgDragHandler_ = function (event) {\n\t\n\t var setStyles = function setStyles(element, properties) {\n\t //noinspection JSAnnotator\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = (0, _getIterator3.default)((0, _entries2.default)(properties)), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var _step$value = (0, _slicedToArray3.default)(_step.value, 2);\n\t\n\t var key = _step$value[0];\n\t var value = _step$value[1];\n\t\n\t element.style[key] = value;\n\t }\n\t // ... or:\n\t //for (const key in properties) {\n\t // element.style[key] = properties[key];\n\t //}\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t };\n\t\n\t event.preventDefault();\n\t //event.stopPropagation();\n\t\n\t var x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\t\n\t var img = this;\n\t img.style.opacity = '0.2';\n\t\n\t var slider = document.createElement('div');\n\t slider.classList.add('mdlext-lightbox__slider');\n\t setStyles(slider, { 'width': img.offsetWidth + 'px', 'height': img.offsetHeight + 'px' });\n\t\n\t var slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t slide.textContent = '>';\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'line-height': img.offsetHeight + 'px',\n\t 'font-size': img.offsetHeight / 4 + 'px',\n\t 'text-align': 'right',\n\t 'background-image': 'url(\"' + (img.getAttribute('data-img-url-prev') || '') + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'background-image': 'url(\"' + img.src + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t slide = document.createElement('div');\n\t slide.classList.add('mdlext-lightbox__slider__slide');\n\t slide.textContent = '<';\n\t setStyles(slide, {\n\t 'width': img.offsetWidth + 'px',\n\t 'height': img.offsetHeight + 'px',\n\t 'line-height': img.offsetHeight + 'px',\n\t 'font-size': img.offsetHeight / 4 + 'px',\n\t 'text-align': 'left',\n\t 'background-image': 'url(\"' + (img.getAttribute('data-img-url-next') || '') + '\")'\n\t });\n\t slider.appendChild(slide);\n\t\n\t img.parentNode.appendChild(slider);\n\t\n\t // drag handler\n\t var drag = function drag(e) {\n\t e.preventDefault();\n\t var dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\t\n\t if (slider.offsetWidth - Math.abs(dx) > 19) {\n\t slider.style.left = dx + 'px';\n\t }\n\t };\n\t\n\t // end drag handler\n\t var endDrag = function endDrag(e) {\n\t e.preventDefault();\n\t //e.stopPropagation();\n\t\n\t window.removeEventListener('mousemove', drag);\n\t window.removeEventListener('touchmove', drag);\n\t window.removeEventListener('mouseup', endDrag);\n\t window.removeEventListener('touchend', endDrag);\n\t\n\t var dx = slider.offsetLeft;\n\t img.parentNode.removeChild(slider);\n\t img.style.opacity = '1.0';\n\t\n\t if (Math.abs(dx) > 19) {\n\t dispatchAction_(dx > 0 ? 'prev' : 'next', img);\n\t }\n\t };\n\t\n\t window.addEventListener('mousemove', drag);\n\t window.addEventListener('touchmove', drag);\n\t window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n\t window.addEventListener('touchend', endDrag);\n\t };\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtLightbox.prototype.init = function () {\n\t var _this = this;\n\t\n\t if (this.element_) {\n\t // Do the init required for this component to work\n\t this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\t\n\t if (!(0, _isInteger2.default)(this.element_.getAttribute('tabindex'))) {\n\t this.element_.setAttribute('tabindex', 1);\n\t }\n\t\n\t [].concat((0, _toConsumableArray3.default)(this.element_.querySelectorAll('.' + BUTTON_CLASS))).forEach(function (button) {\n\t return button.addEventListener('click', _this.buttonClickHandler_.bind(button), false);\n\t });\n\t\n\t var figcaption = this.element_.querySelector('figcaption');\n\t if (figcaption) {\n\t figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n\t }\n\t\n\t var footer = this.element_.querySelector('footer');\n\t if (footer) {\n\t footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n\t }\n\t\n\t var img = this.element_.querySelector('img');\n\t if (img) {\n\t img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n\t img.addEventListener('click', function (e) {\n\t return e.preventDefault();\n\t }, true);\n\t img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n\t img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n\t }\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t window.addEventListener('resize', function () {\n\t if (!_this.drawing_) {\n\t // Assumes MDL has polyfilled rAF\n\t window.requestAnimationFrame(function () {\n\t repositionDialog_(_this.element_);\n\t _this.drawing_ = false;\n\t });\n\t }\n\t _this.drawing_ = true;\n\t });\n\t\n\t window.addEventListener('orientationchange', function () {\n\t return repositionDialog_(_this.element_);\n\t });\n\t\n\t // Set upgraded flag\n\t this.element_.classList.add(IS_UPGRADED);\n\t }\n\t };\n\t\n\t /*\n\t * Downgrade component\n\t * E.g remove listeners and clean up resources\n\t * Note: There is a bug i material component container; downgrade is never called!\n\t * Disables method temporarly to keep code coverage at 100% for functions.\n\t *\n\t MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\t if (this.element_) {\n\t [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n\t button => button.removeEventListener('click', this.buttonClickHandler_)\n\t );\n\t this.element_.removeEventListener('keydown', this.keyDownHandler_);\n\t }\n\t };\n\t */\n\t\n\t /**\n\t * The component registers itself. It can assume componentHandler is available in the global scope.\n\t */\n\t /* jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtLightbox,\n\t classAsString: 'MaterialExtLightbox',\n\t cssClass: 'mdlext-js-lightbox'\n\t });\n\t})(); /**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\n\t/**\n\t * Responsive Lightbox\n\t */\n\n/***/ },\n/* 40 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\t\n\t/*\n\t * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n\t */\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t /**\n\t * Class constructor for Selectfield MDLEXT component.\n\t * Implements MDL component design pattern defined at:\n\t * https://github.com/jasonmayes/mdl-component-design-pattern\n\t *\n\t * @constructor\n\t * @param {HTMLElement} element The element that will be upgraded.\n\t */\n\t\n\t var MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n\t this.element_ = element;\n\t this.init(); // Initialize instance.\n\t };\n\t\n\t window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\t\n\t /**\n\t * Store constants in one place so they can be updated easily.\n\t *\n\t * @enum {string | number}\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.Constant_ = {};\n\t\n\t /**\n\t * Store strings for class names defined by this component that are used in\n\t * JavaScript. This allows us to simply change it in one place should we\n\t * decide to modify at a later date.\n\t *\n\t * @enum {string}\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.CssClasses_ = {\n\t LABEL: 'mdlext-selectfield__label',\n\t INPUT: 'mdlext-selectfield__select',\n\t IS_DIRTY: 'is-dirty',\n\t IS_FOCUSED: 'is-focused',\n\t IS_DISABLED: 'is-disabled',\n\t IS_INVALID: 'is-invalid',\n\t IS_UPGRADED: 'is-upgraded'\n\t };\n\t\n\t /**\n\t * Handle focus.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t /*eslint no-unused-vars: 0*/\n\t MaterialExtSelectfield.prototype.onFocus_ = function (event) {\n\t this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n\t };\n\t\n\t /**\n\t * Handle lost focus.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t /*eslint no-unused-vars: 0*/\n\t MaterialExtSelectfield.prototype.onBlur_ = function (event) {\n\t this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n\t };\n\t\n\t /**\n\t * Handle reset event from out side.\n\t *\n\t * @param {Event} event The event that fired.\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.onReset_ = function (event) {\n\t this.updateClasses_();\n\t };\n\t\n\t /**\n\t * Handle class updates.\n\t *\n\t * @private\n\t */\n\t MaterialExtSelectfield.prototype.updateClasses_ = function () {\n\t this.checkDisabled();\n\t this.checkValidity();\n\t this.checkDirty();\n\t this.checkFocus();\n\t };\n\t\n\t // Public methods.\n\t\n\t /**\n\t * Check the disabled state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkDisabled = function () {\n\t if (this.select_.disabled) {\n\t this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n\t }\n\t };\n\t MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\t\n\t /**\n\t * Check the focus state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkFocus = function () {\n\t /*eslint no-extra-boolean-cast: 0*/\n\t if (Boolean(this.element_.querySelector(':focus'))) {\n\t this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n\t }\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\t\n\t /**\n\t * Check the validity state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkValidity = function () {\n\t\n\t /* Don't think it makes any sense to check validity.\n\t Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\t if (this.select_.validity) {\n\t if (this.select_.validity.valid) {\n\t this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n\t } else {\n\t this.element_.classList.add(this.CssClasses_.IS_INVALID);\n\t }\n\t }\n\t */\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\t\n\t /**\n\t * Check the dirty state and update field accordingly.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.checkDirty = function () {\n\t if (this.select_.value && this.select_.value.length > 0) {\n\t this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n\t } else {\n\t this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n\t }\n\t };\n\t\n\t MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\t\n\t /**\n\t * Disable select field.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.disable = function () {\n\t this.select_.disabled = true;\n\t this.updateClasses_();\n\t };\n\t\n\t MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\t\n\t /**\n\t * Enable select field.\n\t *\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.enable = function () {\n\t this.select_.disabled = false;\n\t this.updateClasses_();\n\t };\n\t\n\t MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\t\n\t /**\n\t * Update select field value.\n\t *\n\t * @param {string} value The value to which to set the control (optional).\n\t * @public\n\t */\n\t MaterialExtSelectfield.prototype.change = function (value) {\n\t this.select_.value = value || '';\n\t this.updateClasses_();\n\t };\n\t MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\t\n\t /**\n\t * Initialize element.\n\t */\n\t MaterialExtSelectfield.prototype.init = function () {\n\t if (this.element_) {\n\t this.label_ = this.element_.querySelector('.' + this.CssClasses_.LABEL);\n\t this.select_ = this.element_.querySelector('.' + this.CssClasses_.INPUT);\n\t\n\t if (this.select_) {\n\t this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n\t this.boundFocusHandler = this.onFocus_.bind(this);\n\t this.boundBlurHandler = this.onBlur_.bind(this);\n\t this.boundResetHandler = this.onReset_.bind(this);\n\t this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n\t this.select_.addEventListener('focus', this.boundFocusHandler);\n\t this.select_.addEventListener('blur', this.boundBlurHandler);\n\t this.select_.addEventListener('reset', this.boundResetHandler);\n\t\n\t var invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n\t this.updateClasses_();\n\t this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\t\n\t if (invalid) {\n\t this.element_.classList.add(this.CssClasses_.IS_INVALID);\n\t }\n\t if (this.select_.hasAttribute('autofocus')) {\n\t this.element_.focus();\n\t this.checkFocus();\n\t }\n\t }\n\t }\n\t };\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /*eslint no-undef: 0*/\n\t /*jshint undef:false */\n\t componentHandler.register({\n\t constructor: MaterialExtSelectfield,\n\t classAsString: 'MaterialExtSelectfield',\n\t cssClass: 'mdlext-js-selectfield',\n\t widget: true\n\t });\n\t})();\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\t/**\n\t * @license\n\t * Copyright 2016 Leif Olsen. All Rights Reserved.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t *\n\t * This code is built with Google Material Design Lite,\n\t * which is Licensed under the Apache License, Version 2.0\n\t */\n\t\n\t/**\n\t * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n\t * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n\t * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n\t */\n\t\n\t(function () {\n\t 'use strict';\n\t\n\t var IS_UPGRADED = 'is-upgraded';\n\t var CONTENT_CLASS = 'mdl-layout__content';\n\t var IS_SCROLL_CLASS = 'mdlext-is-scroll';\n\t //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\t\n\t /**\n\t * @constructor\n\t * @param {Element} element The element that will be upgraded.\n\t */\n\t var MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n\t // Stores the element.\n\t this.header_ = element;\n\t\n\t // Heder listens to scroll events from content\n\t this.content_ = null;\n\t this.lastScrollTop_ = 0;\n\t\n\t // false: allow rAF to be called, true: blocks rAF\n\t this.drawing_ = false;\n\t\n\t // Initialize instance.\n\t this.init();\n\t };\n\t\n\t window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\t\n\t /**\n\t * Update header width\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.recalcWidth_ = function () {\n\t this.header_.style.width = this.content_.clientWidth + 'px';\n\t };\n\t\n\t /**\n\t * Adjust header width when window resizes or oreientation changes\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.resizeHandler_ = function () /* event */{\n\t var _this = this;\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t if (!this.drawing_) {\n\t // Assumes MDL has polyfilled rAF\n\t window.requestAnimationFrame(function () {\n\t _this.recalcWidth_();\n\t _this.drawing_ = false;\n\t });\n\t }\n\t this.drawing_ = true;\n\t };\n\t\n\t /**\n\t * Update header position\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.reposition_ = function () {\n\t\n\t var currentContentScrollTop = this.content_.scrollTop;\n\t var scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\t\n\t if (currentContentScrollTop <= 0) {\n\t // Scrolled to the top. Header sticks to the top\n\t this.header_.style.top = '0';\n\t this.header_.classList.remove(IS_SCROLL_CLASS);\n\t } else if (scrollDiff > 0) {\n\t\n\t if (scrollDiff >= this.header_.offsetHeight) {\n\t\n\t // Scrolled up. Header slides in\n\t var headerTop = parseInt(window.getComputedStyle(this.header_).getPropertyValue('top')) || 0;\n\t if (headerTop != 0) {\n\t this.header_.style.top = '0';\n\t this.header_.classList.add(IS_SCROLL_CLASS);\n\t }\n\t this.lastScrollTop_ = currentContentScrollTop;\n\t }\n\t return;\n\t } else if (scrollDiff < 0) {\n\t // Scrolled down\n\t this.header_.classList.add(IS_SCROLL_CLASS);\n\t var _headerTop = parseInt(window.getComputedStyle(this.header_).getPropertyValue('top')) || 0;\n\t\n\t if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n\t // Bottom of content\n\t if (_headerTop != 0) {\n\t this.header_.style.top = '0';\n\t }\n\t } else {\n\t _headerTop += scrollDiff;\n\t var offsetHeight = this.header_.offsetHeight;\n\t this.header_.style.top = (Math.abs(_headerTop) > offsetHeight ? -offsetHeight : _headerTop) + 'px';\n\t }\n\t }\n\t\n\t this.lastScrollTop_ = currentContentScrollTop;\n\t };\n\t\n\t /**\n\t * Scroll header when content scrolls\n\t * @param event\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.scrollHandler_ = function () /* event */{\n\t var _this2 = this;\n\t\n\t // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n\t if (!this.drawing_) {\n\t window.requestAnimationFrame(function () {\n\t _this2.reposition_();\n\t _this2.drawing_ = false;\n\t });\n\t }\n\t this.drawing_ = true;\n\t };\n\t\n\t /**\n\t * Init header position\n\t * @private\n\t */\n\t MaterialExtStickyHeader.prototype.updatePosition_ = function () /* event */{\n\t this.recalcWidth_();\n\t this.reposition_();\n\t };\n\t\n\t /**\n\t * Initialize component\n\t */\n\t MaterialExtStickyHeader.prototype.init = function () {\n\t var _this3 = this;\n\t\n\t if (this.header_) {\n\t this.content_ = this.header_.parentNode.querySelector('.' + CONTENT_CLASS) || null;\n\t\n\t if (this.content_) {\n\t this.content_.style.paddingTop = this.header_.offsetHeight + 'px'; // Make room for sticky header\n\t this.lastScrollTop_ = this.content_.scrollTop;\n\t\n\t this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n\t window.addEventListener('resize', this.resizeHandler_.bind(this));\n\t window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\t\n\t // Adjust header width if content changes (e.g. in a SPA)\n\t var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\t\n\t // jsdom does not support MutationObserver - so this is not testable\n\t /* istanbul ignore next */\n\t new MutationObserver(function () /*mutations*/{\n\t\n\t if (!_this3.drawing_) {\n\t window.requestAnimationFrame(function () {\n\t _this3.updatePosition_();\n\t _this3.drawing_ = false;\n\t });\n\t }\n\t _this3.drawing_ = true;\n\t }).observe(this.content_, {\n\t attributes: false,\n\t childList: true,\n\t characterData: false,\n\t subtree: true\n\t });\n\t\n\t // Set initial position\n\t this.updatePosition_();\n\t\n\t // Set upgraded flag\n\t this.header_.classList.add(IS_UPGRADED);\n\t }\n\t }\n\t };\n\t\n\t /*\n\t * Downgrade component\n\t * E.g remove listeners and clean up resources\n\t * Note: There is a bug i material component container; downgrade is never called!\n\t * Disables method temporarly to keep code coverage at 100% for functions.\n\t *\n\t MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n\t 'use strict';\n\t };\n\t */\n\t\n\t // The component registers itself. It can assume componentHandler is available\n\t // in the global scope.\n\t /* eslint no-undef: 0 */\n\t componentHandler.register({\n\t constructor: MaterialExtStickyHeader,\n\t classAsString: 'MaterialExtStickyHeader',\n\t cssClass: 'mdlext-js-sticky-header'\n\t });\n\t})();\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(47), __esModule: true };\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(49), __esModule: true };\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(50), __esModule: true };\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(51), __esModule: true };\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _isIterable2 = __webpack_require__(43);\n\t\n\tvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\t\n\tvar _getIterator2 = __webpack_require__(20);\n\t\n\tvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t function sliceIterator(arr, i) {\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\t var _e = undefined;\n\t\n\t try {\n\t for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\t\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"]) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\t\n\t return _arr;\n\t }\n\t\n\t return function (arr, i) {\n\t if (Array.isArray(arr)) {\n\t return arr;\n\t } else if ((0, _isIterable3.default)(Object(arr))) {\n\t return sliceIterator(arr, i);\n\t } else {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n\t }\n\t };\n\t}();\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(19);\n\t__webpack_require__(78);\n\tmodule.exports = __webpack_require__(2).Array.from;\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(35);\n\t__webpack_require__(19);\n\tmodule.exports = __webpack_require__(76);\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(35);\n\t__webpack_require__(19);\n\tmodule.exports = __webpack_require__(77);\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(80);\n\tmodule.exports = __webpack_require__(2).Number.isInteger;\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(81);\n\tmodule.exports = __webpack_require__(2).Object.entries;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ },\n/* 53 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(){ /* empty */ };\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(13)\n\t , toLength = __webpack_require__(31)\n\t , toIndex = __webpack_require__(74);\n\tmodule.exports = function(IS_INCLUDES){\n\t return function($this, el, fromIndex){\n\t var O = toIObject($this)\n\t , length = toLength(O.length)\n\t , index = toIndex(fromIndex, length)\n\t , value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t if(IS_INCLUDES && el != el)while(length > index){\n\t value = O[index++];\n\t if(value != value)return true;\n\t // Array#toIndex ignores holes, Array#includes - not\n\t } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n\t if(O[index] === el)return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\r\n\tvar $defineProperty = __webpack_require__(12)\r\n\t , createDesc = __webpack_require__(16);\r\n\t\r\n\tmodule.exports = function(object, index, value){\r\n\t if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n\t else object[index] = value;\r\n\t};\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(3).document && document.documentElement;\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(8) && !__webpack_require__(26)(function(){\r\n\t return Object.defineProperty(__webpack_require__(24)('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n\t});\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(22);\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(4)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function(it){\n\t return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar isObject = __webpack_require__(11)\n\t , floor = Math.floor;\n\tmodule.exports = function isInteger(it){\n\t return !isObject(it) && isFinite(it) && floor(it) === it;\n\t};\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(5);\n\tmodule.exports = function(iterator, fn, value, entries){\n\t try {\n\t return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t // 7.4.6 IteratorClose(iterator, completion)\n\t } catch(e){\n\t var ret = iterator['return'];\n\t if(ret !== undefined)anObject(ret.call(iterator));\n\t throw e;\n\t }\n\t};\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(66)\n\t , descriptor = __webpack_require__(16)\n\t , setToStringTag = __webpack_require__(29)\n\t , IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(6)(IteratorPrototype, __webpack_require__(1)('iterator'), function(){ return this; });\n\t\n\tmodule.exports = function(Constructor, NAME, next){\n\t Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(1)('iterator')\n\t , SAFE_CLOSING = false;\n\t\n\ttry {\n\t var riter = [7][ITERATOR]();\n\t riter['return'] = function(){ SAFE_CLOSING = true; };\n\t Array.from(riter, function(){ throw 2; });\n\t} catch(e){ /* empty */ }\n\t\n\tmodule.exports = function(exec, skipClosing){\n\t if(!skipClosing && !SAFE_CLOSING)return false;\n\t var safe = false;\n\t try {\n\t var arr = [7]\n\t , iter = arr[ITERATOR]();\n\t iter.next = function(){ return {done: safe = true}; };\n\t arr[ITERATOR] = function(){ return iter; };\n\t exec(arr);\n\t } catch(e){ /* empty */ }\n\t return safe;\n\t};\n\n/***/ },\n/* 64 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(done, value){\n\t return {value: value, done: !!done};\n\t};\n\n/***/ },\n/* 65 */\n/***/ function(module, exports) {\n\n\tmodule.exports = true;\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\n\tvar anObject = __webpack_require__(5)\r\n\t , dPs = __webpack_require__(67)\r\n\t , enumBugKeys = __webpack_require__(25)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO')\r\n\t , Empty = function(){ /* empty */ }\r\n\t , PROTOTYPE = 'prototype';\r\n\t\r\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\n\tvar createDict = function(){\r\n\t // Thrash, waste and sodomy: IE GC bug\r\n\t var iframe = __webpack_require__(24)('iframe')\r\n\t , i = enumBugKeys.length\r\n\t , gt = '>'\r\n\t , iframeDocument;\r\n\t iframe.style.display = 'none';\r\n\t __webpack_require__(56).appendChild(iframe);\r\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n\t // createDict = iframe.contentWindow.Object;\r\n\t // html.removeChild(iframe);\r\n\t iframeDocument = iframe.contentWindow.document;\r\n\t iframeDocument.open();\r\n\t iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n\t return O;\r\n\t};\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\n\tvar has = __webpack_require__(10)\r\n\t , toObject = __webpack_require__(32)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO')\r\n\t , ObjectProto = Object.prototype;\r\n\t\r\n\tmodule.exports = Object.getPrototypeOf || function(O){\r\n\t O = toObject(O);\r\n\t if(has(O, IE_PROTO))return O[IE_PROTO];\r\n\t if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n\t return O.constructor.prototype;\r\n\t } return O instanceof Object ? ObjectProto : null;\r\n\t};\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(10)\r\n\t , toIObject = __webpack_require__(13)\r\n\t , arrayIndexOf = __webpack_require__(54)(false)\r\n\t , IE_PROTO = __webpack_require__(17)('IE_PROTO');\r\n\t\r\n\tmodule.exports = function(object, names){\r\n\t var O = toIObject(object)\r\n\t , i = 0\r\n\t , result = []\r\n\t , key;\r\n\t for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n\t // Don't enum bug & hidden keys\r\n\t while(names.length > i)if(has(O, key = names[i++])){\r\n\t ~arrayIndexOf(result, key) || result.push(key);\r\n\t }\r\n\t return result;\r\n\t};\n\n/***/ },\n/* 70 */\n/***/ function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getKeys = __webpack_require__(28)\n\t , toIObject = __webpack_require__(13)\n\t , isEnum = __webpack_require__(70).f;\n\tmodule.exports = function(isEntries){\n\t return function(it){\n\t var O = toIObject(it)\n\t , keys = getKeys(O)\n\t , length = keys.length\n\t , i = 0\n\t , result = []\n\t , key;\n\t while(length > i)if(isEnum.call(O, key = keys[i++])){\n\t result.push(isEntries ? [key, O[key]] : O[key]);\n\t } return result;\n\t };\n\t};\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(6);\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(18)\n\t , defined = __webpack_require__(15);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function(TO_STRING){\n\t return function(that, pos){\n\t var s = String(defined(that))\n\t , i = toInteger(pos)\n\t , l = s.length\n\t , a, b;\n\t if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(18)\n\t , max = Math.max\n\t , min = Math.min;\n\tmodule.exports = function(index, length){\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(11);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function(it, S){\n\t if(!isObject(it))return it;\n\t var fn, val;\n\t if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(5)\n\t , get = __webpack_require__(34);\n\tmodule.exports = __webpack_require__(2).getIterator = function(it){\n\t var iterFn = get(it);\n\t if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n\t return anObject(iterFn.call(it));\n\t};\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(21)\n\t , ITERATOR = __webpack_require__(1)('iterator')\n\t , Iterators = __webpack_require__(4);\n\tmodule.exports = __webpack_require__(2).isIterable = function(it){\n\t var O = Object(it);\n\t return O[ITERATOR] !== undefined\n\t || '@@iterator' in O\n\t || Iterators.hasOwnProperty(classof(O));\n\t};\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar ctx = __webpack_require__(23)\n\t , $export = __webpack_require__(9)\n\t , toObject = __webpack_require__(32)\n\t , call = __webpack_require__(61)\n\t , isArrayIter = __webpack_require__(59)\n\t , toLength = __webpack_require__(31)\n\t , createProperty = __webpack_require__(55)\n\t , getIterFn = __webpack_require__(34);\n\t\n\t$export($export.S + $export.F * !__webpack_require__(63)(function(iter){ Array.from(iter); }), 'Array', {\n\t // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n\t from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n\t var O = toObject(arrayLike)\n\t , C = typeof this == 'function' ? this : Array\n\t , aLen = arguments.length\n\t , mapfn = aLen > 1 ? arguments[1] : undefined\n\t , mapping = mapfn !== undefined\n\t , index = 0\n\t , iterFn = getIterFn(O)\n\t , length, result, step, iterator;\n\t if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\t // if object isn't iterable or it's array with default iterator - use simple case\n\t if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n\t for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n\t createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n\t }\n\t } else {\n\t length = toLength(O.length);\n\t for(result = new C(length); length > index; index++){\n\t createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n\t }\n\t }\n\t result.length = index;\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(53)\n\t , step = __webpack_require__(64)\n\t , Iterators = __webpack_require__(4)\n\t , toIObject = __webpack_require__(13);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(27)(Array, 'Array', function(iterated, kind){\n\t this._t = toIObject(iterated); // target\n\t this._i = 0; // next index\n\t this._k = kind; // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , kind = this._k\n\t , index = this._i++;\n\t if(!O || index >= O.length){\n\t this._t = undefined;\n\t return step(1);\n\t }\n\t if(kind == 'keys' )return step(0, index);\n\t if(kind == 'values')return step(0, O[index]);\n\t return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar $export = __webpack_require__(9);\n\t\n\t$export($export.S, 'Number', {isInteger: __webpack_require__(60)});\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-values-entries\n\tvar $export = __webpack_require__(9)\n\t , $entries = __webpack_require__(71)(true);\n\t\n\t$export($export.S, 'Object', {\n\t entries: function entries(it){\n\t return $entries(it);\n\t }\n\t});\n\n/***/ },\n/* 82 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** mdl-ext.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap c8e9251b190ecc57f6ba\n **/","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 1\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '2.3.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 2\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 3\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 4\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 6\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Due to a bug in mdl-1.1.3 it is not possible to use a globally polyfilled CustomEvent constructor\n * Since I do not care too much about IE11, a brute force approach is sufficient.\n *\n * @param {string} typeArg Is a String representing the name of the event.\n * @param {Object} customEventInit Is an EventInit dictionary, having the following fields:\n * \"bubbles\", optional and defaulting to false, of type Boolean, indicating if the event bubbles or not.\n * \"cancelable\", optional and defaulting to false, of type Boolean, indicating if the event can be canceled or not.\n * \"detail\", optional and defaulting to null, of type any, that is an event-dependent value associated with the event.\n */\n\nexport function createCustomEvent( typeArg, customEventInit = { bubbles: false, cancelable: false, detail: null } ) {\n 'use strict';\n\n try {\n // Modern browsers\n return new window.CustomEvent(typeArg, customEventInit);\n }\n catch(e) {\n // Copied from https://github.com/webcomponents/webcomponentsjs/blob/v0.7.12/CustomElements.js#L950\n // Copied from http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events\n const ce = document.createEvent('CustomEvent');\n ce.initCustomEvent(typeArg, customEventInit.bubbles, customEventInit.cancelable, customEventInit.detail);\n\n ce.preventDefault = function() {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n };\n return ce;\n }\n // Let old browsers throw whatewer they want to throw\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils/custom-event.js\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 8\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 10\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 11\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 12\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"babel-runtime/core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/toConsumableArray.js\n ** module id = 14\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var shared = require('./_shared')('keys')\r\n , uid = require('./_uid');\r\nmodule.exports = function(key){\r\n return shared[key] || (shared[key] = uid(key));\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 17\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 18\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 19\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/get-iterator.js\n ** module id = 20\n ** module chunks = 0 1\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 21\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_cof.js\n ** module id = 22\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// IE 8- don't enum bug keys\r\nmodule.exports = (\r\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n).split(',');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 25\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_fails.js\n ** module id = 26\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 27\n ** module chunks = 0 1\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\nvar $keys = require('./_object-keys-internal')\r\n , enumBugKeys = require('./_enum-bug-keys');\r\n\r\nmodule.exports = Object.keys || function keys(O){\r\n return $keys(O, enumBugKeys);\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 29\n ** module chunks = 0 1\n **/","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 31\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-object.js\n ** module id = 32\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 33\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 34\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 35\n ** module chunks = 0 1\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or panel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const PANEL = 'mdlext-accordion__panel';\n const HEADER = 'mdlext-accordion__panel__header';\n const HEADER_TABSTOP = 'mdlext-accordion__panel__header__tabstop';\n const IS_UPGRADED = 'is-upgraded';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-accordion__panel__header__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n\n /**\n * Class constructor for Accordion MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion(element) {\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n /**\n * Handles custom command event, 'open', 'close', or 'toggle'\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n\n if('open' === action || 'close' === action || 'toggle' === action) {\n\n if(event.detail.target === undefined) {\n\n if(this.element_.hasAttribute('aria-multiselectable') &&\n 'false' !== this.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach(panel => {\n panel.dispatchEvent(\n createCustomEvent('command_', {\n detail: {action: action}\n })\n );\n });\n }\n }\n else if (event.detail.target !== null) {\n\n event.detail.target.dispatchEvent(\n // Let the even bubble, in case the evnt is dispatched to a child element of the panel\n createCustomEvent('command_', {\n bubbles: true, detail: { action: action }\n })\n );\n }\n }\n }\n };\n\n /**\n * Initialize accordion's panels\n *\n * @private\n */\n MaterialExtAccordion.prototype.initAccordion_ = function() {\n\n this.element_.setAttribute('role', 'tablist');\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n [...this.element_.querySelectorAll(`.${PANEL}`)].forEach( panel => {\n new MaterialExtAccordionPanel(panel, this);\n });\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n /**\n * Initialize Accordion element.\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n this.initAccordion_();\n }\n };\n\n\n /**\n * Constructor for an individual accordion panel.\n *\n * @constructor\n * @param {Element} panel The HTML element for the tab.\n * @param {MaterialExtAccordion} ctx The MaterialExtAccordion object that owns the panel.\n */\n function MaterialExtAccordionPanel(panel, ctx) {\n\n const header = panel.querySelector(`.${HEADER}`);\n if(header === null) {\n throw new Error('There must be a header element for each accordion panel.');\n }\n\n header.setAttribute('role', 'tab');\n\n let a = header.querySelector(`a.${HEADER_TABSTOP}`);\n if(a === null) {\n // An anchor is required for focus/tab stop\n a = document.createElement('a');\n a.href = '#';\n a.classList.add(HEADER_TABSTOP);\n header.appendChild(a);\n }\n\n panel.setAttribute('role', 'tabpanel');\n\n if(panel.hasAttribute('open')) {\n header.setAttribute('aria-expanded', '');\n }\n else {\n header.setAttribute('aria-hidden', '');\n }\n\n if (ctx.element_.classList.contains(RIPPLE_EFFECT)) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n\n header.addEventListener('click', ( event => {\n\n event.preventDefault();\n event.stopPropagation();\n\n if(!panel.hasAttribute('disabled')) {\n\n if(panel.hasAttribute('open')) {\n\n closePanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', panel, ctx.element_);\n }\n else {\n if(ctx.element_.hasAttribute('aria-multiselectable') &&\n 'false' === ctx.element_.getAttribute('aria-multiselectable').toLowerCase()) {\n\n const openPanel = ctx.element_.querySelector(`.${PANEL}[open]`);\n if (openPanel) {\n closePanel(openPanel, openPanel.querySelector(`.${HEADER}`));\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('close', openPanel, ctx.element_);\n }\n removeAriaSelectedAttribute();\n }\n\n openPanel(panel, header);\n\n // Dispatch toggle event to accordion element\n dispatchToggleEvent('open', panel, ctx.element_);\n }\n focus(panel);\n }\n }), true);\n\n\n header.addEventListener('keydown', ( event => {\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n const panels = panel.parentNode.children;\n let nextPanel = null;\n const n = panel.parentNode.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if(panels[i] == panel) {\n if(event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i-1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i+1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if(event.shiftKey) {\n if(i > 0 && !panels[i-1].hasAttribute('open')) {\n nextPanel = panels[i-1];\n }\n }\n else if (i < n) {\n if(!panel.hasAttribute('open')) {\n nextPanel = panels[i+1];\n }\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n header.dispatchEvent(evt);\n }\n break;\n }\n }\n if(nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }), true);\n\n panel.addEventListener('command_', ( event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.detail && event.detail.action) {\n const action = event.detail.action.toLowerCase();\n switch (action) {\n case 'open':\n openPanel(panel, header);\n break;\n case 'close':\n closePanel(panel, header);\n break;\n case 'toggle':\n togglePanel(panel, header);\n break;\n }\n }\n }));\n\n\n function togglePanel(panel, header) {\n if(panel.hasAttribute('open')) {\n closePanel(panel, header);\n }\n else {\n openPanel(panel, header);\n }\n }\n\n function openPanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.setAttribute('open', '');\n header.setAttribute('aria-expanded', '');\n header.setAttribute('aria-selected', '');\n header.removeAttribute('aria-hidden', '');\n }\n }\n\n function closePanel(panel, header) {\n if(!panel.hasAttribute('disabled')) {\n panel.removeAttribute('open');\n header.removeAttribute('aria-expanded');\n header.setAttribute('aria-hidden', '');\n }\n }\n\n function removeAriaSelectedAttribute() {\n const selectedHeader = ctx.element_.querySelector(`.${HEADER}[aria-selected]`);\n if(selectedHeader) {\n selectedHeader.removeAttribute('aria-selected');\n }\n }\n\n function focus(nextPanel) {\n const a = nextPanel.querySelector(`.${HEADER} a`);\n if(a) {\n removeAriaSelectedAttribute();\n a.focus();\n nextPanel.querySelector(`.${HEADER}`).setAttribute('aria-selected', '');\n }\n }\n\n function dispatchToggleEvent(state, source, target) {\n const evt = createCustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, source: source }\n });\n target.dispatchEvent(evt);\n }\n }\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/accordion/accordion.js\n **/","'use strict';\nimport 'utils/custom-event';\nimport 'sticky-header/sticky-header';\nimport 'selectfield/selectfield';\nimport 'accordion/accordion';\nimport 'lightboard/lightboard';\nimport 'lightbox/lightbox';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_TAB = 9;\n const VK_ENTER = 13;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOARD = 'mdlext-lightboard';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n const RIPPLE_COMPONENT = 'MaterialRipple';\n const RIPPLE = 'mdl-ripple';\n const RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n const RIPPLE_EFFECT = 'mdl-js-ripple-effect';\n const RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n /**\n * Initialize lightboard slides\n *\n * @private\n */\n MaterialExtLightboard.prototype.initLightboard_ = function() {\n\n this.element_.setAttribute('role', 'grid');\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => slide.setAttribute('role', 'cell')\n );\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n this.element_.classList.add(RIPPLE_EFFECT_IGNORE_EVENTS);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach(\n slide => addRipple(slide)\n );\n }\n\n /**\n * Trigger when user cliks on a slide\n */\n this.element_.addEventListener('click', ( function(event) {\n event.preventDefault();\n event.stopPropagation();\n const slide = getSlide(event.target);\n\n if(event.target !== this) {\n focus(slide);\n\n // Remove 'aria-selected' attribute\n [...this.children] // Should I use querySelectorAll ???\n .filter( panel => panel.hasAttribute('aria-selected'))\n .forEach( selected => selected.removeAttribute('aria-selected'));\n\n // Set 'aria-selected' on current slide\n slide.setAttribute('aria-selected', '');\n\n const evt = createCustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n });\n this.dispatchEvent(evt);\n }\n }).bind(this.element_), true);\n\n /**\n * Trigger when user presses a keboard key\n */\n this.element_.addEventListener('keydown', ( function(event) {\n // Maybe this function should be throttled??\n if (event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.target !== this) {\n const panel = getSlide(event.target);\n const panels = this.children;\n let nextPanel = null;\n const n = this.childElementCount - 1;\n\n for (let i = 0; i <= n; i++) {\n if (event.keyCode === VK_HOME) {\n nextPanel = panels[0];\n break;\n }\n else if (event.keyCode === VK_END) {\n nextPanel = panels[n];\n break;\n }\n\n if (panels[i] === panel) {\n if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n nextPanel = i > 0 ? panels[i - 1] : panels[n];\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n nextPanel = i < n ? panels[i + 1] : panels[0];\n }\n else if (event.keyCode === VK_TAB) {\n if (event.shiftKey) {\n if (i > 0) {\n nextPanel = panels[i - 1];\n }\n }\n else if (i < n) {\n nextPanel = panels[i + 1];\n }\n }\n else if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n event.stopPropagation();\n\n // Trigger mouse click event for any attached listeners.\n const evt = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n panel.dispatchEvent(evt);\n }\n break;\n }\n }\n if (nextPanel) {\n event.preventDefault();\n event.stopPropagation();\n focus(nextPanel);\n }\n }\n }\n }).bind(this.element_), true);\n\n this.element_.classList.add(IS_UPGRADED);\n };\n\n function getSlide(element) {\n if (!element || element.classList.contains(LIGHTBOARD)) {\n return null;\n }\n return element.classList.contains(SLIDE) ? element : getSlide(element.parentNode);\n }\n\n function focus(slide) {\n if(slide) {\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if (a) {\n a.focus();\n }\n }\n }\n\n function addRipple(slide) {\n // Use anchor as ripple container\n const a = slide.querySelector(`a.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(RIPPLE_CONTAINER);\n rippleContainer.classList.add(RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, RIPPLE_COMPONENT);\n }\n }\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n if (this.element_) {\n this.initLightboard_();\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightboard/lightboard.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport { createCustomEvent } from '../utils/custom-event';\n\n(function() {\n 'use strict';\n\n const VK_ESC = 27;\n const VK_SPACE = 32;\n const VK_END = 35;\n const VK_HOME = 36;\n const VK_ARROW_LEFT = 37;\n const VK_ARROW_UP = 38;\n const VK_ARROW_RIGHT = 39;\n const VK_ARROW_DOWN = 40;\n\n const IS_UPGRADED = 'is-upgraded';\n const LIGHTBOX_CLASS = 'mdlext-lightbox';\n const STICKY_FOOTER_CLASS = 'mdlext-lightbox--sticky-footer';\n const BUTTON_CLASS = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n let n = this;\n while((n = n.parentNode) != null) {\n if(n.classList.contains(LIGHTBOX_CLASS)) {\n n.focus();\n break;\n }\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n function dispatchAction_(action, source, target = source) {\n\n target.dispatchEvent(createCustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n }\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n function repositionDialog_(lightboxElement) {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const dialog = lightboxElement.parentNode.nodeName === 'DIALOG' ? lightboxElement.parentNode : null;\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== 'undefined' ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER_CLASS));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n }\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add('mdlext-lightbox__slider');\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add('mdlext-lightbox__slider__slide');\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag); // .bind(this) does not work here\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n window.addEventListener('resize', () => {\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n repositionDialog_(this.element_);\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n });\n\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n\n if (this.element_) {\n [...this.element_.querySelectorAll(`.${BUTTON_CLASS}`)].forEach(\n button => button.removeEventListener('click', this.buttonClickHandler_)\n );\n\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n }\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/lightbox/lightbox.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\n(function() {\n 'use strict';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Store constants in one place so they can be updated easily.\n *\n * @enum {string | number}\n * @private\n */\n MaterialExtSelectfield.prototype.Constant_ = {\n };\n\n /**\n * Store strings for class names defined by this component that are used in\n * JavaScript. This allows us to simply change it in one place should we\n * decide to modify at a later date.\n *\n * @enum {string}\n * @private\n */\n MaterialExtSelectfield.prototype.CssClasses_ = {\n LABEL: 'mdlext-selectfield__label',\n INPUT: 'mdlext-selectfield__select',\n IS_DIRTY: 'is-dirty',\n IS_FOCUSED: 'is-focused',\n IS_DISABLED: 'is-disabled',\n IS_INVALID: 'is-invalid',\n IS_UPGRADED: 'is-upgraded'\n };\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function(event) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function(event) {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function(event) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(this.CssClasses_.IS_DISABLED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(this.CssClasses_.IS_FOCUSED);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(this.CssClasses_.IS_DIRTY);\n } else {\n this.element_.classList.remove(this.CssClasses_.IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${this.CssClasses_.LABEL}`);\n this.select_ = this.element_.querySelector(`.${this.CssClasses_.INPUT}`);\n\n if (this.select_) {\n this.boundUpdateClassesHandler = this.updateClasses_.bind(this);\n this.boundFocusHandler = this.onFocus_.bind(this);\n this.boundBlurHandler = this.onBlur_.bind(this);\n this.boundResetHandler = this.onReset_.bind(this);\n this.select_.addEventListener('change', this.boundUpdateClassesHandler);\n this.select_.addEventListener('focus', this.boundFocusHandler);\n this.select_.addEventListener('blur', this.boundBlurHandler);\n this.select_.addEventListener('reset', this.boundResetHandler);\n\n const invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(this.CssClasses_.IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n /*jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/selectfield/selectfield.js\n **/","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\n(function() {\n 'use strict';\n\n const IS_UPGRADED = 'is-upgraded';\n const CONTENT_CLASS = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n //const STICKY_HEADER_CLASS = 'mdlext-layout__sticky-header';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // false: allow rAF to be called, true: blocks rAF\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n // Assumes MDL has polyfilled rAF\n window.requestAnimationFrame( () => {\n this.recalcWidth_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = '0';\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n // See: https://developer.mozilla.org/ru/docs/Web/Events/resize\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.reposition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n this.content_ = this.header_.parentNode.querySelector(`.${CONTENT_CLASS}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n // Adjust header width if content changes (e.g. in a SPA)\n const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n new MutationObserver( ( /*mutations*/ ) => {\n\n if(!this.drawing_) {\n window.requestAnimationFrame( () => {\n this.updatePosition_();\n this.drawing_ = false;\n });\n }\n this.drawing_ = true;\n\n }).observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false,\n subtree: true\n });\n\n // Set initial position\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n * Note: There is a bug i material component container; downgrade is never called!\n * Disables method temporarly to keep code coverage at 100% for functions.\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/sticky-header/sticky-header.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/array/from.js\n ** module id = 42\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/is-iterable.js\n ** module id = 43\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/number/is-integer.js\n ** module id = 44\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/entries.js\n ** module id = 45\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"babel-runtime/core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"babel-runtime/core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/slicedToArray.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/array/from.js\n ** module id = 47\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/get-iterator.js\n ** module id = 48\n ** module chunks = 0 1\n **/","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/is-iterable.js\n ** module id = 49\n ** module chunks = 0 1\n **/","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/number/is-integer.js\n ** module id = 50\n ** module chunks = 0 1\n **/","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/entries.js\n ** module id = 51\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_a-function.js\n ** module id = 52\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 53\n ** module chunks = 0 1\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 54\n ** module chunks = 0 1\n **/","'use strict';\r\nvar $defineProperty = require('./_object-dp')\r\n , createDesc = require('./_property-desc');\r\n\r\nmodule.exports = function(object, index, value){\r\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\r\n else object[index] = value;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_create-property.js\n ** module id = 55\n ** module chunks = 0 1\n **/","module.exports = require('./_global').document && document.documentElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\r\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 57\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-integer.js\n ** module id = 60\n ** module chunks = 0 1\n **/","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 61\n ** module chunks = 0 1\n **/","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 63\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 64\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 65\n ** module chunks = 0 1\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\nvar anObject = require('./_an-object')\r\n , dPs = require('./_object-dps')\r\n , enumBugKeys = require('./_enum-bug-keys')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , Empty = function(){ /* empty */ }\r\n , PROTOTYPE = 'prototype';\r\n\r\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\nvar createDict = function(){\r\n // Thrash, waste and sodomy: IE GC bug\r\n var iframe = require('./_dom-create')('iframe')\r\n , i = enumBugKeys.length\r\n , gt = '>'\r\n , iframeDocument;\r\n iframe.style.display = 'none';\r\n require('./_html').appendChild(iframe);\r\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n // createDict = iframe.contentWindow.Object;\r\n // html.removeChild(iframe);\r\n iframeDocument = iframe.contentWindow.document;\r\n iframeDocument.open();\r\n iframeDocument.write(' i)dP.f(O, P = keys[i++], Properties[P]);\r\n return O;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 67\n ** module chunks = 0 1\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\nvar has = require('./_has')\r\n , toObject = require('./_to-object')\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\r\n , ObjectProto = Object.prototype;\r\n\r\nmodule.exports = Object.getPrototypeOf || function(O){\r\n O = toObject(O);\r\n if(has(O, IE_PROTO))return O[IE_PROTO];\r\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n return O.constructor.prototype;\r\n } return O instanceof Object ? ObjectProto : null;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 68\n ** module chunks = 0 1\n **/","var has = require('./_has')\r\n , toIObject = require('./_to-iobject')\r\n , arrayIndexOf = require('./_array-includes')(false)\r\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\r\n\r\nmodule.exports = function(object, names){\r\n var O = toIObject(object)\r\n , i = 0\r\n , result = []\r\n , key;\r\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n // Don't enum bug & hidden keys\r\n while(names.length > i)if(has(O, key = names[i++])){\r\n ~arrayIndexOf(result, key) || result.push(key);\r\n }\r\n return result;\r\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 69\n ** module chunks = 0 1\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 70\n ** module chunks = 0 1\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-to-array.js\n ** module id = 71\n ** module chunks = 0 1\n **/","module.exports = require('./_hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 72\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 73\n ** module chunks = 0 1\n **/","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-index.js\n ** module id = 74\n ** module chunks = 0 1\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 75\n ** module chunks = 0 1\n **/","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator.js\n ** module id = 76\n ** module chunks = 0 1\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.is-iterable.js\n ** module id = 77\n ** module chunks = 0 1\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.from.js\n ** module id = 78\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 79\n ** module chunks = 0 1\n **/","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.number.is-integer.js\n ** module id = 80\n ** module chunks = 0 1\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.object.entries.js\n ** module id = 81\n ** module chunks = 0 1\n **/"],"sourceRoot":""}
\ No newline at end of file
diff --git a/src/sticky-header/sticky-header.js b/src/sticky-header/sticky-header.js
index 1545cfe..5e31c0f 100644
--- a/src/sticky-header/sticky-header.js
+++ b/src/sticky-header/sticky-header.js
@@ -191,7 +191,8 @@
}).observe( this.content_, {
attributes: false,
childList: true,
- characterData: false
+ characterData: false,
+ subtree: true
});
// Set initial position