From a97e041cf0c25d96970448092b18f62ceb663e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Dematt=C3=A9?= Date: Thu, 5 Jan 2023 11:00:50 +0100 Subject: [PATCH] last v1.x.x version before revamp --- VOM.js | 9 +- amd.js | 26 +- api.js | 14 +- circular.js | 200 +++++--- circular.min.js | 2 +- circular.min.js.map | 2 +- conduit/components/home/home.component.js | 3 +- conduit/js/main.min.js | 5 +- cr-logo.png | Bin 0 -> 12258 bytes heroes/js/amd.config.js | 5 +- ...data-provider.js => data-provider-mock.js} | 0 package-lock.json | 461 +++++++++--------- package.json | 4 + toolbox.js | 13 +- 14 files changed, 420 insertions(+), 324 deletions(-) create mode 100644 cr-logo.png rename heroes/shared-modules/{data-provider.js => data-provider-mock.js} (100%) diff --git a/VOM.js b/VOM.js index 24c022d..4a8959f 100755 --- a/VOM.js +++ b/VOM.js @@ -117,7 +117,7 @@ VOM.prototype = { return crawlObject(item, property.split(pathSplit)); }, getCleanModel: function(item) { // maybe not... - return JSON.parse(JSON.stringify(item || this.model)); + return JSON.parse(JSON.stringify(item || this.model)); }, destroy: function() { return destroy(this, this.model); @@ -137,7 +137,7 @@ function findProperty(node, id, prop, val, result, isFn, hasVal, hasProp, keys) node[id][prop] : crawlObject(node[id], (keys[0] ? keys : (keys = hasProp && prop.split(pathSplit)))); - if ((hasVal && propValue === val || (isFn && val(propValue))) || + if ((hasVal && propValue === val || (isFn && val(propValue, node[id]))) || (!hasVal && undefined !== propValue) || (!hasVal && !hasProp)) { result.push(node[id]); @@ -158,7 +158,7 @@ function destroy(_this, items) { // only cleans up NODES destroy(_this, items[n][_this.options.childNodes]); } delete NODES[_this.id][items[n][_this.options.idProperty]]; - items.pop(); + // items.pop(); // no, keep for looping through childNodes later on } return items; }; @@ -316,8 +316,7 @@ function defineProperty(_this, prop, obj, cache, enumable, path) { return prop === 'index' ? indexOf(_this, obj.current) : cache[prop]; }, set: function(value) { - validate((path || prop), obj, cache[prop], - cache[prop] = value, cache, _this); + validate((path || prop), obj, cache[prop], cache[prop] = value, cache, _this); }, enumerable: enumable }); diff --git a/amd.js b/amd.js index 76d773f..a7e4e57 100755 --- a/amd.js +++ b/amd.js @@ -1,4 +1,4 @@ -/**! @license amd v0.1.0; Copyright (C) 2019 by Peter Dematté */ +/**! @license amd v0.1.1; Copyright (C) 2021 by Peter Dematté */ !(function (root) { 'use strict'; var mathRand = root.Math.random; @@ -8,6 +8,8 @@ var timer = 0; var modules = require.modules = {}; var executedModule = {}; +if (root.define && root.define.amd) return; + define.amd = {}; require.config = config; require.getFile = function(resource, markAsDone) { return resource; }; @@ -29,7 +31,7 @@ function getPathFromName(name) { var postFix = /(?:^\!|^http[s]*:|.*\.js$)/.test(name) ? '' : '.js'; var path = ''; - name = (require.paths[name] || name).replace(/^\!/, ''); + name = (require.paths[name] || name).replace(/^[!%]/, ''); path = normalizePath((require.baseUrl || '.') + '/' + name + postFix).replace(/^.\//, ''); return require.mapPath ? require.mapPath(name, postFix, path) : path; @@ -102,13 +104,13 @@ function markAsDone(module) { } } -function appendScript(script) { - documentFragment.appendChild(script); - clearTimeout(timer); - timer = setTimeout(function() { - document.head.appendChild(documentFragment); - }); -} +// function appendScript(script) { +// documentFragment.appendChild(script); +// clearTimeout(timer); +// timer = setTimeout(function() { +// document.head.appendChild(documentFragment); +// }); +// } function applyScript(module, sync) { var script = root.document.createElement('script'); @@ -149,7 +151,7 @@ function onScriptLoaded(module) { } function getDependencies(parentName, deps, sync) { - for (var n = deps.length, module = {}, name = ''; n --; ) { + for (var n = deps.length, module = {}, name = ''; n--; ) { name = deps[n]; if (modules[name]) { modules[name].parents.push(parentName); @@ -165,10 +167,12 @@ function getDependencies(parentName, deps, sync) { if (module.isFile) { require.getFile(module, markAsDone); } else if (!module.isInline) { - appendScript(applyScript(module, sync)); + // appendScript(applyScript(module, sync)); + documentFragment.appendChild(applyScript(module, sync)); lookaheadForDeps(name); } } + if (documentFragment.childNodes.length) document.head.appendChild(documentFragment); } function require(deps, factory, sync) { diff --git a/api.js b/api.js index 1ff312d..a04fad1 100644 --- a/api.js +++ b/api.js @@ -87,6 +87,7 @@ prototype.publish = function(inst, comp, attr, data) { comp[attr].value = data; comp[attr][0] && publish(this, comp[attr], data); } + return data; }; prototype.unsubscribe = function(inst, comp, attr, callback) { @@ -239,7 +240,8 @@ prototype.renderModule = function(data) { if (!isValid) { if (data.scroll && container.children) { - container.children[0]._scroll = (Toolbox.$(data.scroll, container) || {}).scrollTop; + container.children[0]._scroll = + (Toolbox.$(data.scroll, container) || {}).scrollTop; } return new Promise(function(){}); } @@ -247,8 +249,11 @@ prototype.renderModule = function(data) { if (item) { return new Toolbox.Promise(function(resolve) { appendChildToContainer(item.element, container, data); - if (item.instance && item.instance.onLoad) item.instance.onLoad(item.element, _this); - if (item.instance && item.instance.onRender) item.instance.onRender(data.data); + // TODO: data.parent -> input doesn't work... + if (item.instance && item.instance.onLoad) + item.instance.onLoad(item.element, _this, data.parent); + if (item.instance && item.instance.onRender) + item.instance.onRender(data.data); resolve(item); }); } @@ -264,7 +269,8 @@ prototype.renderModule = function(data) { var item = module.instance || instance; appendChildToContainer(componentElm, container, data); - if (item && item.onLoad) item.onLoad(componentElm, _this); + // TODO: data.parent -> input doesn't work... + if (item && item.onLoad) item.onLoad(componentElm, _this, data.parent); if (item && item.onRender) item.onRender(data.data); resolve(modulesMap[(data.context || '') + data.require] = !module.instance ? { element: componentElm, diff --git a/circular.js b/circular.js index ecfce6a..a9b3740 100644 --- a/circular.js +++ b/circular.js @@ -1,4 +1,4 @@ -/**! @license CircularJS ● v1.3.1; Copyright (C) 2020 by Peter Dematté */ +/**! @license CircularJS ● v1.3.2; Copyright (C) 2020 by Peter Dematté */ define('circular', ['toolbox', 'blick', 'VOM', 'api', 'controller'], function(Toolbox, Blick, VOM, mixinAPI, Controller) { 'use strict'; @@ -32,7 +32,7 @@ function initCircular(_this, name, options) { for (var option in options) { _this.options[option] = options[option]; } - _this.version = '1.3.0'; + _this.version = '1.3.2'; _this.id = 'cr_' + id++; _this.name = isName ? name : _this.id; instances[_this.id] = {}; @@ -47,8 +47,9 @@ Object.defineProperties(Circular.prototype, mixinAPI({ destroyComponent: { value: function(inst) { var id = inst['__cr-id'].split(':'); var data = instances[id[0]][id[1]]; - var instance = data.instance; + var instance = data && data.instance || inst; + if (!data) return; // console.log('No item found to delete...'); instance.onDestroy && instance.onDestroy(); for (var key in instance) if ( // removes collectors, rendering, ... instance[key] && @@ -95,7 +96,7 @@ return Object.defineProperties(Circular, { name: defData.name || Klass.name, init: function init(element, plugData, parent) { var elm = typeof element === 'string' ? $(element) : element; - + // TODO: store the instance in parent to be able to destroy inner return initComponent(elm, defData, Klass, plugData, parent); }, preparePlugin: function preparePlugin(element, pData, values) { @@ -134,7 +135,7 @@ function initComponent(element, defData, Klass, plugData, parent) { components[defData.selector].singleton = true; } if (elmId && !plugData) { - return instances[crInst.id + ':' + elmId]; + return instances[crInst.id + ':' + elmId]; // ??? } ['partials', 'helpers', 'decorators', 'attributes'].forEach(function(key) { if (!defData[key]) defData[key] = crInst.options[key]; @@ -176,6 +177,7 @@ function initComponent(element, defData, Klass, plugData, parent) { templateContainer: !plugData && key !== 'this' && tmpl ? getParent(element, tmpl.container) : element, modelName: key, + hasPartial: tmpl && tmpl.hasPartial, listeners: defData.subscribe$ && defData.subscribe$[key], crInstance: crInst, controller: controller, @@ -206,6 +208,31 @@ function initInner(element, instance, defData, name) { /* -------------- scoping ------------ */ +function initKlassVars(key, parentValues, scope, rootItem) { // v8 + var item = parentValues.vars[key]; + + if (key === 'null') return; + scope[key] = typeof item === 'function' ? item.bind(rootItem) : item; +} + +function initSubscribers(key, parentValues, scope, isLoop, + instances, crInst, instId, loopItem, parentId) { // v8 + if (parentValues.static[key] || key === 'null' || !key) return; + isLoop = key === 'this' || key === '.'; + if (isLoop) { + scope[parentValues.names[key]] = loopItem || parentValues.origin[key]; + // continue; // TODO: check if subscription is possible + } + instances[crInst.id][instId].subscribers.push((function(names, key) { + return crInst.subscribeToComponent( + loopItem && isLoop ? loopItem['cr-id'] : parentId, + key, + function(value) { scope[names[key]] = value }, + true + ); + })(parentValues.names, key)); +} + function getInstance(Klass, element, crInst, instId, plugData, defData, inst, parentComp) { var rootItem = isArray(parentComp) ? parentComp[0] : parentComp; var loopItem = parentComp && parentComp[1]; @@ -217,42 +244,28 @@ function getInstance(Klass, element, crInst, instId, plugData, defData, inst, pa element.removeAttribute('cr-input'); return new Klass(element, crInst, function(scope, subscribe) { - for (var key in parentValues.vars) if (key !== 'null') { - scope[key] = typeof parentValues.vars[key] === 'function' ? - parentValues.vars[key].bind(rootItem) : parentValues.vars[key]; - } + for (var key in parentValues.vars) initKlassVars(key, parentValues, scope, rootItem); if (subscribe !== false) { - for (var key in parentValues.origin) { - if (parentValues.static[key] || key === 'null' || !key) continue; - isLoop = key === 'this' || key === '.'; - if (isLoop) { - scope[parentValues.names[key]] = loopItem; - // continue; // TODO: check if subscription is possible - } - instances[crInst.id][instId].subscribers.push((function(names, key) { - return crInst.subscribeToComponent( - isLoop ? loopItem['cr-id'] : parentId, - key, - function(value) { scope[names[key]] = value }, - true - ); - })(parentValues.names, key)); - } + for (var key in parentValues.origin) + initSubscribers(key, parentValues, scope, isLoop, instances, + crInst, instId, loopItem, parentId); } plugData && rootItem !== loopItem && installEvents(rootItem, scope, defData); }, function() { return rootItem || loopItem }); } +function installEvent(key, events, scope, parent) { // v8 + if (!parent['pl-' + events[key]]) (function(event) { + Object.defineProperty(parent, 'pl-' + event, { value: function(e, elm, item) { + return scope[event](e, elm, item); + }}); + })(events[key]); +} + function installEvents(parent, scope, defData) { var events = defData.events || {}; - for (var key in events) { - if (!parent['pl-' + events[key]]) (function(event) { - Object.defineProperty(parent, 'pl-' + event, { value: function(e, elm, item) { - return scope[event](e, elm, item); - }}); - })(events[key]); - } + for (var key in events) installEvent(key, events, scope, parent); } function processInput(input, parent) { @@ -262,15 +275,17 @@ function processInput(input, parent) { var isStatic = false; var staticValue = ''; var key = ''; + var parentVal = {}; for (var n = vars.length; n--; ) { name = vars[n].split(/\s+as\s+/); isStatic = name[0].charAt(0) === '\'' || name[0].charAt(0) === '"'; staticValue = isStatic ? Toolbox.convertToType(name[0].replace(/'|"/g, '')) : ''; key = isStatic ? staticValue : name[0]; + parentVal = key === 'this' || key === '.' ? parent : parent && parent[key]; - out.vars[name[1] || key] = isStatic ? staticValue : parent[key]; - out.origin[key] = isStatic ? staticValue : parent[key]; + out.vars[name[1] || key] = isStatic ? staticValue : parentVal; + out.origin[key] = isStatic ? staticValue : parentVal; out.names[key] = name[1] || key; out.static[key] = isStatic; } @@ -279,7 +294,7 @@ function processInput(input, parent) { function getParentComponent(elm) { var parent = elm.closest('[cr-id|="cr_"]'); - var ids = parent && parent.getAttribute('cr-id').substr(3).split(':'); + var ids = parent && parent.getAttribute('cr-id').substring(3).split(':'); var out = ids && instances['cr_' + ids[0]][ids[1]]; return out && out.instance || out; @@ -353,8 +368,9 @@ function applyModel(data) { function injectNewModel(vom, model, newModel, deltaOnly, item) { for (var n = 0, m = newModel.length; n < m; n++) { if (model[n]) { + if (typeof model[n] === typeof newModel[n]) updateModelItem(vom, model[n], newModel[n]); - } else { + } else { // if (newModel[n]) { vom.appendChild(newModel[n], model.parentNode || model[0] && model[0].parentNode || item); } } @@ -364,11 +380,13 @@ function injectNewModel(vom, model, newModel, deltaOnly, item) { function updateModelItemLoop(vom, item, newItem, key) { // TODO: performance var isActiveArr = false; var isArr = false; + var isObj = false; if (key === 'childNodes' || !item) return; - isArr = isArray(item[key]); + isArr = isArray(item[key]) && isArray(newItem[key]); + isObj = typeof item[key] === 'object' && typeof newItem[key] === 'object'; isActiveArr = isArr && Object.getOwnPropertyDescriptor(item, key).get; - item[key] = isActiveArr ? newItem[key] : typeof item[key] === 'object' || isArr ? + item[key] = isActiveArr ? newItem[key] : isObj || isArr ? updateModelItem(vom, item[key], newItem[key] || {}) : newItem[key]; } @@ -377,7 +395,12 @@ function deleteModelItem(newItem, item, key, vom) { if (key === 'childNodes') for (var n = item.childNodes.length; n--; ) vom.removeChild(item.childNodes[n]); item[key] = null; // triger blick items ??? - delete item[key]; + if (item.splice) item.splice(key, 1); else delete item[key]; + } + var isArr = isArray(item[key]) && isArray(newItem[key]); + var diff = isArr && item[key].length - newItem[key].length; + if (key !== 'childNodes' && isArr && diff > 0) { + item[key].splice(newItem[key].length, diff); } } @@ -421,7 +444,7 @@ function getVOMInstance(data) { var intern = property === 'childNodes' || !!VOM.prototype[property]; data.template && changeItem(this, property, item, value, oldValue, sibling, data); - inst[name$] && !intern && inst[name$](property, item, value, oldValue); + inst[name$] && !intern && inst[name$](property, item, value, oldValue); inst[name$$] && inst[name$$](property, item, value, oldValue, intern); if (intern) return; if (item.parentNode === undefined && item.childNodes === undefined) { @@ -486,37 +509,70 @@ function setNewItem(vomInstance, param) { }); } } - initComponentsAndPlugins(element, data.defData, data.modelName, isChild, [data.instance, item]); + initComponentsAndPlugins( + element, data.defData, data.hasPartial, data.modelName, isChild, [data.instance, item] + ); return element; } -function initComponentsAndPlugins(element, defData, modelName, isChild, instance) { +function loopComponents(key, componentsDefs, hasPartial, what, modelName, defData, insts, element, instance) { + var inst = {}; // v8 + + if (what && (componentsDefs[key][what][modelName] || hasPartial)) { + [].slice.call($$(key + ', [cr-name="' + key + '"]', element)).forEach(function(elm) { + if (elm.getAttribute(['cr-id'])) return; + inst = components[key].init(elm, null, instance); + if (inst) { + insts.push(inst); + defData.components[key].instances[instance[1]['cr-id']] = inst; // TODO: maybe just id + } + }); + } +} + +function loopPlugins(key, plugins, what, modelName, element, instance) { + if (what && plugins[key][what] && plugins[key][what][modelName]) { + // TODO: register plugins for destroy + initPlugins(key, plugins[key][what][modelName], element, instance); + } +} + +function initComponentsAndPlugins(element, defData, hasPartial, modelName, isChild, instance) { var componentsDefs = defData.components; var plugins = defData.plugins; var isMain = modelName === 'this'; var isLoop = !isMain && !isChild; var what = isMain ? 'main' : isLoop ? 'loop' : isChild ? 'child' : ''; var insts = []; - var inst = {}; // components - for (var key in componentsDefs) { - if (what && componentsDefs[key][what][modelName]) { - [].slice.call($$(key + ', [cr-name="' + key + '"]', element)).forEach(function(elm) { - inst = components[key].init(elm, null, instance); - inst && insts.push(inst); - }); - } + for (var key in componentsDefs) { // v8 + loopComponents(key, componentsDefs, hasPartial, what, modelName, defData, insts, element, instance); } // plugins - for (var key in plugins) { - if (what && plugins[key][what] && plugins[key][what][modelName]) { - initPlugins(key, plugins[key][what][modelName], element, instance); - } + for (var key in plugins) { // v8 + loopPlugins(key, plugins, what, modelName, element, instance); } return insts; } +function destroyChild(key, components, id, crInstance) { // v8 + if (components[key].instances[id]) { + crInstance.destroyComponent(components[key].instances[id]); + delete components[key].instances[id]; + } +} + +function destroyChildren(components, id, childNodes, crInstance) { + for (var key in components) destroyChild(key, components, id, crInstance); + + if (!childNodes) return; + for (var n = childNodes.length, node = {}; n--; ) { // see if this works + node = childNodes[n]['cr-id'] || childNodes[n]['__cr-id']; // well... __cr-id + destroyChildren(components, node, childNodes[n].childNodes, crInstance); + } +} + function changeItem(vomInstance, property, item, value, oldValue, sibling, data) { var element = item.elements && item.elements.element; var parentElements = item.parentNode && item.parentNode.elements || null; @@ -528,7 +584,8 @@ function changeItem(vomInstance, property, item, value, oldValue, sibling, data) var intern = property === 'childNodes' || !!VOM.prototype[property]; if (property === 'removeChild') { - render(element, property, element.parentElement); + if (element) render(element, property, element.parentElement); // plugins don't have elm + destroyChildren(data.defData.components, id /* item['cr-id'] */, item.childNodes, data.crInstance); destroyCollector(collector, id); } else if (property === 'sortChildren') { render(element, 'appendChild', parentElement); @@ -595,8 +652,8 @@ function changeBlickItem(blickItem, data, item, value, oldValue) { if (data.controller) for (var m = elm.length; m--; ) { if (elm[m].nodeType !== 1) continue; - getAttrMap(elm[m], 'cr-event', function(eventName, fnName) { - registerEventsForBlickItem(data, item, elm[m], eventName, fnName); + getAttrMap(elm[m], 'cr-event', function(eventName, fnName, element) { + registerEventsForBlickItem(data, item, element || elm[m], eventName, fnName); }); } if (components) { @@ -609,6 +666,7 @@ function changeBlickItem(blickItem, data, item, value, oldValue) { blickItem.components = initComponentsAndPlugins( elm[x].parentNode, // TODO: not parentNode... data.defData, + data.hasPartial, data.modelName, false, // TODO: isChild, [data.instance, item] @@ -696,7 +754,7 @@ function getTemplate(template, defData, where, modelName) { if (!components[template.tagName.toLowerCase()]) { getInnerComponents(keys(components), [], template, function(element, key) { var component = defData.components[key] = defData.components[key] || - { main: {}, loop: {}, child: {} }; + { main: {}, loop: {}, child: {}, instances: {} }; component[where][modelName] = true; }); @@ -719,24 +777,46 @@ function processTemplate(element, defData) { var _ = element.insertAdjacentHTML('beforeend', defData.template || ''); // var _ = element.innerHTML = defData.template || ''; // TODO: fragment... var templates = $$('[cr-for]', element); + var innerHTML = ''; var result = {}; + var children = []; templates.forEach(function(elm, idx) { var child = $('[cr-child]', elm); var modelName = elm.getAttribute('cr-for'); var attr = modelName + idx; + var hasPartial = /{{>/.test(defData.template); - result[modelName] = { + children.push(result[modelName] = { + hasPartial: hasPartial, container: attr, child: child ? getTemplate(child, defData, 'child', modelName) : null, template: getTemplate(createPlaceHolder(elm, attr), defData, 'loop', modelName), - }; + }); }); + innerHTML = element.firstElementChild ? element.firstElementChild.innerHTML : ''; + result['this'] = { template: getTemplate(element.firstElementChild, defData, 'main', 'this'), }; + // TODO....... best for now but... + var mainPartials = innerHTML && result['this'].template.schnauzer.partials; + var partials = []; + + if (mainPartials && children.length && keys(mainPartials).length > 1) { + innerHTML.replace(/{{#\*inline\s*["'](.*?)["']}}([\S\s]*){{\/inline}}/, function(_, $2, $3) { + partials.push({ name: $2, html: $3 }); + }); + + for (var n = children.length; n--; ) { + for (var m = partials.length; m--; ) { + children[n].template.schnauzer.registerPartial(partials[m].name, partials[m].html); + } + } + } + return result; } diff --git a/circular.min.js b/circular.min.js index 4a7326a..0d52c86 100644 --- a/circular.min.js +++ b/circular.min.js @@ -1,2 +1,2 @@ -!function(e){"use strict";var t=e.Math.random,n=document.createElement("a"),r=e.document.createDocumentFragment(),o=0,i=h.modules={},s={};function a(){return"_module_"+(t()+t())}function l(e){var t,r=/(?:^\!|^http[s]*:|.*\.js$)/.test(e)?"":".js";return e=(h.paths[e]||e).replace(/^\!/,""),t=function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search}((h.baseUrl||".")+"/"+e+r).replace(/^.\//,""),h.mapPath?h.mapPath(e,r,t):t}function c(e){var t={mapPath:"function",baseUrl:"string"},n=["lookaheadMap","paths","options","mapPath","baseUrl"];if(!h[n[0]])for(var r=n.length;r--;)h[n[r]]="string"===t[n[r]]?"":"function"===t[n[r]]?null:{};for(var o in e)if(-1!==n.indexOf(o))if(t[o])h[o]=e[o];else for(var i in e[o])h[o][i]=e[o][i];return h}function u(e){var t=h.lookaheadMap[e],n=h.options.minifyPrefix;if(t&&-1===(h.paths[e]||"").indexOf(n)){h(t);for(var r=0,o=t.length;ri?-1:0:oi?1:0},normalizePath:function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search},ajax:function(e,n){var r,i,a=null,l=(new Date).getTime();return n=n||{},e=o.normalizePath(e),i=s[e]&&s[e].time||0,a=(a=(r=!0===n.cache?l+1e8:n.cache?i>l?i:l+n.cache:0)&&!n.resetCache&&i>l?s[e]:null)||new o.Promise(function(r,o){var i,s,a=new XMLHttpRequest,l=(n.method||n.type||"GET").toUpperCase();if(a||o("Giving up :( Cannot create an XMLHTTP instance"),n||(e=(n=e).url),a.onreadystatechange=function(){var e=function(e,t,n){try{if(e.readyState===XMLHttpRequest.DONE){if(!(e.status<200||e.status>299))return e["xml"===t?"responseXML":"responseText"];var r=new Error(e.statusText);r.response=e.response,n(r)}}catch(e){n("Caught Exception: "+e.stack)}}(this,n.dataType,o);if(e!==t){if("json"===n.dataType)try{e=JSON.parse(e)}catch(e){return void o("Caught Exception: "+e.stack)}r(e)}},a.open(l,e,n.async||!0,n.username,n.password),"xml"===n.dataType&&a.setRequestHeader("Content-Type","text/xml"),"GET"!==l&&n.csrf&&a.setRequestHeader("X-CSRF-Token",(i=n.csrf,(s=document.cookie.split(i+"=")[1])&&s.split(";")[0])),n.headers)for(var c in n.headers)a.setRequestHeader(c,n.headers[c]);return a.send(n.data),function(){a.abort()}}),r?(s[e]=a,s[e].time=r):delete s[e],a},errorHandler:function(e){console.error(e)},Promise:a};function i(e,t){var n=document.createEvent("CustomEvent");return t=t||{},n.initCustomEvent(e,t.bubbles||!1,t.cancelable||!1,t.detail),n}e.Event=e.Event||i,e.CustomEvent=e.CustomEvent||i;var s={};function a(e){this._state=0,this._handled=!1,this._value=t,this._deferreds=[],this._returnFn=f(e,this)}function l(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,setTimeout(function(){var n,r=1===e._state?t.onFulfilled:t.onRejected;if(null!==r){try{n=r(e._value)}catch(e){return void u(t.promise,e)}c(t.promise,n)}else(1===e._state?c:u)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t){var n=t.then;if(t instanceof a)return e._state=3,e._value=t,void p(e);if("function"==typeof n)return f(n.bind(t),e)}e._state=1,e._value=t,p(e)}catch(t){u(e,t)}}function u(e,t){e._state=2,e._value=t,p(e)}function p(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||console.warn("Possible Unhandled Promise Rejection:",e._value)});for(var t=0,n=e._deferreds.length;t":">",'"':""","'":"'","/":"/","`":"`","=":"="},helpers:{},partials:{},self:"self",nameCharacters:"",escapeHTML:!0,renderHook:null},s(this,t||{},e)},s=function(e,t,r){for(var o in t)e.options[o]=t[o];for(var i in a(e,(t=e.options).tags),e.entityRegExp=new RegExp("["+n(t.entityMap).join("")+"]","g"),e.helpers=t.helpers,t.partials)e.registerPartial(i,t.partials[i]);r&&e.parse(r)};return i.prototype={render:function(e,t){return this.partials[this.options.self](function(e,t){return{extra:t,scopes:[{scope:e,helpers:{},level:{"@root":e},path:[]}]}}(e,t||{}))},parse:function(e){return this.registerPartial(this.options.self,e)},registerHelper:function(e,t){this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){return this.partials[e]=this.partials[e]||(n.constructor===Function?n:function e(n,r,o){var i=function(r,i,s,a,l,c,u,p,f){return"#*"===s?n.registerPartial(l.replace(/['"]/g,""),e(n,u,o))&&"":function(e,n,r,o,i,s,a,l,c){var u=i.split(l),p=S(e,l,c,a||"",r,null),f=function(e,n,r,o,i,s){for(var a=0,l=n.length,c=!1,u=[];a!&=])*\\s*([\\w\\"+r+"<>|\\.\\s]*)"+n[1],"g"),e.sectionRegExp=new RegExp(n[0]+"([#^][*%]*)\\s*([\\w"+r+"~]*)(?:\\s+([\\w$\\s|.\\/"+r+"]*))*"+n[1]+"(?:\\n*)((?:(?!"+n[0]+"[#])[\\S\\s])*?)("+o+")","g"),e.elseSplitter=new RegExp(n[0]+"(?:else|\\^)\\s*(.*?)"+n[1])}function l(e,t,n){return n&&t.options.escapeHTML?String(e).replace(t.entityRegExp,function(e){return t.options.entityMap[e]}):e}function c(e,t,n,r,o){return{"@index":e,"@last":e===n-1,"@first":0===e,"@length":n,"@parent":o,"@key":t,this:r,".":r}}function u(e,t,n,r,i,s,a){return s?t.splice(t.length-2,2,a,""):t.push(a,""),n={scope:n,helpers:r,level:i,path:t},s?(e[0]=n,e):o(e,[n])}function p(e,t,n){for(var r=0,o=t.path.length;r1?e.join("."):e[0]:"";return n?n+"."+t:t}(i.path,c||u?r.vars[0]&&r.vars[0].variable.value:i.value)),i._path=m.join("."),{value:h,type:v}}function d(e,t,n,r,o){return"helper"===t.type||"function"===t.type?m(e,t,n,r,[{bodyFn:o}]):t.value}function h(e,t,n,r,o,i,s){for(var a=r.length,l={},c="",u=null,p="";a--;)c=(u=(p=(l=r[a]).variable).root?d(e,t,n,p,null):null)||!p.name?"$"+a:p.name,p.name&&(s[c]=o[c]),o[c]=u||f(e,n,{root:l}).value,i.push(o[c]),l.isAlias&&(n.scopes[0].level[c]=o[c]);return{obj:o,arr:i,restore:s}}function v(e,n,r,o,i){return e.root.isAlias&&(r[n.name||n.value]=i,o!==t&&(r[e.root.aliasKey||"@key"]=o)),r}function m(e,t,n,r,o){return r.isHelper=!0,t.value.apply({name:r.root?r.root.variable.value:"",scope:n.scopes[0].scope,rootScope:n.scopes[n.scopes.length-1].scope,getBody:function(){return o[0]?o[0].bodyFn(n):""},getData:function(t){return f(e,n,{root:O(t)}).value},escape:function(t){return l(t,e,!0)}},h(e,t,n,r.vars,{},[],{}).arr)}function g(e,t,n,r,o,i){for(var s=0,a=o[s],l=!r.helper||"if"===r.helper,c=!1,u=d(e,t,n,r,a.bodyFn);!(c=l&&!!u||!l&&!u)&&o[s+1];)l=!(a=o[++s]).helper||"if"===a.helper,u=d(e,t=a.root?f(e,n,a):{value:l},n,a,a.bodyFn);return i.fnIdx=s,c?a.bodyFn(n):""}function b(e,t,r,o,i){for(var s="",a="array"===t.type,l=a?t.value||[]:n(t.value||{}),p=0,f=l.length,d="";p"===r,isHelper:!1,isEscaped:o.lastIndexOf(e.options.tags[0])<1,helper:"^"===r?"unless":l,vars:R(s,[],a),active:c,bodyFn:i||null}}function j(e,t,n,r,o){for(var i=t.split(e.inlineRegExp),s=0,a=i.length,l="",c=[];s-1?r[t[i].blockIndex](o):x(e,o,t[i],!1,C(e,t[i],o,f(e,o,t[i])),C,null));return a}(e,r,o,n,t)}}}),function(e,t){"object"==typeof exports?module.exports=t(e,require("schnauzer")):"function"==typeof define&&define.amd?define("blick",["schnauzer"],function(n){return t(e,n)}):e.Blick=t(e,e.Schnauzer)}(this,function(e,t,n){"use strict";var r=function(e,t){for(var n in t)t[n]=document.createElement(t[n]);return function(n,r,o){var i=((n||"").match(e)||[])[1],s=t[i]||t.default;return r&&(s=s.cloneNode()),o?s.textContent=n||"":s.insertAdjacentHTML("afterbegin",n||""),s}}(/<\s*(\w*)[\s\S]*?>/,{option:"select",legend:"fieldset",area:"map",param:"object",thead:"table",tr:"tbody",col:"colgroup",td:"tr",default:"div"}),o=function(e,t){this.version="0.1.0",this.options={registerProperty:function(e,t,n,r,o){},forceUpdate:!1,attributes:{value:a,disabled:s,hidden:s,checked:s,autocomplete:s,contenteditable:s,readonly:s,required:s,selected:s},renderHook:u,isDynamic:function(e,t){return!0}},this.collector={},this.schnauzer={},this.dataDump=[],i(this,t||{},e)},i=function(e,n,r){for(var o in n)if("attributes"===o)for(var i in n[o])e.options[o][i]=n[o][i];else e.options[o]=n[o];e.schnauzer=new t(r,e.options),e.schnauzer.dataDump=[]};return o.prototype={renderHTML:function(e,t){return p(this,this.schnauzer.dataDump,r(this.schnauzer.render(e,t)))}},o;function s(e,t,n){!0===n||"true"===n||!n&&!1!==n?(e.setAttribute(t,"selected"===t?t:""),setTimeout(function(){e[t]=!0})):(e.removeAttribute(t),setTimeout(function(){e[t]=!1}),"focus"===n&&e.focus())}function a(e,t,n){e.setAttribute("value",n),e.value=n}function l(e,t){for(var n=e.parentNode.childNodes,r=n.length,o={},i=0,s=null;r--;)if(3===(o=n[r]).nodeType&&-1!==(i=o.textContent.indexOf(t))){s=o.splitText(i+t.length),o.textContent=o.textContent.substring(0,o.textContent.length-t.length);break}return s}function c(e,t){return(e=e.splitText(e.textContent.indexOf(t)).splitText(0)).textContent=e.textContent.substring(t.length),e}function u(e,t,n,r,o,i,s,a,l){var c=this.dataDump.length,u=t.isHelper||t.isPartial,p=u&&t.vars[0]&&(t.vars[0].root=t.vars[0])||t,f=u?p.root.variable.value:s,d=!!p.active||this.options.forceUpdate,h=!!s&&d&&!!this.options.isDynamic(a,f),v=t.helper,m=n.scopes,g="{{#"+c+"}}",b="{{/"+c+"}}",y="";return!h&&p.active<3?e:(y=p.root.variable.path.join("."),y+=(y?".":"")+p.root.variable.value,this.dataDump.push({isBlock:r,track:o,bodyFn:l,active:p.active,isEscaped:p.isEscaped,start$:g,end$:b,path:i,noCache:(/^[ew]/.test(v)||t.isPartial)&&p.active>0||p.active>2,root:m[m.length-1].scope,helper:v,scope:m[0].scope||{},parent:a,key:y,out:e,helperFn:u?l:null,isOdd:u}),g+e+b)}function p(e,t,n,r){for(var o,i,s,a=null,l=null,c=t.length,u={};c--;)u=t.pop(),o=n,i=u.start$,void 0,s=XPathResult.FIRST_ORDERED_NODE_TYPE,(l=(a=document.evaluate('//text()[contains(., "'+i+'")]',o,null,s,null).singleNodeValue||document.evaluate('//@*[contains(., "'+i+'")]',o,null,s,null).singleNodeValue)?a.ownerElement?f:u.isBlock?h:d:null)&&l(e,a,u.start$,u.end$,u,t,r);return n}function f(e,t,n,o,i,s){var a=/>/g,l=t.ownerElement,c=e.options.attributes[t.nodeName],u=function(e){var n=e.parentNode;if(11!==n.nodeType)return c?c(l,t.nodeName,n.textContent):void(t.textContent=n.textContent.replace(a,""))},p=t._cache=t._cache||r(t.textContent.replace(a,""),!0,!0),f=[].slice.call(p.childNodes).filter(function(e){return-1!==e.textContent.indexOf(n)})[0];u(i.isBlock?h(e,f,n,o,i,s,u):d(e,f,n,o,i,s,u))}function d(e,t,n,o,i,s,a){return t=c(t,n),e.options.registerProperty(function(e,t,n,o,i,s){var a=o?null:document.createDocumentFragment(),l=[];return function(c){var u=[],p=s?s():c;if(i||o)return e.textContent=p,i&&i(e),[];for(l=[],u=r(p+"").childNodes;n.previousSibling!==t;)n.parentNode.removeChild(n.previousSibling);for(;u.length;)l.push(a.appendChild(u[0]));return n.parentNode.insertBefore(a,n),l}}(t,t.previousSibling,l(t,o),i.isEscaped,a,i.helperFn),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}function h(e,t,n,o,i,s,a){return-1!==t.textContent.indexOf(o)&&t.splitText(t.textContent.indexOf(n)+n.length),t=c(t,n),e.options.registerProperty(function(e,t,n,o,i,s,a,l,c){var u=[],f=i.fnIdx,d=[];return d[f]=document.createDocumentFragment(),u[f]=!c&&s.length>0,function(s){var h=[],v=o(s),m={},g=t,b=f;for(f=i.fnIdx;(g=t.nextSibling)&&g!==n;)c?g.parentNode.removeChild(g):d[b].appendChild(g);if(!u[f]||c){for(d[f]=d[f]||document.createDocumentFragment(),m=p(e,a,r(v),l);g=m.childNodes[0];)h.push(d[f].appendChild(g));u[f]=!!h.length}return v&&n.parentNode.insertBefore(d[f],n),l&&l(t),a.length&&a.splice(0,a.length),h}}(e,t,l(t,o),i.bodyFn,i.track,i.out,s,a,i.noCache),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}}),function(e,t){"object"==typeof exports?module.exports=t(e):"function"==typeof define&&define.amd?define("VOM",[],function(){return t(e)}):e.VOM=t(e)}(this,function(e,t){"use strict";var n=/\.|\//,r=[],o=0,i=function(e,t){this.options={parentCheck:!1,idProperty:"id",subscribe:function(){},enrichModelCallback:function(){},preRecursionCallback:function(){},moveCallback:function(){},listeners:[],forceEnhance:!1,childNodes:"childNodes",throwErrors:!1},this.model=e||[],s(this,t||{},this.model)},s=function(e,t,o){var i,s={},a=e.options;for(var l in r.push({}),d(e,"id",r.length-1),t)a[i=l]=t[i];a.listeners=[];for(var c=(t.listeners||[]).length;c--;)t.listeners[c]&&(a.listeners[c]=t.listeners[c].split(n));o.constructor!==Array&&(e.model=o=[o],e.standalone=!0),s[a.childNodes]=o,e.standalone||d(o,"root",s),h(e,o)};return i.prototype={getElementById:function(e){return r[this.id][e]},getElementsByProperty:function(e,n){var o=[],i="function"==typeof n,s=t!==n,l=t!==e,c=[],u=r[this.id];for(var p in u)a(u,p,e,n,o,i,s,l,c);return o},appendChild:function(e,t){return p(this,e,t=t||this.model.root,u(t,this.options.childNodes).length,"appendChild",t)},prependChild:function(e,t){return p(this,e,t=t||this.model.root,0,"prependChild",t)},insertBefore:function(e,t){return p(this,e,t.parentNode,t.index,"insertBefore",t)},insertAfter:function(e,t){return p(this,e,t.parentNode,t.index+1,"insertAfter",t)},replaceChild:function(e,t){var n=t.index,r=t.parentNode;return e!==t&&f(this,t),p(this,e,r,n,"replaceChild",t),t},removeChild:function(e){return f(this,e),this.options.subscribe.call(this,"removeChild",e),e},sortChildren:function(e,t,n){for(var r=0,o=(t=(t||this.model).sort(e)).length;rt.index&&-1!==t.index&&r--,t=-1!==t.index&&t.parentNode&&f(e,t,!0)||t,u(n,s.childNodes).splice(r||0,0,t),t.parentNode=n,s.moveCallback.call(e,t,o,i,a),t}function f(e,t,n){return!n&&c(e,[t]),u(t.parentNode,e.options.childNodes).splice(t.index,1)[0]||t}function d(e,n,r,o,i){return delete e[n],Object.defineProperty(e,n,{enumerable:!!i,configurable:!1,writable:o===t||!!o,value:r})}function h(e,t,n,i,s){for(var a=e.options,l=!1,c=!0,u=a.idProperty,p={},f=0,m=t.length;fn.length;)e.removeChild(t[t.length-1])}function b(e,t,n,r){var o,i;"childNodes"!==r&&t&&(o=(i=l(t[r]))&&Object.getOwnPropertyDescriptor(t,r).get,t[r]=o?n[r]:"object"==typeof t[r]||i?x(e,t[r],n[r]||{}):n[r])}function y(e,t,n,r){if(!e.hasOwnProperty(n)){if("childNodes"===n)for(var o=t.childNodes.length;o--;)r.removeChild(t.childNodes[o]);t[n]=null,delete t[n]}}function x(e,t,n){for(var r in n)b(e,t,n,r);for(var r in t)y(n,t,r,e);if(n.childNodes&&n.childNodes.length)if(t.childNodes)g(e,t.childNodes,n.childNodes,0,t);else for(var o=0,i=n.childNodes.length;o1,components:null})}function E(e,t,n,r,o){var i=(t.events||e.items.events)[r],s=e.items&&e.items.elements.element||e.instance.element;i||(t.events||(t.events={}),i=t.events[r]={},e.controller.installEvent(e.instance,s,r,t)),i[o]?(i[o].filter(function(t,n){e.items.elements.element.contains(t)||i[o].splice(n,1)}),i[o].push(n)):i[o]=[n]}function w(e,t,n,r,o){var i,s=e.components;if(r!==o||e.forceUpdate){if(i=e.fn(r),t.controller)for(var a=i.length;a--;)1===i[a].nodeType&&A(i[a],"cr-event",function(e,r){E(t,n,i[a],e,r)});s&&(t.crInstance.destroyComponents(s),e.components=null);for(var l=0,c=i.length;l":"src="}),{helpers:n.helpers||{},partials:n.partials||{},attributes:n.attributes||{},registerProperty:_,isDynamic:function(e,t){return e?(Object.getOwnPropertyDescriptor(e,t)||{}).get:null}})):null}function A(e,t,n){for(var r={},o=[e].concat([].slice.call(s("["+t+"]",e))),i=o.length,a="",l=[];i--;)for(var c=(l=(a=o[i].getAttribute(t))?a.split(/\s*;+\s*/):[]).length,u=[],p="",f="";c--;)p=(u=l[c].split(/\s*:+\s*/))[0],(f=u[1]||u[0])?(r[p]=r[p]||{},r[p][f]=r[p][f]||[],r[p][f].push(o[i])):(r[p]=r[p]||[],r[p].push(o[i])),n&&n(p,f,o[i]);return r}function O(e,t){for(var n=(e.hasAttribute("cr-view")?[e]:[]).concat([].slice.call(s("[cr-view]",e))),r={},o=n.length;o--;)r[n[o].getAttribute("cr-view")]=n[o],t&&t(n[o]);return r}}); +!function(e){"use strict";var t=e.Math.random,n=document.createElement("a"),r=e.document.createDocumentFragment(),i=d.modules={},o={};function s(){return"_module_"+(t()+t())}function a(e){var t,r=/(?:^\!|^http[s]*:|.*\.js$)/.test(e)?"":".js";return e=(d.paths[e]||e).replace(/^[!%]/,""),t=function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search}((d.baseUrl||".")+"/"+e+r).replace(/^.\//,""),d.mapPath?d.mapPath(e,r,t):t}function l(e){var t={mapPath:"function",baseUrl:"string"},n=["lookaheadMap","paths","options","mapPath","baseUrl"];if(!d[n[0]])for(var r=n.length;r--;)d[n[r]]="string"===t[n[r]]?"":"function"===t[n[r]]?null:{};for(var i in e)if(-1!==n.indexOf(i))if(t[i])d[i]=e[i];else for(var o in e[i])d[i][o]=e[i][o];return d}function c(e){var t=d.lookaheadMap[e],n=d.options.minifyPrefix;if(t&&-1===(d.paths[e]||"").indexOf(n)){d(t);for(var r=0,o=t.length;ro?-1:0:io?1:0},normalizePath:function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search},ajax:function(e,n){var r,o,a=null,l=(new Date).getTime();return n=n||{},e=i.normalizePath(e),o=s[e]&&s[e].time||0,a=(a=(r=!0===n.cache?l+1e8:n.cache?o>l?o:l+n.cache:0)&&!n.resetCache&&o>l?s[e]:null)||new i.Promise(function(r,i){var o,s,a=new XMLHttpRequest,l=(n.method||n.type||"GET").toUpperCase();if(a||i("Giving up :( Cannot create an XMLHTTP instance"),n||(e=(n=e).url),a.onreadystatechange=function(){var e=function(e,t,n){try{if(e.readyState===XMLHttpRequest.DONE){if(!(e.status<200||e.status>299))return e["xml"===t?"responseXML":"raw"===t?"response":"responseText"];var r=new Error(e.statusText);r.response=e.response,n(r)}}catch(e){n("Caught Exception: "+e.stack)}}(this,n.dataType,i);if(e!==t){if("json"===n.dataType)try{e=JSON.parse(e)}catch(e){return void i("Caught Exception: "+e.stack)}r(e)}},a.open(l,e,n.async||!0,n.username,n.password),"raw"===n.dataType&&(a.responseType="blob"),"xml"===n.dataType&&a.setRequestHeader("Content-Type","text/xml"),"json"===n.dataType&&a.setRequestHeader("Content-Type","application/json"),"GET"!==l&&n.csrf&&a.setRequestHeader("X-XSRF-TOKEN",(o=n.csrf,(s=document.cookie.split(o+"=")[1])&&s.split(";")[0])),n.headers)for(var c in n.headers)a.setRequestHeader(c,n.headers[c]);return a.send(n.data),function(){a.abort()}}),r?(s[e]=a,s[e].time=r):delete s[e],a},errorHandler:function(e){console.error(e)},Promise:a};function o(e,t){var n=document.createEvent("CustomEvent");return t=t||{},n.initCustomEvent(e,t.bubbles||!1,t.cancelable||!1,t.detail),n}e.Event=e.Event||o,e.CustomEvent=e.CustomEvent||o;var s={};function a(e,n){this._state=0,this._handled=!1,this._value=t,this._deferreds=[],this._returnFn=f(e,this),this._staticData=n}function l(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,setTimeout(function(){var n,r=1===e._state?t.onFulfilled:t.onRejected;if(null!==r){try{n=r(e._value)}catch(e){return void u(t.promise,e)}c(t.promise,n)}else(1===e._state?c:u)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t){var n=t.then;if(t instanceof a)return e._state=3,e._value=t,void p(e);if("function"==typeof n)return f(n.bind(t),e)}e._state=1,e._value=t,p(e)}catch(t){u(e,t)}}function u(e,t){e._state=2,e._value=t,p(e)}function p(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||console.warn("Possible Unhandled Promise Rejection:",e._value)});for(var t=0,n=e._deferreds.length;t":">",'"':""","'":"'","/":"/","`":"`","=":"="},helpers:{},partials:{},self:"self",nameCharacters:"",escapeHTML:!0,renderHook:null},s(this,t||{},e)},s=function(e,t,r){for(var i in t)e.options[i]=t[i];for(var o in a(e,(t=e.options).tags),e.entityRegExp=new RegExp("["+n(t.entityMap).join("")+"]","g"),e.helpers=t.helpers,t.partials)e.registerPartial(o,t.partials[o]);r&&e.parse(r)};return o.prototype={render:function(e,t){return this.partials[this.options.self](function(e,t){return{extra:t,scopes:[{scope:e,helpers:{},level:{"@root":e},path:[]}]}}(e,t||{}))},parse:function(e){return this.registerPartial(this.options.self,e)},registerHelper:function(e,t){this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){return this.partials[e]=this.partials[e]||(n.constructor===Function?n:function e(n,r,i){var o=function(r,o,s,a,l,c,u,p,f){return"#*"===s?n.registerPartial(l.replace(/['"]/g,""),e(n,u,i))&&"":function(e,n,r,i,o,s,a,l,c){var u=o.split(l),p=S(e,l,c,a||"",r,null),f=function(e,n,r,i,o,s){for(var a=0,l=n.length,c=!1,u=[];a!&=])*\\s*([\\w\\"+r+"<>|\\.\\s]*)"+n[1],"g"),e.sectionRegExp=new RegExp(n[0]+"([#^][*%]*)\\s*([\\w"+r+"~]*)(?:\\s+([\\w$\\s|.\\/"+r+"]*))*"+n[1]+"(?:\\n*)((?:(?!"+n[0]+"[#])[\\S\\s])*?)("+i+")","g"),e.elseSplitter=new RegExp(n[0]+"(?:else|\\^)\\s*(.*?)"+n[1])}function l(e,t,n){return n&&t.options.escapeHTML?String(e).replace(t.entityRegExp,function(e){return t.options.entityMap[e]}):e}function c(e,t,n,r,i){return{"@index":e,"@last":e===n-1,"@first":0===e,"@length":n,"@parent":i,"@key":t,this:r,".":r}}function u(e,t,n,r,o,s,a){return s?t.splice(t.length-2,2,a,""):t.push(a,""),n={scope:n,helpers:r,level:o,path:t},s?(e[0]=n,e):i(e,[n])}function p(e,t,n){for(var r=0,i=t.path.length;r1?e.join("."):e[0]:"";return n?n+"."+t:t}(o.path,c||u?r.vars[0]&&r.vars[0].variable.value:o.value)),o._path=m.join("."),{value:h,type:v}}function d(e,t,n,r,i){return"helper"===t.type||"function"===t.type?m(e,t,n,r,[{bodyFn:i}]):t.value}function h(e,t,n,r,i,o,s){for(var a=r.length,l={},c="",u=null,p="";a--;)c=(u=(p=(l=r[a]).variable).root?d(e,t,n,p,null):null)||!p.name?"$"+a:p.name,p.name&&(s[c]=i[c]),i[c]=u||f(e,n,{root:l}).value,o.push(i[c]),l.isAlias&&(n.scopes[0].level[c]=i[c]);return{obj:i,arr:o,restore:s}}function v(e,n,r,i,o){return e.root.isAlias&&(r[n.name||n.value]=o,i!==t&&(r[e.root.aliasKey||"@key"]=i)),r}function m(e,t,n,r,i){return r.isHelper=!0,t.value.apply({name:r.root?r.root.variable.value:"",scope:n.scopes[0].scope,rootScope:n.scopes[n.scopes.length-1].scope,getBody:function(){return i[0]?i[0].bodyFn(n):""},getData:function(t){return f(e,n,{root:O(t)}).value},escape:function(t){return l(t,e,!0)}},h(e,t,n,r.vars,{},[],{}).arr)}function g(e,t,n,r,i,o){for(var s=0,a=i[s],l=!r.helper||"if"===r.helper,c=!1,u=d(e,t,n,r,a.bodyFn);!(c=l&&!!u||!l&&!u)&&i[s+1];)l=!(a=i[++s]).helper||"if"===a.helper,u=d(e,t=a.root?f(e,n,a):{value:l},n,a,a.bodyFn);return o.fnIdx=s,c?a.bodyFn(n):""}function b(e,t,r,i,o){for(var s="",a="array"===t.type,l=a?t.value||[]:n(t.value||{}),p=0,f=l.length,d="";p"===r,isHelper:!1,isEscaped:i.lastIndexOf(e.options.tags[0])<1,helper:"^"===r?"unless":l,vars:R(s,[],a),active:c,bodyFn:o||null}}function j(e,t,n,r,i){for(var o=t.split(e.inlineRegExp),s=0,a=o.length,l="",c=[];s-1?r[t[o].blockIndex](i):x(e,i,t[o],!1,C(e,t[o],i,f(e,i,t[o])),C,null));return a}(e,r,i,n,t)}}}),function(e,t){"object"==typeof exports?module.exports=t(e,require("schnauzer")):"function"==typeof define&&define.amd?define("blick",["schnauzer"],function(n){return t(e,n)}):e.Blick=t(e,e.Schnauzer)}(this,function(e,t,n){"use strict";var r=function(e,t){for(var n in t)t[n]=document.createElement(t[n]);return function(n,r,i){var o=((n||"").match(e)||[])[1],s=t[o]||t.default;return r&&(s=s.cloneNode()),i?s.textContent=n||"":s.insertAdjacentHTML("afterbegin",n||""),s}}(/<\s*(\w*)[\s\S]*?>/,{option:"select",legend:"fieldset",area:"map",param:"object",thead:"table",tr:"tbody",col:"colgroup",td:"tr",default:"div"}),i=function(e,t){this.version="0.1.0",this.options={registerProperty:function(e,t,n,r,i){},forceUpdate:!1,attributes:{value:a,disabled:s,hidden:s,checked:s,autocomplete:s,contenteditable:s,readonly:s,required:s,selected:s},renderHook:u,isDynamic:function(e,t){return!0}},this.collector={},this.schnauzer={},this.dataDump=[],o(this,t||{},e)},o=function(e,n,r){for(var i in n)if("attributes"===i)for(var o in n[i])e.options[i][o]=n[i][o];else e.options[i]=n[i];e.schnauzer=new t(r,e.options),e.schnauzer.dataDump=[]};return i.prototype={renderHTML:function(e,t){return p(this,this.schnauzer.dataDump,r(this.schnauzer.render(e,t)))}},i;function s(e,t,n){!0===n||"true"===n||!n&&!1!==n?(e.setAttribute(t,"selected"===t?t:""),setTimeout(function(){e[t]=!0})):(e.removeAttribute(t),setTimeout(function(){e[t]=!1}),"focus"===n&&e.focus())}function a(e,t,n){e.setAttribute("value",n),e.value=n}function l(e,t){for(var n=e.parentNode.childNodes,r=n.length,i={},o=0,s=null;r--;)if(3===(i=n[r]).nodeType&&-1!==(o=i.textContent.indexOf(t))){s=i.splitText(o+t.length),i.textContent=i.textContent.substring(0,i.textContent.length-t.length);break}return s}function c(e,t){return(e=e.splitText(e.textContent.indexOf(t)).splitText(0)).textContent=e.textContent.substring(t.length),e}function u(e,t,n,r,i,o,s,a,l){var c=this.dataDump.length,u=t.isHelper||t.isPartial,p=u&&t.vars[0]&&(t.vars[0].root=t.vars[0])||t,f=u?p.root.variable.value:s,d=!!p.active||this.options.forceUpdate,h=!!s&&d&&!!this.options.isDynamic(a,f),v=t.helper,m=n.scopes,g="{{#"+c+"}}",b="{{/"+c+"}}",y="";return!h&&p.active<3?e:(y=p.root.variable.path.join("."),y+=(y?".":"")+p.root.variable.value,this.dataDump.push({isBlock:r,track:i,bodyFn:l,active:p.active,isEscaped:p.isEscaped,start$:g,end$:b,path:o,noCache:(/^[ew]/.test(v)||t.isPartial)&&p.active>0||p.active>2,root:m[m.length-1].scope,helper:v,scope:m[0].scope||{},parent:a,key:y,out:e,helperFn:u?l:null,isOdd:u}),g+e+b)}function p(e,t,n,r){for(var i,o,s,a=null,l=null,c=t.length,u={};c--;)u=t.pop(),i=n,o=u.start$,void 0,s=XPathResult.FIRST_ORDERED_NODE_TYPE,(l=(a=document.evaluate('//text()[contains(., "'+o+'")]',i,null,s,null).singleNodeValue||document.evaluate('//@*[contains(., "'+o+'")]',i,null,s,null).singleNodeValue)?a.ownerElement?f:u.isBlock?h:d:null)&&l(e,a,u.start$,u.end$,u,t,r);return n}function f(e,t,n,i,o,s){var a=/>/g,l=t.ownerElement,c=e.options.attributes[t.nodeName],u=function(e){var n=e.parentNode;if(11!==n.nodeType)return c?c(l,t.nodeName,n.textContent):void(t.textContent=n.textContent.replace(a,""))},p=t._cache=t._cache||r(t.textContent.replace(a,""),!0,!0),f=[].slice.call(p.childNodes).filter(function(e){return-1!==e.textContent.indexOf(n)})[0];u(o.isBlock?h(e,f,n,i,o,s,u):d(e,f,n,i,o,s,u))}function d(e,t,n,i,o,s,a){return t=c(t,n),e.options.registerProperty(function(e,t,n,i,o,s){var a=i?null:document.createDocumentFragment(),l=[];return function(c){var u=[],p=s?s():c;if(o||i)return e.textContent=p,o&&o(e),[];for(l=[],u=r(p+"").childNodes;n.previousSibling!==t;)n.parentNode.removeChild(n.previousSibling);for(;u.length;)l.push(a.appendChild(u[0]));return n.parentNode.insertBefore(a,n),l}}(t,t.previousSibling,l(t,i),o.isEscaped,a,o.helperFn),o.key,o.path||o.key,o.parent,o.scope,o.root,o.active,e.collector),t}function h(e,t,n,i,o,s,a){return-1!==t.textContent.indexOf(i)&&t.splitText(t.textContent.indexOf(n)+n.length),t=c(t,n),e.options.registerProperty(function(e,t,n,i,o,s,a,l,c){var u=[],f=o.fnIdx,d=[];return d[f]=document.createDocumentFragment(),u[f]=!c&&s.length>0,function(s){var h=[],v=i(s),m={},g=t,b=f;for(f=o.fnIdx;(g=t.nextSibling)&&g!==n;)c?g.parentNode.removeChild(g):d[b].appendChild(g);if(!u[f]||c){for(d[f]=d[f]||document.createDocumentFragment(),m=p(e,a,r(v),l);g=m.childNodes[0];)h.push(d[f].appendChild(g));u[f]=!!h.length}return v&&n.parentNode.insertBefore(d[f],n),l&&l(t),a.length&&a.splice(0,a.length),h}}(e,t,l(t,i),o.bodyFn,o.track,o.out,s,a,o.noCache),o.key,o.path||o.key,o.parent,o.scope,o.root,o.active,e.collector),t}}),function(e,t){"object"==typeof exports?module.exports=t(e):"function"==typeof define&&define.amd?define("VOM",[],function(){return t(e)}):e.VOM=t(e)}(this,function(e,t){"use strict";var n=/\.|\//,r=[],i=0,o=function(e,t){this.options={parentCheck:!1,idProperty:"id",subscribe:function(){},enrichModelCallback:function(){},preRecursionCallback:function(){},moveCallback:function(){},listeners:[],forceEnhance:!1,childNodes:"childNodes",throwErrors:!1},this.model=e||[],s(this,t||{},this.model)},s=function(e,t,i){var o,s={},a=e.options;for(var l in r.push({}),d(e,"id",r.length-1),t)a[o=l]=t[o];a.listeners=[];for(var c=(t.listeners||[]).length;c--;)t.listeners[c]&&(a.listeners[c]=t.listeners[c].split(n));i.constructor!==Array&&(e.model=i=[i],e.standalone=!0),s[a.childNodes]=i,e.standalone||d(i,"root",s),h(e,i)};return o.prototype={getElementById:function(e){return r[this.id][e]},getElementsByProperty:function(e,n){var i=[],o="function"==typeof n,s=t!==n,l=t!==e,c=[],u=r[this.id];for(var p in u)a(u,p,e,n,i,o,s,l,c);return i},appendChild:function(e,t){return p(this,e,t=t||this.model.root,u(t,this.options.childNodes).length,"appendChild",t)},prependChild:function(e,t){return p(this,e,t=t||this.model.root,0,"prependChild",t)},insertBefore:function(e,t){return p(this,e,t.parentNode,t.index,"insertBefore",t)},insertAfter:function(e,t){return p(this,e,t.parentNode,t.index+1,"insertAfter",t)},replaceChild:function(e,t){var n=t.index,r=t.parentNode;return e!==t&&f(this,t),p(this,e,r,n,"replaceChild",t),t},removeChild:function(e){return f(this,e),this.options.subscribe.call(this,"removeChild",e),e},sortChildren:function(e,t,n){for(var r=0,i=(t=(t||this.model).sort(e)).length;rt.index&&-1!==t.index&&r--,t=-1!==t.index&&t.parentNode&&f(e,t,!0)||t,u(n,s.childNodes).splice(r||0,0,t),t.parentNode=n,s.moveCallback.call(e,t,i,o,a),t}function f(e,t,n){return!n&&c(e,[t]),u(t.parentNode,e.options.childNodes).splice(t.index,1)[0]||t}function d(e,n,r,i,o){return delete e[n],Object.defineProperty(e,n,{enumerable:!!o,configurable:!1,writable:i===t||!!i,value:r})}function h(e,t,n,o,s){for(var a=e.options,l=!1,c=!0,u=a.idProperty,p={},f=0,m=t.length;f/.test(t.template);i.push(r[a]={hasPartial:c,container:l,child:s?S(s,t,"child",a):null,template:S(function(e,t){return e.parentNode.setAttribute("cr-parent-container",t),e}(e,l),t,"loop",a)})}),n=e.firstElementChild?e.firstElementChild.innerHTML:"",r.this={template:S(e.firstElementChild,t,"main","this")};var a=n&&r.this.template.schnauzer.partials,l=[];if(a&&i.length&&c(a).length>1){n.replace(/{{#\*inline\s*["'](.*?)["']}}([\S\s]*){{\/inline}}/,function(e,t,n){l.push({name:t,html:n})});for(var u=i.length;u--;)for(var p=l.length;p--;)i[u].template.schnauzer.registerPartial(l[p].name,l[p].html)}return r}(d,t),styles:function(e,t){if(!t.styles)return;var n=l(t.styles)?t.styles.join("\n"):t.styles,r=a("style");return r.setAttribute("name",e),r.innerHTML="\n"+n+"\n",document.head.appendChild(r),r}(t.selector,t),name:t.name||r.name,init:function(s,a,d){return function(t,r,s,a,d){var x=r.selector,C=p[x],N={},E="",w={},P={},A=r.circular||h.instance,O={},S=[],$=C.templates||{},D=t.getAttribute("cr-id"),F=t.getAttribute("cr-name");if(r.singleton){if(p[r.selector].singleton)return;p[r.selector].singleton=!0}if(D&&!a)return f[A.id+":"+D];["partials","helpers","decorators","attributes"].forEach(function(e){r[e]||(r[e]=A.options[e])}),N={"cr-id":!a&&(t.setAttribute("cr-id",A.id+":"+u),u)||u,elements:{element:t},events:{},parentNode:{},views:{}},E=N["cr-id"],P=f[A.id][E]={instance:{},controller:{},models:[],parent:"",subscribers:[]},F&&(f[A.id][F]=f[A.id][E]);w=P.instance=function(t,n,r,i,o,s,a,c){var u=l(c)?c[0]:c,p=c&&c[1],d=function(t,n){for(var r=t&&t.split(/\s*,\s*/)||[],i=[],o={vars:{},origin:{},names:{},static:{}},s=!1,a="",l="",c={},u=r.length;u--;)i=r[u].split(/\s+as\s+/),s="'"===i[0].charAt(0)||'"'===i[0].charAt(0),a=s?e.convertToType(i[0].replace(/'|"/g,"")):"",l=s?a:i[0],c="this"===l||"."===l?n:n&&n[l],o.vars[i[1]||l]=s?a:c,o.origin[l]=s?a:c,o.names[l]=i[1]||l,o.static[l]=s;return o}(o||n.getAttribute("cr-input"),a.parent=u)||{},h=u&&u["__cr-id"].split(":")[1];return n.removeAttribute("cr-input"),new t(n,r,function(e,t){for(var n in d.vars)v(n,d,e,u);if(!1!==t)for(var n in d.origin)m(n,d,e,!1,f,r,i,p,h);o&&u!==p&&function(e,t,n){var r=n.events||{};for(var i in r)g(i,r,t,e)}(u,e,s)},function(){return u||p})}(s,t,A,u++,a,r,P,d),Object.defineProperty(w,"__cr-id",{value:A.id+":"+E}),!a&&function(e,t,n,r){j(e,"cr-plugin",function(e,r,i){p[e]&&(p[e].init(i,r,t),delete n.plugins[e],i.removeAttribute("cr-plugin"))});for(var i=e.children.length,o="",s={};i--;)s=e.children[i],o=s.tagName.toLowerCase(),p[o]&&p[o].init(s,null,t)}(t,w,r),O=P.controller=new i({element:t}),S=c($).concat(c(r.subscribe$)),P.models=S.filter(function(e,t){return S.indexOf(e)===t}).sort(function(e){return"this"===e?-1:1}).map(function(e){var i=$[e];return e?function(e){var t=function(e){var t=e.instance,r=e.modelName,i=r+"$",o=r+"$$",s=r+"$PR",a=r+"$Intersept";return new n("this"===r?t:t[r]||[],{idProperty:"cr-id",moveCallback:t[r+"$Move"]||function(){},enrichModelCallback:t[r+"$Enrich"]||function(){},listeners:e.listeners,interseptor:t[a],preRecursionCallback:function(n,r,i){t[s]&&t[s](this,n),e.template&&_(this,{item:n,type:r,siblPar:i,data:e})},subscribe:function(r,s,a,l,c){var u="childNodes"===r||!!n.prototype[r];e.template&&function(e,t,r,i,o,s,a){var l=r.elements&&r.elements.element,c=r.parentNode&&r.parentNode.elements||null,u=c?c.container||c.element:a.templateContainer,p=r["__cr-id"]||r["cr-id"],f=!r.childNodes&&a.childTemplate||a.template||null,d=f?f.collector:{},h="childNodes"===t||!!n.prototype[t];"removeChild"===t?(l&&R(l,t,l.parentElement),function e(t,n,r,i){for(var o in t)T(o,t,n,i);if(r)for(var s=r.length,a={};s--;)a=r[s]["cr-id"]||r[s]["__cr-id"],e(t,a,r[s].childNodes,i)}(a.defData.components,p,r.childNodes,a.crInstance),function(e,t,n){var r=function(n){delete e[t][n]};if(e&&e[t]){for(var i in e[t])r(i);n||delete e[t]}}(d,p)):"sortChildren"===t?R(l,"appendChild",u):e[t]&&(r===s?_(e,{item:r,type:t,siblPar:s,data:a}):"replaceChild"!==t&&l&&h&&R(l,t,u,s.elements&&s.elements.element)),function(e,t,n,r,i,o,s){var a=n&&n[r]&&n[r][i];if(a)for(var l=a.length;l--;)k(a[l],e,t,o,s)}(a,r,d,p,t,i,o)}(this,r,s,a,l,c,e),t[i]&&!u&&t[i](r,s,a,l),t[o]&&t[o](r,s,a,l,u),u||(void 0===s.parentNode&&void 0===s.childNodes?e.crInstance.publish(e.crInstance.id,t["__cr-id"],r,a):s["cr-id"]&&e.crInstance.publish(e.crInstance.id,s["cr-id"],r,a))}})}(e);if("this"===e.modelName||!l(e.instance[e.modelName]))return t;for(var r in n.prototype)Object.defineProperty(t.model,r,{value:t[r].bind(t)});return Object.defineProperty(e.instance,e.modelName,{get:function(){return t.model},set:function(e){y(t,t.model,e,e.isDelta)}}),t}({instance:w,items:N,defData:r,template:!a&&i&&i.template,childTemplate:!a&&i&&i.child,templateContainer:!a&&"this"!==e&&i?function(e,t){var n=void 0!==t&&o('[cr-parent-container="'+t+'"]',e);return n&&n.removeAttribute("cr-parent-container"),n||e}(t,i.container):t,modelName:e,hasPartial:i&&i.hasPartial,listeners:r.subscribe$&&r.subscribe$[e],crInstance:A,controller:O}):null}),a||r.template||b(t,r,N,P);return t.removeAttribute("cr-cloak"),w.onInit&&w.onInit(t,A,N),w}("string"==typeof s?o(s):s,t,r,a,d)},preparePlugin:function(e,n,r){var i=n.plugins[t.selector]=n.plugins[t.selector]||{},o=i[r.where]=i[r.where]||{};(o[r.modelName]=o[r.modelName]||[]).push(r.value),function(e,t){var n=e.getAttribute("cr-event"),r=n?[n]:[];for(var i in t.events)r.push(i+": pl-"+t.events[i]);e.setAttribute("cr-event",r.join("; "))}(e,t)}})}},Plugin:{value:function(e,t){return h.Component(e,t)}}});function v(e,t,n,r){var i=t.vars[e];"null"!==e&&(n[e]="function"==typeof i?i.bind(r):i)}function m(e,t,n,r,i,o,s,a,l){!t.static[e]&&"null"!==e&&e&&((r="this"===e||"."===e)&&(n[t.names[e]]=a||t.origin[e]),i[o.id][s].subscribers.push(function(e,t){return o.subscribeToComponent(a&&r?a["cr-id"]:l,t,function(r){n[e[t]]=r},!0)}(t.names,e)))}function g(e,t,n,r){var i;r["pl-"+t[e]]||(i=t[e],Object.defineProperty(r,"pl-"+i,{value:function(e,t,r){return n[i](e,t,r)}}))}function b(e,t,n,r){var i=c(t.components).join(","),a=i?s(i,e):[],l=a.length?function(e,t){var n=[].slice.call(e).map(function(e,t){var n=document.createElement(e.tagName);return e.parentNode.replaceChild(n,e),n.setAttribute("cr-replace",t),{index:t,element:e}});return function(){!function e(t,n){for(var r=t.length,i=[];r--;){var s=o('[cr-replace="'+t[r].index+'"]',n);s?s.parentNode.replaceChild(t[r].element,s):i.push(t[r])}i.length&&e(i,n)}(n,t)}}(a,e):function(){};n.views=$(e,function(e){}),n.events=j(e,"cr-event",function(t){r.controller.installEvent(r.instance,e,t,n)}),l()}function y(e,t,n,r,i){for(var o=0,s=n.length;on.length;)e.removeChild(t[t.length-1])}function x(e,t,n,r){var i,o,s;"childNodes"!==r&&t&&(o=l(t[r])&&l(n[r]),s="object"==typeof t[r]&&"object"==typeof n[r],i=o&&Object.getOwnPropertyDescriptor(t,r).get,t[r]=i?n[r]:s||o?N(e,t[r],n[r]||{}):n[r])}function C(e,t,n,r){if(!e.hasOwnProperty(n)){if("childNodes"===n)for(var i=t.childNodes.length;i--;)r.removeChild(t.childNodes[i]);t[n]=null,t.splice?t.splice(n,1):delete t[n]}var o=l(t[n])&&l(e[n]),s=o&&t[n].length-e[n].length;"childNodes"!==n&&o&&s>0&&t[n].splice(e[n].length,s)}function N(e,t,n){for(var r in n)x(e,t,n,r);for(var r in t)C(n,t,r,e);if(n.childNodes&&n.childNodes.length)if(t.childNodes)y(e,t.childNodes,n.childNodes,0,t);else for(var i=0,o=n.childNodes.length;i1,components:null})}function O(e,t,n,r,i){var o=(t.events||e.items.events)[r],s=e.items&&e.items.elements.element||e.instance.element;o||(t.events||(t.events={}),o=t.events[r]={},e.controller.installEvent(e.instance,s,r,t)),o[i]?(o[i].filter(function(t,n){e.items.elements.element.contains(t)||o[i].splice(n,1)}),o[i].push(n)):o[i]=[n]}function k(e,t,n,r,i){var o,s=e.components;if(r!==i||e.forceUpdate){if(o=e.fn(r),t.controller)for(var a=o.length;a--;)1===o[a].nodeType&&j(o[a],"cr-event",function(e,r,i){O(t,n,i||o[a],e,r)});s&&(t.crInstance.destroyComponents(s),e.components=null);for(var l=0,c=o.length;l":"src="}),{helpers:n.helpers||{},partials:n.partials||{},attributes:n.attributes||{},registerProperty:A,isDynamic:function(e,t){return e?(Object.getOwnPropertyDescriptor(e,t)||{}).get:null}})):null}function j(e,t,n){for(var r={},i=[e].concat([].slice.call(s("["+t+"]",e))),o=i.length,a="",l=[];o--;)for(var c=(l=(a=i[o].getAttribute(t))?a.split(/\s*;+\s*/):[]).length,u=[],p="",f="";c--;)p=(u=l[c].split(/\s*:+\s*/))[0],(f=u[1]||u[0])?(r[p]=r[p]||{},r[p][f]=r[p][f]||[],r[p][f].push(i[o])):(r[p]=r[p]||[],r[p].push(i[o])),n&&n(p,f,i[o]);return r}function $(e,t){for(var n=(e.hasAttribute("cr-view")?[e]:[]).concat([].slice.call(s("[cr-view]",e))),r={},i=n.length;i--;)r[n[i].getAttribute("cr-view")]=n[i],t&&t(n[i]);return r}}); //# sourceMappingURL=circular.min.js.map \ No newline at end of file diff --git a/circular.min.js.map b/circular.min.js.map index 297b255..9d92bfd 100644 --- a/circular.min.js.map +++ b/circular.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["0"],"names":["root","mathRand","Math","random","link","document","createElement","documentFragment","createDocumentFragment","timer","modules","require","executedModule","getRandomName","getPathFromName","name","path","postFix","test","paths","replace","href","indexOf","host","origin","pathname","search","normalizePath","baseUrl","mapPath","config","exceptions","items","n","length","item","key","lookaheadForDeps","deps","lookaheadMap","minifyPrefix","options","m","checkIfDone","module","done","undefined","markAsDone","parents","factory","isFile","apply","map","dep","applyScript","sync","data","script","type","async","defer","charset","onload","onreadystatechange","e","target","currentTarget","srcElement","readyState","onScriptLoaded","src","constructor","Array","define","parentName","push","isInline","charAt","getFile","appendChild","clearTimeout","setTimeout","head","getDependencies","amd","resource","this","exports","Toolbox","window","_link","types","null","NaN","true","false","convertToType","value","hasOwnProperty","toString","closest","element","selector","matches","msMatchesSelector","webkitMatchesSelector","documentElement","contains","call","parentElement","parentNode","nodeType","$create","tag","className","elm","$","querySelector","$$","querySelectorAll","parentsIndexOf","elements","keys","obj","result","isArray","addClass","classList","add","removeClass","remove","toggleClass","condition","hasClass","toggleClasses","oldElm","newElm","oldClass","newClass","addEvents","func","cap","collection","addEvent","removeEvents","addEventListener","removeEventListener","storageHelper","fetch","localStorage","getItem","JSON","parse","saveLazy","lazy","save","removeItem","setItem","stringify","fn","pref","_timer","itemsSorter","a","b","asc","textA","toUpperCase","textB","ajax","url","prefs","cache","time","promise","now","Date","getTime","ajaxCache","resetCache","Promise","resolve","reject","cookieKey","start","xhr","XMLHttpRequest","method","dataType","DONE","status","error","Error","statusText","response","stack","getXHRData","open","username","password","setRequestHeader","csrf","cookie","split","headers","header","send","abort","errorHandler","console","Event","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","CustomEvent","_state","_handled","_value","_deferreds","_returnFn","doResolve","handle","self","deferred","ret","cb","onFulfilled","onRejected","newValue","then","finale","bind","warn","i","len","rejectFn","ex","_cache","prototype","cancel","id","all","promises","results","reduce","accumulator","ext","substring","lastIndexOf","toLowerCase","substr","global","Schnauzer","getObjectKeys","Object","cloneObject","newObj","concatArrays","array","l","template","version","partials","tags","entityMap","&","<",">","\"","'","/","`","=","helpers","nameCharacters","escapeHTML","renderHook","initSchnauzer","_this","option","switchTags","entityRegExp","RegExp","join","registerPartial","render","extra","scopes","scope","level","@root","getScope","text","registerHelper","helperFn","unregisterHelper","Function","sizzleBlocks","blocks","replaceCb","vars","end","body","close","closeParts","tagData","getTagData","bodyFns","parts","mainStart","blkTrims","prev","trims","getTrims","sizzleInlines","trim","processBodyParts","elseSplitter","model","renderBlock","doBlock","sectionRegExp","unregisterPartial","setTags","tgs","chars","blockEnd","inlineRegExp","escapeHtml","string","doEscape","String","char","createHelper","idx","parent","@index","@last","@first","@length","@parent","@key",".","shiftScope","splice","getDeepData","mainVar","getParent","getData","variable","parentDepth","scopeData","helper","isStrict","isString","partial","isPartial","tmp","getValue","getHelperData","isLiteral","_path","renderPath","bodyFn","renderHelper","collectValues","arr","restore","scp","iVar","isAlias","pushAlias","aliasKey","isHelper","rootScope","getBody","getVar","escape","renderIfUnless","track","cond","fnIdx","renderEach","out","isArr","_data","shift","renderWith","scope0","isBlock","renderFn","renderInline","renderPartial","isEscaped","recursive","isIfUnless","regExp","convertValue","isNaN","getActiveState","splitVars","match","parsePath","doOperate","pathParts","pop","active","processVars","processAlias","varsArr","_root","glues","blockIndex","renderInlines","Blick","saveWrapHtml","htmlText","clone","textOnly","tagName","cloneNode","textContent","insertAdjacentHTML","legend","area","param","thead","tr","col","td","default","registerProperty","collector","forceUpdate","attributes","setValue","disabled","setAttribute","hidden","checked","autocomplete","contenteditable","readonly","required","selected","isDynamic","schnauzer","dataDump","initBlick","attr","renderHTML","resolveReferences","removeAttribute","focus","findEndNode","node","end$","children","childNodes","child","index","lastNode","splitText","findSatrtNode","start$","isOdd","_key","doScan","longKey","noCache","html","update","container","pattern","NODE_TYPE","dump","XPathResult","FIRST_ORDERED_NODE_TYPE","evaluate","singleNodeValue","ownerElement","attributeFn","blockFn","inlineFn","regexp","attrFn","nodeName","wrap","helperNode","slice","filter","firstNode","fragment","outContainer","previousSibling","removeChild","insertBefore","replaceInline","wasEverRendered","trackDF","prevFnIdx","nextSibling","replaceBlock","VOM","pathSplit","NODES","idCounter","parentCheck","idProperty","subscribe","enrichModelCallback","preRecursionCallback","moveCallback","listeners","forceEnhance","throwErrors","init","rootItem","_options","reinforceProperty","standalone","enrichModel","getElementById","getElementsByProperty","property","isFn","hasValue","hasProperty","findProperty","moveItem","getChildNodes","prependChild","sibling","insertAfter","replaceChild","newItem","sortChildren","callback","sort","addProperty","current","getProperty","crawlObject","getCleanModel","destroy","prop","val","hasVal","hasProp","propValue","oldParent","check","__index","preserve","writeable","enumable","defineProperty","enumerable","configurable","writable","isNew","hasOwnId","interseptor","enhanceModel","detect","_parent","concat","get","set","oldValue","validate","txt","log","inbound","Circular","pubsub","modulesMap","publish","pubsubs","getPath","hash","decodeURI","location","extractRouteParameters","route","exec","names","decodeURIComponent","parameters","queries","query","extractSearchString","appendChildToContainer","transition","_scroll","scroll","scrollTop","sendToComponent","component","getComponent","onSend","triggerEvent","_params","dispatchEvent","installEvent","subscribeToComponent","trigger","unsubscribe","destroyComponents","insts","forEach","inst","destroyComponent","comp","_comp","components","funcNo","funcs","addRoute","optional","_hash","routers","__router","uninstall","routes","onpopstate","installRouter","removedRoute","toggleRoute","isOn","router","callbacks","paused","engine","share","renderModule","isValid","context","instance","onLoad","onRender","componentElm","input","defineProperties","Controller","events","eventName","componentElement","useCapture","rootItems","getAttribute","rootEvents","modelHasEvents","modelEvents","sP","_","eventDelegator","installEvents","removeEvent","stopPropagation","eventElement","mixinAPI","instances","templateWrapper","decorators","isName","initCircular","onDestroy","controller","models","subscribers","getAttributeData","getAttrMap","Module","defData","Klass","Component","ids","getParentComponent","plugins","subscribe$","templates","modelName","getTemplate","createPlaceHolder","firstElementChild","processTemplate","styles","innerHTML","installStyles","plugData","crInst","circular","elmId","elmName","singleton","cr-id","views","instId","parentComp","loopItem","isLoop","parentValues","static","isStatic","staticValue","processInput","parentId","getInstance","initInner","tmpl","vom","name$","name$$","name$PR","name$Intersept","siblPar","setNewItem","intern","vomInstance","parentElements","templateContainer","childTemplate","keep","destroyCollector","blickItems","changeBlickItem","changeBlickItems","changeItem","crInstance","getVOMInstance","newModel","injectNewModel","isDelta","applyModel","processStandalone","onInit","initComponent","preparePlugin","pData","values","plug","where","preparePluginInTemplate","Plugin","initPlugins","elms","selectors","inner","tmpElm","restoreInnerComponents","removeInnerComponents","getViewMap","deltaOnly","updateModelItem","updateModelItemLoop","isActiveArr","getOwnPropertyDescriptor","deleteModelItem","rootElement","instContainer","isChild","extraModel","tmpParent","lastElementChild","hasAttribute","initComponentsAndPlugins","componentsDefs","isMain","what","registerBlickProperty","blickItem","registerEventsForBlickItem","fnName","rootElm","x","y","operator","created","nextElementSibling","wishList","getInnerComponents","main","loop","outerHTML","$1","attribute","chunks"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["0"],"names":["root","mathRand","Math","random","link","document","createElement","documentFragment","createDocumentFragment","modules","require","executedModule","getRandomName","getPathFromName","name","path","postFix","test","paths","replace","href","indexOf","host","origin","pathname","search","normalizePath","baseUrl","mapPath","config","exceptions","items","n","length","item","key","lookaheadForDeps","deps","lookaheadMap","minifyPrefix","options","m","checkIfDone","module","done","undefined","markAsDone","parents","factory","isFile","apply","map","dep","applyScript","sync","data","script","type","async","defer","charset","onload","onreadystatechange","e","target","currentTarget","srcElement","readyState","onScriptLoaded","src","constructor","Array","define","parentName","push","isInline","charAt","getFile","appendChild","childNodes","head","getDependencies","amd","resource","this","exports","Toolbox","window","_link","types","null","NaN","true","false","convertToType","value","hasOwnProperty","toString","closest","element","selector","matches","msMatchesSelector","webkitMatchesSelector","documentElement","contains","call","parentElement","parentNode","nodeType","$create","tag","className","elm","$","querySelector","$$","querySelectorAll","parentsIndexOf","elements","keys","obj","result","isArray","addClass","classList","add","removeClass","remove","toggleClass","condition","hasClass","toggleClasses","oldElm","newElm","oldClass","newClass","addEvents","func","cap","collection","addEvent","removeEvents","addEventListener","removeEventListener","storageHelper","fetch","localStorage","getItem","JSON","parse","saveLazy","lazy","save","removeItem","setItem","stringify","fn","pref","clearTimeout","_timer","setTimeout","itemsSorter","a","b","asc","textA","toUpperCase","textB","ajax","url","prefs","cache","time","promise","now","Date","getTime","ajaxCache","resetCache","Promise","resolve","reject","cookieKey","start","xhr","XMLHttpRequest","method","dataType","DONE","status","error","Error","statusText","response","stack","getXHRData","open","username","password","responseType","setRequestHeader","csrf","cookie","split","headers","header","send","abort","errorHandler","console","Event","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","CustomEvent","staticData","_state","_handled","_value","_deferreds","_returnFn","doResolve","_staticData","handle","self","deferred","ret","cb","onFulfilled","onRejected","newValue","then","finale","bind","warn","i","len","rejectFn","ex","_cache","prototype","cancel","id","all","promises","results","reduce","accumulator","ext","substring","lastIndexOf","toLowerCase","substr","global","Schnauzer","getObjectKeys","Object","cloneObject","newObj","concatArrays","array","l","template","version","partials","tags","entityMap","&","<",">","\"","'","/","`","=","helpers","nameCharacters","escapeHTML","renderHook","initSchnauzer","_this","option","switchTags","entityRegExp","RegExp","join","registerPartial","render","extra","scopes","scope","level","@root","getScope","text","registerHelper","helperFn","unregisterHelper","Function","sizzleBlocks","blocks","replaceCb","vars","end","body","close","closeParts","tagData","getTagData","bodyFns","parts","mainStart","blkTrims","prev","trims","getTrims","sizzleInlines","trim","processBodyParts","elseSplitter","model","renderBlock","doBlock","sectionRegExp","unregisterPartial","setTags","tgs","chars","blockEnd","inlineRegExp","escapeHtml","string","doEscape","String","char","createHelper","idx","parent","@index","@last","@first","@length","@parent","@key",".","shiftScope","splice","getDeepData","mainVar","getParent","getData","variable","parentDepth","scopeData","helper","isStrict","isString","partial","isPartial","tmp","getValue","getHelperData","isLiteral","_path","renderPath","bodyFn","renderHelper","collectValues","arr","restore","scp","iVar","isAlias","pushAlias","aliasKey","isHelper","rootScope","getBody","getVar","escape","renderIfUnless","track","cond","fnIdx","renderEach","out","isArr","_data","shift","renderWith","scope0","isBlock","renderFn","renderInline","renderPartial","isEscaped","recursive","isIfUnless","regExp","convertValue","isNaN","getActiveState","splitVars","match","parsePath","doOperate","pathParts","pop","active","processVars","processAlias","varsArr","_root","glues","blockIndex","renderInlines","Blick","saveWrapHtml","htmlText","clone","textOnly","tagName","cloneNode","textContent","insertAdjacentHTML","legend","area","param","thead","tr","col","td","default","registerProperty","collector","forceUpdate","attributes","setValue","disabled","setAttribute","hidden","checked","autocomplete","contenteditable","readonly","required","selected","isDynamic","schnauzer","dataDump","initBlick","attr","renderHTML","resolveReferences","removeAttribute","focus","findEndNode","node","end$","children","child","index","lastNode","splitText","findSatrtNode","start$","isOdd","_key","doScan","longKey","noCache","html","update","container","pattern","NODE_TYPE","dump","XPathResult","FIRST_ORDERED_NODE_TYPE","evaluate","singleNodeValue","ownerElement","attributeFn","blockFn","inlineFn","regexp","attrFn","nodeName","wrap","helperNode","slice","filter","firstNode","fragment","outContainer","previousSibling","removeChild","insertBefore","replaceInline","wasEverRendered","trackDF","prevFnIdx","nextSibling","replaceBlock","VOM","pathSplit","NODES","idCounter","parentCheck","idProperty","subscribe","enrichModelCallback","preRecursionCallback","moveCallback","listeners","forceEnhance","throwErrors","init","rootItem","_options","reinforceProperty","standalone","enrichModel","getElementById","getElementsByProperty","property","isFn","hasValue","hasProperty","findProperty","moveItem","getChildNodes","prependChild","sibling","insertAfter","replaceChild","newItem","sortChildren","callback","sort","addProperty","current","getProperty","crawlObject","getCleanModel","destroy","prop","val","hasVal","hasProp","propValue","oldParent","check","__index","preserve","writeable","enumable","defineProperty","enumerable","configurable","writable","isNew","hasOwnId","interseptor","enhanceModel","detect","_parent","concat","get","set","oldValue","validate","txt","log","inbound","Circular","pubsub","modulesMap","publish","pubsubs","getPath","hash","decodeURI","location","extractRouteParameters","route","exec","names","decodeURIComponent","parameters","queries","query","extractSearchString","appendChildToContainer","transition","_scroll","scroll","scrollTop","sendToComponent","component","getComponent","onSend","triggerEvent","_params","dispatchEvent","installEvent","subscribeToComponent","trigger","unsubscribe","destroyComponents","insts","forEach","inst","destroyComponent","comp","_comp","components","funcNo","funcs","addRoute","optional","_hash","routers","__router","uninstall","routes","onpopstate","installRouter","removedRoute","toggleRoute","isOn","router","callbacks","paused","engine","share","renderModule","isValid","context","instance","onLoad","onRender","componentElm","input","defineProperties","Controller","events","eventName","componentElement","useCapture","rootItems","getAttribute","rootEvents","modelHasEvents","modelEvents","sP","_","eventDelegator","installEvents","removeEvent","stopPropagation","eventElement","mixinAPI","instances","templateWrapper","decorators","isName","initCircular","onDestroy","controller","models","subscribers","getAttributeData","getAttrMap","Module","defData","Klass","Component","ids","getParentComponent","plugins","subscribe$","templates","innerHTML","modelName","hasPartial","getTemplate","createPlaceHolder","firstElementChild","mainPartials","$2","$3","processTemplate","styles","installStyles","plugData","crInst","circular","elmId","elmName","singleton","cr-id","views","instId","parentComp","loopItem","parentValues","static","isStatic","staticValue","parentVal","processInput","parentId","initKlassVars","initSubscribers","getInstance","initInner","tmpl","vom","name$","name$$","name$PR","name$Intersept","siblPar","setNewItem","intern","vomInstance","parentElements","templateContainer","childTemplate","destroyChildren","crInstance","destroyChild","keep","destroyCollector","blickItems","changeBlickItem","changeBlickItems","changeItem","getVOMInstance","newModel","injectNewModel","isDelta","applyModel","processStandalone","onInit","initComponent","preparePlugin","pData","values","plug","where","preparePluginInTemplate","Plugin","isLoop","selectors","inner","tmpElm","restoreInnerComponents","removeInnerComponents","getViewMap","deltaOnly","updateModelItem","updateModelItemLoop","isActiveArr","isObj","getOwnPropertyDescriptor","deleteModelItem","diff","rootElement","instContainer","isChild","extraModel","tmpParent","lastElementChild","hasAttribute","initComponentsAndPlugins","loopComponents","componentsDefs","what","loopPlugins","elms","initPlugins","isMain","registerBlickProperty","blickItem","registerEventsForBlickItem","fnName","rootElm","x","y","operator","created","nextElementSibling","wishList","getInnerComponents","main","loop","outerHTML","$1","attribute","chunks"],"mappings":"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"} \ No newline at end of file diff --git a/conduit/components/home/home.component.js b/conduit/components/home/home.component.js index 1166157..1ed6189 100644 --- a/conduit/components/home/home.component.js +++ b/conduit/components/home/home.component.js @@ -1,12 +1,11 @@ require([ 'circular', '!home.component.html', - 'api.service', 'article-list.component', 'tag-list.component', 'feed-menu.component', 'banner.component', -], ({ Component }, template, api) => Component({ +], ({ Component }, template) => Component({ selector: 'home', template, subscribe$: { this: ['*'] }, diff --git a/conduit/js/main.min.js b/conduit/js/main.min.js index 214dd5c..edf7fbd 100644 --- a/conduit/js/main.min.js +++ b/conduit/js/main.min.js @@ -1,5 +1,6 @@ /* CircularJS */ -!function(e){"use strict";var t=e.Math.random,n=document.createElement("a"),r=e.document.createDocumentFragment(),o=0,i=h.modules={},a={};function s(){return"_module_"+(t()+t())}function c(e){var t,r=/(?:^\!|^http[s]*:|.*\.js$)/.test(e)?"":".js";return e=(h.paths[e]||e).replace(/^\!/,""),t=function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search}((h.baseUrl||".")+"/"+e+r).replace(/^.\//,""),h.mapPath?h.mapPath(e,r,t):t}function l(e){var t={mapPath:"function",baseUrl:"string"},n=["lookaheadMap","paths","options","mapPath","baseUrl"];if(!h[n[0]])for(var r=n.length;r--;)h[n[r]]="string"===t[n[r]]?"":"function"===t[n[r]]?null:{};for(var o in e)if(-1!==n.indexOf(o))if(t[o])h[o]=e[o];else for(var i in e[o])h[o][i]=e[o][i];return h}function u(e){var t=h.lookaheadMap[e],n=h.options.minifyPrefix;if(t&&-1===(h.paths[e]||"").indexOf(n)){h(t);for(var r=0,o=t.length;ri?-1:0:oi?1:0},normalizePath:function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search},ajax:function(e,n){var r,i,s=null,c=(new Date).getTime();return n=n||{},e=o.normalizePath(e),i=a[e]&&a[e].time||0,s=(s=(r=!0===n.cache?c+1e8:n.cache?i>c?i:c+n.cache:0)&&!n.resetCache&&i>c?a[e]:null)||new o.Promise(function(r,o){var i,a,s=new XMLHttpRequest,c=(n.method||n.type||"GET").toUpperCase();if(s||o("Giving up :( Cannot create an XMLHTTP instance"),n||(e=(n=e).url),s.onreadystatechange=function(){var e=function(e,t,n){try{if(e.readyState===XMLHttpRequest.DONE){if(!(e.status<200||e.status>299))return e["xml"===t?"responseXML":"responseText"];var r=new Error(e.statusText);r.response=e.response,n(r)}}catch(e){n("Caught Exception: "+e.stack)}}(this,n.dataType,o);if(e!==t){if("json"===n.dataType)try{e=JSON.parse(e)}catch(e){return void o("Caught Exception: "+e.stack)}r(e)}},s.open(c,e,n.async||!0,n.username,n.password),"xml"===n.dataType&&s.setRequestHeader("Content-Type","text/xml"),"GET"!==c&&n.csrf&&s.setRequestHeader("X-CSRF-Token",(i=n.csrf,(a=document.cookie.split(i+"=")[1])&&a.split(";")[0])),n.headers)for(var l in n.headers)s.setRequestHeader(l,n.headers[l]);return s.send(n.data),function(){s.abort()}}),r?(a[e]=s,a[e].time=r):delete a[e],s},errorHandler:function(e){console.error(e)},Promise:s};function i(e,t){var n=document.createEvent("CustomEvent");return t=t||{},n.initCustomEvent(e,t.bubbles||!1,t.cancelable||!1,t.detail),n}e.Event=e.Event||i,e.CustomEvent=e.CustomEvent||i;var a={};function s(e){this._state=0,this._handled=!1,this._value=t,this._deferreds=[],this._returnFn=f(e,this)}function c(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,setTimeout(function(){var n,r=1===e._state?t.onFulfilled:t.onRejected;if(null!==r){try{n=r(e._value)}catch(e){return void u(t.promise,e)}l(t.promise,n)}else(1===e._state?l:u)(t.promise,e._value)})):e._deferreds.push(t)}function l(e,t){try{if(t){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void p(e);if("function"==typeof n)return f(n.bind(t),e)}e._state=1,e._value=t,p(e)}catch(t){u(e,t)}}function u(e,t){e._state=2,e._value=t,p(e)}function p(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||console.warn("Possible Unhandled Promise Rejection:",e._value)});for(var t=0,n=e._deferreds.length;t":">",'"':""","'":"'","/":"/","`":"`","=":"="},helpers:{},partials:{},self:"self",nameCharacters:"",escapeHTML:!0,renderHook:null},a(this,t||{},e)},a=function(e,t,r){for(var o in t)e.options[o]=t[o];for(var i in s(e,(t=e.options).tags),e.entityRegExp=new RegExp("["+n(t.entityMap).join("")+"]","g"),e.helpers=t.helpers,t.partials)e.registerPartial(i,t.partials[i]);r&&e.parse(r)};return i.prototype={render:function(e,t){return this.partials[this.options.self](function(e,t){return{extra:t,scopes:[{scope:e,helpers:{},level:{"@root":e},path:[]}]}}(e,t||{}))},parse:function(e){return this.registerPartial(this.options.self,e)},registerHelper:function(e,t){this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){return this.partials[e]=this.partials[e]||(n.constructor===Function?n:function e(n,r,o){var i=function(r,i,a,s,c,l,u,p,f){return"#*"===a?n.registerPartial(c.replace(/['"]/g,""),e(n,u,o))&&"":function(e,n,r,o,i,a,s,c,l){var u=i.split(c),p=S(e,c,l,s||"",r,null),f=function(e,n,r,o,i,a){for(var s=0,c=n.length,l=!1,u=[];s!&=])*\\s*([\\w\\"+r+"<>|\\.\\s]*)"+n[1],"g"),e.sectionRegExp=new RegExp(n[0]+"([#^][*%]*)\\s*([\\w"+r+"~]*)(?:\\s+([\\w$\\s|.\\/"+r+"]*))*"+n[1]+"(?:\\n*)((?:(?!"+n[0]+"[#])[\\S\\s])*?)("+o+")","g"),e.elseSplitter=new RegExp(n[0]+"(?:else|\\^)\\s*(.*?)"+n[1])}function c(e,t,n){return n&&t.options.escapeHTML?String(e).replace(t.entityRegExp,function(e){return t.options.entityMap[e]}):e}function l(e,t,n,r,o){return{"@index":e,"@last":e===n-1,"@first":0===e,"@length":n,"@parent":o,"@key":t,this:r,".":r}}function u(e,t,n,r,i,a,s){return a?t.splice(t.length-2,2,s,""):t.push(s,""),n={scope:n,helpers:r,level:i,path:t},a?(e[0]=n,e):o(e,[n])}function p(e,t,n){for(var r=0,o=t.path.length;r1?e.join("."):e[0]:"";return n?n+"."+t:t}(i.path,l||u?r.vars[0]&&r.vars[0].variable.value:i.value)),i._path=m.join("."),{value:h,type:v}}function d(e,t,n,r,o){return"helper"===t.type||"function"===t.type?m(e,t,n,r,[{bodyFn:o}]):t.value}function h(e,t,n,r,o,i,a){for(var s=r.length,c={},l="",u=null,p="";s--;)l=(u=(p=(c=r[s]).variable).root?d(e,t,n,p,null):null)||!p.name?"$"+s:p.name,p.name&&(a[l]=o[l]),o[l]=u||f(e,n,{root:c}).value,i.push(o[l]),c.isAlias&&(n.scopes[0].level[l]=o[l]);return{obj:o,arr:i,restore:a}}function v(e,n,r,o,i){return e.root.isAlias&&(r[n.name||n.value]=i,o!==t&&(r[e.root.aliasKey||"@key"]=o)),r}function m(e,t,n,r,o){return r.isHelper=!0,t.value.apply({name:r.root?r.root.variable.value:"",scope:n.scopes[0].scope,rootScope:n.scopes[n.scopes.length-1].scope,getBody:function(){return o[0]?o[0].bodyFn(n):""},getData:function(t){return f(e,n,{root:O(t)}).value},escape:function(t){return c(t,e,!0)}},h(e,t,n,r.vars,{},[],{}).arr)}function g(e,t,n,r,o,i){for(var a=0,s=o[a],c=!r.helper||"if"===r.helper,l=!1,u=d(e,t,n,r,s.bodyFn);!(l=c&&!!u||!c&&!u)&&o[a+1];)c=!(s=o[++a]).helper||"if"===s.helper,u=d(e,t=s.root?f(e,n,s):{value:c},n,s,s.bodyFn);return i.fnIdx=a,l?s.bodyFn(n):""}function b(e,t,r,o,i){for(var a="",s="array"===t.type,c=s?t.value||[]:n(t.value||{}),p=0,f=c.length,d="";p"===r,isHelper:!1,isEscaped:o.lastIndexOf(e.options.tags[0])<1,helper:"^"===r?"unless":c,vars:R(a,[],s),active:l,bodyFn:i||null}}function j(e,t,n,r,o){for(var i=t.split(e.inlineRegExp),a=0,s=i.length,c="",l=[];a-1?r[t[i].blockIndex](o):x(e,o,t[i],!1,C(e,t[i],o,f(e,o,t[i])),C,null));return s}(e,r,o,n,t)}}}),function(e,t){"object"==typeof exports?module.exports=t(e,require("schnauzer")):"function"==typeof define&&define.amd?define("blick",["schnauzer"],function(n){return t(e,n)}):e.Blick=t(e,e.Schnauzer)}(this,function(e,t,n){"use strict";var r=function(e,t){for(var n in t)t[n]=document.createElement(t[n]);return function(n,r,o){var i=((n||"").match(e)||[])[1],a=t[i]||t.default;return r&&(a=a.cloneNode()),o?a.textContent=n||"":a.insertAdjacentHTML("afterbegin",n||""),a}}(/<\s*(\w*)[\s\S]*?>/,{option:"select",legend:"fieldset",area:"map",param:"object",thead:"table",tr:"tbody",col:"colgroup",td:"tr",default:"div"}),o=function(e,t){this.version="0.1.0",this.options={registerProperty:function(e,t,n,r,o){},forceUpdate:!1,attributes:{value:s,disabled:a,checked:a,autocomplete:a,contenteditable:a,readonly:a,required:a,selected:a},renderHook:u,isDynamic:function(e,t){return!0}},this.collector={},this.schnauzer={},this.dataDump=[],i(this,t||{},e)},i=function(e,n,r){for(var o in n)if("attributes"===o)for(var i in n[o])e.options[o][i]=n[o][i];else e.options[o]=n[o];e.schnauzer=new t(r,e.options),e.schnauzer.dataDump=[]};return o.prototype={renderHTML:function(e,t){return p(this,this.schnauzer.dataDump,r(this.schnauzer.render(e,t)))}},o;function a(e,t,n){!0===n||"true"===n||!n&&!1!==n?(e.setAttribute(t,""),e[t]=!0):(e.removeAttribute(t),e[t]=!1,"focus"===n&&e.focus())}function s(e,t,n){e.setAttribute("value",n),e.value=n}function c(e,t){for(var n=e.parentNode.childNodes,r=n.length,o={},i=0,a=null;r--;)if(3===(o=n[r]).nodeType&&-1!==(i=o.textContent.indexOf(t))){a=o.splitText(i+t.length),o.textContent=o.textContent.substring(0,o.textContent.length-t.length);break}return a}function l(e,t){return(e=e.splitText(e.textContent.indexOf(t)).splitText(0)).textContent=e.textContent.substring(t.length),e}function u(e,t,n,r,o,i,a,s,c){var l=this.dataDump.length,u=t.isHelper||t.isPartial,p=u&&t.vars[0]&&(t.vars[0].root=t.vars[0])||t,f=u?p.root.variable.value:a,d=!!p.active||this.options.forceUpdate,h=!!a&&d&&!!this.options.isDynamic(s,f),v=t.helper,m=n.scopes,g="{{#"+l+"}}",b="{{/"+l+"}}",y="";return!h&&p.active<3?e:(y=p.root.variable.path.join("."),y+=(y?".":"")+p.root.variable.value,this.dataDump.push({isBlock:r,track:o,bodyFn:c,active:p.active,isEscaped:p.isEscaped,start$:g,end$:b,path:i,noCache:(/^[ew]/.test(v)||t.isPartial)&&p.active>0||p.active>2,root:m[m.length-1].scope,helper:v,scope:m[0].scope||{},parent:s,key:y,out:e,helperFn:u?c:null,isOdd:u}),g+e+b)}function p(e,t,n,r){for(var o,i,a,s=null,c=null,l=t.length,u={};l--;)u=t.pop(),o=n,i=u.start$,void 0,a=XPathResult.FIRST_ORDERED_NODE_TYPE,(c=(s=document.evaluate('//text()[contains(., "'+i+'")]',o,null,a,null).singleNodeValue||document.evaluate('//@*[contains(., "'+i+'")]',o,null,a,null).singleNodeValue)?s.ownerElement?f:u.isBlock?h:d:null)&&c(e,s,u.start$,u.end$,u,t,r);return n}function f(e,t,n,o,i,a){var s=/>/g,c=t.ownerElement,l=e.options.attributes[t.nodeName],u=function(e){var n=e.parentNode;if(11!==n.nodeType)return l?l(c,t.nodeName,n.textContent):void(t.textContent=n.textContent.replace(s,""))},p=t._cache=t._cache||r(t.textContent.replace(s,""),!0,!0),f=[].slice.call(p.childNodes).filter(function(e){return-1!==e.textContent.indexOf(n)})[0];u(i.isBlock?h(e,f,n,o,i,a,u):d(e,f,n,o,i,a,u))}function d(e,t,n,o,i,a,s){return t=l(t,n),e.options.registerProperty(function(e,t,n,o,i,a){var s=o?null:document.createDocumentFragment(),c=[];return function(l){var u=[],p=a?a():l;if(i||o)return e.textContent=p,i&&i(e),[];for(c=[],u=r(p+"").childNodes;n.previousSibling!==t;)n.parentNode.removeChild(n.previousSibling);for(;u.length;)c.push(s.appendChild(u[0]));return n.parentNode.insertBefore(s,n),c}}(t,t.previousSibling,c(t,o),i.isEscaped,s,i.helperFn),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}function h(e,t,n,o,i,a,s){return-1!==t.textContent.indexOf(o)&&t.splitText(t.textContent.indexOf(n)+n.length),t=l(t,n),e.options.registerProperty(function(e,t,n,o,i,a,s,c,l){var u=[],f=i.fnIdx,d=[];return d[f]=document.createDocumentFragment(),u[f]=!l&&a.length>0,function(a){var h=[],v=o(a),m={},g=t,b=f;for(f=i.fnIdx;(g=t.nextSibling)&&g!==n;)l?g.parentNode.removeChild(g):d[b].appendChild(g);if(!u[f]||l){for(d[f]=d[f]||document.createDocumentFragment(),m=p(e,s,r(v),c);g=m.childNodes[0];)h.push(d[f].appendChild(g));u[f]=!!h.length}return v&&n.parentNode.insertBefore(d[f],n),c&&c(t),s.length&&s.splice(0,s.length),h}}(e,t,c(t,o),i.bodyFn,i.track,i.out,a,s,i.noCache),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}}),function(e,t){"object"==typeof exports?module.exports=t(e):"function"==typeof define&&define.amd?define("VOM",[],function(){return t(e)}):e.VOM=t(e)}(this,function(e,t){"use strict";var n=/\.|\//,r=[],o=0,i=function(e,t){this.options={parentCheck:!1,idProperty:"id",subscribe:function(){},enrichModelCallback:function(){},preRecursionCallback:function(){},moveCallback:function(){},listeners:[],forceEnhance:!1,childNodes:"childNodes",throwErrors:!1},this.model=e||[],a(this,t||{},this.model)},a=function(e,t,o){var i,a={},s=e.options;for(var c in r.push({}),d(e,"id",r.length-1),t)s[i=c]=t[i];s.listeners=[];for(var l=(t.listeners||[]).length;l--;)t.listeners[l]&&(s.listeners[l]=t.listeners[l].split(n));o.constructor!==Array&&(e.model=o=[o],e.standalone=!0),a[s.childNodes]=o,e.standalone||d(o,"root",a),h(e,o)};return i.prototype={getElementById:function(e){return r[this.id][e]},getElementsByProperty:function(e,n){var o=[],i="function"==typeof n,a=t!==n,c=t!==e,l=[],u=r[this.id];for(var p in u)s(u,p,e,n,o,i,a,c,l);return o},appendChild:function(e,t){return p(this,e,t=t||this.model.root,u(t,this.options.childNodes).length,"appendChild",t)},prependChild:function(e,t){return p(this,e,t=t||this.model.root,0,"prependChild",t)},insertBefore:function(e,t){return p(this,e,t.parentNode,t.index,"insertBefore",t)},insertAfter:function(e,t){return p(this,e,t.parentNode,t.index+1,"insertAfter",t)},replaceChild:function(e,t){var n=t.index,r=t.parentNode;return e!==t&&f(this,t),p(this,e,r,n,"replaceChild",t),t},removeChild:function(e){return f(this,e),this.options.subscribe.call(this,"removeChild",e),e},sortChildren:function(e,t,n){for(var r=0,o=(t=(t||this.model).sort(e)).length;rt.index&&-1!==t.index&&r--,t=-1!==t.index&&t.parentNode&&f(e,t,!0)||t,u(n,a.childNodes).splice(r||0,0,t),t.parentNode=n,a.moveCallback.call(e,t,o,i,s),t}function f(e,t,n){return!n&&l(e,[t]),u(t.parentNode,e.options.childNodes).splice(t.index,1)[0]||t}function d(e,n,r,o,i){return delete e[n],Object.defineProperty(e,n,{enumerable:!!i,configurable:!1,writable:o===t||!!o,value:r})}function h(e,t,n,i,a){for(var s=e.options,c=!1,l=!0,u=s.idProperty,p={},f=0,m=t.length;fn.length;)e.removeChild(t[t.length-1])}function b(e,t,n,r){var o;"childNodes"!==r&&t&&(o=c(t[r])&&Object.getOwnPropertyDescriptor(t,r).get,t[r]=o?n[r]:"object"==typeof t[r]||c(t[r])?y(e,t[r],n[r]||{}):n[r])}function y(e,t,n){for(var r in n)b(e,t,n,r);return n.childNodes&&g(e,t.childNodes,n.childNodes),t}function x(e,t){var n=t.item,r=t.data,o=r.items.elements.element,a=r.templateContainer,s=e.reinforceProperty,c=!n.childNodes&&!!r.childTemplate,l=c?r.childTemplate:r.template,u=function(e,t){var n=e.parentNode,r=e.index;return n?(t["@last"]=n.childNodes.length-1===r,t["@first"]=0===r,t["@index"]=r,t["@counter"]=r+1,t):t}(n,r.defData.extraModel||{}),f=l&&l.renderHTML(n,u),d=n.parentNode&&n.parentNode.elements,h=d&&d.container||a,v=c?h.lastElementChild:h,g=t.siblPar&&t.siblPar.elements&&t.siblPar.elements.element,b=void 0!==n.__index&&!n.childNodes,y=f?b?f.children[0]:w(f.children[0],t.type,v,g,!0):a,x=c?v:y.hasAttribute("cr-mount")?y:i("[cr-mount]",y);if(y.hasAttribute("cr-id")||y.setAttribute("cr-id",e.id+":"+(n["cr-id"]||0)),a!==o)s(n,"elements",{element:y,container:x}),s(n,"views",A(y,function(e){})),s(n,"events",k(y,"cr-event",function(e){r.controller.installEvent(r.instance,o,e)}));else{var N=p[y.tagName.toLowerCase()];N?(y.removeAttribute("cr-id"),N.init(y,null,r.instance)):m(o,r.defData,r.items,{instance:r.instance,controller:r.controller})}return C(y,r.defData,r.modelName,c,[r.instance,n]),y}function C(e,t,n,r,o){var i=t.components,s=t.plugins,c="this"===n,l=c?"main":!c&&!r?"loop":r?"child":"",u=[],f={};for(var d in i)l&&i[d][l][n]&&[].slice.call(a(d+', [cr-name="'+d+'"]',e)).forEach(function(e){(f=p[d].init(e,null,o))&&u.push(f)});for(var d in s)l&&s[d][l]&&s[d][l][n]&&v(d,s[d][l][n],e,o);return u}function N(e,t,n,r,o,i,a,s){var c=i["__cr-id"]||i["cr-id"],l=s[c]=s[c]||{};l[n]=l[n]||[],l[n].push({fn:e,forceUpdate:a>1,components:null})}function E(e,t,n,r,o){var i=(t.events||e.items.events)[r],a=e.items&&e.items.elements.element||e.instance.element;i||(i=t.events[r]={},e.controller.installEvent(e.instance,a,r)),i[o]?(i[o].filter(function(t,n){e.items.elements.element.contains(t)||i[o].splice(n,1)}),i[o].push(n)):i[o]=[n]}function _(e,t,n,r,o){var i,a=e.components;if(r!==o||e.forceUpdate){if(i=e.fn(r),t.controller)for(var s=i.length;s--;)1===i[s].nodeType&&k(i[s],"cr-event",function(e,r){E(t,n,i[s],e,r)});a&&(t.crInstance.destroyComponents(a),e.components=null);for(var c=0,l=i.length;c":"src="}),{helpers:n.helpers||{},partials:n.partials||{},attributes:n.attributes||{},registerProperty:N,isDynamic:function(e,t){return e?(Object.getOwnPropertyDescriptor(e,t)||{}).get:null}})):null}function k(e,t,n){for(var r={},o=[e].concat([].slice.call(a("["+t+"]",e))),i=o.length,s="",c=[];i--;)for(var l=(c=(s=o[i].getAttribute(t))?s.split(/\s*;+\s*/):[]).length,u=[],p="",f="";l--;)p=(u=c[l].split(/\s*:+\s*/))[0],(f=u[1])?(r[p]=r[p]||{},r[p][f]=r[p][f]||[],r[p][f].push(o[i])):(r[p]=r[p]||[],r[p].push(o[i])),n&&n(p,f,o[i]);return r}function A(e,t){for(var n=(e.hasAttribute("cr-view")?[e]:[]).concat([].slice.call(a("[cr-view]",e))),r={},o=n.length;o--;)r[n[o].getAttribute("cr-view")]=n[o],t&&t(n[o]);return r}}); +!function(e){"use strict";var t=e.Math.random,n=document.createElement("a"),r=e.document.createDocumentFragment(),o=0,i=h.modules={},a={};function s(){return"_module_"+(t()+t())}function c(e){var t,r=/(?:^\!|^http[s]*:|.*\.js$)/.test(e)?"":".js";return e=(h.paths[e]||e).replace(/^\!/,""),t=function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search}((h.baseUrl||".")+"/"+e+r).replace(/^.\//,""),h.mapPath?h.mapPath(e,r,t):t}function l(e){var t={mapPath:"function",baseUrl:"string"},n=["lookaheadMap","paths","options","mapPath","baseUrl"];if(!h[n[0]])for(var r=n.length;r--;)h[n[r]]="string"===t[n[r]]?"":"function"===t[n[r]]?null:{};for(var o in e)if(-1!==n.indexOf(o))if(t[o])h[o]=e[o];else for(var i in e[o])h[o][i]=e[o][i];return h}function u(e){var t=h.lookaheadMap[e],n=h.options.minifyPrefix;if(t&&-1===(h.paths[e]||"").indexOf(n)){h(t);for(var r=0,o=t.length;ri?-1:0:oi?1:0},normalizePath:function(e){return n.href=e,(-1!==e.indexOf(n.host)?n.origin:"")+n.pathname+n.search},ajax:function(e,n){var r,i,s=null,c=(new Date).getTime();return n=n||{},e=o.normalizePath(e),i=a[e]&&a[e].time||0,s=(s=(r=!0===n.cache?c+1e8:n.cache?i>c?i:c+n.cache:0)&&!n.resetCache&&i>c?a[e]:null)||new o.Promise(function(r,o){var i,a,s=new XMLHttpRequest,c=(n.method||n.type||"GET").toUpperCase();if(s||o("Giving up :( Cannot create an XMLHTTP instance"),n||(e=(n=e).url),s.onreadystatechange=function(){var e=function(e,t,n){try{if(e.readyState===XMLHttpRequest.DONE){if(!(e.status<200||e.status>299))return e["xml"===t?"responseXML":"responseText"];var r=new Error(e.statusText);r.response=e.response,n(r)}}catch(e){n("Caught Exception: "+e.stack)}}(this,n.dataType,o);if(e!==t){if("json"===n.dataType)try{e=JSON.parse(e)}catch(e){return void o("Caught Exception: "+e.stack)}r(e)}},s.open(c,e,n.async||!0,n.username,n.password),"xml"===n.dataType&&s.setRequestHeader("Content-Type","text/xml"),"GET"!==c&&n.csrf&&s.setRequestHeader("X-CSRF-Token",(i=n.csrf,(a=document.cookie.split(i+"=")[1])&&a.split(";")[0])),n.headers)for(var l in n.headers)s.setRequestHeader(l,n.headers[l]);return s.send(n.data),function(){s.abort()}}),r?(a[e]=s,a[e].time=r):delete a[e],s},errorHandler:function(e){console.error(e)},Promise:s};function i(e,t){var n=document.createEvent("CustomEvent");return t=t||{},n.initCustomEvent(e,t.bubbles||!1,t.cancelable||!1,t.detail),n}e.Event=e.Event||i,e.CustomEvent=e.CustomEvent||i;var a={};function s(e){this._state=0,this._handled=!1,this._value=t,this._deferreds=[],this._returnFn=f(e,this)}function c(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,setTimeout(function(){var n,r=1===e._state?t.onFulfilled:t.onRejected;if(null!==r){try{n=r(e._value)}catch(e){return void u(t.promise,e)}l(t.promise,n)}else(1===e._state?l:u)(t.promise,e._value)})):e._deferreds.push(t)}function l(e,t){try{if(t){var n=t.then;if(t instanceof s)return e._state=3,e._value=t,void p(e);if("function"==typeof n)return f(n.bind(t),e)}e._state=1,e._value=t,p(e)}catch(t){u(e,t)}}function u(e,t){e._state=2,e._value=t,p(e)}function p(e){2===e._state&&0===e._deferreds.length&&setTimeout(function(){e._handled||console.warn("Possible Unhandled Promise Rejection:",e._value)});for(var t=0,n=e._deferreds.length;t":">",'"':""","'":"'","/":"/","`":"`","=":"="},helpers:{},partials:{},self:"self",nameCharacters:"",escapeHTML:!0,renderHook:null},a(this,t||{},e)},a=function(e,t,r){for(var o in t)e.options[o]=t[o];for(var i in s(e,(t=e.options).tags),e.entityRegExp=new RegExp("["+n(t.entityMap).join("")+"]","g"),e.helpers=t.helpers,t.partials)e.registerPartial(i,t.partials[i]);r&&e.parse(r)};return i.prototype={render:function(e,t){return this.partials[this.options.self](function(e,t){return{extra:t,scopes:[{scope:e,helpers:{},level:{"@root":e},path:[]}]}}(e,t||{}))},parse:function(e){return this.registerPartial(this.options.self,e)},registerHelper:function(e,t){this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,n){return this.partials[e]=this.partials[e]||(n.constructor===Function?n:function e(n,r,o){var i=function(r,i,a,s,c,l,u,p,f){return"#*"===a?n.registerPartial(c.replace(/['"]/g,""),e(n,u,o))&&"":function(e,n,r,o,i,a,s,c,l){var u=i.split(c),p=S(e,c,l,s||"",r,null),f=function(e,n,r,o,i,a){for(var s=0,c=n.length,l=!1,u=[];s!&=])*\\s*([\\w\\"+r+"<>|\\.\\s]*)"+n[1],"g"),e.sectionRegExp=new RegExp(n[0]+"([#^][*%]*)\\s*([\\w"+r+"~]*)(?:\\s+([\\w$\\s|.\\/"+r+"]*))*"+n[1]+"(?:\\n*)((?:(?!"+n[0]+"[#])[\\S\\s])*?)("+o+")","g"),e.elseSplitter=new RegExp(n[0]+"(?:else|\\^)\\s*(.*?)"+n[1])}function c(e,t,n){return n&&t.options.escapeHTML?String(e).replace(t.entityRegExp,function(e){return t.options.entityMap[e]}):e}function l(e,t,n,r,o){return{"@index":e,"@last":e===n-1,"@first":0===e,"@length":n,"@parent":o,"@key":t,this:r,".":r}}function u(e,t,n,r,i,a,s){return a?t.splice(t.length-2,2,s,""):t.push(s,""),n={scope:n,helpers:r,level:i,path:t},a?(e[0]=n,e):o(e,[n])}function p(e,t,n){for(var r=0,o=t.path.length;r1?e.join("."):e[0]:"";return n?n+"."+t:t}(i.path,l||u?r.vars[0]&&r.vars[0].variable.value:i.value)),i._path=m.join("."),{value:h,type:v}}function d(e,t,n,r,o){return"helper"===t.type||"function"===t.type?m(e,t,n,r,[{bodyFn:o}]):t.value}function h(e,t,n,r,o,i,a){for(var s=r.length,c={},l="",u=null,p="";s--;)l=(u=(p=(c=r[s]).variable).root?d(e,t,n,p,null):null)||!p.name?"$"+s:p.name,p.name&&(a[l]=o[l]),o[l]=u||f(e,n,{root:c}).value,i.push(o[l]),c.isAlias&&(n.scopes[0].level[l]=o[l]);return{obj:o,arr:i,restore:a}}function v(e,n,r,o,i){return e.root.isAlias&&(r[n.name||n.value]=i,o!==t&&(r[e.root.aliasKey||"@key"]=o)),r}function m(e,t,n,r,o){return r.isHelper=!0,t.value.apply({name:r.root?r.root.variable.value:"",scope:n.scopes[0].scope,rootScope:n.scopes[n.scopes.length-1].scope,getBody:function(){return o[0]?o[0].bodyFn(n):""},getData:function(t){return f(e,n,{root:O(t)}).value},escape:function(t){return c(t,e,!0)}},h(e,t,n,r.vars,{},[],{}).arr)}function g(e,t,n,r,o,i){for(var a=0,s=o[a],c=!r.helper||"if"===r.helper,l=!1,u=d(e,t,n,r,s.bodyFn);!(l=c&&!!u||!c&&!u)&&o[a+1];)c=!(s=o[++a]).helper||"if"===s.helper,u=d(e,t=s.root?f(e,n,s):{value:c},n,s,s.bodyFn);return i.fnIdx=a,l?s.bodyFn(n):""}function b(e,t,r,o,i){for(var a="",s="array"===t.type,c=s?t.value||[]:n(t.value||{}),p=0,f=c.length,d="";p"===r,isHelper:!1,isEscaped:o.lastIndexOf(e.options.tags[0])<1,helper:"^"===r?"unless":c,vars:R(a,[],s),active:l,bodyFn:i||null}}function j(e,t,n,r,o){for(var i=t.split(e.inlineRegExp),a=0,s=i.length,c="",l=[];a-1?r[t[i].blockIndex](o):x(e,o,t[i],!1,C(e,t[i],o,f(e,o,t[i])),C,null));return s}(e,r,o,n,t)}}}),function(e,t){"object"==typeof exports?module.exports=t(e,require("schnauzer")):"function"==typeof define&&define.amd?define("blick",["schnauzer"],function(n){return t(e,n)}):e.Blick=t(e,e.Schnauzer)}(this,function(e,t,n){"use strict";var r=function(e,t){for(var n in t)t[n]=document.createElement(t[n]);return function(n,r,o){var i=((n||"").match(e)||[])[1],a=t[i]||t.default;return r&&(a=a.cloneNode()),o?a.textContent=n||"":a.insertAdjacentHTML("afterbegin",n||""),a}}(/<\s*(\w*)[\s\S]*?>/,{option:"select",legend:"fieldset",area:"map",param:"object",thead:"table",tr:"tbody",col:"colgroup",td:"tr",default:"div"}),o=function(e,t){this.version="0.1.0",this.options={registerProperty:function(e,t,n,r,o){},forceUpdate:!1,attributes:{value:s,disabled:a,checked:a,autocomplete:a,contenteditable:a,readonly:a,required:a,selected:a},renderHook:u,isDynamic:function(e,t){return!0}},this.collector={},this.schnauzer={},this.dataDump=[],i(this,t||{},e)},i=function(e,n,r){for(var o in n)if("attributes"===o)for(var i in n[o])e.options[o][i]=n[o][i];else e.options[o]=n[o];e.schnauzer=new t(r,e.options),e.schnauzer.dataDump=[]};return o.prototype={renderHTML:function(e,t){return p(this,this.schnauzer.dataDump,r(this.schnauzer.render(e,t)))}},o;function a(e,t,n){!0===n||"true"===n||!n&&!1!==n?(e.setAttribute(t,""),e[t]=!0):(e.removeAttribute(t),e[t]=!1,"focus"===n&&e.focus())}function s(e,t,n){e.setAttribute("value",n),e.value=n}function c(e,t){for(var n=e.parentNode.childNodes,r=n.length,o={},i=0,a=null;r--;)if(3===(o=n[r]).nodeType&&-1!==(i=o.textContent.indexOf(t))){a=o.splitText(i+t.length),o.textContent=o.textContent.substring(0,o.textContent.length-t.length);break}return a}function l(e,t){return(e=e.splitText(e.textContent.indexOf(t)).splitText(0)).textContent=e.textContent.substring(t.length),e}function u(e,t,n,r,o,i,a,s,c){var l=this.dataDump.length,u=t.isHelper||t.isPartial,p=u&&t.vars[0]&&(t.vars[0].root=t.vars[0])||t,f=u?p.root.variable.value:a,d=!!p.active||this.options.forceUpdate,h=!!a&&d&&!!this.options.isDynamic(s,f),v=t.helper,m=n.scopes,g="{{#"+l+"}}",b="{{/"+l+"}}",y="";return!h&&p.active<3?e:(y=p.root.variable.path.join("."),y+=(y?".":"")+p.root.variable.value,this.dataDump.push({isBlock:r,track:o,bodyFn:c,active:p.active,isEscaped:p.isEscaped,start$:g,end$:b,path:i,noCache:(/^[ew]/.test(v)||t.isPartial)&&p.active>0||p.active>2,root:m[m.length-1].scope,helper:v,scope:m[0].scope||{},parent:s,key:y,out:e,helperFn:u?c:null,isOdd:u}),g+e+b)}function p(e,t,n,r){for(var o,i,a,s=null,c=null,l=t.length,u={};l--;)u=t.pop(),o=n,i=u.start$,void 0,a=XPathResult.FIRST_ORDERED_NODE_TYPE,(c=(s=document.evaluate('//text()[contains(., "'+i+'")]',o,null,a,null).singleNodeValue||document.evaluate('//@*[contains(., "'+i+'")]',o,null,a,null).singleNodeValue)?s.ownerElement?f:u.isBlock?h:d:null)&&c(e,s,u.start$,u.end$,u,t,r);return n}function f(e,t,n,o,i,a){var s=/>/g,c=t.ownerElement,l=e.options.attributes[t.nodeName],u=function(e){var n=e.parentNode;if(11!==n.nodeType)return l?l(c,t.nodeName,n.textContent):void(t.textContent=n.textContent.replace(s,""))},p=t._cache=t._cache||r(t.textContent.replace(s,""),!0,!0),f=[].slice.call(p.childNodes).filter(function(e){return-1!==e.textContent.indexOf(n)})[0];u(i.isBlock?h(e,f,n,o,i,a,u):d(e,f,n,o,i,a,u))}function d(e,t,n,o,i,a,s){return t=l(t,n),e.options.registerProperty(function(e,t,n,o,i,a){var s=o?null:document.createDocumentFragment(),c=[];return function(l){var u=[],p=a?a():l;if(i||o)return e.textContent=p,i&&i(e),[];for(c=[],u=r(p+"").childNodes;n.previousSibling!==t;)n.parentNode.removeChild(n.previousSibling);for(;u.length;)c.push(s.appendChild(u[0]));return n.parentNode.insertBefore(s,n),c}}(t,t.previousSibling,c(t,o),i.isEscaped,s,i.helperFn),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}function h(e,t,n,o,i,a,s){return-1!==t.textContent.indexOf(o)&&t.splitText(t.textContent.indexOf(n)+n.length),t=l(t,n),e.options.registerProperty(function(e,t,n,o,i,a,s,c,l){var u=[],f=i.fnIdx,d=[];return d[f]=document.createDocumentFragment(),u[f]=!l&&a.length>0,function(a){var h=[],v=o(a),m={},g=t,b=f;for(f=i.fnIdx;(g=t.nextSibling)&&g!==n;)l?g.parentNode.removeChild(g):d[b].appendChild(g);if(!u[f]||l){for(d[f]=d[f]||document.createDocumentFragment(),m=p(e,s,r(v),c);g=m.childNodes[0];)h.push(d[f].appendChild(g));u[f]=!!h.length}return v&&n.parentNode.insertBefore(d[f],n),c&&c(t),s.length&&s.splice(0,s.length),h}}(e,t,c(t,o),i.bodyFn,i.track,i.out,a,s,i.noCache),i.key,i.path||i.key,i.parent,i.scope,i.root,i.active,e.collector),t}}),function(e,t){"object"==typeof exports?module.exports=t(e):"function"==typeof define&&define.amd?define("VOM",[],function(){return t(e)}):e.VOM=t(e)}(this,function(e,t){"use strict";var n=/\.|\//,r=[],o=0,i=function(e,t){this.options={parentCheck:!1,idProperty:"id",subscribe:function(){},enrichModelCallback:function(){},preRecursionCallback:function(){},moveCallback:function(){},listeners:[],forceEnhance:!1,childNodes:"childNodes",throwErrors:!1},this.model=e||[],a(this,t||{},this.model)},a=function(e,t,o){var i,a={},s=e.options;for(var c in r.push({}),d(e,"id",r.length-1),t)s[i=c]=t[i];s.listeners=[];for(var l=(t.listeners||[]).length;l--;)t.listeners[l]&&(s.listeners[l]=t.listeners[l].split(n));o.constructor!==Array&&(e.model=o=[o],e.standalone=!0),a[s.childNodes]=o,e.standalone||d(o,"root",a),h(e,o)};return i.prototype={getElementById:function(e){return r[this.id][e]},getElementsByProperty:function(e,n){var o=[],i="function"==typeof n,a=t!==n,c=t!==e,l=[],u=r[this.id];for(var p in u)s(u,p,e,n,o,i,a,c,l);return o},appendChild:function(e,t){return p(this,e,t=t||this.model.root,u(t,this.options.childNodes).length,"appendChild",t)},prependChild:function(e,t){return p(this,e,t=t||this.model.root,0,"prependChild",t)},insertBefore:function(e,t){return p(this,e,t.parentNode,t.index,"insertBefore",t)},insertAfter:function(e,t){return p(this,e,t.parentNode,t.index+1,"insertAfter",t)},replaceChild:function(e,t){var n=t.index,r=t.parentNode;return e!==t&&f(this,t),p(this,e,r,n,"replaceChild",t),t},removeChild:function(e){return f(this,e),this.options.subscribe.call(this,"removeChild",e),e},sortChildren:function(e,t,n){for(var r=0,o=(t=(t||this.model).sort(e)).length;rt.index&&-1!==t.index&&r--,t=-1!==t.index&&t.parentNode&&f(e,t,!0)||t,u(n,a.childNodes).splice(r||0,0,t),t.parentNode=n,a.moveCallback.call(e,t,o,i,s),t}function f(e,t,n){return!n&&l(e,[t]),u(t.parentNode,e.options.childNodes).splice(t.index,1)[0]||t}function d(e,n,r,o,i){return delete e[n],Object.defineProperty(e,n,{enumerable:!!i,configurable:!1,writable:o===t||!!o,value:r})}function h(e,t,n,i,a){for(var s=e.options,c=!1,l=!0,u=s.idProperty,p={},f=0,m=t.length;fn.length;)e.removeChild(t[t.length-1])}function b(e,t,n,r){var o;"childNodes"!==r&&t&&(o=c(t[r])&&Object.getOwnPropertyDescriptor(t,r).get,t[r]=o?n[r]:"object"==typeof t[r]||c(t[r])?y(e,t[r],n[r]||{}):n[r])}function y(e,t,n){for(var r in n)b(e,t,n,r);return n.childNodes&&g(e,t.childNodes,n.childNodes),t}function x(e,t){var n=t.item,r=t.data,o=r.items.elements.element,a=r.templateContainer,s=e.reinforceProperty,c=!n.childNodes&&!!r.childTemplate,l=c?r.childTemplate:r.template,u=function(e,t){var n=e.parentNode,r=e.index;return n?(t["@last"]=n.childNodes.length-1===r,t["@first"]=0===r,t["@index"]=r,t["@counter"]=r+1,t):t}(n,r.defData.extraModel||{}),f=l&&l.renderHTML(n,u),d=n.parentNode&&n.parentNode.elements,h=d&&d.container||a,v=c?h.lastElementChild:h,g=t.siblPar&&t.siblPar.elements&&t.siblPar.elements.element,b=void 0!==n.__index&&!n.childNodes,y=f?b?f.children[0]:w(f.children[0],t.type,v,g,!0):a,x=c?v:y.hasAttribute("cr-mount")?y:i("[cr-mount]",y);if(y.hasAttribute("cr-id")||y.setAttribute("cr-id",e.id+":"+(n["cr-id"]||0)),a!==o)s(n,"elements",{element:y,container:x}),s(n,"views",A(y,function(e){})),s(n,"events",k(y,"cr-event",function(e){r.controller.installEvent(r.instance,o,e)}));else{var N=p[y.tagName.toLowerCase()];N?(y.removeAttribute("cr-id"),N.init(y,null,r.instance)):m(o,r.defData,r.items,{instance:r.instance,controller:r.controller})}return C(y,r.defData,r.modelName,c,[r.instance,n]),y}function C(e,t,n,r,o){var i=t.components,s=t.plugins,c="this"===n,l=c?"main":!c&&!r?"loop":r?"child":"",u=[],f={};for(var d in i)l&&i[d][l][n]&&[].slice.call(a(d+', [cr-name="'+d+'"]',e)).forEach(function(e){(f=p[d].init(e,null,o))&&u.push(f)});for(var d in s)l&&s[d][l]&&s[d][l][n]&&v(d,s[d][l][n],e,o);return u}function N(e,t,n,r,o,i,a,s){var c=i["__cr-id"]||i["cr-id"],l=s[c]=s[c]||{};l[n]=l[n]||[],l[n].push({fn:e,forceUpdate:a>1,components:null})}function E(e,t,n,r,o){var i=(t.events||e.items.events)[r],a=e.items&&e.items.elements.element||e.instance.element;i||(i=t.events[r]={},e.controller.installEvent(e.instance,a,r)),i[o]?(i[o].filter(function(t,n){e.items.elements.element.contains(t)||i[o].splice(n,1)}),i[o].push(n)):i[o]=[n]}function _(e,t,n,r,o){var i,a=e.components;if(r!==o||e.forceUpdate){if(i=e.fn(r),t.controller)for(var s=i.length;s--;)1===i[s].nodeType&&k(i[s],"cr-event",function(e,r){E(t,n,i[s],e,r)});a&&(t.crInstance.destroyComponents(a),e.components=null);for(var c=0,l=i.length;c":"src="}),{helpers:n.helpers||{},partials:n.partials||{},attributes:n.attributes||{},registerProperty:N,isDynamic:function(e,t){return e?(Object.getOwnPropertyDescriptor(e,t)||{}).get:null}})):null}function k(e,t,n){for(var r={},o=[e].concat([].slice.call(a("["+t+"]",e))),i=o.length,s="",c=[];i--;)for(var l=(c=(s=o[i].getAttribute(t))?s.split(/\s*;+\s*/):[]).length,u=[],p="",f="";l--;)p=(u=c[l].split(/\s*:+\s*/))[0],(f=u[1]||u[0])?(r[p]=r[p]||{},r[p][f]=r[p][f]||[],r[p][f].push(o[i])):(r[p]=r[p]||[],r[p].push(o[i])),n&&n(p,f,o[i]);return r}function A(e,t){for(var n=(e.hasAttribute("cr-view")?[e]:[]).concat([].slice.call(a("[cr-view]",e))),r={},o=n.length;o--;)r[n[o].getAttribute("cr-view")]=n[o],t&&t(n[o]);return r}}); +//# sourceMappingURL=circular.min.js.map /* HTML */ define("!global-partials.html",[],function(){return'{{#*inline "tag-list"}}\n
\n{{#each %tagList}}\n{{this}}\n{{/each}}\n
\n{{/inline}}'}); define("!navbar.comp.html",[],function(){return''}); @@ -35,6 +36,6 @@ define("article-comment-list.component",["circular","!article-comment-list.compo define("article-comment-form.component",["circular","!article-comment-form.component.html","template-helpers","api.service","forms.service"],({Component:e},t,i,s,r)=>e({selector:"article-comment-form",template:t,helpers:i,subscribe$:{this:["articleSlug"]}},class{constructor(e,t,i){this.user={},this.articleSlug="",i(this)}submit(e,t,i){e.preventDefault(),s.postComment({comment:{comment:r.getFormData(t)},slug:this.articleSlug}).then(e=>{r.resetForm(t),window.location.href=`#/article/${this.articleSlug}`})}})), define("article-list.component",["circular","!article-list.component.html","template-helpers","global-partials","article-list-pagination.component","article-meta.component"],({Component:e,Toolbox:{lazy:t}},i,s,r)=>e({selector:"article-list",template:i,partials:r,helpers:s,styles:"\narticle-list .tag-list { float: right; max-width: 75%; }\narticle-list .article-preview { clear: both }",subscribe$:{this:["pagination","noItems","trigger","user"],articles:["*","author.*"]}},class{constructor(e,t,i){this.user={},this.articles=[],this.pagination=[],i(this),this.noItems=!this.articles.length,this.trigger=!1}onInit(){this.articles.forEach(e=>this.trigger=e.index)}articles$$(e,i,s,r){t(()=>{this.trigger=i.index,this.noItems=!this.articles.length},i)}})), define("article.component",["circular","!article.component.html","api.service","template-helpers","global-partials","article-meta.component","article-comment-list.component","article-comment-form.component"],({Component:e},t,i,s,r)=>e({selector:"article",template:t,partials:r,styles:"article .tag-list { text-align: right }",helpers:s,subscribe$:{this:["*"],article:["*"]}},class{constructor(e,t,i){this.user={},this.articleSlug="",this.isLoggedIn=!1,this.article=[],this.comments=[],i(this),this.metaData=this.getMetaData(this.article[0]),this.article[0].isLoggedIn=this.isLoggedIn}this$(e){"articleSlug"===e&&(this.metaData=this.getMetaData(this.article[0]),this.article[0].isLoggedIn=this.isLoggedIn)}getMetaData(e){return{author:{...e.author},favorited:e.favorited,favoritesCount:e.favoritesCount,createdAt:e.createdAt}}})), -define("home.component",["circular","!home.component.html","api.service","article-list.component","tag-list.component","feed-menu.component","banner.component"],({Component:e},t,i)=>e({selector:"home",template:t,subscribe$:{this:["*"]}},class{constructor(e,t,i){this.user={},this.isLoggedIn=!1,this.articles=[],this.pagination=[],this.tags=[],this.tag="",i(this)}})), +define("home.component",["circular","!home.component.html","article-list.component","tag-list.component","feed-menu.component","banner.component"],({Component:e},t)=>e({selector:"home",template:t,subscribe$:{this:["*"]}},class{constructor(e,t,i){this.user={},this.isLoggedIn=!1,this.articles=[],this.pagination=[],this.tags=[],this.tag="",i(this)}})), define("profile.component",["circular","!profile.component.html","home.component","api.service"],({Component:e},t,i,s)=>e({selector:"profile",template:t,subscribe$:{this:i.subscribe$.this,profile:["*"]}},class extends i.Klass{constructor(e,t,i){super(e,t,i),this.profile=[],this.profileName="",i(this)}follow(e,t,i){if(!this.isLoggedIn)return window.location.href="#/sign-up";s.postFollow({author:{username:i.username,following:i.following}}).then(e=>{i.following=!i.following})}})), define("main-app.comp",["circular","data.service","api.service","navbar.comp","home.component","new-post.component","settings.component","sign-in.component","profile.component"],({Module:e,Toolbox:{Promise:t}},i,s)=>e({selector:"[main-app]",subscribe$:{this:["*"]},styles:"\n.loader { display: none; }\narticle-list { display: block; opacity: 1; transition: opacity .5s }\n.loading article-list {\ntransition: none; opacity: 0; height: 0; overflow: hidden\n}\n.loading .loader { display: block }"},class{constructor(){this.activeLink={},this.tag="",this.articleSlug="",this.user={},this.isLoggedIn=!1,this.articles=[],this.pagination=[],this.profile=[],this.profileName="",this.tags=[],this.myArticles=[],this.myPagination=[],this.myArticle={},this.comments=[],this.article=[]}onInit(e,t,s){t.addRoute({path:"(/:appName)(/:var0)(/:var1)(/:var2)(/*)",callback:({parameters:e})=>{const r=this.activeLink.app;this.activeLink=i.getLink(e.appName)||{};const n=this.activeLink.app||"";s.views.outlet.className=`loading${/^art/.test(n)?"-article":""}`,this.getData(n,e.var0,e.var1,e.var2).then(t=>this.delegateData(t,e.appName,e.var0)).then(()=>{this.articleSlug=e.var0||"",s.views.outlet.className="",r!==n&&this.updateView(n,s.views.outlet,t)})}},!0)}getData(e,i,r,n){const a=e.substring(0,3),l=this.user&&this.user.username?this.user:void 0;switch(this.tag="hom"===a?r:"",a){case"hom":return s.articles({limit:10,offset:i||0,tag:r,ownFeed:"my-feed"===r,user:l});case"pro":return s.profile({limit:5,offset:r||0,author:i,favorited:!!n,user:l});case"art":return s.article({article:i,user:l});case"new":return this.article[0]||!i?new t(e=>e(this.article[0]||{})):s.article({article:i,user:l});default:return new t(e=>e({}))}}delegateData(e,t,i){const s=!t||"articles"===t;if(e.user&&(this.user=e.user,this.isLoggedIn=this.user&&!!this.user.username),e.articles&&s&&(this.articles=e.articles),e.pagination&&s&&(this.pagination=e.pagination),e.tags&&(this.tags=e.tags.map(e=>({key:e}))),e.articles&&!s&&(this.myArticles=e.articles),e.pagination&&!s&&(this.myPagination=e.pagination),e.article){this.article=[e.article];const t=this.user&&this.user.username===e.article.author.username;this.myArticle={title:t?e.article.title:"",description:t?e.article.description:"",body:t?e.article.body:"",tagList:t?e.article.tagList.join(", "):""}}e.comments&&(this.comments=e.comments.map(t=>(t.isUser=e.user&&e.user.username===t.author.username,t))),e.profile&&(this.profileName=e.profile.username,this.profile=[{isUser:e.user&&e.profile.username===e.user.username,...e.profile,bio:e.profile.bio||""}])}updateView(e,t,i){const s=e.substring(0,3),r=`user, tag, profileName, isLoggedIn${"hom"===s?",articles, pagination, tags":"art"===s?",article, articleSlug, comments":"new"===s?",articleSlug, myArticle as article":"pro"===s?",profile, myArticles as articles, myPagination as pagination":"sig"===s?",activeLink":""}`;i.renderModule({require:e,container:t,input:r,this:this,transition:(e,t)=>{e(),t()}}).then(e=>{})}})); \ No newline at end of file diff --git a/cr-logo.png b/cr-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..268aeb24d120d8a9cef31e77ede38a6cc7ab2f15 GIT binary patch literal 12258 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 literal 0 HcmV?d00001 diff --git a/heroes/js/amd.config.js b/heroes/js/amd.config.js index ed53ad2..7a09943 100644 --- a/heroes/js/amd.config.js +++ b/heroes/js/amd.config.js @@ -7,10 +7,13 @@ require.config({ 'data-provider': ['toolbox'], }, paths: { - 'data-provider': 'shared-modules/data-provider', + 'data-provider': 'shared-modules/data-provider-mock', 'app-dashboard': 'modules/dashboard/js/dashboard', 'app-search': 'modules/dashboard/js/search', 'app-heroes': 'modules/heroes/js/heroes', 'app-detail': 'modules/detail/js/detail' + }, + production: { + // 'data-provider': 'shared-modules/data-provider', } }); \ No newline at end of file diff --git a/heroes/shared-modules/data-provider.js b/heroes/shared-modules/data-provider-mock.js similarity index 100% rename from heroes/shared-modules/data-provider.js rename to heroes/shared-modules/data-provider-mock.js diff --git a/package-lock.json b/package-lock.json index c6268ae..930afc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,15 +5,15 @@ "requires": true, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "ansi-align": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "integrity": "sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==", "dev": true, "requires": { "string-width": "^2.0.0" @@ -22,13 +22,13 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true }, "argparse": { @@ -43,7 +43,7 @@ "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "dev": true, "requires": { "chalk": "^1.1.3", @@ -54,7 +54,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -118,31 +118,31 @@ "babel-helper-flip-expressions": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", + "integrity": "sha512-rSrkRW4YQ2ETCWww9gbsWk4N0x1BOtln349Tk0dlCS90oT68WMLyGR7WvaMp3eAnsVrCqdUtC19lo1avyGPejA==", "dev": true }, "babel-helper-is-nodes-equiv": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", + "integrity": "sha512-ri/nsMFVRqXn7IyT5qW4/hIAGQxuYUFHa3qsxmPtbk6spZQcYlyDogfVpNm2XYOslH/ULS4VEJGUqQX5u7ACQw==", "dev": true }, "babel-helper-is-void-0": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", + "integrity": "sha512-07rBV0xPRM3TM5NVJEOQEkECX3qnHDjaIbFvWYPv+T1ajpUiVLiqTfC+MmiZxY5KOL/Ec08vJdJD9kZiP9UkUg==", "dev": true }, "babel-helper-mark-eval-scopes": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", + "integrity": "sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==", "dev": true }, "babel-helper-remove-or-void": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", + "integrity": "sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==", "dev": true }, "babel-helper-to-multiple-sequence-expressions": { @@ -154,7 +154,7 @@ "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -164,7 +164,7 @@ "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -186,9 +186,9 @@ } }, "babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.2.tgz", + "integrity": "sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA==", "dev": true, "requires": { "babel-helper-evaluate-path": "^0.5.0", @@ -200,7 +200,7 @@ "babel-plugin-minify-flip-comparisons": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", + "integrity": "sha512-8hNwgLVeJzpeLVOVArag2DfTkbKodzOHU7+gAZ8mGBFGPQHK6uXVpg3jh5I/F6gfi5Q5usWU2OKcstn1YbAV7A==", "dev": true, "requires": { "babel-helper-is-void-0": "^0.4.3" @@ -219,13 +219,13 @@ "babel-plugin-minify-infinity": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", + "integrity": "sha512-X0ictxCk8y+NvIf+bZ1HJPbVZKMlPku3lgYxPmIp62Dp8wdtbMLSekczty3MzvUOlrk5xzWYpBpQprXUjDRyMA==", "dev": true }, "babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.1.tgz", + "integrity": "sha512-8KMichAOae2FHlipjNDTo2wz97MdEb2Q0jrn4NIRXzHH7SJ3c5TaNNBkeTHbk9WUsMnqpNUx949ugM9NFWewzw==", "dev": true, "requires": { "babel-helper-mark-eval-scopes": "^0.4.3" @@ -234,7 +234,7 @@ "babel-plugin-minify-numeric-literals": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", + "integrity": "sha512-5D54hvs9YVuCknfWywq0eaYDt7qYxlNwCqW9Ipm/kYeS9gYhJd0Rr/Pm2WhHKJ8DC6aIlDdqSBODSthabLSX3A==", "dev": true }, "babel-plugin-minify-replace": { @@ -258,7 +258,7 @@ "babel-plugin-minify-type-constructors": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", + "integrity": "sha512-4ADB0irJ/6BeXWHubjCJmrPbzhxDgjphBMjIjxCc25n4NGJ00NsYqwYt+F/OvE9RXx8KaSW7cJvp+iZX436tnQ==", "dev": true, "requires": { "babel-helper-is-void-0": "^0.4.3" @@ -267,31 +267,31 @@ "babel-plugin-transform-inline-consecutive-adds": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", + "integrity": "sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q==", "dev": true }, "babel-plugin-transform-member-expression-literals": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", + "integrity": "sha512-Xq9/Rarpj+bjOZSl1nBbZYETsNEDDJSrb6Plb1sS3/36FukWFLLRysgecva5KZECjUJTrJoQqjJgtWToaflk5Q==", "dev": true }, "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", + "version": "6.9.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.5.tgz", + "integrity": "sha512-xj/KrWi6/uP+DrD844h66Qh2cZN++iugEIgH8QcIxhmZZPNP6VpOE9b4gP2FFW39xDAY43kCmYMM6U0QNKN8fw==", "dev": true }, "babel-plugin-transform-minify-booleans": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", + "integrity": "sha512-9pW9ePng6DZpzGPalcrULuhSCcauGAbn8AeU3bE34HcDkGm8Ldt0ysjGkyb64f0K3T5ilV4mriayOVv5fg0ASA==", "dev": true }, "babel-plugin-transform-property-literals": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", + "integrity": "sha512-Pf8JHTjTPxecqVyL6KSwD/hxGpoTZjiEgV7nCx0KFQsJYM0nuuoCajbg09KRmZWeZbJ5NGTySABYv8b/hY1eEA==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -300,19 +300,19 @@ "babel-plugin-transform-regexp-constructors": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", + "integrity": "sha512-JjymDyEyRNhAoNFp09y/xGwYVYzT2nWTGrBrWaL6eCg2m+B24qH2jR0AA8V8GzKJTgC8NW6joJmc6nabvWBD/g==", "dev": true }, "babel-plugin-transform-remove-console": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", + "integrity": "sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==", "dev": true }, "babel-plugin-transform-remove-debugger": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", + "integrity": "sha512-Kd+eTBYlXfwoFzisburVwrngsrz4xh9I0ppoJnU/qlLysxVBRgI4Pj+dk3X8F5tDiehp3hhP8oarRMT9v2Z3lw==", "dev": true }, "babel-plugin-transform-remove-undefined": { @@ -327,13 +327,13 @@ "babel-plugin-transform-simplify-comparison-operators": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", + "integrity": "sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A==", "dev": true }, "babel-plugin-transform-undefined-to-void": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", + "integrity": "sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg==", "dev": true }, "babel-preset-minify": { @@ -370,7 +370,7 @@ "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", "dev": true, "requires": { "babel-core": "^6.26.0", @@ -385,7 +385,7 @@ "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dev": true, "requires": { "core-js": "^2.4.0", @@ -395,7 +395,7 @@ "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -408,7 +408,7 @@ "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -425,7 +425,7 @@ "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -441,9 +441,9 @@ "dev": true }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "boxen": { @@ -472,15 +472,15 @@ } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "butternut": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/butternut/-/butternut-0.4.6.tgz", - "integrity": "sha1-HuTkNZZekk99JFueXmphTLGZFbY=", + "integrity": "sha512-UxoiMkH8l4qO1RVB6ZpU9HcLatj16Vts+B/6/XQxRea52UYU/w23a0W0nioQ85mIHlZP8pK8l6XQW/F/01G/zA==", "dev": true, "requires": { "acorn": "^5.0.3", @@ -493,7 +493,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -504,9 +504,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true } } @@ -514,7 +514,7 @@ "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", "dev": true, "requires": { "no-case": "^2.2.0", @@ -524,7 +524,7 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", "dev": true }, "capture-stack-trace": { @@ -582,7 +582,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -614,13 +614,13 @@ "cli-boxes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "integrity": "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==", "dev": true }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -635,19 +635,19 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true }, "clone-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", "dev": true }, "clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", "dev": true }, "cloneable-readable": { @@ -664,7 +664,7 @@ "coa": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "integrity": "sha512-KAGck/eNAmCL0dcT3BiuYwLbExK6lduR8DxM3C1TyDzaXhZHyZ8ooX5I5+na2e3dPFuibfxrGdorr0/Lr7RYCQ==", "dev": true, "requires": { "q": "^1.1.2" @@ -682,13 +682,13 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "colors": { "version": "1.1.2", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", "dev": true }, "commander": { @@ -700,16 +700,16 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", "dev": true, "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^4.2.1", "graceful-fs": "^4.1.2", "make-dir": "^1.0.0", "unique-string": "^1.0.0", @@ -718,24 +718,24 @@ } }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "crass": { @@ -752,7 +752,7 @@ "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", "dev": true, "requires": { "capture-stack-trace": "^1.0.0" @@ -761,7 +761,7 @@ "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -772,7 +772,7 @@ "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", "dev": true }, "css-tree": { @@ -812,7 +812,7 @@ "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "requires": { "clone": "^1.0.2" @@ -821,7 +821,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true } } @@ -829,49 +829,49 @@ "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", "dev": true, "requires": { "repeating": "^2.0.0" } }, "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", "dev": true, "requires": { "is-obj": "^1.0.0" } }, "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "dev": true }, "esutils": { @@ -883,7 +883,7 @@ "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -898,13 +898,13 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true }, "glob": { @@ -924,7 +924,7 @@ "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, "requires": { "ini": "^1.3.4" @@ -953,7 +953,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -964,9 +964,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true } } @@ -988,7 +988,7 @@ "got": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "integrity": "sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==", "dev": true, "requires": { "create-error-class": "^3.0.0", @@ -1005,9 +1005,9 @@ } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "gzip-size": { @@ -1023,7 +1023,7 @@ "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -1032,19 +1032,19 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", "dev": true }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", "dev": true, "requires": { "os-homedir": "^1.0.0", @@ -1101,19 +1101,19 @@ "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", "dev": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -1127,9 +1127,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "invariant": { @@ -1151,24 +1151,21 @@ } }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "is-installed-globally": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "integrity": "sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw==", "dev": true, "requires": { "global-dirs": "^0.1.0", @@ -1178,19 +1175,19 @@ "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "integrity": "sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg==", "dev": true }, "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true }, "is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", "dev": true, "requires": { "path-is-inside": "^1.0.1" @@ -1199,7 +1196,7 @@ "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", "dev": true }, "is-retry-allowed": { @@ -1211,31 +1208,31 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", "dev": true }, "js-yaml": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1245,34 +1242,34 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", "dev": true }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", "dev": true }, "latest-version": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "integrity": "sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w==", "dev": true, "requires": { "package-json": "^4.0.0" } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", "dev": true }, "log-symbols": { @@ -1296,7 +1293,7 @@ "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", "dev": true }, "lowercase-keys": { @@ -1318,7 +1315,7 @@ "magic-string": { "version": "0.20.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.20.0.tgz", - "integrity": "sha1-JV8H4LFFncANdGNjZ+kgDLtdUp0=", + "integrity": "sha512-hUtRcmCuD+j5eBzB42iSXw55hxrM1l72949VPangbxnas4RL5DhC/KQl6cGAa4XuceBlxqYOIhWKJLWhJ6ubsw==", "dev": true, "requires": { "vlq": "^0.2.1" @@ -1346,9 +1343,9 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -1357,13 +1354,13 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", "dev": true, "requires": { "minimist": "0.0.8" @@ -1372,7 +1369,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "no-case": { @@ -1448,22 +1445,16 @@ "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, "requires": { "path-key": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -1472,7 +1463,7 @@ "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -1493,15 +1484,15 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -1512,25 +1503,25 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "dev": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true }, "package-json": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "integrity": "sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==", "dev": true, "requires": { "got": "^6.7.1", @@ -1542,7 +1533,7 @@ "param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", "dev": true, "requires": { "no-case": "^2.2.0" @@ -1551,31 +1542,31 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", "dev": true }, "private": { @@ -1593,13 +1584,13 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, "rc": { @@ -1615,17 +1606,17 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true } } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -1656,7 +1647,7 @@ "registry-url": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", "dev": true, "requires": { "rc": "^1.0.1" @@ -1665,34 +1656,34 @@ "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "dev": true }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", "dev": true, "requires": { "is-finite": "^1.0.0" } }, "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "requires": { "onetime": "^2.0.0", @@ -1711,6 +1702,10 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "schnauzer": { + "version": "https://github.com/PitPik/Schnauzer/tarball/master", + "integrity": "sha512-3oOpwgI54w86gFq3TFuNl87T/A75nunjFgBPI63VD7Mewc4j63dCge+RzGXbLgbgo2U5947MCoq47iCGythDXg==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -1720,7 +1715,7 @@ "semver-diff": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "integrity": "sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==", "dev": true, "requires": { "semver": "^5.0.3" @@ -1729,7 +1724,7 @@ "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -1738,25 +1733,25 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true }, "source-map-support": { @@ -1769,21 +1764,21 @@ } }, "sourcemap-codec": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", - "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "sqwish": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/sqwish/-/sqwish-0.2.2.tgz", - "integrity": "sha1-AP4maBBPEii1u37nOe9gEhu8sFc=", + "integrity": "sha512-MyaCOSCiThzFPcXHebkWiiXDDlEzbHtbdJBqos4CkUwiKdCgQU0IOzBJwswhBv2Qg3glj5TxzDxvKobuyB4e8w==", "dev": true }, "string-width": { @@ -1797,15 +1792,15 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -1825,7 +1820,7 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -1834,13 +1829,13 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "dev": true }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true }, "strong-data-uri": { @@ -1855,13 +1850,13 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true }, "svgo": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "integrity": "sha512-jT/g9FFMoe9lu2IT6HtAxTA7RR2XOrmcrmCtGnyB/+GQnV6ZjNn+KOHZbZ35yL81+1F/aB6OeEsJztzBQ2EEwA==", "dev": true, "requires": { "coa": "~1.0.1", @@ -1876,7 +1871,7 @@ "csso": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "integrity": "sha512-FmCI/hmqDeHHLaIQckMhMZneS84yzUZdrWDAvJVVxOwcKE1P1LF9FGmzr1ktIQSxOw6fl3PaQsmfg+GN+VvR3w==", "dev": true, "requires": { "clap": "^1.0.9", @@ -1888,7 +1883,7 @@ "term-size": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "integrity": "sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==", "dev": true, "requires": { "execa": "^0.7.0" @@ -1918,9 +1913,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -1932,19 +1927,19 @@ "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", "dev": true }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", "dev": true }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", "dev": true }, "truncate": { @@ -1980,7 +1975,7 @@ "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", "dev": true, "requires": { "crypto-random-string": "^1.0.0" @@ -1989,7 +1984,7 @@ "unzip-response": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "integrity": "sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==", "dev": true }, "update-notifier": { @@ -2013,13 +2008,13 @@ "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", "dev": true }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", "dev": true, "requires": { "prepend-http": "^1.0.1" @@ -2028,13 +2023,13 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, "requires": { "clone": "^2.1.1", @@ -2048,7 +2043,7 @@ "vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==", "dev": true, "requires": { "source-map": "^0.5.1" @@ -2068,7 +2063,7 @@ "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, "requires": { "defaults": "^1.0.3" @@ -2077,7 +2072,7 @@ "whet.extend": { "version": "0.9.9", "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "integrity": "sha512-mmIPAft2vTgEILgPeZFqE/wWh24SEsR/k+N9fJ3Jxrz44iDFy9aemCxdksfURSHYFCLmvs/d/7Iso5XjPpNfrA==", "dev": true }, "which": { @@ -2101,7 +2096,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "write-file-atomic": { @@ -2118,13 +2113,13 @@ "xdg-basedir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true } } diff --git a/package.json b/package.json index 92a998d..9c81715 100644 --- a/package.json +++ b/package.json @@ -39,5 +39,9 @@ "homepage": "https://github.com/PitPik/circularjs#readme", "devDependencies": { "node-minify": "3.6.0" + }, + "dependencies": { + "vue-json-schema": "^1.1.1", + "schnauzer": "https://github.com/PitPik/Schnauzer/tarball/master" } } diff --git a/toolbox.js b/toolbox.js index 8e81ffc..0eeef40 100755 --- a/toolbox.js +++ b/toolbox.js @@ -220,12 +220,16 @@ var Toolbox = { } }; xhr.open(method, url, prefs.async || true, prefs.username, prefs.password); + if (prefs.dataType === 'raw') xhr.responseType = 'blob'; if (prefs.dataType === 'xml') { xhr.setRequestHeader('Content-Type', 'text/xml'); } + if (prefs.dataType === 'json') { + xhr.setRequestHeader('Content-Type', 'application/json'); + } if (method !== 'GET' && prefs.csrf) { - xhr.setRequestHeader('X-CSRF-Token', getCSRFToken(prefs.csrf)); + xhr.setRequestHeader('X-XSRF-TOKEN', getCSRFToken(prefs.csrf)); } if (prefs.headers) { // add more headers for (var header in prefs.headers) { @@ -284,8 +288,8 @@ function getXHRData(xhr, dataType, reject) { error.response = xhr.response; reject(error); } else { - return xhr[dataType === 'xml' ? - 'responseXML' : 'responseText']; + return xhr[dataType === 'xml' ? 'responseXML' : + dataType === 'raw' ? 'response' : 'responseText']; } } } catch(e) { @@ -294,12 +298,13 @@ function getXHRData(xhr, dataType, reject) { } /* ---------------- Promise --------------- */ -function Promise(fn) { +function Promise(fn, staticData) { this._state = 0; this._handled = false; this._value = undefined; this._deferreds = []; this._returnFn = doResolve(fn, this); + this._staticData = staticData; } Promise._cache = {};