feature-u
Version:
Feature Based Project Organization for React
15 lines • 88.5 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("FeatureU",[],t):"object"==typeof exports?exports.FeatureU=t():e.FeatureU=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=35)}([function(e,t,n){"use strict";function r(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function a(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function u(){v&&y&&(v=!1,y.length?m=y.concat(m):h=-1,m.length&&s())}function s(){if(!v){var e=a(u);v=!0;for(var t=m.length;t;){for(y=m,m=[];++h<t;)y&&y[h].run();h=-1,t=m.length}y=null,v=!1,i(e)}}function c(e,t){this.fun=e,this.array=t}function l(){}var f,p,d=e.exports={};!function(){try{f="function"==typeof setTimeout?setTimeout:r}catch(e){f=r}try{p="function"==typeof clearTimeout?clearTimeout:o}catch(e){p=o}}();var y,m=[],v=!1,h=-1;d.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;arguments.length>n;n++)t[n-1]=arguments[n];m.push(new c(e,t)),1!==m.length||v||a(s)},c.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=l,d.addListener=l,d.once=l,d.off=l,d.removeListener=l,d.removeAllListeners=l,d.emit=l,d.prependListener=l,d.prependOnceListener=l,d.listeners=function(e){return[]},d.binding=function(e){throw Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t,n){"use strict";function r(e,t){if(!e)throw Error(t)}t.__esModule=!0,t.default=r,r.prefix=function(e){return function(t,n){return r(t,e+n)}}},function(e,t,n){"use strict";function r(e){return!!e&&"object"==(void 0===e?"undefined":a(e))}function o(e){return"string"==typeof e||!c(e)&&r(e)&&s.call(e)==i}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i="[object String]",u=Object.prototype,s=u.toString,c=Array.isArray;e.exports=o},function(e,t,n){"use strict";(function(t){function n(e){return null==e?void 0===e?d:f:w&&w in Object(e)?r(e):o(e)}function r(e){var t=b.call(e,w),n=e[w];try{e[w]=void 0;var r=!0}catch(e){}var o=g.call(e);return r&&(t?e[w]=n:delete e[w]),o}function o(e){return g.call(e)}function a(e){if(!i(e))return!1;var t=n(e);return t==c||t==l||t==s||t==p}function i(e){var t=void 0===e?"undefined":u(e);return null!=e&&("object"==t||"function"==t)}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="[object AsyncFunction]",c="[object Function]",l="[object GeneratorFunction]",f="[object Null]",p="[object Proxy]",d="[object Undefined]",y="object"==(void 0===t?"undefined":u(t))&&t&&t.Object===Object&&t,m="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,v=y||m||Function("return this")(),h=Object.prototype,b=h.hasOwnProperty,g=h.toString,S=v.Symbol,w=S?S.toStringTag:void 0;e.exports=a}).call(t,n(16))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){o.isEnabled()&&o.force(e,t)}t.__esModule=!0,t.default=o;var a=n(1),i=r(a),u=n(2),s=r(u),c=!1;o.force=function(e,t){e="***feature-u*** "+e,t?console.log(e,t):console.log(e)},o.isEnabled=function(){return c},o.enable=function(){c=!0,o("enabling logf()")},o.disable=function(){o("disabling logf()"),c=!1};var l="WARNING: By default any react element content is OMITTED.\n\nThis can be overridden by doing the following (before launchApp() is invoked):\n\n- To see the (rather verbose) raw object content, do this:\n launchApp.diag.logf.elm2html = (elm) => elm;\n\n- To see nicely formatted html markup, do this:\n import ReactDOMServer from 'react-dom/server';\n ...\n launchApp.diag.logf.elm2html = (elm) => ReactDOMServer.renderToStaticMarkup(elm);\n\n";o.elm2html=function(e){return l&&(o(l),l=null),"OMITTED"},o.newLogger=function(e){var t=i.default.prefix("logf.newLogger() parameter violation: ");t(e,"prefix is required"),t((0,s.default)(e),"prefix must be a string");var n=function e(t,n){o.isEnabled()&&e.force(t,n)};return n.force=function(t,n){return o.force(e+t,n)},n.isEnabled=o.isEnabled,n.enable=o.enable,n.disable=o.disable,n.elm2html=function(e){return o.elm2html(e)},n}},function(e,t,n){"use strict";function r(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function o(e){return!!e&&"object"==(void 0===e?"undefined":i(e))}function a(e){if(!o(e)||d.call(e)!=u||r(e))return!1;var t=y(e);if(null===t)return!0;var n=f.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==p}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u="[object Object]",s=Function.prototype,c=Object.prototype,l=s.toString,f=c.hasOwnProperty,p=l.call(Object),d=c.toString,y=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object);e.exports=a},function(e,t,n){"use strict";(function(t){e.exports=n("production"===t.env.NODE_ENV?33:32)}).call(t,n(0))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.name,n=e.enabled,r=void 0===n||n,a=e.fassets,i=e.appWillStart,u=e.appInit,c=e.appDidStart,f=o(e,["name","enabled","fassets","appWillStart","appInit","appDidStart"]),d=l.default.prefix("createFeature() parameter violation: ");return d(t,"name is required"),d((0,p.default)(t),"name must be a string"),d(!0===r||!1===r,"enabled must be a boolean"),i&&d((0,y.default)(i),"appWillStart (when supplied) must be a function"),u&&d((0,y.default)(u),"appInit (when supplied) must be a function"),c&&d((0,y.default)(c),"appDidStart (when supplied) must be a function"),s({name:t,enabled:r,fassets:a,appWillStart:i,appInit:u,appDidStart:c},f)}function i(e){return!!h[e]}function u(e,t){var n=l.default.prefix("extendFeatureProperty() parameter violation: ");if(n(e,"name is required"),n((0,p.default)(e),"name must be a string"),n(t,"owner is required"),n((0,p.default)(t),"owner must be a string"),i(e)&&h[e]!==t)throw Error("**ERROR** extendFeatureProperty('"+e+"', '"+t+"') ... 'Feature."+e+"' is already reserved by different owner.");h[e]=t,(0,v.default)("invoking: extendFeatureProperty('"+e+"', '"+t+"') ... now validFeatureProps: ",h)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=a,t.isFeatureProperty=i,t.extendFeatureProperty=u;var c=n(1),l=r(c),f=n(2),p=r(f),d=n(3),y=r(d),m=n(4),v=r(m),h={name:"builtin",enabled:"builtin",publicFace:"builtin",fassets:"builtin",appWillStart:"builtin",appInit:"builtin",appDidStart:"builtin"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);e.length>t;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function u(){function e(e){return(0,v.default)((0,x.default)(e),"You must pass a React Component to the function returned by withFassets()"),function(t){var r=u?n(t):n;return a((0,S.default)(r),"mapFassetsToProps resolved to an invalid structure, MUST be a mapFassetsToPropsStruct"),O.MyObj.entries(r).forEach(function(e){var t=l(e,2),n=t[0];a((0,E.default)(t[1]),"mapFassetsToProps resolved to an invalid structure - all properties MUST reference a fassetsKey string ... at minimum "+n+" does NOT")}),p.default.createElement(_.Consumer,null,function(n){return(0,v.default)(n!==j,"withFassets() cannot be used when no <FassetsContext.Provider> is in the root DOM. Normally feature-u auto configures this, except when NO Aspects/Features inject UI content. In this case the app must do this in launchApp() registerRootAppElm() callback. ... see: https://feature-u.js.org/cur/detail.html#react-registration"),p.default.createElement(e,c({},s(r,n),t))})}}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mapFassetsToProps,r=t.component,o=i(t,["mapFassetsToProps","component"]),a=v.default.prefix("withFassets() parameter violation: ");a(n,"mapFassetsToProps is required");var u=(0,b.default)(n);a(u||(0,S.default)(n),"mapFassetsToProps must be a mapFassetsToPropsFn or mapFassetsToPropsStruct"),r&&a((0,x.default)(r),"component, when supplied, must be a React Component - to be wrapped");var f=Object.keys(o);return a(0===f.length,"unrecognized named parameter(s): "+f),a(1===arguments.length,"unrecognized positional parameters (only named parameters can be specified)"),r?e(r):e}function s(e,t){return Object.assign.apply(Object,a(O.MyObj.entries(e).map(function(e){var n=l(e,2);return o({},n[0],t.get(n[1]))})))}t.__esModule=!0,t.FassetsContext=void 0;var c=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.withFassets=u,t.fassetsProps=s;var f=n(6),p=r(f),d=n(23),y=r(d),m=n(1),v=r(m),h=n(3),b=r(h),g=n(5),S=r(g),w=n(2),E=r(w),O=n(12),A=n(17),x=r(A),R=n(4),F=r(R),j="NO FassetsContext.Provider";F.default.force("Context in-use: "+(p.default.createContext===y.default?"native (React >16.3)":"ponyfilled (React <16.3)")+"... React Version: "+p.default.version);var _=t.FassetsContext=(0,y.default)(j)},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;10>n;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,u,s=r(e),c=1;arguments.length>c;c++){n=Object(arguments[c]);for(var l in n)a.call(n,l)&&(s[l]=n[l]);if(o){u=o(n);for(var f=0;u.length>f;f++)i.call(n,u[f])&&(s[u[f]]=n[u[f]])}}return s}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";(function(t){e.exports=n("production"===t.env.NODE_ENV?31:30)}).call(t,n(0))},function(e,t,n){"use strict";t.__esModule=!0;t.MyObj={entries:function(e){for(var t=Object.keys(e),n=t.length,r=Array(n);n--;)r[n]=[t[n],e[t[n]]];return r}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return void 0!==e?null:"anthing but: undefined"}function a(e){return(0,y.default)(e)?null:"React Component"}function i(e){return(0,p.default)(e)?null:"function"}function u(e){return(0,l.default)(e)?null:"string"}function s(e){return!0===e||!1===e?null:"boolean"}t.__esModule=!0;var c=n(2),l=r(c),f=n(3),p=r(f),d=n(17),y=r(d);t.default={any:o,comp:a,fn:i,str:u,bool:s}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=f.default.prefix("createAspect() parameter violation: ");t((0,h.default)(e),"only named parameters may be supplied");var n=e.name,r=e.genesis,a=e.validateFeatureContent,u=void 0===a?i:a,s=e.expandFeatureContent,l=e.assembleFeatureContent,p=void 0===l?i:l,y=e.assembleAspectResources,v=e.initialRootAppElm,g=e.injectRootAppElm,S=e.injectParamsInHooks,w=e.config,E=void 0===w?{}:w,O=o(e,["name","genesis","validateFeatureContent","expandFeatureContent","assembleFeatureContent","assembleAspectResources","initialRootAppElm","injectRootAppElm","injectParamsInHooks","config"]);t(n,"name is required (at minimum for identity purposes)"),t((0,d.default)(n),"name must be a string"),t(!(0,b.isFeatureProperty)(n),"Aspect.name: '"+n+"' is a reserved Feature keyword"),t(1>=arguments.length,"Aspect.name:"+n+" ... unrecognized positional parameters (only named parameters can be specified) ... "+arguments.length+" positional parameters were found");var A=["genesis","validateFeatureContent","expandFeatureContent","assembleFeatureContent","assembleAspectResources","initialRootAppElm","injectRootAppElm","injectParamsInHooks"].reduce(function(r,o){var a=e[o];return a&&(t((0,m.default)(a),"Aspect.name:"+n+" ... "+o+" (when supplied) must be a function"),r++),r},0);return t(E,"Aspect.name:"+n+" ... config is required"),t((0,h.default)(E),"Aspect.name:"+n+" ... config must be a plain object literal"),t(A>0,"Aspect.name:"+n+" ... at least one method must be supplied ... an empty Aspect plugin does nothing!"),c({name:n,genesis:r,validateFeatureContent:u,expandFeatureContent:s,assembleFeatureContent:p,assembleAspectResources:y,initialRootAppElm:v,injectRootAppElm:g,injectParamsInHooks:S,config:E},O)}function i(){}function u(e){return!!w[e]}function s(e,t){var n=f.default.prefix("extendAspectProperty() parameter violation: ");if(n(e,"name is required"),n((0,d.default)(e),"name must be a string"),n(t,"owner is required"),n((0,d.default)(t),"owner must be a string"),u(e)&&w[e]!==t)throw Error("**ERROR** extendAspectProperty('"+e+"', '"+t+"') ... 'Aspect.name:"+e+"' is already reserved by different owner.");w[e]=t,(0,S.default)("invoking: extendAspectProperty('"+e+"', '"+t+"') ... now validAspectProps: ",w)}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=a,t.isAspectProperty=u,t.extendAspectProperty=s;var l=n(1),f=r(l),p=n(2),d=r(p),y=n(3),m=r(y),v=n(5),h=r(v),b=n(7),g=n(4),S=r(g),w={name:"builtin",genesis:"builtin",validateFeatureContent:"builtin",expandFeatureContent:"builtin",assembleFeatureContent:"builtin",assembleAspectResources:"builtin",initialRootAppElm:"builtin",injectRootAppElm:"builtin",injectParamsInHooks:"builtin",config:"builtin"}},function(e,t,n){"use strict";(function(t){function r(e,n,r,c,l){if("production"!==t.env.NODE_ENV)for(var f in e)if(s(e,f)){var p;try{if("function"!=typeof e[f]){var d=Error((c||"React class")+": "+r+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o(e[f])+"`.");throw d.name="Invariant Violation",d}p=e[f](n,f,c,r,null,i)}catch(e){p=e}if(!p||p instanceof Error||a((c||"React class")+": type specification of "+r+" `"+f+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+(void 0===p?"undefined":o(p))+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),p instanceof Error&&!(p.message in u)){u[p.message]=!0;var y=l?l():"";a("Failed "+r+" type: "+p.message+(null!=y?y:""))}}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){};if("production"!==t.env.NODE_ENV){var i=n(10),u={},s=Function.call.bind(Object.prototype.hasOwnProperty);a=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw Error(t)}catch(e){}}}r.resetWarningCache=function(){"production"!==t.env.NODE_ENV&&(u={})},e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e){return(0,o.isValidElementType)(e)}t.__esModule=!0,t.default=r;var o=n(11)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=i.default.prefix("assertNoRootAppElm() parameter violation: ");if(n(t,"className is required"),n((0,s.default)(t),"className must be a string"),e){var r="***ERROR*** "+t+" does NOT support children but another feature/aspect is attempting to inject it's content. Please resolve either by adjusting the feature expansion order, or promoting "+t+" through the conflicting artifact.";throw l.default.force(r+" ... conflicting artifact:",l.default.elm2html(e)),Error(r)}}t.__esModule=!0,t.default=o;var a=n(1),i=r(a),u=n(2),s=r(u),c=n(4),l=r(c)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=i.default.prefix("expandWithFassets() parameter violation: ");return t(e,"expandWithFassetsCB is required"),t((0,s.default)(e),"expandWithFassetsCB must be a function"),e.expandWithFassets=!0,e}t.__esModule=!0,t.default=o;var a=n(1),i=r(a),u=n(3),s=r(u)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(){function e(e,t){e===b.msg&&t===b.err||(b.msg=e,b.err=t,c(e,t))}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.features,r=t.aspects,o=void 0===r?[]:r,i=t.registerRootAppElm,s=t.showStatus,c=void 0===s?u:s,l=a(t,["features","aspects","registerRootAppElm","showStatus"]);(0,A.default)("STARTING: - your application is now starting up"),x=1;var f=h.default.prefix("launchApp() parameter violation: "),p=R.alch.genesis(o);f(n,"features is required"),f(Array.isArray(n),"features must be a Feature[] array"),f(i,"registerRootAppElm is required"),f((0,d.default)(i),"registerRootAppElm must be a function"),f(c,"showStatus is required"),f((0,d.default)(c),"showStatus must be a function");var y=Object.keys(l);f(0===y.length,"unrecognized named parameter(s): "+y),f(1===arguments.length,"unrecognized positional parameters (only named parameters can be specified)"),R.helper.validateAspectProperties(o),R.alch.validateFeatureContent(n,p);var m=R.helper.pruneActiveFeatures(n),v=(0,w.default)(m);R.alch.expandFeatureContent(v,m,o),R.alch.assembleFeatureContent(v,m,o),R.alch.assembleAspectResources(v,o),i(R.helper.defineRootAppElm(v,m,o),v);var b={msg:void 0,err:void 0},g=R.alch.injectParamsInHooks(v,o);return R.flch.appInit(v,m,g,e).then(function(){try{R.flch.appDidStart(v,m,g),(0,A.default)("COMPLETE: Your application has now started")}catch(n){var t="A problem was encountered in a appDidStart() life-cycle hook";(0,A.default)("INCOMPLETE: Your application did NOT start ... "+t,n),e(t,n)}}),v}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n="STATUS CHANGE (from appInit() life cycle hook): '"+e+"'";t?A.default.force(n+" WITH ERROR: "+t,t):A.default.force(n)}t.__esModule=!0,t.op=void 0;var s=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var l=n(6),f=r(l),p=n(3),d=r(p),y=n(5),m=r(y),v=n(1),h=r(v),b=n(14),g=n(7),S=n(34),w=r(S),E=n(8),O=n(4),A=r(O),x=1;i.diag={logf:A.default};var R=t.op={alch:{},flch:{},helper:{}};R.alch.genesis=function(e){R.alch.genesis.executionOrder=x++;var t=h.default.prefix("launchApp() parameter violation: ");t(Array.isArray(e),"aspects (when supplied) must be an Aspect[] array"),(0,A.default)("the following Aspects are in effect: "+e.map(function(e){return"\n Aspect.name:"+e.name}));var n=e.reduce(function(e,t){return t.genesis?e+1:e},0),r=e.map(function(e){return"\n Aspect.name:"+e.name+(e.genesis?" <-- defines: genesis()":"")});return(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.genesis() ... "+n+" hooks:"+r),e.reduce(function(e,n){if(e[n.name]&&t(!1,"supplied aspects contain a NON-unique name: '"+n.name+"'"),n.genesis){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's defined Aspect.genesis()");var r=n.genesis();t(!r,r)}return e[n.name]=n,e},{})},R.helper.validateAspectProperties=function(e){var t=h.default.prefix("createAspect() parameter violation: ");e.forEach(function(e){for(var n in e)t((0,b.isAspectProperty)(n),"Aspect.name: '"+e.name+"' contains unrecognized property: "+n+" ... no Aspect is registered to handle this!")})},R.alch.validateFeatureContent=function(e,t){R.alch.validateFeatureContent.executionOrder=x++;var n=[];for(var r in t)n.push(t[r]);var o=n.reduce(function(e,t){return t.validateFeatureContent?e+1:e},0),a=n.map(function(e){return"\n Aspect.name:"+e.name+(e.validateFeatureContent?" <-- defines: validateFeatureContent()":"")});(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.validateFeatureContent() ... "+o+" hooks:"+a);var i=h.default.prefix("createFeature() parameter violation: ");e.forEach(function(e){for(var n in e)if(!(0,g.isFeatureProperty)(n)){var r=t[n];if(i(r,"Feature.name: '"+e.name+"' contains unrecognized property: "+n+" ... no Aspect is registered to handle this!"),!e[n].expandWithFassets){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+r.name+" ... invoking it's required Aspect.validateFeatureContent() on Feature.name:"+e.name+"'s Feature."+r.name);var o=r.validateFeatureContent(e);i(!o,o)}}})},R.helper.pruneActiveFeatures=function(e){var t=h.default.prefix("launchApp() parameter violation: "),n={},r=e.filter(function(e){return t(!n[e.name],"feature.name: '"+e.name+"' is NOT unique"),n[e.name]=!0,e.enabled});return(0,A.default)("the following Features were supplied: "+e.map(function(e){return"\n Feature.name:"+e.name+(e.enabled?"":" <<< NOT ACTIVE")})),(0,A.default)("the following Features are in effect (i.e. active): "+r.map(function(e){return"\n Feature.name:"+e.name})),r},R.alch.expandFeatureContent=function(e,t,n){R.alch.expandFeatureContent.executionOrder=x++;var r=n.reduce(function(e,t){return t.expandFeatureContent?e+1:e},0),o=n.map(function(e){return"\n Aspect.name:"+e.name+(e.expandFeatureContent?" <-- defines: expandFeatureContent()":"")});(0,A.default)("resolving expandWithFassets() ... either by DEFAULT-PROCESS -OR- aspect-life-cycle-hook PROCESSING: Aspect.expandFeatureContent() ... "+r+" hooks:"+o);var a=h.default.prefix("createFeature() parameter violation: ");n.forEach(function(n){t.forEach(function(t){if(t[n.name]&&t[n.name].expandWithFassets){var r=null;n.expandFeatureContent?((0,A.default)("resolving expandWithFassets() [by aspect-life-cycle-hook Aspect.name:"+n.name+"'s Aspect.expandFeatureContent()] ON Feature.name:"+t.name+"'s Feature."+n.name+" AspectContent"),r=n.expandFeatureContent(e,t),a(!r,r)):((0,A.default)("resolving expandWithFassets() [by DEFAULT-PROCESS] ON Feature.name:"+t.name+"'s Feature."+n.name+" AspectContent"),t[n.name]=t[n.name](e)),(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's required Aspect.validateFeatureContent() on Feature.name:"+t.name+"'s Feature."+n.name+" ... DELAYED from expandWithFassets()"),r=n.validateFeatureContent(t),a(!r,r)}})})},R.alch.assembleFeatureContent=function(e,t,n){R.alch.assembleFeatureContent.executionOrder=x++;var r=n.reduce(function(e,t){return t.assembleFeatureContent?e+1:e},0),o=n.map(function(e){return"\n Aspect.name:"+e.name+(e.assembleFeatureContent?" <-- defines: assembleFeatureContent()":"")});(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.assembleFeatureContent() ... "+r+" hooks:"+o),n.forEach(function(n){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's required Aspect.assembleFeatureContent()"),n.assembleFeatureContent(e,t)})},R.alch.assembleAspectResources=function(e,t){R.alch.assembleAspectResources.executionOrder=x++;var n=t.reduce(function(e,t){return t.assembleAspectResources?e+1:e},0),r=t.map(function(e){return"\n Aspect.name:"+e.name+(e.assembleAspectResources?" <-- defines: assembleAspectResources()":"")});(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.assembleAspectResources() ... "+n+" hooks:"+r),t.forEach(function(n){n.assembleAspectResources&&((0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's defined Aspect.assembleAspectResources()"),n.assembleAspectResources(e,t))})},R.helper.defineRootAppElm=function(e,t,n){var r=null;return(0,A.default)("defining-rootAppElm ... starting process, rootAppElm: null"),r=R.alch.initialRootAppElm(e,n,r),r=R.flch.appWillStart(e,t,r),r=R.alch.injectRootAppElm(e,n,r),r&&(r=f.default.createElement(E.FassetsContext.Provider,{value:e},r)),(0,A.default)("defining-rootAppElm ... complete, rootAppElm: ",A.default.elm2html(r)),r},R.alch.initialRootAppElm=function(e,t,n){R.alch.initialRootAppElm.executionOrder=x++;var r=t.reduce(function(e,t){return t.initialRootAppElm?e+1:e},0),o=t.map(function(e){return"\n Aspect.name:"+e.name+(e.initialRootAppElm?" <-- defines: initialRootAppElm()":"")});return(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.initialRootAppElm() ... "+r+" hooks:"+o),t.reduce(function(t,n){if(n.initialRootAppElm){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's defined Aspect.initialRootAppElm()");var r=n.initialRootAppElm(e,t);return r!==t&&(0,A.default)("defining-rootAppElm ... Aspect.name:"+n.name+"'s Aspect.initialRootAppElm() CHANGED rootAppElm: ",A.default.elm2html(r)),r}return t},n)},R.flch.appWillStart=function(e,t,n){R.flch.appWillStart.executionOrder=x++;var r=t.reduce(function(e,t){return t.appWillStart?e+1:e},0),o=t.map(function(e){return"\n Feature.name:"+e.name+(e.appWillStart?" <-- defines: appWillStart()":"")});return(0,A.default)("feature-life-cycle-hook ... PROCESSING: Feature.appWillStart() ... "+r+" hooks:"+o),t.reduce(function(t,n){if(n.appWillStart){(0,A.default)("feature-life-cycle-hook ... Feature.name:"+n.name+" ... invoking it's defined Feature.appWillStart()");var r=n.appWillStart({fassets:e,curRootAppElm:t})||t;return r!==t&&(0,A.default)("defining-rootAppElm ... Feature.name:"+n.name+"'s Feature.appWillStart() CHANGED rootAppElm: ",A.default.elm2html(r)),r}return t},n)},R.alch.injectRootAppElm=function(e,t,n){R.alch.injectRootAppElm.executionOrder=x++;var r=t.reduce(function(e,t){return t.injectRootAppElm?e+1:e},0),o=t.map(function(e){return"\n Aspect.name:"+e.name+(e.injectRootAppElm?" <-- defines: injectRootAppElm()":"")});return(0,A.default)("aspect-life-cycle-hook ... PROCESSING: Aspect.injectRootAppElm() ... "+r+" hooks:"+o),t.reduce(function(t,n){if(n.injectRootAppElm){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's defined Aspect.injectRootAppElm()");var r=n.injectRootAppElm(e,t);return r!==t&&(0,A.default)("defining-rootAppElm ... Aspect.name:"+n.name+"'s Aspect.injectRootAppElm() CHANGED rootAppElm: ",A.default.elm2html(r)),r}return t},n)},R.alch.injectParamsInHooks=function(e,t){return R.alch.injectParamsInHooks.executionOrder=x++,t.reduce(function(t,n){if(n.injectParamsInHooks){(0,A.default)("aspect-life-cycle-hook ... Aspect.name:"+n.name+" ... invoking it's defined Aspect.injectParamsInHooks()");var r=n.injectParamsInHooks(e),o=h.default.prefix("Aspect.name:"+n.name+" injectParamsInHooks() return violation: ");o(r,"nothing was returned ... expecting namedParams (a plain object) ... use empty object {} for nothing"),o((0,m.default)(r),"expecting namedParams (a plain object) ... NOT: "+r);var a=Object.keys(r),i=Object.keys(t),u=i.filter(function(e){return a.includes(e)});o(0===u.length,"the following parameter names clashed with other aspects: "+u);var s=["showStatus","fassets"],l=s.filter(function(e){return a.includes(e)});o(0===l.length,"the following parameter names are reserved by feature-u and cannot be used: "+l),t=c({},t,r)}return t},{})},R.flch.appInit=function(e,t,n,r){return new Promise(function(o,a){function i(){var e=c.find(function(e){return!e.complete});if(!e)return r(""),o("ALL feature.appInit() have completed!");e.monitor()}R.flch.appInit.executionOrder=x++;var u=t.reduce(function(e,t){return t.appInit?e+1:e},0),s=t.map(function(e){return"\n Feature.name:"+e.name+(e.appInit?" <-- defines: appInit()":"")});(0,A.default)("feature-life-cycle-hook ... PROCESSING: Feature.appInit() ... "+u+" hooks:"+s);var c=t.reduce(function(t,o){return o.appInit&&t.push(new F(o,e,n,r,i)),t},[]);i()})};var F=function(){function e(t,n,r,a,i){var u=this;o(this,e),this.feature=t,this.showStatusApp=a,this.monitored=!1,this.complete=!1,this.statusMsg="initializing feature: "+t.name,this.err=null,this.showStatus=this.showStatus.bind(this),(0,A.default)("feature-life-cycle-hook ... Feature.name:"+t.name+" ... invoking it's defined Feature.appInit()");var s=null;try{s=t.appInit(c({showStatus:this.showStatus,fassets:n},r))}catch(e){this.err=e}s&&s.then?s.then(function(){(0,A.default)("AsyncInit: finished async process for feature: "+u.feature.name+" - '"+u.statusMsg+"'"),u.complete=!0,i()}).catch(function(e){(0,A.default)("AsyncInit: finished async process for feature: "+u.feature.name+" - '"+u.statusMsg+"' WITH ERROR: "+e,e),u.showStatus(u.statusMsg,e)}):this.err||(this.complete=!0)}return s(e,[{key:"monitor",value:function(){this.monitored=!0,this.showStatus(this.statusMsg,this.err)}},{key:"showStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.statusMsg=e,t&&(this.err=t),this.monitored&&this.showStatusApp(e,this.err)}}]),e}();R.flch.appDidStart=function(e,t,n){R.flch.appDidStart.executionOrder=x++;var r=t.reduce(function(e,t){return t.appDidStart?e+1:e},0),o=t.map(function(e){return"\n Feature.name:"+e.name+(e.appDidStart?" <-- defines: appDidStart()":"")});(0,A.default)("feature-life-cycle-hook ... PROCESSING: Feature.appDidStart() ... "+r+" hooks:"+o),t.forEach(function(t){t.appDidStart&&((0,A.default)("feature-life-cycle-hook ... Feature.name:"+t.name+" ... invoking it's defined Feature.appDidStart()"),t.appDidStart(c({fassets:e},n)))})}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".";a(e);var t=(0,u.useContext)(c.FassetsContext);return(0,m.default)(e)?t.get(e):(0,c.fassetsProps)(e,t)}function a(e){if(!u.useContext)throw Error("feature-u useFassets() is only available in React versions that have HOOKS (React >=16.8) ... your React Version is: "+s.default.version);var t=f.default.prefix("useFassets() parameter violation: ");t(e,"single parameter IS required"),t((0,m.default)(e)||(0,d.default)(e),"single parameter must either be a string or a structure ... "+e),(0,d.default)(e)&&v.MyObj.entries(e).forEach(function(e){var n=i(e,2),r=n[0];t((0,m.default)(n[1]),"invalid mapFassetsToProps - all properties MUST reference a fassetsKey string ... at minimum "+r+" does NOT")})}t.__esModule=!0;var i=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.useFassets=o;var u=n(6),s=r(u),c=n(8),l=n(1),f=r(l),p=n(5),d=r(p),y=n(2),m=r(y),v=n(12)},function(e,t,n){"use strict";(function(r){function o(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":p(t))&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":p(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter(function(t){return t!==e})},get:function(){return e},set:function(n,r){e=n,t.forEach(function(t){return t(e,r)})}}}function l(e){return Array.isArray(e)?e[0]:e}function f(e,t){var n,o,f="__create-react-context-"+(0,h.default)()+"__",p=function(e){function n(){var t,r,o;a(this,n);for(var u=arguments.length,s=Array(u),l=0;u>l;l++)s[l]=arguments[l];return t=r=i(this,e.call.apply(e,[this].concat(s))),r.emitter=c(r.props.value),o=t,i(r,o)}return u(n,e),n.prototype.getChildContext=function(){var e;return e={},e[f]=this.emitter,e},n.prototype.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n=this.props.value,o=e.value,a=void 0;s(n,o)?a=0:(a="function"==typeof t?t(n,o):S,"production"!==r.env.NODE_ENV&&(0,g.default)((a&S)===a,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",a),0!==(a|=0)&&this.emitter.set(e.value,a))}},n.prototype.render=function(){return this.props.children},n}(d.Component);p.childContextTypes=(n={},n[f]=m.default.object.isRequired,n);var y=function(t){function n(){var e,r,o;a(this,n);for(var u=arguments.length,s=Array(u),c=0;u>c;c++)s[c]=arguments[c];return e=r=i(this,t.call.apply(t,[this].concat(s))),r.state={value:r.getValue()},r.onUpdate=function(e,t){0!=((0|r.observedBits)&t)&&r.setState({value:r.getValue()})},o=e,i(r,o)}return u(n,t),n.prototype.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?S:t},n.prototype.componentDidMount=function(){this.context[f]&&this.context[f].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?S:e},n.prototype.componentWillUnmount=function(){this.context[f]&&this.context[f].off(this.onUpdate)},n.prototype.getValue=function(){return this.context[f]?this.context[f].get():e},n.prototype.render=function(){return l(this.props.children)(this.state.value)},n}(d.Component);return y.contextTypes=(o={},o[f]=m.default.object,o),{Provider:p,Consumer:y}}var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.__esModule=!0;var d=n(6),y=(o(d),n(29)),m=o(y),v=n(26),h=o(v),b=n(25),g=o(b),S=1073741823;t.default=f,e.exports=t.default}).call(t,n(0))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(6),a=r(o),i=n(22),u=r(i);t.default=a.default.createContext||u.default,e.exports=t.default},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";(function(t){var r=n(24),o=r;if("production"!==t.env.NODE_ENV){var a=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];var o=0,a="Warning: "+e.replace(/%s/g,function(){return n[o++]});"undefined"!=typeof console&&console.error(a);try{throw Error(a)}catch(e){}};o=function(e,t){if(void 0===t)throw Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;n>o;o++)r[o-2]=arguments[o];a.apply(void 0,[t].concat(r))}}}e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";(function(t){var n="__global_unique_id__";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(t,n(16))},function(e,t,n){"use strict";function r(){}function o(){}var a=n(10);o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,i){if(i!==a){var u=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t,n){"use strict";(function(t){function r(){return null}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=n(11),i=n(9),u=n(10),s=n(15),c=Function.call.bind(Object.prototype.hasOwnProperty),l=function(){};"production"!==t.env.NODE_ENV&&(l=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw Error(t)}catch(e){}}),e.exports=function(e,n){function f(e){var t=e&&(_&&e[_]||e[C]);if("function"==typeof t)return t}function p(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function d(e){this.message=e,this.stack=""}function y(e){function r(r,i,s,c,f,p,y){if(c=c||P,p=p||s,y!==u){if(n){var m=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}if("production"!==t.env.NODE_ENV&&"undefined"!=typeof console){var v=c+":"+s;!o[v]&&3>a&&(l("You are manually calling a React.PropTypes validation function for the `"+p+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),o[v]=!0,a++)}}return null==i[s]?r?new d(null===i[s]?"The "+f+" `"+p+"` is marked as required in `"+c+"`, but its value is `null`.":"The "+f+" `"+p+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(i,s,c,f,p)}if("production"!==t.env.NODE_ENV)var o={},a=0;var i=r.bind(null,!1);return i.isRequired=r.bind(null,!0),i}function m(e){function t(t,n,r,o,a,i){var u=t[n];if(x(u)!==e)return new d("Invalid "+o+" `"+a+"` of type `"+R(u)+"` supplied to `"+r+"`, expected `"+e+"`.");return null}return y(t)}function v(e){function t(t,n,r,o,a){if("function"!=typeof e)return new d("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var i=t[n];if(!Array.isArray(i)){return new d("Invalid "+o+" `"+a+"` of type `"+x(i)+"` supplied to `"+r+"`, expected an array.")}for(var s=0;i.length>s;s++){var c=e(i,s,r,o,a+"["+s+"]",u);if(c instanceof Error)return c}return null}return y(t)}function h(e){function t(t,n,r,o,a){if(!(t[n]instanceof e)){var i=e.name||P;return new d("Invalid "+o+" `"+a+"` of type `"+j(t[n])+"` supplied to `"+r+"`, expected instance of `"+i+"`.")}return null}return y(t)}function b(e){function n(t,n,r,o,a){for(var i=t[n],u=0;e.length>u;u++)if(p(i,e[u]))return null;return new d("Invalid "+o+" `"+a+"` of value `"+i+"` supplied to `"+r+"`, expected one of "+JSON.stringify(e,function(e,t){return"symbol"===R(t)?t+"":t})+".")}return Array.isArray(e)?y(n):("production"!==t.env.NODE_ENV&&l(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),r)}function g(e){function t(t,n,r,o,a){if("function"!=typeof e)return new d("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var i=t[n],s=x(i);if("object"!==s)return new d("Invalid "+o+" `"+a+"` of type `"+s+"` supplied to `"+r+"`, expected an object.");for(var l in i)if(c(i,l)){var f=e(i,l,r,o,a+"."+l,u);if(f instanceof Error)return f}return null}return y(t)}function S(e){function n(t,n,r,o,a){for(var i=0;e.length>i;i++){if(null==(0,e[i])(t,n,r,o,a,u))return null}return new d("Invalid "+o+" `"+a+"` supplied to `"+r+"`.")}if(!Array.isArray(e))return"production"!==t.env.NODE_ENV&&l("Invalid argument supplied to oneOfType, expected an instance of array."),r;for(var o=0;e.length>o;o++){var a=e[o];if("function"!=typeof a)return l("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+F(a)+" at index "+o+"."),r}return y(n)}function w(e){function t(t,n,r,o,a){var i=t[n],s=x(i);if("object"!==s)return new d("Invalid "+o+" `"+a+"` of type `"+s+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var l=e[c];if(l){var f=l(i,c,r,o,a+"."+c,u);if(f)return f}}return null}return y(t)}function E(e){function t(t,n,r,o,a){var s=t[n],c=x(s);if("object"!==c)return new d("Invalid "+o+" `"+a+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var l=i({},t[n],e);for(var f in l){var p=e[f];if(!p)return new d("Invalid "+o+" `"+a+"` key `"+f+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var y=p(s,f,r,o,a+"."+f,u);if(y)return y}return null}return y(t)}function O(t){switch(void 0===t?"undefined":o(t)){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(O);if(null===t||e(t))return!0;var n=f(t);if(!n)return!1;var r,a=n.call(t);if(n!==t.entries){for(;!(r=a.next()).done;)if(!O(r.value))return!1}else for(;!(r=a.next()).done;){var i=r.value;if(i&&!O(i[1]))return!1}return!0;default:return!1}}function A(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function x(e){var t=void 0===e?"undefined":o(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":A(t,e)?"symbol":t}function R(e){if(void 0===e||null===e)return""+e;var t=x(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function F(e){var t=R(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function j(e){return e.constructor&&e.constructor.name?e.constructor.name:P}var _="function"==typeof Symbol&&Symbol.iterator,C="@@iterator",P="<<anonymous>>",k={array:m("array"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:function(){return y(r)}(),arrayOf:v,element:function(){function t(t,n,r,o,a){var i=t[n];if(!e(i)){return new d("Invalid "+o+" `"+a+"` of type `"+x(i)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return y(t)}(),elementType:function(){function e(e,t,n,r,o){var i=e[t];if(!a.isValidElementType(i)){return new d("Invalid "+r+" `"+o+"` of type `"+x(i)+"` supplied to `"+n+"`, expected a single ReactElement type.")}return null}return y(e)}(),instanceOf:h,node:function(){function e(e,t,n,r,o){return O(e[t])?null:new d("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}return y(e)}(),objectOf:g,oneOf:b,oneOfType:S,shape:w,exact:E};return d.prototype=Error.prototype,k.checkPropTypes=s,k.resetWarningCache=s.resetWarningCache,k.PropTypes=k,k}}).call(t,n(0))},function(e,t,n){"use strict";(function(t){if("production"!==t.env.NODE_ENV){var r=n(11);e.exports=n(28)(r.isElement,!0)}else e.exports=n(27)()}).call(t,n(0))},function(e,t,n){"use strict";(function(e){/** @license React v16.12.0
* react-is.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};"production"!==e.env.NODE_ENV&&function(){function e(e){return"string"==typeof e||"function"==typeof e||e===S||e===R||e===E||e===w||e===j||e===_||"object"===(void 0===e?"undefined":n(e))&&null!==e&&(e.$$typeof===P||e.$$typeof===C||e.$$typeof===O||e.$$typeof===A||e.$$typeof===F||e.$$typeof===k||e.$$typeof===T||e.$$typeof===I)}function r(e){if("object"===(void 0===e?"undefined":n(e))&&null!==e){var t=e.$$typeof;switch(t){case b:var r=e.type;switch(r){case x:case R:case S:case E:case w:case j:return r;default:var o=r&&r.$$typeof;switch(o){case A:case F:case P:case C:case O:return o;default:return t}}case g:return t}}}function o(e){return Z||(Z=!0,M(!1,"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),a(e)||r(e)===x}function a(e){return r(e)===R}function i(e){return r(e)===A}function u(e){return r(e)===O}function s(e){return"object"===(void 0===e?"undefined":n(e))&&null!==e&&e.$$typeof===b}function c(e){return r(e)===F}function l(e){return r(e)===S}function f(e){return r(e)===P}function p(e){return r(e)===C}function d(e){return r(e)===g}function y(e){return r(e)===E}function m(e){return r(e)===w}function v(e){return r(e)===j}Object.defineProperty(t,"__esModule",{value:!0});var h="function"==typeof Symbol&&Symbol.for,b=h?Symbol.for("react.element"):60103,g=h?Symbol.for("react.portal"):60106,S=h?Symbol.for("react.fragment"):60107,w=h?Symbol.for("react.strict_mode"):60108,E=h?Symbol.for("react.profiler"):60114,O=h?Symbol.for("react.provider"):60109,A=h?Symbol.for("react.context"):60110,x=h?Symbol.for("react.async_mode"):60111,R=h?Symbol.for("react.concurrent_mode"):60111,F=h?Symbol.for("react.forward_ref"):60112,j=h?Symbol.for("react.suspense"):60113,_=h?Symbol.for("react.suspense_list"):60120,C=h?Symbol.for("react.memo"):60115,P=h?Symbol.for("react.lazy"):60116,k=h?Symbol.for("react.fundamental"):60117,T=h?Symbol.for("react.responder"):60118,I=h?Symbol.for("react.scope"):60119,$=function(){},N=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];var o=0,a="Warning: "+e.replace(/%s/g,function(){return n[o++]});"undefined"!=typeof console&&console.warn(a);try{throw Error(a)}catch(e){}};$=function(e,t){if(void 0===t)throw Error("`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning message argument");if(!e){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;n>o;o++)r[o-2]=arguments[o];N.apply(void 0,[t].concat(r))}};var M=$,D=x,q=R,W=A,U=O,V=b,z=F,L=S,H=P,B=C,G=g,K=E,Y=w,J=j,Z=!1;t.typeOf=r,t.AsyncMode=D,t.ConcurrentMode=q,t.ContextConsumer=W,t.ContextProvider=U,t.Element=V,t.ForwardRef=z,t.Fragment=L,t.Lazy=H,t.Memo=B,t.Portal=G,t.Profiler=K,t.StrictMode=Y,t.Suspense=J,t.isValidElementType=e,t.isAsyncMode=o,t.isConcurrentMode=a,t.isContextConsumer=i,t.isContextProvider=u,t.isElement=s,t.isForwardRef=c,t.isFragment=l,t.isLazy=f,t.isMemo=p,t.isPortal=d,t.isProfiler=y,t.isStrictMode=m,t.isSuspense=v}()}).call(t,n(0))},function(e,t,n){"use strict";function r(e){if("object"===(void 0===e?"undefined":a(e))&&null!==e){var t=e.$$typeof;switch(t){case u:switch(e=e.type){case y:case m:case c:case f:case l:case h:return e;default:switch(e=e&&e.$$typeof){case d:case v:case S:case g:case p:return e;default:return t}}case s:return t}}}function o(e){return r(e)===m}/** @license React v16.12.0
* react-is